|
@@ -26,19 +26,19 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="sm-box">
|
|
|
- <div class="sm-scroll-box">
|
|
|
+ <!-- v-dragSelect="dragSelectObj" -->
|
|
|
+ <div class="sm-scroll-box"
|
|
|
+
|
|
|
+ @mousedown="downDiv"
|
|
|
+ @mousemove="moveDiv"
|
|
|
+ @mouseup="upDiv"
|
|
|
+ >
|
|
|
<el-table
|
|
|
- v-dragSelect="{
|
|
|
- selectClass: ['.row-item'],
|
|
|
- change: dragSelectChange,
|
|
|
- lostItem: dragLostItemChange,
|
|
|
- reSelect: reSelect
|
|
|
- }"
|
|
|
:data="tableData"
|
|
|
width="100%"
|
|
|
height="100%"
|
|
|
ref="table"
|
|
|
- row-key="id"
|
|
|
+ row-key="tableId"
|
|
|
class="exchange_table"
|
|
|
:style="{
|
|
|
'--row-scale': whNum/100,
|
|
@@ -84,7 +84,9 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
<template slot-scope="scope">
|
|
|
- <div class="row-item-box" :style='{display: "flex",flexWrap: "nowrap",justifyContent: item.align}'>
|
|
|
+ <div
|
|
|
+ class="row-item-box"
|
|
|
+ :style='{display: "flex",flexWrap: "nowrap",justifyContent: item.align}'>
|
|
|
<div
|
|
|
:class="['row-item',selectList.includes(item1.styleCss.id) ? 'row-item-select': '']"
|
|
|
v-for="(item1,index1) in scope.row[item.key]"
|
|
@@ -276,7 +278,7 @@
|
|
|
<div class="qu-select-box">
|
|
|
<div class="qu-select-select">
|
|
|
<span>提示:</span>
|
|
|
- <span>鼠标左右键按下拖动可进行多选</span>
|
|
|
+ <span>鼠标左键按下拖动可进行多选</span>
|
|
|
</div>
|
|
|
<div class="qu-select-tool">
|
|
|
<div>
|
|
@@ -324,7 +326,10 @@
|
|
|
|
|
|
</div>
|
|
|
</div>
|
|
|
-
|
|
|
+ <div class="sm-box-tig">
|
|
|
+ <span>座位总数: {{ tableDataAll && tableDataAll.length }}</span>
|
|
|
+ <span style="margin-left: 10px;">可用座位总数: {{ availableSeat }}</span>
|
|
|
+ </div>
|
|
|
<!-- 批量操作 -->
|
|
|
<el-dialog
|
|
|
:title="formDialogVisibleTitle"
|
|
@@ -442,8 +447,7 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import Sortable from "sortablejs";
|
|
|
-import dragSelect from 'ty-drag-select';
|
|
|
+import Sortable from "sortablejs"; // 拖动排序
|
|
|
import { pageList as getSeatTypeList } from '@/api/seatTypeMr/seatTypeMr'
|
|
|
import selectListMixin from "../mixins/selectList"
|
|
|
export default {
|
|
@@ -560,18 +564,18 @@ export default {
|
|
|
},
|
|
|
formAllType: '', // region 区域
|
|
|
/** 编辑区域 结束 */
|
|
|
-
|
|
|
-
|
|
|
+ dragSelectObjTime: null,
|
|
|
+ dragSelectObj: {
|
|
|
+ selectClass: ['.row-item'],
|
|
|
+ change: this.dragSelectChange,
|
|
|
+ lostItem: this.dragLostItemChange,
|
|
|
+ reSelect: this.reSelect,
|
|
|
+ syncData:{switch:false}
|
|
|
+ },
|
|
|
+ availableSeat: 0, // 可用座位总数
|
|
|
};
|
|
|
},
|
|
|
mounted() {
|
|
|
- //this.initData()
|
|
|
- // this.initDataCopy()
|
|
|
- // setTimeout(() => {
|
|
|
- // let tbody = document.getElementsByClassName('exchange_table')[0].getElementsByTagName('tbody');
|
|
|
- // tbody[0] && (tbody[0].className += ' box-table');
|
|
|
- // this.initSortTable();
|
|
|
- // }, 1000)
|
|
|
// 拖拽事件
|
|
|
this.columnDrop()
|
|
|
|
|
@@ -634,6 +638,7 @@ export default {
|
|
|
list.forEach((item,index) => {
|
|
|
listCopy.push({
|
|
|
...item,
|
|
|
+ tableId: this.tableHeader[0].key + "_"+item.rowNo+"_"+item.columnNo,
|
|
|
styleCss: item.styleCss ? {
|
|
|
...JSON.parse(JSON.parse(item.styleCss)),
|
|
|
id: this.tableHeader[0].key + "_"+item.rowNo+"_"+item.columnNo,
|
|
@@ -658,7 +663,7 @@ export default {
|
|
|
let list1 = JSON.parse(JSON.stringify(this.tableData))
|
|
|
for(let i = 0;i<this.rowAll;i++) {
|
|
|
list1[i] = {
|
|
|
- tableId: 'A_'+ i,
|
|
|
+ tableId: 'A_'+ i, // this.tableHeader[0].key + "_"+i+"_"+j
|
|
|
A: []
|
|
|
}
|
|
|
for(let j = 0; j<list.length;j++) {
|
|
@@ -674,14 +679,22 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
// 排序
|
|
|
for(let j = 0; j < list1.length ; j++) {
|
|
|
for(let i = 0;i<this.tableHeader.length;i++) {
|
|
|
list1[j][this.tableHeader[i].key].sort(this.sortFun)
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
+ // 可用座位 计数
|
|
|
+ let availableSeat = 0
|
|
|
+ for(let j = 0; j < list.length ; j++) {
|
|
|
+ if(list[j].status == 1) {
|
|
|
+ availableSeat = availableSeat + 1
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.availableSeat = availableSeat
|
|
|
this.tableData = JSON.parse(JSON.stringify(list1))
|
|
|
console.log("this.tableData===",this.tableData)
|
|
|
this.countRegionW()
|
|
@@ -735,7 +748,7 @@ export default {
|
|
|
color: '#E6E6FA',// 座位类型对应的颜色
|
|
|
//delFlag: 0, // 座位是否可用
|
|
|
priority: '', // 座位出票顺序 数字越小越优先
|
|
|
- status: 2, //0-初始(该状态下不C端显示) 1-可用 2-不可用
|
|
|
+ status: 1, //0-初始(该状态下不C端显示) 1-可用 2-不可用
|
|
|
})
|
|
|
}
|
|
|
}
|
|
@@ -799,7 +812,7 @@ export default {
|
|
|
color: '#E6E6FA',// 座位类型对应的颜色
|
|
|
//delFlag: 0, // 座位是否可用
|
|
|
priority: '', // 座位出票顺序 数字越小越优先
|
|
|
- status: 2, //0-初始(该状态下不C端显示) 1-可用 2-不可用
|
|
|
+ status: 1, //0-初始(该状态下不C端显示) 1-可用 2-不可用
|
|
|
})
|
|
|
}
|
|
|
this.tableDataAll = this.tableDataAll.concat(list)
|
|
@@ -1422,6 +1435,10 @@ export default {
|
|
|
--row-h: 26px;
|
|
|
--row-scale: 1;
|
|
|
}
|
|
|
+
|
|
|
+.sm-box-tig {
|
|
|
+ padding: 10px;
|
|
|
+}
|
|
|
.sm-scroll-box {
|
|
|
width: calc( 100% - var(--left-tool-w) );
|
|
|
height: 100%;
|