cloud-web-corejs 1.0.54-dev.163 → 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/baseAttachment-widget.vue +3 -0
- package/src/components/xform/form-designer/form-widget/field-widget/button-widget.vue +1 -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 +62 -6
- 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/components/xform/form-render/indexMixin.js +384 -73
- package/src/components/xform/form-render/indexMixin2.js +2049 -0
- package/src/components/xform/mixins/defaultHandle.js +120 -1
- package/src/components/xform/mixins/scriptHttp.js +1 -1
- package/src/store/modules/permission.js +1 -1
- package/src/views/bd/setting/table_model/edit.vue +5 -2
@@ -5,7 +5,7 @@
|
|
5
5
|
<el-button ref="fieldEditor" :type="field.options.type" :size="field.options.size" class="button-sty"
|
6
6
|
:plain="field.options.plain" :round="field.options.round"
|
7
7
|
:circle="field.options.circle" :icon="field.options.icon"
|
8
|
-
:disabled="field.options.disabled"
|
8
|
+
:disabled="!designState &&field.options.disabled"
|
9
9
|
@click.native="handleButtonWidgetClick">
|
10
10
|
{{ getI18nLabel(field.options.label)}}</el-button>
|
11
11
|
</static-content-wrapper>
|
@@ -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,7 +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) {
|
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
|
+
}
|
487
501
|
let accessParam = this.handleCustomEvent(
|
488
502
|
this.field.options.formScriptParam
|
489
503
|
);
|
@@ -510,6 +524,15 @@ modules = {
|
|
510
524
|
} else if (this.field.options.commonAttributeEnabled) {
|
511
525
|
let commonAttributeCode = this.field.options.commonAttributeCode;
|
512
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
|
+
}
|
513
536
|
this.$getBaseDicts({
|
514
537
|
code: commonAttributeCode,
|
515
538
|
success: ({dicts, dictMap}) => {
|
@@ -521,6 +544,16 @@ modules = {
|
|
521
544
|
);
|
522
545
|
},
|
523
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
|
+
}
|
524
557
|
}
|
525
558
|
|
526
559
|
return;
|
@@ -1086,12 +1119,19 @@ modules = {
|
|
1086
1119
|
: (this.fieldModel = ""));
|
1087
1120
|
},
|
1088
1121
|
loadOptions: function (e) {
|
1089
|
-
|
1122
|
+
let optionItems = baseRefUtil.translateOptionItems(
|
1090
1123
|
e,
|
1091
1124
|
this.field.type,
|
1092
1125
|
this.field.options.labelKey || "label",
|
1093
1126
|
this.field.options.valueKey || "value"
|
1094
1127
|
);
|
1128
|
+
this.field.options.optionItems = optionItems
|
1129
|
+
let tableParam = this.tableParam;
|
1130
|
+
if(tableParam){
|
1131
|
+
let key = this.getOptionKey()
|
1132
|
+
tableParam.column.params[key] = optionItems;
|
1133
|
+
// tableParam.column.params.optionItems = optionItems;
|
1134
|
+
}
|
1095
1135
|
},
|
1096
1136
|
reloadOptions: function (e) {
|
1097
1137
|
this.field.options.optionItems = baseRefUtil.translateOptionItems(
|
@@ -1100,18 +1140,34 @@ modules = {
|
|
1100
1140
|
this.field.options.labelKey || "label",
|
1101
1141
|
this.field.options.valueKey || "value"
|
1102
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
|
+
}
|
1103
1149
|
},
|
1104
1150
|
getOptions: function () {
|
1105
|
-
return this.
|
1151
|
+
return this.getOptionItems();
|
1106
1152
|
},
|
1107
1153
|
disableOption: function (e) {
|
1108
|
-
this.disableOptionOfList(this.
|
1154
|
+
this.disableOptionOfList(this.getOptionItems(), e);
|
1109
1155
|
},
|
1110
1156
|
enableOption: function (e) {
|
1111
|
-
this.enableOptionOfList(this.
|
1157
|
+
this.enableOptionOfList(this.getOptionItems(), e);
|
1112
1158
|
},
|
1113
1159
|
getOptionItems: function () {
|
1114
|
-
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;
|
1115
1171
|
},
|
1116
1172
|
setUploadHeader: function (e, t) {
|
1117
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 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>
|