Browse Source

团购订单、报名审核:拖动选择座位处理

shipeng 6 days ago
parent
commit
2f654d5a70

+ 1 - 1
src/components/seatBox/index.vue

@@ -94,7 +94,7 @@
                 </div>
                 <!-- 鼠标拖拽出的遮罩 (定位为 position:absolute)-->
                 <!-- 遮罩最好是在绑定了mouseover事件的元素内部,并且不要阻止遮罩的冒泡事件。这样鼠标移到了遮罩上面,依然可以利用冒泡执行父元素的mouseover事件,就不会出现遮罩只能扩大,不能缩小的情况了(亲自试过) -->
-                <div id="moveSelected"></div>
+                <div ref="moveSelected" id="moveSelected"></div>
             </div>
         </div>
       </div>

+ 10 - 5
src/components/seatBox/mixins/selectList.js

@@ -94,7 +94,7 @@ export default {
             this.moveSelected.style.bottom=Number(this.moveSelected.style.top.split('px')[0])+Number(this.moveSelected.style.height.split('px')[0]) + 'px';
             this.moveSelected.style.right=Number(this.moveSelected.style.left.split('px')[0])+Number(this.moveSelected.style.width.split('px')[0])+'px';
             this.flag=false;
-            if( this.isMousemove){
+            if(this.isMousemove){
                 this.getSelectItem()
             }else {
                 // let id = event.srcElement.getAttribute('dragSelectId')
@@ -145,6 +145,8 @@ export default {
             let drawDialog = document.getElementById("moveSelected");
             // 获取div元素的坐标点
             let rect = drawDialog.getBoundingClientRect();
+            // let drawDialog = this.$refs.moveSelected;
+            // let rect = drawDialog.getBoundingClientRect();
             for(let i = 0; i < list.length; i++) {
                 let rect_div = list[i].getBoundingClientRect();
                 //console.log("rect===",list[i].getAttribute('index'),rect_div.top,rect_div.left)
@@ -153,6 +155,7 @@ export default {
                     listCopy.push(list[i].getAttribute("dragSelectId"));
                 }
             }
+            console.log(listCopy,'listCopy');
             let listCopy1 = [] // 已选择的座位
             listCopy.forEach((item,index)=>{
                 this.setList.forEach((item1,index1)=>{
@@ -161,6 +164,7 @@ export default {
                     }
                 })
             })
+            console.log(listCopy1,'listCopy1');
             let flog = false;
             let seatTypeId = null
             let occupyStatus = listCopy1.length>0?listCopy1[0].occupyStatus:null
@@ -256,7 +260,8 @@ export default {
              * 
              * 
             */
-            if( listCopy1.length > this.seatTypeLimit['seatNum_'+listCopy1[0].seatTypeId].stockTotal-this.seatTypeLimit['seatNum_'+listCopy1[0].seatTypeId].stockYes ) {
+           console.log(listCopy1,this.seatTypeLimit,'listCopy1');
+            if(listCopy1.length > this.seatTypeLimit['seatNum_'+listCopy1[0].seatTypeId].stockTotal-this.seatTypeLimit['seatNum_'+listCopy1[0].seatTypeId].stockYes) {
                 this.$message.error('选择的座位类型已超过库存!!!');
                 return
             }
@@ -287,7 +292,7 @@ export default {
                 this.seatSelectListNo = this.seatSelectListNo.concat(listCopy2)
                // 配置该用户 可以购买锁定票
                 if(this.isBuylock === 1) {
-                  console.log(this.isBuylock,'this.isBuylock33');
+                //   console.log(this.isBuylock,'this.isBuylock33');
                   this.seatSelectList = this.seatSelectList.concat(listCopy2)
                 }
             }else {
@@ -296,8 +301,8 @@ export default {
             
             this.$forceUpdate()
             this.$emit('selectSeat',this.seatSelectList)
-            console.log("listCopy===",listCopy)
-            console.log("listCopy1===",listCopy1)
+            // console.log("listCopy===",listCopy)
+            // console.log("listCopy1===",listCopy1)
         },
         /**  清除全部已选 */
         clearSeatSelectListAll () {

+ 3 - 3
src/views/officesale/mixins/selectList.js

@@ -277,7 +277,7 @@ export default {
                 this.seatSelectListNo = this.seatSelectListNo.concat(listCopy2)
                 // 配置该用户 可以购买锁定票
                 if(this.isBuylock === 1) {
-                  console.log(this.isBuylock,'this.isBuylock11');
+                //   console.log(this.isBuylock,'this.isBuylock11');
                   this.seatSelectList = this.seatSelectList.concat(listCopy2)
                 }
             }else {
@@ -285,8 +285,8 @@ export default {
             }
             
             this.$forceUpdate()
-            console.log("listCopy===",listCopy)
-            console.log("listCopy1===",listCopy1)
+            // console.log("listCopy===",listCopy)
+            // console.log("listCopy1===",listCopy1)
         },
         /**  清除全部已选 */
         clearSeatSelectListAll () {

+ 2 - 1
src/views/order/groupBuyingMr/dialog/editBox.vue

@@ -91,7 +91,7 @@
         </el-row>
       </div>
       <div class="dialog-bbb_2" v-loading="loading_seta" element-loading-text="加载座位图中...">
-        <seatBox ref="seatBox" :seatTypeLimit="configStockNumObj" :queryParams="form" @selectSeat="selectSeat" height="100%"
+        <seatBox ref="seatBox" v-if="open" key="seatBox1" :seatTypeLimit="configStockNumObj" :queryParams="form" @selectSeat="selectSeat" height="100%"
           channelType="group" />
       </div>
     </div>
@@ -558,6 +558,7 @@ export default {
         this.$message.error("请上传观影人员!");
         return
       }
+      console.log(this.form.viewerList,this.form.seatSelectList,'66666')
       if (this.form.viewerList.length != this.seatSelectList.length) {
         this.$message.error("请选择座位!");
         return

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

@@ -78,6 +78,8 @@
       <div class="dialog-bbb_2" v-if="detailsType">
         <seatBox 
           ref="seatBox" 
+          v-if="open"
+          key="seatBox"
           :seatTypeLimit="configStockNumObj"
           :queryParams="applyMap"
           @selectSeat="selectSeat"

+ 2 - 0
src/views/ticket/InventoryTemplate/dialog/addAndEdit.vue

@@ -107,6 +107,8 @@
                 <div v-else-if="form.chennelListForm[chennelAtion].stockType == 1">
                   <seatBox 
                   ref="seatBox" 
+                  v-if="open"
+                  key="seatBox3"
                   :isOccupyStatus="false"
                   :seatTypeLimit="configStockNumObj"
                   @selectSeat="selectSeat"

+ 3 - 3
src/views/windowTicketSales/mixins/selectList.js

@@ -278,7 +278,7 @@ export default {
                 this.seatSelectListNo = this.seatSelectListNo.concat(listCopy2)
                 // 配置该用户 可以购买锁定票
                 if(this.isBuylock === 1) {
-                  console.log(this.isBuylock,'this.isBuylock');
+                //   console.log(this.isBuylock,'this.isBuylock');
                   this.seatSelectList = this.seatSelectList.concat(listCopy2)
                 }
             }else {
@@ -286,8 +286,8 @@ export default {
             }
             
             this.$forceUpdate()
-            console.log("listCopy===",listCopy)
-            console.log("listCopy1===",listCopy1)
+            // console.log("listCopy===",listCopy)
+            // console.log("listCopy1===",listCopy1)
         },
         /**  清除全部已选 */
         clearSeatSelectListAll () {