MONSTER-ygh il y a 1 mois
Parent
commit
d9af33c681

+ 9 - 0
src/api/otaMr/maoyan.js

@@ -71,4 +71,13 @@ export const deleteCalendarPriceApi = (data) => {
       method: 'delete',
       data
   })
+}
+
+/** 获取城市列表  */
+export const getCityListApi = (params) => {
+  return request({
+      url: '/thirdapi/maoyan/city/list',
+      method: 'get',
+      params: params
+  })
 }

+ 55 - 15
src/views/otaMr/maoyan/dialog/dataEdit.vue

@@ -18,17 +18,8 @@
   >
     <div class="dialog">
       <div>
-        <el-form :model="form" ref="form" size="small" :rules="rules" :inline="true" label-width="100px">
-          <!-- <el-form-item label="门店POIID" prop="poiId">
-            <el-input
-              v-model="form.poiId"
-              placeholder="请输入门店POIID"
-              clearable
-              style="width: 240px"
-              @keyup.enter.native="handleQuery"
-            />
-          </el-form-item>
-          <el-form-item label="商品类目ID" prop="categoryId">
+        <el-form :model="form" ref="form" size="small" :rules="rules" :inline="true" label-width="68px">
+          <el-form-item label="商品类目ID" prop="categoryId" label-width="110px">
             <el-select
               v-model="form.categoryId"
               placeholder="商品类目ID"
@@ -36,13 +27,27 @@
               style="width: 240px"
             >
               <el-option
-                v-for="dict in dict.type.tiktok_category"
+                v-for="dict in dict.type.maoyan_category"
                 :key="dict.value"
                 :label="dict.label"
                 :value="dict.value"
               />
             </el-select>
-          </el-form-item> -->
+          </el-form-item>
+          <el-form-item label="城市" prop="cityId">
+            <el-cascader
+            v-model="form.cityId"
+            :options="cityList"
+            style="width: 400px;"
+            :props="{
+                children: 'child',
+                label: 'name',
+                value: 'value',
+                checkStrictly: true,
+                emitPath: false,
+              }"
+            clearable></el-cascader>
+          </el-form-item> 
         </el-form>
       </div>
       <el-table 
