MONSTER-ygh пре 1 година
родитељ
комит
a2026202df

+ 13 - 0
src/utils/request.js

@@ -94,6 +94,19 @@ service.interceptors.response.use(res => {
       });
     }
       return Promise.reject('无效的会话,或者会话已过期,请重新登录。')
+    } if (code === 601) {
+      if (!isRelogin.show) {
+        isRelogin.show = true;
+        MessageBox.confirm('你的账号在其他设备登录,请重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' }).then(() => {
+          isRelogin.show = false;
+          store.dispatch('LogOut').then(() => {
+            location.href = '/index';
+          })
+      }).catch(() => {
+        isRelogin.show = false;
+      });
+    }
+      return Promise.reject('你的账号在其他设备登录,请重新登录。')
     } else if (code === 500) {
       Message({ message: msg, type: 'error' })
       return Promise.reject(new Error(msg))

+ 19 - 19
src/views/officesale/ticketingSales.vue

@@ -145,14 +145,14 @@
             </div>
             <div style="margin-top: 5px; margin-left: 30px;display: flex;">
                 <div style="flex-shrink: 0;">
-                    <span>已勾选(需购买):{{ seatSelectList.length }}个座位</span>
+                    <span>已勾选(需预约):{{ seatSelectList.length }}个座位</span>
                     ——
                     <span>已勾选(需解锁):{{ seatSelectListNo.length }}个座位</span>
                     <el-button size="mini" type="warning"  @click="clearSeatSelectListAll">清空已选座位</el-button>
                 </div>
                 <div style="width: 100%;display: flex;justify-content: center;height: 30px;">
                     <el-button size="mini" type="warning" :loading="lockOrUnLockLoading" @click="lockOrUnLockFun(0)">{{ seatSelectListNo.length>0?'解锁':'锁定' }}</el-button>
-                    <el-button size="mini" type="primary" @click="increaseViewersFun">购票</el-button>
+                    <el-button size="mini" type="primary" @click="increaseViewersFun">预约</el-button>
                 </div>
             </div>
             
@@ -943,28 +943,28 @@
         border: 5px solid #ff182f !important;
       }
       .occupy-status-no {
-        //background-color: #f56c6c !important;
+        background-color: #f56c6c !important;
         user-select: none;
         // pointer-events: none;
         cursor: not-allowed !important;
         position: relative;
       }
