cloud-web-corejs 1.0.163 → 1.0.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.
Files changed (66) hide show
  1. package/package.json +2 -1
  2. package/src/components/vb-tabs/x-tabs.vue +30 -13
  3. package/src/components/xform/form-designer/designer.js +1 -1
  4. package/src/components/xform/form-designer/form-widget/components/gantt/index.vue +419 -0
  5. package/src/components/xform/form-designer/form-widget/container-widget/data-table-mixin.js +1 -1
  6. package/src/components/xform/form-designer/form-widget/dialog/baseFormulaDialog copy.vue +971 -0
  7. package/src/components/xform/form-designer/form-widget/dialog/baseFormulaDialog.vue +971 -0
  8. package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +71 -50
  9. package/src/components/xform/form-designer/form-widget/dialog/formulaDialog.vue +799 -0
  10. package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin - /345/211/257/346/234/254.js" +1639 -0
  11. package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +102 -73
  12. package/src/components/xform/form-designer/form-widget/field-widget/cascader-widget.vue +19 -1
  13. package/src/components/xform/form-designer/form-widget/field-widget/census-widget.vue +41 -27
  14. package/src/components/xform/form-designer/form-widget/field-widget/checkbox-widget.vue +4 -1
  15. package/src/components/xform/form-designer/form-widget/field-widget/color-widget.vue +4 -1
  16. package/src/components/xform/form-designer/form-widget/field-widget/date-range-widget.vue +13 -2
  17. package/src/components/xform/form-designer/form-widget/field-widget/date-widget.vue +9 -2
  18. package/src/components/xform/form-designer/form-widget/field-widget/download-button-widget.vue +133 -0
  19. package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +2 -1
  20. package/src/components/xform/form-designer/form-widget/field-widget/gantt-widget.vue +962 -0
  21. package/src/components/xform/form-designer/form-widget/field-widget/input-widget.vue +7 -2
  22. package/src/components/xform/form-designer/form-widget/field-widget/multiSearch-widget.vue +1 -1
  23. package/src/components/xform/form-designer/form-widget/field-widget/number-widget.vue +7 -0
  24. package/src/components/xform/form-designer/form-widget/field-widget/oplog-widget.vue +1 -0
  25. package/src/components/xform/form-designer/form-widget/field-widget/print-button-widget.vue +44 -27
  26. package/src/components/xform/form-designer/form-widget/field-widget/print-detail-button-widget.vue +19 -11
  27. package/src/components/xform/form-designer/form-widget/field-widget/project-tag-widget.vue +19 -1
  28. package/src/components/xform/form-designer/form-widget/field-widget/radio-widget.vue +11 -7
  29. package/src/components/xform/form-designer/form-widget/field-widget/select-widget.vue +11 -8
  30. package/src/components/xform/form-designer/form-widget/field-widget/singerSearch-widget.vue +1 -1
  31. package/src/components/xform/form-designer/form-widget/field-widget/table-export-button-widget.vue +1 -1
  32. package/src/components/xform/form-designer/form-widget/field-widget/vabSearch-widget.vue +1 -1
  33. package/src/components/xform/form-designer/setting-panel/form-setting.vue +106 -76
  34. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +13 -263
  35. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +47 -81
  36. package/src/components/xform/form-designer/setting-panel/property-editor/downloadButtonFlag-editor.vue +32 -0
  37. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onClick-editor.vue +14 -7
  38. package/src/components/xform/form-designer/setting-panel/property-editor/field-gantt/gantt-editor.vue +36 -0
  39. package/src/components/xform/form-designer/setting-panel/property-editor/field-print-button/print-button-editor.vue +37 -16
  40. package/src/components/xform/form-designer/setting-panel/property-editor/field-print-button/print-detail-button-editor.vue +42 -18
  41. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabUpload/field-vabUpload-editor.vue +2 -2
  42. package/src/components/xform/form-designer/setting-panel/property-editor/formScriptEnabled-editor.vue +57 -34
  43. package/src/components/xform/form-designer/setting-panel/property-editor/project-tag-editor.vue +84 -53
  44. package/src/components/xform/form-designer/setting-panel/property-editor/wfFlag-editor.vue +35 -44
  45. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +2 -0
  46. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +68 -3
  47. package/src/components/xform/form-render/container-item/containerItemMixin.js +2 -2
  48. package/src/components/xform/form-render/container-item/data-table-mixin.js +1 -1
  49. package/src/components/xform/form-render/container-item/tab-item.vue +64 -32
  50. package/src/components/xform/form-render/index.vue +69 -23
  51. package/src/components/xform/form-render/indexMixin.js +18 -17
  52. package/src/components/xform/lang/zh-CN.js +8 -2
  53. package/src/components/xform/utils/formula-util.js +306 -5
  54. package/src/components/xform/utils/util.js +1 -1
  55. package/src/components/xform/utils/vue2js-generator.js +2 -2
  56. package/src/utils/request.js +1 -1
  57. package/src/utils/vab.js +1 -1
  58. package/src/views/bd/setting/config_manage/list.vue +7 -0
  59. package/src/views/user/area/dialog.vue +223 -116
  60. package/src/views/user/area/list.vue +318 -0
  61. package/src/views/user/form/vform/render.vue +54 -36
  62. package/src/views/user/form/view/list.vue +103 -10
  63. package/src/views/user/menu/list.vue +24 -1
  64. package/src/views/user/role/authConfig.vue +89 -0
  65. package/src/views/user/role/dialog.vue +70 -48
  66. package/src/views/user/role/edit.vue +114 -4
