doway-coms 1.6.71 → 1.6.73
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/chunk-vendors.7f83d8f9.css +8 -0
- package/dist/css/index.86478f73.css +3 -0
- package/dist/favicon.ico +0 -0
- package/dist/js/chunk-vendors.307eaa8f.js +347 -0
- package/dist/js/index.48e7f7ac.js +2 -0
- package/package.json +2 -1
- package/packages/BaseGrid/src/SeqSetting.vue +262 -0
- package/packages/BaseGrid/src/index.vue +416 -42
- package/packages/styles/icon/drag.svg +1 -0
- package/packages/styles/icon/seqConfig.svg +1 -0
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div :style="{ height: height + 'px' }">
|
|
2
|
+
<div :style="{ height: height - 40 + 'px' }">
|
|
3
|
+
<div class="head-tag" v-if="tagData.length">
|
|
4
|
+
<a-tag closable v-for="item in tagData" :key="item.column.field" @close="tagClosable(item.column)">
|
|
5
|
+
<span>{{ tagContent(item) }} </span>
|
|
6
|
+
</a-tag>
|
|
7
|
+
<span style="color:#006cd9;cursor:pointer;font-size: 14px;" @click="clearFilter">清空</span>
|
|
8
|
+
</div>
|
|
3
9
|
<VxeGrid
|
|
4
10
|
ref="baseGrid"
|
|
5
11
|
border
|
|
@@ -74,26 +80,53 @@
|
|
|
74
80
|
<Tooltip :title="item.tooltip" v-if="item.tooltip && item.visible !== false" style="margin: 0 2px">
|
|
75
81
|
<img src="../../styles/icon/help.png" alt="" style="width: 14px">
|
|
76
82
|
</Tooltip>
|
|
77
|
-
<!-- {{item}}-->
|
|
78
83
|
</div>
|
|
79
84
|
</template>
|
|
80
|
-
<!-- <template #toolbar_buttons>-->
|
|
81
|
-
<!-- <div>-->
|
|
82
|
-
<!-- <span v-for="loopFilterStr in filterStr" :key="loopFilterStr.field">-->
|
|
83
|
-
<!-- {{ loopFilterStr.title }} {{ loopFilterStr.exp }} 并且</span-->
|
|
84
|
-
<!-- >-->
|
|
85
|
-
<!-- </div>-->
|
|
86
|
-
<!-- </template>-->
|
|
87
85
|
<template #seqHeader>
|
|
88
|
-
<div
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
86
|
+
<div>
|
|
87
|
+
<!-- 单纯排序、显示控制 -->
|
|
88
|
+
<a-popover
|
|
89
|
+
v-if="isSeqPopover"
|
|
90
|
+
trigger="click"
|
|
91
|
+
placement="rightTop"
|
|
92
|
+
overlayClassName='popover-content-card'
|
|
93
|
+
>
|
|
94
|
+
<template slot="title">
|
|
95
|
+
<div style="font-size: 17px;">表头设置</div>
|
|
96
|
+
</template>
|
|
97
|
+
<template slot="content" style="padding: 0">
|
|
98
|
+
<SeqSetting
|
|
99
|
+
:moduleCode="moduleCode"
|
|
100
|
+
:dataCode="dataCode"
|
|
101
|
+
:height="height"
|
|
102
|
+
:userDefineColumns="userDefineColumns"
|
|
103
|
+
ref="baseAdjustGridView"
|
|
104
|
+
/>
|
|
105
|
+
</template>
|
|
106
|
+
<div @click="clickHeader" v-if="moduleCode && dataCode" >
|
|
107
|
+
<Tooltip placement="topLeft">
|
|
108
|
+
<template slot="title">
|
|
109
|
+
表头设置
|
|
110
|
+
</template>
|
|
111
|
+
<img
|
|
112
|
+
src="../../styles/icon/seqConfig.svg"
|
|
113
|
+
alt=""
|
|
114
|
+
style="width: 20px;position: relative;right: 1px;"
|
|
115
|
+
>
|
|
116
|
+
</Tooltip>
|
|
117
|
+
</div>
|
|
118
|
+
</a-popover>
|
|
119
|
+
<!-- 弹窗形式自定义列表格 -->
|
|
120
|
+
<div
|
|
121
|
+
@click="clickHeader"
|
|
122
|
+
v-if="moduleCode && dataCode && !isSeqPopover"
|
|
123
|
+
style="color: #219bff"
|
|
124
|
+
>
|
|
125
|
+
<a-icon
|
|
126
|
+
type="ordered-list"
|
|
127
|
+
style="font-size: 25px; cursor: pointer"
|
|
128
|
+
/>
|
|
129
|
+
</div>
|
|
97
130
|
</div>
|
|
98
131
|
</template>
|
|
99
132
|
<template #empty>
|
|
@@ -312,6 +345,7 @@
|
|
|
312
345
|
>
|
|
313
346
|
<a-input allowClear v-model="loopFilterValue.value[0]" @keyup.enter.native="filterConfirm(scope.column)" />
|
|
314
347
|
</div>
|
|
348
|
+
<a-button @click="saveFilterTable(scope.column)">默认筛选</a-button>
|
|
315
349
|
<a-button @click="filterAddExp(scope.column)">添加条件</a-button>
|
|
316
350
|
<a-button @click="filterConfirm(scope.column)">确认</a-button>
|
|
317
351
|
</div>
|
|
@@ -326,6 +360,7 @@
|
|
|
326
360
|
>
|
|
327
361
|
<a-input allowClear v-model="loopFilterValue.value[0]" @keyup.enter.native="filterConfirm(scope.column)" />
|
|
328
362
|
</div>
|
|
363
|
+
<a-button @click="saveFilterTable(scope.column)">默认筛选</a-button>
|
|
329
364
|
<a-button @click="filterAddExp(scope.column)">添加条件</a-button>
|
|
330
365
|
<a-button @click="filterConfirm(scope.column)">确认</a-button>
|
|
331
366
|
</div>
|
|
@@ -388,6 +423,7 @@
|
|
|
388
423
|
</div>
|
|
389
424
|
</a-checkbox-group>
|
|
390
425
|
<br>
|
|
426
|
+
<a-button @click="saveFilterTable(scope.column)">默认筛选</a-button>
|
|
391
427
|
<a-button @click="filterConfirm(scope.column)">确认</a-button>
|
|
392
428
|
</div>
|
|
393
429
|
</template>
|
|
@@ -409,6 +445,7 @@
|
|
|
409
445
|
</div>
|
|
410
446
|
</a-checkbox-group>
|
|
411
447
|
<br>
|
|
448
|
+
<a-button @click="saveFilterTable(scope.column)">默认筛选</a-button>
|
|
412
449
|
<a-button @click="filterConfirm(scope.column)">确认</a-button>
|
|
413
450
|
</div>
|
|
414
451
|
</template>
|
|
@@ -447,6 +484,7 @@
|
|
|
447
484
|
@keyup.enter.native="filterConfirm(scope.column)"
|
|
448
485
|
/>
|
|
449
486
|
</div>
|
|
487
|
+
<a-button @click="saveFilterTable(scope.column)">默认筛选</a-button>
|
|
450
488
|
<a-button @click="filterAddExp(scope.column)">添加条件</a-button>
|
|
451
489
|
<a-button @click="filterConfirm(scope.column)">确认</a-button>
|
|
452
490
|
</div>
|
|
@@ -459,13 +497,13 @@
|
|
|
459
497
|
.displayValues"
|
|
460
498
|
:key="$index"
|
|
461
499
|
>
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
/>
|
|
500
|
+
<a-range-picker v-model:value="loopFilterValue.value"
|
|
501
|
+
valueFormat="YYYY-MM-DD"
|
|
502
|
+
format="YYYY-MM-DD"
|
|
503
|
+
@keyup.enter.native="filterConfirm(scope.column)"
|
|
504
|
+
/>
|
|
468
505
|
</div>
|
|
506
|
+
<a-button @click="saveFilterTable(scope.column)">默认筛选</a-button>
|
|
469
507
|
<a-button @click="filterAddExp(scope.column)">添加条件</a-button>
|
|
470
508
|
<a-button @click="filterConfirm(scope.column)">确认</a-button>
|
|
471
509
|
</div>
|
|
@@ -527,16 +565,23 @@ import {
|
|
|
527
565
|
InputNumber,
|
|
528
566
|
TimePicker,
|
|
529
567
|
Button,
|
|
568
|
+
Icon,
|
|
569
|
+
Popover,
|
|
570
|
+
Tag,
|
|
530
571
|
} from "ant-design-vue";
|
|
531
572
|
import BasePagination from "../../BasePagination/index";
|
|
532
573
|
import BasePulldown from "../../BasePulldown/index";
|
|
533
574
|
import BaseGridAdjust from "../../BaseGridAdjust/index";
|
|
534
575
|
import { saveUserModuleDataFieldApi } from "../../utils/api";
|
|
535
576
|
import { gridDefaultValueDisplay } from "../../utils/filters";
|
|
577
|
+
import SeqSetting from "./SeqSetting";
|
|
536
578
|
export default {
|
|
537
579
|
name: "BaseGrid",
|
|
538
580
|
components: {
|
|
581
|
+
"a-tag": Tag,
|
|
582
|
+
"a-popover": Popover,
|
|
539
583
|
"a-empty": Empty,
|
|
584
|
+
"a-icon": Icon,
|
|
540
585
|
"a-row": Row,
|
|
541
586
|
"a-col": Col,
|
|
542
587
|
"a-space": Space,
|
|
@@ -552,6 +597,7 @@ export default {
|
|
|
552
597
|
BasePagination,
|
|
553
598
|
BasePulldown,
|
|
554
599
|
BaseGridAdjust,
|
|
600
|
+
SeqSetting,
|
|
555
601
|
Tooltip,
|
|
556
602
|
},
|
|
557
603
|
data() {
|
|
@@ -632,7 +678,11 @@ export default {
|
|
|
632
678
|
},
|
|
633
679
|
filterExpression: [],
|
|
634
680
|
filterStr: [],
|
|
635
|
-
|
|
681
|
+
// 表格上方显示全部筛选条件
|
|
682
|
+
tagData: [],
|
|
683
|
+
// 默认筛选条件-存储初始字段参数
|
|
684
|
+
defaultPostData: {},
|
|
685
|
+
}
|
|
636
686
|
},
|
|
637
687
|
computed: {
|
|
638
688
|
//使用对象展开运算符 将 getter 混入 computer 对象中
|
|
@@ -689,6 +739,10 @@ export default {
|
|
|
689
739
|
},
|
|
690
740
|
},
|
|
691
741
|
props: {
|
|
742
|
+
isSeqPopover: {
|
|
743
|
+
type: Boolean,
|
|
744
|
+
default: true,
|
|
745
|
+
},
|
|
692
746
|
showOverFlow: {
|
|
693
747
|
type: Boolean,
|
|
694
748
|
default: true,
|
|
@@ -947,8 +1001,64 @@ export default {
|
|
|
947
1001
|
}
|
|
948
1002
|
this.gridEdit = this.edit;
|
|
949
1003
|
},
|
|
950
|
-
mounted() {
|
|
1004
|
+
mounted() {
|
|
1005
|
+
// 头部筛选条件标签数据
|
|
1006
|
+
this.tagData = JSON.parse(JSON.stringify(this.$refs.baseGrid.getCheckedFilters()))
|
|
1007
|
+
// 默认筛选数据
|
|
1008
|
+
this.defaultPostData = {
|
|
1009
|
+
moduleCode: this.moduleCode,
|
|
1010
|
+
dataCode: this.dataCode,
|
|
1011
|
+
fields: [],
|
|
1012
|
+
}
|
|
1013
|
+
let defaultColumns =
|
|
1014
|
+
this.$refs.baseGrid.getTableColumn().collectColumn
|
|
1015
|
+
.filter(x => (x.field !== "operation") && (x.field !== undefined))
|
|
1016
|
+
defaultColumns.forEach((item, index) => {
|
|
1017
|
+
let tempData = {
|
|
1018
|
+
field: item.field,
|
|
1019
|
+
sort: index + 1,
|
|
1020
|
+
hidden: !item.visible,
|
|
1021
|
+
width: item.width,
|
|
1022
|
+
extraInfo:{}
|
|
1023
|
+
}
|
|
1024
|
+
if (item.filters && item.filters[0].data.bindingValues.length) {
|
|
1025
|
+
item.filters[0].checked = true;
|
|
1026
|
+
tempData.extraInfo.filterExpression = item.filters
|
|
1027
|
+
}
|
|
1028
|
+
if (item.order) {
|
|
1029
|
+
tempData.extraInfo.order = item.order
|
|
1030
|
+
}
|
|
1031
|
+
this.defaultPostData.fields.push(JSON.parse(JSON.stringify(tempData)))
|
|
1032
|
+
})
|
|
1033
|
+
},
|
|
951
1034
|
methods: {
|
|
1035
|
+
// 取消当前字段筛选
|
|
1036
|
+
tagClosable(colInfo) {
|
|
1037
|
+
colInfo.filters[0].data.bindingValues = [];
|
|
1038
|
+
colInfo.filters[0].data.displayValues = [];
|
|
1039
|
+
colInfo.filters[0].checked =
|
|
1040
|
+
colInfo.filters[0].data.bindingValues.length > 0;
|
|
1041
|
+
// 关联更改表格字段筛选,因为setFilterExpression获取当前表格列表数据
|
|
1042
|
+
this.$refs.baseGrid.getCheckedFilters().forEach(x=>{
|
|
1043
|
+
if (x.column.field == colInfo.field && x.column.title == colInfo.title) {
|
|
1044
|
+
x.column.filters[0].data.bindingValues = [];
|
|
1045
|
+
x.column.filters[0].data.displayValues = [];
|
|
1046
|
+
x.column.filters[0].checked =
|
|
1047
|
+
x.column.filters[0].data.bindingValues.length > 0;
|
|
1048
|
+
}
|
|
1049
|
+
})
|
|
1050
|
+
if (this.filterRemote) {
|
|
1051
|
+
//设置筛选过滤条件
|
|
1052
|
+
this.setFilterExpression();
|
|
1053
|
+
//通知外部筛选改变事件
|
|
1054
|
+
this.$emit("filterChange", { filterCol: colInfo });
|
|
1055
|
+
} else {
|
|
1056
|
+
// 手动触发重新筛选filterMethod()方法
|
|
1057
|
+
this.$refs.baseGrid.updateData()
|
|
1058
|
+
}
|
|
1059
|
+
// 初始标签
|
|
1060
|
+
this.tagData = JSON.parse(JSON.stringify(this.$refs.baseGrid.getCheckedFilters()))
|
|
1061
|
+
},
|
|
952
1062
|
exportDataEvent () {
|
|
953
1063
|
this.$refs.baseGrid.exportData({ type: 'csv' })
|
|
954
1064
|
},
|
|
@@ -1205,6 +1315,8 @@ export default {
|
|
|
1205
1315
|
});
|
|
1206
1316
|
// this.$refs.baseGrid.clearFilter();
|
|
1207
1317
|
XEUtils.clear(this.filterExpression)
|
|
1318
|
+
// 初始标签
|
|
1319
|
+
this.tagData = JSON.parse(JSON.stringify(this.$refs.baseGrid.getCheckedFilters()))
|
|
1208
1320
|
vm.$emit("filterChange");
|
|
1209
1321
|
break;
|
|
1210
1322
|
case "desc":
|
|
@@ -1736,17 +1848,45 @@ export default {
|
|
|
1736
1848
|
})
|
|
1737
1849
|
this.$emit("sortChange", data);
|
|
1738
1850
|
|
|
1739
|
-
|
|
1851
|
+
//清空store缓存
|
|
1740
1852
|
vm.$store.commit(
|
|
1741
1853
|
"SET_MODULE_VIEW_INFO",{
|
|
1742
1854
|
moduleCode:this.moduleCode,
|
|
1743
1855
|
info:res.content
|
|
1744
1856
|
}
|
|
1745
1857
|
);
|
|
1858
|
+
// 初始标签
|
|
1859
|
+
this.tagData = JSON.parse(JSON.stringify(this.$refs.baseGrid.getCheckedFilters()))
|
|
1746
1860
|
vm.showGridColumnUserDefine = false;
|
|
1747
1861
|
})
|
|
1748
1862
|
.catch((err) => console.error(err));
|
|
1749
1863
|
},
|
|
1864
|
+
// 确认保存自定义表格信息,更新表格
|
|
1865
|
+
saveSeqConfig(emitColumns, resData) {
|
|
1866
|
+
// 获取表格字段数据
|
|
1867
|
+
let tableCollectColumn = this.$refs.baseGrid.getTableColumn().collectColumn;
|
|
1868
|
+
// 表格排序信息更新
|
|
1869
|
+
XEUtils.arrayEach(tableCollectColumn, (loopCol) => {
|
|
1870
|
+
const find = XEUtils.find(emitColumns, item => loopCol.field === item.field)
|
|
1871
|
+
if (find) {
|
|
1872
|
+
loopCol.sort = find.sort
|
|
1873
|
+
}
|
|
1874
|
+
})
|
|
1875
|
+
//设置表格顺序
|
|
1876
|
+
tableCollectColumn = XEUtils.orderBy(
|
|
1877
|
+
tableCollectColumn,
|
|
1878
|
+
(p) => p.params.sort
|
|
1879
|
+
);
|
|
1880
|
+
// 更新表格
|
|
1881
|
+
vm.$refs.baseGrid.reloadColumn(tableCollectColumn);
|
|
1882
|
+
//清空store缓存
|
|
1883
|
+
vm.$store.commit(
|
|
1884
|
+
"SET_MODULE_VIEW_INFO",{
|
|
1885
|
+
moduleCode:this.moduleCode,
|
|
1886
|
+
info: resData
|
|
1887
|
+
}
|
|
1888
|
+
);
|
|
1889
|
+
},
|
|
1750
1890
|
setCustomGridParentSort(tableCollectColumn, parentId, sort) {
|
|
1751
1891
|
let tempParentCol = XEUtils.findTree(
|
|
1752
1892
|
tableCollectColumn,
|
|
@@ -1782,11 +1922,15 @@ export default {
|
|
|
1782
1922
|
let tableCollectColumn = XEUtils.toTreeArray(
|
|
1783
1923
|
this.$refs.baseGrid.getTableColumn().collectColumn
|
|
1784
1924
|
);
|
|
1785
|
-
this.
|
|
1786
|
-
tableCollectColumn
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1925
|
+
if (this.isSeqPopover) {
|
|
1926
|
+
this.userDefineColumns = tableCollectColumn
|
|
1927
|
+
} else {
|
|
1928
|
+
this.userDefineColumns = XEUtils.filter(
|
|
1929
|
+
tableCollectColumn,
|
|
1930
|
+
(p) => !p.children && p.params.disableUserVisible !== true && p.params.sysVisible===true && p.field !== 'operation'
|
|
1931
|
+
);
|
|
1932
|
+
this.showGridColumnUserDefine = true;
|
|
1933
|
+
}
|
|
1790
1934
|
},
|
|
1791
1935
|
operationButtonClick(btn, scope) {
|
|
1792
1936
|
if (btn.edit === false) {
|
|
@@ -2172,6 +2316,8 @@ export default {
|
|
|
2172
2316
|
}
|
|
2173
2317
|
},
|
|
2174
2318
|
resizableChange(scope) {
|
|
2319
|
+
// 配置后渲染表格
|
|
2320
|
+
this.saveTableHeight()
|
|
2175
2321
|
this.$emit("resizableChange", scope);
|
|
2176
2322
|
},
|
|
2177
2323
|
setVisiable(fields, visible) {
|
|
@@ -2369,13 +2515,31 @@ export default {
|
|
|
2369
2515
|
},
|
|
2370
2516
|
//清空筛选
|
|
2371
2517
|
clearFilter() {
|
|
2372
|
-
let vm = this
|
|
2373
|
-
// 示例
|
|
2518
|
+
let vm = this
|
|
2374
2519
|
const filterList = vm.$refs.baseGrid.getCheckedFilters();
|
|
2375
2520
|
filterList.forEach((col) => {
|
|
2376
|
-
col.column
|
|
2521
|
+
vm.$refs.baseGrid.clearFilter(col.column);
|
|
2522
|
+
vm.internalColumns.forEach(column => {
|
|
2523
|
+
if(column.field==col.property){
|
|
2524
|
+
this.$set(column.filters[0].data,'displayValues',[])
|
|
2525
|
+
this.$set(column.filters[0].data,'bindingValues',[])
|
|
2526
|
+
}
|
|
2527
|
+
});
|
|
2528
|
+
//这个col和 internalColumn之间没有绑定上
|
|
2529
|
+
col.column.filters = [
|
|
2530
|
+
{
|
|
2531
|
+
data: {
|
|
2532
|
+
bindingValues: [],
|
|
2533
|
+
displayValues: [],
|
|
2534
|
+
displayValueSearchText:''
|
|
2535
|
+
}
|
|
2536
|
+
}
|
|
2537
|
+
]
|
|
2377
2538
|
});
|
|
2378
|
-
vm
|
|
2539
|
+
XEUtils.clear(vm.filterExpression)
|
|
2540
|
+
// 初始标签
|
|
2541
|
+
this.tagData = JSON.parse(JSON.stringify(this.$refs.baseGrid.getCheckedFilters()))
|
|
2542
|
+
vm.$emit("filterChange");
|
|
2379
2543
|
},
|
|
2380
2544
|
filterAddExp(colInfo) {
|
|
2381
2545
|
colInfo.filters[0].data.displayValues.push({
|
|
@@ -2383,7 +2547,7 @@ export default {
|
|
|
2383
2547
|
});
|
|
2384
2548
|
},
|
|
2385
2549
|
filterConfirm(colInfo) {
|
|
2386
|
-
let col= this.internalColumns.find(x=>x.field==colInfo.property)
|
|
2550
|
+
let col = this.internalColumns.find(x=>x.field==colInfo.property)
|
|
2387
2551
|
this.$set(col.filters[0].data,'bindingValues',[])
|
|
2388
2552
|
colInfo.filters[0].data.bindingValues = [];
|
|
2389
2553
|
XEUtils.arrayEach(colInfo.filters[0].data.displayValues, (item) => {
|
|
@@ -2396,7 +2560,7 @@ export default {
|
|
|
2396
2560
|
this.$set(col.filters[0].data,'bindingValues',colInfo.filters[0].data.bindingValues)
|
|
2397
2561
|
}
|
|
2398
2562
|
}
|
|
2399
|
-
})
|
|
2563
|
+
})
|
|
2400
2564
|
colInfo.filters[0].checked =
|
|
2401
2565
|
colInfo.filters[0].data.bindingValues.length > 0;
|
|
2402
2566
|
if (this.filterRemote) {
|
|
@@ -2408,6 +2572,8 @@ export default {
|
|
|
2408
2572
|
// 手动触发重新筛选filterMethod()方法
|
|
2409
2573
|
this.$refs.baseGrid.updateData()
|
|
2410
2574
|
}
|
|
2575
|
+
// 初始标签
|
|
2576
|
+
this.tagData = JSON.parse(JSON.stringify(this.$refs.baseGrid.getCheckedFilters()))
|
|
2411
2577
|
this.$refs.baseGrid.closeFilter()
|
|
2412
2578
|
},
|
|
2413
2579
|
filterMethod({ options, values, cellValue, row, column }) {
|
|
@@ -2605,12 +2771,175 @@ export default {
|
|
|
2605
2771
|
returnValue = scope.column.params.min
|
|
2606
2772
|
}
|
|
2607
2773
|
return returnValue
|
|
2608
|
-
}
|
|
2774
|
+
},
|
|
2775
|
+
// 保存自定义列宽度修改
|
|
2776
|
+
saveTableHeight() {
|
|
2777
|
+
let vm = this
|
|
2778
|
+
// 去除操作列和序号、多选框列
|
|
2779
|
+
let showColumns = vm.$refs.baseGrid.getTableColumn().collectColumn
|
|
2780
|
+
.filter(x=>
|
|
2781
|
+
(x.field !== "operation") &&
|
|
2782
|
+
(x.field !== undefined) &&
|
|
2783
|
+
x.visible
|
|
2784
|
+
)
|
|
2785
|
+
let notShowColumns = vm.$refs.baseGrid.getTableColumn().collectColumn
|
|
2786
|
+
.filter(x=>
|
|
2787
|
+
(x.field !== "operation") &&
|
|
2788
|
+
(x.field !== undefined) &&
|
|
2789
|
+
!x.visible
|
|
2790
|
+
)
|
|
2791
|
+
let resizeColumns = []
|
|
2792
|
+
resizeColumns.push(...showColumns, ...notShowColumns)
|
|
2793
|
+
// 保存参数
|
|
2794
|
+
let postData = {
|
|
2795
|
+
moduleCode: vm.moduleCode,
|
|
2796
|
+
dataCode: vm.dataCode,
|
|
2797
|
+
fields: [],
|
|
2798
|
+
}
|
|
2799
|
+
resizeColumns.forEach((item, index)=> {
|
|
2800
|
+
let tempData = {
|
|
2801
|
+
field: item.field,
|
|
2802
|
+
sort: index + 1,
|
|
2803
|
+
hidden: !item.visible,
|
|
2804
|
+
width: item.resizeWidth,
|
|
2805
|
+
extraInfo:{}
|
|
2806
|
+
}
|
|
2807
|
+
if (item.filters && item.filters[0].data.bindingValues.length) {
|
|
2808
|
+
item.filters[0].checked = true;
|
|
2809
|
+
tempData.extraInfo.filterExpression = item.filters
|
|
2810
|
+
}
|
|
2811
|
+
if (item.order) {
|
|
2812
|
+
tempData.extraInfo.order = item.order
|
|
2813
|
+
}
|
|
2814
|
+
postData.fields.push(tempData)
|
|
2815
|
+
})
|
|
2816
|
+
saveUserModuleDataFieldApi(postData)
|
|
2817
|
+
.then(res => {})
|
|
2818
|
+
.catch((err) => {
|
|
2819
|
+
console.debug(err)
|
|
2820
|
+
})
|
|
2821
|
+
},
|
|
2822
|
+
// 头部筛选条件展示内容
|
|
2823
|
+
tagContent(info) {
|
|
2824
|
+
let displayValues = info.column.filters[0].data.displayValues
|
|
2825
|
+
// 筛选条件重组数组
|
|
2826
|
+
let curretnArr = []
|
|
2827
|
+
if(info.column.params.controlType === controlType.number) {
|
|
2828
|
+
// 数字范围选择
|
|
2829
|
+
// 去除空值
|
|
2830
|
+
displayValues = displayValues.filter(f=>f.value[0])
|
|
2831
|
+
displayValues.forEach(x=> {
|
|
2832
|
+
let tempNumber = []
|
|
2833
|
+
tempNumber.push(x.value[0]),
|
|
2834
|
+
tempNumber.push(x.value[1])
|
|
2835
|
+
curretnArr.push(tempNumber.join('~'))
|
|
2836
|
+
})
|
|
2837
|
+
} else if(
|
|
2838
|
+
info.column.params.controlType === controlType.date ||
|
|
2839
|
+
info.column.params.controlType === controlType.datetime ||
|
|
2840
|
+
info.column.params.controlType === controlType.time
|
|
2841
|
+
) {
|
|
2842
|
+
// 日期范围选择
|
|
2843
|
+
// 去除空值
|
|
2844
|
+
displayValues = displayValues.filter(f=>f.value[0])
|
|
2845
|
+
displayValues.forEach(x=> {
|
|
2846
|
+
let tempDate = []
|
|
2847
|
+
tempDate.push(x.value[0]),
|
|
2848
|
+
tempDate.push(x.value[1])
|
|
2849
|
+
curretnArr.push(tempDate.join('~'))
|
|
2850
|
+
})
|
|
2851
|
+
} else if (info.column.params.controlType === controlType.select) {
|
|
2852
|
+
// 下拉
|
|
2853
|
+
displayValues.forEach(x=> {
|
|
2854
|
+
let findValue = info.column.params.dataSource.find(f=>f.value == x)
|
|
2855
|
+
curretnArr.push(findValue?findValue.caption : x)
|
|
2856
|
+
})
|
|
2857
|
+
} else if (info.column.params.controlType === controlType.checkbox) {
|
|
2858
|
+
// 单选
|
|
2859
|
+
displayValues.forEach(x=> curretnArr.push(x?'是':'否'))
|
|
2860
|
+
} else {
|
|
2861
|
+
// 其余字符串
|
|
2862
|
+
// 去除空值
|
|
2863
|
+
displayValues = displayValues.filter(f=>f.value[0])
|
|
2864
|
+
displayValues.forEach(display=> {
|
|
2865
|
+
curretnArr.push(display.value[0])
|
|
2866
|
+
})
|
|
2867
|
+
}
|
|
2868
|
+
let returnField = null
|
|
2869
|
+
// 字段
|
|
2870
|
+
let title = info.column.title
|
|
2871
|
+
// 筛选值数组拼接为字符串
|
|
2872
|
+
let curretnValue = '"' + curretnArr.join(' , ') + '"'
|
|
2873
|
+
// 三项内容拼接-字段名、筛选条件(组件暂时只有包含)、字段编码
|
|
2874
|
+
returnField = title + ' ' + '包含' + ' ' + curretnValue
|
|
2875
|
+
return returnField
|
|
2876
|
+
},
|
|
2877
|
+
// 保存默认筛选条件
|
|
2878
|
+
saveFilterTable(colInfo) {
|
|
2879
|
+
colInfo.filters[0].data.bindingValues = [];
|
|
2880
|
+
XEUtils.arrayEach(colInfo.filters[0].data.displayValues, (item) => {
|
|
2881
|
+
if (colInfo.params.controlType === controlType.select) {
|
|
2882
|
+
colInfo.filters[0].data.bindingValues.push(item);
|
|
2883
|
+
} else {
|
|
2884
|
+
if (item.value[0] || item.value[1]) {
|
|
2885
|
+
colInfo.filters[0].data.bindingValues.push(item);
|
|
2886
|
+
}
|
|
2887
|
+
}
|
|
2888
|
+
})
|
|
2889
|
+
colInfo.filters[0].checked =
|
|
2890
|
+
colInfo.filters[0].data.bindingValues.length > 0;
|
|
2891
|
+
let postData = JSON.parse(JSON.stringify(this.defaultPostData))
|
|
2892
|
+
postData.fields.forEach(item => {
|
|
2893
|
+
if (item.field == colInfo.field) {
|
|
2894
|
+
item.extraInfo = {}
|
|
2895
|
+
if (colInfo.filters && colInfo.filters[0].data.bindingValues.length) {
|
|
2896
|
+
item.extraInfo.filterExpression = colInfo.filters
|
|
2897
|
+
}
|
|
2898
|
+
if (colInfo.order) {
|
|
2899
|
+
item.extraInfo.order = colInfo.order
|
|
2900
|
+
}
|
|
2901
|
+
}
|
|
2902
|
+
})
|
|
2903
|
+
let tableCollectColumn = this.$refs.baseGrid.getTableColumn().collectColumn;
|
|
2904
|
+
saveUserModuleDataFieldApi(postData)
|
|
2905
|
+
.then(res => {
|
|
2906
|
+
// 更新默认参数
|
|
2907
|
+
this.defaultPostData = postData
|
|
2908
|
+
console.debug('2',this.defaultPostData);
|
|
2909
|
+
this.$refs.baseGrid.closeFilter();
|
|
2910
|
+
// 初始标签
|
|
2911
|
+
this.tagData = JSON.parse(JSON.stringify(this.$refs.baseGrid.getCheckedFilters()))
|
|
2912
|
+
// 设置表格顺序
|
|
2913
|
+
tableCollectColumn = XEUtils.orderBy(
|
|
2914
|
+
tableCollectColumn,
|
|
2915
|
+
(p) => p.params.tempCustomSort
|
|
2916
|
+
);
|
|
2917
|
+
//设置筛选过滤条件
|
|
2918
|
+
this.setFilterExpression();
|
|
2919
|
+
let data = []
|
|
2920
|
+
this.$refs.baseGrid.getSortColumns().forEach(x=> {
|
|
2921
|
+
data.push([x.field,x.order])
|
|
2922
|
+
})
|
|
2923
|
+
this.$emit("sortChange", data);
|
|
2924
|
+
//清空store缓存
|
|
2925
|
+
this.$store.commit(
|
|
2926
|
+
"SET_MODULE_VIEW_INFO",{
|
|
2927
|
+
moduleCode:this.moduleCode,
|
|
2928
|
+
info:res.content
|
|
2929
|
+
}
|
|
2930
|
+
);
|
|
2931
|
+
})
|
|
2932
|
+
.catch((err) => {
|
|
2933
|
+
console.debug(err)
|
|
2934
|
+
})
|
|
2935
|
+
.finally(() => {
|
|
2936
|
+
})
|
|
2937
|
+
},
|
|
2609
2938
|
},
|
|
2610
2939
|
};
|
|
2611
2940
|
</script>
|
|
2612
2941
|
|
|
2613
|
-
|
|
2942
|
+
<style>
|
|
2614
2943
|
.base-grid-view .ant-btn-link {
|
|
2615
2944
|
padding: 0 6px;
|
|
2616
2945
|
}
|
|
@@ -2647,8 +2976,15 @@ export default {
|
|
|
2647
2976
|
.vxe-icon--caret-bottom:hover {
|
|
2648
2977
|
color: #409eff;
|
|
2649
2978
|
}
|
|
2979
|
+
.popover-content-card .ant-popover-inner {
|
|
2980
|
+
padding-left: 12px;
|
|
2981
|
+
}
|
|
2982
|
+
.popover-content-card .ant-popover-inner-content {
|
|
2983
|
+
padding: 0px;
|
|
2984
|
+
border:none;
|
|
2985
|
+
}
|
|
2650
2986
|
</style>
|
|
2651
|
-
|
|
2987
|
+
<style lang="scss" scoped>
|
|
2652
2988
|
.base-grid-view .vxe-header--row .vxe-header--column.sortable-ghost,
|
|
2653
2989
|
.base-grid-view .vxe-header--row .vxe-header--column.sortable-chosen {
|
|
2654
2990
|
background-color: #dfecfb;
|
|
@@ -2737,4 +3073,42 @@ export default {
|
|
|
2737
3073
|
margin: 0 5px;
|
|
2738
3074
|
}
|
|
2739
3075
|
}
|
|
2740
|
-
|
|
3076
|
+
.grid-setting {
|
|
3077
|
+
font-size: 25px;
|
|
3078
|
+
cursor: pointer;
|
|
3079
|
+
|
|
3080
|
+
:hover {
|
|
3081
|
+
color: #219bff
|
|
3082
|
+
}
|
|
3083
|
+
}
|
|
3084
|
+
.svgclass {
|
|
3085
|
+
fill: antiquewhite;
|
|
3086
|
+
:hover {
|
|
3087
|
+
fill: #219bff;
|
|
3088
|
+
}
|
|
3089
|
+
}
|
|
3090
|
+
// 头部筛选条件显示
|
|
3091
|
+
.head-tag {
|
|
3092
|
+
padding: 5px;
|
|
3093
|
+
text-align: left;
|
|
3094
|
+
.ant-tag {
|
|
3095
|
+
font-size: 14px;
|
|
3096
|
+
margin-bottom: 2px;
|
|
3097
|
+
padding: 4px 8px;
|
|
3098
|
+
border-radius: 0;
|
|
3099
|
+
border: 0;
|
|
3100
|
+
background-color: #f6f7f9;
|
|
3101
|
+
|
|
3102
|
+
// :hover {
|
|
3103
|
+
// background-color: #e9ebf0 ;
|
|
3104
|
+
// }
|
|
3105
|
+
.anticon-close {
|
|
3106
|
+
font-size: 14px;
|
|
3107
|
+
}
|
|
3108
|
+
}
|
|
3109
|
+
}
|
|
3110
|
+
::v-deep .ant-tag .anticon-close{
|
|
3111
|
+
font-size: 14px;
|
|
3112
|
+
}
|
|
3113
|
+
|
|
3114
|
+
</style>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1693460754360" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3580" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M682.688 746.688c11.776 0 21.312 9.536 21.312 21.312v85.312c0 11.776-9.6 21.376-21.312 21.376H597.312A21.312 21.312 0 0 1 576 853.312V768c0-11.776 9.6-21.312 21.312-21.312h85.376z m-256 0c11.776 0 21.312 9.536 21.312 21.312v85.312c0 11.776-9.6 21.376-21.312 21.376H341.312A21.312 21.312 0 0 1 320 853.312V768c0-11.776 9.6-21.312 21.312-21.312h85.376zM597.312 448h85.376c11.776 0 21.312 9.6 21.312 21.312v85.376c0 11.776-9.6 21.312-21.312 21.312H597.312A21.312 21.312 0 0 1 576 554.688V469.312C576 457.6 585.6 448 597.312 448z m-256 0h85.376C438.4 448 448 457.6 448 469.312v85.376C448 566.4 438.4 576 426.688 576H341.312A21.312 21.312 0 0 1 320 554.688V469.312C320 457.6 329.6 448 341.312 448z m341.376-298.688c11.776 0 21.312 9.6 21.312 21.376V256c0 11.776-9.6 21.312-21.312 21.312H597.312A21.312 21.312 0 0 1 576 256V170.688c0-11.776 9.6-21.376 21.312-21.376h85.376z m-256 0c11.776 0 21.312 9.6 21.312 21.376V256c0 11.776-9.6 21.312-21.312 21.312H341.312A21.312 21.312 0 0 1 320 256V170.688c0-11.776 9.6-21.376 21.312-21.376h85.376z" fill="#8a8a8a" p-id="3581"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1693393160099" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2189" width="32" height="32" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M512 938.666667a32.032 32.032 0 0 1-15.648-4.085334l-352-197.333333A32 32 0 0 1 128 709.333333v-394.666666a32 32 0 0 1 16.352-27.914667l352-197.333333a32 32 0 0 1 31.296 0l352 197.333333A32 32 0 0 1 896 314.666667v394.666666a32 32 0 0 1-16.352 27.914667l-352 197.333333A32 32 0 0 1 512 938.666667zM192 690.581333L512 869.973333l320-179.392V333.408L512 154.016 192 333.408v357.173333z" p-id="2190"></path><path d="M512 682.666667c-94.101333 0-170.666667-76.565333-170.666667-170.666667S417.898667 341.333333 512 341.333333s170.666667 76.565333 170.666667 170.666667-76.565333 170.666667-170.666667 170.666667z m0-277.333334c-58.816 0-106.666667 47.850667-106.666667 106.666667s47.850667 106.666667 106.666667 106.666667 106.666667-47.850667 106.666667-106.666667S570.816 405.333333 512 405.333333z" p-id="2191"></path></svg>
|