bri-components 1.2.86 → 1.2.88
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/package.json
CHANGED
|
@@ -62,59 +62,61 @@
|
|
|
62
62
|
>
|
|
63
63
|
<template v-if="!conditionItem.__isDelete__">
|
|
64
64
|
<slot :conditionItem="conditionItem">
|
|
65
|
-
<!--
|
|
66
|
-
<
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
65
|
+
<!-- 为空和不为空时 啥不显示 -->
|
|
66
|
+
<div
|
|
67
|
+
v-if="['isnull', 'notnull', 'nosize', 'size', 'nolist', 'list'].includes(conditionItem.fieldOperator)"
|
|
68
|
+
class="DshAdvSearch-conditions-item-blank"
|
|
69
|
+
>请选择右上角条件</div>
|
|
70
|
+
|
|
71
|
+
<!-- 子表的筛选,出现是有条件的,递归 -->
|
|
72
|
+
<template v-else-if="['subSearch', 'subTableSearch'].includes(conditionItem.fieldOperator)">
|
|
73
|
+
<dsh-adv-search
|
|
74
|
+
v-if="conditionItem.finished === true"
|
|
75
|
+
:mode="mode"
|
|
76
|
+
:isInner="true"
|
|
77
|
+
:value="conditionItem.fieldSearch"
|
|
78
|
+
:formList="conditionItem.subFormList"
|
|
79
|
+
:useChainField="useChainField"
|
|
80
|
+
:dynamicFormList="dynamicFormList"
|
|
81
|
+
@change="change('subSearch', conditionItem, ...arguments)"
|
|
82
|
+
></dsh-adv-search>
|
|
83
|
+
|
|
84
|
+
<div
|
|
80
85
|
v-else
|
|
81
|
-
class="DshAdvSearch-conditions-item-
|
|
82
|
-
|
|
83
|
-
:propsObj="{
|
|
84
|
-
_name: `${conditionItem.formItem._name}的动态参数`,
|
|
85
|
-
_key: 'fieldParams',
|
|
86
|
-
_data: conditionItem.dynamicList
|
|
87
|
-
}"
|
|
88
|
-
@change="change('parameterTypeControl', conditionItem, ...arguments)"
|
|
89
|
-
></dsh-checkbox>
|
|
86
|
+
class="DshAdvSearch-conditions-item-loading"
|
|
87
|
+
>加载中……</div>
|
|
90
88
|
</template>
|
|
91
89
|
|
|
92
|
-
<!--
|
|
90
|
+
<!-- 其它条件 -->
|
|
93
91
|
<template v-else>
|
|
94
|
-
<!--
|
|
95
|
-
<template v-if="
|
|
96
|
-
<dsh-
|
|
97
|
-
v-if="
|
|
98
|
-
|
|
99
|
-
:
|
|
100
|
-
:
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
92
|
+
<!-- 动态文本 -匹配的动态筛选字段 -->
|
|
93
|
+
<template v-if="conditionItem.parameterType === 'dynamicText'">
|
|
94
|
+
<dsh-select
|
|
95
|
+
v-if="useChainField"
|
|
96
|
+
class="DshAdvSearch-conditions-item-control"
|
|
97
|
+
:value="conditionItem"
|
|
98
|
+
:propsObj="{
|
|
99
|
+
_name: `${conditionItem.formItem._name}的联动字段`,
|
|
100
|
+
_key: 'chainFieldKey',
|
|
101
|
+
_data: conditionItem.dynamicList
|
|
102
|
+
}"
|
|
103
|
+
@change="change('parameterTypeControl', conditionItem, ...arguments)"
|
|
104
|
+
></dsh-select>
|
|
105
|
+
|
|
106
|
+
<dsh-checkbox
|
|
108
107
|
v-else
|
|
109
|
-
class="DshAdvSearch-conditions-item-
|
|
110
|
-
|
|
108
|
+
class="DshAdvSearch-conditions-item-control"
|
|
109
|
+
:value="conditionItem"
|
|
110
|
+
:propsObj="{
|
|
111
|
+
_name: `${conditionItem.formItem._name}的动态参数`,
|
|
112
|
+
_key: 'fieldParams',
|
|
113
|
+
_data: conditionItem.dynamicList
|
|
114
|
+
}"
|
|
115
|
+
@change="change('parameterTypeControl', conditionItem, ...arguments)"
|
|
116
|
+
></dsh-checkbox>
|
|
111
117
|
</template>
|
|
112
118
|
|
|
113
|
-
<!--
|
|
114
|
-
<div
|
|
115
|
-
v-else-if="['isnull', 'notnull', 'nosize', 'size', 'nolist', 'list'].includes(conditionItem.fieldOperator)"
|
|
116
|
-
class="DshAdvSearch-conditions-item-blank"
|
|
117
|
-
>请选择右上角条件</div>
|
|
119
|
+
<!-- 固定文本 -筛选条件对应的显示 -->
|
|
118
120
|
</template>
|
|
119
121
|
</slot>
|
|
120
122
|
</template>
|
|
@@ -129,7 +131,7 @@
|
|
|
129
131
|
<dsh-dropdown
|
|
130
132
|
v-if="conditionItem.dynamicList.length"
|
|
131
133
|
class="extra-dynamic"
|
|
132
|
-
:list="parameterPropsObj._data"
|
|
134
|
+
:list="['set'].includes(mode) && ['reference', 'flatTable'].includes(conditionItem.fieldType) ? [] : parameterPropsObj._data"
|
|
133
135
|
@click="$dispatchEvent(operationMap.selectParameterType, conditionItem, conditionIndex, value.conditions, $event)"
|
|
134
136
|
>
|
|
135
137
|
<span class="extra-operator-wrap">
|
|
@@ -137,6 +139,7 @@
|
|
|
137
139
|
{{ conditionItem.parameterTypeName }}
|
|
138
140
|
</span>
|
|
139
141
|
<Icon
|
|
142
|
+
v-if="!(['set'].includes(mode) && ['reference', 'flatTable'].includes(conditionItem.fieldType))"
|
|
140
143
|
class="extra-operator-icon"
|
|
141
144
|
type="ios-arrow-down"
|
|
142
145
|
/>
|
|
@@ -243,7 +246,7 @@
|
|
|
243
246
|
default: "default",
|
|
244
247
|
validator: function (val) {
|
|
245
248
|
// 用户态、 配置端、高级依赖、以及仪表盘乱用的地方
|
|
246
|
-
return ["default", "set"
|
|
249
|
+
return ["default", "set"].includes(val);
|
|
247
250
|
}
|
|
248
251
|
},
|
|
249
252
|
useLoop: {
|
|
@@ -303,20 +306,8 @@
|
|
|
303
306
|
);
|
|
304
307
|
}
|
|
305
308
|
},
|
|
306
|
-
created () {
|
|
307
|
-
|
|
308
|
-
},
|
|
309
|
-
methods: {
|
|
310
|
-
// 初始化
|
|
311
|
-
init () {
|
|
312
|
-
this.value.conditions = this.value.conditions.map(conditionItem => {
|
|
313
|
-
const newConditionItem = this.createContionFunc(conditionItem, undefined, conditionItem.fieldKey);
|
|
314
|
-
this.dealSubSearch(newConditionItem);
|
|
315
|
-
|
|
316
|
-
return newConditionItem;
|
|
317
|
-
});
|
|
318
|
-
}
|
|
319
|
-
}
|
|
309
|
+
created () {},
|
|
310
|
+
methods: {}
|
|
320
311
|
};
|
|
321
312
|
</script>
|
|
322
313
|
|
|
@@ -5,6 +5,12 @@ export default {
|
|
|
5
5
|
DshFormUnit
|
|
6
6
|
},
|
|
7
7
|
props: {
|
|
8
|
+
initFields: {
|
|
9
|
+
type: Array,
|
|
10
|
+
default () {
|
|
11
|
+
return [];
|
|
12
|
+
}
|
|
13
|
+
},
|
|
8
14
|
value: {
|
|
9
15
|
type: Object,
|
|
10
16
|
default () {
|
|
@@ -67,11 +73,26 @@ export default {
|
|
|
67
73
|
return this.$arrToCategoryArr(this.dynamicFormList);
|
|
68
74
|
}
|
|
69
75
|
},
|
|
70
|
-
created () {
|
|
76
|
+
created () {
|
|
77
|
+
this.init();
|
|
78
|
+
},
|
|
71
79
|
methods: {
|
|
80
|
+
// 初始化
|
|
81
|
+
init () {
|
|
82
|
+
this.value.conditions = [...this.initFields, ...this.value.conditions].map(conditionItem => {
|
|
83
|
+
const newConditionItem = typeof conditionItem === "string"
|
|
84
|
+
? this.createContionFunc(undefined, undefined, conditionItem)
|
|
85
|
+
: this.createContionFunc(conditionItem, undefined, conditionItem.fieldKey);
|
|
86
|
+
this.dealSubSearch(newConditionItem);
|
|
87
|
+
|
|
88
|
+
return newConditionItem;
|
|
89
|
+
});
|
|
90
|
+
},
|
|
91
|
+
|
|
72
92
|
// 新增筛选条件
|
|
73
93
|
createCondition (operationItem, isLoop, formItem, list) {
|
|
74
94
|
const newConditionItem = this.createContionFunc({ logic: isLoop ? "and" : "field" }, formItem);
|
|
95
|
+
this.dealSubSearch(newConditionItem);
|
|
75
96
|
list.push(newConditionItem);
|
|
76
97
|
|
|
77
98
|
this.change(operationItem.type, newConditionItem);
|
|
@@ -94,15 +115,32 @@ export default {
|
|
|
94
115
|
},
|
|
95
116
|
// 选择某控件的筛选类型
|
|
96
117
|
changeOperator (operationItem, conditionItem, conditionIndex, list, optionItem) {
|
|
97
|
-
conditionItem.fieldOperator
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
logic: "and",
|
|
101
|
-
conditions: []
|
|
102
|
-
};
|
|
103
|
-
this.dealSubSearch(conditionItem);
|
|
118
|
+
if (optionItem._key !== conditionItem.fieldOperator) {
|
|
119
|
+
conditionItem.fieldOperator = optionItem._key;
|
|
120
|
+
conditionItem.fieldOperatorName = optionItem.name;
|
|
104
121
|
|
|
105
|
-
|
|
122
|
+
if (["isnull", "notnull", "nosize", "size", "nolist", "list"].includes(conditionItem.fieldOperator)) {
|
|
123
|
+
conditionItem.fieldParams = [];
|
|
124
|
+
conditionItem.chainFieldKey = "";
|
|
125
|
+
conditionItem.fieldValue = [];
|
|
126
|
+
conditionItem.fieldSearch = {
|
|
127
|
+
logic: "and",
|
|
128
|
+
conditions: []
|
|
129
|
+
};
|
|
130
|
+
} else if (["subSearch", "subTableSearch"].includes(conditionItem.fieldOperator)) {
|
|
131
|
+
conditionItem.fieldParams = [];
|
|
132
|
+
conditionItem.chainFieldKey = "";
|
|
133
|
+
conditionItem.fieldValue = [];
|
|
134
|
+
this.dealSubSearch(conditionItem);
|
|
135
|
+
} else {
|
|
136
|
+
conditionItem.fieldSearch = {
|
|
137
|
+
logic: "and",
|
|
138
|
+
conditions: []
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
this.change(operationItem.type, conditionItem);
|
|
143
|
+
}
|
|
106
144
|
},
|
|
107
145
|
// 发生改动
|
|
108
146
|
change (operationType, conditionItem) {
|
|
@@ -120,21 +158,26 @@ export default {
|
|
|
120
158
|
curFormItem = curFormItem || this.canSearchFormList.find(formItem => formItem._key === fieldKey);
|
|
121
159
|
|
|
122
160
|
if (curFormItem) {
|
|
123
|
-
const
|
|
161
|
+
const fieldType = curFormItem._type;
|
|
162
|
+
const fieldData = this.fieldMap[fieldType];
|
|
124
163
|
|
|
125
|
-
const dynamicTypes = this.useChainField ? [...new Set([...(fieldData.categoryTypes || []),
|
|
126
|
-
let dynamicList = dynamicTypes.reduce((list, type) =>
|
|
164
|
+
const dynamicTypes = this.useChainField ? [...new Set([...(fieldData.categoryTypes || []), fieldType])] : [fieldType];
|
|
165
|
+
let dynamicList = dynamicTypes.reduce((list, type) => list.concat(this.dynamicFieldsMap[type] || []), []);
|
|
127
166
|
dynamicList = this.useChainField
|
|
128
|
-
? ["select", "checkbox", "cascader", "cascaders"].includes(
|
|
167
|
+
? ["select", "checkbox", "cascader", "cascaders"].includes(fieldType)
|
|
129
168
|
? dynamicList.filter(dynamicItem => dynamicItem._resourceKey === curFormItem._resourceKey)
|
|
130
|
-
: ["reference"].includes(
|
|
169
|
+
: ["reference"].includes(fieldType) && !!curFormItem._ref
|
|
131
170
|
? dynamicList.filter(dynamicItem => dynamicItem._ref === curFormItem._ref)
|
|
132
171
|
: dynamicList
|
|
133
172
|
: dynamicList;
|
|
134
|
-
const parameterType = initContion.parameterType || (
|
|
173
|
+
const parameterType = initContion.parameterType || (
|
|
174
|
+
(initContion.fieldParams || []).length || initContion.chainFieldKey || (!!dynamicList.length && ["set"].includes(this.mode) && ["reference", "flatTable"].includes(fieldType))
|
|
175
|
+
? "dynamicText"
|
|
176
|
+
: "fixedText"
|
|
177
|
+
);
|
|
135
178
|
const parameterTypeName = (this.parameterPropsObj._data.find(parameterTypeItem => parameterTypeItem._key === parameterType) || { name: `${parameterType}不存在` }).name;
|
|
136
179
|
|
|
137
|
-
const operators = fieldData[
|
|
180
|
+
const operators = fieldData[!dynamicList.length && ["set"].includes(this.mode) ? "operatorsSet" : "operators"] || fieldData.operators || [];
|
|
138
181
|
const fieldOperator = initContion.fieldOperator || (operators[0] || {})._key;
|
|
139
182
|
const fieldOperatorName = (operators.find(operatorItem => operatorItem._key === fieldOperator) || { name: `${fieldOperator}不存在` }).name;
|
|
140
183
|
|
|
@@ -142,7 +185,7 @@ export default {
|
|
|
142
185
|
_id: this.$ObjectID().str,
|
|
143
186
|
logic: "field",
|
|
144
187
|
fieldKey: curFormItem._key,
|
|
145
|
-
fieldType:
|
|
188
|
+
fieldType: fieldType,
|
|
146
189
|
fieldValue: [],
|
|
147
190
|
fieldOperator: fieldOperator,
|
|
148
191
|
fieldSearch: {
|
|
@@ -201,19 +244,7 @@ export default {
|
|
|
201
244
|
|
|
202
245
|
_line: false,
|
|
203
246
|
_span: 24,
|
|
204
|
-
_useColor: true
|
|
205
|
-
|
|
206
|
-
...(
|
|
207
|
-
["default", "rely"].includes(this.mode)
|
|
208
|
-
? (
|
|
209
|
-
["date", "daterange"].includes(formItem._type)
|
|
210
|
-
? {
|
|
211
|
-
_useShortcuts: false
|
|
212
|
-
}
|
|
213
|
-
: {}
|
|
214
|
-
)
|
|
215
|
-
: {}
|
|
216
|
-
)
|
|
247
|
+
_useColor: true
|
|
217
248
|
};
|
|
218
249
|
},
|
|
219
250
|
// 格式化表单配置,适合需要
|