@@ -22,6 +22,9 @@
22
22
  <el-form-item label="查询列表">
23
23
  <el-switch v-model="optionModel.isQueryTable"></el-switch>
24
24
  </el-form-item>
25
+ <el-form-item label="是否显示查询按钮">
26
+ <el-switch v-model="isShowQueryButton"></el-switch>
27
+ </el-form-item>
25
28
  <el-form-item :label="i18nt('designer.setting.showPagination')">
26
29
  <el-switch v-model="optionModel.showPagination"></el-switch>
27
30
  </el-form-item>
@@ -211,162 +214,6 @@
211
214
  </template>
212
215
  <code-editor mode="json" :readonly="!1" v-model="tableDataOptions"></code-editor>
213
216
  </el-dialog>
214
- <!-- <el-dialog
215
- v-if="dialogVisible"
216
- custom-class="dialog-style list-dialog"
217
- :title="i18nt('designer.setting.tableColEdit')"
218
- :visible.sync="dialogVisible"
219
- :show-close="!0"
220
- :append-to-body="false"
221
- :modal="false"
222
- :close-on-click-modal="!1"
223
- :close-on-press-escape="!1"
224
- :destroy-on-close="!0"
225
- width="1220px"
226
- v-dialog-drag
227
- >
228
- <div class="cont">
229
- <template slot="footer">
230
- <div class="dialog-footer">
231
- <el-button type="" @click="dialogVisible = !1" class="button-sty" icon="el-icon-close">
232
- {{ i18nt('designer.hint.cancel') }}
233
- </el-button>
234
- <el-button type="primary" @click="colSubmit" class="button-sty" icon="el-icon-check">
235
- {{ i18nt('designer.hint.confirm') }}
236
- </el-button>
237
-
238
- </div>
239
- </template>
240
- <el-table
241
- ref="singleTable"
242
- width="100%"
243
- :data="optionModel.tableColumns"
244
-
245
- height="500"
246
- border=""
247
- row-key="columnId"
248
- stripe=""
249
- >
250
- <el-table-column type="index" width="35" fixed="left"></el-table-column>
251
- <el-table-column label="" width="35"><i class="el-icon-s-operation drag-option"></i></el-table-column>
252
- <el-table-column :label="i18nt('designer.setting.columnLabel')" width="150" prop="label">
253
- <template slot-scope="scope">
254
- <el-input v-model="scope.row.label"></el-input>
255
- </template>
256
- </el-table-column>
257
- <el-table-column :label="i18nt('designer.setting.columnName')" width="150" prop="prop">
258
- <template slot-scope="scope">
259
- <el-input v-model="scope.row.prop"></el-input>
260
- </template>
261
- </el-table-column>
262
- <el-table-column :label="i18nt('designer.setting.columnWidth')" width="100" prop="width">
263
- <template slot-scope="scope">
264
- <el-input v-model="scope.row.width"></el-input>
265
- </template>
266
- </el-table-column>
267
- <el-table-column :label="i18nt('designer.setting.visibleColumn')" width="70" prop="show">
268
- <template slot-scope="scope">
269
- <el-switch v-model="scope.row.show"></el-switch>
270
- </template>
271
- </el-table-column>
272
- <el-table-column :label="i18nt('必填')" width="70" prop="required">
273
- <template slot-scope="scope">
274
- <el-switch v-model="scope.row.required"></el-switch>
275
- </template>
276
- </el-table-column>
277
- <el-table-column :label="i18nt('designer.setting.sortableColumn')" width="70" prop="sortable">
278
- <template slot-scope="scope">
279
- <el-switch v-model="scope.row.sortable"></el-switch>
280
- </template>
281
- </el-table-column>
282
- <el-table-column :label="i18nt('designer.setting.fixedColumn')" width="100" prop="fixed">
283
- <template slot-scope="scope">
284
- <el-select v-model="scope.row.fixed" clearable>
285
- <el-option value="left">left</el-option>
286
- <el-option value="right">right</el-option>
287
- </el-select>
288
- </template>
289
- </el-table-column>
290
- &lt;!&ndash; <el-table-column :label="i18nt('designer.setting.alignTypeOfColumn')" width="100" prop="align">
291
- <template slot-scope="scope">
292
- <el-select v-model="scope.row.align">
293
- <el-option v-for="(e,index) in alignOptions" :key="index" :value="e.value" :label="e.label"></el-option>
294
- </el-select>
295
- </template>
296
- </el-table-column>&ndash;&gt;
297
- <el-table-column :label="i18nt('designer.setting.formatOfColumn')" width="200" prop="formatS">
298
- <template slot-scope="scope">
299
- <el-select v-model="scope.row.formatS" @change="changeFormatS(scope.row)" clearable>
300
- <el-option-group :label="i18nt('designer.setting.customRenderGroup')">
301
- <el-option value="render" label="render"></el-option>
302
- </el-option-group>
303
- <el-option-group v-for="t in op" :key="t.label" :label="t.label">
304
- <el-option v-for="e in t.options" :key="e.value" :value="e.value" :label="e.label"></el-option>
305
- </el-option-group>
306
- </el-select>
307
- </template>
308
- </el-table-column>
309
- <el-table-column label="格式化配置" width="70" fixed="right" align="center">
310
- <template slot-scope="scope">
311
- <el-button size="mini" plain="" round="" icon="el-icon-edit"
312
- @click="openFormatConfigDialog(scope.row,scope.$index)"
313
- :disabled="!columnFormatMap[scope.row.formatS]"></el-button>
314
- </template>
315
- </el-table-column>
316
- <el-table-column :label="i18nt('designer.setting.renderFunction')" width="70" fixed="right" align="center">
317
- <template slot-scope="scope">
318
- <el-button :disabled="'render' !== scope.row.formatS" size="mini" plain="" round="" icon="el-icon-edit"
319
- @click="showRenderDialog(scope.row)"></el-button>
320
- </template>
321
- </el-table-column>
322
- <el-table-column :label="i18nt('designer.setting.actionColumn')" width="100" fixed="right" align="center">
323
- <template #header>
324
- <span>{{ i18nt('designer.setting.actionColumn') }}</span>
325
- &lt;!&ndash; <el-button :title="i18nt('designer.setting.addTableColumn')" size="mini" type="" circle=""
326
- icon="el-icon-plus" @click="openFieldTreeDialog"></el-button>&ndash;&gt;
327
- </template>
328
- <template slot-scope="scope">
329
- <el-button :title="i18nt('designer.setting.addTableColumn')" size="mini" type="" circle=""
330
- icon="el-icon-plus" @click="addCol"></el-button>
331
- <el-button
332
- :title="i18nt('designer.setting.deleteTableColumn')"
333
- size="mini"
334
- type=""
335
- circle=""
336
- icon="el-icon-minus"
337
- @click="handleDelete(scope.$index, scope.row)"
338
- ></el-button>
339
- </template>
340
- </el-table-column>
341
-
342
- </el-table>
343
- </div>
344
-
345
- </el-dialog>-->
346
- <!-- <el-dialog
347
- v-if="showRenderDialogFlag"
348
- :title="i18nt('designer.setting.renderFunction')"
349
- :visible.sync="showRenderDialogFlag"
350
- append-to-body=""
351
- :show-close="!0"
352
- custom-class="dialog-style list-dialog"
353
- :close-on-click-modal="!1"
354
- :close-on-press-escape="!1"
355
- :destroy-on-close="!0"
356
- v-dialog-drag
357
- >
358
- <el-alert type="info" :closable="!1" title="function customRender(params,h) {"/>
359
- <code-editor ref="dsResultEditor" mode="javascript" :readonly="!1" v-model="renderJson"></code-editor>
360
- <el-alert type="info" :closable="!1" title="}"/>
361
- <div class="dialog-footer" slot="footer">
362
- <el-button @click="showRenderDialogFlag = !1" class="button-sty" icon="el-icon-close">
363
- {{ i18nt('designer.hint.cancel') }}
364
- </el-button>
365
- <el-button type="primary" @click="saveColumnRender" class="button-sty" icon="el-icon-check">
366
- {{ i18nt('designer.hint.confirm') }}
367
- </el-button>
368
- </div>
369
- </el-dialog>-->
370
217
  <el-dialog
