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.
Files changed (64) hide show
  1. package/package.json +39 -30
  2. package/src/components/wf/content.vue +2 -0
  3. package/src/components/wf/setCandidateDialog.vue +1 -0
  4. package/src/components/xform/form-designer/designer.js +1 -1
  5. package/src/components/xform/form-designer/form-widget/container-widget/data-table-mixin.js +2 -1
  6. package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +3 -0
  7. package/src/components/xform/form-designer/form-widget/field-widget/checkbox-widget.vue +1 -1
  8. package/src/components/xform/form-designer/form-widget/field-widget/dropdown-item-widget.vue +77 -0
  9. package/src/components/xform/form-designer/form-widget/field-widget/dropdown-menu-widget.vue +106 -0
  10. package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +7 -2
  11. package/src/components/xform/form-designer/form-widget/field-widget/mixins/vabsearch-mixin.js +176 -0
  12. package/src/components/xform/form-designer/form-widget/field-widget/multiSearch-widget.vue +53 -0
  13. package/src/components/xform/form-designer/form-widget/field-widget/number-widget.vue +1 -1
  14. package/src/components/xform/form-designer/form-widget/field-widget/project-tag-widget.vue +5 -2
  15. package/src/components/xform/form-designer/form-widget/field-widget/radio-widget.vue +1 -1
  16. package/src/components/xform/form-designer/form-widget/field-widget/search_button-widget.vue +1 -1
  17. package/src/components/xform/form-designer/form-widget/field-widget/select-widget.vue +2 -1
  18. package/src/components/xform/form-designer/form-widget/field-widget/singerSearch-widget.vue +53 -0
  19. package/src/components/xform/form-designer/form-widget/field-widget/status-widget.vue +3 -2
  20. package/src/components/xform/form-designer/form-widget/field-widget/vabSearch-widget.vue +2 -170
  21. package/src/components/xform/form-designer/indexMixin.js +1 -1
  22. package/src/components/xform/form-designer/setting-panel/form-setting.vue +260 -38
  23. package/src/components/xform/form-designer/setting-panel/index.vue +4 -0
  24. package/src/components/xform/form-designer/setting-panel/indexMixin.js +1 -1
  25. package/src/components/xform/form-designer/setting-panel/option-items-setting.vue +8 -3
  26. package/src/components/xform/form-designer/setting-panel/property-editor/a-link-editor.vue +1 -1
  27. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/columnRenderDialog.vue +3 -2
  28. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +0 -8
  29. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +183 -45
  30. package/src/components/xform/form-designer/setting-panel/property-editor/container-list-h5/list-h5-editor.vue +0 -8
  31. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +26 -8
  32. package/src/components/xform/form-designer/setting-panel/property-editor/field-dropdown-menu/dropdown-item-editor.vue +21 -0
  33. package/src/components/xform/form-designer/setting-panel/property-editor/field-dropdown-menu/dropdown-menu-editor.vue +59 -0
  34. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import-button-editor.vue +7 -2
  35. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import2-button-editor.vue +8 -2
  36. package/src/components/xform/form-designer/setting-panel/property-editor/field-status/field-status-editor.vue +47 -28
  37. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabSearch/vabSearchName-editor.vue +13 -1
  38. package/src/components/xform/form-designer/setting-panel/property-editor/formula-editor.vue +722 -467
  39. package/src/components/xform/form-designer/setting-panel/property-editor/formulaEnabled-editor.vue +1 -1
  40. package/src/components/xform/form-designer/setting-panel/property-editor/multiple-editor.vue +19 -14
  41. package/src/components/xform/form-designer/setting-panel/property-editor/project-tag-editor.vue +159 -18
  42. package/src/components/xform/form-designer/setting-panel/property-editor/textFlag-editor.vue +51 -2
  43. package/src/components/xform/form-designer/setting-panel/property-editor/wfFlag-editor.vue +2 -30
  44. package/src/components/xform/form-designer/setting-panel/property-editor/widgetShowRuleFlag-editor.vue +220 -0
  45. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +5 -0
  46. package/src/components/xform/form-designer/toolbar-panel/index.vue +8 -4
  47. package/src/components/xform/form-designer/widget-panel/index.vue +21 -1
  48. package/src/components/xform/form-designer/widget-panel/indexMixin.js +3 -2
  49. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +489 -132
  50. package/src/components/xform/form-render/container-item/data-table-item.vue +7 -4
  51. package/src/components/xform/form-render/container-item/data-table-mixin.js +4 -1
  52. package/src/components/xform/form-render/container-item/data-table-mixin2.js +2169 -0
  53. package/src/components/xform/form-render/container-item/list-h5-item.vue +1 -9
  54. package/src/components/xform/form-render/container-item/list-h5-item2.vue +1 -8
  55. package/src/components/xform/form-render/indexMixin.js +7 -3
  56. package/src/components/xform/lang/zh-CN.js +13 -3
  57. package/src/components/xform/mixins/defaultHandle.js +1 -1
  58. package/src/components/xform/mixins/scriptHttp.js +1 -1
  59. package/src/components/xform/utils/format.js +21 -30
  60. package/src/components/xform/utils/formula-util.js +669 -0
  61. package/src/components/xform/utils/util.js +1 -1
  62. package/src/mixins/selectDialog/index.js +1 -1
  63. package/src/store/modules/permission.js +1 -1
  64. 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
- <!-- <el-form-item label="选项值为数值">
12
- <el-switch v-model="optionModel.isNumericOptionItemValue" @change="changeValueType"></el-switch>
13
- </el-form-item>-->
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 isButtontCell = this.getIsButtontCell(row.formatS);
1127
- let columnWidgetConfig = this.getColumnWidgetConfig(row, true);
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 (columnSelectedWidget) {
1130
- row.columnOption = columnSelectedWidget.options;
1131
- } else {
1132
- row.columnOption = {};
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.width = 47;
1172
+ row.columnOption = {};
1173
+ row.widget = null;
1145
1174
  }
1146
- row.prop = null;
1147
- row.label = null;
1148
- row.sortable = false;
1149
- } else {
1150
- let tmpId = "column" + generateId();
1151
- if (!row.width || row.width == 47) row.width = 150;
1152
- if (!row.prop) row.prop = tmpId;
1153
- if (!row.label) row.label = tmpId;
1154
- row.sortable = true;
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
- if (row.formatS == "editAttachment") {
1157
- row.prop = this.designer.createAttachmentKeyName();
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 attachmentPrefix = this.designer.getAttachmentPrefix();
1160
- row.prop = row.prop.replaceAll(attachmentPrefix, "");
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.openWidgetRenderDialog(row);
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"></el-switch>
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
- <template v-if="selectedWidget.type == 'vabsearch'">
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="selectedWidget.type != 'vabsearch'">
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
- v-model="optionModel.importAttachCode"
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
- v-model="optionModel.importAttachCode"
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
  }