Browse Source

票务销售、推广票:设置允许购锁定票全选的用户可购锁定票。

shipeng 3 months ago
parent
commit
2866cb1e4f

+ 1 - 0
src/store/getters.js

@@ -8,6 +8,7 @@ const getters = {
   token: state => state.user.token,
   avatar: state => state.user.avatar,
   name: state => state.user.name,
+  isBuylock: state => state.user.isBuylock,
   introduction: state => state.user.introduction,
   roles: state => state.user.roles,
   permissions: state => state.user.permissions,

+ 5 - 0
src/store/modules/user.js

@@ -5,6 +5,7 @@ const user = {
   state: {
     token: getToken(),
     name: '',
+    isBuylock: null,
     avatar: '',
     roles: [],
     permissions: []
@@ -17,6 +18,9 @@ const user = {
     SET_NAME: (state, name) => {
       state.name = name
     },
+    SET_ISBUY: (state, isBuylock) => {
+      state.isBuylock = isBuylock
+    },
     SET_AVATAR: (state, avatar) => {
       state.avatar = avatar
     },
@@ -60,6 +64,7 @@ const user = {
           }
           commit('SET_NAME', user.userName)
           commit('SET_AVATAR', avatar)
+          commit('SET_ISBUY', user.isBuylock)
           resolve(res)
         }).catch(error => {
           reject(error)

+ 21 - 2
src/views/officesale/ticketingSales.vue

@@ -252,7 +252,8 @@
  import moment from "moment"
  import { pageList as getSeatType } from '@/api/seatTypeMr/seatTypeMr'
  import selectListMixin from "./mixins/selectList"
-import LockSeat from './model/lockSeat.vue'
+ import LockSeat from './model/lockSeat.vue'
+ import { mapGetters } from 'vuex'
  export default {
     name: "TicketingSales",
     components: {
@@ -335,6 +336,11 @@ import LockSeat from './model/lockSeat.vue'
     mounted() {
         this.$set(this.queryParams,'performDate',moment().format("yyyy-MM-DD"))
     },
+    computed: {
+      ...mapGetters([
+        'isBuylock',
+      ]),
+    },
     methods: {
         moment,
 
@@ -695,7 +701,7 @@ import LockSeat from './model/lockSeat.vue'
                 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
             }
@@ -721,6 +727,19 @@ import LockSeat from './model/lockSeat.vue'
                         }
                     })
                 }
+                // 配置该用户 可以购买锁定票
+                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)
+                            }
+                        })
+                    }
+                }
             }else if(row.isDisabled || row.status == 2){
                 return false
             }else {

+ 20 - 1
src/views/windowTicketSales/ticketSales.vue

@@ -257,6 +257,7 @@ import selectListMixin from "./mixins/selectList"
 import LockSeat from './model/lockSeat.vue'
 import changePerform from './model/changePerform.vue'
 import { tr } from 'voca'
+import { mapGetters } from 'vuex'
 export default {
     name: "TicketSales",
     components: {
@@ -366,6 +367,11 @@ export default {
             }
         }
     },
+    computed: {
+      ...mapGetters([
+        'isBuylock',
+      ]),
+    },
     methods: {
         moment,
 
@@ -815,7 +821,7 @@ export default {
                 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
             }
@@ -840,6 +846,19 @@ export default {
                         }
                     })
                 }
+                // 配置该用户 可以购买锁定票
+                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)
+                            }
+                        })
+                    }
+                }
             } else if (row.isDisabled || row.status == 2) {
                 return false
             } else {