@cloudbase/weda-ui 3.4.8 → 3.4.9
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 +65 -30
- package/dist/configs/components/carousel.json +12 -2
- package/dist/configs/components/chart/bar.json +2 -2
- package/dist/configs/components/chart/line.js +2 -2
- package/dist/configs/components/chart/pie.json +2 -2
- 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 +262 -0
- package/dist/configs/components/dataView.js +10 -66
- package/dist/configs/components/flowgraph.json +22 -0
- package/dist/configs/components/form/departTreeSelect.json +10 -0
- package/dist/configs/components/form-checkbox.js +261 -0
- package/dist/configs/components/form-date.js +268 -0
- package/dist/configs/components/form-depart-tree-select.js +237 -0
- package/dist/configs/components/form-email.js +258 -0
- package/dist/configs/components/form-image-uploader.js +326 -0
- package/dist/configs/components/form-input.js +477 -0
- package/dist/configs/components/form-location.js +328 -0
- package/dist/configs/components/form-multi-region.js +202 -0
- package/dist/configs/components/form-phone.js +250 -0
- package/dist/configs/components/form-radio.js +261 -0
- package/dist/configs/components/form-region.js +198 -0
- package/dist/configs/components/form-rich-text.js +212 -0
- package/dist/configs/components/form-select.js +368 -0
- package/dist/configs/components/form-switch.js +153 -0
- package/dist/configs/components/form-text-area.js +241 -0
- package/dist/configs/components/form-time.js +221 -0
- package/dist/configs/components/form-upload-file.js +269 -0
- package/dist/configs/components/form-url.js +259 -0
- package/dist/configs/components/form-user-tree-select.js +315 -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 -3
- package/dist/configs/components/navigationBar.json +2 -4
- 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 +5 -5
- 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 +4 -4
- package/dist/configs/components/wd-image.js +5 -0
- package/dist/configs/components/wd-link.js +5 -5
- 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 +50 -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 +4 -43
- package/dist/docs/common/tableView.js +15 -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/common/core/eChartLine.js +12 -1
- package/dist/web/components/chart/common/data-transform.js +13 -9
- package/dist/web/components/chart/line/index.js +6 -7
- package/dist/web/components/chart/line/index.old.js +5 -3
- 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 +49 -5
- package/dist/web/components/flow/modules/chart/preview-data.js +88 -0
- 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/flow-graph/constants.js +28 -0
- package/dist/web/components/flow-graph/graph.js +267 -0
- package/dist/web/components/flow-graph/index.js +2 -0
- package/dist/web/components/flow-graph/style.css +109 -0
- package/dist/web/components/flow-graph/types.js +1 -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.css +4 -0
- package/dist/web/components/form/select/dropdown-select/index.js +7 -3
- 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 +10 -10
- 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 +44 -62
- package/dist/web/components/form/userOrgSelect/common/utils.js +225 -0
- package/dist/web/components/form/userOrgSelect/component/OrgPaths.js +12 -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 +9 -19
- package/dist/web/components/form/userOrgSelect/component/depart-select/departTreeSelect.h5.js +156 -0
- package/dist/web/components/form/userOrgSelect/component/depart-select/index.js +58 -21
- package/dist/web/components/form/userOrgSelect/component/depart-select/org-modal-pc.js +29 -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 +49 -35
- package/dist/web/components/form/userOrgSelect/component/org-tree-h5.js +7 -13
- package/dist/web/components/form/userOrgSelect/component/org-tree.js +26 -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 +30 -4
- 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 +24 -17
- package/dist/web/components/form/userOrgSelect/component/user-select-pc/org-tree.js +2 -2
- package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-model.js +12 -30
- package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-select-pc.js +8 -8
- package/dist/web/components/form/userOrgSelect/component/userOrgSelect.css +20 -2
- package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.h5.js +68 -158
- package/dist/web/components/form/userOrgSelect/hooks/use-depart-data.js +4 -2
- 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 +284 -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 +46 -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 +44 -48
- package/dist/web/components/table/BaseTable.js +142 -190
- 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 +15 -14
- 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 +382 -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 +702 -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 +70 -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 +42 -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 +326 -0
- package/dist/web/components/wd-table/wd-table.js +459 -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/datasource.js +3 -1
- 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 -6
- 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 +32 -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,3 +1,4 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
2
|
import * as React from 'react';
|
|
2
3
|
import { Upload, Button, Icon, message, ErrorTip, ImagePreview, ConfigProvider, } from 'tea-component';
|
|
3
4
|
import classNames from '../../../utils/classnames';
|
|
@@ -30,15 +31,11 @@ export function UploaderPC({ layout, className, id, style, title, tips, ...props
|
|
|
30
31
|
[layout]: layout,
|
|
31
32
|
[className]: className,
|
|
32
33
|
});
|
|
33
|
-
return (
|
|
34
|
-
React.createElement("div", { className: `${CLASS_PREFIX}__header` },
|
|
35
|
-
title && React.createElement("div", { className: `${CLASS_PREFIX}__title` }, title),
|
|
36
|
-
tips && (React.createElement("div", { className: `${CLASS_PREFIX}__description` }, tips || ''))),
|
|
37
|
-
React.createElement(UploaderPCInner, { ...props })));
|
|
34
|
+
return (_jsxs("div", { className: cls, id: id, style: style, children: [_jsxs("div", { className: `${CLASS_PREFIX}__header`, children: [title && _jsx("div", { className: `${CLASS_PREFIX}__title`, children: title }), tips && (_jsx("div", { className: `${CLASS_PREFIX}__description`, children: tips || '' }))] }), _jsx(UploaderPCInner, { ...props })] }));
|
|
38
35
|
}
|
|
39
36
|
export function UploaderPCInner(props) {
|
|
40
37
|
var _a;
|
|
41
|
-
const { tips = '', btnTitle = '上传图片', maxUploadCount = 9, maxSize = 10,
|
|
38
|
+
const { tips = '', btnTitle = '上传图片', maxUploadCount = 9, maxSize = 10, defaultValue, // 需要兼容 cloud:和https: 协议,需要兼容 字符串和字符串数组
|
|
42
39
|
acceptTypes = IMAGE_TYPES, uploadPath = 'weda-uploader', events = emptyObject, single = false, disabled = false, onChange, imgTypeCls, $node, } = props;
|
|
43
40
|
// 上传中
|
|
44
41
|
const [uploading, setUploading] = React.useState(false);
|
|
@@ -56,7 +53,7 @@ export function UploaderPCInner(props) {
|
|
|
56
53
|
initialValue = initialValue[0] ? [initialValue[0]] : [];
|
|
57
54
|
}
|
|
58
55
|
setfileIDList(initialValue);
|
|
59
|
-
}, [defaultValue]);
|
|
56
|
+
}, [defaultValue, single]);
|
|
60
57
|
// 值变化事件
|
|
61
58
|
React.useEffect(() => {
|
|
62
59
|
if (!isObjectEqual(fileRef.current, fileIDList)) {
|
|
@@ -167,39 +164,16 @@ export function UploaderPCInner(props) {
|
|
|
167
164
|
: Array.from(new Set(acceptTypes));
|
|
168
165
|
tips && (extraProps['title'] = tips);
|
|
169
166
|
maxSize && (extraProps['maxSize'] = maxSize * 1024 * 1024);
|
|
170
|
-
return (
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
"\u4E0A\u4F20",
|
|
181
|
-
progress,
|
|
182
|
-
"%..."))))),
|
|
183
|
-
React.createElement("div", { className: `${CLASS_PREFIX}__input-box` },
|
|
184
|
-
formType === 'read' && fileIDList.length < 1 && React.createElement("div", null, "\u2014"),
|
|
185
|
-
disabled && formType !== 'read' ? (React.createElement("li", { className: `_weda-fn-upload-result__item wedatea2td-disabled ${imgTypeCls}` },
|
|
186
|
-
React.createElement("div", { className: "_weda-fn-upload-result__status" },
|
|
187
|
-
React.createElement("i", { className: "wedatea2td-icon wedatea2td-icon-plus", role: "img", "aria-label": "plus" }),
|
|
188
|
-
React.createElement("span", { className: "wedatea2td-mt-1n wedatea2td-text-label wedatea2td-fz-reset" }, btnTitle)))) : (((!single && fileIDList.length < maxUploadCount) ||
|
|
189
|
-
(single && fileIDList.length < 1 && !uploading)) &&
|
|
190
|
-
formType !== 'read' && ( // single 模式时,当数组为空且不在上传文件过程中时显示
|
|
191
|
-
React.createElement(Upload, { ...extraProps, beforeUpload: beforeHandle },
|
|
192
|
-
React.createElement("li", {
|
|
193
|
-
// className={"_weda-fn-upload-result__item _weda-fn-upload-result__item--upload" imgTypeCls}
|
|
194
|
-
// className={classNames(
|
|
195
|
-
// `_weda-fn-upload-result__item _weda-fn-upload-result__item--upload`,
|
|
196
|
-
// imgTypeCls
|
|
197
|
-
// )}
|
|
198
|
-
className: `_weda-fn-upload-result__item _weda-fn-upload-result__item--upload ${imgTypeCls}` },
|
|
199
|
-
imgTypeCls,
|
|
200
|
-
React.createElement("div", { className: "_weda-fn-upload-result__status" },
|
|
201
|
-
React.createElement("i", { className: "wedatea2td-icon wedatea2td-icon-plus", role: "img", "aria-label": "plus" }),
|
|
202
|
-
React.createElement("span", { className: "wedatea2td-mt-1n wedatea2td-text-label wedatea2td-fz-reset" }, btnTitle))))))))));
|
|
167
|
+
return (_jsx(ConfigProvider, { classPrefix: "wedatea2td", children: _jsxs("div", { className: "_weda-fn-upload-result", children: [fileIDList.map((d) => (_jsxs("div", { className: `_weda-fn-upload-result__item ${imgTypeCls}`, children: [_jsx(TcbImage, { fileID: d, imgTypeCls: imgTypeCls }), _jsx("div", { className: `_weda-fn-upload-result__op ${imgTypeCls}`, children: _jsx(Button, { disabled: disabled, onClick: () => deleteHandle(d), className: `${CLASS_PREFIX}__btn`, children: "\u5220\u9664" }) })] }, d))), uploading && (_jsx("div", { className: `_weda-fn-upload-result__item ${imgTypeCls}`, children: _jsxs("div", { className: "_weda-fn-upload-result__status", children: [_jsx(Icon, { type: "loading" }), !!progress && (_jsxs("span", { className: "wedatea2td-mt-1n wedatea2td-text-label wedatea2td-fz-reset", children: ["\u4E0A\u4F20", progress, "%..."] }))] }, "_place_image") })), _jsxs("div", { className: `${CLASS_PREFIX}__input-box`, children: [formType === 'read' && fileIDList.length < 1 && _jsx("div", { children: "\u2014" }), disabled && formType !== 'read' ? (_jsx("li", { className: `_weda-fn-upload-result__item wedatea2td-disabled ${imgTypeCls}`, children: _jsxs("div", { className: "_weda-fn-upload-result__status", children: [_jsx("i", { className: "wedatea2td-icon wedatea2td-icon-plus", role: "img", "aria-label": "plus" }), _jsx("span", { className: "wedatea2td-mt-1n wedatea2td-text-label wedatea2td-fz-reset", children: btnTitle })] }) })) : (((!single && fileIDList.length < maxUploadCount) ||
|
|
168
|
+
(single && fileIDList.length < 1 && !uploading)) &&
|
|
169
|
+
formType !== 'read' && ( // single 模式时,当数组为空且不在上传文件过程中时显示
|
|
170
|
+
_jsx(Upload, { ...extraProps, beforeUpload: beforeHandle, children: _jsxs("li", {
|
|
171
|
+
// className={"_weda-fn-upload-result__item _weda-fn-upload-result__item--upload" imgTypeCls}
|
|
172
|
+
// className={classNames(
|
|
173
|
+
// `_weda-fn-upload-result__item _weda-fn-upload-result__item--upload`,
|
|
174
|
+
// imgTypeCls
|
|
175
|
+
// )}
|
|
176
|
+
className: `_weda-fn-upload-result__item _weda-fn-upload-result__item--upload ${imgTypeCls}`, children: [imgTypeCls, _jsxs("div", { className: "_weda-fn-upload-result__status", children: [_jsx("i", { className: "wedatea2td-icon wedatea2td-icon-plus", role: "img", "aria-label": "plus" }), _jsx("span", { className: "wedatea2td-mt-1n wedatea2td-text-label wedatea2td-fz-reset", children: btnTitle })] })] }) })))] })] }) }));
|
|
203
177
|
}
|
|
204
178
|
export const TcbImage = (props) => {
|
|
205
179
|
const { fileID, isZoom, imgTypeCls, ...rest } = props;
|
|
@@ -207,18 +181,18 @@ export const TcbImage = (props) => {
|
|
|
207
181
|
const { data: src, error: requestError } = useTempUrl(fileID);
|
|
208
182
|
const encodeSrc = encodeConvert(src);
|
|
209
183
|
if (isError || requestError) {
|
|
210
|
-
return
|
|
184
|
+
return _jsx(ErrorTip, {});
|
|
211
185
|
}
|
|
212
186
|
if (src) {
|
|
213
|
-
return isZoom ? (
|
|
187
|
+
return isZoom ? (_jsx(ImagePreview, { "data-testid": "uploaderpc_imgStyle", className: `${CLASS_PREFIX}__image ${imgTypeCls}`, ...rest, src: encodeURI(encodeSrc), previewSrc: encodeURI(encodeSrc),
|
|
214
188
|
/** @ts-expect-error tea imagepreview onError */
|
|
215
189
|
onError: (e) => {
|
|
216
190
|
setIsError(true);
|
|
217
191
|
(props === null || props === void 0 ? void 0 : props.onError) && props.onError(e);
|
|
218
|
-
} })) : (
|
|
192
|
+
} }, fileID)) : (_jsx("img", { "data-testid": "uploaderpc_imgStyle", className: `${CLASS_PREFIX}__image ${imgTypeCls}`, ...rest, src: encodeURI(encodeSrc), onError: (e) => {
|
|
219
193
|
setIsError(true);
|
|
220
194
|
(props === null || props === void 0 ? void 0 : props.onError) && props.onError(e);
|
|
221
|
-
} }));
|
|
195
|
+
} }, fileID));
|
|
222
196
|
}
|
|
223
197
|
return null;
|
|
224
198
|
};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import * as React from 'react';
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
2
|
import { usePlatform } from '../../../utils/platform';
|
|
4
3
|
import { UploadFileH5 as UploaderH5 } from './uploadFile.h5';
|
|
5
4
|
import { UploadFilePc } from './uploadFile.pc';
|
|
@@ -10,10 +9,10 @@ import './index.css';
|
|
|
10
9
|
export default function UploaderFile(props) {
|
|
11
10
|
const platform = usePlatform();
|
|
12
11
|
if ((props === null || props === void 0 ? void 0 : props.showType) === 'pc') {
|
|
13
|
-
return
|
|
12
|
+
return _jsx(UploadFilePc, { ...props });
|
|
14
13
|
}
|
|
15
14
|
if ((props === null || props === void 0 ? void 0 : props.showType) === 'h5') {
|
|
16
|
-
return
|
|
15
|
+
return _jsx(UploaderH5, { ...props });
|
|
17
16
|
}
|
|
18
|
-
return platform === 'h5' ? (
|
|
17
|
+
return platform === 'h5' ? (_jsx(UploaderH5, { ...props })) : (_jsx(UploadFilePc, { ...props }));
|
|
19
18
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
1
2
|
import * as React from 'react';
|
|
2
3
|
import weui from '../../../utils/weui';
|
|
3
4
|
import isObjectEqual from '../../../utils/isObjectEqual';
|
|
@@ -47,13 +48,9 @@ events = emptyObject, defaultValue, uploadPath = 'weda-uploader', single = true,
|
|
|
47
48
|
const fileRef = React.useRef(fileIDList);
|
|
48
49
|
const maxSizeLimit = maxSize > 500 ? 500 : maxSize;
|
|
49
50
|
const formType = ((_a = getParentForm($node)) === null || _a === void 0 ? void 0 : _a.formType) || 'create';
|
|
50
|
-
React.
|
|
51
|
+
React.useEffect(() => {
|
|
51
52
|
//有有效默认值时不刷新,解决初次渲染默认值不显示问题
|
|
52
|
-
if (!isInIde() &&
|
|
53
|
-
defaultValue &&
|
|
54
|
-
!isObjectEqual(prevDefaultRef.current, defaultValue) &&
|
|
55
|
-
(JSON.stringify(prevDefaultRef.current) == '[]' ||
|
|
56
|
-
!prevDefaultRef.current)) {
|
|
53
|
+
if (!isInIde() && !isObjectEqual(prevDefaultRef.current, defaultValue)) {
|
|
57
54
|
prevDefaultRef.current = defaultValue;
|
|
58
55
|
setfileIDList(filterStrList([].concat(defaultValue)));
|
|
59
56
|
}
|
|
@@ -92,9 +89,9 @@ events = emptyObject, defaultValue, uploadPath = 'weda-uploader', single = true,
|
|
|
92
89
|
const islegalType = (files, accepts) => {
|
|
93
90
|
const illegalType = [];
|
|
94
91
|
for (const file of files) {
|
|
95
|
-
accepts.
|
|
96
|
-
?
|
|
97
|
-
|
|
92
|
+
if (!accepts.includes(file === null || file === void 0 ? void 0 : file.type)) {
|
|
93
|
+
illegalType.push(file === null || file === void 0 ? void 0 : file.type);
|
|
94
|
+
}
|
|
98
95
|
}
|
|
99
96
|
if (illegalType.length > 0) {
|
|
100
97
|
weui.alert('不支持上传' + Array.from(new Set(illegalType)).join(',') + '格式文件');
|
|
@@ -121,11 +118,14 @@ events = emptyObject, defaultValue, uploadPath = 'weda-uploader', single = true,
|
|
|
121
118
|
};
|
|
122
119
|
tips && (uploadProps['label'] = tips);
|
|
123
120
|
maxSizeLimit && (uploadProps['maxSize'] = maxSizeLimit * 1024 * 1024);
|
|
124
|
-
const btnDisabled =
|
|
125
|
-
(
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
121
|
+
const btnDisabled = React.useMemo(() => {
|
|
122
|
+
return (fileIDList.length >= maxUploadCount ||
|
|
123
|
+
(single && fileIDList.length > 0) ||
|
|
124
|
+
fileList.length >= maxUploadCount ||
|
|
125
|
+
(single && fileList.length > 0) ||
|
|
126
|
+
disabled);
|
|
127
|
+
}, [disabled, fileIDList.length, fileList.length, maxUploadCount, single]);
|
|
128
|
+
return renderDecorator(_jsx(ConfigProvider, { classPrefix: "wedatea2td", children: _jsx(FileContext.Provider, { value: {
|
|
129
129
|
uploadPath,
|
|
130
130
|
downloadVisible,
|
|
131
131
|
deleteVisible,
|
|
@@ -133,47 +133,35 @@ events = emptyObject, defaultValue, uploadPath = 'weda-uploader', single = true,
|
|
|
133
133
|
isEdit,
|
|
134
134
|
events,
|
|
135
135
|
fileSizeObj,
|
|
136
|
-
} },
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
return false;
|
|
166
|
-
}
|
|
167
|
-
fileList.forEach((f) => (f['_uuid'] = randomStr()));
|
|
168
|
-
setFileList((list) => [...list, ...fileList]);
|
|
169
|
-
} }),
|
|
170
|
-
React.createElement("a", { type: "weak", className: "wedatea2td-btn wedatea2td-btn--weak" }, "\u70B9\u51FB\u4E0A\u4F20"),
|
|
171
|
-
!single && (React.createElement(Text, { className: `${CLASS_PREFIX}__tips` }, "\u652F\u6301\u6279\u91CF\u4E0A\u4F20"))))))),
|
|
172
|
-
React.createElement("div", { className: `${CLASS_PREFIX}__bd` },
|
|
173
|
-
fileIDList && fileIDList.length > 0 && (React.createElement("div", { className: "weda-uploader-files_split" })),
|
|
174
|
-
React.createElement(List, null,
|
|
175
|
-
fileIDList.map((d) => (React.createElement(List.Item, { key: d }, React.createElement(TcbFileEcho, { fileID: d, fileList: fileList, onChange: handleChange, disabled: disabled, deleteVisible: deleteVisible, downloadVisible: downloadVisible, formType: formType })))),
|
|
176
|
-
fileList.map((item) => (React.createElement(List.Item, { key: item === null || item === void 0 ? void 0 : item._uuid }, React.createElement(TcbFileUpload, { disabled: disabled, file: item, downloadVisible: downloadVisible, deleteVisible: deleteVisible && !disabled, formType: formType })))))))))))({
|
|
136
|
+
}, children: _jsx("div", { "data-testid": "uploadFileH5", className: cls, id: id, style: style, children: _jsxs("div", { className: classNames(`${CLASS_PREFIX}`), children: [isEdit && (_jsx("div", { className: classNames(`${CLASS_PREFIX}__hd`, layout), children: _jsx("div", { children: btnDisabled ? (_jsx(Button, { type: "weak", className: classNames(`${CLASS_PREFIX}__btn--weak`), disabled: btnDisabled, children: btnTitle })) : (_jsxs("div", { children: [_jsx("input", { id: "uploaderInput", type: "file", "data-testid": "button-up", className: "weui-uploader-mobile__input", accept: accepts.join(','), multiple: !single, onChange: (e) => {
|
|
137
|
+
const fileList = [...e.target.files];
|
|
138
|
+
//校验逻辑与图片有出入,文件类型限制为全部时,不设限
|
|
139
|
+
if (!(accepts.includes('*') ||
|
|
140
|
+
accepts.includes('') ||
|
|
141
|
+
accepts.length === 0) &&
|
|
142
|
+
!islegalType(fileList, accepts))
|
|
143
|
+
return;
|
|
144
|
+
if (single && fileList.length > 1) {
|
|
145
|
+
weui.alert(`上传文件总数不能超过1个`);
|
|
146
|
+
return false;
|
|
147
|
+
}
|
|
148
|
+
if (fileList.length + fileIDList.length >
|
|
149
|
+
maxUploadCount) {
|
|
150
|
+
weui.alert(`上传文件总数不能超过${maxUploadCount}个`);
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
153
|
+
if (maxSizeLimit &&
|
|
154
|
+
fileList.some((f) => f.size > maxSizeLimit * 1024 * 1024)) {
|
|
155
|
+
weui.alert(`请上传不超过${maxSizeLimit}M的文件`);
|
|
156
|
+
return false;
|
|
157
|
+
}
|
|
158
|
+
if (fileList.some((f) => f.size > 1024 * 1024 * 1024)) {
|
|
159
|
+
weui.alert(`请上传不超过1024M的文件`);
|
|
160
|
+
return false;
|
|
161
|
+
}
|
|
162
|
+
fileList.forEach((f) => (f['_uuid'] = randomStr()));
|
|
163
|
+
setFileList((list) => [...list, ...fileList]);
|
|
164
|
+
} }), _jsx("a", { type: "weak", className: "wedatea2td-btn wedatea2td-btn--weak", children: "\u70B9\u51FB\u4E0A\u4F20" }), !single && (_jsx(Text, { className: `${CLASS_PREFIX}__tips`, children: "\u652F\u6301\u6279\u91CF\u4E0A\u4F20" }))] })) }) })), _jsxs("div", { className: `${CLASS_PREFIX}__bd`, children: [fileIDList && fileIDList.length > 0 && (_jsx("div", { className: "weda-uploader-files_split" })), _jsxs(List, { children: [fileIDList.map((d) => (_jsx(List.Item, { children: _jsx(TcbFileEcho, { fileID: d, fileList: fileList, onChange: handleChange, disabled: disabled, deleteVisible: deleteVisible, downloadVisible: downloadVisible, formType: formType }) }, d))), fileList.map((item) => (_jsx(List.Item, { children: _jsx(TcbFileUpload, { disabled: disabled, file: item, downloadVisible: downloadVisible, deleteVisible: deleteVisible && !disabled, formType: formType }) }, item === null || item === void 0 ? void 0 : item._uuid)))] })] })] }) }) }) }))({
|
|
177
165
|
id,
|
|
178
166
|
className: cls,
|
|
179
167
|
style,
|
|
@@ -204,11 +192,7 @@ const TcbFileEcho = ({ fileID, disabled, formType }) => {
|
|
|
204
192
|
}
|
|
205
193
|
}, [fileID]);
|
|
206
194
|
//上传文件列表展示
|
|
207
|
-
return (
|
|
208
|
-
React.createElement("div", { className: `${CLASS_PREFIX}__item-left` },
|
|
209
|
-
React.createElement(UploadFileStatus, { title: label, size: fileSizeObj[fileID] || '-', formType: formType })),
|
|
210
|
-
React.createElement("div", { className: `${CLASS_PREFIX}__btn-group` },
|
|
211
|
-
React.createElement(UploadFileAction, { title: label, disabled: disabled, status: "UPLOAD_STATUS_SUCCESS", fileID: fileID, src: src }))));
|
|
195
|
+
return (_jsxs("div", { className: `${CLASS_PREFIX}__item`, children: [_jsx("div", { className: `${CLASS_PREFIX}__item-left`, children: _jsx(UploadFileStatus, { title: label, size: fileSizeObj[fileID] || '-', formType: formType }) }), _jsx("div", { className: `${CLASS_PREFIX}__btn-group`, children: _jsx(UploadFileAction, { title: label, disabled: disabled, status: "UPLOAD_STATUS_SUCCESS", fileID: fileID, src: src }) })] }));
|
|
212
196
|
};
|
|
213
197
|
/**
|
|
214
198
|
* 基于 File 上传文件过程组件
|
|
@@ -252,14 +236,10 @@ const TcbFileUpload = ({ file, disabled, formType }) => {
|
|
|
252
236
|
(_a = events === null || events === void 0 ? void 0 : events.error) === null || _a === void 0 ? void 0 : _a.call(events, err);
|
|
253
237
|
}
|
|
254
238
|
};
|
|
255
|
-
return (
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
React.createElement(UploadFileAction, { file: file, uuid: file === null || file === void 0 ? void 0 : file._uuid, status: status, onCancel: (uuid) => {
|
|
260
|
-
cancleRef.current = uuid;
|
|
261
|
-
onChange === null || onChange === void 0 ? void 0 : onChange({ type: 'delete', uuid });
|
|
262
|
-
}, onReLoad: handleUpload, disabled: disabled }))));
|
|
239
|
+
return (_jsxs("div", { className: `${CLASS_PREFIX}__item`, role: "TcbFileUpload", children: [_jsx("div", { className: `${CLASS_PREFIX}__item-left`, children: _jsx(UploadFileStatus, { status: status, percent: percent, size: size, title: title, percentSize: (((file === null || file === void 0 ? void 0 : file.size) / 1024) * percent) / 100, formType: formType }) }), _jsx("div", { className: `${CLASS_PREFIX}__btn-group`, children: _jsx(UploadFileAction, { file: file, uuid: file === null || file === void 0 ? void 0 : file._uuid, status: status, onCancel: (uuid) => {
|
|
240
|
+
cancleRef.current = uuid;
|
|
241
|
+
onChange === null || onChange === void 0 ? void 0 : onChange({ type: 'delete', uuid });
|
|
242
|
+
}, onReLoad: handleUpload, disabled: disabled }) })] }));
|
|
263
243
|
};
|
|
264
244
|
/**
|
|
265
245
|
* 上传文件状态组件
|
|
@@ -270,31 +250,11 @@ const UploadFileStatus = ({ status = 'UPLOAD_STATUS_SUCCESS', percent = 0, size,
|
|
|
270
250
|
//上传中、待上传状态
|
|
271
251
|
if (status == 'UPLOAD_STATUS_LOADING' ||
|
|
272
252
|
(status == 'UPLOAD_STATUS_PENDING' && percent)) {
|
|
273
|
-
return (
|
|
274
|
-
React.createElement("div", { className: `${CLASS_PREFIX}__file-detail` },
|
|
275
|
-
React.createElement(Text, { className: `${CLASS_PREFIX}__file-name` }, title)),
|
|
276
|
-
React.createElement("div", null,
|
|
277
|
-
React.createElement(Progress, { percent: percent, theme: "default", strokeColor: '#0052D9', className: `${CLASS_PREFIX}__file-progress` })),
|
|
278
|
-
React.createElement("div", { className: `${CLASS_PREFIX}__file-foot` },
|
|
279
|
-
formType !== 'read' && (React.createElement("div", null,
|
|
280
|
-
React.createElement(Text, null,
|
|
281
|
-
Math.floor(percentSize),
|
|
282
|
-
"K/"),
|
|
283
|
-
React.createElement(Text, null, size))),
|
|
284
|
-
React.createElement(Text, null, status === 'UPLOAD_STATUS_PENDING' ? '等待上传' : '上传中'))));
|
|
253
|
+
return (_jsxs(_Fragment, { children: [_jsx("div", { className: `${CLASS_PREFIX}__file-detail`, children: _jsx(Text, { className: `${CLASS_PREFIX}__file-name`, children: title }) }), _jsx("div", { children: _jsx(Progress, { percent: percent, theme: "default", strokeColor: '#0052D9', className: `${CLASS_PREFIX}__file-progress` }) }), _jsxs("div", { className: `${CLASS_PREFIX}__file-foot`, children: [formType !== 'read' && (_jsxs("div", { children: [_jsxs(Text, { children: [Math.floor(percentSize), "K/"] }), _jsx(Text, { children: size })] })), _jsx(Text, { children: status === 'UPLOAD_STATUS_PENDING' ? '等待上传' : '上传中' })] })] }));
|
|
285
254
|
}
|
|
286
|
-
return (
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
React.createElement(Text, { className: `${CLASS_PREFIX}__file-name` }, title))),
|
|
290
|
-
isEdit && (React.createElement("div", { className: `${CLASS_PREFIX}__file-foot` },
|
|
291
|
-
formType !== 'read' && (React.createElement("div", null,
|
|
292
|
-
React.createElement(Text, null, size))),
|
|
293
|
-
isEdit && (React.createElement("div", { className: `${CLASS_PREFIX}__file-status` },
|
|
294
|
-
React.createElement(Icon, { type: ((_a = statusMap[status]) === null || _a === void 0 ? void 0 : _a.icon) ||
|
|
295
|
-
statusMap['UPLOAD_STATUS_PENDING'].icon }),
|
|
296
|
-
React.createElement(Text, { className: `${CLASS_PREFIX}__file-status--msg` }, ((_b = statusMap[status]) === null || _b === void 0 ? void 0 : _b.title) ||
|
|
297
|
-
statusMap['UPLOAD_STATUS_PENDING'].title)))))));
|
|
255
|
+
return (_jsxs(_Fragment, { children: [_jsx("div", { className: `${CLASS_PREFIX}__file-detail`, children: _jsx(Tooltip, { title: title, children: _jsx(Text, { className: `${CLASS_PREFIX}__file-name`, children: title }) }) }), isEdit && (_jsxs("div", { className: `${CLASS_PREFIX}__file-foot`, children: [formType !== 'read' && (_jsx("div", { children: _jsx(Text, { children: size }) })), isEdit && (_jsxs("div", { className: `${CLASS_PREFIX}__file-status`, children: [_jsx(Icon, { type: ((_a = statusMap[status]) === null || _a === void 0 ? void 0 : _a.icon) ||
|
|
256
|
+
statusMap['UPLOAD_STATUS_PENDING'].icon }), _jsx(Text, { className: `${CLASS_PREFIX}__file-status--msg`, children: ((_b = statusMap[status]) === null || _b === void 0 ? void 0 : _b.title) ||
|
|
257
|
+
statusMap['UPLOAD_STATUS_PENDING'].title })] }))] }))] }));
|
|
298
258
|
};
|
|
299
259
|
/**
|
|
300
260
|
* 操作列组件, onChange 从最外层 UploadFilePc 传进来
|
|
@@ -303,30 +263,24 @@ const UploadFileStatus = ({ status = 'UPLOAD_STATUS_SUCCESS', percent = 0, size,
|
|
|
303
263
|
const UploadFileAction = ({ status = 'UPLOAD_STATUS_PENDING', fileID = '', uuid = '', src = '', file = null, onReLoad = null, onCancel = null, disabled, title = 'downfile', }) => {
|
|
304
264
|
const { onChange, downloadVisible, deleteVisible, isEdit } = React.useContext(FileContext) || {};
|
|
305
265
|
// 操作列按钮-删除
|
|
306
|
-
const renderDelete = () => isEdit && (
|
|
266
|
+
const renderDelete = () => isEdit && (_jsx(Button, { icon: "delete", onClick: () => onChange === null || onChange === void 0 ? void 0 : onChange({ fileID, uuid, type: 'delete' }), disabled: disabled }));
|
|
307
267
|
// 操作列按钮-取消
|
|
308
|
-
const renderCancel = () => isEdit &&
|
|
268
|
+
const renderCancel = () => isEdit && _jsx(Button, { icon: "dismiss", onClick: () => onCancel === null || onCancel === void 0 ? void 0 : onCancel(uuid) });
|
|
309
269
|
// 操作列按钮-重新上传
|
|
310
|
-
const renderReLoad = () => isEdit && (
|
|
270
|
+
const renderReLoad = () => isEdit && (_jsx(Button, { icon: "refresh", onClick: () => {
|
|
311
271
|
onReLoad === null || onReLoad === void 0 ? void 0 : onReLoad(file);
|
|
312
272
|
} }));
|
|
313
273
|
// 操作列按钮-下载
|
|
314
|
-
const renderDownLoad = () => (
|
|
274
|
+
const renderDownLoad = () => (_jsx(Button, { icon: "download", onClick: () => downloadFile(src, title) }));
|
|
315
275
|
switch (status) {
|
|
316
276
|
case 'UPLOAD_STATUS_PENDING':
|
|
317
277
|
return renderCancel();
|
|
318
278
|
case 'UPLOAD_STATUS_LOADING':
|
|
319
279
|
return renderCancel();
|
|
320
280
|
case 'UPLOAD_STATUS_SUCCESS':
|
|
321
|
-
return (
|
|
322
|
-
deleteVisible && renderDelete(),
|
|
323
|
-
' ',
|
|
324
|
-
downloadVisible && !isWebInMiniprogram() && renderDownLoad()));
|
|
281
|
+
return (_jsxs(_Fragment, { children: [deleteVisible && renderDelete(), ' ', downloadVisible && !isWebInMiniprogram() && renderDownLoad()] }));
|
|
325
282
|
case 'UPLOAD_STATUS_ERROR':
|
|
326
|
-
return (
|
|
327
|
-
deleteVisible && renderDelete(),
|
|
328
|
-
" ",
|
|
329
|
-
renderReLoad()));
|
|
283
|
+
return (_jsxs(_Fragment, { children: [deleteVisible && renderDelete(), " ", renderReLoad()] }));
|
|
330
284
|
default:
|
|
331
285
|
return null;
|
|
332
286
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
1
2
|
import * as React from 'react';
|
|
2
3
|
import { Upload, ConfigProvider, Button, message, Icon, Text, List, } from 'tea-component';
|
|
3
4
|
import { filterStrList, isCloudFileID, isHttpFileID, transSize, downloadFile, cutFileTitle, transFileCloudidToName, randomStr, isInIde, isWebInMiniprogram, } from '../../../utils/platform';
|
|
@@ -30,7 +31,17 @@ decorator, tips = '', btnTitle = '点击上传', maxUploadCount = 9, maxSize = 1
|
|
|
30
31
|
value = emptyArray, // 用于模型组件中 formily 的值管理
|
|
31
32
|
acceptTypes = emptyArray, downloadVisible = true, deleteVisible = true, uploadPath = 'weda-uploader', onChange = null, isEdit = true, $node, }) {
|
|
32
33
|
var _a;
|
|
33
|
-
const [fileIDList, setfileIDList] = React.useState(
|
|
34
|
+
const [fileIDList, setfileIDList] = React.useState(() => {
|
|
35
|
+
let defaultVal = defaultValue;
|
|
36
|
+
let val = value;
|
|
37
|
+
if (!Array.isArray(defaultVal)) {
|
|
38
|
+
defaultVal = [defaultValue];
|
|
39
|
+
}
|
|
40
|
+
if (!Array.isArray(val)) {
|
|
41
|
+
val = [val];
|
|
42
|
+
}
|
|
43
|
+
return isInIde() ? [] : filterStrList([].concat(defaultValue, value));
|
|
44
|
+
}); // 上传成功文件ID列表,fileID[]
|
|
34
45
|
const [fileList, setFileList] = React.useState([]); // 上传中的文件列表,file[],file为原始文件 + uuid属性
|
|
35
46
|
const [fileSizeObj, setFileSizeObj] = React.useState({}); // 管理上传文件大小 {uuid:size}
|
|
36
47
|
// 两次默认值不同, 需要刷新
|
|
@@ -38,15 +49,11 @@ acceptTypes = emptyArray, downloadVisible = true, deleteVisible = true, uploadPa
|
|
|
38
49
|
const fileRef = React.useRef(fileIDList);
|
|
39
50
|
const maxSizeLimit = maxSize > 500 ? 500 : maxSize;
|
|
40
51
|
const formType = ((_a = getParentForm($node)) === null || _a === void 0 ? void 0 : _a.formType) || 'create';
|
|
41
|
-
React.
|
|
52
|
+
React.useEffect(() => {
|
|
42
53
|
//有有效默认值时不刷新,解决初次渲染默认值不显示问题
|
|
43
|
-
if (!isInIde() &&
|
|
44
|
-
defaultValue &&
|
|
45
|
-
!isObjectEqual(prevDefaultRef.current, defaultValue) &&
|
|
46
|
-
(JSON.stringify(prevDefaultRef.current) == '[]' ||
|
|
47
|
-
!prevDefaultRef.current)) {
|
|
54
|
+
if (!isInIde() && !isObjectEqual(prevDefaultRef.current, defaultValue)) {
|
|
48
55
|
prevDefaultRef.current = defaultValue;
|
|
49
|
-
setfileIDList(filterStrList([].concat(defaultValue)));
|
|
56
|
+
setfileIDList(filterStrList([].concat(Array.isArray(defaultValue) ? defaultValue : [defaultValue])));
|
|
50
57
|
}
|
|
51
58
|
}, [defaultValue]);
|
|
52
59
|
React.useEffect(() => {
|
|
@@ -122,14 +129,21 @@ acceptTypes = emptyArray, downloadVisible = true, deleteVisible = true, uploadPa
|
|
|
122
129
|
}
|
|
123
130
|
tips && (uploadProps['title'] = tips);
|
|
124
131
|
maxSize && (uploadProps['maxSize'] = maxSizeLimit * 1024 * 1024);
|
|
125
|
-
const btnDisabled =
|
|
132
|
+
const btnDisabled = React.useMemo(() => {
|
|
133
|
+
fileList;
|
|
134
|
+
return (fileIDList.length >= maxUploadCount ||
|
|
135
|
+
(single && fileIDList.length > 0) ||
|
|
136
|
+
fileList.length >= maxUploadCount ||
|
|
137
|
+
(single && fileList.length > 0) ||
|
|
138
|
+
disabled);
|
|
139
|
+
}, [disabled, fileIDList.length, fileList, maxUploadCount, single]);
|
|
126
140
|
//验证上传文件类型是否合法
|
|
127
141
|
const islegalType = (files, accepts) => {
|
|
128
142
|
const illegalType = [];
|
|
129
143
|
for (const file of files) {
|
|
130
|
-
accepts.
|
|
131
|
-
?
|
|
132
|
-
|
|
144
|
+
if (!accepts.includes(file === null || file === void 0 ? void 0 : file.type)) {
|
|
145
|
+
illegalType.push(file === null || file === void 0 ? void 0 : file.type);
|
|
146
|
+
}
|
|
133
147
|
}
|
|
134
148
|
if (illegalType.length > 0) {
|
|
135
149
|
message.error({
|
|
@@ -141,8 +155,7 @@ acceptTypes = emptyArray, downloadVisible = true, deleteVisible = true, uploadPa
|
|
|
141
155
|
}
|
|
142
156
|
return true;
|
|
143
157
|
};
|
|
144
|
-
return renderDecorator(
|
|
145
|
-
React.createElement(FileContext.Provider, { value: {
|
|
158
|
+
return renderDecorator(_jsx(ConfigProvider, { classPrefix: "wedatea2td", children: _jsx(FileContext.Provider, { value: {
|
|
146
159
|
uploadPath,
|
|
147
160
|
downloadVisible,
|
|
148
161
|
deleteVisible,
|
|
@@ -150,25 +163,7 @@ acceptTypes = emptyArray, downloadVisible = true, deleteVisible = true, uploadPa
|
|
|
150
163
|
isEdit,
|
|
151
164
|
events,
|
|
152
165
|
fileSizeObj,
|
|
153
|
-
}, "data-testid": "button-up" },
|
|
154
|
-
React.createElement("div", { className: `${CLASS_PREFIX}`, "data-testid": "UploadFilePc" },
|
|
155
|
-
isEdit && (React.createElement("div", { className: `${CLASS_PREFIX}__input-box` }, disabled || btnDisabled ? (React.createElement(Button, { type: "weak", disabled: true }, btnTitle)) : (React.createElement(Upload, { ...uploadProps, beforeUpload: handleBefore, "data-testid": "Upload" },
|
|
156
|
-
React.createElement(Button, { type: "weak", className: `${CLASS_PREFIX}__btn--weak` }, btnTitle),
|
|
157
|
-
!single && (React.createElement(Text, { theme: "weak", className: `${CLASS_PREFIX}__btn-descripe` }, "\u652F\u6301\u6279\u91CF\u4E0A\u4F20")))))),
|
|
158
|
-
React.createElement(List, { split: "divide" },
|
|
159
|
-
React.createElement(List.Item, null,
|
|
160
|
-
React.createElement("div", { className: `${CLASS_PREFIX}--item ${CLASS_PREFIX}--item-header` },
|
|
161
|
-
React.createElement("div", { className: `${CLASS_PREFIX}--item-title ${CLASS_PREFIX}--item-label` }, "\u6587\u4EF6\u540D"),
|
|
162
|
-
formType !== 'read' && (React.createElement("div", { className: `${CLASS_PREFIX}--item-size ${CLASS_PREFIX}--item-label` }, "\u5927\u5C0F")),
|
|
163
|
-
React.createElement("div", { className: `${CLASS_PREFIX}--item-status ${CLASS_PREFIX}--item-label` }, "\u72B6\u6001"),
|
|
164
|
-
React.createElement("div", { className: `${CLASS_PREFIX}--item-action` }, "\u64CD\u4F5C"))),
|
|
165
|
-
fileIDList.map((d) => (React.createElement(List.Item, { key: d }, React.createElement(TcbFileEcho, { disabled: disabled, fileID: d, formType: formType })))),
|
|
166
|
-
fileList.map((item) => (React.createElement(List.Item, { key: item === null || item === void 0 ? void 0 : item._uuid }, React.createElement(TcbFileUpload, { disabled: disabled, file: item, formType: formType })))),
|
|
167
|
-
isEdit && fileIDList.length === 0 && fileList.length === 0 && (React.createElement(List.Item, { className: `${CLASS_PREFIX}--item-empty` },
|
|
168
|
-
React.createElement("div", { className: `${CLASS_PREFIX}--item` },
|
|
169
|
-
"\u70B9\u51FB\u4E0A\u65B9\u201C",
|
|
170
|
-
btnTitle,
|
|
171
|
-
"\u201D\u6309\u94AE"))))))), decorator)({
|
|
166
|
+
}, "data-testid": "button-up", children: _jsxs("div", { className: `${CLASS_PREFIX}`, "data-testid": "UploadFilePc", children: [isEdit && (_jsx("div", { className: `${CLASS_PREFIX}__input-box`, children: btnDisabled ? (_jsx(Button, { type: "weak", disabled: true, children: btnTitle })) : (_jsxs(Upload, { ...uploadProps, beforeUpload: handleBefore, "data-testid": "Upload", children: [_jsx(Button, { type: "weak", className: `${CLASS_PREFIX}__btn--weak`, children: btnTitle }), !single && (_jsx(Text, { theme: "weak", className: `${CLASS_PREFIX}__btn-descripe`, children: "\u652F\u6301\u6279\u91CF\u4E0A\u4F20" }))] })) })), _jsxs(List, { split: "divide", children: [_jsx(List.Item, { children: _jsxs("div", { className: `${CLASS_PREFIX}--item ${CLASS_PREFIX}--item-header`, children: [_jsx("div", { className: `${CLASS_PREFIX}--item-title ${CLASS_PREFIX}--item-label`, children: "\u6587\u4EF6\u540D" }), formType !== 'read' && (_jsx("div", { className: `${CLASS_PREFIX}--item-size ${CLASS_PREFIX}--item-label`, children: "\u5927\u5C0F" })), _jsx("div", { className: `${CLASS_PREFIX}--item-status ${CLASS_PREFIX}--item-label`, children: "\u72B6\u6001" }), _jsx("div", { className: `${CLASS_PREFIX}--item-action`, children: "\u64CD\u4F5C" })] }) }), fileIDList.map((d) => (_jsx(List.Item, { children: _jsx(TcbFileEcho, { disabled: disabled, fileID: d, formType: formType }) }, d))), fileList.map((item) => (_jsx(List.Item, { children: _jsx(TcbFileUpload, { disabled: disabled, file: item, formType: formType }) }, item === null || item === void 0 ? void 0 : item._uuid))), isEdit && fileIDList.length === 0 && fileList.length === 0 && (_jsx(List.Item, { className: `${CLASS_PREFIX}--item-empty`, children: _jsxs("div", { className: `${CLASS_PREFIX}--item`, children: ["\u70B9\u51FB\u4E0A\u65B9\u201C", btnTitle, "\u201D\u6309\u94AE"] }) }))] })] }) }) }), decorator)({
|
|
172
167
|
id,
|
|
173
168
|
className: cls,
|
|
174
169
|
style,
|
|
@@ -192,13 +187,7 @@ const TcbFileEcho = ({ fileID, disabled, formType }) => {
|
|
|
192
187
|
return fileID;
|
|
193
188
|
}
|
|
194
189
|
}, [fileID]);
|
|
195
|
-
return (
|
|
196
|
-
React.createElement("div", { className: `${CLASS_PREFIX}--item-title`, title: title }, cutFileTitle(title)),
|
|
197
|
-
formType !== 'read' && (React.createElement("div", { className: `${CLASS_PREFIX}--item-size` }, fileSizeObj[fileID] || '--')),
|
|
198
|
-
React.createElement("div", { className: `${CLASS_PREFIX}--item-status` },
|
|
199
|
-
React.createElement(UploadFileStatus, null)),
|
|
200
|
-
React.createElement("div", { className: `${CLASS_PREFIX}--item-action` },
|
|
201
|
-
React.createElement(UploadFileAction, { title: title, disabled: disabled, status: "2", fileID: fileID, src: src }))));
|
|
190
|
+
return (_jsxs("div", { className: `${CLASS_PREFIX}--item ${CLASS_PREFIX}--item-body`, children: [_jsx("div", { className: `${CLASS_PREFIX}--item-title`, title: title, children: cutFileTitle(title) }), formType !== 'read' && (_jsx("div", { className: `${CLASS_PREFIX}--item-size`, children: fileSizeObj[fileID] || '--' })), _jsx("div", { className: `${CLASS_PREFIX}--item-status`, children: _jsx(UploadFileStatus, {}) }), _jsx("div", { className: `${CLASS_PREFIX}--item-action`, children: _jsx(UploadFileAction, { title: title, disabled: disabled, status: "2", fileID: fileID, src: src }) })] }));
|
|
202
191
|
};
|
|
203
192
|
/**
|
|
204
193
|
* 基于 File 上传文件过程表格行组件
|
|
@@ -241,16 +230,10 @@ const TcbFileUpload = ({ file, disabled, formType }) => {
|
|
|
241
230
|
events.error && events.error(e);
|
|
242
231
|
}
|
|
243
232
|
};
|
|
244
|
-
return (
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
React.createElement(UploadFileStatus, { status: status, percent: percent })),
|
|
249
|
-
React.createElement("div", { className: `${CLASS_PREFIX}--item-action` },
|
|
250
|
-
React.createElement(UploadFileAction, { file: file, uuid: file === null || file === void 0 ? void 0 : file._uuid, status: status, onCancel: (uuid) => {
|
|
251
|
-
cancleRef.current = uuid;
|
|
252
|
-
onChange === null || onChange === void 0 ? void 0 : onChange({ type: 'delete', uuid });
|
|
253
|
-
}, disabled: disabled, onReLoad: handleUpload }))));
|
|
233
|
+
return (_jsxs("div", { className: `${CLASS_PREFIX}--item ${CLASS_PREFIX}--item-body`, children: [_jsx("div", { className: `${CLASS_PREFIX}--item-title`, title: title, children: cutFileTitle(title) }), formType !== 'read' && (_jsx("div", { className: `${CLASS_PREFIX}--item-size`, children: size })), _jsx("div", { className: `${CLASS_PREFIX}--item-status`, children: _jsx(UploadFileStatus, { status: status, percent: percent }) }), _jsx("div", { className: `${CLASS_PREFIX}--item-action`, children: _jsx(UploadFileAction, { file: file, uuid: file === null || file === void 0 ? void 0 : file._uuid, status: status, onCancel: (uuid) => {
|
|
234
|
+
cancleRef.current = uuid;
|
|
235
|
+
onChange === null || onChange === void 0 ? void 0 : onChange({ type: 'delete', uuid });
|
|
236
|
+
}, disabled: disabled, onReLoad: handleUpload }) })] }));
|
|
254
237
|
};
|
|
255
238
|
/**
|
|
256
239
|
* 上传文件状态组件
|
|
@@ -258,15 +241,9 @@ const TcbFileUpload = ({ file, disabled, formType }) => {
|
|
|
258
241
|
const UploadFileStatus = ({ status = '2', percent = 0 }) => {
|
|
259
242
|
var _a, _b;
|
|
260
243
|
if (status == '1' && percent) {
|
|
261
|
-
return (
|
|
262
|
-
React.createElement(Icon, { type: "loading" }),
|
|
263
|
-
"\u4E0A\u4F20",
|
|
264
|
-
percent,
|
|
265
|
-
"% ..."));
|
|
244
|
+
return (_jsxs(_Fragment, { children: [_jsx(Icon, { type: "loading" }), "\u4E0A\u4F20", percent, "% ..."] }));
|
|
266
245
|
}
|
|
267
|
-
return (
|
|
268
|
-
React.createElement(Icon, { type: ((_a = statusMap[status]) === null || _a === void 0 ? void 0 : _a.icon) || statusMap['0'].icon }),
|
|
269
|
-
((_b = statusMap[status]) === null || _b === void 0 ? void 0 : _b.title) || statusMap['0'].title));
|
|
246
|
+
return (_jsxs(_Fragment, { children: [_jsx(Icon, { type: ((_a = statusMap[status]) === null || _a === void 0 ? void 0 : _a.icon) || statusMap['0'].icon }), ((_b = statusMap[status]) === null || _b === void 0 ? void 0 : _b.title) || statusMap['0'].title] }));
|
|
270
247
|
};
|
|
271
248
|
/**
|
|
272
249
|
* 操作列组件, onChange 从最外层 UploadFilePc 传进来
|
|
@@ -276,29 +253,25 @@ const UploadFileAction = ({ title = 'downfile', status = '0', fileID = '', uuid
|
|
|
276
253
|
const { onChange, downloadVisible, deleteVisible, isEdit } = React.useContext(FileContext) || {};
|
|
277
254
|
// 操作列按钮-删除
|
|
278
255
|
const renderDelete = () => isEdit &&
|
|
279
|
-
deleteVisible && (
|
|
256
|
+
deleteVisible && (_jsx(Button, { type: "link", disabled: disabled, onClick: () => onChange === null || onChange === void 0 ? void 0 : onChange({ fileID, uuid, type: 'delete' }), children: "\u5220\u9664" }));
|
|
280
257
|
// 操作列按钮-取消
|
|
281
|
-
const renderCancel = () => isEdit && (
|
|
258
|
+
const renderCancel = () => isEdit && (_jsx(Button, { onClick: () => onCancel === null || onCancel === void 0 ? void 0 : onCancel(uuid), type: "link", children: "\u53D6\u6D88" }));
|
|
282
259
|
// 操作列按钮-重新上传
|
|
283
|
-
const renderReLoad = () => isEdit && (
|
|
260
|
+
const renderReLoad = () => isEdit && (_jsx(Button, { type: "link", onClick: () => {
|
|
284
261
|
onReLoad === null || onReLoad === void 0 ? void 0 : onReLoad(file);
|
|
285
|
-
}
|
|
262
|
+
}, children: "\u91CD\u65B0\u4E0A\u4F20" }));
|
|
286
263
|
// 操作列按钮-下载
|
|
287
264
|
const renderDownLoad = () => downloadVisible &&
|
|
288
|
-
!isWebInMiniprogram && (
|
|
265
|
+
!isWebInMiniprogram() && (_jsx(Button, { type: "link", title: "\u70B9\u51FB\u4E0B\u8F7D\u6587\u4EF6", onClick: () => downloadFile(src, title), children: "\u4E0B\u8F7D" }));
|
|
289
266
|
switch (status) {
|
|
290
267
|
case '0':
|
|
291
268
|
return renderCancel();
|
|
292
269
|
case '1':
|
|
293
270
|
return renderCancel();
|
|
294
271
|
case '2':
|
|
295
|
-
return (
|
|
296
|
-
renderDelete(),
|
|
297
|
-
renderDownLoad()));
|
|
272
|
+
return (_jsxs(_Fragment, { children: [renderDelete(), renderDownLoad()] }));
|
|
298
273
|
case '3':
|
|
299
|
-
return (
|
|
300
|
-
renderDelete(),
|
|
301
|
-
renderReLoad()));
|
|
274
|
+
return (_jsxs(_Fragment, { children: [renderDelete(), renderReLoad()] }));
|
|
302
275
|
default:
|
|
303
276
|
return null;
|
|
304
277
|
}
|