@@ -173,12 +178,13 @@ import {
   getCalendarPriceApi,
   setCalendarPriceApi,
   getPushListApi,
-  deleteCalendarPriceApi
+  deleteCalendarPriceApi,
+  getCityListApi
  } from "@/api/otaMr/maoyan";
 import moment from "moment"
 export default {
   name: "dataEdit",
-  dicts: ['tiktok_category','tiktok_scheduling_status'],
+  dicts: ['maoyan_category','tiktok_scheduling_status'],
   data() {
     return {
       title: "编辑",
@@ -190,6 +196,7 @@ export default {
       rules: {
         poiId: [{ required: true, message: "请输入门店POIID", trigger: ["change","blur"] }],
         categoryId: [{ required: true, message: "请选择商品类目ID", trigger: ["change","blur"] }],
+        cityId: [{ required: true, message: "请选择城市", trigger: ["change","blur"] }],
       },
       multipleSelection: [],
 
@@ -213,8 +220,13 @@ export default {
       },
       seatTypeId: null,
       calendarId: null,
+
+      cityList: []
     };
   },
+  created() {
+    this.getCityListFun()
+  },
   methods: {
     /**
      * 打开弹框
@@ -239,6 +251,34 @@ export default {
         })
         this.$refs["form"].clearValidate()
       })
+    },
+    /**  获取城市  */
+    async getCityListFun() {
+      try {
+        let res = await getCityListApi()
+        if(res.code == 200) {
+          let list = []
+          list = this.setTreeData(res.data)
+          console.log("list===",list)
+          this.cityList = list
+        }
+      } catch (error) {
+        console.error(error)
+      }
+    },
+    setTreeData(list) {
+      let listCopy = []
+      list.forEach((item,index)=>{
+        listCopy.push({
+          ...item
+        })
+        if(item.child && item.child.length>0){
+          listCopy[index]['child'] = this.setTreeData(item.child)
+        }else {
+          listCopy[index]['child'] = null
+        }
+      })
+      return listCopy
     },
      /**  获取设置的日历价格  */
      async getPushListFun(obj,type) {

+ 1 - 2
src/views/windowTicketSales/mixins/pay.js

@@ -340,7 +340,6 @@ export default {
                                 this.loading = false
                                 // this.payStatus = 8
                                 // this.getPrintListApi()
-                                this.rebookDialog = false
                                 this.goTicketingCollections()
                                 
                             }else {
@@ -354,7 +353,7 @@ export default {
                                 // this.getPrintListApi()
                                 this.goTicketingCollections()
                             }
-                            
+                            this.rebookDialog = false
                             
                         }else if(res.data.payStatus == 2) {
 

+ 14 - 5
src/views/windowTicketSales/model/rebookBox.vue

@@ -116,10 +116,10 @@
                                 </div>
                             </div>
                         </el-form-item>
-                        <el-form-item label="备注:">
+                        <el-form-item label="备注:" prop="resubmitRemark">
                             <el-input
                                 v-model="rebookForm.resubmitRemark"
-                                placeholder="请输入备注"
+                                :placeholder="rebookForm.payWay != 'cahsh'?'请输入备注':'请输入已退款的现金金额'"
                                 clearable
                                 type="textarea"
                                 />
@@ -236,12 +236,14 @@ export default {
                 performInterval: undefined,
                 performId: undefined,
                 auditoriumId: undefined,
-                photoList: []
+                photoList: [],
+                payWay: ''
             },
             rules: {
                 performDate: [{ required: true, message: '请选择日期', trigger: ['blur','change'] }],
                 performTimeId: [{ required: true, message: '请选择场次', trigger: ['blur','change'] }],
-                realPrice_1: [{ required: true, message: '请输入金额', trigger: ['blur','change'] }]
+                realPrice_1: [{ required: true, message: '请输入金额', trigger: ['blur','change'] }],
+                resubmitRemark: [{ required: false, message: '请输入备注', trigger: ['blur','change'] }]
             },
             // 场次列表
             intervalList: [],
@@ -282,6 +284,7 @@ export default {
         async initData(row) {
             this.rebookDialog = true
             this.payStatus = null
+            this.orderId = null
             this.rebookForm = {
                 resubmitType: 1,  // 改签类型: 1-改签 2-升舱 不传默认为改签
                 goodsDiffAmount: undefined,
@@ -300,7 +303,13 @@ export default {
                 seatList: [],
                 memberId: row.memberId,
                 channelType: row.channelType,
-                photoList: []
+                photoList: [],
+                payWay: row.payWay,
+            }
+            if(row.payWay == 'cahsh') {
+                this.$set(this.rules.resubmitRemark[0],'required',true)
+            }else {
+                this.$set(this.rules.resubmitRemark[0],'required',false)
             }
             await this.countBySeatTypFun(row.auditoriumId)
             if(row.channelType == 'group') {

+ 15 - 4
src/views/windowTicketSales/model/upgradeBox.vue

@@ -101,9 +101,12 @@
                                 </div>
                             </div>
                         </el-form-item>
-                        <el-form-item label="备注:">
-                            <el-input v-model="rebookForm.resubmitRemark" placeholder="请输入备注" clearable
-                                type="textarea" />
+                        <el-form-item label="备注:" prop="resubmitRemark">
+                            <el-input 
+                            v-model="rebookForm.resubmitRemark" 
+                            :placeholder="rebookForm.payWay != 'cahsh'?'请输入备注':'请输入已退款的现金金额'"
+                            clearable
+                            type="textarea" />
                         </el-form-item>
                     </el-form>
                     <div class="tip-box">
@@ -230,6 +233,7 @@ export default {
                 seatTypeId: [{ required: true, message: '请选择票档', trigger: ['blur','change'] }],
                 realPrice_1: [{ required: true, message: '请输入金额', trigger: ['blur','change'] }],
                 goodsDiffAmount: [{ required: true, message: '请输入金额', trigger: ['blur','change'] }],
+                resubmitRemark: [{ required: false, message: '请输入备注', trigger: ['blur','change'] }]
             },
             // 场次列表
             intervalList: [],
@@ -270,6 +274,7 @@ export default {
         async initData(row) {
             this.rebookDialog = true
             this.payStatus = null
+            this.orderId = null
             this.rebookForm = {
                 resubmitType: 2,  // 改签类型: 1-改签 2-升舱 不传默认为改签
                 goodsDiffAmount: undefined,
@@ -289,7 +294,13 @@ export default {
                 performTimeEnd: row.performTimeEnd,
                 performTimeStart: row.performTimeStart,
                 channelType: row.channelType,
-                photoList: []
+                photoList: [],
+                payWay: row.payWay,
+            }
+            if(row.payWay == 'cahsh') {
+                this.$set(this.rules.resubmitRemark[0],'required',true)
+            }else {
+                this.$set(this.rules.resubmitRemark[0],'required',false)
             }
             await this.getSelectByIdApi()
             await this.handleDateChange()