cloud-web-corejs 1.0.93 → 1.0.95

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 (65) 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/wf/wf.js +3 -1
  5. package/src/components/xform/form-designer/designer.js +1 -1
  6. package/src/components/xform/form-designer/form-widget/container-widget/data-table-mixin.js +2 -1
  7. package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +3 -0
  8. package/src/components/xform/form-designer/form-widget/field-widget/checkbox-widget.vue +1 -1
  9. package/src/components/xform/form-designer/form-widget/field-widget/dropdown-item-widget.vue +77 -0
  10. package/src/components/xform/form-designer/form-widget/field-widget/dropdown-menu-widget.vue +106 -0
  11. package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +7 -2
  12. package/src/components/xform/form-designer/form-widget/field-widget/mixins/vabsearch-mixin.js +176 -0
  13. package/src/components/xform/form-designer/form-widget/field-widget/multiSearch-widget.vue +53 -0
  14. package/src/components/xform/form-designer/form-widget/field-widget/number-widget.vue +1 -1
  15. package/src/components/xform/form-designer/form-widget/field-widget/project-tag-widget.vue +5 -2
  16. package/src/components/xform/form-designer/form-widget/field-widget/radio-widget.vue +1 -1
  17. package/src/components/xform/form-designer/form-widget/field-widget/search_button-widget.vue +1 -1
  18. package/src/components/xform/form-designer/form-widget/field-widget/select-widget.vue +2 -1
  19. package/src/components/xform/form-designer/form-widget/field-widget/singerSearch-widget.vue +53 -0
  20. package/src/components/xform/form-designer/form-widget/field-widget/status-widget.vue +3 -2
  21. package/src/components/xform/form-designer/form-widget/field-widget/vabSearch-widget.vue +2 -170
  22. package/src/components/xform/form-designer/indexMixin.js +1 -1
  23. package/src/components/xform/form-designer/setting-panel/form-setting.vue +263 -38
  24. package/src/components/xform/form-designer/setting-panel/index.vue +4 -0
  25. package/src/components/xform/form-designer/setting-panel/indexMixin.js +1 -1
  26. package/src/components/xform/form-designer/setting-panel/option-items-setting.vue +8 -3
  27. package/src/components/xform/form-designer/setting-panel/property-editor/a-link-editor.vue +1 -1
  28. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/columnRenderDialog.vue +3 -2
  29. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +0 -8
  30. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +111 -12
  31. package/src/components/xform/form-designer/setting-panel/property-editor/container-list-h5/list-h5-editor.vue +0 -8
  32. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +26 -8
  33. package/src/components/xform/form-designer/setting-panel/property-editor/field-dropdown-menu/dropdown-item-editor.vue +21 -0
  34. package/src/components/xform/form-designer/setting-panel/property-editor/field-dropdown-menu/dropdown-menu-editor.vue +59 -0
  35. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import-button-editor.vue +7 -2
  36. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import2-button-editor.vue +8 -2
  37. package/src/components/xform/form-designer/setting-panel/property-editor/field-status/field-status-editor.vue +47 -28
  38. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabSearch/vabSearchName-editor.vue +13 -1
  39. package/src/components/xform/form-designer/setting-panel/property-editor/formula-editor.vue +722 -467
  40. package/src/components/xform/form-designer/setting-panel/property-editor/formulaEnabled-editor.vue +1 -1
  41. package/src/components/xform/form-designer/setting-panel/property-editor/multiple-editor.vue +19 -14
  42. package/src/components/xform/form-designer/setting-panel/property-editor/project-tag-editor.vue +159 -18
  43. package/src/components/xform/form-designer/setting-panel/property-editor/textFlag-editor.vue +51 -2
  44. package/src/components/xform/form-designer/setting-panel/property-editor/wfFlag-editor.vue +2 -30
  45. package/src/components/xform/form-designer/setting-panel/property-editor/widgetShowRuleFlag-editor.vue +220 -0
  46. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +5 -0
  47. package/src/components/xform/form-designer/toolbar-panel/index.vue +8 -4
  48. package/src/components/xform/form-designer/widget-panel/index.vue +21 -1
  49. package/src/components/xform/form-designer/widget-panel/indexMixin.js +3 -2
  50. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +489 -132
  51. package/src/components/xform/form-render/container-item/data-table-item.vue +7 -4
  52. package/src/components/xform/form-render/container-item/data-table-mixin.js +4 -1
  53. package/src/components/xform/form-render/container-item/data-table-mixin2.js +2169 -0
  54. package/src/components/xform/form-render/container-item/list-h5-item.vue +1 -9
  55. package/src/components/xform/form-render/container-item/list-h5-item2.vue +1 -8
  56. package/src/components/xform/form-render/indexMixin.js +7 -3
  57. package/src/components/xform/lang/zh-CN.js +13 -3
  58. package/src/components/xform/mixins/defaultHandle.js +1 -1
  59. package/src/components/xform/mixins/scriptHttp.js +1 -1
  60. package/src/components/xform/utils/format.js +21 -30
  61. package/src/components/xform/utils/formula-util.js +669 -0
  62. package/src/components/xform/utils/util.js +1 -1
  63. package/src/mixins/selectDialog/index.js +1 -1
  64. package/src/store/modules/permission.js +1 -1
  65. 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));