371
218
  v-if="showSqlEditDialog"
372
219
  :title="i18nt('数据源SQL编辑')"
@@ -457,111 +304,6 @@
457
304
  </el-button>
458
305
  </span>
459
306
  </el-dialog>
460
- <!-- <el-dialog
461
- v-if="showDateConfigDialog"
462
- :title="i18nt('日期配置编辑')"
463
- :visible.sync="showDateConfigDialog"
464
- append-to-body=""
465
- :show-close="!0"
466
- custom-class="dialog-style list-dialog"
467
- :close-on-click-modal="!1"
468
- :close-on-press-escape="!1"
469
- :destroy-on-close="!0"
470
- v-dialog-drag
471
- >
472
- <div class="cont">
473
- <el-form>
474
- <template v-for="(editorName, index) in dateFieldList">
475
- <component
476
- :is="editorName"
477
- :designer="designer"
478
- :selected-widget="selectedWidget"
479
- :option-model="columnOption"
480
- :key="index"
481
- ></component>
482
- </template>
483
- </el-form>
484
- </div>
485
- <div class="dialog-footer" slot="footer">
486
- <el-button @click="showDateConfigDialog = !1" class="button-sty" icon="el-icon-close">
487
- {{ i18nt('designer.hint.cancel') }}
488
- </el-button>
489
- <el-button type="primary" class="button-sty" icon="el-icon-check" @click="confirmDateConfigDialog">
490
- {{ i18nt('designer.hint.confirm') }}
491
- </el-button>
492
- </div>
493
- </el-dialog>-->
494
- <!-- <el-dialog
495
- v-if="showDateConfigDialog"
496
- :title="i18nt('日期配置编辑')"
497
- :visible.sync="showDateConfigDialog"
498
- append-to-body=""
499
- :show-close="!0"
500
- custom-class="dialog-style list-dialog"
501
- :close-on-click-modal="!1"
502
- :close-on-press-escape="!1"
503
- :destroy-on-close="!0"
504
- v-dialog-drag
505
- >
506
- <div class="cont">
507
- <el-scrollbar class="setting-scrollbar">
508
- <el-form :model="columnOption" size="mini" label-position="left" label-width="120px" class="setting-form"
509
- @submit.native.prevent>
510
- <el-collapse v-model="widgetActiveCollapseNames" class="setting-collapse">
511
- <el-collapse-item name="1" v-if="showCollapse(commonProps)"
512
- :title="i18nt('designer.setting.commonSetting')">
513
- <template v-for="(editorName, propName) in commonProps">
514
- <component
515
- v-if="hasPropEditor(propName, editorName)"
516
- :is="getPropEditor(propName, editorName)"
517
- :designer="designer"
518
- :selected-widget="columnSelectedWidget"
519
- :option-model="columnOption"
520
- :key="propName"
521
- ></component>
522
- </template>
523
- </el-collapse-item>
524
-
525
- <el-collapse-item name="2" v-if="showCollapse(advProps)"
526
- :title="i18nt('designer.setting.advancedSetting')">
527
- <template v-for="(editorName, propName) in advProps">
528
- <component
529
- v-if="hasPropEditor(propName, editorName)"
530
- :is="getPropEditor(propName, editorName)"
531
- :designer="designer"
532
- :selected-widget="selectedWidget"
533
- :option-model="columnOption"
534
- :key="propName"
535
- ></component>
536
- </template>
537
- </el-collapse-item>
538
-
539
- <el-collapse-item name="3" v-if="showEventCollapse() && showCollapse(eventProps)"
540
- :title="i18nt('designer.setting.eventSetting')">
541
- <template v-for="(editorName, propName) in eventProps">
542
- <component
543
- v-if="hasPropEditor(propName, editorName)"
544
- :is="getPropEditor(propName, editorName)"
545
- :designer="designer"
546
- :selected-widget="selectedWidget"
547
- :option-model="columnOption"
548
- :key="propName"
549
- ></component>
550
- </template>
551
- </el-collapse-item>
552
- </el-collapse>
553
- </el-form>
554
- </el-scrollbar>
555
- </div>
556
- <div class="dialog-footer" slot="footer">
557
- <el-button @click="showDateConfigDialog = !1" class="button-sty" icon="el-icon-close">
558
- {{ i18nt('designer.hint.cancel') }}
559
- </el-button>
560
- <el-button type="primary" class="button-sty" icon="el-icon-check" @click="confirmDateConfigDialog">
561
- {{ i18nt('designer.hint.confirm') }}
562
- </el-button>
563
- </div>
564
- </el-dialog>-->
565
307
  <tableColumnDialog
