cloud-web-corejs 1.0.163 → 1.0.164
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 +2 -1
- package/src/components/vb-tabs/x-tabs.vue +30 -13
- package/src/components/xform/form-designer/designer.js +1 -1
- package/src/components/xform/form-designer/form-widget/components/gantt/index.vue +419 -0
- package/src/components/xform/form-designer/form-widget/container-widget/data-table-mixin.js +1 -1
- package/src/components/xform/form-designer/form-widget/dialog/baseFormulaDialog copy.vue +971 -0
- package/src/components/xform/form-designer/form-widget/dialog/baseFormulaDialog.vue +971 -0
- package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +71 -50
- package/src/components/xform/form-designer/form-widget/dialog/formulaDialog.vue +799 -0
- package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin - /345/211/257/346/234/254.js" +1639 -0
- package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +102 -73
- package/src/components/xform/form-designer/form-widget/field-widget/cascader-widget.vue +19 -1
- package/src/components/xform/form-designer/form-widget/field-widget/census-widget.vue +41 -27
- package/src/components/xform/form-designer/form-widget/field-widget/checkbox-widget.vue +4 -1
- package/src/components/xform/form-designer/form-widget/field-widget/color-widget.vue +4 -1
- package/src/components/xform/form-designer/form-widget/field-widget/date-range-widget.vue +13 -2
- package/src/components/xform/form-designer/form-widget/field-widget/date-widget.vue +9 -2
- package/src/components/xform/form-designer/form-widget/field-widget/download-button-widget.vue +133 -0
- package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +2 -1
- package/src/components/xform/form-designer/form-widget/field-widget/gantt-widget.vue +962 -0
- package/src/components/xform/form-designer/form-widget/field-widget/input-widget.vue +7 -2
- package/src/components/xform/form-designer/form-widget/field-widget/multiSearch-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/number-widget.vue +7 -0
- package/src/components/xform/form-designer/form-widget/field-widget/oplog-widget.vue +1 -0
- package/src/components/xform/form-designer/form-widget/field-widget/print-button-widget.vue +44 -27
- package/src/components/xform/form-designer/form-widget/field-widget/print-detail-button-widget.vue +19 -11
- package/src/components/xform/form-designer/form-widget/field-widget/project-tag-widget.vue +19 -1
- package/src/components/xform/form-designer/form-widget/field-widget/radio-widget.vue +11 -7
- package/src/components/xform/form-designer/form-widget/field-widget/select-widget.vue +11 -8
- package/src/components/xform/form-designer/form-widget/field-widget/singerSearch-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/table-export-button-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/vabSearch-widget.vue +1 -1
- package/src/components/xform/form-designer/setting-panel/form-setting.vue +106 -76
- package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +13 -263
- package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +47 -81
- package/src/components/xform/form-designer/setting-panel/property-editor/downloadButtonFlag-editor.vue +32 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onClick-editor.vue +14 -7
- package/src/components/xform/form-designer/setting-panel/property-editor/field-gantt/gantt-editor.vue +36 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/field-print-button/print-button-editor.vue +37 -16
- package/src/components/xform/form-designer/setting-panel/property-editor/field-print-button/print-detail-button-editor.vue +42 -18
- package/src/components/xform/form-designer/setting-panel/property-editor/field-vabUpload/field-vabUpload-editor.vue +2 -2
- package/src/components/xform/form-designer/setting-panel/property-editor/formScriptEnabled-editor.vue +57 -34
- package/src/components/xform/form-designer/setting-panel/property-editor/project-tag-editor.vue +84 -53
- package/src/components/xform/form-designer/setting-panel/property-editor/wfFlag-editor.vue +35 -44
- package/src/components/xform/form-designer/setting-panel/propertyRegister.js +2 -0
- package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +68 -3
- package/src/components/xform/form-render/container-item/containerItemMixin.js +2 -2
- package/src/components/xform/form-render/container-item/data-table-mixin.js +1 -1
- package/src/components/xform/form-render/container-item/tab-item.vue +64 -32
- package/src/components/xform/form-render/index.vue +69 -23
- package/src/components/xform/form-render/indexMixin.js +18 -17
- package/src/components/xform/lang/zh-CN.js +8 -2
- package/src/components/xform/utils/formula-util.js +306 -5
- package/src/components/xform/utils/util.js +1 -1
- package/src/components/xform/utils/vue2js-generator.js +2 -2
- package/src/utils/request.js +1 -1
- package/src/utils/vab.js +1 -1
- package/src/views/user/form/vform/render.vue +54 -36
- package/src/views/user/form/view/list.vue +103 -10
- package/src/views/user/menu/list.vue +24 -1
- package/src/views/user/role/authConfig.vue +89 -0
- package/src/views/user/role/dialog.vue +70 -48
- 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
|
-
<!– <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>–>
|
|
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
|
-
<!– <el-button :title="i18nt('designer.setting.addTableColumn')" size="mini" type="" circle=""
|
|
326
|
-
icon="el-icon-plus" @click="openFieldTreeDialog"></el-button>–>
|
|
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
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
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
|
|
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 (
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
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>
|