cnhis-design-vue 0.1.96-beta → 0.1.97-beta
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/es/age/index.js +2 -2
- package/es/big-table/index.js +21 -21
- package/es/button/index.js +70 -53
- package/es/button/style.css +1 -1
- package/es/captcha/index.js +3 -3
- package/es/checkbox/index.js +1 -1
- package/es/color-picker/index.js +1 -1
- package/es/drag-layout/index.js +3 -3
- package/es/editor/index.js +1 -1
- package/es/fabric-chart/index.js +9 -9
- package/es/index/index.js +825 -304
- package/es/index/style.css +1 -1
- package/es/input/index.js +1 -1
- package/es/map/index.js +1 -1
- package/es/multi-chat/index.js +24 -24
- package/es/multi-chat-client/index.js +18 -18
- package/es/multi-chat-history/index.js +4 -4
- package/es/multi-chat-record/index.js +4 -4
- package/es/multi-chat-setting/index.js +20 -20
- package/es/multi-chat-sip/index.js +1 -1
- package/es/radio/index.js +1 -1
- package/es/scale-view/index.js +22 -22
- package/es/select/index.js +3 -3
- package/es/select-label/index.js +2 -2
- package/es/select-person/index.js +2 -2
- package/es/table-filter/index.js +725 -183
- package/es/table-filter/style.css +1 -1
- package/es/tag/index.js +1 -1
- package/es/utils/time-domain.js +195 -0
- package/es/verification-code/index.js +2 -2
- package/lib/cui.common.js +1188 -449
- package/lib/cui.umd.js +1188 -449
- package/lib/cui.umd.min.js +54 -54
- package/package.json +1 -1
- package/packages/button/src/ButtonPrint/components/IdentityVerification.vue +17 -5
- package/packages/button/src/ButtonPrint/index.vue +1 -0
- package/packages/table-filter/src/base-search-com/BaseSearch.vue +26 -3
- package/packages/table-filter/src/components/c-tree-select/tree-select.vue +198 -0
- package/packages/table-filter/src/components/multi-select/multi-select.vue +13 -5
- package/packages/table-filter/src/components/out-quick-search/out-quick-search.vue +42 -6
- package/packages/table-filter/src/mixins/mixins.js +57 -21
- package/packages/table-filter/src/quick-search/QuickSearch.vue +38 -14
- package/src/utils/time-domain.js +193 -0
package/package.json
CHANGED
|
@@ -57,7 +57,11 @@ export default {
|
|
|
57
57
|
},
|
|
58
58
|
identityVerificationTitle: {
|
|
59
59
|
type: String
|
|
60
|
-
}
|
|
60
|
+
},
|
|
61
|
+
printConfig: {
|
|
62
|
+
type: Object,
|
|
63
|
+
default: () => ({})
|
|
64
|
+
},
|
|
61
65
|
},
|
|
62
66
|
components: {
|
|
63
67
|
AModal: Modal
|
|
@@ -81,10 +85,18 @@ export default {
|
|
|
81
85
|
.use(Input);
|
|
82
86
|
},
|
|
83
87
|
mounted() {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
+
let config = {
|
|
89
|
+
withCredentials: false,
|
|
90
|
+
timeout: 5000
|
|
91
|
+
};
|
|
92
|
+
let printUrlPrefix = this?.printConfig?.printUrlPrefix;
|
|
93
|
+
if (axios !== this.axios && printUrlPrefix) {
|
|
94
|
+
config.baseURL = printUrlPrefix;
|
|
95
|
+
}
|
|
96
|
+
httpFn = axios.create({
|
|
97
|
+
...config
|
|
98
|
+
});
|
|
99
|
+
|
|
88
100
|
},
|
|
89
101
|
watch: {
|
|
90
102
|
visible(val) {
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
<li v-if="showResetFilterBtn">
|
|
78
78
|
<a-button @click="handleReset" style="margin: 0 8px 8px 0">
|
|
79
79
|
<svg-icon icon-class="xitongtubiaoliebiaocaozuoanniushanchu" style="margin-right: 6px"></svg-icon>
|
|
80
|
-
|
|
80
|
+
重置
|
|
81
81
|
</a-button>
|
|
82
82
|
</li>
|
|
83
83
|
|
|
@@ -1508,7 +1508,7 @@ export default create({
|
|
|
1508
1508
|
this.$emit('pubResetCheckStatus');
|
|
1509
1509
|
},
|
|
1510
1510
|
handleReset() {
|
|
1511
|
-
this.$emit('handleReset');
|
|
1511
|
+
this.$emit('handleReset',{targetType: "outQuickSearchReset" });
|
|
1512
1512
|
},
|
|
1513
1513
|
handleUploadChange(info) {
|
|
1514
1514
|
const { file, fileList } = info;
|
|
@@ -1593,7 +1593,7 @@ export default create({
|
|
|
1593
1593
|
let params = { type: v, pageSize: 10000 };
|
|
1594
1594
|
return this.axios.get('/label/list', { params: params });
|
|
1595
1595
|
},
|
|
1596
|
-
initOutSearchFieldList() {
|
|
1596
|
+
initOutSearchFieldList(config = {}) {
|
|
1597
1597
|
this.outSearchFieldList = [];
|
|
1598
1598
|
this.outRelationQuickSearch = [];
|
|
1599
1599
|
let mySearchFieldList = JSON.parse(JSON.stringify(this.searchFieldList)).filter(i => i.isShowSearch == 1 && i.filterExplicit == 1);
|
|
@@ -1626,6 +1626,14 @@ export default create({
|
|
|
1626
1626
|
if (this.lastOutRelationQuickSearch.length) {
|
|
1627
1627
|
this.outRelationQuickSearch = this.$utils.clone(this.lastOutRelationQuickSearch, true);
|
|
1628
1628
|
}
|
|
1629
|
+
|
|
1630
|
+
// 如有配置默认值
|
|
1631
|
+
if(this.outSearchFieldList.some(v => !!v.explicitDefaultVal)){
|
|
1632
|
+
this.$emit('outSearchInit');
|
|
1633
|
+
if('reset' != config?.type){
|
|
1634
|
+
this.outFilterChange();
|
|
1635
|
+
}
|
|
1636
|
+
}
|
|
1629
1637
|
},
|
|
1630
1638
|
dealOutFilterHideBtn() {
|
|
1631
1639
|
if (!this.isShowSetting('buttonAdaption') && this.outSearchFieldList.length > 0) {
|
|
@@ -1862,6 +1870,21 @@ export default create({
|
|
|
1862
1870
|
}
|
|
1863
1871
|
this.setSaveRowStatus(true);
|
|
1864
1872
|
},
|
|
1873
|
+
|
|
1874
|
+
/**
|
|
1875
|
+
* 获取外显检索的默认值设置
|
|
1876
|
+
*/
|
|
1877
|
+
handleGetOutSearchInitValue(){
|
|
1878
|
+
|
|
1879
|
+
if(this.outSearchFieldList.some(v => !!v.explicitDefaultVal)){
|
|
1880
|
+
let conObj = this.getConObjParams() || [];
|
|
1881
|
+
return conObj
|
|
1882
|
+
}
|
|
1883
|
+
|
|
1884
|
+
return []
|
|
1885
|
+
},
|
|
1886
|
+
|
|
1887
|
+
|
|
1865
1888
|
inlineEditCancel() {
|
|
1866
1889
|
// 批量编辑
|
|
1867
1890
|
if (this.isBatchEditing) {
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<a-tree-select
|
|
3
|
+
v-model="item.value"
|
|
4
|
+
dropdownClassName="c-a-tree-select-container"
|
|
5
|
+
@select="treeSelect"
|
|
6
|
+
showSearch
|
|
7
|
+
style="width: 160px"
|
|
8
|
+
:dropdown-style="{ maxHeight: '200px', overflow: 'auto' }"
|
|
9
|
+
:tree-data="treeData"
|
|
10
|
+
allowClear
|
|
11
|
+
treeNodeFilterProp="title"
|
|
12
|
+
:placeholder="`请选择${item.alias || item.title}`"
|
|
13
|
+
>
|
|
14
|
+
<span class="init-key-loading" v-if="key === '_init_key_'" slot="title" slot-scope="{ key, value }" style="color: #08c">
|
|
15
|
+
<span v-show="false">{{ value }}</span>
|
|
16
|
+
<a-spin :tip="`加载中...`" />
|
|
17
|
+
</span>
|
|
18
|
+
</a-tree-select>
|
|
19
|
+
</template>
|
|
20
|
+
|
|
21
|
+
<script>
|
|
22
|
+
import { TreeSelect, Spin, Icon } from 'ant-design-vue';
|
|
23
|
+
import vexutils from '@/utils/vexutils';
|
|
24
|
+
export default {
|
|
25
|
+
name: 'cTreeSelect',
|
|
26
|
+
data() {
|
|
27
|
+
return {
|
|
28
|
+
treeData: [
|
|
29
|
+
{
|
|
30
|
+
// title: "_init_key_",
|
|
31
|
+
value: '_init_key_',
|
|
32
|
+
key: '_init_key_',
|
|
33
|
+
selectable: false,
|
|
34
|
+
scopedSlots: {
|
|
35
|
+
title: 'title'
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
};
|
|
40
|
+
},
|
|
41
|
+
props: {
|
|
42
|
+
item: {
|
|
43
|
+
type: Object,
|
|
44
|
+
default: () => ({ value: '' })
|
|
45
|
+
},
|
|
46
|
+
handleGetConfigApi: {
|
|
47
|
+
type: Function,
|
|
48
|
+
default: () => {}
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
computed: {},
|
|
52
|
+
watch: {},
|
|
53
|
+
beforeCreate() {},
|
|
54
|
+
created() {},
|
|
55
|
+
beforeMount() {},
|
|
56
|
+
mounted() {
|
|
57
|
+
this.init();
|
|
58
|
+
},
|
|
59
|
+
beforeUpdate() {},
|
|
60
|
+
updated() {},
|
|
61
|
+
beforeDestroy() {},
|
|
62
|
+
destroyed() {},
|
|
63
|
+
activated() {},
|
|
64
|
+
methods: {
|
|
65
|
+
async init() {
|
|
66
|
+
try {
|
|
67
|
+
let res = await this.handleRequestedOptions(this.item);
|
|
68
|
+
let { result, map } = res.data;
|
|
69
|
+
if (result !== 'SUCCESS') {
|
|
70
|
+
this.treeData = [];
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
let rows = map.rows || [];
|
|
74
|
+
if (rows) {
|
|
75
|
+
this.handleInitTreeData(rows, this.item);
|
|
76
|
+
this.treeData = rows;
|
|
77
|
+
}
|
|
78
|
+
} catch (error) {
|
|
79
|
+
console.log(error);
|
|
80
|
+
this.treeData = [];
|
|
81
|
+
} finally {
|
|
82
|
+
this.hanldeSetTreeDef();
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
|
|
86
|
+
async handleRequestedOptions(item = {}) {
|
|
87
|
+
let params = this.getSearchDefParams(item);
|
|
88
|
+
let res = await this.handleGetConfigApi(params, 'requestGetWordbookData', { fields: item });
|
|
89
|
+
return res;
|
|
90
|
+
},
|
|
91
|
+
|
|
92
|
+
getSearchDefParams(item = {}) {
|
|
93
|
+
let obj = {};
|
|
94
|
+
let { params = [], autograph, filterKeys, id, wordbookType } = item?.settingObj?.wordbook || {};
|
|
95
|
+
if (params) {
|
|
96
|
+
params.forEach(item => {
|
|
97
|
+
obj[item.p_name] = item.p_value;
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
if (autograph) {
|
|
101
|
+
obj.autograph = autograph;
|
|
102
|
+
}
|
|
103
|
+
let resFieldKeys = Array.isArray(filterKeys) ? JSON.stringify(filterKeys) : filterKeys;
|
|
104
|
+
let res = {
|
|
105
|
+
wordbookId: id,
|
|
106
|
+
fieldKeys: resFieldKeys,
|
|
107
|
+
wordbookType: wordbookType || 'WORDBOOK',
|
|
108
|
+
isLevelLazyLoad: false,
|
|
109
|
+
...obj
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
return res;
|
|
113
|
+
},
|
|
114
|
+
|
|
115
|
+
/* 解析下拉选择接口返回字段 */
|
|
116
|
+
formatField(value, key) {
|
|
117
|
+
let res = value;
|
|
118
|
+
try {
|
|
119
|
+
if (res && typeof res == 'string' && res.startsWith('###')) {
|
|
120
|
+
res = res.slice(3);
|
|
121
|
+
res = JSON.parse(res);
|
|
122
|
+
res = res.change_text;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
return res || '';
|
|
126
|
+
} catch (error) {
|
|
127
|
+
return '';
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
|
|
131
|
+
hanldeGetCascadelabel(v = [], k = {}) {
|
|
132
|
+
if (Array.isArray(v) && v.length) {
|
|
133
|
+
const l = [];
|
|
134
|
+
v.forEach(i => {
|
|
135
|
+
let res = this.formatField(k[i]);
|
|
136
|
+
l.push(res);
|
|
137
|
+
});
|
|
138
|
+
if (l.length == 0) {
|
|
139
|
+
return '';
|
|
140
|
+
}
|
|
141
|
+
return l.join(' ');
|
|
142
|
+
}
|
|
143
|
+
return '';
|
|
144
|
+
},
|
|
145
|
+
|
|
146
|
+
handleInitTreeData(list = [], config = {}) {
|
|
147
|
+
let { showKeys = [], field_key } = config?.setting?.wordbook || {};
|
|
148
|
+
list.forEach((item,i) => {
|
|
149
|
+
let val = vexutils.stringToValue(item[field_key], 'value');
|
|
150
|
+
item.myLabel = this.hanldeGetCascadelabel(showKeys, item) || val;
|
|
151
|
+
item.key = item.theUniqueKey;
|
|
152
|
+
item.title = item.myLabel;
|
|
153
|
+
// 避免接口配置的value 不知唯一值,导致前端页面卡死
|
|
154
|
+
item.value = `${val}<&=&>${i}<&=&>${item.key}`;
|
|
155
|
+
// item.scopedSlots = {
|
|
156
|
+
// title: "title"
|
|
157
|
+
// };
|
|
158
|
+
|
|
159
|
+
if (item.children && item.children.length) {
|
|
160
|
+
this.handleInitTreeData(item.children, config);
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
},
|
|
164
|
+
|
|
165
|
+
hanldeSetTreeDef() {},
|
|
166
|
+
|
|
167
|
+
treeSelect(key, vnode) {}
|
|
168
|
+
},
|
|
169
|
+
components: {
|
|
170
|
+
[TreeSelect.name]: TreeSelect,
|
|
171
|
+
[Spin.name]: Spin,
|
|
172
|
+
[Icon.name]: Icon
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
</script>
|
|
176
|
+
|
|
177
|
+
<style lang="less">
|
|
178
|
+
.c-a-tree-select-container {
|
|
179
|
+
.ant-select-tree-title {
|
|
180
|
+
display: inline-block;
|
|
181
|
+
width: 100%;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
.init-key-loading {
|
|
185
|
+
display: flex;
|
|
186
|
+
justify-content: center;
|
|
187
|
+
width: 100%;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.ant-select-tree {
|
|
191
|
+
li.filter-node {
|
|
192
|
+
> span {
|
|
193
|
+
font-weight: 600;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
</style>
|
|
@@ -13,12 +13,13 @@
|
|
|
13
13
|
@search="handleWordBookSearch($event, item)"
|
|
14
14
|
@dropdownVisibleChange="dropdownVisibleChange($event, item)"
|
|
15
15
|
class="quick-input-select"
|
|
16
|
-
allowClear
|
|
16
|
+
:allowClear="item.explicitRequired != 1"
|
|
17
17
|
ref="quickInputSelect"
|
|
18
18
|
:class="{ 'quick-input-select-mul': handleMaxTagCount > 0 }"
|
|
19
19
|
:notFoundContent="fetchingWordbook ? undefined : '暂无数据'"
|
|
20
20
|
>
|
|
21
|
-
<a-spin v-if="fetchingWordbook" slot="notFoundContent" size="small" />
|
|
21
|
+
<!-- <a-spin v-if="fetchingWordbook" slot="notFoundContent" size="small" /> -->
|
|
22
|
+
<span v-if="fetchingWordbook" slot="notFoundContent" size="small" />
|
|
22
23
|
<template v-if="item.comType == 'SelectMuiWordBook'">
|
|
23
24
|
<a-select-option
|
|
24
25
|
v-for="(sea, k) in item.dataSource"
|
|
@@ -47,8 +48,8 @@
|
|
|
47
48
|
</a-select-option>
|
|
48
49
|
</template>
|
|
49
50
|
|
|
50
|
-
<div slot="dropdownRender" class="
|
|
51
|
-
<a-spin :spinning="fetchingWordbook">
|
|
51
|
+
<div slot="dropdownRender" class="c-m-sdrop-down-container" slot-scope="menu">
|
|
52
|
+
<a-spin :spinning="fetchingWordbook" :tip="`加载中...`" >
|
|
52
53
|
<v-nodes :vnodes="menu" />
|
|
53
54
|
<select-pages v-if="!isnoPages" :searchPageConfig="item.searchPageConfig" :handleSearchChangePage="handleSearchChangePage" />
|
|
54
55
|
</a-spin>
|
|
@@ -56,7 +57,7 @@
|
|
|
56
57
|
</a-select>
|
|
57
58
|
</template>
|
|
58
59
|
<script>
|
|
59
|
-
import { Select, Spin, Icon } from 'ant-design-vue';
|
|
60
|
+
import { Select, Spin, Icon,Button } from 'ant-design-vue';
|
|
60
61
|
import utils from '@/utils/utils-map';
|
|
61
62
|
import selectPages from './select-pages';
|
|
62
63
|
export default {
|
|
@@ -65,6 +66,7 @@ export default {
|
|
|
65
66
|
[Select.name]: Select,
|
|
66
67
|
[Select.Option.name]: Select.Option,
|
|
67
68
|
[Spin.name]: Spin,
|
|
69
|
+
[Button.name]:Button,
|
|
68
70
|
[Icon.name]: Icon,
|
|
69
71
|
selectPages,
|
|
70
72
|
VNodes: {
|
|
@@ -187,4 +189,10 @@ export default {
|
|
|
187
189
|
.c-s-content-item {
|
|
188
190
|
padding: 0 5px;
|
|
189
191
|
}
|
|
192
|
+
|
|
193
|
+
.c-m-sdrop-down-container {
|
|
194
|
+
.ant-select-dropdown-menu-item-disabled {
|
|
195
|
+
min-height: 42px;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
190
198
|
</style>
|
|
@@ -15,9 +15,15 @@
|
|
|
15
15
|
>
|
|
16
16
|
</a-input>
|
|
17
17
|
</slot>
|
|
18
|
-
|
|
18
|
+
<template v-if="item.com == 'SelectMui'">
|
|
19
|
+
<c-tree-select
|
|
20
|
+
v-if="item.comType === 'treeSelect'"
|
|
21
|
+
:item="item"
|
|
22
|
+
:handleGetConfigApi="handleGetConfigApi"
|
|
23
|
+
style="margin: 0 8px 8px 0"
|
|
24
|
+
/>
|
|
19
25
|
<multiSelect
|
|
20
|
-
v-
|
|
26
|
+
v-else
|
|
21
27
|
:item="item"
|
|
22
28
|
:maxTagPlaceholder="maxTagPlaceholder"
|
|
23
29
|
:outFilterChange="outFilterChange"
|
|
@@ -26,7 +32,10 @@
|
|
|
26
32
|
:fetchingWordbook="fetchingWordbook"
|
|
27
33
|
style="margin: 0 8px 8px 0"
|
|
28
34
|
></multiSelect>
|
|
35
|
+
</template>
|
|
36
|
+
|
|
29
37
|
<a-range-picker
|
|
38
|
+
:allowClear="item.explicitRequired != 1"
|
|
30
39
|
:format="item.showFormat"
|
|
31
40
|
@change="value => rangePickerChange(value, item)"
|
|
32
41
|
@ok="outFilterChange"
|
|
@@ -90,9 +99,11 @@
|
|
|
90
99
|
<script>
|
|
91
100
|
|
|
92
101
|
import multiSelect from '../multi-select/multi-select';
|
|
102
|
+
import cTreeSelect from '../c-tree-select/tree-select';
|
|
93
103
|
import { filterApiFn } from '../../mixins/mixins';
|
|
94
104
|
import wordBookutils from '../../mixins/wordBookutils';
|
|
95
|
-
|
|
105
|
+
import moment from 'moment';
|
|
106
|
+
import { DatePicker} from 'ant-design-vue';
|
|
96
107
|
const EVALUATEList = [
|
|
97
108
|
{
|
|
98
109
|
label: "一星",
|
|
@@ -123,13 +134,15 @@ const EVALUATEList = [
|
|
|
123
134
|
export default {
|
|
124
135
|
name: "OutQuickSearch",
|
|
125
136
|
mixins: [filterApiFn],
|
|
126
|
-
components: { multiSelect },
|
|
137
|
+
components: { multiSelect,cTreeSelect, [DatePicker.RangePicker.name]: DatePicker.RangePicker },
|
|
127
138
|
props: {
|
|
128
139
|
item: Object
|
|
129
140
|
},
|
|
130
141
|
data() {
|
|
131
142
|
return {
|
|
132
|
-
fetchingWordbook: false
|
|
143
|
+
fetchingWordbook: false,
|
|
144
|
+
initSearch: false,
|
|
145
|
+
curDefaultValue: null,
|
|
133
146
|
};
|
|
134
147
|
},
|
|
135
148
|
|
|
@@ -138,7 +151,7 @@ export default {
|
|
|
138
151
|
return function(item) {
|
|
139
152
|
if (!item.showTime) return false;
|
|
140
153
|
return {
|
|
141
|
-
defaultValue: [
|
|
154
|
+
defaultValue: [moment("00:00:00", "HH:mm:ss"), moment("23:59:59", "HH:mm:ss")]
|
|
142
155
|
};
|
|
143
156
|
};
|
|
144
157
|
}
|
|
@@ -181,6 +194,10 @@ export default {
|
|
|
181
194
|
if (item.settingObj.wordbook) {
|
|
182
195
|
obj.autograph = item.settingObj.wordbook.autograph;
|
|
183
196
|
}
|
|
197
|
+
let df = item.explicitDefaultVal;
|
|
198
|
+
if(df != 'firstOption'){
|
|
199
|
+
obj.keyword = df;
|
|
200
|
+
}
|
|
184
201
|
this.getWordbookData(item.setting.wordbook, obj).then(({ data }) => {
|
|
185
202
|
this.handleWordbookData(item, data, obj);
|
|
186
203
|
});
|
|
@@ -192,6 +209,25 @@ export default {
|
|
|
192
209
|
this.$set(item, "hasFieldList", hasFieldList);
|
|
193
210
|
this.$set(item, "dataSource", rows);
|
|
194
211
|
item.searchPageConfig = Object.assign(item.searchPageConfig, searchPageConfig);
|
|
212
|
+
// 初始化获取值
|
|
213
|
+
if(!this.initSearch){
|
|
214
|
+
let df = item.explicitDefaultVal;
|
|
215
|
+
if(df){
|
|
216
|
+
let defval = [];
|
|
217
|
+
if(df === 'firstOption'){
|
|
218
|
+
let [v] = rows;
|
|
219
|
+
v && (defval = [v.myName])
|
|
220
|
+
} else {
|
|
221
|
+
let f = rows.find(v => v.myName.includes(df));
|
|
222
|
+
if(f){
|
|
223
|
+
defval = [f.myName]
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
item.value = [...defval]
|
|
227
|
+
item.search_DefaultValue= [...defval]
|
|
228
|
+
}
|
|
229
|
+
this.initSearch = true;
|
|
230
|
+
}
|
|
195
231
|
},
|
|
196
232
|
getWordbookData(o, obj) {
|
|
197
233
|
let { id, filterKeys, wordbookType } = o;
|
|
@@ -33,7 +33,7 @@ const EVALUATEList = [
|
|
|
33
33
|
];
|
|
34
34
|
|
|
35
35
|
import moment from 'moment';
|
|
36
|
-
|
|
36
|
+
import timeDomain from '@/utils/time-domain';
|
|
37
37
|
export const durationMixin = {
|
|
38
38
|
filters: {
|
|
39
39
|
// 格式化时长单位
|
|
@@ -383,24 +383,38 @@ export const outQuickSearchFn = {
|
|
|
383
383
|
arr.forEach(el => {
|
|
384
384
|
el.setting = typeof el.setting == "string" ? JSON.parse(el.setting) : el.setting;
|
|
385
385
|
const attr = el?.settingObj?.attr || "";
|
|
386
|
+
const showSetting = el?.setting?.showSetting || []
|
|
386
387
|
// 映射优先级最高
|
|
387
|
-
if (
|
|
388
|
+
if (showSetting?.length) {
|
|
389
|
+
let tvalue = []
|
|
390
|
+
// 设置了默认值
|
|
391
|
+
let df = el.explicitDefaultVal;
|
|
392
|
+
if(df){
|
|
393
|
+
let i = df == 'firstOption' ? 0 : showSetting.findIndex(v => v.change_text == df);
|
|
394
|
+
if(i > -1){
|
|
395
|
+
tvalue.push(i)
|
|
396
|
+
}
|
|
397
|
+
}
|
|
388
398
|
// 存在映射 使用下拉多选框
|
|
389
399
|
this.$set(el, "con", "CONVERT");
|
|
390
400
|
this.$set(el, "com", "SelectMui");
|
|
391
401
|
this.$set(el, "comType", "SelectMui");
|
|
392
|
-
this.$set(el, "value",
|
|
402
|
+
this.$set(el, "value", tvalue);
|
|
393
403
|
const labelList = el.setting.showSetting.map(i => {
|
|
394
404
|
i.labelName = i.change_text;
|
|
395
405
|
return i;
|
|
396
406
|
});
|
|
397
407
|
this.$set(el, "labelList", labelList);
|
|
398
408
|
} else if (!this.$utils.isEmpty(el.setting.wordbook)) {
|
|
409
|
+
// TODO:
|
|
399
410
|
// 存在映射 wordbook
|
|
411
|
+
let isTree = "tree" === el?.setting?.wordbook?.showType;
|
|
412
|
+
let comType = isTree ? 'treeSelect' : 'SelectMuiWordBook';
|
|
413
|
+
let defVal = isTree ? undefined : [];
|
|
400
414
|
this.$set(el, "con", "QUOTE");
|
|
401
415
|
this.$set(el, "com", "SelectMui");
|
|
402
|
-
this.$set(el, "comType",
|
|
403
|
-
this.$set(el, "value",
|
|
416
|
+
this.$set(el, "comType", comType);
|
|
417
|
+
this.$set(el, "value", defVal);
|
|
404
418
|
this.$set(el, "dataSource", []);
|
|
405
419
|
this.$set(el, "searchPageConfig", {
|
|
406
420
|
keyword: undefined,
|
|
@@ -427,7 +441,18 @@ export const outQuickSearchFn = {
|
|
|
427
441
|
["DATETIME", "DATE"].includes(el.fieldType)
|
|
428
442
|
) {
|
|
429
443
|
// 查找默认值
|
|
430
|
-
|
|
444
|
+
let value = this.getSearchDefValueByLimit(el, this.searchFieldLimit) || [];
|
|
445
|
+
// explicitDefaultVal: "YESTERDAY"
|
|
446
|
+
// explicitRequired: 1
|
|
447
|
+
|
|
448
|
+
// 配置了默认值
|
|
449
|
+
if(el.explicitDefaultVal){
|
|
450
|
+
// let showFormat = attr === "BIRTHDAY" ? 'MM-DD':'YYYY-MM-DD HH:mm:ss';
|
|
451
|
+
let t = timeDomain.getTimeDomain(el.explicitDefaultVal)
|
|
452
|
+
if(t.length > 0){
|
|
453
|
+
value = t;
|
|
454
|
+
}
|
|
455
|
+
}
|
|
431
456
|
this.$set(el, "con", "IN");
|
|
432
457
|
this.$set(el, "com", "DatePicker");
|
|
433
458
|
this.$set(el, "value", value);
|
|
@@ -500,24 +525,35 @@ export const outQuickSearchFn = {
|
|
|
500
525
|
temp.value = item.value;
|
|
501
526
|
conObj.push(temp);
|
|
502
527
|
}
|
|
503
|
-
if (item.com === "SelectMui" && item.value
|
|
504
|
-
|
|
528
|
+
if (item.com === "SelectMui" && item.value) {
|
|
529
|
+
let hasArr = Array.isArray(item.value) && item.value.length > 0
|
|
530
|
+
if (item.comType == "SelectMuiWordBook" && hasArr) {
|
|
505
531
|
temp.value = item.value.join("|#|");
|
|
532
|
+
} else if(item.comType == "treeSelect"){
|
|
533
|
+
// 樹狀
|
|
534
|
+
let value = item.value;
|
|
535
|
+
if(typeof value === 'string'){
|
|
536
|
+
[value] = value.split('<&=&>')
|
|
537
|
+
}
|
|
538
|
+
temp.value = value;
|
|
506
539
|
} else {
|
|
507
|
-
if
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
540
|
+
if(hasArr){
|
|
541
|
+
if (item.con == "CONVERT") {
|
|
542
|
+
// 存在映射
|
|
543
|
+
let value = [];
|
|
544
|
+
value = item.value.map(i => {
|
|
545
|
+
return item.labelList[i].filter;
|
|
546
|
+
});
|
|
547
|
+
temp.value = value;
|
|
548
|
+
} else {
|
|
549
|
+
let value = [];
|
|
550
|
+
value = item.value.map(i => {
|
|
551
|
+
return item.labelList[i].labelName;
|
|
552
|
+
});
|
|
553
|
+
temp.value = value.join("|#|");
|
|
554
|
+
}
|
|
520
555
|
}
|
|
556
|
+
|
|
521
557
|
}
|
|
522
558
|
conObj.push(temp);
|
|
523
559
|
}
|