566
308
  v-if="dialogVisible"
567
309
  :visiable.sync="dialogVisible"
@@ -578,7 +320,7 @@ import Draggable from "vuedraggable";
578
320
  import { deepClone, generateId } from "../../../../../../components/xform/utils/util";
579
321
  import Sortable from "sortablejs";
580
322
  import requestaccessDialog from "../../../../../../views/user/form/report_requestaccess/dialog.vue";
581
- import conditionEditor from "./condition-editor.vue";
323
+ // import conditionEditor from "./condition-editor.vue";
582
324
  import tableColumnDialog from "./table-column-dialog.vue";
583
325
  import eventMixin from "../../../../../../components/xform/form-designer/setting-panel/property-editor/event-handler/eventMixin";
584
326
  import setttingConfig from "@/settings";
@@ -590,7 +332,7 @@ export default {
590
332
  components: {
591
333
  Draggable,
592
334
  requestaccessDialog,
593
- conditionEditor,
335
+ // conditionEditor,
594
336
  tableColumnDialog,
595
337
  },
596
338
  props: {
@@ -805,6 +547,14 @@ export default {
805
547
  this.optionModel.isNotQueryAllPage = !val;
806
548
  },
807
549
  },
550
+ isShowQueryButton: {
551
+ get() {
552
+ return !this.optionModel.isNotShowQueryButton;
553
+ },
554
+ set(val) {
555
+ this.optionModel.isNotShowQueryButton = !val;
556
+ },
557
+ },
808
558
  },
