|
@@ -3,9 +3,13 @@
|
|
|
<Modal
|
|
<Modal
|
|
|
v-model="showModal"
|
|
v-model="showModal"
|
|
|
title="设置"
|
|
title="设置"
|
|
|
- @on-ok="handleModalOk"
|
|
|
|
|
- @on-cancel="showModalFalse"
|
|
|
|
|
|
|
+ :closable="false"
|
|
|
|
|
+ :mask-closable="false"
|
|
|
>
|
|
>
|
|
|
|
|
+ <div slot="footer">
|
|
|
|
|
+ <Button @click="handleModalOk">保存</Button>
|
|
|
|
|
+ <Button @click="showModalFalse">取消</Button>
|
|
|
|
|
+ </div>
|
|
|
<div class="modal_content">
|
|
<div class="modal_content">
|
|
|
<Tabs
|
|
<Tabs
|
|
|
value="name1"
|
|
value="name1"
|
|
@@ -23,9 +27,32 @@
|
|
|
:columns="formModalColumns"
|
|
:columns="formModalColumns"
|
|
|
border
|
|
border
|
|
|
ref="selection"
|
|
ref="selection"
|
|
|
|
|
+ @on-select-cancel="selectCancel"
|
|
|
@on-selection-change="selectListHeader"
|
|
@on-selection-change="selectListHeader"
|
|
|
:data="tableModalTableDataHeader"
|
|
:data="tableModalTableDataHeader"
|
|
|
- ></Table>
|
|
|
|
|
|
|
+ :draggable="true"
|
|
|
|
|
+ @on-drag-drop="(first, end) => onDragDrop(first, end, 1)"
|
|
|
|
|
+ >
|
|
|
|
|
+ <template slot="sortord" slot-scope="{ row, index }">
|
|
|
|
|
+ <Select
|
|
|
|
|
+ v-model="row.sortord"
|
|
|
|
|
+ @on-change="(e) => clickChange(e, row, index)"
|
|
|
|
|
+ >
|
|
|
|
|
+ <Option
|
|
|
|
|
+ v-for="(item, index) in pointList"
|
|
|
|
|
+ :value="item.value"
|
|
|
|
|
+ :key="index"
|
|
|
|
|
+ >{{ item.label }}</Option
|
|
|
|
|
+ >
|
|
|
|
|
+ </Select>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template slot="title" slot-scope="{ row, index }">
|
|
|
|
|
+ <Input
|
|
|
|
|
+ v-model="row.title"
|
|
|
|
|
+ @on-change="(e) => changeTitle(e, row, index)"
|
|
|
|
|
+ />
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </Table>
|
|
|
</TabPane>
|
|
</TabPane>
|
|
|
<TabPane label="筛选项" name="name2">
|
|
<TabPane label="筛选项" name="name2">
|
|
|
<div style="padding: 15px 0px">
|
|
<div style="padding: 15px 0px">
|
|
@@ -38,8 +65,18 @@
|
|
|
border
|
|
border
|
|
|
ref="selection1"
|
|
ref="selection1"
|
|
|
@on-selection-change="selectList"
|
|
@on-selection-change="selectList"
|
|
|
|
|
+ @on-select-cancel="selectScreenCancel"
|
|
|
:data="tableModalTableData"
|
|
:data="tableModalTableData"
|
|
|
- ></Table>
|
|
|
|
|
|
|
+ :draggable="true"
|
|
|
|
|
+ @on-drag-drop="(first, end) => onDragDrop(first, end, 2)"
|
|
|
|
|
+ >
|
|
|
|
|
+ <template slot="screenTitle" slot-scope="{ row, index }">
|
|
|
|
|
+ <Input
|
|
|
|
|
+ v-model="row.title"
|
|
|
|
|
+ @on-change="(e) => changeScreenTitle(e, row, index)"
|
|
|
|
|
+ />
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </Table>
|
|
|
</TabPane>
|
|
</TabPane>
|
|
|
</Tabs>
|
|
</Tabs>
|
|
|
</div>
|
|
</div>
|
|
@@ -54,6 +91,16 @@ export default {
|
|
|
ifCheckAllHeader: false,
|
|
ifCheckAllHeader: false,
|
|
|
checkedList: [], //筛选项选择的
|
|
checkedList: [], //筛选项选择的
|
|
|
checkedListHeader: [], //表头选择的
|
|
checkedListHeader: [], //表头选择的
|
|
|
|
|
+ pointList: [
|
|
|
|
|
+ {
|
|
|
|
|
+ value: "1",
|
|
|
|
|
+ label: "升序",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ value: "2",
|
|
|
|
|
+ label: "降序",
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
props: {
|
|
props: {
|
|
@@ -78,16 +125,49 @@ export default {
|
|
|
default: false,
|
|
default: false,
|
|
|
},
|
|
},
|
|
|
},
|
|
},
|
|
|
- watch:{
|
|
|
|
|
- showModal(val){
|
|
|
|
|
- this.showModalTrue()
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
methods: {
|
|
methods: {
|
|
|
|
|
+ //拖拽事件
|
|
|
|
|
+ onDragDrop(first, end, type) {
|
|
|
|
|
+ if (type == 1) {
|
|
|
|
|
+ this.tableModalTableDataHeader.splice(
|
|
|
|
|
+ end,
|
|
|
|
|
+ 1,
|
|
|
|
|
+ ...this.tableModalTableDataHeader.splice(
|
|
|
|
|
+ first,
|
|
|
|
|
+ 1,
|
|
|
|
|
+ this.tableModalTableDataHeader[end]
|
|
|
|
|
+ )
|
|
|
|
|
+ );
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.tableModalTableData.splice(
|
|
|
|
|
+ end,
|
|
|
|
|
+ 1,
|
|
|
|
|
+ ...this.tableModalTableData.splice(
|
|
|
|
|
+ first,
|
|
|
|
|
+ 1,
|
|
|
|
|
+ this.tableModalTableData[end]
|
|
|
|
|
+ )
|
|
|
|
|
+ );
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ clickChange(e, row, index) {
|
|
|
|
|
+ this.tableModalTableDataHeader[index].sortord = e;
|
|
|
|
|
+ },
|
|
|
|
|
+ changeTitle(e, row, index) {
|
|
|
|
|
+ this.tableModalTableDataHeader[index].title = row.title;
|
|
|
|
|
+ },
|
|
|
|
|
+ //筛选项点击展示名称
|
|
|
|
|
+ changeScreenTitle(e, row, index) {
|
|
|
|
|
+ this.tableModalTableData[index].title = row.title;
|
|
|
|
|
+ },
|
|
|
//点击确定按钮
|
|
//点击确定按钮
|
|
|
handleModalOk() {
|
|
handleModalOk() {
|
|
|
this.$emit("event1", false);
|
|
this.$emit("event1", false);
|
|
|
- this.$emit("handleModalOk",this.checkedListHeader,this.checkedList)
|
|
|
|
|
|
|
+ this.$emit(
|
|
|
|
|
+ "handleModalOk",
|
|
|
|
|
+ this.tableModalTableDataHeader,
|
|
|
|
|
+ this.tableModalTableData
|
|
|
|
|
+ );
|
|
|
},
|
|
},
|
|
|
//点击取消按钮
|
|
//点击取消按钮
|
|
|
showModalFalse() {
|
|
showModalFalse() {
|
|
@@ -95,10 +175,9 @@ export default {
|
|
|
},
|
|
},
|
|
|
//点击栏目设置
|
|
//点击栏目设置
|
|
|
showModalTrue() {
|
|
showModalTrue() {
|
|
|
- debugger
|
|
|
|
|
- this.checkedListHeader = []
|
|
|
|
|
- this.checkedList = []
|
|
|
|
|
- this.showModal = true;
|
|
|
|
|
|
|
+ this.checkedListHeader = [];
|
|
|
|
|
+ this.checkedList = [];
|
|
|
|
|
+ // this.showModal = true;
|
|
|
this.$refs.selection1.selectAll(false);
|
|
this.$refs.selection1.selectAll(false);
|
|
|
this.$refs.selection.selectAll(false);
|
|
this.$refs.selection.selectAll(false);
|
|
|
let arr = [];
|
|
let arr = [];
|
|
@@ -107,6 +186,8 @@ export default {
|
|
|
e._checked = true;
|
|
e._checked = true;
|
|
|
arr.push(e);
|
|
arr.push(e);
|
|
|
this.tableModalTableData.splice(index, 1, e);
|
|
this.tableModalTableData.splice(index, 1, e);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ e._checked = false;
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
let arrHeader = [];
|
|
let arrHeader = [];
|
|
@@ -115,6 +196,9 @@ export default {
|
|
|
e._checked = true;
|
|
e._checked = true;
|
|
|
arrHeader.push(e);
|
|
arrHeader.push(e);
|
|
|
this.tableModalTableDataHeader.splice(index, 1, e);
|
|
this.tableModalTableDataHeader.splice(index, 1, e);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ e._checked = false;
|
|
|
|
|
+ this.tableModalTableDataHeader.splice(index, 1, e);
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
if (arr.length == this.tableModalTableData.length) {
|
|
if (arr.length == this.tableModalTableData.length) {
|
|
@@ -123,16 +207,16 @@ export default {
|
|
|
if (arrHeader.length == this.tableModalTableDataHeader.length) {
|
|
if (arrHeader.length == this.tableModalTableDataHeader.length) {
|
|
|
this.ifCheckAllHeader = true;
|
|
this.ifCheckAllHeader = true;
|
|
|
}
|
|
}
|
|
|
- this.checkedListHeader = this.tableModalTableDataHeader.filter(f=>{
|
|
|
|
|
- if(f.is_show == true){
|
|
|
|
|
- return f
|
|
|
|
|
|
|
+ this.checkedListHeader = this.tableModalTableDataHeader.filter((f) => {
|
|
|
|
|
+ if (f.is_show == true) {
|
|
|
|
|
+ return f;
|
|
|
}
|
|
}
|
|
|
- })
|
|
|
|
|
- this.checkedList = this.tableModalTableData.filter(f=>{
|
|
|
|
|
- if(f.is_show == true){
|
|
|
|
|
- return f
|
|
|
|
|
|
|
+ });
|
|
|
|
|
+ this.checkedList = this.tableModalTableData.filter((f) => {
|
|
|
|
|
+ if (f.is_show == true) {
|
|
|
|
|
+ return f;
|
|
|
}
|
|
}
|
|
|
- })
|
|
|
|
|
|
|
+ });
|
|
|
},
|
|
},
|
|
|
//筛选全选按钮
|
|
//筛选全选按钮
|
|
|
ifCheckAllClick() {
|
|
ifCheckAllClick() {
|
|
@@ -151,19 +235,24 @@ export default {
|
|
|
this.$nextTick(() => {
|
|
this.$nextTick(() => {
|
|
|
this.ifCheckAll = false;
|
|
this.ifCheckAll = false;
|
|
|
this.$refs.selection1.selectAll(false);
|
|
this.$refs.selection1.selectAll(false);
|
|
|
|
|
+ this.tableModalTableData.forEach((e) => {
|
|
|
|
|
+ e.is_show = false;
|
|
|
|
|
+ e._checked = false;
|
|
|
|
|
+ });
|
|
|
return;
|
|
return;
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
//表头全选按钮
|
|
//表头全选按钮
|
|
|
ifCheckAllClickHeader() {
|
|
ifCheckAllClickHeader() {
|
|
|
|
|
+ debugger;
|
|
|
if (this.checkedListHeader.length > 0 && this.ifCheckAllHeader == true) {
|
|
if (this.checkedListHeader.length > 0 && this.ifCheckAllHeader == true) {
|
|
|
this.$nextTick(() => {
|
|
this.$nextTick(() => {
|
|
|
this.ifCheckAllHeader = true;
|
|
this.ifCheckAllHeader = true;
|
|
|
this.$refs.selection.selectAll(true);
|
|
this.$refs.selection.selectAll(true);
|
|
|
});
|
|
});
|
|
|
} else if (
|
|
} else if (
|
|
|
- this.checkedList.length == 0 &&
|
|
|
|
|
|
|
+ this.checkedListHeader.length == 0 &&
|
|
|
this.ifCheckAllHeader == true
|
|
this.ifCheckAllHeader == true
|
|
|
) {
|
|
) {
|
|
|
this.$nextTick(() => {
|
|
this.$nextTick(() => {
|
|
@@ -175,12 +264,42 @@ export default {
|
|
|
this.$nextTick(() => {
|
|
this.$nextTick(() => {
|
|
|
this.ifCheckAllHeader = false;
|
|
this.ifCheckAllHeader = false;
|
|
|
this.$refs.selection.selectAll(false);
|
|
this.$refs.selection.selectAll(false);
|
|
|
|
|
+ this.tableModalTableDataHeader.forEach((e) => {
|
|
|
|
|
+ e.is_show = false;
|
|
|
|
|
+ e._checked = false;
|
|
|
|
|
+ });
|
|
|
return;
|
|
return;
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
//筛选项选中
|
|
//筛选项选中
|
|
|
selectList(row) {
|
|
selectList(row) {
|
|
|
|
|
+ var result = [];
|
|
|
|
|
+ for (var i = 0; i < this.tableModalTableData.length; i++) {
|
|
|
|
|
+ var obj = this.tableModalTableData[i];
|
|
|
|
|
+ var num = obj.is_show;
|
|
|
|
|
+ var isExist = false;
|
|
|
|
|
+ for (var j = 0; j < row.length; j++) {
|
|
|
|
|
+ var aj = row[j];
|
|
|
|
|
+ var n = aj.is_show;
|
|
|
|
|
+ if (n == num) {
|
|
|
|
|
+ isExist = true;
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!isExist) {
|
|
|
|
|
+ result.push(obj);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ this.tableModalTableData.forEach((el, index) => {
|
|
|
|
|
+ row.forEach((cl) => {
|
|
|
|
|
+ if (el.key == cl.key) {
|
|
|
|
|
+ el.is_show = true;
|
|
|
|
|
+ el._checked = true;
|
|
|
|
|
+ this.tableModalTableData.splice(index, 1, el);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ });
|
|
|
this.checkedList = row;
|
|
this.checkedList = row;
|
|
|
if (row.length == this.tableModalTableData.length) {
|
|
if (row.length == this.tableModalTableData.length) {
|
|
|
this.ifCheckAll = true;
|
|
this.ifCheckAll = true;
|
|
@@ -188,9 +307,51 @@ export default {
|
|
|
this.ifCheckAll = false;
|
|
this.ifCheckAll = false;
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
-
|
|
|
|
|
|
|
+ selectCancel(selection, row) {
|
|
|
|
|
+ this.tableModalTableDataHeader.forEach((e, index) => {
|
|
|
|
|
+ if (e.key == row.key) {
|
|
|
|
|
+ this.tableModalTableDataHeader[index]._checked = false;
|
|
|
|
|
+ this.tableModalTableDataHeader[index].is_show = false;
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ selectScreenCancel(selection, row) {
|
|
|
|
|
+ this.tableModalTableData.forEach((e, index) => {
|
|
|
|
|
+ if (e.key == row.key) {
|
|
|
|
|
+ this.tableModalTableData[index]._checked = false;
|
|
|
|
|
+ this.tableModalTableData[index].is_show = false;
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
//表头选中
|
|
//表头选中
|
|
|
selectListHeader(row) {
|
|
selectListHeader(row) {
|
|
|
|
|
+ var result = [];
|
|
|
|
|
+ for (var i = 0; i < this.tableModalTableDataHeader.length; i++) {
|
|
|
|
|
+ var obj = this.tableModalTableDataHeader[i];
|
|
|
|
|
+ var num = obj.is_show;
|
|
|
|
|
+ var isExist = false;
|
|
|
|
|
+ for (var j = 0; j < row.length; j++) {
|
|
|
|
|
+ var aj = row[j];
|
|
|
|
|
+ var n = aj.is_show;
|
|
|
|
|
+ if (n == num) {
|
|
|
|
|
+ isExist = true;
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!isExist) {
|
|
|
|
|
+ result.push(obj);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ this.tableModalTableDataHeader.forEach((el, index) => {
|
|
|
|
|
+ row.forEach((cl) => {
|
|
|
|
|
+ if (el.key == cl.key) {
|
|
|
|
|
+ el.is_show = true;
|
|
|
|
|
+ el._checked = true;
|
|
|
|
|
+ this.tableModalTableDataHeader.splice(index, 1, el);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ });
|
|
|
|
|
+ this.$emit("selectAll", row);
|
|
|
this.checkedListHeader = row;
|
|
this.checkedListHeader = row;
|
|
|
if (row.length == this.tableModalTableDataHeader.length) {
|
|
if (row.length == this.tableModalTableDataHeader.length) {
|
|
|
this.ifCheckAllHeader = true;
|
|
this.ifCheckAllHeader = true;
|