浏览代码

1. 优化

MONSTER-ygh 1 年之前
父节点
当前提交
a1da258e3c

+ 1 - 0
src/views/distribution/personnelMr/dialog/addAndEdit.vue

@@ -172,6 +172,7 @@ export default {
       this.open = true;
       this.parentId = null
       this.reset();
+      this.parentNameList = []
       if (obj){
         this.title = "编辑分销人员";
         this.getSelectByIdApi(obj);

+ 1 - 1
src/views/distribution/personnelMr/index.vue

@@ -275,7 +275,7 @@ export default {
       let regNumber=/^(([1-9]\d*)|([0][.]{1}[0-9]{0,2}[1-9]+)|([1-9]\d*[.]{1}[0-9]+))$/g;
       if (value === '') {
         callback(new Error('请输入数值!!!'));
-      }  else if (value === 0) {
+      }  else if (value == 0) {
         callback();
       } else if (!regNumber.test(value)) {
         callback(new Error('只能输入>=0的数值!!!'));

+ 3 - 0
src/views/finance/refundMr/dialog/details.vue

@@ -36,6 +36,9 @@
         <el-col :span="24">
           <div class="grid-content bg-purple item-class">状态: <span>{{ statusList[form.status] }}</span></div>
         </el-col>
+        <el-col :span="24" v-if="form.status == 2">
+          <div class="grid-content bg-purple item-class">驳回原因: <span style="color: red;">{{ form.errReason }}</span></div>
+        </el-col>
       </el-row>
     </div>
 

+ 8 - 3
src/views/finance/refundMr/dialog/orderDetails.vue

@@ -45,7 +45,8 @@
           <div class="grid-content bg-purple item-class">场次: <span>{{form.performDate}}   {{ form.performTimeStart }} -- {{ form.performTimeEnd }}</span></div>
         </el-col>
         <el-col :span="12">
-          <div class="grid-content bg-purple item-class">购票渠道: <span>{{ sourceList[form.source] || '' }}</span></div>
+          <!-- <div class="grid-content bg-purple item-class">购票渠道: <span>{{ sourceList[form.source] || '' }}</span></div> -->
+          <div class="grid-content bg-purple item-class" style="display: flex;">购票渠道: <span style="display: block;margin-left: 5px;"><dict-tag :options="dict.type.order_form_type" :value="form.source"/></span></div>
         </el-col>
         <el-col :span="12">
           <div class="grid-content bg-purple item-class">购票数量: <span>{{ form.viewerNum || '' }}</span></div>
@@ -63,10 +64,12 @@
           <div class="grid-content bg-purple item-class">支付时间: <span>{{ form.payTime || '' }}</span></div>
         </el-col>
         <el-col :span="12">
-          <div class="grid-content bg-purple item-class">支付方式: <span>{{ payList[form.payStatus] || '' }}</span></div>
+          <!-- <div class="grid-content bg-purple item-class">支付方式: <span>{{ payList[form.payStatus] || '' }}</span></div> -->
+          <div class="grid-content bg-purple item-class" style="display: flex;">支付方式: <span style="display: block;margin-left: 5px;"><dict-tag :options="dict.type.pay_way_type" :value="form.payWay"/></span></div>
         </el-col>
         <el-col :span="12">
-          <div class="grid-content bg-purple item-class">订单状态: <span>{{ statusList[form.status] || '' }}</span></div>
+          <!-- <div class="grid-content bg-purple item-class">订单状态: <span>{{ statusList[form.status] || '' }}</span></div> -->
+          <div class="grid-content bg-purple item-class" style="display: flex;">订单状态: <span style="display: block;margin-left: 5px;"><dict-tag :options="dict.type.order_status_type" :value="form.status"/></span></div>
         </el-col>
       </el-row>
 
@@ -104,6 +107,7 @@
 import { getSelectById } from '@/api/order/orderMr'
 export default {
   name: "orderDetails",
+  dicts: ['order_form_type','order_status_type','pay_way_type'],
   data() {
     return {
       title: "编辑",
@@ -160,6 +164,7 @@ export default {
       const id = row.orderId
       getSelectById(id).then(response => {
         this.form = response.data;
+
       });
     },
     /**

+ 1 - 0
src/views/finance/refundMr/index.vue

@@ -215,6 +215,7 @@ export default {
       this.$set(this.queryParams, 'orderId', '');
       this.$set(this.queryParams, 'refundMobile', '');
       this.$set(this.queryParams, 'status', '');
+      this.$set(this.queryParams, 'transactionId', '');
       this.queryParams.pageNum = 1;
       this.handleQuery();
     },

+ 40 - 18
src/views/order/groupBuyingMr/index.vue

@@ -161,6 +161,9 @@ import detailsDia from "./dialog/details.vue";
 
 import { printApi } from '@/api/order/orderMr'
 import { pageList as getPrintListApi } from "@/api/device/pda";
+
+const https = require('https');
+const axios = require('axios');
 export default {
   name: "agreement",
   dicts: ['agreement_type', 'team_type'],
@@ -342,7 +345,8 @@ export default {
               this.dialogVisibleLoading = true
               try {
                 let res = await printApi({
-                  viewerList:list,
+                  //viewerList:list,
+                  orderId: list[0],
                   source: 2,
                   deviceId: this.ruleForm.region
                 })
@@ -367,24 +371,42 @@ export default {
         },
         /**  连接打印机  */
         connectPrint(url,data){
-          let xhr = new XMLHttpRequest();
-          xhr.onreadystatechange = ()=>{
-          if(xhr.readyState == 4){ // 监听请求完成
-              if((xhr.status >=200 && xhr.status <300) || xhr.status == 304){
-                console.log(xhr.responseText)
-                this.dialogVisible = false
-                this.dialogVisibleLoading = false
-              }else{
-                console.log('请求失败')
-                this.dialogVisible = false
-                this.dialogVisibleLoading = false
-              }
-            }
-          }
-          xhr.open("post", url, true); // 异步请求
-          xhr.send(JSON.stringify(data));
-
+          // let xhr = new XMLHttpRequest();
+          // xhr.onreadystatechange = ()=>{
+          // if(xhr.readyState == 4){ // 监听请求完成
+          //     if((xhr.status >=200 && xhr.status <300) || xhr.status == 304){
+          //       console.log(xhr.responseText)
+          //       this.dialogVisible = false
+          //       this.dialogVisibleLoading = false
+          //     }else{
+          //       console.log('请求失败')
+          //       this.dialogVisible = false
+          //       this.dialogVisibleLoading = false
+          //     }
+          //   }
+          // }
+          // xhr.open("post", url, true); // 异步请求
+          // xhr.send(JSON.stringify(data));
 
+          const ignoreSSL = axios.create({
+            httpsAgent: new https.Agent({  
+              rejectUnauthorized: false
+            }),
+            withCredentials: true, // 跨域请求时发送Cookie
+            timeout: 60000, // 请求超时
+            headers: {
+              "Content-Type": "application/json; charset=UTF-8;"
+            }
+          });
+          ignoreSSL.post(url, 
+            { ...data }
+            ).then(()=>{
+            this.dialogVisible = false
+            this.dialogVisibleLoading = false
+          }).catch(()=>{
+            this.dialogVisible = false
+            this.dialogVisibleLoading = false
+          })
         }
   }
 };

+ 3 - 1
src/views/order/orderMr/dialog/details.vue

@@ -129,13 +129,15 @@ export default {
      */
     openDialog(title, obj, type) {
       this.open = true;
+      this.form = {}
       this.getSelectByIdApi(obj);
     },
     /** 获取详情 */
     getSelectByIdApi(row) {
       const id = row.id
       getSelectById(id).then(response => {
-        this.form = response.data;
+        this.$set(this,"form",response.data)
+        //this.form = response.data;
       });
     },
     /**

+ 39 - 17
src/views/order/orderMr/index.vue

@@ -241,6 +241,8 @@ import detailsDia from "./dialog/details";
 import { pagePerformTimeList } from "@/api/schedulingMr/schedulingMr"
 import { exportExcel } from '@/utils/exportexcel'
 import { pageList as getPrintListApi } from "@/api/device/pda";
+const https = require('https');
+const axios = require('axios');
 export default {
   name: "agreement",
   dicts: ['order_form_type','order_status_type','pay_way_type'],
@@ -440,7 +442,8 @@ export default {
               this.dialogVisibleLoading = true
               try {
                 let res = await printApi({
-                  viewerList:list,
+                  //viewerList:list,
+                  orderId: list[0],
                   source: 2,
                   deviceId: this.ruleForm.region
                 })
@@ -465,23 +468,42 @@ export default {
         },
         /**  连接打印机  */
         connectPrint(url,data){
-          let xhr = new XMLHttpRequest();
-          xhr.onreadystatechange = ()=>{
-          if(xhr.readyState == 4){ // 监听请求完成
-              if((xhr.status >=200 && xhr.status <300) || xhr.status == 304){
-                console.log(xhr.responseText)
-                this.dialogVisible = false
-                this.dialogVisibleLoading = false
-              }else{
-                console.log('请求失败')
-                this.dialogVisible = false
-                this.dialogVisibleLoading = false
-              }
+          // let xhr = new XMLHttpRequest();
+          // xhr.onreadystatechange = ()=>{
+          // if(xhr.readyState == 4){ // 监听请求完成
+          //     if((xhr.status >=200 && xhr.status <300) || xhr.status == 304){
+          //       console.log(xhr.responseText)
+          //       this.dialogVisible = false
+          //       this.dialogVisibleLoading = false
+          //     }else{
+          //       console.log('请求失败')
+          //       this.dialogVisible = false
+          //       this.dialogVisibleLoading = false
+          //     }
+          //   }
+          // }
+          // xhr.open("post", url, true); // 异步请求
+          // xhr.send(JSON.stringify(data));
+          // 创建忽略 SSL 的 axios 实例
+          const ignoreSSL = axios.create({
+            httpsAgent: new https.Agent({  
+              rejectUnauthorized: false
+            }),
+            withCredentials: true, // 跨域请求时发送Cookie
+            timeout: 60000, // 请求超时
+            headers: {
+              "Content-Type": "application/json; charset=UTF-8;"
             }
-          }
-          xhr.open("post", url, true); // 异步请求
-          xhr.send(JSON.stringify(data));
-
+          });
+          ignoreSSL.post(url, 
+            { ...data }
+            ).then(()=>{
+            this.dialogVisible = false
+            this.dialogVisibleLoading = false
+          }).catch(()=>{
+            this.dialogVisible = false
+            this.dialogVisibleLoading = false
+          })
 
         }
   }

+ 2 - 2
src/views/order/writeOffMr/index.vue

@@ -19,10 +19,10 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="核销剧目类型">
+      <el-form-item label="核销设备类型">
         <el-select
           v-model="queryParams.deviceType"
-          placeholder="核销剧目类型"
+          placeholder="核销设备类型"
           clearable
           style="width: 100%;"
         >

+ 2 - 2
src/views/statistics/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
+    <!-- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
       <el-form-item label="报表名称">
         <el-input
           v-model="queryParams.name"
@@ -14,7 +14,7 @@
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
       </el-form-item>
-    </el-form>
+    </el-form> -->
 
     <div class="box-class clearfix">
       <div class="item-class clearfix" @click="pageLink(item.url)" v-for="item in itemList" :key="item.id">

+ 3 - 0
src/views/team/applicationMr/dialog/applicationDetails.vue

@@ -56,6 +56,9 @@
         <el-col :span="12">
           <div class="grid-content bg-purple item-class">联系电话: <span>{{ details.teamMobile || '' }}</span></div>
         </el-col>
+        <el-col :span="12" v-if="details.errReason">
+          <div class="grid-content bg-purple item-class">驳回原因: <span style="color: red;">{{ details.errReason || '' }}</span></div>
+        </el-col>
       </el-row>
 
 

+ 3 - 0
src/views/team/applicationMr/dialog/orderDetails.vue

@@ -56,6 +56,9 @@
         <el-col :span="12">
           <div class="grid-content bg-purple item-class">联系电话: <span>{{ form.teamMobile || '' }}</span></div>
         </el-col>
+        <el-col :span="12" v-if="form.errReason">
+          <div class="grid-content bg-purple item-class">驳回原因: <span  style="color: red;">{{ form.errReason || '' }}</span></div>
+        </el-col>
 <!--        <el-col :span="12">-->
 <!--          <div class="grid-content bg-purple item-class">支付总额: <span>¥{{ form.priceTotal || '' }}</span></div>-->
 <!--        </el-col>-->

+ 1 - 1
src/views/team/ticketMr/index.vue

@@ -132,7 +132,7 @@
 
 import { pageList, deleteById, updateStatus } from '@/api/team/ticketMr'
 import addAndEdit from "./dialog/addAndEdit.vue";
-import dumplingEdit from "./dialog/dumplingEdit.vue";
+import dumplingEdit from "./dialog/dumplingEdit";
 export default {
   name: "agreement",
   dicts: ['distribution_type', 'team_type'],

+ 158 - 73
src/views/ticket/ticketMr/dialog/FreightMgrIndexMi.js

@@ -2,23 +2,14 @@ import { basePositionApi } from '@/api/ticketMr/ticketMr'
 export default {
     data() {
         return {
-            selectDeliveryAreaDialogList:[],
-            getCityDataRequestList:[],
-            currentChargeRegionList:[],
-            currentChargeRegionList:[],
-            getCityDataRequestList:[],
-            currentFilterAreaObj: {},
-            currentEchoedRegions: [],
-            currentAreaIndex: null,
-            selectDeliveryAreaDialogOpen: false,
+            selectDeliveryAreaDialogList:[], // 全部数据
+            selectDeliveryAreaDialogOpen: false, // 是否显示弹窗
             selectDeliveryAreaDialogTitle: '可售区域',
-            props: {
-                label: 'name',
-                children: 'zones',
-                isLeaf: 'leaf'
-            },
 
-            selectCityListAll: [],
+            selectCityListLoading: false,
+
+            provinceIndex: -1,
+            initSelectData: {} // 回显载体
         }
     },
     created() {
@@ -29,9 +20,31 @@ export default {
             
         },
         /**
-         * 取消查看可配送区域对话框
+         * 打开 可售区域配置
          */
-        deliverableAreaDialogCancel() {
+        deliverableAreaDialogCancel(data) {
+            let obj = {}
+            
+            this.selectCityListLoading = false
+
+            this.provinceIndex = -1
+            this.initSelectData = {}
+
+            if(data && data.length>0) {
+                data.forEach((item,index)=>{
+                    let list = item.split('-')
+                    if(obj[list[0]] && list[1]){
+                        obj[list[0]].push([list[1]])
+                    }else {
+                        obj[list[0]] = []
+                        if(list[1]){
+                            obj[list[0]].push([list[1]])
+                        }
+                    }
+                })
+            }
+            console.log('obj====',data,obj)
+            this.initSelectData = obj
             this.selectDeliveryAreaDialogOpen = true;
             this.basePositionFun("#")
         },
@@ -43,18 +56,24 @@ export default {
         selectDeliveryAreaDialogSubmitForm(){
             let list = []
             this.selectDeliveryAreaDialogList.forEach((item)=>{
-                if(item.selectCityList && item.selectCityList.length>0) {
+                if(item.selected){
+                    list.push(item.name)
+                }else if(item.selectCityList && item.selectCityList.length>0) {
                     item.selectCityList.forEach((item1,index1)=>{
+                        console.log("item1===",item1)
                         list.push(item.name+'-'+item1.join('-'))
                     })
                     
                 }
             })
+            this.form.saleArea = list
+            this.selectDeliveryAreaDialogOpen = false
             console.log("list====",list)
         },
-        /**  获取行政区划  */
+        /**  初次获取行政区划  */
         async basePositionFun(upCode) {
             try {
+                this.selectCityListLoading = true
                 let res = await basePositionApi({
                     upCode,
                 })
@@ -66,7 +85,8 @@ export default {
                             list.push({
                                 ...item,
                                 countyList: [],
-                                selectCityList: [],
+                                selected: this.initChekeSelectAll(item),
+                                selectCityList: this.initSelectData[item.name] ?this.initSelectData[item.name] : [] ,
                                 cityList: []
                             })
                             listApi.push(basePositionApi({
@@ -78,81 +98,71 @@ export default {
                     let res1 = await Promise.all(listApi)
                     if(res1) {
                         res1.forEach((item,index)=>{
-                            list[index].cityList = [].concat(item.data)
+                            let list1 = []
+                            item.data.forEach((item1,index1)=>{
+                                list1.push({
+                                    ...item1,
+                                    //countyList: [],
+                                    //leaf: true,
+                                })
+                            })
+                            list[index].cityList = [].concat(list1)
                         })
                     }
                     
                     this.selectDeliveryAreaDialogList = [].concat(list)
                     console.log("res1=====",res1,this.selectDeliveryAreaDialogList)
                 }
+                this.selectCityListLoading = false
             } catch (error) {
                 console.error("error====",error)
+                this.selectCityListLoading = false
             }
-        },
-        async basePositionFunCopy(upCode) {
-            try {
-                let res = await basePositionApi({
-                    upCode,
-                })
-                if(res.code == 200) {
-                    return res.data
-                }
-            } catch (error) {
-                return []
-            }
-        },
-        loadNode(node, resolve) {
-            console.log(node,resolve)
-            // if(){
-
-            // }
-        },
-        /**  展开某个   */
-        urrentEchoedRegionsFun(areaItem){
-            this.urrentEchoedRegions = areaItem.areaCode
-        },
-       
-        handleChangeAreaCity(){
-
         },
          /**  懒加载 配置   */
         areaCascaderProps(areaItem, areaIndex) {
             return {
-              lazy: true,
+              lazy: false,
               lazyLoad: (node, resolve) => this.areaLazyLoad(node, resolve, areaItem, areaIndex),
               multiple: true,
               children: 'countyList',
               label: 'name',
               value: 'name',
-              expandTrigger: 'hover'
+              expandTrigger: 'hover',
+              // emitPath: false,
             };
         },
         /**  懒加载 函数   */
         areaLazyLoad(node, resolve, areaItem, provinceIndex) {
             const { level } = node;
-            console.log(node, resolve, areaItem, provinceIndex)
+            // console.log(node, resolve, areaItem, provinceIndex)
             if (level === 0) {
               resolve([])
             } else if(level == 1 ) {
-                //console.log(node, resolve, areaItem, provinceIndex)
+                console.log(node, resolve, areaItem, provinceIndex)
                 if(node.data && node.data.code){
-                    basePositionApi({
-                        upCode: node.data.code,
-                    }).then((res)=>{
+                    if(node.data.countyList) {
                         let list = []
-                        //let listLable = []
-                        res.data.forEach((item,index)=>{
-                            //listLable.push([node.label,item.name])
+                        node.data.countyList.forEach((item,index)=>{
                             list.push({
                                 ...item,
                                 leaf: true,
                             })
                         })
-                        // if(areaItem.selected) {
-                        //     this.selectDeliveryAreaDialogList[provinceIndex].selectCityList = list
-                        // }
                         resolve(list)
-                    })
+                    }
+                    // basePositionApi({
+                    //     upCode: node.data.code,
+                    // }).then((res)=>{
+                    //     let list = []
+                    //     res.data.forEach((item,index)=>{
+                    //         list.push({
+                    //             ...item,
+                    //             leaf: true,
+                    //         })
+                    //     })
+                    //     resolve(list)
+                    // })
                 }else {
                     resolve([])
                 }   
@@ -162,21 +172,96 @@ export default {
         },
         // 当选中节点变化时触发
         changeCascader(data){
-            console.log(data)
-            console.log('selectDeliveryAreaDialogList====',this.selectDeliveryAreaDialogList)
+            console.log("data===",data)
+           // console.log('selectDeliveryAreaDialogList====',this.selectDeliveryAreaDialogList)
+            this.chekeSelectAll(this.provinceIndex)
         },
         // 下拉框出现/隐藏时触发
-        handleCascaderVisibleChangeCity(isVisible, areaItem, provinceIndex){
-            console.log(isVisible, areaItem, provinceIndex)
-            if(areaItem.selected){
-                let list = ['市辖区','东城区']
-                // this.selectDeliveryAreaDialogList[provinceIndex].cityList.forEach((item,index)=>{
-                //     list.push([item.name])
-                // })
-                console.log("dsfsdfsdf===",list)
-                this.$set(this.selectDeliveryAreaDialogList[provinceIndex],'selectCityList',[].concat(list))
+        async handleCascaderVisibleChangeCity(isVisible, areaItem, provinceIndex){
+            this.provinceIndex = provinceIndex
+            if (isVisible) {
+                const loading = this.$loading({
+                    lock: true,
+                    text: 'Loading',
+                    spinner: 'el-icon-loading',
+                    background: 'rgba(0, 0, 0, 0.7)',
+                    customClass: 'custom-class-box'
+                });
+                try {
+                    console.log('this.selectDeliveryAreaDialogList1111====',this.selectDeliveryAreaDialogList)
+                    if(false && isVisible && this.selectDeliveryAreaDialogList[provinceIndex].cityList[0].countyList.length==0){
+                        
+                        console.log(isVisible, areaItem, provinceIndex)
+    
+                        let listApi = []
+                        areaItem.cityList.forEach((item,index)=>{
+                            listApi.push(basePositionApi({
+                                upCode: item.code?item.code : '#',
+                            }))
+                        })
+                        let res1 = await Promise.all(listApi)
+                        console.log("res1====",res1)
+                        if(res1) {
+                            res1.forEach((item,index)=>{
+                                this.$set(this.selectDeliveryAreaDialogList[provinceIndex].cityList[index],'countyList',item.data)
+                            })
+                        }
+                    }
+                    loading.close();
+                    if(isVisible && areaItem.selected){
+                        this.$nextTick(()=>{
+                            // let list = [['市辖区']]
+                            // this.$set(this.selectDeliveryAreaDialogList[provinceIndex],'selectCityList',list)
+                            // console.log('this.selectDeliveryAreaDialogList1111====',this.selectDeliveryAreaDialogList)
+                            this.setSelectAll(isVisible, areaItem, provinceIndex)
+                        })
+                        
+                    }
+                } catch (error) {
+                    loading.close();
+                    console.error("error=====",error)
+                }
             }
+           
             
-        }
+        },
+        /**  全选状态  */
+        setSelectAll(isVisible, areaItem, provinceIndex){
+            this.$nextTick(()=>{
+                let list = []
+                this.selectDeliveryAreaDialogList[provinceIndex].cityList.forEach((item,index)=>{
+                    if(item.countyList && item.countyList.length > 0) {
+                        item.countyList.forEach((item1,index1)=>{
+                            list.push([item.name,item1.name])
+                        })
+                    }else {
+                        list.push([item.name])
+                    }
+                })
+                this.$set(this.selectDeliveryAreaDialogList[provinceIndex],'selectCityList',list)
+                //console.log('this.selectDeliveryAreaDialogList1111====',this.selectDeliveryAreaDialogList)
+            })
+        },
+        /** 点击选中时 判断是否全选  */
+        chekeSelectAll(provinceIndex){
+            let flog = true
+            this.selectDeliveryAreaDialogList[provinceIndex].cityList.forEach((item,index)=>{
+                if(this.selectDeliveryAreaDialogList[provinceIndex].selectCityList.every((currentValue)=> !currentValue.includes(item.name)) ) {
+                    flog = false
+                }
+            })
+            this.selectDeliveryAreaDialogList[provinceIndex].selected = flog
+            console.log("provinceIndex====",provinceIndex)
+            console.log("flog====",flog)
+            console.log('this.selectDeliveryAreaDialogList1111====',this.selectDeliveryAreaDialogList)
+        },
+        /** 点击选中时 判断是否全选  */
+        initChekeSelectAll(item){
+            if(this.initSelectData[item.name] && this.initSelectData[item.name].length == 0) {
+                return true
+            }else {
+                return false
+            }
+        },
     }
 }

+ 30 - 3
src/views/ticket/ticketMr/dialog/addAndEdit.vue

@@ -114,7 +114,13 @@
               <el-checkbox v-model="form.channelAutoSale">自助售/取票机</el-checkbox>
             </el-form-item>
             <el-form-item label="可售区域:" label-width="100px">
-              <span @click="deliverableAreaDialogCancel" style="cursor: pointer;color: #1890ff;">请选择</span>
+              <span @click="deliverableAreaDialogCancel(form.saleArea)" style="cursor: pointer;color: #1890ff;">请选择</span>
+              <div style="width: 100%;height: 100px;overflow: hidden;overflow-y: auto;background-color: #ccc;padding: 5px;box-sizing: border-box;border-radius: 10px;">
+                <div v-if="form.saleArea">
+                  <el-tag :key="index" v-for="(item,index) in form.saleArea" >{{ item }}</el-tag>
+                </div>
+                
+              </div>
             </el-form-item>
           </el-tab-pane>
 
@@ -172,7 +178,10 @@
         class="delivery-area-dialog"
         @close="selectDeliveryAreaDialogCancel"
       >
-        <div class="area-container">
+        <div class="area-container" 
+        v-loading="selectCityListLoading"
+        element-loading-text="加载数据中..."
+        >
           <el-row>
             <el-col
               v-for="(areaItem, areaIndex) in selectDeliveryAreaDialogList"
@@ -182,7 +191,7 @@
             >
               <el-checkbox
                 v-model="areaItem.selected"
-                :label="areaItem.areaName"
+                :label="areaItem.name"
                 class="area-wrap-province"
                 @change="handleChangeProvince(areaIndex, areaItem)"
               >
@@ -364,6 +373,10 @@ export default {
           this.$set(this.form, 'backStatus', obj.goodsPerform.backStatus);
           this.$set(this.form, 'backTime', '1');
           this.$set(this.form, 'backStatus', obj.goodsPerform.backStatus.toString());
+          
+          this.$set(this.form, 'saleArea', obj.saleArea);
+          this.$set(this.form, 'stopSaleTime', obj.goodsPerform.stopSaleTime);
+
           if(obj.goodsPerform.backStatus == '0') {
             this.$set(this.form, 'days', obj.performRefundRule.days);
             this.$set(this.form, 'hour', obj.performRefundRule.hour);
@@ -419,6 +432,8 @@ export default {
             postMap.goodsType = 2;
             postMap.classifyId = 1;
             postMap.classifyName = "门票类";
+            postMap.saleArea = this.form.saleArea&&this.form.saleArea.length>0?this.form.saleArea:[]
+            postMap.goodsPerform.stopSaleTime = this.form.stopSaleTime
             this.loading = true;
             const { code } = await saveAndEdit({ ...postMap });
             if (code === 200) {
@@ -456,6 +471,9 @@ export default {
       this.$set(this.form, 'backStatus', '');
       this.$set(this.form, 'days', '');
       this.$set(this.form, 'hour', '');
+      this.$set(this.form, 'saleArea', '');
+      this.$set(this.form, 'stopSaleTime', '');
+
     },
     /**
      * 关闭弹框
@@ -516,6 +534,10 @@ export default {
   }
 }
 
+.area-container {
+  min-height: 400px;
+}
+
 ::v-deep .area-wrap-city.el-cascader {
   line-height: normal;
   .el-input {
@@ -556,3 +578,8 @@ export default {
   }
 }
 </style>
+<style>
+.custom-class-box {
+  z-index: 999999 !important;
+}
+</style>

+ 3 - 1
src/views/userMr/index.vue

@@ -196,6 +196,7 @@ export default {
       this.$set(this.queryParams, 'realName', '');
       this.$set(this.queryParams, 'cardId', '');
       this.$set(this.queryParams, 'mobile', '');
+      this.$set(this.queryParams, 'isBlackList', '')
       this.queryParams.pageNum = 1;
       this.handleQuery();
     },
@@ -225,7 +226,8 @@ export default {
 
     /** 加入黑名单按钮操作 */
     addBlackListEven(row) {
-      this.$confirm("是否将该用户加入黑名单?", '提示', {
+      let str = row.isBlackList == 0 ? "是否将该用户加入黑名单?":'是否将该用户移出黑名单?'
+      this.$confirm(str, '提示', {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
         type: 'warning'