809
559
  created: function () {
810
560
  // this.reportTemplate = this.getReportTemplate();
@@ -104,9 +104,7 @@
104
104
  @change="changeFormatS(scope.row, false)"
105
105
  clearable
106
106
  >
107
- <el-option-group
108
- :label="i18nt('designer.setting.customRenderGroup')"
109
- >
107
+ <el-option-group :label="i18nt('designer.setting.customRenderGroup')">
110
108
  <el-option value="render" label="render"></el-option>
111
109
  </el-option-group>
112
110
  <el-option-group v-for="t in op" :key="t.label" :label="t.label">
@@ -169,12 +167,12 @@
169
167
  <el-switch v-model="scope.row.sortable"></el-switch>
170
168
  </template>
171
169
  </el-table-column>
172
- <el-table-column
173
- label="编辑更多属性"
174
- width="100"
175
- align="center"
176
- fixed="right"
177
- >
170
+ <el-table-column label="显示筛选" width="70" prop="filterable">
171
+ <template #default="scope">
172
+ <el-switch v-model="scope.row.filterable"></el-switch>
173
+ </template>
174
+ </el-table-column>
175
+ <el-table-column label="编辑更多属性" width="100" align="center" fixed="right">
178
176
  <template #default="scope">
179
177
  <el-button
180
178
  size="mini"
@@ -288,11 +286,7 @@
288
286
  top="7vh"
289
287
  :append-to-body="true"
290
288
  >
291
- <el-alert
292
- type="info"
293
- :closable="!1"
294
- title="function customRender(params,h) {"
295
- />
289
+ <el-alert type="info" :closable="!1" title="function customRender(params,h) {" />
296
290
  <code-editor
297
291
  ref="dsResultEditor"
298
292
  mode="javascript"
@@ -461,9 +455,7 @@
461
455
  @change="changeFormatS(rowData, false)"
462
456
  clearable
463
457
  >
464
- <el-option-group
465
- :label="i18nt('designer.setting.customRenderGroup')"
466
- >
458
+ <el-option-group :label="i18nt('designer.setting.customRenderGroup')">
467
459
  <el-option value="render" label="render"></el-option>
468
460
  </el-option-group>
469
461
  <el-option-group v-for="t in op" :key="t.label" :label="t.label">
@@ -484,8 +476,7 @@
484
476
  icon="el-icon-edit"
485
477
  @click="openFormatConfigDialog(rowData, rowDataIndex)"
486
478
  :disabled="
487
- !columnFormatMap[rowData.formatS] &&
488
- 'widgetRender' !== rowData.formatS
479
+ !columnFormatMap[rowData.formatS] && 'widgetRender' !== rowData.formatS
489
480
  "
490
481
  ></el-button>
491
482
  </el-form-item>
@@ -505,6 +496,9 @@
505
496
  <el-form-item :label="i18nt('designer.setting.sortableColumn')">
506
497
  <el-switch v-model="rowData.sortable"></el-switch>
507
498
  </el-form-item>
499
+ <el-form-item label="显示筛选">
500
+ <el-switch v-model="rowData.filterable"></el-switch>
501
+ </el-form-item>
508
502
  <el-form-item :label="i18nt('明细行')">
509
503
  <el-switch v-model="rowData.isItemLine"></el-switch>
510
504
  </el-form-item>
@@ -565,9 +559,7 @@
565
559
  plain=""
566
560
  round=""
567
561
  icon="el-icon-edit"
568
- @click="
569
- editFormEventHandler(rowData, rowDataIndex, 'footerMethodConfg')
570
- "
562
+ @click="editFormEventHandler(rowData, rowDataIndex, 'footerMethodConfg')"
571
563
  :disabled="rowData.footerDataType !== '3'"
572
564
  ></el-button>
573
565
  </el-form-item>
@@ -583,11 +575,7 @@
583
575
  </el-form>
584
576
  </div>
585
577
  <div class="dialog-footer" slot="footer">
586
- <el-button
587
- @click="closeRowEditDialog"
588
- class="button-sty"
589
- icon="el-icon-close"
590
- >
578
+ <el-button @click="closeRowEditDialog" class="button-sty" icon="el-icon-close">
591
579
  {{ i18nt("designer.hint.cancel") }}
592
580
  </el-button>
593
581
  <el-button
@@ -609,7 +597,7 @@ import {
609
597
  generateId,
610
598
  loopHandleWidget,
611
599
  deepClone,
612
- columnFormatMap
600
+ columnFormatMap,
613
601
  } from "../../../../../../components/xform/utils/util";
614
602
  import columnRenderDialog from "./columnRenderDialog.vue";
615
603
 
@@ -871,7 +859,7 @@ export default {
871
859
  showFormEventDialogFlag: false,
872
860
  formEventHandlerCode: "",
873
861
  curEventName: "",
874
- curEventRow:null,
862
+ curEventRow: null,
875
863
 
876
864
  eventParamsMap: {
877
865
  footerMethodConfg: "footerMethodConfg(dataId,formCode,param) {",
@@ -912,21 +900,16 @@ export default {
912
900
  });
913
901
 
914
902
  if (syntaxErrorFlag) {
915
- this.$message.error(
916
- this.i18nt("designer.setting.syntaxCheckWarning")
917
- );
903
+ this.$message.error(this.i18nt("designer.setting.syntaxCheckWarning"));
918
904
  return;
919
905
  }
920
906
  }
921
- this.curEventRow[this.curEventName] =
922
- this.formEventHandlerCode;
907
+ this.curEventRow[this.curEventName] = this.formEventHandlerCode;
923
908
  this.showFormEventDialogFlag = false;
924
909
  },
