cloud-web-corejs 1.1.0-dev.6 → 1.1.0-dev.61
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/README.md +38 -0
- package/bin/core-resources.js +16 -0
- package/bin/create-child-app.js +34 -0
- package/docs/child-app/README.md +95 -0
- package/docs/child-app/activiti-resources.md +63 -0
- package/docs/child-app/generate-prompt.md +55 -0
- package/docs/child-app/luckysheet-resources.md +80 -0
- package/docs/child-app/public-resources-plan.md +288 -0
- package/docs/child-app/resources-implementation.md +101 -0
- package/docs/child-app/tinymce-resources.md +88 -0
- package/docs/child-app/validation.md +34 -0
- package/docs/qiankun/346/216/245/345/205/245/345/215/217/350/256/256.md +298 -0
- package/docs/qiankun/350/257/246/346/203/205/346/211/277/350/275/275/345/255/220/345/272/224/347/224/250/345/257/271/346/216/245/346/270/205/345/215/225.md +111 -0
- package/package.json +29 -4
- package/resource-tools/index.js +126 -0
- package/src/app-bootstrap.js +531 -0
- package/src/app-bootstrap.sync.js +502 -0
- package/src/boot-assets.legacy.js +13 -0
- package/src/boot-assets.next.js +7 -0
- package/src/components/Qrcode/fileParse.vue +11 -0
- package/src/components/Tinymce/dynamicLoadScript.js +51 -59
- package/src/components/Tinymce/index.vue +382 -336
- package/src/components/Tinymce/mce-chrome.scss +150 -0
- package/src/components/VabUpload/image-viewer.vue +18 -10
- package/src/components/VabUpload/index.js +11 -4
- package/src/components/VabUpload/index.vue +1 -1
- package/src/components/VabUpload/mixins/fileLibraryDialog.js +2 -0
- package/src/components/VabUpload/mixins.js +72 -40
- package/src/components/VabUpload/partUploadConfig.js +95 -0
- package/src/components/VabUpload/privateProfileDialogMixins.js +2 -0
- package/src/components/VabUpload/style.scss +282 -0
- package/src/components/VabUpload/view.vue +19 -18
- package/src/components/baseArea/index.vue +2 -2
- package/src/components/baseInputExport/mixins.js +1 -6
- package/src/components/bizTab/BizTabListPage.vue +66 -33
- package/src/components/bizTab/README.md +3 -1
- package/src/components/bizTab/bizBillDetailMixin.js +2 -0
- package/src/components/code-editor/ace-chrome.scss +17 -0
- package/src/components/code-editor/index.vue +361 -340
- package/src/components/errorMsg/index.vue +142 -13
- package/src/components/errorMsg/mixins.js +53 -0
- package/src/components/excelExport/conditionExportConfig.js +112 -0
- package/src/components/excelExport/exportColumnMemory.js +118 -0
- package/src/components/excelExport/exportFieldDialog.vue +50 -38
- package/src/components/excelExport/exportType.js +8 -0
- package/src/components/excelExport/index.js +30 -13
- package/src/components/excelExport/index.vue +7 -1
- package/src/components/excelExport/mixins.js +782 -293
- package/src/components/excelImport/index.vue +156 -156
- package/src/components/excelImport/mixins.js +888 -834
- package/src/components/fileLibrary/mixins/indexMixins.js +2 -0
- package/src/components/fileLibrary/style.scss +579 -0
- package/src/components/formDialog/index.vue +11 -8
- package/src/components/hiprint/style.scss +188 -0
- package/src/components/hiprint/view/json-view.vue +4 -4
- package/src/components/jdPrint/mixins.js +2 -0
- package/src/components/jsonImport/index.vue +1 -1
- package/src/components/jsonImport/mixins.js +6 -10
- package/src/components/langImport/index.vue +1 -1
- package/src/components/langImport/mixins.js +6 -10
- package/src/components/luckysheet/loadResources.js +64 -0
- package/src/components/luckysheet/view.vue +239 -210
- package/src/components/mobile/buttonGroup/index.vue +1 -1
- package/src/components/mobile/wf/addTaskUserdialog.vue +100 -80
- package/src/components/mobile/wf/content.vue +1734 -1662
- package/src/components/mobile/wf/deleteTaskUserDialog.vue +73 -54
- package/src/components/mobile/wf/selectUserDialog.vue +118 -0
- package/src/components/mobile/wf/setCandidateDialog.vue +69 -48
- package/src/components/mobile/wf/urgingDialog.vue +75 -52
- package/src/components/mobile/wf/wfModifyDialog.vue +4 -0
- package/src/components/obsUpload/index.js +4 -1
- package/src/components/obsUpload/index.vue +1 -1
- package/src/components/obsUpload/mixins.js +45 -15
- package/src/components/onlineTalk/index.vue +4 -4
- package/src/components/onlineTalk/mixins.js +21 -7
- package/src/components/table/index.js +96 -81
- package/src/components/table/plugins/cell-area/index.js +10 -3
- package/src/components/table/style.scss +1399 -0
- package/src/components/table/vxeFilter/mixin.js +28 -18
- package/src/components/wf/content.vue +3 -2
- package/src/components/wf/content2.vue +1 -1
- package/src/components/wf/style.scss +265 -0
- package/src/components/wf/wf.js +7 -0
- package/src/components/wf/wfActionItems.js +3 -0
- package/src/components/wf/wfStartDialog.vue +1 -0
- package/src/components/wf/wfTransferEnabled.js +54 -0
- package/src/components/wf/wfUtil.js +47 -29
- package/src/components/wf/wfVisibility.js +6 -0
- package/src/components/xform/docs/2026-07 table/344/270/216excelExport/344/277/256/345/244/215/345/217/212/345/257/274/345/207/272/344/274/230/345/214/226.md" +64 -57
- package/src/components/xform/docs/2026-08 xform H5 P0 /345/256/236/347/216/260/350/247/204/346/240/274.md" +1 -1
- package/src/components/xform/docs/2026-08 xform /347/247/273/345/212/250/347/253/257/345/270/203/345/261/200/345/257/271/351/275/220 bill_setting /346/226/271/346/241/210.md" +1 -1
- package/src/components/xform/docs/2026-09 /345/212/250/346/200/201/345/255/227/346/256/265/350/247/204/345/210/231/344/270/216/346/265/201/347/250/213/346/216/247/345/210/266/346/211/247/350/241/214/351/241/272/345/272/217/350/220/275/345/234/260/346/226/271/346/241/210.md" +409 -0
- package/src/components/xform/docs/2026-09 /346/235/241/344/273/266/345/257/274/345/207/272/345/244/247/346/225/260/346/215/256/351/207/217/345/264/251/346/272/203/346/216/222/346/237/245.md" +389 -0
- package/src/components/xform/docs/2026-09 /346/265/217/350/247/210/345/231/250/345/264/251/346/272/203/346/262/273/347/220/206P0/344/273/243/347/240/201/350/257/204/345/256/241.md" +255 -0
- package/src/components/xform/docs/2026-09 /346/265/217/350/247/210/345/231/250/345/264/251/346/272/203/346/262/273/347/220/206P0/346/265/213/350/257/225/351/252/214/350/257/201/345/256/236/346/226/275/346/226/207/346/241/243.md" +595 -0
- package/src/components/xform/docs/2026-09 /347/274/226/350/276/221/350/241/250/350/241/214/345/206/205/344/277/235/345/255/230/346/240/241/351/252/214/350/214/203/345/233/264/344/270/216/345/210/227/345/277/205/345/241/253/350/247/243/346/236/220/344/277/256/345/244/215.md" +233 -0
- package/src/components/xform/docs/2026-09 /350/241/250/345/215/225/345/257/274/345/205/245/351/200/232/351/201/223/346/242/263/347/220/206/344/270/216/350/220/275/345/234/260/346/226/271/346/241/210.md" +745 -0
- package/src/components/xform/docs//346/265/217/350/247/210/345/231/250/345/264/251/346/272/203/346/262/273/347/220/206/344/270/216/344/277/256/345/244/215/350/220/275/345/234/260/346/226/271/346/241/210.md +324 -0
- package/src/components/xform/form-designer/designer.js +2133 -2100
- package/src/components/xform/form-designer/form-widget/container-widget/data-table-mixin.js +7 -0
- package/src/components/xform/form-designer/form-widget/container-widget/data-table-widget.vue +4 -2
- package/src/components/xform/form-designer/form-widget/container-widget/detail-h5-widget.vue +243 -227
- package/src/components/xform/form-designer/form-widget/container-widget/h5-card-pane-widget.vue +228 -207
- package/src/components/xform/form-designer/form-widget/container-widget/h5-card-widget.vue +165 -136
- package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +30 -4
- package/src/components/xform/form-designer/form-widget/dialog/importDialog.vue +190 -185
- package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin.js +2657 -1774
- package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +27 -4
- package/src/components/xform/form-designer/form-widget/field-widget/a-link-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/a-text-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/area-select-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/autocomplete-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/baseAttachment-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/button-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/cascader-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/census-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/checkbox-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/color-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/copy_button-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/date-range-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/date-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/descriptions-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/divider-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/download-button-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/dropdown-item-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/dropdown-widget.vue +35 -4
- package/src/components/xform/form-designer/form-widget/field-widget/echart-bar-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/echart-category-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/echart-pie-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +64 -10
- package/src/components/xform/form-designer/form-widget/field-widget/file-upload-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +14 -4
- package/src/components/xform/form-designer/form-widget/field-widget/html-text-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/import-button-widget.vue +19 -6
- package/src/components/xform/form-designer/form-widget/field-widget/import2-button-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/index.js +10 -1
- package/src/components/xform/form-designer/form-widget/field-widget/input-batch-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/input-widget.vue +29 -3
- 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/news-list-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/number-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/oplog-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/picture-upload-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/print-button-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/print-detail-button-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/project-tag-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/radio-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/rate-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/rich-editor-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/row-col-select-widget.vue +64 -0
- package/src/components/xform/form-designer/form-widget/field-widget/save_submit_wf_button-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/script-input-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/search_button-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/select-export-button-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/select-export-item-button-widget.vue +6 -2
- package/src/components/xform/form-designer/form-widget/field-widget/select-widget.vue +1 -1
- 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/singleUpload-widget.vue +145 -145
- package/src/components/xform/form-designer/form-widget/field-widget/slider-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/static-content-wrapper.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/static-text-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/status-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/switch-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/table-export-button-widget.vue +3 -2
- package/src/components/xform/form-designer/form-widget/field-widget/tempStorage-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/text-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/textarea-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/time-range-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/time-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/title-head-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/form-widget/field-widget/vabUpload-widget.vue +3 -3
- package/src/components/xform/form-designer/form-widget/field-widget/vabUpload2-widget.vue +25 -1
- package/src/components/xform/form-designer/form-widget/field-widget/vue-page-widget.vue +1 -1
- package/src/components/xform/form-designer/indexMixin.js +27 -0
- package/src/components/xform/form-designer/setting-panel/form-dynamicField-setting.vue +687 -602
- package/src/components/xform/form-designer/setting-panel/form-setting.vue +269 -36
- package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +335 -12
- package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +23 -7
- package/src/components/xform/form-designer/setting-panel/property-editor/container-detail/detail-temp-edito.vue +13 -1
- package/src/components/xform/form-designer/setting-panel/property-editor/container-list-h5/list-h5-editor.vue +846 -860
- package/src/components/xform/form-designer/setting-panel/property-editor/container-tab/tab-lazyRender-editor.vue +27 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onTabChange-editor.vue +28 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onTabClick-editor.vue +28 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import-button-editor.vue +62 -1
- package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import2-button-editor.vue +142 -2
- package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/empty-number-input.vue +51 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/select-export-item-button-editor.vue +27 -2
- package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/table-export-button-editor.vue +33 -3
- package/src/components/xform/form-designer/setting-panel/property-editor/project-tag-editor.vue +2 -4
- package/src/components/xform/form-designer/setting-panel/property-editor/suffixIconClickable-editor.vue +23 -0
- package/src/components/xform/form-designer/setting-panel/propertyRegister.js +18 -4
- package/src/components/xform/form-designer/toolbar-panel/index.vue +884 -874
- package/src/components/xform/form-designer/toolbar-panel/indexMixin.js +13 -0
- package/src/components/xform/form-designer/widget-panel/index.vue +11 -7
- package/src/components/xform/form-designer/widget-panel/indexMixin.js +15 -2
- package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +152 -9
- package/src/components/xform/form-render/container-item/containerItemMixin.js +93 -8
- package/src/components/xform/form-render/container-item/data-table-item.vue +352 -347
- package/src/components/xform/form-render/container-item/data-table-mixin.js +7261 -5985
- package/src/components/xform/form-render/container-item/detail-h5-item.vue +48 -19
- package/src/components/xform/form-render/container-item/detail-item.vue +350 -446
- package/src/components/xform/form-render/container-item/dynamicFieldMixin.js +55 -1
- package/src/components/xform/form-render/container-item/list-h5-item.vue +261 -178
- package/src/components/xform/form-render/container-item/panel-item.vue +1 -1
- package/src/components/xform/form-render/container-item/tab-item.vue +177 -129
- package/src/components/xform/form-render/fieldControlEngine.js +218 -0
- package/src/components/xform/form-render/fieldControlMixin.js +536 -0
- package/src/components/xform/form-render/index.vue +164 -153
- package/src/components/xform/form-render/indexMixin.js +5443 -5311
- package/src/components/xform/form-render/pageDialogScope.js +54 -0
- package/src/components/xform/icon-picker/index.vue +1 -1
- package/src/components/xform/lang/en-US.js +8 -0
- package/src/components/xform/lang/zh-CN.js +9 -0
- package/src/components/xform/mixins/businessLock.js +59 -0
- package/src/components/xform/mixins/defaultHandle.js +713 -707
- package/src/components/xform/mixins/scriptHttp.js +42 -21
- package/src/components/xform/mixins/wfStart.js +105 -0
- package/src/components/xform/mixins/wfVisibility.js +33 -0
- package/src/components/xform/styles/census.scss +288 -0
- package/src/components/xform/styles/containers.scss +215 -0
- package/src/components/xform/styles/designer.scss +904 -0
- package/src/components/xform/styles/detail-temp.scss +71 -0
- package/src/components/xform/styles/h5-designer.scss +191 -0
- package/src/components/xform/styles/h5-runtime.scss +520 -0
- package/src/components/xform/styles/h5.scss +836 -516
- package/src/components/xform/styles/skins.scss +398 -0
- package/src/components/xform/styles/table-layout.scss +91 -0
- package/src/components/xform/styles/titles.scss +255 -0
- package/src/components/xform/utils/dynamicSchemaUtil.js +385 -361
- package/src/components/xform/utils/fixedQueryUtil.js +29 -4
- package/src/components/xform/utils/serviceNameCache.js +69 -0
- package/src/components/xform/utils/tableColumnHelper.js +46 -4
- package/src/components/xform/utils/util.js +1776 -1708
- package/src/core-resources/css/h5.scss +548 -0
- package/src/core-resources/css/iconfont.css +1447 -0
- package/src/core-resources/font/iconfont.ttf +0 -0
- package/src/core-resources/font/iconfont.woff +0 -0
- package/src/core-resources/font/iconfont.woff2 +0 -0
- package/src/core-resources/images/default-header.png +0 -0
- package/src/core-resources/images/ico-default_wenjian.svg +1 -0
- package/src/core-resources/images/ico-excel.svg +1 -0
- package/src/core-resources/images/ico-ftl.svg +7 -0
- package/src/core-resources/images/ico-html.svg +1 -0
- package/src/core-resources/images/ico-java.svg +1 -0
- package/src/core-resources/images/ico-music.svg +1 -0
- package/src/core-resources/images/ico-pdf.svg +1 -0
- package/src/core-resources/images/ico-photo.svg +1 -0
- package/src/core-resources/images/ico-ppt.svg +1 -0
- package/src/core-resources/images/ico-psd.svg +1 -0
- package/src/core-resources/images/ico-service.png +0 -0
- package/src/core-resources/images/ico-txt.svg +1 -0
- package/src/core-resources/images/ico-video.svg +1 -0
- package/src/core-resources/images/ico-vue.svg +8 -0
- package/src/core-resources/images/ico-wenjianjia.svg +1 -0
- package/src/core-resources/images/ico-wrod.svg +1 -0
- package/src/core-resources/images/ico-xml.svg +1 -0
- package/src/core-resources/images/ico-yasuobao.svg +1 -0
- package/src/core-resources/images/icon-error.png +0 -0
- package/src/core-resources/images/icon-tips.png +0 -0
- package/src/core-resources/images/nodata.png +0 -0
- package/src/core-resources/images/nodata2.png +0 -0
- package/src/directive/append-to-body/index.js +48 -0
- package/src/directive/el-dialog-center/index.js +3 -2
- package/src/directive/el-drag-dialog/drag.js +33 -4
- package/src/icons/index.js +9 -0
- package/src/icons/svg/404.svg +1 -0
- package/src/icons/svg/alert.svg +1 -0
- package/src/icons/svg/bug.svg +1 -0
- package/src/icons/svg/button.svg +1 -0
- package/src/icons/svg/card.svg +1 -0
- package/src/icons/svg/cascader-field.svg +1 -0
- package/src/icons/svg/census.svg +1 -0
- package/src/icons/svg/chart.svg +1 -0
- package/src/icons/svg/checkbox-field.svg +1 -0
- package/src/icons/svg/clipboard.svg +1 -0
- package/src/icons/svg/color-field.svg +1 -0
- package/src/icons/svg/component.svg +1 -0
- package/src/icons/svg/custom-component.svg +1 -0
- package/src/icons/svg/dashboard.svg +1 -0
- package/src/icons/svg/data-table.svg +1 -0
- package/src/icons/svg/date-field.svg +1 -0
- package/src/icons/svg/date-range-field.svg +1 -0
- package/src/icons/svg/descriptions.svg +1 -0
- package/src/icons/svg/divider.svg +1 -0
- package/src/icons/svg/document.svg +1 -0
- package/src/icons/svg/documentation.svg +1 -0
- package/src/icons/svg/drag.svg +1 -0
- package/src/icons/svg/echart-category.svg +1 -0
- package/src/icons/svg/echart-pie.svg +1 -0
- package/src/icons/svg/echart.svg +1 -0
- package/src/icons/svg/edit.svg +1 -0
- package/src/icons/svg/education.svg +1 -0
- package/src/icons/svg/email.svg +1 -0
- package/src/icons/svg/example.svg +1 -0
- package/src/icons/svg/excel.svg +1 -0
- package/src/icons/svg/exit-fullscreen.svg +1 -0
- package/src/icons/svg/eye-open.svg +1 -0
- package/src/icons/svg/eye.svg +1 -0
- package/src/icons/svg/file-upload-field.svg +1 -0
- package/src/icons/svg/form.svg +1 -0
- package/src/icons/svg/fullscreen.svg +1 -0
- package/src/icons/svg/github.svg +1 -0
- package/src/icons/svg/grid.svg +1 -0
- package/src/icons/svg/guide.svg +1 -0
- package/src/icons/svg/html-text.svg +1 -0
- package/src/icons/svg/ico-more.svg +1 -0
- package/src/icons/svg/ico-wenjianjia.svg +1 -0
- package/src/icons/svg/icon.svg +1 -0
- package/src/icons/svg/input-batch.svg +1 -0
- package/src/icons/svg/international.svg +1 -0
- package/src/icons/svg/language.svg +1 -0
- package/src/icons/svg/link.svg +1 -0
- package/src/icons/svg/list-export.svg +1 -0
- package/src/icons/svg/list.svg +1 -0
- package/src/icons/svg/lock.svg +1 -0
- package/src/icons/svg/message.svg +1 -0
- package/src/icons/svg/money.svg +1 -0
- package/src/icons/svg/nested.svg +1 -0
- package/src/icons/svg/news-list.svg +1 -0
- package/src/icons/svg/node-tree.svg +1 -0
- package/src/icons/svg/number-field.svg +1 -0
- package/src/icons/svg/password.svg +1 -0
- package/src/icons/svg/pdf.svg +1 -0
- package/src/icons/svg/people.svg +1 -0
- package/src/icons/svg/peoples.svg +1 -0
- package/src/icons/svg/picture-upload-field.svg +1 -0
- package/src/icons/svg/qq.svg +1 -0
- package/src/icons/svg/query.svg +1 -0
- package/src/icons/svg/radio-field.svg +1 -0
- package/src/icons/svg/rate-field.svg +1 -0
- package/src/icons/svg/redo.svg +1 -0
- package/src/icons/svg/rich-editor-field.svg +1 -0
- package/src/icons/svg/search.svg +1 -0
- package/src/icons/svg/searchbox.svg +1 -0
- package/src/icons/svg/section.svg +1 -0
- package/src/icons/svg/select-field.svg +1 -0
- package/src/icons/svg/shopping.svg +1 -0
- package/src/icons/svg/size.svg +1 -0
- package/src/icons/svg/skill.svg +1 -0
- package/src/icons/svg/slider-field.svg +1 -0
- package/src/icons/svg/slot-component.svg +1 -0
- package/src/icons/svg/slot-field.svg +1 -0
- package/src/icons/svg/star.svg +1 -0
- package/src/icons/svg/static-text.svg +1 -0
- package/src/icons/svg/status.svg +1 -0
- package/src/icons/svg/sub-form.svg +1 -0
- package/src/icons/svg/switch-field.svg +1 -0
- package/src/icons/svg/tab.svg +1 -0
- package/src/icons/svg/table.svg +1 -0
- package/src/icons/svg/text-field.svg +1 -0
- package/src/icons/svg/text.svg +1 -0
- package/src/icons/svg/textarea-field.svg +1 -0
- package/src/icons/svg/theme.svg +1 -0
- package/src/icons/svg/time-field.svg +1 -0
- package/src/icons/svg/time-range-field.svg +1 -0
- package/src/icons/svg/tips-text.svg +1 -0
- package/src/icons/svg/title-head.svg +1 -0
- package/src/icons/svg/tree-pane.svg +1 -0
- package/src/icons/svg/tree-table.svg +1 -0
- package/src/icons/svg/tree.svg +1 -0
- package/src/icons/svg/undo.svg +1 -0
- package/src/icons/svg/uploadbox.svg +1 -0
- package/src/icons/svg/user.svg +1 -0
- package/src/icons/svg/vf-box.svg +1 -0
- package/src/icons/svg/vf-dialog.svg +1 -0
- package/src/icons/svg/vf-drawer.svg +1 -0
- package/src/icons/svg/vue-sfc.svg +1 -0
- package/src/icons/svg/wechat.svg +1 -0
- package/src/icons/svg/zip.svg +1 -0
- package/src/index.js +2 -510
- package/src/index.next.js +5 -0
- package/src/index.sync.js +5 -0
- package/src/layout/components/Sidebar/default.vue +1656 -1655
- package/src/layout/components/TagsView/index.vue +330 -323
- package/src/layout/components/TagsView/style.scss +92 -0
- package/src/layout/components/watermark/index.vue +1 -1
- package/src/layout/defaultLayout.vue +2 -2
- package/src/router/index.js +43 -48
- package/src/router/modules/customer.js +12 -0
- package/src/store/modules/settings.js +1 -1
- package/src/store/modules/tagsView.js +241 -217
- package/src/store/modules/user.js +16 -12
- package/src/styles/btn.scss +315 -0
- package/src/styles/dialog.scss +1710 -0
- package/src/styles/element-ui.scss +1076 -0
- package/src/styles/element-variables.scss +31 -0
- package/src/styles/global.scss +115 -0
- package/src/styles/index.scss +245 -0
- package/src/styles/layout-skins.scss +840 -0
- package/src/styles/legacy-base.scss +19 -0
- package/src/styles/menu-icons.scss +75 -0
- package/src/styles/mixin.scss +80 -0
- package/src/styles/nprogress.scss +14 -0
- package/src/styles/page-shell.scss +723 -0
- package/src/styles/sidebar.scss +296 -0
- package/src/styles/split-handle.scss +52 -0
- package/src/styles/theme-variables.scss +7 -0
- package/src/styles/transition.scss +48 -0
- package/src/styles/utilities.scss +253 -0
- package/src/styles/variables.scss +72 -0
- package/src/utils/baseDictsCache.js +197 -0
- package/src/utils/chunkLoadError.js +24 -0
- package/src/utils/featureResources.js +57 -0
- package/src/utils/importLimit.js +72 -0
- package/src/utils/pdfUtil.js +6 -1
- package/src/utils/request.js +149 -9
- package/src/utils/resolveViewComponent.js +45 -90
- package/src/utils/runtimeRecovery.js +105 -0
- package/src/utils/swiperLoader.js +20 -0
- package/src/utils/vab.js +1334 -1283
- package/src/utils/xlsxLoader.js +29 -0
- package/src/views/bd/setting/formVersion/compareContMixin.scss +1 -1
- package/src/views/bd/setting/form_template/edit.vue +378 -356
- package/src/views/bd/setting/form_template/formDesignerDialog.vue +6 -0
- package/src/views/bd/setting/form_template/formTemplateType.js +43 -0
- package/src/views/bd/setting/form_template/list.vue +304 -303
- package/src/views/bd/setting/form_template/mixins/edit.js +344 -280
- package/src/views/bd/setting/form_template/mixins/list.js +749 -721
- package/src/views/bd/setting/form_template/mixins/list2.js +412 -411
- package/src/views/bd/setting/form_template/mixins/wf_list.js +431 -430
- package/src/views/mobile/user/area/dialog.vue +1 -1
- package/src/views/mobile/user/user/dialog.vue +1 -1
- package/src/views/user/bill_setting/mixins/wf.js +8 -0
- package/src/views/user/bill_setting/render.vue +1 -1
- package/src/views/user/commMenu/index.vue +3 -1
- package/src/views/user/commMenu/style.scss +123 -0
- package/src/views/user/common_attribute/edit.vue +2 -0
- package/src/views/user/common_attribute/itemEdit.vue +2 -0
- package/src/views/user/file_view_ins/list.vue +970 -970
- package/src/views/user/form/form_template/list.vue +527 -506
- package/src/views/user/form/vform/designer.vue +823 -821
- package/src/views/user/form/view/list.vue +24 -1
- package/src/views/user/home/default.vue +1124 -1117
- package/src/views/user/home/default2.vue +12 -8
- package/src/views/user/home/index.vue +102 -102
- package/src/views/user/home/wjl/content.vue +1581 -1569
- package/src/views/user/intf_permission/edit.vue +230 -0
- package/src/views/user/intf_permission/list.vue +196 -0
- package/src/views/user/menuFallback/index.vue +23 -0
- package/src/views/user/notify_message/dialog.vue +139 -139
- package/src/views/user/outLink/form_view.vue +202 -202
- package/src/views/user/outLink/index.vue +110 -110
- package/src/views/user/role/edit.vue +4 -0
- package/src/views/user/role/role-box.scss +83 -0
- package/src/views/user/role/voc_edit.vue +4 -0
- package/src/views/user/user/list.vue +28 -6
- package/src/views/user/wf/iframe/index.vue +51 -51
- package/src/views/user/wf/iframe/index2.vue +64 -64
- package/src/views/user/wf/wf_diy_attribute/edit.vue +1 -1
- package/src/views/user/wf/wf_manage/list2.vue +871 -871
- package/src/views/user/wf/wf_manage/wfContentDialog.vue +177 -126
- package/src/views/user/wf/wf_obj_config/activiti_wf.vue +134 -133
- package/src/views/user/wf/wf_obj_config/importItemDialog.vue +1 -1
- package/src/views/user/wf/wf_obj_config/list.vue +747 -746
- package/src/views/user/wf/wf_obj_config/list_form.vue +374 -373
- package/templates/child-app/.env +3 -0
- package/templates/child-app/README.md +49 -0
- package/templates/child-app/app.config.js +6 -0
- package/templates/child-app/babel.config.js +1 -0
- package/templates/child-app/core-resources.config.js +15 -0
- package/templates/child-app/gitignore +7 -0
- package/templates/child-app/package.json +34 -0
- package/templates/child-app/public/index.html +12 -0
- package/templates/child-app/src/assets/401_images/401.gif +0 -0
- package/templates/child-app/src/assets/404_images/404.png +0 -0
- package/templates/child-app/src/assets/404_images/404_cloud.png +0 -0
- package/templates/child-app/src/assets/logo.png +0 -0
- package/templates/child-app/src/corejsConfig.js +2 -0
- package/templates/child-app/src/icons/index.js +2 -0
- package/templates/child-app/src/icons/svg/child-demo.svg +1 -0
- package/templates/child-app/src/layout/index.vue +4 -0
- package/templates/child-app/src/main.js +5 -0
- package/templates/child-app/src/prefixConfig.js +13 -0
- package/templates/child-app/src/resources/css/login.scss +29 -0
- package/templates/child-app/src/resources/images/bg-login5.jpg +0 -0
- package/templates/child-app/src/resources/images/home-img.png +0 -0
- package/templates/child-app/src/router/modules/customer.js +3 -0
- package/templates/child-app/src/settings.js +25 -0
- package/templates/child-app/src/styles/app.scss +2 -0
- package/templates/child-app/src/views/demo/detail.vue +19 -0
- package/templates/child-app/src/views/demo/list.vue +38 -0
- package/templates/child-app/src/views/user/login/index.vue +18 -0
- package/templates/child-app/vue.config.js +107 -0
- package/src/components/xform/form-render/container-item/dynamicFieldEngine.js +0 -285
- package/src/components/xform/form-render/formDynamicFieldMixin.js +0 -131
- package/src/views/demo/bizTab/bill/billConfig.js +0 -41
- package/src/views/demo/bizTab/bill/detail.vue +0 -436
- package/src/views/demo/bizTab/bill/list.vue +0 -288
- package/src/views/demo/bizTab/bill/productDialog.vue +0 -176
- package/src/views/demo/bizTab/simple/billApi.js +0 -123
- package/src/views/demo/bizTab/simple/detail.vue +0 -407
- package/src/views/demo/bizTab/simple/list.vue +0 -217
- package/src/views/demo/bizTab/standalone/index.vue +0 -121
- package/src/views/demo/bizTab/wf/billConfig.js +0 -44
- package/src/views/demo/bizTab/wf/detail.vue +0 -661
- package/src/views/demo/bizTab/wf/list.vue +0 -242
- package/src/views/user/outLink/cc_form_view.vue +0 -188
- /package/src/{resources → core-resources}/js/base/common.js +0 -0
|
@@ -70,22 +70,16 @@
|
|
|
70
70
|
v-for="(row, rowIndex) in fieldModel"
|
|
71
71
|
:key="rowIndex"
|
|
72
72
|
class="item"
|
|
73
|
-
@click="
|
|
74
|
-
:class="
|
|
75
|
-
{ checked: checkItemIds.includes(row.id) },
|
|
76
|
-
itemCardClass,
|
|
77
|
-
getRowCompareClass(row),
|
|
78
|
-
]"
|
|
73
|
+
@click="itemCheck(row)"
|
|
74
|
+
:class="{ checked: checkItemIds.includes(row.id) }"
|
|
79
75
|
>
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
(有流程且当前节点不可编辑时要藏掉),它不是 widget,
|
|
88
|
-
拿不到 hiddenByWf / widgetShowRule 那两套。 -->
|
|
76
|
+
<div
|
|
77
|
+
v-if="!widget.options.isQueryTable"
|
|
78
|
+
class="del-btn"
|
|
79
|
+
@click.stop="deleteRow(row, rowIndex)"
|
|
80
|
+
>
|
|
81
|
+
<i class="el-icon-delete"></i>
|
|
82
|
+
</div>
|
|
89
83
|
<template v-if="vxeOption.columns.length > 0">
|
|
90
84
|
<div class="t1" v-if="widget.options.isQueryTable">
|
|
91
85
|
<template
|
|
@@ -185,14 +179,6 @@
|
|
|
185
179
|
<!-- <div class="status">未审核</div>-->
|
|
186
180
|
</template>
|
|
187
181
|
</div>
|
|
188
|
-
<!-- 明细卡片的主标题,对齐 bill_setting 的 .pro-item .t(render.vue:105):
|
|
189
|
-
只出主字段的值、前面一个圆点、右上角是「查看」角标。
|
|
190
|
-
上面那个 .t1 是查询选择列表专用的(出「标题:值」若干对),两者互斥。
|
|
191
|
-
主字段就是 isMainFiled 标的那一列(columns() 里取第一个可见列),
|
|
192
|
-
查询选择模式一直用它当标题行,这里把同一口径用到明细卡片上。 -->
|
|
193
|
-
<div class="t1 h5-item-title" v-else-if="!!mainTitleColumn">
|
|
194
|
-
<b>{{ getColumnDisplayText(mainTitleColumn, row, rowIndex) }}</b>
|
|
195
|
-
</div>
|
|
196
182
|
<div class="t2">
|
|
197
183
|
<template
|
|
198
184
|
v-if="
|
|
@@ -200,19 +186,13 @@
|
|
|
200
186
|
"
|
|
201
187
|
>
|
|
202
188
|
<template v-for="(column, columnIndex) in vxeOption.columns">
|
|
203
|
-
<!-- 主字段已经当标题了,不再在字段区重复一遍(查询选择模式本来
|
|
204
|
-
就是这个口径,这里两种模式统一)。没有主标题时(mainTitleColumn
|
|
205
|
-
为空,如只有一列)照常全出。 -->
|
|
206
189
|
<template
|
|
207
190
|
v-if="
|
|
208
|
-
(!
|
|
191
|
+
(!widget.options.isQueryTable || !column.isMainFiled) &&
|
|
209
192
|
column.showForRow
|
|
210
193
|
"
|
|
211
194
|
>
|
|
212
|
-
|
|
213
|
-
`.t2 > dl.m2{width:50%}`(那条规则一直没人往 dl 上打过类)。
|
|
214
|
-
由列的「H5列宽」选项控制,见 isHalfColumn。 -->
|
|
215
|
-
<dl :key="columnIndex" :class="{ m2: isHalfColumn(column) }">
|
|
195
|
+
<dl :key="columnIndex">
|
|
216
196
|
<div>
|
|
217
197
|
<dt>{{ column.title }}:</dt>
|
|
218
198
|
<dd>
|
|
@@ -230,11 +210,84 @@
|
|
|
230
210
|
}}
|
|
231
211
|
</template>
|
|
232
212
|
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
213
|
+
<template
|
|
214
|
+
v-else-if="
|
|
215
|
+
column.slots && column.slots.default == 'widget'
|
|
216
|
+
"
|
|
217
|
+
>
|
|
218
|
+
<component
|
|
219
|
+
:is="getColumnWidgetName(column.params.widget)"
|
|
220
|
+
:field="column.params.widget"
|
|
221
|
+
:form-model="globalModel.formModel"
|
|
222
|
+
:designer="null"
|
|
223
|
+
:key="rowIndex + '-' + columnIndex"
|
|
224
|
+
:parent-widget="widget"
|
|
225
|
+
:columnConfig="column.params.columnConfig"
|
|
226
|
+
:subFormRowIndex="rowIndex"
|
|
227
|
+
:formItemProp="
|
|
228
|
+
getColumnProp(widget, {
|
|
229
|
+
column: column,
|
|
230
|
+
rowIndex: rowIndex,
|
|
231
|
+
row: row,
|
|
232
|
+
items: fieldModel,
|
|
233
|
+
})
|
|
234
|
+
"
|
|
235
|
+
:tableParam="{
|
|
236
|
+
column: column,
|
|
237
|
+
rowIndex: rowIndex,
|
|
238
|
+
row: row,
|
|
239
|
+
items: fieldModel,
|
|
240
|
+
}"
|
|
241
|
+
></component>
|
|
242
|
+
</template>
|
|
243
|
+
<template
|
|
244
|
+
v-else-if="column.params.formatS == 'editDelete'"
|
|
245
|
+
>
|
|
246
|
+
<a
|
|
247
|
+
href="javascript:void(0);"
|
|
248
|
+
class="a-link"
|
|
249
|
+
@click.stop="deleteRow(row, rowIndex)"
|
|
250
|
+
>
|
|
251
|
+
<el-tooltip
|
|
252
|
+
:enterable="false"
|
|
253
|
+
effect="dark"
|
|
254
|
+
content="删除"
|
|
255
|
+
placement="top"
|
|
256
|
+
popper-class="tooltip-skin"
|
|
257
|
+
>
|
|
258
|
+
<i class="el-icon-delete" />
|
|
259
|
+
</el-tooltip>
|
|
260
|
+
</a>
|
|
261
|
+
</template>
|
|
262
|
+
<template
|
|
263
|
+
v-else-if="column.params.formatS == 'editButton'"
|
|
264
|
+
>
|
|
265
|
+
<a
|
|
266
|
+
href="javascript:void(0);"
|
|
267
|
+
class="a-link"
|
|
268
|
+
@click.stop="openEditDialog(row)"
|
|
269
|
+
>
|
|
270
|
+
<el-tooltip
|
|
271
|
+
:enterable="false"
|
|
272
|
+
effect="dark"
|
|
273
|
+
content="查看"
|
|
274
|
+
placement="top"
|
|
275
|
+
popper-class="tooltip-skin"
|
|
276
|
+
>
|
|
277
|
+
<i class="el-icon-edit" />
|
|
278
|
+
</el-tooltip>
|
|
279
|
+
</a>
|
|
280
|
+
</template>
|
|
236
281
|
<template v-else>
|
|
237
|
-
{{
|
|
282
|
+
{{
|
|
283
|
+
column.formatter({
|
|
284
|
+
cellValue: row[column.field],
|
|
285
|
+
column: column,
|
|
286
|
+
rowIndex: rowIndex,
|
|
287
|
+
row: row,
|
|
288
|
+
items: fieldModel,
|
|
289
|
+
})
|
|
290
|
+
}}
|
|
238
291
|
</template>
|
|
239
292
|
</dd>
|
|
240
293
|
</div>
|
|
@@ -243,9 +296,12 @@
|
|
|
243
296
|
</template>
|
|
244
297
|
</template>
|
|
245
298
|
</div>
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
299
|
+
<div class="btns">
|
|
300
|
+
<!-- <div class="checkbox_fl">
|
|
301
|
+
<el-checkbox></el-checkbox>
|
|
302
|
+
</div> -->
|
|
303
|
+
<!-- <a class="btn"><i class="el-icon-delete"/><span>删除</span></a>
|
|
304
|
+
<a class="btn"><i class="el-icon-edit"/><span>查看</span></a>-->
|
|
249
305
|
<template
|
|
250
306
|
v-if="!!widget.lineButtons && widget.lineButtons.length > 0"
|
|
251
307
|
>
|
|
@@ -605,9 +661,63 @@
|
|
|
605
661
|
</template>
|
|
606
662
|
</template>
|
|
607
663
|
</div>
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
664
|
+
<div class="btns">
|
|
665
|
+
<template
|
|
666
|
+
v-if="!!widget.lineButtons && widget.lineButtons.length > 0"
|
|
667
|
+
>
|
|
668
|
+
<template v-for="(subWidget, swIdx) in widget.lineButtons">
|
|
669
|
+
<template v-if="'container' === subWidget.category">
|
|
670
|
+
<component
|
|
671
|
+
:is="subWidget.type + '-item'"
|
|
672
|
+
:widget="subWidget"
|
|
673
|
+
:key="swIdx"
|
|
674
|
+
:parent-list="widget.lineButtons"
|
|
675
|
+
:index-of-parent-list="swIdx"
|
|
676
|
+
:parent-widget="widget"
|
|
677
|
+
:subFormRowIndex="rowIndex"
|
|
678
|
+
:tableParam="{
|
|
679
|
+
rowIndex: rowIndex,
|
|
680
|
+
row: row,
|
|
681
|
+
items: fieldModel,
|
|
682
|
+
}"
|
|
683
|
+
>
|
|
684
|
+
<!-- 递归传递插槽!!! -->
|
|
685
|
+
<template
|
|
686
|
+
v-for="slot in Object.keys($scopedSlots)"
|
|
687
|
+
v-slot:[slot]="scope"
|
|
688
|
+
>
|
|
689
|
+
<slot :name="slot" v-bind="scope" />
|
|
690
|
+
</template>
|
|
691
|
+
</component>
|
|
692
|
+
</template>
|
|
693
|
+
<template v-else>
|
|
694
|
+
<component
|
|
695
|
+
:is="subWidget.type + '-widget'"
|
|
696
|
+
:field="subWidget"
|
|
697
|
+
:designer="null"
|
|
698
|
+
:key="swIdx"
|
|
699
|
+
:parent-list="widget.lineButtons"
|
|
700
|
+
:index-of-parent-list="swIdx"
|
|
701
|
+
:parent-widget="widget"
|
|
702
|
+
:subFormRowIndex="rowIndex"
|
|
703
|
+
:tableParam="{
|
|
704
|
+
rowIndex: rowIndex,
|
|
705
|
+
row: row,
|
|
706
|
+
items: fieldModel,
|
|
707
|
+
}"
|
|
708
|
+
>
|
|
709
|
+
<!-- 递归传递插槽!!! -->
|
|
710
|
+
<template
|
|
711
|
+
v-for="slot in Object.keys($scopedSlots)"
|
|
712
|
+
v-slot:[slot]="scope"
|
|
713
|
+
>
|
|
714
|
+
<slot :name="slot" v-bind="scope" />
|
|
715
|
+
</template>
|
|
716
|
+
</component>
|
|
717
|
+
</template>
|
|
718
|
+
</template>
|
|
719
|
+
</template>
|
|
720
|
+
</div>
|
|
611
721
|
</template>
|
|
612
722
|
|
|
613
723
|
<!-- <div class="t1">
|
|
@@ -622,16 +732,6 @@
|
|
|
622
732
|
</div>
|
|
623
733
|
</div>
|
|
624
734
|
</div>
|
|
625
|
-
<span slot="footer" class="dialog-footer">
|
|
626
|
-
<el-button
|
|
627
|
-
type="primary"
|
|
628
|
-
plain
|
|
629
|
-
class="button-sty"
|
|
630
|
-
icon="el-icon-close"
|
|
631
|
-
@click="showRowDetailDialog = false"
|
|
632
|
-
>{{ $t1("关闭") }}</el-button
|
|
633
|
-
>
|
|
634
|
-
</span>
|
|
635
735
|
</el-dialog>
|
|
636
736
|
</container-item-wrapper>
|
|
637
737
|
</template>
|
|
@@ -655,7 +755,8 @@ import {
|
|
|
655
755
|
} from "../../../../components/xform/utils/textMaskUtil";
|
|
656
756
|
import { extendDeeply } from "../../../../utils/index.js";
|
|
657
757
|
import { mergeQueryParam } from "../../../../components/xform/utils/queryParamUtil";
|
|
658
|
-
import render from "../../../../views/user/bill_setting/render.vue";
|
|
758
|
+
import render from "../../../../views/user/bill_setting/render.vue";
|
|
759
|
+
import axios from "axios";
|
|
659
760
|
|
|
660
761
|
const baseRefUtil = {
|
|
661
762
|
emitter,
|
|
@@ -741,7 +842,10 @@ export default {
|
|
|
741
842
|
},
|
|
742
843
|
keyword: null,
|
|
743
844
|
|
|
744
|
-
checkItemIds: [],
|
|
845
|
+
checkItemIds: [],
|
|
846
|
+
tableQuerySeq: 0,
|
|
847
|
+
tableQueryCancelSource: null,
|
|
848
|
+
tableDestroyed: false,
|
|
745
849
|
};
|
|
746
850
|
},
|
|
747
851
|
watch: {
|
|
@@ -753,13 +857,6 @@ export default {
|
|
|
753
857
|
formConfig: function () {
|
|
754
858
|
return this.getFormConfig();
|
|
755
859
|
},
|
|
756
|
-
/**
|
|
757
|
-
* 明细行卡片样式开关。只判 === 'card':老表单该 option 为 null/undefined
|
|
758
|
-
* (upgradeWidgetConfig 补的是 null,运行时读不到这个键),必须退回朴素列表。
|
|
759
|
-
*/
|
|
760
|
-
itemCardClass: function () {
|
|
761
|
-
return this.widget.options.itemStyle === "card" ? "h5-item-card" : "";
|
|
762
|
-
},
|
|
763
860
|
paginationLayout: function () {
|
|
764
861
|
return this.widget.options.smallPagination
|
|
765
862
|
? "prev, pager, next"
|
|
@@ -777,26 +874,6 @@ export default {
|
|
|
777
874
|
: !!this.widget.options.buttonsColumnFixed &&
|
|
778
875
|
this.widget.options.buttonsColumnFixed;
|
|
779
876
|
},
|
|
780
|
-
/**
|
|
781
|
-
* 明细卡片主标题所用的列(对齐 bill_setting 的 mainFieldName)。
|
|
782
|
-
*
|
|
783
|
-
* 主字段就是 columns() 里标了 isMainFiled 的那一列 —— 第一个既有 prop
|
|
784
|
-
* 又 showForRow 的列,不是另配的选项。查询选择列表一直拿它当标题行,
|
|
785
|
-
* 这里把同一口径用到明细卡片上。
|
|
786
|
-
*
|
|
787
|
-
* 返回值同时决定字段区要不要把主字段排除掉(模板里那个 v-if)。
|
|
788
|
-
*/
|
|
789
|
-
mainTitleColumn() {
|
|
790
|
-
let visible = (this.vxeOption.columns || []).filter(
|
|
791
|
-
(column) => column.showForRow
|
|
792
|
-
);
|
|
793
|
-
let main = visible.find((column) => column.isMainFiled) || null;
|
|
794
|
-
if (!main) return null;
|
|
795
|
-
// 查询选择模式的标题行是另一个 .t1,与可见列数无关,一直排除主字段,保持原口径
|
|
796
|
-
if (this.widget.options.isQueryTable) return main;
|
|
797
|
-
// 明细卡片:只有一列时不抽标题 —— 抽走字段区就空了,不如照常当字段出
|
|
798
|
-
return visible.length < 2 ? null : main;
|
|
799
|
-
},
|
|
800
877
|
columns() {
|
|
801
878
|
let tableColumns = this.widget.options.tableColumns;
|
|
802
879
|
let newColumns = [];
|
|
@@ -832,8 +909,7 @@ export default {
|
|
|
832
909
|
fixed: !!t.fixed && t.fixed,
|
|
833
910
|
field: t.prop,
|
|
834
911
|
title: t.label,
|
|
835
|
-
|
|
836
|
-
// 且 H5 卡片是 dl/dt/dd 排版本来就不吃列宽。列配置里的「列宽」已一并去掉。
|
|
912
|
+
witdh: t.width,
|
|
837
913
|
sortable: t.sortable,
|
|
838
914
|
align: t.align ? t.align : "center",
|
|
839
915
|
formatter: this.formatterValue,
|
|
@@ -920,10 +996,38 @@ export default {
|
|
|
920
996
|
this.handleOnMounted();
|
|
921
997
|
this.initTableList();
|
|
922
998
|
},
|
|
923
|
-
beforeDestroy: function () {
|
|
924
|
-
this.
|
|
925
|
-
|
|
926
|
-
|
|
999
|
+
beforeDestroy: function () {
|
|
1000
|
+
this.tableDestroyed = true;
|
|
1001
|
+
this.cancelActiveTableQuery("table destroyed");
|
|
1002
|
+
this.unregisterFromRefList();
|
|
1003
|
+
},
|
|
1004
|
+
methods: {
|
|
1005
|
+
cancelActiveTableQuery(reason) {
|
|
1006
|
+
if (this.tableQueryCancelSource) {
|
|
1007
|
+
this.tableQueryCancelSource.cancel(reason || "superseded table query");
|
|
1008
|
+
this.tableQueryCancelSource = null;
|
|
1009
|
+
}
|
|
1010
|
+
},
|
|
1011
|
+
startTableQuery() {
|
|
1012
|
+
this.cancelActiveTableQuery();
|
|
1013
|
+
const source = axios.CancelToken.source();
|
|
1014
|
+
const context = { seq: ++this.tableQuerySeq, source };
|
|
1015
|
+
this.tableQueryCancelSource = source;
|
|
1016
|
+
return context;
|
|
1017
|
+
},
|
|
1018
|
+
isCurrentTableQuery(context) {
|
|
1019
|
+
return (
|
|
1020
|
+
!this.tableDestroyed &&
|
|
1021
|
+
context &&
|
|
1022
|
+
context.seq === this.tableQuerySeq &&
|
|
1023
|
+
this.tableQueryCancelSource === context.source
|
|
1024
|
+
);
|
|
1025
|
+
},
|
|
1026
|
+
finishTableQuery(context) {
|
|
1027
|
+
if (context && this.tableQueryCancelSource === context.source) {
|
|
1028
|
+
this.tableQueryCancelSource = null;
|
|
1029
|
+
}
|
|
1030
|
+
},
|
|
927
1031
|
openAdvancedSearchDialog() {
|
|
928
1032
|
/*let formData = this.formModel;
|
|
929
1033
|
let advancedFormData = {};
|
|
@@ -1127,15 +1231,15 @@ export default {
|
|
|
1127
1231
|
},*/
|
|
1128
1232
|
...dataTableConfig.config,
|
|
1129
1233
|
},
|
|
1130
|
-
exportAjax: (param) => {
|
|
1234
|
+
exportAjax: (param) => {
|
|
1131
1235
|
let $grid = this.getGridTable();
|
|
1132
1236
|
let pageSize = param.size;
|
|
1133
1237
|
let currentPage = param.current;
|
|
1134
1238
|
let page = { pageSize, currentPage };
|
|
1135
|
-
return this.vxeOption.config.proxyConfig.ajax.query.call(this, {
|
|
1136
|
-
page,
|
|
1137
|
-
param,
|
|
1138
|
-
});
|
|
1239
|
+
return this.vxeOption.config.proxyConfig.ajax.query.call(this, {
|
|
1240
|
+
page,
|
|
1241
|
+
param: { ...param, __exportQuery: true },
|
|
1242
|
+
});
|
|
1139
1243
|
},
|
|
1140
1244
|
};
|
|
1141
1245
|
|
|
@@ -1147,8 +1251,12 @@ export default {
|
|
|
1147
1251
|
total: isDataPage ? "objx.total" : "objx.length", // 配置响应结果总页数字段
|
|
1148
1252
|
},
|
|
1149
1253
|
ajax: {
|
|
1150
|
-
// 接收 Promise 对象
|
|
1151
|
-
query: ({ page, sorts, filters, form, param }) => {
|
|
1254
|
+
// 接收 Promise 对象
|
|
1255
|
+
query: ({ page, sorts, filters, form, param }) => {
|
|
1256
|
+
const isExportQuery = param?.__exportQuery === true;
|
|
1257
|
+
const queryContext = isExportQuery
|
|
1258
|
+
? null
|
|
1259
|
+
: this.startTableQuery();
|
|
1152
1260
|
let scriptCode = this.getScriptCode();
|
|
1153
1261
|
let formData = tableOption.param ? tableOption.param() || {} : {};
|
|
1154
1262
|
const queryParams = Object.assign({}, formData);
|
|
@@ -1164,8 +1272,9 @@ export default {
|
|
|
1164
1272
|
queryParams.current = page.currentPage;
|
|
1165
1273
|
}
|
|
1166
1274
|
|
|
1167
|
-
queryParams.searchCount = isQueryAllPage !== false;
|
|
1168
|
-
Object.assign(queryParams, param);
|
|
1275
|
+
queryParams.searchCount = isQueryAllPage !== false;
|
|
1276
|
+
Object.assign(queryParams, param);
|
|
1277
|
+
delete queryParams.__exportQuery;
|
|
1169
1278
|
|
|
1170
1279
|
// 与 PC 链路同规则:condition 追加合并,其余键平铺覆盖
|
|
1171
1280
|
if (that.dataTableConfig.queryParam) {
|
|
@@ -1177,8 +1286,18 @@ export default {
|
|
|
1177
1286
|
...queryParams,
|
|
1178
1287
|
};
|
|
1179
1288
|
if (scriptCode) {
|
|
1180
|
-
let done = (res) => {
|
|
1181
|
-
|
|
1289
|
+
let done = (res) => {
|
|
1290
|
+
if (
|
|
1291
|
+
!isExportQuery &&
|
|
1292
|
+
!this.isCurrentTableQuery(queryContext)
|
|
1293
|
+
) {
|
|
1294
|
+
reject(new axios.Cancel("stale table query"));
|
|
1295
|
+
return;
|
|
1296
|
+
}
|
|
1297
|
+
resolve(res);
|
|
1298
|
+
if (isExportQuery) return;
|
|
1299
|
+
const querySeq = queryContext.seq;
|
|
1300
|
+
this.finishTableQuery(queryContext);
|
|
1182
1301
|
if (res.type === "success") {
|
|
1183
1302
|
let rows = res.objx
|
|
1184
1303
|
? res.objx.records || res.objx || []
|
|
@@ -1192,8 +1311,13 @@ export default {
|
|
|
1192
1311
|
records: rows,
|
|
1193
1312
|
};
|
|
1194
1313
|
}
|
|
1195
|
-
that.$nextTick(() => {
|
|
1196
|
-
setTimeout(function () {
|
|
1314
|
+
that.$nextTick(() => {
|
|
1315
|
+
setTimeout(function () {
|
|
1316
|
+
if (
|
|
1317
|
+
that.tableDestroyed ||
|
|
1318
|
+
querySeq !== that.tableQuerySeq
|
|
1319
|
+
)
|
|
1320
|
+
return;
|
|
1197
1321
|
dataTableConfig.callback &&
|
|
1198
1322
|
dataTableConfig.callback(rows);
|
|
1199
1323
|
tableOption.callback && tableOption.callback(rows);
|
|
@@ -1214,11 +1338,17 @@ export default {
|
|
|
1214
1338
|
this.setValue([]);
|
|
1215
1339
|
}
|
|
1216
1340
|
};
|
|
1217
|
-
this.loadDefaultQueryList(
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1341
|
+
this.loadDefaultQueryList(
|
|
1342
|
+
reqData,
|
|
1343
|
+
done,
|
|
1344
|
+
queryContext?.source.token
|
|
1345
|
+
).catch((error) => {
|
|
1346
|
+
if (queryContext) this.finishTableQuery(queryContext);
|
|
1347
|
+
reject(error);
|
|
1348
|
+
});
|
|
1349
|
+
} else {
|
|
1350
|
+
if (queryContext) this.finishTableQuery(queryContext);
|
|
1351
|
+
resolve();
|
|
1222
1352
|
}
|
|
1223
1353
|
});
|
|
1224
1354
|
},
|
|
@@ -1330,10 +1460,14 @@ export default {
|
|
|
1330
1460
|
}
|
|
1331
1461
|
if (!isQueryTable && !this.formDataId) return;
|
|
1332
1462
|
|
|
1333
|
-
let scriptCode = this.getScriptCode();
|
|
1334
|
-
if (scriptCode) {
|
|
1335
|
-
this.loadDefaultViewList()
|
|
1336
|
-
|
|
1463
|
+
let scriptCode = this.getScriptCode();
|
|
1464
|
+
if (scriptCode) {
|
|
1465
|
+
this.loadDefaultViewList().catch((error) => {
|
|
1466
|
+
if (!axios.isCancel(error) && !this.tableDestroyed) {
|
|
1467
|
+
console.error("[data-table-h5] default view query failed", error);
|
|
1468
|
+
}
|
|
1469
|
+
});
|
|
1470
|
+
}
|
|
1337
1471
|
},
|
|
1338
1472
|
getAccessParam() {
|
|
1339
1473
|
if (!this.widget.options.formScriptParam) return;
|
|
@@ -1379,7 +1513,7 @@ export default {
|
|
|
1379
1513
|
? { ...base, ...(innerData || {}) }
|
|
1380
1514
|
: { ...base, data: innerData || {} };
|
|
1381
1515
|
},
|
|
1382
|
-
loadDefaultQueryList(reqData, done) {
|
|
1516
|
+
loadDefaultQueryList(reqData, done, cancelToken) {
|
|
1383
1517
|
let reportTemplate = this.getFormRef().reportTemplate;
|
|
1384
1518
|
let scriptCode = this.getScriptCode();
|
|
1385
1519
|
let accessParam = this.getAccessParam() || {};
|
|
@@ -1397,14 +1531,16 @@ export default {
|
|
|
1397
1531
|
return this.formHttp({
|
|
1398
1532
|
scriptCode: scriptCode,
|
|
1399
1533
|
data: this.buildFormScriptData(reportTemplate, requestData),
|
|
1400
|
-
isLoading: false,
|
|
1534
|
+
isLoading: false,
|
|
1535
|
+
cancelToken,
|
|
1401
1536
|
...defaultOption,
|
|
1402
1537
|
callback: (res) => {
|
|
1403
1538
|
done(res);
|
|
1404
1539
|
},
|
|
1405
1540
|
});
|
|
1406
1541
|
},
|
|
1407
|
-
loadDefaultViewList() {
|
|
1542
|
+
loadDefaultViewList() {
|
|
1543
|
+
const queryContext = this.startTableQuery();
|
|
1408
1544
|
let dataId = this.formDataId;
|
|
1409
1545
|
let reportTemplate = this.getFormRef().reportTemplate;
|
|
1410
1546
|
let accessParam = this.getAccessParam() || {};
|
|
@@ -1414,23 +1550,30 @@ export default {
|
|
|
1414
1550
|
otherParam.attachmentType = attachmentType;
|
|
1415
1551
|
}
|
|
1416
1552
|
let scriptCode = this.getScriptCode();
|
|
1417
|
-
|
|
1418
|
-
scriptCode: scriptCode,
|
|
1553
|
+
const requestTask = this.formHttp({
|
|
1554
|
+
scriptCode: scriptCode,
|
|
1555
|
+
cancelToken: queryContext.source.token,
|
|
1419
1556
|
data: this.buildFormScriptData(reportTemplate, {
|
|
1420
1557
|
id: dataId,
|
|
1421
1558
|
...otherParam,
|
|
1422
1559
|
...accessParam,
|
|
1423
1560
|
}),
|
|
1424
|
-
callback: (res) => {
|
|
1425
|
-
|
|
1426
|
-
|
|
1561
|
+
callback: (res) => {
|
|
1562
|
+
if (!this.isCurrentTableQuery(queryContext)) return;
|
|
1563
|
+
let rows = res.objx ? res.objx.records || res.objx || [] : [];
|
|
1564
|
+
this.finishTableQuery(queryContext);
|
|
1565
|
+
this.setValue(rows);
|
|
1427
1566
|
this.handleCustomEvent(
|
|
1428
1567
|
this.widget.options.formScriptCallback,
|
|
1429
1568
|
["rows"],
|
|
1430
1569
|
[rows]
|
|
1431
1570
|
);
|
|
1432
|
-
},
|
|
1433
|
-
});
|
|
1571
|
+
},
|
|
1572
|
+
});
|
|
1573
|
+
return Promise.resolve(requestTask).catch((error) => {
|
|
1574
|
+
this.finishTableQuery(queryContext);
|
|
1575
|
+
throw error;
|
|
1576
|
+
});
|
|
1434
1577
|
},
|
|
1435
1578
|
getReqParam(item, dataId, billData) {
|
|
1436
1579
|
let param = {};
|
|
@@ -1604,66 +1747,6 @@ export default {
|
|
|
1604
1747
|
option.prefix = option.prefix || serverName;
|
|
1605
1748
|
this.$excelExport({ targetRef: tableRef, ...option });
|
|
1606
1749
|
},
|
|
1607
|
-
/**
|
|
1608
|
-
* 行级对比标记,复用 indexMixin 的 getCompareRowClass(data-table 也在用,
|
|
1609
|
-
* 见 data-table-mixin.js 的 rowClassName)。返回
|
|
1610
|
-
* xform-compare-row-new / xform-compare-row-changed / ""。
|
|
1611
|
-
* 未参与对比的子表由 getCompareRowClass 内部的 isCompareSubTable 拦掉,
|
|
1612
|
-
* 不会满屏高亮,这里无需重复判断。
|
|
1613
|
-
*/
|
|
1614
|
-
getRowCompareClass(row) {
|
|
1615
|
-
let formRef = this.getFormRef();
|
|
1616
|
-
if (!formRef || !formRef.isCompare || !formRef.getCompareRowClass)
|
|
1617
|
-
return "";
|
|
1618
|
-
return formRef.getCompareRowClass(this.fieldKeyName, row);
|
|
1619
|
-
},
|
|
1620
|
-
/**
|
|
1621
|
-
* 该列在 H5 明细卡片里是否占半行(一行两个)。
|
|
1622
|
-
*
|
|
1623
|
-
* 取列的「H5列宽」选项(table-column-dialog 的「编辑更多属性」里配),
|
|
1624
|
-
* 运行期从 columnConfig 上读 —— createColumns 把整个设计器列对象原样挂在
|
|
1625
|
-
* `col.params.columnConfig` 上(data-table-mixin.js:1762)。
|
|
1626
|
-
* 只认 'half':没配过的老列读到 undefined,按整行处理;不能写成 !== 'full'。
|
|
1627
|
-
*/
|
|
1628
|
-
isHalfColumn(column) {
|
|
1629
|
-
return column?.params?.columnConfig?.h5Span === "half";
|
|
1630
|
-
},
|
|
1631
|
-
/**
|
|
1632
|
-
* 明细行的显示文本。
|
|
1633
|
-
*
|
|
1634
|
-
* 行上不渲染编辑控件,所以有选项的列(下拉/状态/单选/多选)必须自己把
|
|
1635
|
-
* value 换成 label —— 否则状态列会显示成 1 而不是「审核中」,
|
|
1636
|
-
* 因为 formatterValue 只做日期与数字格式化,不查选项表。
|
|
1637
|
-
*/
|
|
1638
|
-
getColumnDisplayText(column, row, rowIndex) {
|
|
1639
|
-
let value = row[column.field];
|
|
1640
|
-
let columnWidget = column.params ? column.params.widget : null;
|
|
1641
|
-
let widgetOptions = (columnWidget && columnWidget.options) || {};
|
|
1642
|
-
let optionList = widgetOptions.optionItems || widgetOptions.statusParam;
|
|
1643
|
-
if (optionList && optionList.length) {
|
|
1644
|
-
let hit = optionList.filter((o) => String(o.value) === String(value))[0];
|
|
1645
|
-
if (hit) return hit.label;
|
|
1646
|
-
}
|
|
1647
|
-
return column.formatter({
|
|
1648
|
-
cellValue: value,
|
|
1649
|
-
column: column,
|
|
1650
|
-
rowIndex: rowIndex,
|
|
1651
|
-
row: row,
|
|
1652
|
-
items: this.fieldModel,
|
|
1653
|
-
});
|
|
1654
|
-
},
|
|
1655
|
-
/**
|
|
1656
|
-
* 行点击:
|
|
1657
|
-
* - 查询选择场景(isQueryTable):点行是勾选,保持原行为;
|
|
1658
|
-
* - 明细行:点整行打开明细详情(行上不再摆删除/操作按钮)。
|
|
1659
|
-
*/
|
|
1660
|
-
onRowClick(row) {
|
|
1661
|
-
if (this.widget.options.isQueryTable) {
|
|
1662
|
-
this.itemCheck(row);
|
|
1663
|
-
return
|
|
1664
|
-
}
|
|
1665
|
-
this.openRowDetailDialog(row);
|
|
1666
|
-
},
|
|
1667
1750
|
itemCheck(row) {
|
|
1668
1751
|
let dataTableConfig = this.dataTableConfig;
|
|
1669
1752
|
if (dataTableConfig) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<container-item-wrapper :widget="widget">
|
|
3
3
|
<div :key="widget.id" class="table-container" v-show="!widget.options.hidden" :style="heightStyle">
|
|
4
|
-
<template v-if="!!widget.widgetList && widget.widgetList.length > 0"
|
|
4
|
+
<template v-if="!!widget.widgetList && widget.widgetList.length > 0">
|
|
5
5
|
<template v-for="(subWidget, swIdx) in widget.widgetList">
|
|
6
6
|
<template v-if="'container' === subWidget.category">
|
|
7
7
|
<component
|