@cloudbase/weda-ui 3.4.7 → 3.4.9-alpha.1024
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/dist/configs/components/carousel.json +12 -2
- package/dist/configs/components/chart/bar.json +1 -1
- package/dist/configs/components/chart/line.js +1 -1
- package/dist/configs/components/chart/pie.json +1 -1
- package/dist/configs/components/chart/statisticsCard.json +1 -1
- package/dist/configs/components/common/form-input-required.js +176 -0
- package/dist/configs/components/container.js +1 -1
- package/dist/configs/components/customer-service.js +264 -0
- package/dist/configs/components/dataView.js +10 -66
- package/dist/configs/components/form/departTreeSelect.json +10 -0
- package/dist/configs/components/form-checkbox.js +260 -0
- package/dist/configs/components/form-date.js +267 -0
- package/dist/configs/components/form-depart-tree-select.js +239 -0
- package/dist/configs/components/form-email.js +257 -0
- package/dist/configs/components/form-image-uploader.js +325 -0
- package/dist/configs/components/form-input.js +478 -0
- package/dist/configs/components/form-location.js +328 -0
- package/dist/configs/components/form-multi-region.js +201 -0
- package/dist/configs/components/form-phone.js +249 -0
- package/dist/configs/components/form-radio.js +260 -0
- package/dist/configs/components/form-region.js +197 -0
- package/dist/configs/components/form-rich-text.js +211 -0
- package/dist/configs/components/form-select.js +367 -0
- package/dist/configs/components/form-switch.js +152 -0
- package/dist/configs/components/form-text-area.js +240 -0
- package/dist/configs/components/form-time.js +220 -0
- package/dist/configs/components/form-upload-file.js +268 -0
- package/dist/configs/components/form-url.js +258 -0
- package/dist/configs/components/form-user-tree-select.js +316 -0
- package/dist/configs/components/formdetail.json +8 -0
- package/dist/configs/components/grid/col.js +6 -0
- package/dist/configs/components/listView.js +34 -92
- package/dist/configs/components/modal.js +2 -1
- package/dist/configs/components/navigationBar.json +1 -1
- package/dist/configs/components/pagelayout.json +1 -1
- package/dist/configs/components/qr_code.js +117 -0
- package/dist/configs/components/repeater.js +3 -2
- package/dist/configs/components/scrollVeiw.json +3 -1
- package/dist/configs/components/table.json +14 -4
- package/dist/configs/components/tabs.js +1 -1
- package/dist/configs/components/wd-bubble.js +2 -2
- package/dist/configs/components/wd-button.js +3 -3
- package/dist/configs/components/wd-divider.js +3 -3
- package/dist/configs/components/wd-form-detail.js +229 -0
- package/dist/configs/components/wd-form.js +394 -0
- package/dist/configs/components/wd-icon.js +2 -2
- package/dist/configs/components/wd-image.js +5 -0
- package/dist/configs/components/wd-link.js +3 -3
- package/dist/configs/components/wd-table.js +1110 -24
- package/dist/configs/components/wd-text.js +4 -3
- package/dist/configs/components/web-view.js +152 -0
- package/dist/configs/components/wedaVideo.json +4 -2
- package/dist/configs/components/wxOpenApi/share.js +1 -0
- package/dist/configs/index.js +48 -0
- package/dist/configs/type-utils/index.js +0 -1
- package/dist/docs/common/componentList.js +8 -37
- package/dist/docs/common/components/classes-view.js +2 -32
- package/dist/docs/common/components/event-view.js +2 -43
- package/dist/docs/common/components/json-schema-view.js +4 -8
- package/dist/docs/common/components/methods-view.js +2 -30
- package/dist/docs/common/components/properties-view.js +7 -43
- package/dist/docs/common/tableView.js +18 -94
- package/dist/enum/index.js +53 -0
- package/dist/setupTests.js +4 -0
- package/dist/style/index.scss +1 -1
- package/dist/web/actions/showModal/index.js +15 -21
- package/dist/web/components/button/index.css +1 -0
- package/dist/web/components/button/index.js +3 -6
- package/dist/web/components/calendar/index.js +19 -45
- package/dist/web/components/carousel/index.js +35 -45
- package/dist/web/components/chart/bar/index.js +6 -7
- package/dist/web/components/chart/bar/index.old.js +3 -2
- package/dist/web/components/chart/common/Chart.js +3 -2
- package/dist/web/components/chart/common/chart-custom-connector.js +3 -7
- package/dist/web/components/chart/line/index.js +6 -7
- package/dist/web/components/chart/line/index.old.js +3 -2
- package/dist/web/components/chart/pie/index.js +6 -7
- package/dist/web/components/chart/pie/index.old.js +3 -2
- package/dist/web/components/chart/statisticsCard/index.js +3 -9
- package/dist/web/components/common/error-boundary.js +13 -15
- package/dist/web/components/common/form-item-wrapper.js +4 -0
- package/dist/web/components/common/use-loop-render-detect.js +2 -2
- package/dist/web/components/container/index.js +2 -2
- package/dist/web/components/customer-service/convert-legacy-props.js +14 -0
- package/dist/web/components/customer-service/customer-service.js +13 -0
- package/dist/web/components/customer-service/index.js +3 -0
- package/dist/web/components/dataView/index.js +5 -1
- package/dist/web/components/drawer/index.js +2 -3
- package/dist/web/components/flow/common/components/container.js +12 -0
- package/dist/web/components/flow/common/components/index.js +2 -0
- package/dist/web/components/flow/common/components/text/index.js +62 -0
- package/dist/web/components/flow/common/constants.js +14 -0
- package/dist/web/components/flow/common/hooks/index.js +2 -0
- package/dist/web/components/flow/common/hooks/useCommonFlowData/flow-get.js +83 -0
- package/dist/web/components/flow/common/hooks/useCommonFlowData/index.js +67 -0
- package/dist/web/components/flow/common/hooks/useCommonFlowData/preview-data.js +45 -0
- package/dist/web/components/flow/common/hooks/useCommonFlowData/request-hub.js +125 -0
- package/dist/web/components/flow/common/hooks/useCommonFlowData/types.js +1 -0
- package/dist/web/components/flow/common/hooks/useElementMediaQuery.js +23 -0
- package/dist/web/components/flow/common/hooks/useFlowConfig.js +44 -0
- package/dist/web/components/flow/common/hooks/useFlowFormLoad.js +64 -0
- package/dist/web/components/flow/common/hooks/useFlowPageType.js +49 -0
- package/dist/web/components/flow/common/index.js +6 -0
- package/dist/web/components/flow/common/request.js +47 -0
- package/dist/web/components/flow/common/types.js +1 -0
- package/dist/web/components/flow/common/utils.js +15 -0
- package/dist/web/components/flow/modules/basic/Basic.js +14 -22
- package/dist/web/components/flow/modules/basic/BasicMobile.js +12 -30
- package/dist/web/components/flow/modules/basic/index.js +19 -11
- package/dist/web/components/flow/modules/basic/status-text.js +37 -0
- package/dist/web/components/flow/modules/basic/utils.js +17 -8
- package/dist/web/components/flow/modules/chart/Chart.js +22 -41
- package/dist/web/components/flow/modules/chart/index.js +9 -4
- package/dist/web/components/flow/modules/chart/utils.js +111 -0
- package/dist/web/components/flow/modules/combination/index.js +4 -6
- package/dist/web/components/flow/modules/layout/index.css +2 -2
- package/dist/web/components/flow/modules/layout/index.js +11 -15
- package/dist/web/components/flow/modules/operations/components/button/index.js +2 -4
- package/dist/web/components/flow/modules/operations/components/popup/index.js +11 -15
- package/dist/web/components/flow/modules/operations/components/user-select/index.js +4 -5
- package/dist/web/components/flow/modules/operations/config/approval-form-config.js +8 -9
- package/dist/web/components/flow/modules/operations/config/control-config.js +38 -33
- package/dist/web/components/flow/modules/operations/control.js +21 -15
- package/dist/web/components/flow/modules/operations/controls-items/add-assignee-btn.js +8 -8
- package/dist/web/components/flow/modules/operations/controls-items/apply-cc-btn.js +2 -2
- package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/comment/index.js +3 -6
- package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/drawer-form/index.js +25 -32
- package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/field/index.js +2 -6
- package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/index.js +15 -7
- package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/style.css +1 -0
- package/dist/web/components/flow/modules/operations/controls-items/cancel-apply-btn.js +2 -2
- package/dist/web/components/flow/modules/operations/controls-items/check-list-popup/index.js +2 -4
- package/dist/web/components/flow/modules/operations/controls-items/flow-task-info-modal/index.js +20 -0
- package/dist/web/components/flow/modules/operations/controls-items/flow-task-info-modal/view-model.js +119 -0
- package/dist/web/components/flow/modules/operations/controls-items/initiation-btn.js +6 -3
- package/dist/web/components/flow/modules/operations/controls-items/revoke-modal/index.js +13 -22
- package/dist/web/components/flow/modules/operations/controls-items/roll-back-modal.js +18 -26
- package/dist/web/components/flow/modules/operations/view-model.js +95 -70
- package/dist/web/components/flow/process/components/comment-text/index.js +24 -0
- package/dist/web/components/flow/process/components/comment-text/style.css +33 -0
- package/dist/web/components/flow/process/components/descriptions/index.js +19 -0
- package/dist/web/components/flow/process/components/descriptions/style.css +31 -0
- package/dist/web/components/flow/process/components/index.js +4 -0
- package/dist/web/components/flow/process/components/timeline/index.js +13 -0
- package/dist/web/components/flow/process/components/timeline/style.css +75 -0
- package/dist/web/components/flow/process/constants.js +46 -0
- package/dist/web/components/flow/process/index.js +2 -0
- package/dist/web/components/flow/process/process.js +113 -0
- package/dist/web/components/flow/process/style.css +17 -0
- package/dist/web/components/flow/process/types.js +1 -0
- package/dist/web/components/flow/process/view-model.js +135 -0
- package/dist/web/components/form/checkbox/index.js +18 -19
- package/dist/web/components/form/enumSelect/MultipleSelect.js +4 -5
- package/dist/web/components/form/enumSelect/NormalSelect.js +4 -5
- package/dist/web/components/form/enumSelect/SelectContainer.js +2 -2
- package/dist/web/components/form/form/index.js +8 -14
- package/dist/web/components/form/formcell/index.js +12 -18
- package/dist/web/components/form/input/index.js +17 -16
- package/dist/web/components/form/location/common/mapChoose.js +37 -69
- package/dist/web/components/form/location/common/mapView.js +2 -1
- package/dist/web/components/form/location/common/selectModal.js +3 -7
- package/dist/web/components/form/location/components/LocationH5/location.h5.js +22 -34
- package/dist/web/components/form/location/components/LocationPC/Header.js +6 -15
- package/dist/web/components/form/location/components/LocationPC/location.PC.js +13 -15
- package/dist/web/components/form/location/index.js +5 -7
- package/dist/web/components/form/radio/index.js +8 -12
- package/dist/web/components/form/renderDecorator.js +3 -2
- package/dist/web/components/form/select/allTimePicker/calendar.js +27 -28
- package/dist/web/components/form/select/allTimePicker/index.js +66 -91
- package/dist/web/components/form/select/dropdown-select/h5.js +30 -53
- package/dist/web/components/form/select/dropdown-select/index.js +3 -2
- package/dist/web/components/form/select/dropdown-select/pc.js +27 -29
- package/dist/web/components/form/select/dropdown-select/ui.js +4 -8
- package/dist/web/components/form/select/h5.js +8 -6
- package/dist/web/components/form/select/index.js +19 -20
- package/dist/web/components/form/select/region/index.js +2 -2
- package/dist/web/components/form/select/request.js +1 -1
- package/dist/web/components/form/select/status/allEmpty.js +2 -2
- package/dist/web/components/form/select/status/empty.js +3 -2
- package/dist/web/components/form/select/status/loading.js +3 -4
- package/dist/web/components/form/select/status/retry.js +3 -4
- package/dist/web/components/form/select/year.js +16 -31
- package/dist/web/components/form/switch/index.js +11 -15
- package/dist/web/components/form/textarea/index.js +5 -10
- package/dist/web/components/form/tips/index.js +2 -2
- package/dist/web/components/form/uploader/index.js +5 -4
- package/dist/web/components/form/uploader/uploader.h5.js +29 -54
- package/dist/web/components/form/uploader/uploader.pc.js +18 -44
- package/dist/web/components/form/uploaderFile/index.js +4 -5
- package/dist/web/components/form/uploaderFile/uploadFile.h5.js +58 -104
- package/dist/web/components/form/uploaderFile/uploadFile.pc.js +42 -69
- package/dist/web/components/form/userOrgSelect/common/fetch-data-service.js +474 -46
- package/dist/web/components/form/userOrgSelect/common/utils.js +269 -0
- package/dist/web/components/form/userOrgSelect/component/depart-breadcrumb.js +5 -10
- package/dist/web/components/form/userOrgSelect/component/depart-select/depart-select-pc.js +10 -18
- package/dist/web/components/form/userOrgSelect/component/depart-select/departTreeSelect.h5.js +177 -0
- package/dist/web/components/form/userOrgSelect/component/depart-select/index.js +56 -41
- package/dist/web/components/form/userOrgSelect/component/depart-select/org-modal-pc.js +38 -35
- package/dist/web/components/form/userOrgSelect/component/error-tips.js +4 -4
- package/dist/web/components/form/userOrgSelect/component/index.css +52 -0
- package/dist/web/components/form/userOrgSelect/component/input-tags.js +4 -18
- package/dist/web/components/form/userOrgSelect/component/modal-search-h5.js +11 -19
- package/dist/web/components/form/userOrgSelect/component/modal-search.js +2 -5
- package/dist/web/components/form/userOrgSelect/component/modal-select-h5.js +127 -50
- package/dist/web/components/form/userOrgSelect/component/org-tree-h5.js +7 -13
- package/dist/web/components/form/userOrgSelect/component/org-tree.js +42 -18
- package/dist/web/components/form/userOrgSelect/component/selected-list-h5.js +23 -40
- package/dist/web/components/form/userOrgSelect/component/selected-list.js +8 -5
- package/dist/web/components/form/userOrgSelect/component/user-org-list.js +35 -35
- package/dist/web/components/form/userOrgSelect/component/user-select-h5/index.js +43 -26
- package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-list-h5.js +36 -50
- package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-select-h5.js +9 -11
- package/dist/web/components/form/userOrgSelect/component/user-select-pc/error-tips.js +4 -4
- package/dist/web/components/form/userOrgSelect/component/user-select-pc/model-user-list.js +59 -21
- package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-model.js +28 -33
- package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-select-pc.js +10 -8
- package/dist/web/components/form/userOrgSelect/component/userOrgSelect.css +15 -1
- package/dist/web/components/form/userOrgSelect/hooks/use-depart-data.js +113 -5
- package/dist/web/components/form-checkbox/index.js +36 -0
- package/dist/web/components/form-date/index.js +52 -0
- package/dist/web/components/form-depart-tree-select/index.js +22 -0
- package/dist/web/components/form-email/index.js +31 -0
- package/dist/web/components/form-image-uploader/index.js +50 -0
- package/dist/web/components/form-input/index.js +25 -0
- package/dist/web/components/form-input-hooks/index.js +281 -0
- package/dist/web/components/form-input-hooks/validator.js +124 -0
- package/dist/web/components/form-location/index.js +24 -0
- package/dist/web/components/form-multi-region/index.js +22 -0
- package/dist/web/components/form-phone/index.js +32 -0
- package/dist/web/components/form-radio/index.js +38 -0
- package/dist/web/components/form-region/index.js +24 -0
- package/dist/web/components/form-rich-text/index.js +22 -0
- package/dist/web/components/form-select/index.js +21 -0
- package/dist/web/components/form-switch/index.js +22 -0
- package/dist/web/components/form-text-area/index.js +22 -0
- package/dist/web/components/form-time/index.js +22 -0
- package/dist/web/components/form-upload-file/index.js +47 -0
- package/dist/web/components/form-url/index.js +31 -0
- package/dist/web/components/form-user-tree-select/index.js +24 -0
- package/dist/web/components/formdetail/index.css +213 -3
- package/dist/web/components/formdetail/index.js +156 -30
- package/dist/web/components/graphicCard/index.js +13 -25
- package/dist/web/components/grid/col.js +3 -2
- package/dist/web/components/grid/grid.js +4 -3
- package/dist/web/components/grid/row.js +3 -2
- package/dist/web/components/image/image.js +52 -57
- package/dist/web/components/image/index.js +2 -2
- package/dist/web/components/index.js +45 -3
- package/dist/web/components/link/index.js +3 -5
- package/dist/web/components/listView/index.js +29 -49
- package/dist/web/components/lottery/index.js +123 -143
- package/dist/web/components/modal/h5.css +3 -0
- package/dist/web/components/modal/index.js +3 -2
- package/dist/web/components/modal/modal.h5.js +8 -14
- package/dist/web/components/modal/modal.pc.js +5 -7
- package/dist/web/components/navLayout/index.js +13 -20
- package/dist/web/components/navigationBar/common.js +12 -14
- package/dist/web/components/navigationBar/h5Menu.js +18 -37
- package/dist/web/components/navigationBar/horizontalMenu.js +33 -50
- package/dist/web/components/navigationBar/index.css +2 -1
- package/dist/web/components/navigationBar/index.js +5 -10
- package/dist/web/components/navigationBar/verticalMenu.js +11 -13
- package/dist/web/components/pageLayout/PageContent/index.js +7 -14
- package/dist/web/components/pageLayout/index.css +10 -0
- package/dist/web/components/pageLayout/index.js +7 -12
- package/dist/web/components/phone/index.js +2 -4
- package/dist/web/components/phoneCode/index.js +2 -4
- package/dist/web/components/picker/datePicker.js +2 -2
- package/dist/web/components/picker/picker.js +2 -2
- package/dist/web/components/picker/timePicker.js +2 -2
- package/dist/web/components/qrcode/index.js +3 -0
- package/dist/web/components/qrcode/qr-code.js +26 -0
- package/dist/web/components/repeater/index.js +2 -2
- package/dist/web/components/repeater-item/index.js +2 -2
- package/dist/web/components/richText/index.js +74 -93
- package/dist/web/components/richTextView/index.js +3 -3
- package/dist/web/components/scrollView/index.js +4 -3
- package/dist/web/components/share/index.js +2 -4
- package/dist/web/components/slot/index.js +2 -2
- package/dist/web/components/statusContent/index.css +39 -0
- package/dist/web/components/statusContent/index.js +9 -0
- package/dist/web/components/swiper/index.js +45 -48
- package/dist/web/components/table/BaseTable.js +141 -189
- package/dist/web/components/table/ExportFileModalByApi/index.js +29 -60
- package/dist/web/components/table/FieldRender.js +47 -51
- package/dist/web/components/table/FilterFields.js +45 -71
- package/dist/web/components/table/Form/Enum.js +4 -4
- package/dist/web/components/table/Form/Location.js +9 -9
- package/dist/web/components/table/ImportFileModal/index.css +261 -0
- package/dist/web/components/table/ImportFileModal/index.js +47 -107
- package/dist/web/components/table/ImportFileModal/validate.js +9 -9
- package/dist/web/components/table/ImportFileModalByApi/index.css +35 -3
- package/dist/web/components/table/ImportFileModalByApi/index.js +96 -113
- package/dist/web/components/table/ImportFileModalByApi/uploadCSVFile.js +23 -47
- package/dist/web/components/table/InOrOutRecordModeal.js +26 -47
- package/dist/web/components/table/QuoteModal.js +3 -5
- package/dist/web/components/table/SelectableBlock/index.js +23 -27
- package/dist/web/components/table/UserDepartment/ViewCell.js +3 -3
- package/dist/web/components/table/UserDepartment/utils.js +4 -4
- package/dist/web/components/table/baseTable.css +0 -10
- package/dist/web/components/table/index.js +3 -5
- package/dist/web/components/tabs/index.js +5 -6
- package/dist/web/components/tabs/tabs.h5.js +12 -14
- package/dist/web/components/tabs/tabs.pc.js +5 -5
- package/dist/web/components/text/index.js +3 -2
- package/dist/web/components/uploaderFileView/index.js +4 -3
- package/dist/web/components/uploaderView/index.js +12 -16
- package/dist/web/components/userInfo/index.js +2 -4
- package/dist/web/components/wd-bubble/wd-bubble.js +10 -11
- package/dist/web/components/wd-button/wd-button.js +24 -8
- package/dist/web/components/wd-config-provider/wd-config-provider.js +3 -2
- package/dist/web/components/wd-divider/wd-divider.js +3 -2
- package/dist/web/components/wd-form/hooks/use-auth-value.js +43 -0
- package/dist/web/components/wd-form/hooks/use-remote-value.js +79 -0
- package/dist/web/components/wd-form/index.js +368 -0
- package/dist/web/components/wd-icon/wd-icon.js +3 -2
- package/dist/web/components/wd-image/image.js +98 -96
- package/dist/web/components/wd-image/index.js +4 -3
- package/dist/web/components/wd-link/wd-link.js +4 -8
- package/dist/web/components/wd-table/components/ExportFileModalByApi/ExportFileModalByApi.js +7 -0
- package/dist/web/components/wd-table/components/ExportFileModalByApi/index.css +9 -0
- package/dist/web/components/wd-table/components/ExportFileModalByApi/index.js +74 -0
- package/dist/web/components/wd-table/components/FieldRender/Form/Enum.js +56 -0
- package/dist/web/components/wd-table/components/FieldRender/Form/Location.css +11 -0
- package/dist/web/components/wd-table/components/FieldRender/Form/Location.js +127 -0
- package/dist/web/components/wd-table/components/FieldRender/ImagePreview.js +8 -0
- package/dist/web/components/wd-table/components/FieldRender/QuoteModal.js +17 -0
- package/dist/web/components/wd-table/components/FieldRender/UserDepartment/ViewCell.js +11 -0
- package/dist/web/components/wd-table/components/FieldRender/UserDepartment/utils.js +82 -0
- package/dist/web/components/wd-table/components/FieldRender/UserDepartment/viewCell.css +11 -0
- package/dist/web/components/wd-table/components/FieldRender/index.js +691 -0
- package/dist/web/components/wd-table/components/FilterFieldsPanel/Fields.js +82 -0
- package/dist/web/components/wd-table/components/FilterFieldsPanel/FilterFieldItem.js +86 -0
- package/dist/web/components/wd-table/components/FilterFieldsPanel/InputAdornment.js +9 -0
- package/dist/web/components/wd-table/components/FilterFieldsPanel/SelectSearch.js +44 -0
- package/dist/web/components/wd-table/components/FilterFieldsPanel/filterFieldsGenerate.js +113 -0
- package/dist/web/components/wd-table/components/FilterFieldsPanel/index.js +169 -0
- package/dist/web/components/wd-table/components/ImportFileModalByApi/index.js +44 -0
- package/dist/web/components/wd-table/components/InOrOutRecordModal.js +14 -0
- package/dist/web/components/wd-table/components/Pagination/index.js +11 -0
- package/dist/web/components/wd-table/components/SearchBox/index.js +45 -0
- package/dist/web/components/wd-table/components/Table/index.js +172 -0
- package/dist/web/components/wd-table/components/Table/util.js +63 -0
- package/dist/web/components/wd-table/components/ToolBar/index.js +34 -0
- package/dist/web/components/wd-table/components/deleteModal.js +40 -0
- package/dist/web/components/wd-table/components/index.js +10 -0
- package/dist/web/components/wd-table/hooks/useAuthFields.js +13 -0
- package/dist/web/components/wd-table/hooks/useChooseList.js +72 -0
- package/dist/web/components/wd-table/hooks/useDataSource.js +5 -0
- package/dist/web/components/wd-table/hooks/useQueryParams.js +41 -0
- package/dist/web/components/wd-table/hooks/useTableData.js +48 -0
- package/dist/web/components/wd-table/hooks/useViewFields.js +20 -0
- package/dist/web/components/wd-table/mock/index.js +202 -0
- package/dist/web/components/wd-table/utils/index.js +307 -0
- package/dist/web/components/wd-table/wd-table.js +453 -21
- package/dist/web/components/wd-text/wd-text.js +15 -14
- package/dist/web/components/web-view/index.css +5 -0
- package/dist/web/components/web-view/index.js +3 -0
- package/dist/web/components/web-view/web-view.js +61 -0
- package/dist/web/components/wedaVideo/index.js +2 -5
- package/dist/web/utils/constant.js +1 -0
- package/dist/web/utils/getModelParams.js +32 -0
- package/dist/web/utils/hooks/CreatePortal.js +3 -2
- package/dist/web/utils/hooks/EnumHoc.js +3 -2
- package/dist/web/utils/hooks/globalConnect.js +2 -3
- package/dist/web/utils/hooks/use-cloud-id-temp-url.js +6 -11
- package/dist/web/utils/hooks/useDataSource.js +22 -0
- package/dist/web/utils/loading-fallback.js +2 -2
- package/dist/web/utils/platform.js +21 -0
- package/dist/web/utils/tcb.js +0 -13
- package/dist/web/utils/tool.js +14 -0
- package/dist/web/utils/widget-api/index.js +39 -7
- package/package.json +33 -25
- package/dist/web/components/emptyContent/index.css +0 -26
- package/dist/web/components/flow/components/FlowModuleText/index.css +0 -4
- package/dist/web/components/flow/modules/process/index.css +0 -194
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useEffect } from 'react';
|
|
2
3
|
import { Modal, Button, Radio, Form, Table, Checkbox, Icon, List, Status, Bubble, } from 'tea-component';
|
|
3
4
|
import { useImportingStatus } from '../hooks/useImportingStatus';
|
|
4
5
|
import { callWedaApi } from '../../../utils/tcb';
|
|
@@ -87,64 +88,32 @@ export function ExportFileModalByApi({ onCancel, visible, fields, selectedKeysLi
|
|
|
87
88
|
header: '字段类型',
|
|
88
89
|
},
|
|
89
90
|
];
|
|
90
|
-
return (
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
React.createElement(Checkbox.Group, { value: exportIdentity, onChange: (value) => setExportIdentity(value), style: { margin: '16px 0', color: 'rgba(0, 0, 0, 0.6)' } },
|
|
115
|
-
React.createElement(Checkbox, { name: "exportIdentity", style: { color: 'rgba(0, 0, 0, 0.6)' } },
|
|
116
|
-
React.createElement(Bubble, { content: "\u52FE\u9009\u540E\uFF0C\u53EF\u5BFC\u51FA\u679A\u4E3E\u5B57\u6BB5\u7684\u9009\u9879\u6807\u8BC6\uFF0C\u4E0E\u5173\u8054\u5173\u7CFB/\u4E3B\u5B50\u660E\u7EC6\u5B57\u6BB5\u5173\u8054\u6570\u636E\u7684\u6570\u636E\u6807\u8BC6\uFF0C\u53EF\u7528\u4E8E\u5BFC\u5165\u65F6\u66F4\u65B0\u679A\u4E3E/\u5173\u8054\u5173\u7CFB/\u4E3B\u5B50\u660E\u7EC6\u5B57\u6BB5\u6570\u636E" }, "\u5BFC\u51FA\u9009\u9879\u6807\u8BC6\u548C\u5173\u8054\u6570\u636E\u6807\u8BC6"))))),
|
|
117
|
-
step === 'isExporting' && (React.createElement("div", { className: "import-file-result-wrap" },
|
|
118
|
-
status === 'error' && (React.createElement("div", { className: "error-container" },
|
|
119
|
-
React.createElement("div", { className: "error-tip" },
|
|
120
|
-
React.createElement(Icon, { type: "error", size: "s" }),
|
|
121
|
-
React.createElement("p", null, "\u6570\u636E\u5BFC\u51FA\u5931\u8D25")),
|
|
122
|
-
React.createElement("div", { className: "error-content" },
|
|
123
|
-
React.createElement(List, null, Array.isArray(errorMessage)
|
|
124
|
-
? errorMessage === null || errorMessage === void 0 ? void 0 : errorMessage.map((i, index) => (React.createElement(List.Item, { key: index }, i)))
|
|
125
|
-
: errorMessage)))),
|
|
126
|
-
status !== 'validateError' && status !== 'error' && (React.createElement("div", { className: `status-wrap ${status}` },
|
|
127
|
-
React.createElement(Status, { icon: 'blank', size: 'm', style: {
|
|
128
|
-
maxWidth: '430px',
|
|
129
|
-
}, title: status === 'success'
|
|
130
|
-
? '数据导出完成'
|
|
131
|
-
: '数据导出中,请稍候...', description: status !== 'success' ? (React.createElement("div", null,
|
|
132
|
-
"\u5173\u95ED\u5F39\u7A97\u540E\uFF0C\u5BFC\u51FA\u4EFB\u52A1\u4F1A\u7EE7\u7EED\u6267\u884C\uFF0C\u53EF\u5728",
|
|
133
|
-
React.createElement("a", { onClick: () => {
|
|
91
|
+
return (_jsxs(Modal, { caption: "\u5BFC\u51FAExcel", visible: visible, onClose: onCancel, size: 'l', className: `weda-import-csv-file-modal`, children: [_jsxs(Modal.Body, { children: [step === 'fieldMap' && (_jsxs("div", { children: [_jsx(Form, { className: "weda-import-csv-file-modal weda-export-csv-file-modal", children: _jsx(Form.Item, { label: "\u5BFC\u51FA\u6570\u636E\u8303\u56F4", children: _jsxs(Radio.Group, { value: exportType, onChange: (value) => setExportType(value), style: { display: 'flex' }, children: [_jsx(Radio, { name: "all", children: "\u5168\u90E8\u6570\u636E" }), _jsx(Radio, { name: "filter", children: "\u7B5B\u9009\u540E\u7684\u6570\u636E" }), _jsxs(Radio, { name: "selected", disabled: !(selectedKeysList === null || selectedKeysList === void 0 ? void 0 : selectedKeysList.length), children: ["\u9009\u4E2D\u7684\u6570\u636E", _jsx("span", { style: { color: 'rgba(0, 0, 0, 0.6)' }, children: !(selectedKeysList === null || selectedKeysList === void 0 ? void 0 : selectedKeysList.length) && '(无选中数据)' })] })] }) }) }), _jsx("p", { className: "weda-export-csv-file-modal__wrap_text", children: "\u5BFC\u51FA\u5B57\u6BB5" }), _jsx(Table, { records: fields, recordKey: "name", columns: columns, style: { border: '1px solid #E7E7E7', borderBottom: '0' }, addons: [
|
|
92
|
+
selectable({
|
|
93
|
+
value: selectedKeys,
|
|
94
|
+
onChange: (keys) => {
|
|
95
|
+
setSelectedKeys(keys);
|
|
96
|
+
},
|
|
97
|
+
rowSelect: true,
|
|
98
|
+
}),
|
|
99
|
+
scrollable({
|
|
100
|
+
maxHeight: 320,
|
|
101
|
+
}),
|
|
102
|
+
] }), _jsx(Checkbox.Group, { value: exportIdentity, onChange: (value) => setExportIdentity(value), style: { margin: '16px 0', color: 'rgba(0, 0, 0, 0.6)' }, children: _jsx(Checkbox, { name: "exportIdentity", style: { color: 'rgba(0, 0, 0, 0.6)' }, children: _jsx(Bubble, { content: "\u52FE\u9009\u540E\uFF0C\u53EF\u5BFC\u51FA\u679A\u4E3E\u5B57\u6BB5\u7684\u9009\u9879\u6807\u8BC6\uFF0C\u4E0E\u5173\u8054\u5173\u7CFB/\u4E3B\u5B50\u660E\u7EC6\u5B57\u6BB5\u5173\u8054\u6570\u636E\u7684\u6570\u636E\u6807\u8BC6\uFF0C\u53EF\u7528\u4E8E\u5BFC\u5165\u65F6\u66F4\u65B0\u679A\u4E3E/\u5173\u8054\u5173\u7CFB/\u4E3B\u5B50\u660E\u7EC6\u5B57\u6BB5\u6570\u636E", children: "\u5BFC\u51FA\u9009\u9879\u6807\u8BC6\u548C\u5173\u8054\u6570\u636E\u6807\u8BC6" }) }) })] })), step === 'isExporting' && (_jsxs("div", { className: "import-file-result-wrap", children: [status === 'error' && (_jsxs("div", { className: "error-container", children: [_jsxs("div", { className: "error-tip", children: [_jsx(Icon, { type: "error", size: "s" }), _jsx("p", { children: "\u6570\u636E\u5BFC\u51FA\u5931\u8D25" })] }), _jsx("div", { className: "error-content", children: _jsx(List, { children: Array.isArray(errorMessage)
|
|
103
|
+
? errorMessage === null || errorMessage === void 0 ? void 0 : errorMessage.map((i, index) => (_jsx(List.Item, { children: i }, index)))
|
|
104
|
+
: errorMessage }) })] })), status !== 'validateError' && status !== 'error' && (_jsx("div", { className: `status-wrap ${status}`, children: _jsx(Status, { icon: 'blank', size: 'm', style: {
|
|
105
|
+
maxWidth: '430px',
|
|
106
|
+
}, title: status === 'success'
|
|
107
|
+
? '数据导出完成'
|
|
108
|
+
: '数据导出中,请稍候...', description: status !== 'success' ? (_jsxs("div", { children: ["\u5173\u95ED\u5F39\u7A97\u540E\uFF0C\u5BFC\u51FA\u4EFB\u52A1\u4F1A\u7EE7\u7EED\u6267\u884C\uFF0C\u53EF\u5728", _jsx("a", { onClick: () => {
|
|
109
|
+
onCancel();
|
|
110
|
+
handleInOrOutRecordModealVisible('export');
|
|
111
|
+
}, children: "\u6211\u7684\u5BFC\u51FA\u8BB0\u5F55" }), "\u67E5\u770B\u4EFB\u52A1\u8FDB\u5EA6"] })) : (_jsx("a", { target: '_blank', href: fileImportErrorMessage === null || fileImportErrorMessage === void 0 ? void 0 : fileImportErrorMessage.DownloadUrl, rel: "noreferrer", style: { margin: '0 auto' }, children: "\u70B9\u51FB\u4E0B\u8F7D" })) }) }))] }))] }), _jsxs(Modal.Footer, { children: [step === 'fieldMap' && (_jsx(Button, { type: "link", style: { float: 'left' }, onClick: () => {
|
|
112
|
+
onCancel();
|
|
113
|
+
handleInOrOutRecordModealVisible('export');
|
|
114
|
+
}, children: "\u6211\u7684\u5BFC\u51FA\u8BB0\u5F55" })), step === 'fieldMap' && (_jsxs(_Fragment, { children: [_jsx(Button, { onClick: () => {
|
|
134
115
|
onCancel();
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
React.createElement(Modal.Footer, null,
|
|
139
|
-
step === 'fieldMap' && (React.createElement(Button, { type: "link", style: { float: 'left' }, onClick: () => {
|
|
140
|
-
onCancel();
|
|
141
|
-
handleInOrOutRecordModealVisible('export');
|
|
142
|
-
} }, "\u6211\u7684\u5BFC\u51FA\u8BB0\u5F55")),
|
|
143
|
-
step === 'fieldMap' && (React.createElement(React.Fragment, null,
|
|
144
|
-
React.createElement(Button, { onClick: () => {
|
|
145
|
-
onCancel();
|
|
146
|
-
} }, "\u53D6\u6D88"),
|
|
147
|
-
React.createElement(Button, { type: "primary", onClick: () => {
|
|
148
|
-
hadnleExport();
|
|
149
|
-
}, style: { marginLeft: 10 }, disabled: !(selectedKeys === null || selectedKeys === void 0 ? void 0 : selectedKeys.length) }, "\u786E\u5B9A"))))));
|
|
116
|
+
}, children: "\u53D6\u6D88" }), _jsx(Button, { type: "primary", onClick: () => {
|
|
117
|
+
hadnleExport();
|
|
118
|
+
}, style: { marginLeft: 10 }, disabled: !(selectedKeys === null || selectedKeys === void 0 ? void 0 : selectedKeys.length), children: "\u786E\u5B9A" })] }))] })] }));
|
|
150
119
|
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo } from 'react';
|
|
2
3
|
import { useMediaQuery } from '@react-hookz/web';
|
|
3
4
|
import { Text, Modal, Table, Form } from 'tea-component';
|
|
5
|
+
import fromEntries from 'object.fromentries';
|
|
4
6
|
import { formatTimeByType } from '../../utils/date';
|
|
5
7
|
import { safeJsonParse, isValueEmpty } from '../../utils/tool';
|
|
6
8
|
import Location, { locationProperties } from './Form/Location';
|
|
@@ -20,7 +22,7 @@ const TextWrap = (props) => {
|
|
|
20
22
|
const rest = showTip
|
|
21
23
|
? { title, overflow: true, style: { width } }
|
|
22
24
|
: { title };
|
|
23
|
-
return
|
|
25
|
+
return _jsx(Text, { ...rest, children: children });
|
|
24
26
|
};
|
|
25
27
|
/**
|
|
26
28
|
* 根据类型获取展示字段组件的 render 方法,用于表格/详情中的值转换
|
|
@@ -39,7 +41,7 @@ export function getFieldRender(field = {}, extra = {}) {
|
|
|
39
41
|
if (!val)
|
|
40
42
|
return '-';
|
|
41
43
|
const item = field['x-enumObj'].find((item) => (item === null || item === void 0 ? void 0 : item.value) === val);
|
|
42
|
-
return
|
|
44
|
+
return _jsx(TextWrap, { ...textProps, children: (item === null || item === void 0 ? void 0 : item.label) || '-' });
|
|
43
45
|
};
|
|
44
46
|
return XEnumObj;
|
|
45
47
|
}
|
|
@@ -51,8 +53,7 @@ export function getFieldRender(field = {}, extra = {}) {
|
|
|
51
53
|
// fieldValue 值转换,如布尔/时间/枚举等
|
|
52
54
|
let fieldValue = val;
|
|
53
55
|
// 图片 render 方法
|
|
54
|
-
const xImageRender = (val) => (
|
|
55
|
-
React.createElement(UploaderView, { isEmptyPlace: false, srcList: val, height: 60, width: 60, gutter: 6 })));
|
|
56
|
+
const xImageRender = (val) => (_jsx("div", { className: `${modelType === 'table' ? 'table-data-item-value' : ''}`, children: _jsx(UploaderView, { isEmptyPlace: false, srcList: val, height: 60, width: 60, gutter: 6 }) }));
|
|
56
57
|
// 地理位置 Render方法
|
|
57
58
|
const xLocationRender = (val, modelType, isInArray = false) => {
|
|
58
59
|
var _a;
|
|
@@ -73,14 +74,14 @@ export function getFieldRender(field = {}, extra = {}) {
|
|
|
73
74
|
properties: locationProperties,
|
|
74
75
|
},
|
|
75
76
|
};
|
|
76
|
-
return (
|
|
77
|
+
return (_jsx(ArrayComponent, { value: value, modelType: modelType, field: locationField, items: items }));
|
|
77
78
|
}
|
|
78
79
|
if (modelType === 'table') {
|
|
79
80
|
const content = (_a = formatLocationData(val)) === null || _a === void 0 ? void 0 : _a.flatContent;
|
|
80
|
-
return
|
|
81
|
+
return _jsx(TextWrap, { ...textProps, children: content });
|
|
81
82
|
}
|
|
82
83
|
else {
|
|
83
|
-
return
|
|
84
|
+
return _jsx(Location, { readonly: true, value: val });
|
|
84
85
|
}
|
|
85
86
|
};
|
|
86
87
|
if (type === 'string') {
|
|
@@ -92,11 +93,11 @@ export function getFieldRender(field = {}, extra = {}) {
|
|
|
92
93
|
caption: '内容展示',
|
|
93
94
|
size: MODAL_SIZE,
|
|
94
95
|
onClose: () => modal.destroy(),
|
|
95
|
-
children:
|
|
96
|
+
children: _jsx(RichTextView, { value: val }),
|
|
96
97
|
});
|
|
97
98
|
};
|
|
98
99
|
fieldValue = JSON.stringify(val);
|
|
99
|
-
return modelType === 'detail' ? (
|
|
100
|
+
return modelType === 'detail' ? (_jsx(RichTextView, { value: fieldValue })) : (_jsx("a", { onClick: () => showRichText(fieldValue), children: "\u8BE6\u60C5" }));
|
|
100
101
|
}
|
|
101
102
|
else if (format === 'x-image') {
|
|
102
103
|
// 图片
|
|
@@ -104,41 +105,39 @@ export function getFieldRender(field = {}, extra = {}) {
|
|
|
104
105
|
}
|
|
105
106
|
else if (format === 'x-file') {
|
|
106
107
|
// 文件
|
|
107
|
-
return (
|
|
108
|
+
return (_jsx(UploaderFileView, { value: fieldValue, single: (extra === null || extra === void 0 ? void 0 : extra.modelType) !== 'detail' }));
|
|
108
109
|
}
|
|
109
110
|
else if (isShowOrgsView(field, modelType)) {
|
|
110
|
-
return (
|
|
111
|
+
return (_jsx(ViewCell, { data: fieldValue, showType: modelType,
|
|
111
112
|
// type={field['x-parent']?.parentDataSourceName === 'sys_department' ? 'org' : 'user'}
|
|
112
113
|
relation: extra === null || extra === void 0 ? void 0 : extra.relation }));
|
|
113
114
|
}
|
|
114
115
|
else if (format === 'x-enum') {
|
|
115
116
|
// 枚举(新)
|
|
116
|
-
return (
|
|
117
|
-
React.createElement(EnumView, { field: field, values: val })));
|
|
117
|
+
return (_jsx(TextWrap, { ...textProps, title: val, children: _jsx(EnumView, { field: field, values: val }) }));
|
|
118
118
|
}
|
|
119
119
|
else if (format === 'url') {
|
|
120
120
|
// 网址
|
|
121
|
-
return (
|
|
122
|
-
React.createElement(TextWrap, { ...textProps }, fieldValue)));
|
|
121
|
+
return (_jsx("a", { target: "_blank", href: fieldValue, rel: "noreferrer", children: _jsx(TextWrap, { ...textProps, children: fieldValue }) }));
|
|
123
122
|
}
|
|
124
123
|
else {
|
|
125
|
-
return
|
|
124
|
+
return _jsx(TextWrap, { ...textProps, children: fieldValue });
|
|
126
125
|
}
|
|
127
126
|
}
|
|
128
127
|
else if (type === 'number') {
|
|
129
128
|
fieldValue = formatNumber(val, field);
|
|
130
|
-
return
|
|
129
|
+
return _jsx(TextWrap, { children: fieldValue });
|
|
131
130
|
}
|
|
132
131
|
else if (type === 'boolean') {
|
|
133
132
|
fieldValue = formatBoolean(val);
|
|
134
|
-
return
|
|
133
|
+
return _jsx(TextWrap, { children: fieldValue });
|
|
135
134
|
}
|
|
136
135
|
else if (type === 'object') {
|
|
137
136
|
const objectRender = ({ value, modelType, fields }) => {
|
|
138
137
|
if (typeof val === 'object') {
|
|
139
|
-
return (
|
|
138
|
+
return (_jsx(DataItemView, { value: value, modelType: modelType, fields: fields }));
|
|
140
139
|
}
|
|
141
|
-
return
|
|
140
|
+
return _jsx(TextWrap, { ...textProps, children: value });
|
|
142
141
|
};
|
|
143
142
|
fieldValue = safeJsonParse(val);
|
|
144
143
|
if ((field === null || field === void 0 ? void 0 : field.format) === 'x-location') {
|
|
@@ -152,22 +151,21 @@ export function getFieldRender(field = {}, extra = {}) {
|
|
|
152
151
|
});
|
|
153
152
|
}
|
|
154
153
|
else {
|
|
155
|
-
return (
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
154
|
+
return (_jsx(QuoteModal, { className: "e-object-view-modal", caption: title, size: "90%", children: objectRender({
|
|
155
|
+
value: val,
|
|
156
|
+
modelType: { modelType },
|
|
157
|
+
fields: properties,
|
|
158
|
+
}) }));
|
|
160
159
|
}
|
|
161
160
|
}
|
|
162
161
|
else if (type === 'array') {
|
|
163
162
|
if (field.name === '_departmentList' &&
|
|
164
163
|
['table', 'detail'].includes(modelType)) {
|
|
165
|
-
return
|
|
164
|
+
return _jsx(TextWrap, { ...textProps, children: val || '-' });
|
|
166
165
|
}
|
|
167
166
|
if (format === 'x-enum') {
|
|
168
167
|
// 枚举(新)
|
|
169
|
-
return (
|
|
170
|
-
React.createElement(EnumView, { field: field, values: val })));
|
|
168
|
+
return (_jsx(TextWrap, { ...textProps, title: val, children: _jsx(EnumView, { field: field, values: val }) }));
|
|
171
169
|
}
|
|
172
170
|
else if ((items === null || items === void 0 ? void 0 : items.format) === 'x-location') {
|
|
173
171
|
// 地理位置
|
|
@@ -179,14 +177,14 @@ export function getFieldRender(field = {}, extra = {}) {
|
|
|
179
177
|
}
|
|
180
178
|
else if ((items === null || items === void 0 ? void 0 : items.format) === 'x-file' && (extra === null || extra === void 0 ? void 0 : extra.modelType) === 'detail') {
|
|
181
179
|
// 文件数组,在详情页和表格页展示不同
|
|
182
|
-
return
|
|
180
|
+
return _jsx(UploaderFileView, { value: fieldValue, single: false });
|
|
183
181
|
}
|
|
184
182
|
else {
|
|
185
183
|
fieldValue = safeJsonParse(val);
|
|
186
|
-
return (
|
|
184
|
+
return (_jsx(ArrayComponent, { value: fieldValue, field: field, modelType: modelType, items: items }));
|
|
187
185
|
}
|
|
188
186
|
}
|
|
189
|
-
return
|
|
187
|
+
return _jsx("span", { children: JSON.stringify(fieldValue) });
|
|
190
188
|
};
|
|
191
189
|
return FieldRender;
|
|
192
190
|
}
|
|
@@ -195,14 +193,13 @@ export function getFieldRender(field = {}, extra = {}) {
|
|
|
195
193
|
*/
|
|
196
194
|
export const DataItemView = ({ fields, modelType, value }) => {
|
|
197
195
|
const isH5 = useMediaQuery('(max-width: 1024px)');
|
|
198
|
-
return (
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
})));
|
|
196
|
+
return (_jsx(Form, { readonly: true, className: isH5 ? 'tea-form--vertical' : '', children: Object.entries(fields).map(([key, field]) => {
|
|
197
|
+
const fieldRender = getFieldRender(field, {
|
|
198
|
+
showTip: false,
|
|
199
|
+
modelType,
|
|
200
|
+
});
|
|
201
|
+
return (_jsx(Form.Item, { label: field.title, children: _jsx(Form.Text, { children: fieldRender(value === null || value === void 0 ? void 0 : value[(field === null || field === void 0 ? void 0 : field.name) || key]) }) }, key));
|
|
202
|
+
}) }));
|
|
206
203
|
};
|
|
207
204
|
/**
|
|
208
205
|
* object,展示表格组件
|
|
@@ -214,7 +211,7 @@ export const DataTableView = ({ fields, value }) => {
|
|
|
214
211
|
const baseColumns = getColumns(rawFieldsSort);
|
|
215
212
|
return baseColumns;
|
|
216
213
|
}, [fields]);
|
|
217
|
-
return (
|
|
214
|
+
return (_jsx(Table, { bordered: "all", recordKey: "_id", records: [].concat(value), columns: columns }));
|
|
218
215
|
};
|
|
219
216
|
/**
|
|
220
217
|
* array类型,展示组件
|
|
@@ -224,17 +221,16 @@ const ArrayComponent = ({ items, modelType, value, field }) => {
|
|
|
224
221
|
// PC端 数组嵌套子对象时,显示为表格
|
|
225
222
|
if (items.type === 'object' && !isH5) {
|
|
226
223
|
if (modelType === 'detail') {
|
|
227
|
-
return
|
|
224
|
+
return _jsx(DataTableView, { value: value, fields: field.items });
|
|
228
225
|
}
|
|
229
|
-
return (
|
|
230
|
-
React.createElement(DataTableView, { value: value, fields: field.items })));
|
|
226
|
+
return (_jsx(QuoteModal, { className: "e-array-view-modal", caption: field.title, size: MODAL_SIZE, children: _jsx(DataTableView, { value: value, fields: field.items }) }));
|
|
231
227
|
}
|
|
232
228
|
// H5端或不为嵌套对象时,循环渲染字段
|
|
233
|
-
return (
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
229
|
+
return (_jsx("div", { children: Array.isArray(value) &&
|
|
230
|
+
(value === null || value === void 0 ? void 0 : value.map((item, index) => {
|
|
231
|
+
const itemRender = getFieldRender(items, { modelType });
|
|
232
|
+
return (_jsx("div", { className: "field-array-item", children: itemRender(item) }, index));
|
|
233
|
+
})) }));
|
|
238
234
|
};
|
|
239
235
|
/**
|
|
240
236
|
* 转换数字类型
|
|
@@ -318,7 +314,7 @@ export const formatFieldToColumn = (field, isH5) => {
|
|
|
318
314
|
: { modelType: 'table', relation: record[`@${name}`] };
|
|
319
315
|
const value = getFieldValue(name, record);
|
|
320
316
|
const component = getFieldRender(field, extra)(value);
|
|
321
|
-
return (
|
|
317
|
+
return (_jsx(ErrorBoundary, { FallbackComponent: () => _jsx("span", { className: "", children: "\u274C \u6570\u636E\u5F02\u5E38" }), children: component }));
|
|
322
318
|
};
|
|
323
319
|
return { width, render, key: name, header: title, align: 'left', fixed: '' };
|
|
324
320
|
};
|
|
@@ -595,7 +591,7 @@ export const filterCustomFields = ({ fields, columnSets, isFilterGenre = false,
|
|
|
595
591
|
return [];
|
|
596
592
|
if (!Array.isArray(columnSets))
|
|
597
593
|
return fields;
|
|
598
|
-
const fieldsMap =
|
|
594
|
+
const fieldsMap = fromEntries(fields.map((item) => [item.name, item]));
|
|
599
595
|
return columnSets
|
|
600
596
|
.filter((item1) => (item1 === null || item1 === void 0 ? void 0 : item1.key) &&
|
|
601
597
|
fieldsMap[item1.key] &&
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useEffect, useMemo } from 'react';
|
|
2
3
|
import { DatePicker, TimePicker, Input, Form, Tooltip, Select, SelectMultiple, InputAdornment, Button, Row, Col, useClassNames, LoadingTip, } from 'tea-component';
|
|
3
4
|
import { formatDateToNumber, dateCalculation } from '../../utils/date';
|
|
4
5
|
import isObjectEqual from '../../utils/isObjectEqual';
|
|
@@ -6,8 +7,7 @@ import moment from 'moment';
|
|
|
6
7
|
import { useEnumContext } from '../../utils/hooks/context';
|
|
7
8
|
const { RangePicker } = DatePicker;
|
|
8
9
|
// 时间日期
|
|
9
|
-
const DatePickerField = ({ showTime = false, isRange, updateValue, value }) => isRange ? (
|
|
10
|
-
React.createElement(RangePicker, { clearable: true, value: value ? [moment(value[0]), moment(value[1])] : null, showTime: showTime, onChange: (value) => {
|
|
10
|
+
const DatePickerField = ({ showTime = false, isRange, updateValue, value }) => isRange ? (_jsx(Tooltip, { title: value && `${value[0]}~${value[1]}`, children: _jsx(RangePicker, { clearable: true, value: value ? [moment(value[0]), moment(value[1])] : null, showTime: showTime, onChange: (value) => {
|
|
11
11
|
var _a, _b;
|
|
12
12
|
updateValue({
|
|
13
13
|
value: value[0]
|
|
@@ -17,10 +17,9 @@ const DatePickerField = ({ showTime = false, isRange, updateValue, value }) => i
|
|
|
17
17
|
]
|
|
18
18
|
: null,
|
|
19
19
|
});
|
|
20
|
-
} }))) : (
|
|
21
|
-
React.createElement(DatePicker, { clearable: true, value: value ? moment(value) : null, showTime: showTime, onChange: (value) => updateValue({ value: value === null || value === void 0 ? void 0 : value.format('YYYY-MM-DD HH:mm:ss') }) })));
|
|
20
|
+
} }) })) : (_jsx(Tooltip, { title: value, children: _jsx(DatePicker, { clearable: true, value: value ? moment(value) : null, showTime: showTime, onChange: (value) => updateValue({ value: value === null || value === void 0 ? void 0 : value.format('YYYY-MM-DD HH:mm:ss') }) }) }));
|
|
22
21
|
// 时间
|
|
23
|
-
const TimePickerField = ({ isRange, updateValue, value }) => isRange ? (
|
|
22
|
+
const TimePickerField = ({ isRange, updateValue, value }) => isRange ? (_jsx(TimePicker.RangePicker, { clearable: true, value: value
|
|
24
23
|
? [moment(value[0], 'HH:mm:ss'), moment(value[1], 'HH:mm:ss')]
|
|
25
24
|
: [null, null], onChange: (value) => {
|
|
26
25
|
var _a, _b;
|
|
@@ -29,32 +28,29 @@ const TimePickerField = ({ isRange, updateValue, value }) => isRange ? (React.cr
|
|
|
29
28
|
? [(_a = value[0]) === null || _a === void 0 ? void 0 : _a.format('HH:mm:ss'), (_b = value[1]) === null || _b === void 0 ? void 0 : _b.format('HH:mm:ss')]
|
|
30
29
|
: null,
|
|
31
30
|
});
|
|
32
|
-
} })) : (
|
|
31
|
+
} })) : (_jsx(TimePicker, { clearable: true, value: value ? moment(value, 'HH:mm:ss') : null, onChange: (value) => updateValue({ value: value === null || value === void 0 ? void 0 : value.format('HH:mm:ss') }) }));
|
|
33
32
|
// 文本输入框
|
|
34
|
-
const InputField = ({ value, updateValue }) => (
|
|
33
|
+
const InputField = ({ value, updateValue }) => (_jsx(Input, { value: value, onChange: (value) => {
|
|
35
34
|
updateValue({ value });
|
|
36
35
|
} }));
|
|
37
36
|
// 数字范围输入
|
|
38
37
|
const MultipleNumber = ({ value, updateValue }) => {
|
|
39
38
|
const val1 = value ? value[0] : '';
|
|
40
39
|
const val2 = value ? value[1] : '';
|
|
41
|
-
return (
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
53
|
-
updateValue({ value: [val1, value] });
|
|
54
|
-
}, size: "s", placeholder: "\u8BF7\u8F93\u5165" })));
|
|
40
|
+
return (_jsxs("div", { className: "_wedamodal-fn-input-range", children: [_jsx(Input, { size: "s", placeholder: "\u8BF7\u8F93\u5165", value: val1, onChange: (value) => {
|
|
41
|
+
if (isNaN(Number(value))) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
updateValue({ value: [value, val2] });
|
|
45
|
+
} }), _jsx("span", { className: "_wedamodal-fn-input-range__split", children: "~" }), _jsx(Input, { value: val2, onChange: (value) => {
|
|
46
|
+
if (isNaN(Number(value))) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
updateValue({ value: [val1, value] });
|
|
50
|
+
}, size: "s", placeholder: "\u8BF7\u8F93\u5165" })] }));
|
|
55
51
|
};
|
|
56
52
|
// 数字输入框
|
|
57
|
-
const NumberField = ({ value, updateValue, isRange }) => isRange ? (
|
|
53
|
+
const NumberField = ({ value, updateValue, isRange }) => isRange ? (_jsx(MultipleNumber, { value: value, updateValue: updateValue })) : (_jsx(Input, { value: value, onChange: (value) => {
|
|
58
54
|
if (isNaN(Number(value))) {
|
|
59
55
|
return;
|
|
60
56
|
}
|
|
@@ -68,7 +64,7 @@ const SelectMultipleField = (props) => {
|
|
|
68
64
|
if (!optionName && options) {
|
|
69
65
|
option = options;
|
|
70
66
|
}
|
|
71
|
-
return (
|
|
67
|
+
return (_jsx(SelectMultiple, { searchable: true, staging: false, matchButtonWidth: true, value: value, appearance: "button", options: option, onChange: (value) => {
|
|
72
68
|
updateValue({ value });
|
|
73
69
|
} }));
|
|
74
70
|
};
|
|
@@ -76,14 +72,13 @@ const SelectMultipleField = (props) => {
|
|
|
76
72
|
const SelectField = ({ optionName, value, updateValue }) => {
|
|
77
73
|
const { enumOptions } = useEnumContext();
|
|
78
74
|
const option = (enumOptions === null || enumOptions === void 0 ? void 0 : enumOptions[optionName]) || [];
|
|
79
|
-
return (
|
|
75
|
+
return (_jsx(Select, { clearable: true, searchable: true,
|
|
80
76
|
// @ts-ignore 不存在的属性
|
|
81
77
|
staging: false, matchButtonWidth: true, value: value, appearance: "button", options: option, onChange: (value) => {
|
|
82
78
|
updateValue({ value });
|
|
83
79
|
}, button: () => {
|
|
84
80
|
var _a, _b;
|
|
85
|
-
return value ? (
|
|
86
|
-
React.createElement("span", null, ((_b = option === null || option === void 0 ? void 0 : option.find((i) => i.value === value)) === null || _b === void 0 ? void 0 : _b.text) || value))) : (React.createElement("span", { className: "wedatea2td-text-weak" }, "\u8BF7\u9009\u62E9"));
|
|
81
|
+
return value ? (_jsx(Tooltip, { title: (_a = option === null || option === void 0 ? void 0 : option.find((i) => i.value === value)) === null || _a === void 0 ? void 0 : _a.text, children: _jsx("span", { children: ((_b = option === null || option === void 0 ? void 0 : option.find((i) => i.value === value)) === null || _b === void 0 ? void 0 : _b.text) || value }) })) : (_jsx("span", { className: "wedatea2td-text-weak", children: "\u8BF7\u9009\u62E9" }));
|
|
87
82
|
} }));
|
|
88
83
|
};
|
|
89
84
|
// 搜索下拉
|
|
@@ -185,7 +180,7 @@ const SelectSearch = ({ getChooseList, value, updateValue, format, childDbName,
|
|
|
185
180
|
});
|
|
186
181
|
}
|
|
187
182
|
};
|
|
188
|
-
return (
|
|
183
|
+
return (_jsx(Select, { clearable: true, searchable: true, matchButtonWidth: true, appearance: "button", autoClearSearchValue: true, options: (isSearch ? searchOptions : options) || [], value: value, bottomTips: (isSearch ? searchLoading : loading) ? _jsx(LoadingTip, {}) : '', onChange: (value) => {
|
|
189
184
|
updateValue({ value });
|
|
190
185
|
}, onOpen: () => {
|
|
191
186
|
setSearchLoading(false);
|
|
@@ -244,8 +239,8 @@ const fieldCalculations = {
|
|
|
244
239
|
{ text: '不等于', value: 'neq' },
|
|
245
240
|
],
|
|
246
241
|
checkbox: [
|
|
247
|
-
{ text: '
|
|
248
|
-
{ text: '
|
|
242
|
+
{ text: '等于任意一个', value: 'in' },
|
|
243
|
+
{ text: '不等于任意一个', value: 'nin' },
|
|
249
244
|
],
|
|
250
245
|
};
|
|
251
246
|
// 计算方式下拉选框
|
|
@@ -270,7 +265,7 @@ const CalculationSelect = ({ arg, cb, isDate = false }) => {
|
|
|
270
265
|
const options = isDate
|
|
271
266
|
? fieldCalculations[arg.type].filter((i) => i.value !== 'neq')
|
|
272
267
|
: fieldCalculations[arg.type];
|
|
273
|
-
return (
|
|
268
|
+
return (_jsx(Select, { appearance: "button", options: options, value: value, onChange: (value) => calculation(value) }));
|
|
274
269
|
};
|
|
275
270
|
// 筛选项
|
|
276
271
|
const FilterFieldItem = ({ updateFilterData, getChooseList, ...filterFieldItemConfig }) => {
|
|
@@ -282,45 +277,36 @@ const FilterFieldItem = ({ updateFilterData, getChooseList, ...filterFieldItemCo
|
|
|
282
277
|
const renderFieldItem = () => {
|
|
283
278
|
switch (filterType) {
|
|
284
279
|
case 'datetime':
|
|
285
|
-
return (
|
|
286
|
-
React.createElement(DatePickerField, { showTime: true, isRange: isRange, updateValue: updateFilterConfig, value: value })));
|
|
280
|
+
return (_jsx(InputAdornment, { before: _jsx(CalculationSelect, { arg: fieldCalculation, cb: updateFilterConfig, isDate: true }), children: _jsx(DatePickerField, { showTime: true, isRange: isRange, updateValue: updateFilterConfig, value: value }) }));
|
|
287
281
|
case 'date':
|
|
288
|
-
return (
|
|
289
|
-
React.createElement(DatePickerField, { value: value, isRange: isRange, updateValue: updateFilterConfig })));
|
|
282
|
+
return (_jsx(InputAdornment, { before: _jsx(CalculationSelect, { arg: fieldCalculation, cb: updateFilterConfig, isDate: true }), children: _jsx(DatePickerField, { value: value, isRange: isRange, updateValue: updateFilterConfig }) }));
|
|
290
283
|
case 'time':
|
|
291
|
-
return (
|
|
292
|
-
React.createElement(TimePickerField, { value: value, isRange: isRange, updateValue: updateFilterConfig })));
|
|
284
|
+
return (_jsx(InputAdornment, { before: _jsx(CalculationSelect, { arg: fieldCalculation, cb: updateFilterConfig, isDate: true }), children: _jsx(TimePickerField, { value: value, isRange: isRange, updateValue: updateFilterConfig }) }));
|
|
293
285
|
case 'string':
|
|
294
|
-
return (
|
|
295
|
-
React.createElement(InputField, { updateValue: updateFilterConfig, value: value })));
|
|
286
|
+
return (_jsx(InputAdornment, { before: _jsx(CalculationSelect, { arg: fieldCalculation, cb: updateFilterConfig }), children: _jsx(InputField, { updateValue: updateFilterConfig, value: value }) }));
|
|
296
287
|
case 'number':
|
|
297
|
-
return (
|
|
298
|
-
React.createElement(NumberField, { updateValue: updateFilterConfig, value: value, isRange: isRange })));
|
|
288
|
+
return (_jsx(InputAdornment, { before: _jsx(CalculationSelect, { arg: fieldCalculation, cb: updateFilterConfig }), children: _jsx(NumberField, { updateValue: updateFilterConfig, value: value, isRange: isRange }) }));
|
|
299
289
|
case 'boolean':
|
|
300
|
-
return (
|
|
301
|
-
React.createElement(SelectMultipleField, { options: options || [], updateValue: updateFilterConfig, value: value })));
|
|
290
|
+
return (_jsx(InputAdornment, { before: _jsx(CalculationSelect, { arg: fieldCalculation, cb: updateFilterConfig }), children: _jsx(SelectMultipleField, { options: options || [], updateValue: updateFilterConfig, value: value }) }));
|
|
302
291
|
case 'x-enumObj':
|
|
303
|
-
return (
|
|
292
|
+
return (_jsx(SelectMultipleField
|
|
304
293
|
// @ts-ignore 不存在的属性
|
|
305
294
|
, {
|
|
306
295
|
// @ts-ignore 不存在的属性
|
|
307
296
|
options: options || [], updateValue: updateFilterConfig, value: value }));
|
|
308
297
|
case 'x-enum':
|
|
309
298
|
if (filterFieldItemConfig.xMultiSelect) {
|
|
310
|
-
return (
|
|
311
|
-
React.createElement(SelectMultipleField, { optionName: filterFieldItemConfig.xOptionName, updateValue: updateFilterConfig, value: value })));
|
|
299
|
+
return (_jsx(InputAdornment, { before: _jsx(CalculationSelect, { arg: fieldCalculation, cb: updateFilterConfig }), children: _jsx(SelectMultipleField, { optionName: filterFieldItemConfig.xOptionName, updateValue: updateFilterConfig, value: value }) }));
|
|
312
300
|
}
|
|
313
|
-
return (
|
|
314
|
-
React.createElement(SelectField, { optionName: filterFieldItemConfig.xOptionName, updateValue: updateFilterConfig, value: value })));
|
|
301
|
+
return (_jsx(InputAdornment, { before: _jsx(CalculationSelect, { arg: fieldCalculation, cb: updateFilterConfig }), children: _jsx(SelectField, { optionName: filterFieldItemConfig.xOptionName, updateValue: updateFilterConfig, value: value }) }));
|
|
315
302
|
case 'father-son':
|
|
316
303
|
case 'related':
|
|
317
|
-
return (
|
|
318
|
-
React.createElement(SelectSearch, { getChooseList: getChooseList, format: filterType, childDbName: filterFieldItemConfig.childDbName, value: value, updateValue: updateFilterConfig })));
|
|
304
|
+
return (_jsx(InputAdornment, { before: _jsx(CalculationSelect, { arg: fieldCalculation, cb: updateFilterConfig }), children: _jsx(SelectSearch, { getChooseList: getChooseList, format: filterType, childDbName: filterFieldItemConfig.childDbName, value: value, updateValue: updateFilterConfig }) }));
|
|
319
305
|
default:
|
|
320
|
-
return
|
|
306
|
+
return _jsx(Input, { disabled: true, defaultValue: '该类型暂不支持表单筛选器' });
|
|
321
307
|
}
|
|
322
308
|
};
|
|
323
|
-
return (
|
|
309
|
+
return (_jsx(Form.Item, { label: _jsx(Tooltip, { title: label, children: label }), children: renderFieldItem() }));
|
|
324
310
|
};
|
|
325
311
|
/**
|
|
326
312
|
* 生成筛选配置
|
|
@@ -496,23 +482,11 @@ export const FilterFieldsPanel = ({ data, getChooseList, fetchData, isH5 = false
|
|
|
496
482
|
});
|
|
497
483
|
fetchData(searchValues);
|
|
498
484
|
};
|
|
499
|
-
return (!!filterData.length && (
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
React.createElement(Form.Item, { className: "_wedamodal-form__op" },
|
|
507
|
-
React.createElement(Button, { type: "primary", className: `${Margin.Right['4n']}`, onClick: searchHandle }, "\u67E5\u8BE2"),
|
|
508
|
-
React.createElement(Button, { onClick: () => {
|
|
509
|
-
setFilterData(initFilterData);
|
|
510
|
-
fetchData();
|
|
511
|
-
} }, "\u91CD\u7F6E")))))),
|
|
512
|
-
isH5 && (React.createElement(Form.Item, { className: "_wedamodal-form__op" },
|
|
513
|
-
React.createElement(Button, { type: "link", className: `${Margin.Right['4n']}`, onClick: searchHandle }, "\u67E5\u8BE2"),
|
|
514
|
-
React.createElement(Button, { type: "link", onClick: () => {
|
|
515
|
-
setFilterData(initFilterData);
|
|
516
|
-
fetchData();
|
|
517
|
-
} }, "\u91CD\u7F6E"))))));
|
|
485
|
+
return (!!filterData.length && (_jsxs("div", { className: `${isH5 ? 'filter-wrap' : 'filter-table-wrap'}`, children: [_jsx(Form, { style: { maxWidth: 'unset', width: '100%' }, className: `${isH5 ? 'wedatea2td-form-h5' : ''}`, layout: `${isH5 ? 'default' : 'inline-vertical'}`, children: _jsxs(Row, { gap: 20, verticalAlign: 'bottom', style: { justifyContent: 'space-between' }, children: [_jsx(_Fragment, { children: filterData === null || filterData === void 0 ? void 0 : filterData.map((i) => isH5 ? (_jsx(Col, { span: 24, children: _jsx(FilterFieldItem, { ...i, getChooseList: getChooseList, updateFilterData: updateFilterData }) }, i.id)) : (_jsx(Col, { span: 24, lg: 8, xl: 6, children: _jsx(FilterFieldItem, { ...i, getChooseList: getChooseList, updateFilterData: updateFilterData }) }, i.id))) }), !isH5 && (_jsx(Col, { span: 24, lg: 8, xl: 6, style: { flex: '1' }, children: _jsxs(Form.Item, { className: "_wedamodal-form__op", children: [_jsx(Button, { type: "primary", className: `${Margin.Right['4n']}`, onClick: searchHandle, children: "\u67E5\u8BE2" }), _jsx(Button, { onClick: () => {
|
|
486
|
+
setFilterData(initFilterData);
|
|
487
|
+
fetchData();
|
|
488
|
+
}, children: "\u91CD\u7F6E" })] }) }, "search-button"))] }) }), isH5 && (_jsxs(Form.Item, { className: "_wedamodal-form__op", children: [_jsx(Button, { type: "link", className: `${Margin.Right['4n']}`, onClick: searchHandle, children: "\u67E5\u8BE2" }), _jsx(Button, { type: "link", onClick: () => {
|
|
489
|
+
setFilterData(initFilterData);
|
|
490
|
+
fetchData();
|
|
491
|
+
}, children: "\u91CD\u7F6E" })] }))] })));
|
|
518
492
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Select, Icon } from 'tea-component';
|
|
3
3
|
import { useEnumContext } from '../../../utils/hooks/context';
|
|
4
4
|
// 枚举输入组件
|
|
@@ -24,9 +24,9 @@ export const EnumSelect = (props) => {
|
|
|
24
24
|
}
|
|
25
25
|
};
|
|
26
26
|
if (isMulti) {
|
|
27
|
-
return
|
|
27
|
+
return _jsx(Select.Multiple, { ...selectProps });
|
|
28
28
|
}
|
|
29
|
-
return
|
|
29
|
+
return _jsx(Select, { ...selectProps, onChange: onSelectChange });
|
|
30
30
|
};
|
|
31
31
|
// 转换枚举值
|
|
32
32
|
export const formatEnum = (value, field, enumOptions) => {
|
|
@@ -51,6 +51,6 @@ export const EnumView = (props) => {
|
|
|
51
51
|
const { field, values } = props;
|
|
52
52
|
const { enumOptions, loading } = useEnumContext();
|
|
53
53
|
if (loading)
|
|
54
|
-
return
|
|
54
|
+
return _jsx(Icon, { type: "loading" });
|
|
55
55
|
return formatEnum(values, field, enumOptions);
|
|
56
56
|
};
|