@@ -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) {
@@ -1128,8 +1164,10 @@ export default {
1128
1164
  let {columnSelectedWidget, columnEditFields} = columnWidgetConfig;
1129
1165
  if (columnSelectedWidget) {
1130
1166
  row.columnOption = columnSelectedWidget.options;
1167
+ row.widget = columnSelectedWidget;
1131
1168
  } else {
1132
1169
  row.columnOption = {};
1170
+ row.widget = null;
1133
1171
  }
1134
1172
 
1135
1173
  if (row.formatS == "editTreeButtonGroup") {
@@ -1151,6 +1189,15 @@ export default {
1151
1189
  if (!row.width || row.width == 47) row.width = 150;
1152
1190
  if (!row.prop) row.prop = tmpId;
1153
1191
  if (!row.label) row.label = tmpId;
1192
+
1193
+ if (this.userFields.includes(row.formatS)) {
1194
+ let item = this.businessOptions.find(item => item.value == row.formatS);
1195
+ if (item) {
1196
+ row.prop = item.value;
1197
+ row.label = item.label;
1198
+ }
1199
+ }
1200
+
1154
1201
  row.sortable = true;
1155
1202
 
1156
1203
  if (row.formatS == "editAttachment") {
@@ -1167,14 +1214,6 @@ export default {
1167
1214
  let columnEditFields = null;
1168
1215
 
1169
1216
  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
1217
 
1179
1218
  if (type) {
1180
1219
  // columnSelectedWidget = this.$baseLodash.cloneDeep(this.designer.getFieldWidgetByType(type));
@@ -1185,6 +1224,12 @@ export default {
1185
1224
  let idVal = row.prop ? row.prop : (type + tmpId);*/
1186
1225
  /*columnSelectedWidget.id = idVal;*/
1187
1226
  // columnSelectedWidget.options.name = idVal;
1227
+ /*if (isEdit) {
1228
+ columnSelectedWidget.id = "edit_" + row.columnId;
1229
+ } else {
1230
+ columnSelectedWidget.id = row.columnId;
1231
+ }*/
1232
+ // columnSelectedWidget.id = row.columnId;
1188
1233
  let columnOption;
1189
1234
  if (!isEdit) {
1190
1235
  columnOption = row.columnOption;
@@ -1271,9 +1316,57 @@ export default {
1271
1316
  }
1272
1317
  return {columnSelectedWidget, columnEditFields};
1273
1318
  },
1319
+ findColumnByColumnId(columnList, columnId) {
1320
+ let result = null
1321
+ if (columnList) {
1322
+ let column = columnList.find(item => item.columnId == columnId);
1323
+ if (!column) {
1324
+
1325
+ }
1326
+ for (let column of columnList) {
1327
+ if (column.columnId == columnId) {
1328
+ result = column;
1329
+ break
1330
+ } else if (column.children && column.children.length) {
1331
+ let subColumn = this.findColumnByColumnId(column.children, children)
1332
+ if (subColumn) {
1333
+ result = subColumn;
1334
+ break
1335
+ }
1336
+ }
1337
+
1338
+ }
1339
+ }
1340
+ return result;
1341
+ },
1274
1342
  openFormatConfigDialog(row, index) {
1275
1343
  if (row.formatS == 'widgetRender') {
1276
- this.openWidgetRenderDialog(row);
1344
+ let formWidgetList = deepClone(this.designer.widgetList);
1345
+ let tableData = deepClone(this.tableData);
1346
+ let columnId = row.columnId;
1347
+
1348
+ let dataTableName = this.optionModel.name;
1349
+
1350
+
1351
+ let targetColumn = null;
1352
+ loopHandleWidget(formWidgetList, (item) => {
1353
+ if (item.options.name == dataTableName) {
1354
+ item.options.tableColumns = tableData;
1355
+ targetColumn = this.findColumnByColumnId(item.options.tableColumns, columnId)
1356
+ }
1357
+ });
1358
+ let getWidgetList = (subWidgetList = []) =>{
1359
+ targetColumn.widgetList = this.$baseLodash.cloneDeep(subWidgetList);
1360
+ return formWidgetList;
1361
+ }
1362
+ let sourceData = {
1363
+ formWidgetList,
1364
+ dataTableName,
1365
+ columnId,
1366
+ getWidgetList
1367
+ }
1368
+
1369
+ this.openWidgetRenderDialog(row, sourceData);
1277
1370
  return
1278
1371
  }
1279
1372
 
@@ -1294,9 +1387,11 @@ export default {
1294
1387
  row.columnOption = columnOption;
1295
1388
  this.operateIndex = index;
1296
1389
 
1390
+ let tableColumns = this.tableData;
1297
1391
  this.openWidgetPropertyDialog({
1298
1392
  row: row,
1299
1393
  columnSelectedWidget: selectedWidget,
1394
+ tableColumns,
1300
1395
  index: index,
1301
1396
  columnEditFields: columnEditFields,
1302
1397
  callback: (columnOption) => {
@@ -1311,6 +1406,7 @@ export default {
1311
1406
  confirmFormatConfigDialog(columnOption, row) {
1312
1407
  // let row = this.tableData[this.operateIndex];
1313
1408
  row.columnOption = columnOption;
1409
+ row.widget.options = columnOption;
1314
1410
  let isButtontCell = this.getIsButtontCell(row.formatS);
1315
1411
  if (!isButtontCell) {
1316
1412
  row.prop = this.getFieldKeyNameByOptions(columnOption);
@@ -1335,8 +1431,10 @@ export default {
1335
1431
  row.editColumnOption = columnOption;
1336
1432
  this.operateIndex = index;
1337
1433
 
1434
+ let tableColumns = this.tableData;
1338
1435
  this.openWidgetPropertyDialog({
1339
1436
  row: row,
1437
+ tableColumns,
1340
1438
  columnSelectedWidget: selectedWidget,
1341
1439
  index: index,
1342
1440
  columnEditFields: columnEditFields,
@@ -1348,6 +1446,7 @@ export default {
1348
1446
  confirmEditFormatConfigDialog(columnOption, row) {
1349
1447
  // let row = this.tableData[this.operateIndex];
1350
1448
  row.editColumnOption = columnOption;
1449
+ row.editWidget.options = columnOption;
1351
1450
  /*row.prop = columnOption.name;
1352
1451
  row.label = columnOption.label;
1353
1452
  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
  }