cloud-web-corejs 1.0.54-dev.164 → 1.0.54-dev.165
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/excelImport/mixins.js +748 -1
- package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin.js +1243 -1
- package/src/components/xform/form-designer/form-widget/field-widget/checkbox-widget.vue +5 -2
- package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +57 -11
- package/src/components/xform/form-designer/form-widget/field-widget/import-button-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/radio-widget.vue +5 -2
- package/src/components/xform/form-designer/form-widget/field-widget/select-widget.vue +4 -1
- package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import-button-editor.vue +24 -26
- package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +1 -1
- package/src/store/modules/permission.js +1 -1
@@ -6,12 +6,12 @@
|
|
6
6
|
:disabled="field.options.disabled" :size="field.options.size"
|
7
7
|
@change="handleChangeEvent">
|
8
8
|
<template v-if="!!field.options.buttonStyle">
|
9
|
-
<el-checkbox-button v-for="(item, index) in
|
9
|
+
<el-checkbox-button v-for="(item, index) in optionItems" :key="index" :label="item.value"
|
10
10
|
:disabled="item.disabled" :border="field.options.border"
|
11
11
|
:style="{display: field.options.displayStyle}">{{ getI18nLabel(item.label) }}</el-checkbox-button>
|
12
12
|
</template>
|
13
13
|
<template v-else>
|
14
|
-
<el-checkbox v-for="(item, index) in
|
14
|
+
<el-checkbox v-for="(item, index) in optionItems" :key="index" :label="item[valueField]"
|
15
15
|
:disabled="item.disabled" :border="field.options.border"
|
16
16
|
:style="{display: field.options.displayStyle}">{{ getI18nLabel(item[labelField]) }}</el-checkbox>
|
17
17
|
</template>
|
@@ -73,6 +73,9 @@
|
|
73
73
|
valueField(){
|
74
74
|
return this.field.options.valueKey || "value";
|
75
75
|
},
|
76
|
+
optionItems(){
|
77
|
+
return this.getOptionItems();
|
78
|
+
}
|
76
79
|
},
|
77
80
|
beforeCreate() {
|
78
81
|
/* 这里不能访问方法和属性!! */
|
@@ -134,7 +134,7 @@ modules = {
|
|
134
134
|
if (null === this.fieldModel) return "--";
|
135
135
|
var t = "--";
|
136
136
|
return (
|
137
|
-
this.
|
137
|
+
this.getOptionItems().forEach(function (i) {
|
138
138
|
(i.value !== e.fieldModel &&
|
139
139
|
-1 === e.findInArray(e.fieldModel, i.value)) ||
|
140
140
|
(t = "--" === t ? i.label : t + " " + i.label);
|
@@ -467,6 +467,10 @@ modules = {
|
|
467
467
|
: delete this.refList[e];
|
468
468
|
}
|
469
469
|
},
|
470
|
+
getOptionKey(){
|
471
|
+
let key = +"optionItems-"+ this.field.options.name
|
472
|
+
return key;
|
473
|
+
},
|
470
474
|
async initOptionItems(keepSelected) {
|
471
475
|
var t = this;
|
472
476
|
if (this.designState) {
|
@@ -483,12 +487,17 @@ modules = {
|
|
483
487
|
let formCode = reportTemplate.formCode;
|
484
488
|
let formScriptEnabled = this.field.options.formScriptEnabled || false;
|
485
489
|
let scriptCode = this.field.options.formScriptCode || "getList";
|
490
|
+
let tableParam = this.tableParam;
|
486
491
|
if (formScriptEnabled) {
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
+
if(tableParam){
|
493
|
+
// tableParam.column.params.optionItems
|
494
|
+
let key = this.getOptionKey();
|
495
|
+
let optionItems = tableParam.column.params[key];
|
496
|
+
if(optionItems!==undefined){
|
497
|
+
return
|
498
|
+
}
|
499
|
+
tableParam.column.params[key] = null
|
500
|
+
}
|
492
501
|
let accessParam = this.handleCustomEvent(
|
493
502
|
this.field.options.formScriptParam
|
494
503
|
);
|
@@ -515,6 +524,15 @@ modules = {
|
|
515
524
|
} else if (this.field.options.commonAttributeEnabled) {
|
516
525
|
let commonAttributeCode = this.field.options.commonAttributeCode;
|
517
526
|
if (!commonAttributeCode) return;
|
527
|
+
if(tableParam){
|
528
|
+
// tableParam.column.params.optionItems
|
529
|
+
let key = this.getOptionKey();
|
530
|
+
let optionItems = tableParam.column.params[key];
|
531
|
+
if(optionItems!==undefined){
|
532
|
+
return
|
533
|
+
}
|
534
|
+
tableParam.column.params[key] = null
|
535
|
+
}
|
518
536
|
this.$getBaseDicts({
|
519
537
|
code: commonAttributeCode,
|
520
538
|
success: ({dicts, dictMap}) => {
|
@@ -526,6 +544,16 @@ modules = {
|
|
526
544
|
);
|
527
545
|
},
|
528
546
|
});
|
547
|
+
}else{
|
548
|
+
if(tableParam){
|
549
|
+
// tableParam.column.params.optionItems
|
550
|
+
let key = this.getOptionKey();
|
551
|
+
let optionItems = tableParam.column.params[key];
|
552
|
+
if(optionItems!==undefined){
|
553
|
+
return
|
554
|
+
}
|
555
|
+
tableParam.column.params[key] = this.$baseLodash.cloneDeep(this.field.options.optionItems);
|
556
|
+
}
|
529
557
|
}
|
530
558
|
|
531
559
|
return;
|
@@ -1100,7 +1128,9 @@ modules = {
|
|
1100
1128
|
this.field.options.optionItems = optionItems
|
1101
1129
|
let tableParam = this.tableParam;
|
1102
1130
|
if(tableParam){
|
1103
|
-
|
1131
|
+
let key = this.getOptionKey()
|
1132
|
+
tableParam.column.params[key] = optionItems;
|
1133
|
+
// tableParam.column.params.optionItems = optionItems;
|
1104
1134
|
}
|
1105
1135
|
},
|
1106
1136
|
reloadOptions: function (e) {
|
@@ -1110,18 +1140,34 @@ modules = {
|
|
1110
1140
|
this.field.options.labelKey || "label",
|
1111
1141
|
this.field.options.valueKey || "value"
|
1112
1142
|
);
|
1143
|
+
let tableParam = this.tableParam;
|
1144
|
+
if(tableParam){
|
1145
|
+
let key = this.getOptionKey();
|
1146
|
+
tableParam.column.params[key] = optionItems;
|
1147
|
+
// tableParam.column.params.optionItems = optionItems;
|
1148
|
+
}
|
1113
1149
|
},
|
1114
1150
|
getOptions: function () {
|
1115
|
-
return this.
|
1151
|
+
return this.getOptionItems();
|
1116
1152
|
},
|
1117
1153
|
disableOption: function (e) {
|
1118
|
-
this.disableOptionOfList(this.
|
1154
|
+
this.disableOptionOfList(this.getOptionItems(), e);
|
1119
1155
|
},
|
1120
1156
|
enableOption: function (e) {
|
1121
|
-
this.enableOptionOfList(this.
|
1157
|
+
this.enableOptionOfList(this.getOptionItems(), e);
|
1122
1158
|
},
|
1123
1159
|
getOptionItems: function () {
|
1124
|
-
return this.field.options.optionItems;
|
1160
|
+
// return this.field.options.optionItems;
|
1161
|
+
let tableParam = this.tableParam;
|
1162
|
+
let optionItems = this.field.options.optionItems;
|
1163
|
+
if(tableParam){
|
1164
|
+
let key = this.getOptionKey();
|
1165
|
+
let rows = tableParam.column.params[key];
|
1166
|
+
if(rows!==undefined){
|
1167
|
+
optionItems = rows || []
|
1168
|
+
}
|
1169
|
+
}
|
1170
|
+
return optionItems;
|
1125
1171
|
},
|
1126
1172
|
setUploadHeader: function (e, t) {
|
1127
1173
|
this.$set(this.uploadHeaders, e, t);
|
package/src/components/xform/form-designer/form-widget/field-widget/import-button-widget.vue
CHANGED
@@ -67,7 +67,7 @@ export default {
|
|
67
67
|
// let importCodes = this.field.options.importCodes;
|
68
68
|
this.getFormRef().openImportDialog({
|
69
69
|
importOption: this.field.options,
|
70
|
-
|
70
|
+
importFrontOnly: !!this.field.options.importFrontOnly,
|
71
71
|
callback: (resultData, file, done) => {
|
72
72
|
// this.getWidgetRef(tableTarget).searchEvent();
|
73
73
|
this.handleCustomEvent(this.field.options.onConfirmImport, ['resultData', 'file', 'done'], [resultData, file, done])
|
@@ -6,12 +6,12 @@
|
|
6
6
|
:disabled="field.options.disabled" :size="field.options.size"
|
7
7
|
@change="handleChangeEvent">
|
8
8
|
<template v-if="!!field.options.buttonStyle">
|
9
|
-
<el-radio-button v-for="(item, index) in
|
9
|
+
<el-radio-button v-for="(item, index) in optionItems" :key="index" :label="item.value"
|
10
10
|
:disabled="item.disabled" :border="field.options.border"
|
11
11
|
:style="{display: field.options.displayStyle}">{{ getI18nLabel(item.label) }}</el-radio-button>
|
12
12
|
</template>
|
13
13
|
<template v-else>
|
14
|
-
<el-radio v-for="(item, index) in
|
14
|
+
<el-radio v-for="(item, index) in optionItems" :key="index" :label="item[valueField]"
|
15
15
|
:disabled="item.disabled" :border="field.options.border"
|
16
16
|
:style="{display: field.options.displayStyle}">{{ getI18nLabel(item[labelField]) }}</el-radio>
|
17
17
|
</template>
|
@@ -73,6 +73,9 @@
|
|
73
73
|
valueField(){
|
74
74
|
return this.field.options.valueKey || "value";
|
75
75
|
},
|
76
|
+
optionItems(){
|
77
|
+
return this.getOptionItems();
|
78
|
+
}
|
76
79
|
},
|
77
80
|
beforeCreate() {
|
78
81
|
/* 这里不能访问方法和属性!! */
|
@@ -18,7 +18,7 @@
|
|
18
18
|
@change="handleChangeEvent"
|
19
19
|
:style="'width:'+field.options.widgetWidth+' !important;'"
|
20
20
|
:class="{'custom-width':field.options.widgetWidth!=null}">
|
21
|
-
<el-option v-for="(item,index) in
|
21
|
+
<el-option v-for="(item,index) in optionItems" :key="index" :label="getI18nLabel(item[labelField])"
|
22
22
|
:value="item[valueField]" :disabled="item.disabled">
|
23
23
|
</el-option>
|
24
24
|
</el-select>
|
@@ -87,6 +87,9 @@ export default {
|
|
87
87
|
let optionItems = this.field.options.optionItems;
|
88
88
|
let optionItem = optionItems.find(item => item.value === fieldModel)
|
89
89
|
return optionItem && optionItem.label ? optionItem.label : null;
|
90
|
+
},
|
91
|
+
optionItems(){
|
92
|
+
return this.getOptionItems();
|
90
93
|
}
|
91
94
|
|
92
95
|
},
|
@@ -3,7 +3,10 @@
|
|
3
3
|
<el-form-item label-width="0">
|
4
4
|
<el-divider class="custom-divider">导入设置</el-divider>
|
5
5
|
</el-form-item>
|
6
|
-
<el-form-item label="
|
6
|
+
<el-form-item label="仅导入到前端">
|
7
|
+
<el-switch v-model="optionModel.importFrontOnly"></el-switch>
|
8
|
+
</el-form-item>
|
9
|
+
<el-form-item label="导入数据表名" v-if="!optionModel.importFrontOnly">
|
7
10
|
<el-input v-model="optionModel.importEntity"></el-input>
|
8
11
|
</el-form-item>
|
9
12
|
<el-form-item label="文件大小限制(M)">
|
@@ -19,36 +22,31 @@
|
|
19
22
|
<i slot="suffix" class="el-input__icon el-icon-search" @click="showBdAttachSettingDialog = true"></i>
|
20
23
|
</el-input>
|
21
24
|
</el-form-item>
|
22
|
-
<
|
23
|
-
<el-
|
24
|
-
|
25
|
-
|
26
|
-
<el-
|
27
|
-
|
28
|
-
|
29
|
-
<el-
|
30
|
-
|
31
|
-
|
32
|
-
<el-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
<!-- <el-form-item label="不执行导入后台保存">
|
43
|
-
<el-switch v-model="optionModel.importSaveDisabled"></el-switch>
|
44
|
-
</el-form-item>
|
45
|
-
<el-form-item label="确认回调" label-width="150px">
|
25
|
+
<template v-if="!optionModel.importFrontOnly">
|
26
|
+
<el-form-item label="执行后台脚本编码">
|
27
|
+
<el-input v-model="optionModel.importScriptCode"></el-input>
|
28
|
+
</el-form-item>
|
29
|
+
<el-form-item label="关联表格唯一名称">
|
30
|
+
<el-input v-model="optionModel.tableRef"></el-input>
|
31
|
+
</el-form-item>
|
32
|
+
<el-form-item label="启用图片处理">
|
33
|
+
<el-switch v-model="optionModel.enabledImportPreHandle"></el-switch>
|
34
|
+
</el-form-item>
|
35
|
+
<el-form-item label="导入前数据处理" label-width="150px">
|
36
|
+
<a href="javascript:void(0);" class="a-link link-oneLind"
|
37
|
+
@click="editEventHandler('onBeforeImport', onBeforeImportParams)">
|
38
|
+
<span>{{ optionModel.onBeforeImport }}</span>
|
39
|
+
<i class="el-icon-edit"></i>
|
40
|
+
</a>
|
41
|
+
</el-form-item>
|
42
|
+
</template>
|
43
|
+
<el-form-item label="确认回调" label-width="150px" v-if="optionModel.importFrontOnly">
|
46
44
|
<a href="javascript:void(0);" class="a-link link-oneLind"
|
47
45
|
@click="editEventHandler('onConfirmImport', onConfirmImportParams)">
|
48
46
|
<span>{{ optionModel.onConfirmImport }}</span>
|
49
47
|
<i class="el-icon-edit"></i>
|
50
48
|
</a>
|
51
|
-
</el-form-item
|
49
|
+
</el-form-item>
|
52
50
|
|
53
51
|
<bdAttachSettingDialog v-if="showBdAttachSettingDialog" :visiable.sync="showBdAttachSettingDialog" :multi="false"
|
54
52
|
@confirm="confirmBdAttachSettingDialog"></bdAttachSettingDialog>
|