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

报名审核:用户购买锁定票处理

shipeng 1 hete
szülő
commit
a72f0b1e4a

+ 28 - 2
src/components/seatBox/index.vue

@@ -113,6 +113,7 @@
  import { 
   lockOrUnLockApi,
  } from '@/api/windowTicketSales/ticketingSales'
+ import { mapGetters } from 'vuex'
  export default {
     name: "TicketingSales1",
     mixins: [selectListMixin],
@@ -133,6 +134,12 @@
                 return {}
             }
         },
+        queryParams: {
+            type: [Object],
+            default: ()=>{
+                return {}
+            }
+        },
         height: {
             type: [String],
             default: 'calc( 100vh - 120px )'
@@ -194,6 +201,11 @@
     },
     mounted() {
     
+    },
+    computed: {
+      ...mapGetters([
+        'isBuylock',
+      ]),
     },
     methods: {
         moment,
@@ -340,7 +352,7 @@
                 this.$message.error('你已选择锁定座位,只能再选择被锁定的座位!!!');
                 return
             }
-            if(this.seatSelectList.length > 0 && row.occupyStatus == 0){
+            if(this.seatSelectList.length > 0 && row.occupyStatus == 0 && this.isBuylock === 0){
                 this.$message.error('此座已被锁定,请先解锁!!!');
                 return
             }
@@ -383,6 +395,20 @@
                         }
                     })
                 }
+                // 配置该用户 可以购买锁定票
+                if(this.isBuylock === 1) {
+                    if(row.isSelect) {
+                        this.seatSelectList.push(JSON.parse(JSON.stringify(row)))
+                    } else {
+                        let list = JSON.parse(JSON.stringify(this.seatSelectList))
+                        list.forEach((item,index)=> {
+                            if(item.id == row.id) {
+                                this.seatSelectList.splice(index, 1)
+                            }
+                        })
+                    }
+                }
+                this.$emit('selectSeat',this.seatSelectList)
             }else if(row.isDisabled || row.status == 2){
                 return false
             }else {
@@ -478,7 +504,7 @@
                 this.lckTime = setTimeout(async ()=>{
                     let res = await lockOrUnLockApi({
                         auditoriumId: this.queryParams.auditoriumId,
-                        timeId: this.queryParams.timeId,
+                        timeId: this.queryParams.timeId || this.queryParams.performTimeId,
                         seatId: item.id
                     })
                     if (res.code == 200) {

+ 1 - 2
src/store/modules/user.js

@@ -55,7 +55,6 @@ const user = {
       return new Promise((resolve, reject) => {
         getInfo().then(res => {
           const user = res.user
-          const isBuylock = res.isBuylock
           const avatar = (user.avatar == "" || user.avatar == null) ? require("@/assets/images/profile.jpg") :  user.avatar;
           if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
             commit('SET_ROLES', res.roles)
@@ -65,7 +64,7 @@ const user = {
           }
           commit('SET_NAME', user.userName)
           commit('SET_AVATAR', avatar)
-          commit('SET_ISBUY', isBuylock)
+          commit('SET_ISBUY', user.isBuylock)
           resolve(res)
         }).catch(error => {
           reject(error)

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

@@ -79,6 +79,7 @@
         <seatBox 
           ref="seatBox" 
           :seatTypeLimit="configStockNumObj"
+          :queryParams="applyMap"
           @selectSeat="selectSeat"
           height="100%"
           channelType="group"