bri-components 1.3.73 → 1.3.75
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 +1 -1
- package/src/components/controls/base/BriUpload/BriUpload.vue +2 -4
- package/src/components/controls/base/DshDate/DshDate.vue +2 -14
- package/src/components/controls/base/DshDate/DshDaterange.vue +21 -21
- package/src/components/controls/controlMap.js +0 -3
- package/src/components/controls/mixins/controlMixin.js +1 -1
- package/src/components/form/DshForm.vue +32 -68
- package/src/components/list/mixins/DshCascaderTableMixin.js +4 -2
- package/src/components/list/mixins/DshTreeTableMixin.js +43 -41
- package/src/components/list/mixins/tableBaseMixin.js +19 -20
package/package.json
CHANGED
|
@@ -143,15 +143,13 @@
|
|
|
143
143
|
return {
|
|
144
144
|
_fileType: "file",
|
|
145
145
|
_showMode: this.isHeightAuto ? "old" : "inline", // 宽度为100%、且不在级联表格或内部表格里的 显示老版
|
|
146
|
-
|
|
146
|
+
_multiple: true,
|
|
147
147
|
_useType: "drag",
|
|
148
148
|
_maxSize: 1024 * 1024,
|
|
149
149
|
_format: [],
|
|
150
150
|
|
|
151
151
|
...this.propsObj,
|
|
152
|
-
...this.commonDealPropsObj
|
|
153
|
-
|
|
154
|
-
_multiple: true // TODO: 解决后端返回的配置数据里,内部表格里的上传字段有脏属性_multiple且为false,早晚要删除这行用上面的那行
|
|
152
|
+
...this.commonDealPropsObj
|
|
155
153
|
};
|
|
156
154
|
},
|
|
157
155
|
subType () {
|
|
@@ -106,9 +106,6 @@
|
|
|
106
106
|
subType () {
|
|
107
107
|
return this.selfPropsObj._dateType;
|
|
108
108
|
},
|
|
109
|
-
writeSort () {
|
|
110
|
-
return this.selfPropsObj._writeSort;
|
|
111
|
-
},
|
|
112
109
|
options () {
|
|
113
110
|
return {
|
|
114
111
|
shortcuts: [],
|
|
@@ -120,17 +117,8 @@
|
|
|
120
117
|
|
|
121
118
|
// 日期字段的平级对比
|
|
122
119
|
const compareBool = this.$normalComparedFunc(this.selfPropsObj, selfValue, this.allFormList, this.parentObj, this.parentFormList, this.inTableType);
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
const caluBool = (
|
|
126
|
-
this.inTableType === "treeTable" &&
|
|
127
|
-
this.writeSort === "downToUp" &&
|
|
128
|
-
this.value.children &&
|
|
129
|
-
this.value.children.length &&
|
|
130
|
-
this.value.children.some(child => this.$isEmptyData(child[this.controlKey]))
|
|
131
|
-
)
|
|
132
|
-
? true
|
|
133
|
-
: this.$levelComparedFunc(this.selfPropsObj, selfValue, this.allListRows, this.inTableType);
|
|
120
|
+
// 层级表格里-日期字段的上下级对比
|
|
121
|
+
const caluBool = this.$levelComparedFunc(this.selfPropsObj, selfValue, this.allListRows, this.inTableType, undefined, true);
|
|
134
122
|
|
|
135
123
|
return !compareBool || !caluBool;
|
|
136
124
|
}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
</template>
|
|
16
16
|
|
|
17
17
|
<!-- 动态日期 -->
|
|
18
|
-
<template v-else-if="['date', 'datetime', '
|
|
18
|
+
<template v-else-if="['date', 'datetime', 'year', 'month'].includes(subType)">
|
|
19
19
|
<DatePicker
|
|
20
20
|
class="DshDaterange-left"
|
|
21
21
|
:model-value="val0"
|
|
@@ -94,115 +94,115 @@
|
|
|
94
94
|
_key: "dyn_today_start",
|
|
95
95
|
name: "今天",
|
|
96
96
|
numbers: [0],
|
|
97
|
-
dateTypes: ["date", "datetime"
|
|
97
|
+
dateTypes: ["date", "datetime"]
|
|
98
98
|
},
|
|
99
99
|
{
|
|
100
100
|
_key: "dyn_today_end",
|
|
101
101
|
name: "今天",
|
|
102
102
|
numbers: [1],
|
|
103
|
-
dateTypes: ["date", "datetime"
|
|
103
|
+
dateTypes: ["date", "datetime"]
|
|
104
104
|
},
|
|
105
105
|
{
|
|
106
106
|
_key: "dyn_now",
|
|
107
107
|
name: "现在",
|
|
108
108
|
numbers: [0, 1],
|
|
109
|
-
dateTypes: ["date", "datetime"
|
|
109
|
+
dateTypes: ["date", "datetime"]
|
|
110
110
|
},
|
|
111
111
|
{
|
|
112
112
|
_key: "dyn_yesterday",
|
|
113
113
|
name: "昨天",
|
|
114
114
|
numbers: [0],
|
|
115
|
-
dateTypes: ["date", "datetime"
|
|
115
|
+
dateTypes: ["date", "datetime"]
|
|
116
116
|
},
|
|
117
117
|
{
|
|
118
118
|
_key: "dyn_subtract_3_days",
|
|
119
119
|
name: "三天前",
|
|
120
120
|
numbers: [0],
|
|
121
|
-
dateTypes: ["date", "datetime"
|
|
121
|
+
dateTypes: ["date", "datetime"]
|
|
122
122
|
},
|
|
123
123
|
{
|
|
124
124
|
_key: "dyn_subtract_7_days",
|
|
125
125
|
name: "七天前",
|
|
126
126
|
numbers: [0],
|
|
127
|
-
dateTypes: ["date", "datetime"
|
|
127
|
+
dateTypes: ["date", "datetime"]
|
|
128
128
|
},
|
|
129
129
|
{
|
|
130
130
|
_key: "dyn_subtract_30_days",
|
|
131
131
|
name: "三十天前",
|
|
132
132
|
numbers: [0],
|
|
133
|
-
dateTypes: ["date", "datetime"
|
|
133
|
+
dateTypes: ["date", "datetime"]
|
|
134
134
|
},
|
|
135
135
|
{
|
|
136
136
|
_key: "dyn_add_3_days",
|
|
137
137
|
name: "三天后",
|
|
138
138
|
numbers: [1],
|
|
139
|
-
dateTypes: ["date", "datetime"
|
|
139
|
+
dateTypes: ["date", "datetime"]
|
|
140
140
|
},
|
|
141
141
|
{
|
|
142
142
|
_key: "dyn_add_7_days",
|
|
143
143
|
name: "七天后",
|
|
144
144
|
numbers: [1],
|
|
145
|
-
dateTypes: ["date", "datetime"
|
|
145
|
+
dateTypes: ["date", "datetime"]
|
|
146
146
|
},
|
|
147
147
|
{
|
|
148
148
|
_key: "dyn_add_30_days",
|
|
149
149
|
name: "三十后",
|
|
150
150
|
numbers: [1],
|
|
151
|
-
dateTypes: ["date", "datetime"
|
|
151
|
+
dateTypes: ["date", "datetime"]
|
|
152
152
|
},
|
|
153
153
|
{
|
|
154
154
|
_key: "last_month_start",
|
|
155
155
|
name: "上月初",
|
|
156
156
|
numbers: [0],
|
|
157
|
-
dateTypes: ["month", "date", "datetime"
|
|
157
|
+
dateTypes: ["month", "date", "datetime"]
|
|
158
158
|
},
|
|
159
159
|
{
|
|
160
160
|
_key: "dyn_month_start",
|
|
161
161
|
name: "月初",
|
|
162
162
|
numbers: [0, 1],
|
|
163
|
-
dateTypes: ["month", "date", "datetime"
|
|
163
|
+
dateTypes: ["month", "date", "datetime"]
|
|
164
164
|
},
|
|
165
165
|
{
|
|
166
166
|
_key: "dyn_month_end",
|
|
167
167
|
name: "月末",
|
|
168
168
|
numbers: [1],
|
|
169
|
-
dateTypes: ["month", "date", "datetime"
|
|
169
|
+
dateTypes: ["month", "date", "datetime"]
|
|
170
170
|
},
|
|
171
171
|
{
|
|
172
172
|
_key: "dyn_quarter_start",
|
|
173
173
|
name: "本季初",
|
|
174
174
|
numbers: [0],
|
|
175
|
-
dateTypes: ["month", "date", "datetime"
|
|
175
|
+
dateTypes: ["month", "date", "datetime"]
|
|
176
176
|
},
|
|
177
177
|
{
|
|
178
178
|
_key: "dyn_quarter_end",
|
|
179
179
|
name: "本季末",
|
|
180
180
|
numbers: [1],
|
|
181
|
-
dateTypes: ["month", "date", "datetime"
|
|
181
|
+
dateTypes: ["month", "date", "datetime"]
|
|
182
182
|
},
|
|
183
183
|
{
|
|
184
184
|
_key: "dyn_year_start",
|
|
185
185
|
name: "年初",
|
|
186
186
|
numbers: [0],
|
|
187
|
-
dateTypes: ["year", "date", "datetime"
|
|
187
|
+
dateTypes: ["year", "date", "datetime"]
|
|
188
188
|
},
|
|
189
189
|
{
|
|
190
190
|
_key: "dyn_year_end",
|
|
191
191
|
name: "年末",
|
|
192
192
|
numbers: [1],
|
|
193
|
-
dateTypes: ["year", "date", "datetime"
|
|
193
|
+
dateTypes: ["year", "date", "datetime"]
|
|
194
194
|
},
|
|
195
195
|
{
|
|
196
196
|
_key: "dyn_nextyear_start",
|
|
197
197
|
name: "次年初",
|
|
198
198
|
numbers: [0],
|
|
199
|
-
dateTypes: ["year", "date", "datetime"
|
|
199
|
+
dateTypes: ["year", "date", "datetime"]
|
|
200
200
|
},
|
|
201
201
|
{
|
|
202
202
|
_key: "dyn_nextyear_end",
|
|
203
203
|
name: "次年末",
|
|
204
204
|
numbers: [1],
|
|
205
|
-
dateTypes: ["year", "date", "datetime"
|
|
205
|
+
dateTypes: ["year", "date", "datetime"]
|
|
206
206
|
}
|
|
207
207
|
]
|
|
208
208
|
};
|
|
@@ -309,7 +309,7 @@
|
|
|
309
309
|
return compareDateStr
|
|
310
310
|
? this.isDynDateKey(compareDateStr)
|
|
311
311
|
? true
|
|
312
|
-
: !this.$isComparedAccord(curDateStr, compareDateStr, compareOperator, "date", this.subType, this.subType)
|
|
312
|
+
: !this.$isComparedAccord(curDateStr, compareDateStr, compareOperator, "date", this.subType, this.subType)
|
|
313
313
|
: false;
|
|
314
314
|
}
|
|
315
315
|
};
|
|
@@ -17,11 +17,8 @@ const componentNameMap = {
|
|
|
17
17
|
url: "DshInput",
|
|
18
18
|
password: "DshInput",
|
|
19
19
|
serialNumber: "DshInput",
|
|
20
|
-
texts: "DshInput",
|
|
21
20
|
number: "DshNumber",
|
|
22
|
-
numberange: "DshNumber",
|
|
23
21
|
date: "DshDate",
|
|
24
|
-
daterange: "DshDate",
|
|
25
22
|
switch: "DshSwitch",
|
|
26
23
|
select: "DshSelect",
|
|
27
24
|
checkbox: "DshCheckbox",
|
|
@@ -132,7 +132,7 @@ export default {
|
|
|
132
132
|
multipleMode () {
|
|
133
133
|
return this.isOnDftSearch || this.isOnSearch
|
|
134
134
|
? true
|
|
135
|
-
: ["
|
|
135
|
+
: ["checkbox", "regions", "cascaders"].includes(this.controlType) || !!this.selfPropsObj._multiple;
|
|
136
136
|
},
|
|
137
137
|
// 是否为tag显示
|
|
138
138
|
tagShow () {
|
|
@@ -355,59 +355,21 @@
|
|
|
355
355
|
|
|
356
356
|
// 必填校验
|
|
357
357
|
if (formItem._required) {
|
|
358
|
-
// 其他配置
|
|
359
|
-
const subFieldsMap = {
|
|
360
|
-
coordinates: {
|
|
361
|
-
fields: {
|
|
362
|
-
lnglat: {
|
|
363
|
-
required: true,
|
|
364
|
-
message: `${formItem._name}为必填项!`,
|
|
365
|
-
type: "array"
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
},
|
|
369
|
-
flatTable: {
|
|
370
|
-
fields: {
|
|
371
|
-
list: {
|
|
372
|
-
required: true,
|
|
373
|
-
message: `${formItem._name}不能为空行!`,
|
|
374
|
-
type: "array"
|
|
375
|
-
}
|
|
376
|
-
}
|
|
377
|
-
},
|
|
378
|
-
cascaderTable: {
|
|
379
|
-
fields: {
|
|
380
|
-
tree: {
|
|
381
|
-
required: true,
|
|
382
|
-
message: `${formItem._name}不能为空行!`,
|
|
383
|
-
type: "array"
|
|
384
|
-
}
|
|
385
|
-
}
|
|
386
|
-
},
|
|
387
|
-
referenceBy: {
|
|
388
|
-
fields: {
|
|
389
|
-
count: {
|
|
390
|
-
message: `${formItem._name}必须关联数据!`,
|
|
391
|
-
type: "number",
|
|
392
|
-
transform: (val) => {
|
|
393
|
-
if (val && val > 0) {
|
|
394
|
-
return val;
|
|
395
|
-
} else {
|
|
396
|
-
return false;
|
|
397
|
-
}
|
|
398
|
-
}
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
}
|
|
402
|
-
};
|
|
403
|
-
|
|
404
358
|
rules.push({
|
|
405
359
|
required: true,
|
|
406
360
|
message: `${formItem._name}为必填项!`,
|
|
407
361
|
trigger: "blur, change",
|
|
408
362
|
type: "string",
|
|
409
|
-
...
|
|
410
|
-
|
|
363
|
+
...ruleConfig,
|
|
364
|
+
fields: ruleConfig.fields && Object.entries(ruleConfig.fields).reduce((obj, arr) => {
|
|
365
|
+
return {
|
|
366
|
+
...obj,
|
|
367
|
+
[arr[0]]: {
|
|
368
|
+
...arr[1],
|
|
369
|
+
message: `${formItem._name}${arr[1].message || ""}`
|
|
370
|
+
}
|
|
371
|
+
};
|
|
372
|
+
}, ruleConfig.fields)
|
|
411
373
|
});
|
|
412
374
|
}
|
|
413
375
|
|
|
@@ -416,32 +378,34 @@
|
|
|
416
378
|
rules.push({
|
|
417
379
|
message: formItem._regMessage || `${formItem._name}格式不正确!`,
|
|
418
380
|
trigger: "blur",
|
|
381
|
+
type: "string",
|
|
419
382
|
transform: (val) => {
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
return ruleConfig.regs.every(regItem => regItem.test(val)) && val;
|
|
424
|
-
}
|
|
383
|
+
return this.$isEmptyData(val)
|
|
384
|
+
? val
|
|
385
|
+
: ruleConfig.regs.every(regItem => regItem.test(val)) && val;
|
|
425
386
|
},
|
|
426
387
|
...ruleConfig
|
|
427
388
|
});
|
|
428
389
|
}
|
|
429
390
|
|
|
430
|
-
//
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
391
|
+
// 对比校验(横向对比和层级对比)-虽然暂时只number和date对比校验,但为了扩展到其他类型时,不修改此处。用type判断:大量使用DshForm的地方有复合类型,type参数(数据类型)没有定义,会出现校验文字
|
|
392
|
+
// if (ruleConfig.type) {
|
|
393
|
+
if (["number", "date"].includes(formItem._type)) {
|
|
394
|
+
const ruleObj = {
|
|
395
|
+
message: `${formItem._name}对比不通过!`,
|
|
396
|
+
trigger: "blur, change",
|
|
397
|
+
type: "string",
|
|
398
|
+
transform: (val) => {
|
|
399
|
+
return this.$normalComparedFunc(formItem, this.formData, this.allFormList, this.parentObj, this.parentFormList, this.inTableType, ruleObj) &&
|
|
400
|
+
this.$levelComparedFunc(formItem, this.formData, this.allListRows, this.inTableType, ruleObj)
|
|
401
|
+
? val
|
|
402
|
+
: false;
|
|
403
|
+
},
|
|
404
|
+
...ruleConfig
|
|
405
|
+
};
|
|
406
|
+
|
|
407
|
+
rules.push(ruleObj);
|
|
408
|
+
}
|
|
445
409
|
|
|
446
410
|
return rules;
|
|
447
411
|
},
|
|
@@ -112,7 +112,7 @@ export default {
|
|
|
112
112
|
},
|
|
113
113
|
|
|
114
114
|
allTreeData () {
|
|
115
|
-
console.log("allTreeData");
|
|
115
|
+
// console.log("allTreeData");
|
|
116
116
|
return this.getCalcuedTree(this.data, this.treeColumns, this.columns);
|
|
117
117
|
},
|
|
118
118
|
allListData () {
|
|
@@ -593,8 +593,10 @@ export default {
|
|
|
593
593
|
]);
|
|
594
594
|
};
|
|
595
595
|
},
|
|
596
|
-
// 表头单元格渲染函数
|
|
596
|
+
// 表头单元格渲染函数 (无法共用contentColumns的renderHeaderCell,因为级联表头的无renderHeaderCell)
|
|
597
597
|
getThRender (column, colIndex) {
|
|
598
|
+
column = this.$transformDynamicProperty(column, undefined, this.parentObj);
|
|
599
|
+
|
|
598
600
|
return (h) => {
|
|
599
601
|
return h("div", [
|
|
600
602
|
this.$getHeadRender(h, column, {
|
|
@@ -269,16 +269,18 @@ export default {
|
|
|
269
269
|
list.forEach((row) => {
|
|
270
270
|
// 递归到叶子节点前 从上往下执行 要处理的
|
|
271
271
|
columns.reduce((newRow, column) => {
|
|
272
|
-
if (
|
|
273
|
-
["
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
272
|
+
if (["number", "date"].includes(column._type)) {
|
|
273
|
+
if (![undefined, null, "", "no"].includes(column._summaryType)) {
|
|
274
|
+
// 不做处理,_summaryType和_writeSort互反,更安全的判断
|
|
275
|
+
}
|
|
276
|
+
else if (["upToDown"].includes(column._writeSort) && column._noLimitWrite !== true) {
|
|
277
|
+
// 有父级且值为空的 值置空
|
|
278
|
+
const val = parentRow && this.$isEmptyData(parentRow[column._key])
|
|
279
|
+
? this.$deepCopy(this.initDftValMap[column._type])
|
|
280
|
+
: newRow[column._key];
|
|
280
281
|
|
|
281
|
-
|
|
282
|
+
this.$set(newRow, column._key, val);
|
|
283
|
+
}
|
|
282
284
|
}
|
|
283
285
|
|
|
284
286
|
return newRow;
|
|
@@ -290,34 +292,31 @@ export default {
|
|
|
290
292
|
|
|
291
293
|
// 递归到叶子节点后到 从下往上执行 要处理的(非叶子节点)
|
|
292
294
|
columns.reduce((newRow, column) => {
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
295
|
+
if (["number", "date"].includes(column._type)) {
|
|
296
|
+
if (![undefined, null, "", "no"].includes(column._summaryType)) {
|
|
297
|
+
const val = ["number"].includes(column._type)
|
|
298
|
+
? this.$calNumList(
|
|
299
|
+
newRow.children.map(subRow => subRow[column._key]),
|
|
300
|
+
column._summaryType,
|
|
301
|
+
{ ...column, _defaultDigit: 2 },
|
|
302
|
+
false
|
|
303
|
+
)
|
|
304
|
+
: this.$calDateList(
|
|
305
|
+
newRow.children.map(subRow => subRow[column._key]),
|
|
306
|
+
column._summaryType,
|
|
307
|
+
column._dateType
|
|
308
|
+
);
|
|
302
309
|
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
newRow
|
|
310
|
-
column._summaryType,
|
|
311
|
-
{ ...column, _defaultDigit: 2 },
|
|
312
|
-
false
|
|
313
|
-
)
|
|
314
|
-
: this.$calDateList(
|
|
315
|
-
newRow.children.map(subRow => subRow[column._key]),
|
|
316
|
-
column._summaryType,
|
|
317
|
-
column._dateType
|
|
318
|
-
);
|
|
310
|
+
this.$set(newRow, column._key, val);
|
|
311
|
+
}
|
|
312
|
+
else if (["downToUp"].includes(column._writeSort) && column._noLimitWrite !== true) {
|
|
313
|
+
// 子行有空值的 值置空
|
|
314
|
+
const val = newRow.children.some(sonRow => this.$isEmptyData(sonRow[column._key]))
|
|
315
|
+
? this.$deepCopy(this.initDftValMap[column._type])
|
|
316
|
+
: newRow[column._key];
|
|
319
317
|
|
|
320
|
-
|
|
318
|
+
this.$set(newRow, column._key, val);
|
|
319
|
+
}
|
|
321
320
|
}
|
|
322
321
|
|
|
323
322
|
return newRow;
|
|
@@ -325,13 +324,16 @@ export default {
|
|
|
325
324
|
} else {
|
|
326
325
|
row.isLeaf = true;
|
|
327
326
|
|
|
328
|
-
//
|
|
327
|
+
// 递归到叶子节点后到 从下往上执行 要处理的(叶子节点)
|
|
329
328
|
columns.reduce((newRow, column) => {
|
|
330
|
-
if (
|
|
331
|
-
["
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
329
|
+
if (["number", "date"].includes(column._type)) {
|
|
330
|
+
if (![undefined, null, "", "no"].includes(column._summaryType)) {
|
|
331
|
+
console.log(newRow);
|
|
332
|
+
this.$set(newRow, column._key, newRow[column._key]);
|
|
333
|
+
}
|
|
334
|
+
else if (["downToUp"].includes(column._writeSort) && column._noLimitWrite !== true) {
|
|
335
|
+
this.$set(newRow, column._key, newRow[column._key]);
|
|
336
|
+
}
|
|
335
337
|
}
|
|
336
338
|
|
|
337
339
|
return newRow;
|
|
@@ -207,7 +207,7 @@ export default {
|
|
|
207
207
|
_isImport: false, // 导入
|
|
208
208
|
_isExport: false, // 导出
|
|
209
209
|
_isQuote: false, // 引用
|
|
210
|
-
|
|
210
|
+
_quoteDisabledColKeys: [], // 引用数据行不可编辑咧
|
|
211
211
|
_quoteListFields: [], // 引用列表的显示字段
|
|
212
212
|
_quoteAdvSearch: {
|
|
213
213
|
logic: "and",
|
|
@@ -274,8 +274,8 @@ export default {
|
|
|
274
274
|
isQuote () {
|
|
275
275
|
return this.selfPropsObj._isQuote;
|
|
276
276
|
},
|
|
277
|
-
|
|
278
|
-
return this.selfPropsObj.
|
|
277
|
+
quoteDisabledColKeys () {
|
|
278
|
+
return this.selfPropsObj._quoteDisabledColKeys;
|
|
279
279
|
},
|
|
280
280
|
quoteListFields () {
|
|
281
281
|
return this.selfPropsObj._quoteListFields;
|
|
@@ -1010,20 +1010,17 @@ export default {
|
|
|
1010
1010
|
// 未触发校验时 不显示错误
|
|
1011
1011
|
if ((this.ruleRecordMap[`${row._id}dsh${col._key}`] || {}).showRuleMessage || this.showRuleMessage) {
|
|
1012
1012
|
// 校验必填不通过 => 校验对比
|
|
1013
|
-
const
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
this.$
|
|
1017
|
-
this.$levelComparedFunc(col, row, this.allListData, this.inTableType, tipObj)
|
|
1018
|
-
);
|
|
1013
|
+
const resultObj = {};
|
|
1014
|
+
this.$getFieldRuleResult(col, row, resultObj) &&
|
|
1015
|
+
this.$normalComparedFunc(col, row, this.columns, this.parentObj, this.allFormList, this.inTableType, resultObj) &&
|
|
1016
|
+
this.$levelComparedFunc(col, row, this.allListData, this.inTableType, resultObj);
|
|
1019
1017
|
|
|
1018
|
+
return resultObj;
|
|
1019
|
+
}
|
|
1020
|
+
else {
|
|
1020
1021
|
return {
|
|
1021
|
-
bool:
|
|
1022
|
-
message:
|
|
1023
|
-
};
|
|
1024
|
-
} else {
|
|
1025
|
-
return {
|
|
1026
|
-
bool: true
|
|
1022
|
+
bool: true,
|
|
1023
|
+
message: "未触发校验,通过!"
|
|
1027
1024
|
};
|
|
1028
1025
|
}
|
|
1029
1026
|
},
|
|
@@ -1043,15 +1040,17 @@ export default {
|
|
|
1043
1040
|
["treeTable"].includes(this.inTableType) && ["number", "date"].includes(col._type)
|
|
1044
1041
|
? ![undefined, null, "", "no"].includes(col._summaryType)
|
|
1045
1042
|
? row.isLeaf === true
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1043
|
+
: ["downToUp", "upToDown"].includes(col._writeSort)
|
|
1044
|
+
? col._noLimitWrite === true
|
|
1045
|
+
? true
|
|
1046
|
+
: ["downToUp"].includes(col._writeSort)
|
|
1047
|
+
? !(row.children && row.children.length) || row.children.every(sonRow => !this.$isEmptyData(sonRow[col._key]))
|
|
1048
|
+
: row.level === 1 || !this.$isEmptyData(this.getParentNode(row, this.allTreeData)[col._key])
|
|
1050
1049
|
: true
|
|
1051
1050
|
: true
|
|
1052
1051
|
) &&
|
|
1053
1052
|
(col._oldReadonly ? row.__old__ !== true : true) && // 老数据行里某些列不可编辑
|
|
1054
|
-
(row.__isQuote__ ? this.
|
|
1053
|
+
(row.__isQuote__ ? !this.quoteDisabledColKeys.includes(col._key) : true) && // 引用过来的数据是否可编辑
|
|
1055
1054
|
col._enterType !== "calculate" && // 计算的不可编辑
|
|
1056
1055
|
col._readonly !== true && // 不能为只读
|
|
1057
1056
|
col.canEdit !== false; // 字段本身编辑权限 考虑为undefined时候
|