Forráskód Böngészése

1. 新增票务绑定

MONSTER-ygh 1 éve
szülő
commit
c15daa849a

+ 46 - 2
src/views/venue/schedulingMr/dialog/addAndEdit.vue

@@ -66,6 +66,22 @@
             />
           </el-select>
         </el-form-item>
+        <el-form-item label="票务绑定" prop="goodsIds">
+          <el-select
+            v-model="form.goodsIds"
+            placeholder="票务绑定"
+            clearable
+            multiple
+            style="width: 100%"
+          >
+            <el-option
+              v-for="dict in goodsPageListS"
+              :key="dict.id"
+              :label="dict.goodsName"
+              :value="dict.id"
+            />
+          </el-select>
+        </el-form-item>
         <el-form-item label="选择日期"  prop="performDate">
           <el-date-picker
             v-model="form.performDate"
@@ -157,6 +173,9 @@
 import { saveAndEdit, addSave } from "@/api/schedulingMr/schedulingMr";
 import { pageList } from "@/api/venueMr/venueMr";
 import { goodsPageList } from '@/api/programmeMr/programmeMr'
+import { 
+  goodsPageList as goodsPageListApi,
+ } from '@/api/windowTicketSales/ticketingSales'
 import { merchantPageList } from '@/api/performanceHallMr/performanceHallMr'
 import Editor from "@/components/Editor";
 import { getToken } from "@/utils/auth";
@@ -189,6 +208,7 @@ export default {
         performId: [{ required: true, message: "请选择剧目", trigger: ["change","blur"] }],
         performDate: [{ required: true, message: "请选择日期", trigger: ["change","blur"] }],
         timeList: [{ required: true, message: "请添加场次", trigger: ["change","blur"] }],
+        goodsIds: [{ required: true, message: "请选择票务", trigger: ["change","blur"] }],
       },
       uploadObj: {
         url: process.env.VUE_APP_UPLOAD_FILE_API + "/upload/single/minio",
@@ -198,22 +218,40 @@ export default {
       goodsList: [],
       merchantList: [],
       editType: false,
-      selectPerform: {}
+      selectPerform: {},
+
+      goodsPageListS: [], // 票务
     };
   },
   methods: {
+    /**  票务信息  */
+    async goodsPageListFun(){
+      try {
+        let res = await goodsPageListApi({
+          pageNum: 1,
+          pageSize: 999,
+          classifyId: 1,
+          goodsType: 2,
+        })
+        if(res.code == 200){
+          this.goodsPageListS = res.data.rows
+        }
+      } catch (error) {      
+      }
+    },
     /**
      * 打开弹框
      * @date 2023-11-22
      * @param {any} obj
      * @returns {any}
      */
-    openDialog(title, obj, type) {
+    async openDialog(title, obj, type) {
       this.open = true;
       this.editType = false;
       this.reset();
       this.getList();
       this.goodsPageList();
+      this.goodsPageListFun();
       // this.merchantPageList();
       if (obj){
         this.title = "编辑排期";
@@ -225,6 +263,9 @@ export default {
           this.$set(this.form, 'performDate', obj.performDate);
           this.$set(this.form, 'auditoriumId', obj.auditoriumId);
           this.$set(this.form, 'theatreName', obj.theatreName);
+          if(obj.goodsIds) {
+            this.$set(this.form, 'goodsIds', obj.goodsIds.split(','));
+          }
           this.getList(obj.theatreName);
           let map = {
             name: obj.timeSnapshot,
@@ -233,6 +274,7 @@ export default {
           }
           this.form.timeList = []
           this.$set(this.form.timeList, 0, map);
+          this.$refs["form"].clearValidate();
         });
       }else{
         this.title = "新增排期";
@@ -344,6 +386,7 @@ export default {
             postEdit.performDate = this.form.performDate
             postEdit.timeList = this.form.timeList
 
+            postEdit.goodsIds = this.form.goodsIds.join(',')
             this.loading = true;
             // const { code } = this.form.insertType == '2' ? await addSave({ ...this.form }) : this.form.id ? await saveAndEdit({ ...postEdit }) : await addSave({ ...this.form });
             const { code } = this.form.insertType == '2' ? await addSave({ ...this.form }) :  await saveAndEdit({ ...postEdit });
@@ -371,6 +414,7 @@ export default {
       this.$set(this.form, 'auditoriumId', '');
       this.$set(this.form, 'theatreName', '');
       this.$set(this.form, 'timeList', []);
+      this.$set(this.form, 'goodsIds', []);
     },
     /**
      * 关闭弹框

+ 12 - 2
src/views/venue/schedulingMr/index.vue

@@ -73,6 +73,13 @@
       <el-table-column label="场馆名称" align="center" prop="theatreName" />
       <el-table-column label="演出厅" align="center" prop="auditoriumName" />
       <el-table-column label="剧目名称" align="center" prop="performName" />
+      <el-table-column label="票务名称" align="center">
+        <template slot-scope="scope">
+          <span>
+            {{ scope.row.goodsNames  }}
+          </span>
+        </template>
+      </el-table-column>
       <el-table-column label="日期" align="center" prop="performDate" />
       <el-table-column label="开始时间" align="center" prop="performTimeStart" width="160">
         <template slot-scope="scope">
@@ -145,10 +152,10 @@
 <script>
 
 import { pageList, deleteById, deleteBatchById } from '@/api/schedulingMr/schedulingMr'
-import addAndEdit from "./dialog/addAndEdit.vue";
+import addAndEdit from "./dialog/addAndEdit";
 
 export default {
-  name: "agreement",
+  name: "SchedulingMr",
   dicts: ['agreement_type'],
   components: { addAndEdit },
   data() {
@@ -193,6 +200,9 @@ export default {
   created() {
     this.getList();
   },
+  // activated(){
+  //   this.getList();
+  // },
   methods: {
     /** 查询列表 */
     getList() {