cloud-web-corejs 1.0.94 → 1.0.96
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 +39 -30
- package/src/components/wf/content.vue +2 -0
- package/src/components/wf/setCandidateDialog.vue +1 -0
- package/src/components/xform/form-designer/designer.js +1 -1
- package/src/components/xform/form-designer/form-widget/container-widget/data-table-mixin.js +2 -1
- package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +3 -0
- package/src/components/xform/form-designer/form-widget/field-widget/checkbox-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/dropdown-item-widget.vue +77 -0
- package/src/components/xform/form-designer/form-widget/field-widget/dropdown-menu-widget.vue +106 -0
- package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +7 -2
- package/src/components/xform/form-designer/form-widget/field-widget/mixins/vabsearch-mixin.js +176 -0
- package/src/components/xform/form-designer/form-widget/field-widget/multiSearch-widget.vue +53 -0
- package/src/components/xform/form-designer/form-widget/field-widget/number-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/project-tag-widget.vue +5 -2
- package/src/components/xform/form-designer/form-widget/field-widget/radio-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/search_button-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/select-widget.vue +2 -1
- package/src/components/xform/form-designer/form-widget/field-widget/singerSearch-widget.vue +53 -0
- package/src/components/xform/form-designer/form-widget/field-widget/status-widget.vue +3 -2
- package/src/components/xform/form-designer/form-widget/field-widget/vabSearch-widget.vue +2 -170
- package/src/components/xform/form-designer/indexMixin.js +1 -1
- package/src/components/xform/form-designer/setting-panel/form-setting.vue +260 -38
- package/src/components/xform/form-designer/setting-panel/index.vue +4 -0
- package/src/components/xform/form-designer/setting-panel/indexMixin.js +1 -1
- package/src/components/xform/form-designer/setting-panel/option-items-setting.vue +8 -3
- package/src/components/xform/form-designer/setting-panel/property-editor/a-link-editor.vue +1 -1
- package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/columnRenderDialog.vue +3 -2
- package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +0 -8
- package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +183 -45
- package/src/components/xform/form-designer/setting-panel/property-editor/container-list-h5/list-h5-editor.vue +0 -8
- package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +26 -8
- package/src/components/xform/form-designer/setting-panel/property-editor/field-dropdown-menu/dropdown-item-editor.vue +21 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/field-dropdown-menu/dropdown-menu-editor.vue +59 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import-button-editor.vue +7 -2
- package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import2-button-editor.vue +8 -2
- package/src/components/xform/form-designer/setting-panel/property-editor/field-status/field-status-editor.vue +47 -28
- package/src/components/xform/form-designer/setting-panel/property-editor/field-vabSearch/vabSearchName-editor.vue +13 -1
- package/src/components/xform/form-designer/setting-panel/property-editor/formula-editor.vue +722 -467
- package/src/components/xform/form-designer/setting-panel/property-editor/formulaEnabled-editor.vue +1 -1
- package/src/components/xform/form-designer/setting-panel/property-editor/multiple-editor.vue +19 -14
- package/src/components/xform/form-designer/setting-panel/property-editor/project-tag-editor.vue +159 -18
- package/src/components/xform/form-designer/setting-panel/property-editor/textFlag-editor.vue +51 -2
- package/src/components/xform/form-designer/setting-panel/property-editor/wfFlag-editor.vue +2 -30
- package/src/components/xform/form-designer/setting-panel/property-editor/widgetShowRuleFlag-editor.vue +220 -0
- package/src/components/xform/form-designer/setting-panel/propertyRegister.js +5 -0
- package/src/components/xform/form-designer/toolbar-panel/index.vue +8 -4
- package/src/components/xform/form-designer/widget-panel/index.vue +21 -1
- package/src/components/xform/form-designer/widget-panel/indexMixin.js +3 -2
- package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +489 -132
- package/src/components/xform/form-render/container-item/data-table-item.vue +7 -4
- package/src/components/xform/form-render/container-item/data-table-mixin.js +4 -1
- package/src/components/xform/form-render/container-item/data-table-mixin2.js +2169 -0
- package/src/components/xform/form-render/container-item/list-h5-item.vue +1 -9
- package/src/components/xform/form-render/container-item/list-h5-item2.vue +1 -8
- package/src/components/xform/form-render/indexMixin.js +7 -3
- package/src/components/xform/lang/zh-CN.js +13 -3
- package/src/components/xform/mixins/defaultHandle.js +1 -1
- package/src/components/xform/mixins/scriptHttp.js +1 -1
- package/src/components/xform/utils/format.js +21 -30
- package/src/components/xform/utils/formula-util.js +669 -0
- package/src/components/xform/utils/util.js +1 -1
- package/src/mixins/selectDialog/index.js +1 -1
- package/src/store/modules/permission.js +1 -1
- package/src/store/modules/settings.js +1 -1
@@ -8,9 +8,14 @@
|
|
8
8
|
</el-radio-group>
|
9
9
|
</el-form-item>
|
10
10
|
|
11
|
-
|
12
|
-
<el-
|
13
|
-
|
11
|
+
<el-form-item label="默认值">
|
12
|
+
<el-input v-model="optionModel.defaultValue" size="mini" style="width: 100px" v-if="!optionModel.optionItemValueType"></el-input>
|
13
|
+
<base-input-number v-model="optionModel.defaultValue" size="mini" style="width: 100px" v-if="optionModel.optionItemValueType==1" />
|
14
|
+
<el-select v-model="optionModel.defaultValue" style="width: 100px" v-if="optionModel.optionItemValueType===2" clearable @clear="optionModel.defaultValue=null">
|
15
|
+
<el-option :value="true" label="true"></el-option>
|
16
|
+
<el-option :value="false" label="false"></el-option>
|
17
|
+
</el-select>
|
18
|
+
</el-form-item>
|
14
19
|
<el-radio-group
|
15
20
|
v-if="selectedWidget.type === 'radio' || (selectedWidget.type === 'select' && !selectedWidget.options.multiple)"
|
16
21
|
v-model="optionModel.defaultValue"
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<el-form-item :label="i18nt('显示下划线')">
|
4
4
|
<el-switch v-model="optionModel.underline"></el-switch>
|
5
5
|
</el-form-item>
|
6
|
-
<el-form-item :label="i18nt('表单值显示')">
|
6
|
+
<el-form-item :label="i18nt('表单值显示')" v-if="selectedWidget.type!=='a-link2'">
|
7
7
|
<el-switch v-model="optionModel.isFormLabel"></el-switch>
|
8
8
|
</el-form-item>
|
9
9
|
<el-form-item :label="i18nt('颜色')">
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<el-tabs v-model="formDesTabs" type="card" class="tab-boxOnly" :stretch="true">
|
7
7
|
<el-tab-pane :label="$t1('设计器')" name="first">
|
8
8
|
<designer ref="designer" :formTemplate="formTemplate" @customConfirm="customConfirm" :columnFlag="true"
|
9
|
-
:widgetList="widgetList"></designer>
|
9
|
+
:widgetList="widgetList" :sourceData="sourceData"></designer>
|
10
10
|
</el-tab-pane>
|
11
11
|
</el-tabs>
|
12
12
|
<el-button class="isFullIcon" v-if="!isFullscreen" @click="handleFullscreen">
|
@@ -27,7 +27,8 @@
|
|
27
27
|
import PopupManager from 'element-ui/src/utils/popup/popup-manager.js'
|
28
28
|
export default {
|
29
29
|
props: {
|
30
|
-
column: Object
|
30
|
+
column: Object,
|
31
|
+
sourceData:Object
|
31
32
|
},
|
32
33
|
components: {
|
33
34
|
designer: () => import("@base/views/user/form/vform/designer.vue"),
|
@@ -879,14 +879,6 @@ export default {
|
|
879
879
|
let columnEditFields = null;
|
880
880
|
|
881
881
|
let type = this.columnFormatMap[row.formatS];
|
882
|
-
/*if (type == 'date') {
|
883
|
-
columnEditFields = ['type', 'format', 'valueFormat']
|
884
|
-
} else if (type == 'select') {
|
885
|
-
|
886
|
-
}
|
887
|
-
if (type == 'vabsearch') {
|
888
|
-
columnEditFields = ['vabSearchField', 'formCode', 'formVersion', 'required', 'showFormField', 'onSearchConfirm', 'onSearchClear']
|
889
|
-
}*/
|
890
882
|
|
891
883
|
if (type) {
|
892
884
|
columnSelectedWidget = this.$baseLodash.cloneDeep(this.designer.getFieldWidgetByType(type));
|
@@ -123,7 +123,7 @@
|
|
123
123
|
<template #default="scope">
|
124
124
|
<el-select
|
125
125
|
v-model="scope.row.formatS"
|
126
|
-
@change="changeFormatS(scope.row)"
|
126
|
+
@change="changeFormatS(scope.row,false)"
|
127
127
|
clearable
|
128
128
|
>
|
129
129
|
<el-option-group
|
@@ -203,7 +203,7 @@
|
|
203
203
|
<template #default="scope">
|
204
204
|
<el-select
|
205
205
|
v-model="scope.row.editFormatS"
|
206
|
-
@change="changeFormatS(scope.row)"
|
206
|
+
@change="changeFormatS(scope.row,true)"
|
207
207
|
clearable
|
208
208
|
>
|
209
209
|
<el-option
|
@@ -341,7 +341,7 @@
|
|
341
341
|
</template>
|
342
342
|
</el-table-column>
|
343
343
|
</el-table>
|
344
|
-
<columnRenderDialog :column="currentTableColumn" v-if="showColumnRenderDialog"
|
344
|
+
<columnRenderDialog :column="currentTableColumn" :sourceData="sourceData" v-if="showColumnRenderDialog"
|
345
345
|
:visiable.sync="showColumnRenderDialog"
|
346
346
|
@confirm="confirmWidgetRenderDialog"></columnRenderDialog>
|
347
347
|
</div>
|
@@ -499,8 +499,29 @@
|
|
499
499
|
<script>
|
500
500
|
import i18n from "../../../../../../components/xform/utils/i18n";
|
501
501
|
import Sortable from "sortablejs";
|
502
|
-
import {generateId} from "../../../../../../components/xform/utils/util";
|
502
|
+
import {generateId, loopHandleWidget,deepClone} from "../../../../../../components/xform/utils/util";
|
503
503
|
import columnRenderDialog from "./columnRenderDialog.vue"
|
504
|
+
import {businessFields} from "@base/components/xform/form-designer/widget-panel/widgetsConfig";
|
505
|
+
|
506
|
+
let businessOptions = [
|
507
|
+
{
|
508
|
+
value: "_createBy",
|
509
|
+
label: "创建人",
|
510
|
+
},
|
511
|
+
{
|
512
|
+
value: "_modifyBy",
|
513
|
+
label: "更新人",
|
514
|
+
},
|
515
|
+
{
|
516
|
+
value: "create_date",
|
517
|
+
label: "创建时间",
|
518
|
+
},
|
519
|
+
{
|
520
|
+
value: "modify_date",
|
521
|
+
label: "更新时间",
|
522
|
+
},
|
523
|
+
];
|
524
|
+
let userFields = ["_createBy", "_modifyBy", "create_date", "modify_date"]
|
504
525
|
|
505
526
|
export default {
|
506
527
|
mixins: [i18n],
|
@@ -512,6 +533,7 @@ export default {
|
|
512
533
|
components: {columnRenderDialog},
|
513
534
|
inject: ["openWidgetPropertyDialog"],
|
514
535
|
data() {
|
536
|
+
|
515
537
|
return {
|
516
538
|
pictLoading: true,
|
517
539
|
tableColumnConfigTitle: null,
|
@@ -534,6 +556,8 @@ export default {
|
|
534
556
|
label: "right",
|
535
557
|
},
|
536
558
|
],
|
559
|
+
businessOptions,
|
560
|
+
userFields,
|
537
561
|
op: [
|
538
562
|
{
|
539
563
|
label: "edit Format",
|
@@ -633,6 +657,11 @@ export default {
|
|
633
657
|
},
|
634
658
|
],
|
635
659
|
},
|
660
|
+
|
661
|
+
{
|
662
|
+
label: "业务模块",
|
663
|
+
options: businessOptions
|
664
|
+
},
|
636
665
|
{
|
637
666
|
label: "Date Format",
|
638
667
|
options: [
|
@@ -721,6 +750,7 @@ export default {
|
|
721
750
|
showRenderDialogFlag: !1,
|
722
751
|
renderJson: "",
|
723
752
|
currentTableColumn: null,
|
753
|
+
sourceData: null,
|
724
754
|
|
725
755
|
hideAfter: 1500,
|
726
756
|
openDelay: 500,
|
@@ -821,8 +851,14 @@ export default {
|
|
821
851
|
this.optionModel.tableColumns = this.tableData;
|
822
852
|
this.closeHandle();
|
823
853
|
},
|
824
|
-
openWidgetRenderDialog(row) {
|
854
|
+
openWidgetRenderDialog(row, sourceData) {
|
825
855
|
this.currentTableColumn = row;
|
856
|
+
this.sourceData = sourceData;
|
857
|
+
|
858
|
+
// this.widgetList =
|
859
|
+
|
860
|
+
// this.designer.widgetList
|
861
|
+
|
826
862
|
this.showColumnRenderDialog = true
|
827
863
|
},
|
828
864
|
confirmWidgetRenderDialog(widgetList) {
|
@@ -1122,44 +1158,71 @@ export default {
|
|
1122
1158
|
return isButtontCell;
|
1123
1159
|
},
|
1124
1160
|
//drag end
|
1125
|
-
changeFormatS(row) {
|
1126
|
-
let
|
1127
|
-
let
|
1161
|
+
changeFormatS(row,isEdit) {
|
1162
|
+
let formatS = isEdit ? row.editFormatS : row.formatS;
|
1163
|
+
let isButtontCell = this.getIsButtontCell(formatS);
|
1164
|
+
let columnWidgetConfig = this.getColumnWidgetConfig(row, true, isEdit);
|
1128
1165
|
let {columnSelectedWidget, columnEditFields} = columnWidgetConfig;
|
1129
|
-
if
|
1130
|
-
|
1131
|
-
|
1132
|
-
|
1133
|
-
|
1134
|
-
|
1135
|
-
if (row.formatS == "editTreeButtonGroup") {
|
1136
|
-
row.prop = null;
|
1137
|
-
row.label = null;
|
1138
|
-
row.sortable = false;
|
1139
|
-
row.width = 150;
|
1140
|
-
} else if (isButtontCell) {
|
1141
|
-
if (row.formatS == "aLink" || row.formatS == "button") {
|
1142
|
-
if (!row.width || row.width == 47) row.width = 150;
|
1166
|
+
if(!isEdit){
|
1167
|
+
//格式化类型
|
1168
|
+
if (columnSelectedWidget) {
|
1169
|
+
row.columnOption = columnSelectedWidget.options;
|
1170
|
+
row.widget = columnSelectedWidget;
|
1143
1171
|
} else {
|
1144
|
-
row.
|
1172
|
+
row.columnOption = {};
|
1173
|
+
row.widget = null;
|
1145
1174
|
}
|
1146
|
-
|
1147
|
-
|
1148
|
-
|
1149
|
-
|
1150
|
-
|
1151
|
-
|
1152
|
-
|
1153
|
-
|
1154
|
-
|
1175
|
+
}else{
|
1176
|
+
//编辑插槽类型
|
1177
|
+
if (columnSelectedWidget) {
|
1178
|
+
row.columnOption = columnSelectedWidget.options;
|
1179
|
+
row.editWidget = columnSelectedWidget;
|
1180
|
+
} else {
|
1181
|
+
row.editColumnOption = {};
|
1182
|
+
row.editWidget = null;
|
1183
|
+
}
|
1184
|
+
}
|
1155
1185
|
|
1156
|
-
|
1157
|
-
|
1186
|
+
if(!isEdit){
|
1187
|
+
if (row.formatS == "editTreeButtonGroup") {
|
1188
|
+
row.prop = null;
|
1189
|
+
row.label = null;
|
1190
|
+
row.sortable = false;
|
1191
|
+
row.width = 150;
|
1192
|
+
} else if (isButtontCell) {
|
1193
|
+
if (row.formatS == "aLink" || row.formatS == "button") {
|
1194
|
+
if (!row.width || row.width == 47) row.width = 150;
|
1195
|
+
} else {
|
1196
|
+
row.width = 47;
|
1197
|
+
}
|
1198
|
+
row.prop = null;
|
1199
|
+
row.label = null;
|
1200
|
+
row.sortable = false;
|
1158
1201
|
} else {
|
1159
|
-
let
|
1160
|
-
row.
|
1202
|
+
let tmpId = "column" + generateId();
|
1203
|
+
if (!row.width || row.width == 47) row.width = 150;
|
1204
|
+
if (!row.prop) row.prop = tmpId;
|
1205
|
+
if (!row.label) row.label = tmpId;
|
1206
|
+
|
1207
|
+
if (this.userFields.includes(row.formatS)) {
|
1208
|
+
let item = this.businessOptions.find(item => item.value == row.formatS);
|
1209
|
+
if (item) {
|
1210
|
+
row.prop = item.value;
|
1211
|
+
row.label = item.label;
|
1212
|
+
}
|
1213
|
+
}
|
1214
|
+
|
1215
|
+
row.sortable = true;
|
1216
|
+
|
1217
|
+
if (row.formatS == "editAttachment") {
|
1218
|
+
row.prop = this.designer.createAttachmentKeyName();
|
1219
|
+
} else {
|
1220
|
+
let attachmentPrefix = this.designer.getAttachmentPrefix();
|
1221
|
+
row.prop = row.prop.replaceAll(attachmentPrefix, "");
|
1222
|
+
}
|
1161
1223
|
}
|
1162
1224
|
}
|
1225
|
+
|
1163
1226
|
},
|
1164
1227
|
getColumnWidgetConfig(row, isChange, isEdit) {
|
1165
1228
|
let formatS = isEdit ? row.editFormatS : row.formatS;
|
@@ -1167,14 +1230,6 @@ export default {
|
|
1167
1230
|
let columnEditFields = null;
|
1168
1231
|
|
1169
1232
|
let type = this.columnFormatMap[formatS];
|
1170
|
-
/*if (type == 'date') {
|
1171
|
-
columnEditFields = ['type', 'format', 'valueFormat']
|
1172
|
-
} else if (type == 'select') {
|
1173
|
-
|
1174
|
-
}
|
1175
|
-
if (type == 'vabsearch') {
|
1176
|
-
columnEditFields = ['vabSearchField', 'formCode', 'formVersion', 'required', 'showFormField', 'onSearchConfirm', 'onSearchClear']
|
1177
|
-
}*/
|
1178
1233
|
|
1179
1234
|
if (type) {
|
1180
1235
|
// columnSelectedWidget = this.$baseLodash.cloneDeep(this.designer.getFieldWidgetByType(type));
|
@@ -1185,6 +1240,12 @@ export default {
|
|
1185
1240
|
let idVal = row.prop ? row.prop : (type + tmpId);*/
|
1186
1241
|
/*columnSelectedWidget.id = idVal;*/
|
1187
1242
|
// columnSelectedWidget.options.name = idVal;
|
1243
|
+
/*if (isEdit) {
|
1244
|
+
columnSelectedWidget.id = "edit_" + row.columnId;
|
1245
|
+
} else {
|
1246
|
+
columnSelectedWidget.id = row.columnId;
|
1247
|
+
}*/
|
1248
|
+
// columnSelectedWidget.id = row.columnId;
|
1188
1249
|
let columnOption;
|
1189
1250
|
if (!isEdit) {
|
1190
1251
|
columnOption = row.columnOption;
|
@@ -1271,9 +1332,57 @@ export default {
|
|
1271
1332
|
}
|
1272
1333
|
return {columnSelectedWidget, columnEditFields};
|
1273
1334
|
},
|
1335
|
+
findColumnByColumnId(columnList, columnId) {
|
1336
|
+
let result = null
|
1337
|
+
if (columnList) {
|
1338
|
+
let column = columnList.find(item => item.columnId == columnId);
|
1339
|
+
if (!column) {
|
1340
|
+
|
1341
|
+
}
|
1342
|
+
for (let column of columnList) {
|
1343
|
+
if (column.columnId == columnId) {
|
1344
|
+
result = column;
|
1345
|
+
break
|
1346
|
+
} else if (column.children && column.children.length) {
|
1347
|
+
let subColumn = this.findColumnByColumnId(column.children, children)
|
1348
|
+
if (subColumn) {
|
1349
|
+
result = subColumn;
|
1350
|
+
break
|
1351
|
+
}
|
1352
|
+
}
|
1353
|
+
|
1354
|
+
}
|
1355
|
+
}
|
1356
|
+
return result;
|
1357
|
+
},
|
1274
1358
|
openFormatConfigDialog(row, index) {
|
1275
1359
|
if (row.formatS == 'widgetRender') {
|
1276
|
-
this.
|
1360
|
+
let formWidgetList = deepClone(this.designer.widgetList);
|
1361
|
+
let tableData = deepClone(this.tableData);
|
1362
|
+
let columnId = row.columnId;
|
1363
|
+
|
1364
|
+
let dataTableName = this.optionModel.name;
|
1365
|
+
|
1366
|
+
|
1367
|
+
let targetColumn = null;
|
1368
|
+
loopHandleWidget(formWidgetList, (item) => {
|
1369
|
+
if (item.options.name == dataTableName) {
|
1370
|
+
item.options.tableColumns = tableData;
|
1371
|
+
targetColumn = this.findColumnByColumnId(item.options.tableColumns, columnId)
|
1372
|
+
}
|
1373
|
+
});
|
1374
|
+
let getWidgetList = (subWidgetList = []) =>{
|
1375
|
+
targetColumn.widgetList = this.$baseLodash.cloneDeep(subWidgetList);
|
1376
|
+
return formWidgetList;
|
1377
|
+
}
|
1378
|
+
let sourceData = {
|
1379
|
+
formWidgetList,
|
1380
|
+
dataTableName,
|
1381
|
+
columnId,
|
1382
|
+
getWidgetList
|
1383
|
+
}
|
1384
|
+
|
1385
|
+
this.openWidgetRenderDialog(row, sourceData);
|
1277
1386
|
return
|
1278
1387
|
}
|
1279
1388
|
|
@@ -1294,9 +1403,11 @@ export default {
|
|
1294
1403
|
row.columnOption = columnOption;
|
1295
1404
|
this.operateIndex = index;
|
1296
1405
|
|
1406
|
+
let tableColumns = this.tableData;
|
1297
1407
|
this.openWidgetPropertyDialog({
|
1298
1408
|
row: row,
|
1299
1409
|
columnSelectedWidget: selectedWidget,
|
1410
|
+
tableColumns,
|
1300
1411
|
index: index,
|
1301
1412
|
columnEditFields: columnEditFields,
|
1302
1413
|
callback: (columnOption) => {
|
@@ -1311,6 +1422,18 @@ export default {
|
|
1311
1422
|
confirmFormatConfigDialog(columnOption, row) {
|
1312
1423
|
// let row = this.tableData[this.operateIndex];
|
1313
1424
|
row.columnOption = columnOption;
|
1425
|
+
|
1426
|
+
if(row.widget){
|
1427
|
+
row.widget.options = columnOption;
|
1428
|
+
}else{
|
1429
|
+
let type = this.columnFormatMap[row.formatS];
|
1430
|
+
let fieldWidget = this.designer.copyNewFieldWidget(
|
1431
|
+
this.designer.getFieldWidgetByType(type)
|
1432
|
+
)
|
1433
|
+
fieldWidget.options = columnOption;
|
1434
|
+
row.widget = fieldWidget;
|
1435
|
+
}
|
1436
|
+
|
1314
1437
|
let isButtontCell = this.getIsButtontCell(row.formatS);
|
1315
1438
|
if (!isButtontCell) {
|
1316
1439
|
row.prop = this.getFieldKeyNameByOptions(columnOption);
|
@@ -1335,8 +1458,10 @@ export default {
|
|
1335
1458
|
row.editColumnOption = columnOption;
|
1336
1459
|
this.operateIndex = index;
|
1337
1460
|
|
1461
|
+
let tableColumns = this.tableData;
|
1338
1462
|
this.openWidgetPropertyDialog({
|
1339
1463
|
row: row,
|
1464
|
+
tableColumns,
|
1340
1465
|
columnSelectedWidget: selectedWidget,
|
1341
1466
|
index: index,
|
1342
1467
|
columnEditFields: columnEditFields,
|
@@ -1348,6 +1473,19 @@ export default {
|
|
1348
1473
|
confirmEditFormatConfigDialog(columnOption, row) {
|
1349
1474
|
// let row = this.tableData[this.operateIndex];
|
1350
1475
|
row.editColumnOption = columnOption;
|
1476
|
+
// row.editWidget.options = columnOption;
|
1477
|
+
|
1478
|
+
if(row.editWidget){
|
1479
|
+
row.editWidget.options = columnOption;
|
1480
|
+
}else{
|
1481
|
+
let type = this.columnFormatMap[row.editFormatS];
|
1482
|
+
let fieldWidget = this.designer.copyNewFieldWidget(
|
1483
|
+
this.designer.getFieldWidgetByType(type)
|
1484
|
+
)
|
1485
|
+
fieldWidget.options = columnOption;
|
1486
|
+
row.editWidget = fieldWidget;
|
1487
|
+
}
|
1488
|
+
|
1351
1489
|
/*row.prop = columnOption.name;
|
1352
1490
|
row.label = columnOption.label;
|
1353
1491
|
row.required = columnOption.required;*/
|
@@ -694,14 +694,6 @@ export default {
|
|
694
694
|
let columnEditFields = null;
|
695
695
|
|
696
696
|
let type = this.columnFormatMap[row.formatS];
|
697
|
-
/*if (type == 'date') {
|
698
|
-
columnEditFields = ['type', 'format', 'valueFormat']
|
699
|
-
} else if (type == 'select') {
|
700
|
-
|
701
|
-
}
|
702
|
-
if (type == 'vabsearch') {
|
703
|
-
columnEditFields = ['vabSearchField', 'formCode', 'formVersion', 'required', 'showFormField', 'onSearchConfirm', 'onSearchClear']
|
704
|
-
}*/
|
705
697
|
|
706
698
|
if (type) {
|
707
699
|
columnSelectedWidget = this.$baseLodash.cloneDeep(this.designer.getFieldWidgetByType(type));
|
@@ -4,12 +4,21 @@
|
|
4
4
|
<el-divider class="custom-divider">选择弹框配置</el-divider>
|
5
5
|
</el-form-item>
|
6
6
|
<el-form-item label="是否多选">
|
7
|
-
<el-switch v-model="eventConfig.multipleChoices"
|
7
|
+
<el-switch v-model="eventConfig.multipleChoices"
|
8
|
+
v-if="selectedWidget.type !== 'singerSearch' && selectedWidget.type !== 'multiSearch'"></el-switch>
|
9
|
+
<span v-else>{{eventConfig.multipleChoices?'是':'否'}}</span>
|
8
10
|
</el-form-item>
|
9
11
|
<el-form-item label="弹框表单编码">
|
10
12
|
<el-input type="text" v-model="eventConfig.formCode"></el-input>
|
11
13
|
</el-form-item>
|
12
|
-
<
|
14
|
+
<el-form-item label="弹框参数">
|
15
|
+
<a href="javascript:void(0);" class="a-link link-oneLind"
|
16
|
+
@click="editEventHandler('confirmCallback', ['dataId', 'formCode','rows'], option2)">
|
17
|
+
<span>{{ eventConfig.dialogQueryParam }}</span>
|
18
|
+
<i class="el-icon-edit"></i>
|
19
|
+
</a>
|
20
|
+
</el-form-item>
|
21
|
+
<template v-if="hasConfig('vabsearchFlag')">
|
13
22
|
<el-form-item label="关联来源字段">
|
14
23
|
<el-input type="text" v-model="eventConfig.valueSourceField"></el-input>
|
15
24
|
</el-form-item>
|
@@ -21,7 +30,7 @@
|
|
21
30
|
<!-- <el-form-item label="多选">
|
22
31
|
<el-switch v-model="optionModel.multiple"></el-switch>
|
23
32
|
</el-form-item>-->
|
24
|
-
<template v-if="
|
33
|
+
<template v-if="!hasConfig('vabsearchFlag')">
|
25
34
|
<el-form-item label="关联表格">
|
26
35
|
<el-switch v-model="eventConfig.tableEnabled"></el-switch>
|
27
36
|
</el-form-item>
|
@@ -135,10 +144,10 @@
|
|
135
144
|
import i18n from "../../../../../../components/xform/utils/i18n"
|
136
145
|
import eventMixin
|
137
146
|
from "../../../../../../components/xform/form-designer/setting-panel/property-editor/event-handler/eventMixin"
|
138
|
-
|
147
|
+
import propertyMixin from "../../../../../../components/xform/form-designer/setting-panel/property-editor/propertyMixin"
|
139
148
|
|
140
149
|
export default {
|
141
|
-
mixins: [i18n, eventMixin],
|
150
|
+
mixins: [i18n, eventMixin, propertyMixin],
|
142
151
|
props: {
|
143
152
|
designer: Object,
|
144
153
|
selectedWidget: Object,
|
@@ -149,14 +158,23 @@ export default {
|
|
149
158
|
return {
|
150
159
|
showDialog: false,
|
151
160
|
tableData: [],
|
152
|
-
option1:{
|
153
|
-
customCode:()=>{
|
161
|
+
option1: {
|
162
|
+
customCode: () => {
|
154
163
|
return this.eventConfig.confirmCallback;
|
155
164
|
},
|
156
|
-
callback:(code)=>{
|
165
|
+
callback: (code) => {
|
157
166
|
this.eventConfig.confirmCallback = code;
|
158
167
|
this.$forceUpdate()
|
159
168
|
}
|
169
|
+
},
|
170
|
+
option2: {
|
171
|
+
customCode: () => {
|
172
|
+
return this.eventConfig.dialogQueryParam;
|
173
|
+
},
|
174
|
+
callback: (code) => {
|
175
|
+
this.eventConfig.dialogQueryParam = code;
|
176
|
+
this.$forceUpdate()
|
177
|
+
}
|
160
178
|
}
|
161
179
|
}
|
162
180
|
},
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<template>
|
2
|
+
<div>
|
3
|
+
|
4
|
+
</div>
|
5
|
+
</template>
|
6
|
+
<script>
|
7
|
+
import i18n from "@base/components/xform/utils/i18n";
|
8
|
+
|
9
|
+
export default {
|
10
|
+
name: "dropdown-menu-editor",
|
11
|
+
mixins: [i18n],
|
12
|
+
props: {
|
13
|
+
designer: Object,
|
14
|
+
selectedWidget: Object,
|
15
|
+
optionModel: Object,
|
16
|
+
},
|
17
|
+
}
|
18
|
+
</script>
|
19
|
+
<style scoped>
|
20
|
+
|
21
|
+
</style>
|
@@ -0,0 +1,59 @@
|
|
1
|
+
<template>
|
2
|
+
<div>
|
3
|
+
<el-form-item :label="i18nt('designer.setting.tabPaneSetting')"></el-form-item>
|
4
|
+
<el-form-item label-width="0" class="panes-setting">
|
5
|
+
<draggable tag="ul" :list="selectedWidget.widgetList"
|
6
|
+
v-bind="{group:'panesGroup', ghostClass: 'ghost', handle: '.drag-option'}" class="draggable-box">
|
7
|
+
<li v-for="(tpItem, tpIdx) in selectedWidget.widgetList" :key="tpIdx" class="col-item">
|
8
|
+
<el-input type="text" v-model="tpItem.options.label" style="width:calc(100% - 65px) !important;"></el-input>
|
9
|
+
<i class="el-icon-s-operation drag-option"></i>
|
10
|
+
<el-button circle plain size="mini" type="danger" @click="deleteTabPane(selectedWidget, tpIdx)"
|
11
|
+
icon="el-icon-minus" class="col-delete-button"></el-button>
|
12
|
+
</li>
|
13
|
+
<div>
|
14
|
+
<el-button type="text" @click="addTabPane(selectedWidget)" icon="el-icon-circle-plus-outline" class="add-option">{{i18nt('designer.setting.addTabPane')}}</el-button>
|
15
|
+
</div>
|
16
|
+
</draggable>
|
17
|
+
</el-form-item>
|
18
|
+
</div>
|
19
|
+
</template>
|
20
|
+
<script>
|
21
|
+
import i18n from "@base/components/xform/utils/i18n";
|
22
|
+
import Draggable from 'vuedraggable'
|
23
|
+
import {deepClone} from "../../../../../../components/xform/utils/util";
|
24
|
+
|
25
|
+
export default {
|
26
|
+
name: "dropdown-menu-editor",
|
27
|
+
components: {Draggable},
|
28
|
+
mixins: [i18n],
|
29
|
+
props: {
|
30
|
+
designer: Object,
|
31
|
+
selectedWidget: Object,
|
32
|
+
optionModel: Object,
|
33
|
+
},
|
34
|
+
methods: {
|
35
|
+
onTabPaneActiveChange(evt, tpItem) {
|
36
|
+
//TODO: !!!
|
37
|
+
},
|
38
|
+
|
39
|
+
addTabPane(curTabs) {
|
40
|
+
this.designer.addDropdownItem(curTabs)
|
41
|
+
this.designer.emitHistoryChange()
|
42
|
+
},
|
43
|
+
|
44
|
+
deleteTabPane(curTabs, tpIdx) {
|
45
|
+
if (curTabs.widgetList.length === 1) {
|
46
|
+
this.$message.info(this.i18nt('designer.hint.lastPaneCannotBeDeleted'))
|
47
|
+
return
|
48
|
+
}
|
49
|
+
|
50
|
+
this.designer.deleteDropdownItem(curTabs, tpIdx)
|
51
|
+
this.designer.emitHistoryChange()
|
52
|
+
},
|
53
|
+
|
54
|
+
}
|
55
|
+
}
|
56
|
+
</script>
|
57
|
+
<style scoped>
|
58
|
+
|
59
|
+
</style>
|
@@ -9,16 +9,20 @@
|
|
9
9
|
<el-form-item label="文件大小限制(M)">
|
10
10
|
<base-input-number v-model="optionModel.importFileLimitSize" :max="200"></base-input-number>
|
11
11
|
</el-form-item>
|
12
|
-
<el-form-item label="
|
12
|
+
<el-form-item label="导入模板文件编码">
|
13
13
|
<el-input
|
14
14
|
class="search-input"
|
15
15
|
max="200"
|
16
|
-
|
16
|
+
:value="optionModel.importAttachCode"
|
17
17
|
clearable
|
18
|
+
@clear="optionModel.importAttachCode=null;optionModel.importAttachName=null;"
|
18
19
|
>
|
19
20
|
<i slot="suffix" class="el-input__icon el-icon-search" @click="showBdAttachSettingDialog = true"></i>
|
20
21
|
</el-input>
|
21
22
|
</el-form-item>
|
23
|
+
<el-form-item label="导入模板文件名称">
|
24
|
+
<span>{{optionModel.importAttachName}}</span>
|
25
|
+
</el-form-item>
|
22
26
|
<el-form-item label="关联表格唯一名称">
|
23
27
|
<el-input v-model="optionModel.tableRef"></el-input>
|
24
28
|
</el-form-item>
|
@@ -77,6 +81,7 @@ export default {
|
|
77
81
|
confirmBdAttachSettingDialog(rows) {
|
78
82
|
if (rows.length) {
|
79
83
|
let row = rows[0];
|
84
|
+
this.optionModel.importAttachName = row.name;
|
80
85
|
this.optionModel.importAttachCode = row.code;
|
81
86
|
}
|
82
87
|
}
|
@@ -6,16 +6,21 @@
|
|
6
6
|
<el-form-item label="文件大小限制(M)">
|
7
7
|
<base-input-number v-model="optionModel.importFileLimitSize" :max="200"></base-input-number>
|
8
8
|
</el-form-item>
|
9
|
-
<el-form-item label="
|
9
|
+
<el-form-item label="导入模板文件编码">
|
10
10
|
<el-input
|
11
11
|
class="search-input"
|
12
12
|
max="200"
|
13
|
-
|
13
|
+
:value="optionModel.importAttachCode"
|
14
14
|
clearable
|
15
|
+
@clear="optionModel.importAttachCode=null;optionModel.importAttachName=null;"
|
15
16
|
>
|
16
17
|
<i slot="suffix" class="el-input__icon el-icon-search" @click="showBdAttachSettingDialog = true"></i>
|
17
18
|
</el-input>
|
18
19
|
</el-form-item>
|
20
|
+
<el-form-item label="导入模板文件名称">
|
21
|
+
<span>{{ optionModel.importAttachName }}</span>
|
22
|
+
</el-form-item>
|
23
|
+
|
19
24
|
<el-form-item label="关联表格唯一名称">
|
20
25
|
<el-input v-model="optionModel.tableRef"></el-input>
|
21
26
|
</el-form-item>
|
@@ -70,6 +75,7 @@ export default {
|
|
70
75
|
confirmBdAttachSettingDialog(rows) {
|
71
76
|
if (rows.length) {
|
72
77
|
let row = rows[0];
|
78
|
+
this.optionModel.importAttachName = row.name;
|
73
79
|
this.optionModel.importAttachCode = row.code;
|
74
80
|
}
|
75
81
|
}
|