vue电影院后台管理系统(开发中)项目实战

2.演员列表模块

<template>
  <div>
    <!-- 搜索区域 -->
    <!-- @submit.native.prevent:阻止回车浏览器的自动跳转 -->
    <el-form
      :inline="true"
      :model="formInline"
      class="demo-form-inline"
      @submit.native.prevent
    >
      <el-form-item label="姓名">
        <!-- @keyup.native.enter="onSubmit":按键事件点击回车执行onSubmit点击事件请求接口参数 -->
        <el-input
          v-model="formInline.user"
          placeholder="姓名"
          @keyup.native.enter="onSubmit"
        ></el-input>
      </el-form-item>

      <el-form-item>
        <el-button type="primary" @click="onSubmit">查询</el-button>
      </el-form-item>
    </el-form>
    <!-- 分割线条 -->
    <el-divider content-position="left">演员列表</el-divider>

    <!-- 演员列表区域(加载全部演员列表) -->
    <!-- 引入person组件(使用组件需要进行传参) -->
    <person
      @delete="dlperson(item.id)"
      v-for="item in formInline.actor"
      :key="item.id"
      :name="item.actor_name"
      :avatar="item.actor_avatar"
    ></person>

    <!-- 如果查询数据为空添加空标签否则不显示该标签 -->
    <el-empty :image-size="200" v-show="formInline.show"></el-empty>
  </div>
</template>

<script>
//引入myaxios
import myaxios from "../../http/Myaxios.js";
//引入person组件
import person from "../../components/Person";
//引入httpApi
import httpApi from "../../http/index.js";
export default {
  //引入person组件
  components: { person },
  data() {
    return {
      formInline: {
        user: "", //双向数据绑定输入框
        region: "",
        actor: [], //存储所有演员数据
        show: "",
      },
    };
  },

  methods: {
    //person组件中抛出了点击事件,父组件进行了捕获
    dlperson(id) {
      console.log("父组件捕获了自组建中的点击事件" + id);
      //怎样获取当前演员ID:点击演员的id时通过dlperson(item.id)获取
      //获取id后发送请求删除数据
      httpApi.ActorApi.DelectActor({ id }).then((res) => {
        console.log(res);
        //判断如果删除成功弹出提示
        if (res.data.code == 200) {
          this.$message({ message: "演员删除成功", type: "success" });
          //重新调用列表查询
          this.listActors();
        } else {
          this.$message.error("演员删除失败");
        }
      });
    },
    //点击事件,点击进行接口请求数据进行传参
    onSubmit() {
      console.log(this.formInline.user);
      //获取用户输入框中输入的名字
      let names = this.formInline.user;
      //判断:如果用户输入框的值为空则调用listActors()方法请求接口数据,如果存在值则执行post传参
      //trim去除两端空格
      if (this.formInline.user.trim() == "") {
        this.listActors();
      } else {
        //输入人名发送请求获取数据
        httpApi.ActorApi.queryActorsByNameLike({ name: names }).then((res) => {
          console.log(res.data.data);
          //这里查询出来的数据赋值给actor就会更新列表数据了
          this.formInline.actor = res.data.data;
          //点击按钮判断actor是不是空的,如果为空给data中的show赋值为true如果有值则赋值为false
          if (res.data.data == "") {
            this.formInline.show = true;
          } else {
            this.formInline.show = false;
          }
        });
      }
    },

    listActors: function () {
      httpApi.ActorApi.queryAllActors({ page: 1, pagesize: 100 }).then(
        (res) => {
          this.formInline.actor = res.data.data;
          //点击按钮判断actor是不是空的,如果为空给data中的show赋值为true如果有值则赋值为false
          if (res.data.data !== "") {
            this.formInline.show = false;
          } else {
            this.formInline.show = true;
          }
        }
      );
    },
  },

  //挂载完毕后加载所有演员列表(生命周期)
  mounted() {
    this.listActors();
  },
};
</script>

<style lang="scss" scoped>
.el-breadcrumb {
  height: 40px;
  margin-bottom: 10px;
}
.actors {
  width: 80vw;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  background-color: rgb(237, 232, 232);
  > ul {
    display: flex;

    > li {
      display: flex;
      flex-direction: column;
      width: 120px;
      height: 200px;
      // border: 1px solid black;
      text-align: center;
      margin: 20px 20px;
      background-color: white;
      border-radius: 10px;
      overflow: hidden;
    }
  }
}
</style>

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 项目实战电商后台管理系统开发需要掌握以下技术: 一、前端技术 1. Vue.js:Vue.js 是目前比较流行的前端框架之一,其主要特点是轻量级、易扩展、高效等。Vue.js 的组件化和模块化特性可以帮助开发者更加方便、高效地开发电商后台管理系统。 2. Element-UI:Element-UI 是一套基于 Vue.js 的 UI 组件库,提供了丰富的 UI 组件,如表单、表格、分页、对话框等,可以帮助开发者快速开发电商后台管理系统的前端界面。 3. Axios:Axios 是一个基于 Promise 的 HTTP 库,可以帮助开发者更加方便地进行网络请求,如获取数据、提交表单等。 二、后端技术 1. Spring Boot:Spring Boot 是一个基于 Spring 框架的快速开发框架,可以帮助开发者快速搭建电商后台管理系统的后端服务。 2. MyBatis:MyBatis 是一个优秀的 Java 持久层框架,可以帮助开发者更加方便地进行数据库操作。 3. MySQL:MySQL 是一种流行的关系型数据库,可以帮助开发者存储和管理电商后台管理系统的数据。 三、其他技术 1. Git:Git 是一个版本控制工具,可以帮助开发者更好地管理代码版本,协作开发。 2. Maven:Maven 是一个 Java 项目管理工具,可以帮助开发管理项目依赖、构建项目等。 3. Nginx:Nginx 是一个高性能的 Web 服务器和反向代理服务器,可以帮助开发者更好地管理前端和后端服务的请求。 综上所述,Vue 项目实战电商后台管理系统开发需要掌握前端技术、后端技术以及其他相关技术。开发者需要根据项目需求灵活运用这些技术,以实现高效、稳定、可靠的电商后台管理系统

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值