-      .occupy-status-no:after{
-            content:"";
-            display:block;
-            position:absolute;
-            top:0;
-            left:0;
-            width:100%;
-            height:100%;
-            background-color:rgba(0,0,0,0.3);
-            z-index:-1;
-            background-image: url('../../assets/jinzhi.png');
-            background-size: 50% 50%;
-            background-position: 50% 50%;
-            background-repeat: no-repeat;
-            z-index: 99;
-        }
+    //   .occupy-status-no:after{
+    //         content:"";
+    //         display:block;
+    //         position:absolute;
+    //         top:0;
+    //         left:0;
+    //         width:100%;
+    //         height:100%;
+    //         background-color:rgba(0,0,0,0.3);
+    //         z-index:-1;
+    //         background-image: url('../../assets/jinzhi.png');
+    //         background-size: 50% 50%;
+    //         background-position: 50% 50%;
+    //         background-repeat: no-repeat;
+    //         z-index: 99;
+    //     }
       .seat-item-class-box {
         width: 100%;
         display: flex;

+ 61 - 1
src/views/team/teamMr/dialog/addAndEdit.vue

@@ -35,6 +35,7 @@
             placeholder="团队类型"
             clearable
             style="width: 100%;"
+            @change="changeType"
           >
             <el-option
               v-for="dict in dict.type.team_type"
@@ -52,7 +53,7 @@
             style="width: 100%;"
           >
             <el-option
-              v-for="dict in dict.type.order_form_type"
+              v-for="dict in listType"
               :key="dict.value"
               :label="dict.label"
               :value="dict.value"
@@ -154,6 +155,7 @@
 import { saveAndEdit, getSelectById } from "@/api/team/teamMr";
 import Editor from "@/components/Editor";
 import { getToken } from "@/utils/auth";
+import { index } from "mathjs";
 export default {
   name: "addAndEdit",
   props: {
@@ -176,6 +178,32 @@ export default {
         id: undefined,
         type: "",
       },
+      listType: [
+        {
+            "label": "窗口美团",
+            "value": 10,
+        },
+        {
+            "label": "窗口携程",
+            "value": 11,
+        },
+        {
+            "label": "窗口抖音",
+            "value": 13,
+        },
+        {
+            "label": "窗口猫眼",
+            "value": 14
+        },
+        {
+            "label": "窗口大麦",
+            "value": 18,
+        },
+        {
+            "label": "窗口飞猪",
+            "value": 19,
+        }
+    ],
       rules: {
         name: [{ required: true, message: "请输入团队名称", trigger: ["change","blur"] }],
         type: [{ required: true, message: "请选择团队类型", trigger: ["change","blur"] }],
@@ -234,6 +262,7 @@ export default {
             this.$set(this.form, 'checkRemark', obj.checkRemark);
             this.$set(this.form, 'haveContract', obj.haveContract);
             this.$set(this.form, 'contractReason', obj.contractReason);
+            this.changeType(this.form.type)
             if(obj.contractImg){
               if(obj.contractImg.indexOf(',') > -1){
                 let img_list = obj.contractImg.split(',');
@@ -369,6 +398,37 @@ export default {
         }
       })
     },
+    /**  选择团队类型  */
+    changeType(value) {
+      if(value == 6) {
+        this.rules = {
+          ...this.rules,
+          contact: [{ required: false, message: "请输入客户负责人", trigger: ["change","blur"] }],
+          mobile: [{ required: false, message: "请输入客户账号/联系电话", trigger: ["change","blur"] }],
+          salerPerson: [{ required: false, message: "请输入销售员", trigger: ["change","blur"] }],
+          salerMobile: [{ required: false, message: "请输入销售员联系电话", trigger: ["change","blur"] }],
+
+          haveContract: [{ required: false, message: "请选择是否有合同", trigger: ["change","blur"] }],
+          photoList: [{ required: false, message: "请上传合约信息图片", trigger: ["change","blur"] }],
+          contractReason: [{ required: false, message: "请输入无合约原因", trigger: ["change","blur"] }],
+        
+        }
+      }else {
+        this.rules = {
+          ...this.rules,
+          contact: [{ required: true, message: "请输入客户负责人", trigger: ["change","blur"] }],
+          mobile: [{ required: true, message: "请输入客户账号/联系电话", trigger: ["change","blur"] }],
+          salerPerson: [{ required: true, message: "请输入销售员", trigger: ["change","blur"] }],
+          salerMobile: [{ required: true, message: "请输入销售员联系电话", trigger: ["change","blur"] }],
+
+          haveContract: [{ required: true, message: "请选择是否有合同", trigger: ["change","blur"] }],
+          photoList: [{ required: true, message: "请上传合约信息图片", trigger: ["change","blur"] }],
+          contractReason: [{ required: true, message: "请输入无合约原因", trigger: ["change","blur"] }],
+          
+        }
+        this.$refs["form"].clearValidate();
+      }
+    }
   },
 };
 </script>

+ 8 - 0
src/views/windowTicketSales/model/increaseViewers.vue

@@ -651,6 +651,14 @@ import {
         submitForm(formName) {
             this.$refs[formName].validate((valid) => {
             if (valid) {
+                if(this.ruleForm.paymentType == 4 && (!this.balance||this.balance<=0)) {
+                    this.$message.error('团队账户余额不足!!!');
+                    return
+                }
+                if(this.ruleForm.paymentType == 5 && (!this.grantQuota||this.grantQuota<=0)) {
+                    this.$message.error('团队授信余额不足!!!');
+                    return
+                }
                 if(!this.checkViewerList()){
                     this.orderInfoSubmitFun()
                 }

+ 17 - 12
src/views/windowTicketSales/ticketingSales.vue

@@ -671,15 +671,20 @@
         },
         increaseViewersFun(){
             if(this.seatSelectList.length>0){
-                if(this.ifRealUser != 0 || this.ifRealTeam != 0 ) {
-                    if(this.personnelNum != 0) {
-                        if( this.seatSelectList.length != this.personnelNum ) {
-                            this.$message.error(`票务类型设置了实名要求,选择人数为${ this.personnelNum }人`);
-                            return
-                        }
+                // if(this.ifRealUser != 0 || this.ifRealTeam != 0 ) {
+                //     if(this.personnelNum != 0) {
+                //         if( this.seatSelectList.length != this.personnelNum ) {
+                //             this.$message.error(`票务类型设置了实名要求,选择人数为${ this.personnelNum }人`);
+                //             return
+                //         }
+                //     }
+                // }
+                if(this.personnelNum != 0) {
+                    if( this.seatSelectList.length != this.personnelNum ) {
+                        this.$message.error(`票务类型设置了实名要求,选择人数为${ this.personnelNum }人`);
+                        return
                     }
                 }
-
                 this.changePerformId(this.queryParams.timeId)
                 this.$refs.increaseViewers.initData(this.seatSelectList,{
                     ...this.queryParams,
@@ -930,7 +935,7 @@
         height:100%;
         background-color:rgba(0,0,0,0.3);
         z-index:-1;
-        background-image: url('../../assets/jinzhi_1.png');
+        background-image: url('../../assets/jinzhi.png');
         background-size: 50% 50%;
         background-position: 50% 50%;
         background-repeat: no-repeat;
@@ -943,13 +948,13 @@
         border: 5px solid #ff182f !important;
       }
       .occupy-status-no {
-        //background-color: #f56c6c !important;
+        background-color: #f56c6c !important;
         user-select: none;
         // pointer-events: none;
         cursor: not-allowed !important;
         position: relative;
       }
-      .occupy-status-no:after{
+        /* .occupy-status-no:after{
             content:"";
             display:block;
             position:absolute;
@@ -959,12 +964,12 @@
             height:100%;
             background-color:rgba(0,0,0,0.3);
             z-index:-1;
-            background-image: url('../../assets/jinzhi.png');
+            background-image: url('../../assets/jinzhi_1.png');
             background-size: 50% 50%;
             background-position: 50% 50%;
             background-repeat: no-repeat;
             z-index: 99;
-        }
+        } */
       .seat-item-class-box {
         width: 100%;
         display: flex;