925
910
  init() {
926
911
  setTimeout(() => {
927
- this.tableData = this.$baseLodash.cloneDeep(
928
- this.optionModel.tableColumns
929
- );
912
+ this.tableData = this.$baseLodash.cloneDeep(this.optionModel.tableColumns);
930
913
  this.$nextTick(() => {
931
914
  this.rowDrop();
932
915
  setTimeout(() => {
@@ -1026,8 +1009,7 @@ export default {
1026
1009
  let newRow = this.generateRow(generateParentId);
1027
1010
  if (children) {
1028
1011
  if (type === "SIBLING") {
1029
- let addIndex =
1030
- children.findIndex((item) => item.columnId == row.columnId) + 1;
1012
+ let addIndex = children.findIndex((item) => item.columnId == row.columnId) + 1;
1031
1013
  children.splice(addIndex, 0, newRow);
1032
1014
  } else {
1033
1015
  children.push(newRow);
@@ -1056,6 +1038,7 @@ export default {
1056
1038
  align: "left",
1057
1039
  show: true,
1058
1040
  sortable: true,
1041
+ filterable: true,
1059
1042
  exportType: null,
1060
1043
  footerDataType: null,
1061
1044
  footerMethodConfg: null,
@@ -1074,9 +1057,7 @@ export default {
1074
1057
  const { parentId, columnId } = row;
1075
1058
  // 根节点直接删除
1076
1059
  if (!parentId) {
1077
- const delIndex = this.tableData.findIndex(
1078
- (item) => item.columnId === columnId
1079
- );
1060
+ const delIndex = this.tableData.findIndex((item) => item.columnId === columnId);
1080
1061
  this.tableData.splice(delIndex, 1);
1081
1062
  } else {
1082
1063
  // 找到父节点,通过父节点删除
@@ -1095,9 +1076,7 @@ export default {
1095
1076
 
1096
1077
  const { children } = parentRow;
1097
1078
 
1098
- const delIndex = children.findIndex(
1099
- (item) => item.columnId === columnId
1100
- );
1079
+ const delIndex = children.findIndex((item) => item.columnId === columnId);
1101
1080
 
1102
1081
  children.splice(delIndex, 1);
1103
1082
  }
@@ -1161,9 +1140,7 @@ export default {
1161
1140
  //数组转树
1162
1141
  arrToTree(arr, parentId) {
1163
1142
  return arr
1164
- .filter((item) =>
1165
- !parentId ? !item.parentId : item.parentId === parentId
1166
- )
1143
+ .filter((item) => (!parentId ? !item.parentId : item.parentId === parentId))
1167
1144
  .map((item) => {
1168
1145
  item.children = this.arrToTree(arr, item.columnId);
1169
1146
  return item;
@@ -1257,7 +1234,8 @@ export default {
1257
1234
  let isButtontCell = this.getIsButtontCell(formatS);
1258
1235
  // let columnWidgetConfig = this.getColumnWidgetConfig(row, true, isEdit);
1259
1236
  // let { columnSelectedWidget, columnEditFields } = columnWidgetConfig;
1260
- let columnSelectedWidget = this.designer.createColumnWidget(row, isEdit)
1237
+ let attachmentPrefix = this.designer.getAttachmentPrefix();
1238
+ let columnSelectedWidget = this.designer.createColumnWidget(row, isEdit);
1261
1239
  if (!isEdit) {
1262
1240
  //格式化类型
1263
1241
  if (columnSelectedWidget) {
@@ -1268,6 +1246,11 @@ export default {
1268
1246
  row.widget = null;
1269
1247
  }
1270
1248
  } else {
1249
+ if (row.prop && row.prop.startsWith(attachmentPrefix)) {
1250
+ let suffix = row.prop.replace(attachmentPrefix, "");
1251
+ columnSelectedWidget.options.keyName = row.prop;
1252
+ columnSelectedWidget.options.keyNameSuffix = suffix;
1253
+ }
1271
1254
  //编辑插槽类型
1272
1255
  if (columnSelectedWidget) {
1273
1256
  row.columnOption = columnSelectedWidget.options;
@@ -1300,9 +1283,7 @@ export default {
1300
1283
  if (!row.label) row.label = tmpId;
1301
1284
 
1302
1285
  if (this.userFields.includes(row.formatS)) {
1303
- let item = this.businessOptions.find(
1304
- (item) => item.value == row.formatS
1305
- );
1286
+ let item = this.businessOptions.find((item) => item.value == row.formatS);
1306
1287
  if (item) {
1307
1288
  row.prop = item.value;
1308
1289
  row.label = item.label;
@@ -1311,11 +1292,12 @@ export default {
1311
1292
 
1312
1293
  row.sortable = true;
1313
1294
 
1314
- if (row.formatS == "editAttachment") {
1315
- row.prop = this.designer.createAttachmentKeyName();
1316
- } else {
1317
- let attachmentPrefix = this.designer.getAttachmentPrefix();
1318
- row.prop = row.prop.replaceAll(attachmentPrefix, "");
1295
+ if (!isEdit) {
1296
+ if (formatS == "editAttachment") {
1297
+ row.prop = columnSelectedWidget.options.keyName;
1298
+ } else {
1299
+ row.prop = row.prop.replaceAll(attachmentPrefix, "");
1300
+ }
1319
1301
  }
1320
1302
  }
1321
1303
  }
@@ -1439,10 +1421,7 @@ export default {
1439
1421
  result = column;
1440
1422
  break;
1441
1423
  } else if (column.children && column.children.length) {
1442
- let subColumn = this.findColumnByColumnId(
1443
- column.children,
1444
- children
1445
- );
1424
+ let subColumn = this.findColumnByColumnId(column.children, children);
1446
1425
  if (subColumn) {
1447
1426
  result = subColumn;
1448
1427
  break;
@@ -1473,10 +1452,7 @@ export default {
1473
1452
  loopHandleWidget(formWidgetList, (item) => {
1474
1453
  if (item.options.name == dataTableName) {
1475
1454
  item.options.tableColumns = tableData;
1476
- targetColumn = this.findColumnByColumnId(
1477
- item.options.tableColumns,
1478
- columnId
1479
- );
1455
+ targetColumn = this.findColumnByColumnId(item.options.tableColumns, columnId);
1480
1456
  }
1481
1457
  });
1482
1458
  let getWidgetList = (subWidgetList = []) => {
@@ -1549,7 +1525,6 @@ export default {
1549
1525
  }
1550
1526
  },
1551
1527
  openEditFormatConfigDialog(row, index) {
1552
-
1553
1528
  let selectedWidget = row.editWidget;
1554
1529
  this.operateIndex = index;
1555
1530
 
@@ -1612,9 +1587,7 @@ export default {
1612
1587
  });
1613
1588
 
1614
1589
  if (syntaxErrorFlag) {
1615
- this.$message.error(
1616
- this.i18nt("designer.setting.syntaxCheckWarning")
1617
- );
1590
+ this.$message.error(this.i18nt("designer.setting.syntaxCheckWarning"));
1618
1591
  return;
1619
1592
  }
1620
1593
  }
@@ -1638,25 +1611,19 @@ export default {
1638
1611
  let type1 = this.columnFormatMap[row.formatS];
1639
1612
  let type2 = this.columnFormatMap[row.editFormatS];
1640
1613
  let newWidget = type1
1641
- ? this.designer.copyNewFieldWidget(
1642
- this.designer.getFieldWidgetByType(type1)
1643
- )
1614
+ ? this.designer.copyNewFieldWidget(this.designer.getFieldWidgetByType(type1))
1644
1615
  : null;
1645
1616
 
1646
1617
  let newEditWidget = type2
1647
- ? this.designer.copyNewFieldWidget(
1648
- this.designer.getFieldWidgetByType(type2)
1649
- )
1618
+ ? this.designer.copyNewFieldWidget(this.designer.getFieldWidgetByType(type2))
1650
1619
  : null;
1651
1620
 
1652
1621
  if (newWidget.formItemFlag) {
1653
1622
  if (row.widget) {
1654
- if (row.widget.options[key] !== undefined)
1655
- row.widget.options[key] = value;
1623
+ if (row.widget.options[key] !== undefined) row.widget.options[key] = value;
1656
1624
  }
1657
1625
  if (row.columnOption) {
1658
- if (row.columnOption[key] !== undefined)
1659
- row.columnOption[key] = value;
1626
+ if (row.columnOption[key] !== undefined) row.columnOption[key] = value;
1660
1627
  }
1661
1628
  }
1662
1629
 
@@ -1666,8 +1633,7 @@ export default {
1666
1633
  row.editWidget.options[key] = value;
1667
1634
  }
1668
1635
  if (row.editColumnOption) {
1669
- if (row.editColumnOption[key] !== undefined)
1670
- row.editColumnOption[key] = value;
1636
+ if (row.editColumnOption[key] !== undefined) row.editColumnOption[key] = value;
1671
1637
  }
1672
1638
  }
1673
1639
  },
@@ -0,0 +1,32 @@
1
+ <template>
2
+ <div>
3
+ <el-form-item label-width="0">
4
+ <el-divider class="custom-divider-margin-top">下载设置</el-divider>
5
+ </el-form-item>
6
+ <el-form-item label="表格唯一名称">
7
+ <el-input v-model="optionModel.dataTableName" clearable></el-input>
8
+ </el-form-item>
9
+ <el-form-item label="类型">
10
+ <el-input v-model="optionModel.attachmentType" clearable></el-input>
11
+ </el-form-item>
12
+ <el-form-item label="文件名">
13
+ <el-input v-model="optionModel.fileName" clearable></el-input>
14
+ </el-form-item>
15
+ </div>
16
+ </template>
17
+
18
+ <script>
19
+ import i18n from "../../../../../components/xform/utils/i18n";
20
+
21
+ export default {
22
+ name: "downloadButtonFlag-editor",
23
+ mixins: [i18n],
24
+ props: {
25
+ designer: Object,
26
+ selectedWidget: Object,
27
+ optionModel: Object,
28
+ },
29
+ };
30
+ </script>
31
+
32
+ <style scoped></style>