@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,25 +1,27 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
2
|
import React, { useState, useEffect } from 'react';
|
|
2
3
|
import { ConfigProvider } from 'tea-component';
|
|
3
4
|
// import './index.less';
|
|
4
5
|
import { useSyncValue } from '../../../../../utils/hooks/useSyncValue';
|
|
5
6
|
import { usePlatform, isInIde } from '../../../../../utils/platform';
|
|
7
|
+
import { deepClone } from '../../../../../utils/tool';
|
|
6
8
|
import isObjectEqual from '../../../../../utils/isObjectEqual';
|
|
7
9
|
import { emptyObject, emptyArray } from '../../../../../utils/constant';
|
|
8
10
|
import { DepartTreeSelectH5 as DepartSelectH5 } from '../../departTreeSelect/departTreeSelect.h5';
|
|
9
11
|
import { DepartTreeSelectPC as DepartSelectPC } from './depart-select-pc';
|
|
10
12
|
import { defaultRequest, getDepartByIds, } from '../../common/fetch-data-service';
|
|
13
|
+
import { setFlag, formatTree, parseStrToArr, setChildren, } from '../../common/utils';
|
|
14
|
+
import { useDepartData } from '../../hooks/use-depart-data';
|
|
11
15
|
export default function DepartTreeSelect(props) {
|
|
12
16
|
const { events = emptyObject, defaultValue = emptyArray, //默认值,支持数组
|
|
13
17
|
confirmValue = '', defaultValueType = 'noneDepart', multiple = false, onChange = null,
|
|
14
18
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
15
|
-
request = defaultRequest, } = props;
|
|
19
|
+
request = defaultRequest, departmentScope, } = props;
|
|
16
20
|
const platform = usePlatform();
|
|
17
21
|
// 两次默认值不同, 需要刷新
|
|
18
22
|
const prevDefaultRef = React.useRef(null);
|
|
19
23
|
// 最终选定部门id
|
|
20
24
|
const [confirmOrgIds, setConfirmOrgIds] = useSyncValue(defaultValue, isObjectEqual);
|
|
21
|
-
//弹窗中被选中部门id集合
|
|
22
|
-
const [selectedOrgIds, setSelectedOrgIds] = useState([]);
|
|
23
25
|
// 最终选定部门集合
|
|
24
26
|
const [confirmOrgList, setConfirmOrgList] = useState([]);
|
|
25
27
|
//弹窗中被选中部门集合
|
|
@@ -28,29 +30,52 @@ export default function DepartTreeSelect(props) {
|
|
|
28
30
|
errorStatus: false,
|
|
29
31
|
errorMessage: null,
|
|
30
32
|
});
|
|
33
|
+
const { orgTreeData, orgList, error } = useDepartData({
|
|
34
|
+
request,
|
|
35
|
+
});
|
|
36
|
+
const [treeData, setTreeData] = useState([]);
|
|
37
|
+
const defaultExpandedIds = parseStrToArr(departmentScope);
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
if (orgTreeData) {
|
|
40
|
+
// deepClone数组,变更对象指针,避免数据混乱
|
|
41
|
+
const TreeDataClone = deepClone(orgTreeData);
|
|
42
|
+
if (Array.isArray(defaultExpandedIds) && defaultExpandedIds.length > 0) {
|
|
43
|
+
TreeDataClone.forEach((e) => {
|
|
44
|
+
setFlag(e, defaultExpandedIds);
|
|
45
|
+
});
|
|
46
|
+
const scopeTree = formatTree(TreeDataClone);
|
|
47
|
+
setTreeData(scopeTree);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
TreeDataClone.forEach((e) => setChildren(e));
|
|
51
|
+
setTreeData(TreeDataClone);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
55
|
+
}, [orgTreeData, departmentScope]);
|
|
31
56
|
useEffect(() => {
|
|
32
57
|
if (defaultValueType === 'confirmDepart') {
|
|
33
58
|
setConfirmOrgIds(confirmValue);
|
|
34
59
|
}
|
|
35
60
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
36
61
|
}, [defaultValueType, confirmValue]);
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
62
|
+
useEffect(() => {
|
|
63
|
+
const getDefaultOrg = async (ids) => {
|
|
64
|
+
try {
|
|
65
|
+
setErrorInfo({ errorStatus: false, errorMessage: null });
|
|
66
|
+
if (ids && ids.length !== 0 && !isInIde()) {
|
|
67
|
+
const { orgList } = await getDepartByIds({ ids, request });
|
|
68
|
+
setConfirmOrgList(orgList || []);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
setConfirmOrgList([]);
|
|
72
|
+
}
|
|
43
73
|
}
|
|
44
|
-
|
|
74
|
+
catch (e) {
|
|
45
75
|
setConfirmOrgList([]);
|
|
76
|
+
setErrorInfo({ errorStatus: true, errorMessage: e });
|
|
46
77
|
}
|
|
47
|
-
}
|
|
48
|
-
catch (e) {
|
|
49
|
-
setConfirmOrgList([]);
|
|
50
|
-
setErrorInfo({ errorStatus: true, errorMessage: e });
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
useEffect(() => {
|
|
78
|
+
};
|
|
54
79
|
try {
|
|
55
80
|
if (!isObjectEqual(prevDefaultRef.current, confirmOrgIds)) {
|
|
56
81
|
getDefaultOrg(confirmOrgIds);
|
|
@@ -85,12 +110,24 @@ export default function DepartTreeSelect(props) {
|
|
|
85
110
|
});
|
|
86
111
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
87
112
|
}, [confirmOrgList]);
|
|
113
|
+
const restProps = {
|
|
114
|
+
confirmOrgIds,
|
|
115
|
+
confirmOrgList,
|
|
116
|
+
setConfirmOrgList,
|
|
117
|
+
selectedOrgList,
|
|
118
|
+
setSelectedOrgList,
|
|
119
|
+
errorInfo,
|
|
120
|
+
setErrorInfo,
|
|
121
|
+
treeData,
|
|
122
|
+
orgList,
|
|
123
|
+
error,
|
|
124
|
+
defaultExpandedIds,
|
|
125
|
+
};
|
|
88
126
|
if ((props === null || props === void 0 ? void 0 : props.showType) === 'pc') {
|
|
89
|
-
return (
|
|
127
|
+
return _jsx(DepartSelectPC, { ...restProps, ...props });
|
|
90
128
|
}
|
|
91
129
|
if ((props === null || props === void 0 ? void 0 : props.showType) === 'h5') {
|
|
92
|
-
return (
|
|
130
|
+
return _jsx(DepartSelectH5, { ...restProps, ...props });
|
|
93
131
|
}
|
|
94
|
-
return platform === 'h5' ? (
|
|
95
|
-
React.createElement(DepartSelectH5, { confirmOrgIds: confirmOrgIds, confirmOrgList: confirmOrgList, setConfirmOrgList: setConfirmOrgList, selectedOrgIds: selectedOrgIds, setSelectedOrgIds: setSelectedOrgIds, selectedOrgList: selectedOrgList, setSelectedOrgList: setSelectedOrgList, errorInfo: errorInfo, setErrorInfo: setErrorInfo, ...props }))) : (React.createElement(DepartSelectPC, { confirmOrgIds: confirmOrgIds, confirmOrgList: confirmOrgList, setConfirmOrgList: setConfirmOrgList, selectedOrgIds: selectedOrgIds, setSelectedOrgIds: setSelectedOrgIds, selectedOrgList: selectedOrgList, setSelectedOrgList: setSelectedOrgList, errorInfo: errorInfo, setErrorInfo: setErrorInfo, ...props }));
|
|
132
|
+
return platform === 'h5' ? (_jsx(ConfigProvider, { classPrefix: "wedatea2td", children: _jsx(DepartSelectH5, { ...restProps, ...props }) })) : (_jsx(DepartSelectPC, { ...restProps, ...props }));
|
|
96
133
|
}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React, { useState, useCallback, useMemo } from 'react';
|
|
2
3
|
import { Button, Modal, Bubble } from 'tea-component';
|
|
3
4
|
import { ModalSearch } from '../modal-search';
|
|
4
5
|
import { OrgTreeContext } from './depart-select-pc';
|
|
5
6
|
import { OrgTree } from '../org-tree';
|
|
6
7
|
import { SelectedList } from '../selected-list';
|
|
7
|
-
import { fetchSearchOrg } from '../../common/
|
|
8
|
+
import { fetchSearchOrg } from '../../common/utils';
|
|
8
9
|
import debounce from '../../../../../utils/debounce';
|
|
9
10
|
import '../index.css';
|
|
10
11
|
export const OrgModalPC = (props) => {
|
|
11
12
|
const { open, setOpen, onCancel, onConfirm, treeData, orgList, treeDataError, } = props;
|
|
12
|
-
const {
|
|
13
|
+
const { multiple, setSelectedOrgList, selectedOrgList, confirmOrgList, defaultExpandedIds, } = React.useContext(OrgTreeContext) || {};
|
|
13
14
|
const [searchOrgList, setSearchOrgList] = useState([]);
|
|
14
15
|
// 是否有搜索项
|
|
15
16
|
const [keyWords, setKeyWords] = useState('');
|
|
@@ -18,22 +19,15 @@ export const OrgModalPC = (props) => {
|
|
|
18
19
|
errorMessage: null,
|
|
19
20
|
});
|
|
20
21
|
const [loading, setLoading] = useState(false);
|
|
21
|
-
|
|
22
|
-
let selectOrgList = [];
|
|
23
|
-
[]
|
|
24
|
-
.concat(selectedOrgIds)
|
|
25
|
-
.map((e) => (selectOrgList = selectOrgList.concat(orgList.filter((item) => (item === null || item === void 0 ? void 0 : item.id) === e))));
|
|
26
|
-
setSelectedOrgList(selectOrgList);
|
|
27
|
-
}, [selectedOrgIds]);
|
|
22
|
+
const selectedIds = useMemo(() => selectedOrgList.map((item) => item.id), [selectedOrgList]);
|
|
28
23
|
//搜索值变化延迟响应,节流处理
|
|
29
24
|
const onSearch = debounce((key) => {
|
|
30
25
|
try {
|
|
31
26
|
if (key && key.length > 0) {
|
|
32
27
|
setLoading(true);
|
|
33
|
-
fetchSearchOrg({ key,
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
});
|
|
28
|
+
const res = fetchSearchOrg({ key, treeData });
|
|
29
|
+
setSearchOrgList(res);
|
|
30
|
+
setLoading(false);
|
|
37
31
|
}
|
|
38
32
|
else {
|
|
39
33
|
setSearchOrgList([]);
|
|
@@ -45,25 +39,25 @@ export const OrgModalPC = (props) => {
|
|
|
45
39
|
setErrInfo({ errorStatus: true, errorMessage: e });
|
|
46
40
|
}
|
|
47
41
|
}, 500);
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
42
|
+
const handleSelectedIdsChange = useCallback((ids) => {
|
|
43
|
+
const items = [];
|
|
44
|
+
if (ids.length > 0) {
|
|
45
|
+
for (const id of ids) {
|
|
46
|
+
const item = orgList.find((i) => i.id === id);
|
|
47
|
+
if (item) {
|
|
48
|
+
items.push(item);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (items.length > 0) {
|
|
53
|
+
setSelectedOrgList(items);
|
|
54
|
+
}
|
|
55
|
+
}, [orgList, setSelectedOrgList]);
|
|
56
|
+
return (_jsxs(Modal, { disableEscape: true, maskClosable: false, visible: open, caption: "\u9009\u62E9\u90E8\u95E8", onClose: () => setOpen(false), className: "weda-ui weda-ui-user-select-modal", children: [_jsxs(Modal.Body, { children: [_jsxs("div", { className: "weda-ui-user-select-container", children: [_jsx(ModalSearch, { searchList: searchOrgList, errInfo: errInfo, loading: loading, keyWords: keyWords, selectedList: selectedOrgList, multiple: multiple, setSelectedList: setSelectedOrgList, setSelectedIds: handleSelectedIdsChange, selectedIds: selectedIds, onSearch: (key) => onSearch(key), onReset: () => setSearchOrgList([]), isUser: false }), keyWords.length === 0 && (_jsx(_Fragment, { children: _jsx("div", { className: "weda-ui-user-select-container-list", children: _jsx("div", { className: "weda-ui-user-select-container-list__start", children: _jsx(OrgTree, { selectedOrgId: selectedIds, mutiple: multiple,
|
|
57
|
+
//setSelectedOrgId={setSelectedOrgId}
|
|
58
|
+
isUser: false, treeData: treeData, treeDataError: treeDataError, selectable: true, defaultExpandedIds: defaultExpandedIds, onActive: (ids) => handleSelectedIdsChange(ids) }) }) }) }))] }), _jsx(SelectedList, { selectedList: selectedOrgList, isUser: false, onClose: (item) => {
|
|
59
|
+
setSelectedOrgList(selectedOrgList.filter((data) => data.id !== (item === null || item === void 0 ? void 0 : item.id)));
|
|
60
|
+
} })] }), _jsxs(Modal.Footer, { children: [_jsx(Button, { type: "weak", onClick: onCancel, children: "\u53D6\u6D88" }), _jsx(Bubble, { content: selectedOrgList.length === 0 && confirmOrgList.length === 0
|
|
61
|
+
? '请选择部门'
|
|
62
|
+
: null, children: _jsx(Button, { type: "primary", onClick: onConfirm, disabled: selectedOrgList.length === 0 && confirmOrgList.length === 0, children: "\u786E\u5B9A" }) })] })] }));
|
|
69
63
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Status } from 'tea-component';
|
|
3
3
|
export const ErrorStatus = ({ description, title = '接口调用失败' }) => {
|
|
4
|
-
return (
|
|
4
|
+
return (_jsx(Status, { icon: 'blank', size: 's', title: title, description: description }));
|
|
5
5
|
};
|
|
6
6
|
export const NullStatus = ({ title = null, size, description = null }) => {
|
|
7
|
-
return (
|
|
7
|
+
return (_jsx(Status, { icon: 'blank', size: size, title: title, description: description }));
|
|
8
8
|
};
|
|
9
9
|
export const LoadingStatus = () => {
|
|
10
|
-
return
|
|
10
|
+
return _jsx(Status, { icon: 'loading', size: 's', description: '加载中' });
|
|
11
11
|
};
|
|
@@ -321,3 +321,55 @@
|
|
|
321
321
|
color: rgba(0, 0, 0, 0.9);
|
|
322
322
|
max-width: 100%;
|
|
323
323
|
}
|
|
324
|
+
|
|
325
|
+
.wedatea2td-form-check__label {
|
|
326
|
+
display: flex;
|
|
327
|
+
align-items: center;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
.weda-ui-user-select-list__user {
|
|
331
|
+
background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath d='M10.5 4C10.5 5.933 8.933 7.5 7 7.5C5.067 7.5 3.5 5.933 3.5 4C3.5 2.067 5.067 0.5 7 0.5C8.933 0.5 10.5 2.067 10.5 4ZM9.5 4C9.5 2.61929 8.38071 1.5 7 1.5C5.61929 1.5 4.5 2.61929 4.5 4C4.5 5.38071 5.61929 6.5 7 6.5C8.38071 6.5 9.5 5.38071 9.5 4Z' fill='black' fill-opacity='0.9'/%3E %3Cpath d='M12.9631 9.85277C13.297 10.0122 13.5 10.3547 13.5 10.7246V13C13.5 13.2761 13.2761 13.5 13 13.5H1C0.723859 13.5 0.5 13.2761 0.5 13V10.7246C0.5 10.3547 0.703016 10.0122 1.03686 9.85277C2.8494 8.98708 4.86651 8.5 7 8.5C9.13349 8.5 11.1506 8.98708 12.9631 9.85277ZM7 9.5C5.0334 9.5 3.17435 9.94573 1.5 10.7398V12.5H12.5V10.7398C10.8257 9.94573 8.9666 9.5 7 9.5Z' fill='black' fill-opacity='0.9'/%3E %3C/svg%3E ");
|
|
332
|
+
background-repeat: no-repeat;
|
|
333
|
+
width: 15px;
|
|
334
|
+
height: 15px;
|
|
335
|
+
display: inline-block;
|
|
336
|
+
margin-right: 7.5px;
|
|
337
|
+
margin-top: 2px;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
.weda-ui-user-select-list__display {
|
|
341
|
+
margin-left: 47px;
|
|
342
|
+
color: #000000;
|
|
343
|
+
opacity: 0.6;
|
|
344
|
+
display: inline-block;
|
|
345
|
+
white-space: nowrap;
|
|
346
|
+
width: 100%;
|
|
347
|
+
overflow: hidden;
|
|
348
|
+
text-overflow: ellipsis;
|
|
349
|
+
font-size: 14px;
|
|
350
|
+
margin-bottom: 5px;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
.weda-ui-user-select-list__display-radio {
|
|
354
|
+
margin-left: 24px;
|
|
355
|
+
margin-bottom: 10px;
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
.weda-ui-user-select-result__display {
|
|
359
|
+
color: #000000;
|
|
360
|
+
opacity: 0.6;
|
|
361
|
+
margin: 0 5px;
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
.weda-ui-user-select-result__display-h5 {
|
|
365
|
+
color: #000000;
|
|
366
|
+
opacity: 0.6;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
.weda-ui-custom-picker__list-item__content {
|
|
370
|
+
display: inline-block;
|
|
371
|
+
white-space: nowrap;
|
|
372
|
+
width: 100%;
|
|
373
|
+
overflow: hidden;
|
|
374
|
+
text-overflow: ellipsis;
|
|
375
|
+
}
|
|
@@ -1,21 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Tag, Icon, Text } from 'tea-component';
|
|
3
3
|
export const InputTags = ({ tagsList, placeholder, onClose, multiple, errInfo, disabled, platForm = 'pc', }) => {
|
|
4
|
-
return (
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
React.createElement("div", { className: "weda-ui-user-select-input__values" }, (tagsList || []).map((item) => (React.createElement(React.Fragment, null, disabled ? (React.createElement(Tag, { key: item === null || item === void 0 ? void 0 : item.id, "data-testid": "defaultValueDisabled" }, (item === null || item === void 0 ? void 0 : item.content) || '-')) : (React.createElement(Tag, { key: item === null || item === void 0 ? void 0 : item.id, onClose: (e) => onClose(e, item), "data-testid": "defaultValueText" }, (item === null || item === void 0 ? void 0 : item.content) || '-')))))),
|
|
8
|
-
multiple && (React.createElement("div", { className: disabled
|
|
9
|
-
? 'weda-ui-user-select-input__extra__disabled'
|
|
10
|
-
: 'weda-ui-user-select-input__extra' }, platForm === 'pc' ? (React.createElement(React.Fragment, null,
|
|
11
|
-
React.createElement(Icon, { type: "more" }),
|
|
12
|
-
React.createElement(Text, { theme: "primary" },
|
|
13
|
-
"\u5171",
|
|
14
|
-
tagsList.length,
|
|
15
|
-
"\u4E2A"))) : (React.createElement("div", { className: "weda-select-user-dept__select-total" },
|
|
16
|
-
"\u5171",
|
|
17
|
-
tagsList.length,
|
|
18
|
-
"\u4E2A",
|
|
19
|
-
React.createElement("i", { className: "lcap-icon lcap-icon-chevronright" }))))))) : (React.createElement(Text, { className: "weda-ui-user-select-input__placeholder" }, placeholder)),
|
|
20
|
-
errInfo.errorStatus && (React.createElement(Text, { className: "weda-ui-user-select-input__placeholder" }, errInfo.errorMessage)))));
|
|
4
|
+
return (_jsx("div", { className: "weda-ui-user-select-input", children: _jsxs(_Fragment, { children: [tagsList && tagsList.length > 0 && !errInfo.errorStatus ? (_jsxs(_Fragment, { children: [_jsx("div", { className: "weda-ui-user-select-input__values", children: (tagsList || []).map((item) => (_jsx(_Fragment, { children: disabled ? (_jsx(Tag, { "data-testid": "defaultValueDisabled", children: (item === null || item === void 0 ? void 0 : item.content) || '-' }, item === null || item === void 0 ? void 0 : item.id)) : (_jsx(Tag, { onClose: (e) => onClose(e, item), "data-testid": "defaultValueText", children: (item === null || item === void 0 ? void 0 : item.content) || '-' }, item === null || item === void 0 ? void 0 : item.id)) }))) }), multiple && (_jsx("div", { className: disabled
|
|
5
|
+
? 'weda-ui-user-select-input__extra__disabled'
|
|
6
|
+
: 'weda-ui-user-select-input__extra', children: platForm === 'pc' ? (_jsxs(_Fragment, { children: [_jsx(Icon, { type: "more" }), _jsxs(Text, { theme: "primary", children: ["\u5171", tagsList.length, "\u4E2A"] })] })) : (_jsxs("div", { className: "weda-select-user-dept__select-total", children: ["\u5171", tagsList.length, "\u4E2A", _jsx("i", { className: "lcap-icon lcap-icon-chevronright" })] })) }))] })) : (_jsx(Text, { className: "weda-ui-user-select-input__placeholder", children: placeholder })), errInfo.errorStatus && (_jsx(Text, { className: "weda-ui-user-select-input__placeholder", children: errInfo.errorMessage }))] }) }));
|
|
21
7
|
};
|
|
@@ -1,25 +1,17 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import classNames from '../../../../utils/classnames';
|
|
3
3
|
export const ModalSearchH5 = (props) => {
|
|
4
4
|
const { value, onChange, onCancel, isSearch, onFocus } = props;
|
|
5
|
-
return (
|
|
5
|
+
return (_jsxs("div", { className: classNames({
|
|
6
6
|
'weda-select-user-dept__dialog-search-h5': true,
|
|
7
7
|
'weda-select-user-dept__dialog-search-focus': isSearch,
|
|
8
|
-
})
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
'weda-select-user-dept__dialog-label': true,
|
|
18
|
-
'weda-select-user-dept__dialog-label-value': value,
|
|
19
|
-
}) },
|
|
20
|
-
React.createElement("span", { className: "search-icon" }),
|
|
21
|
-
React.createElement("span", { className: "search-placeholder" }, "\u641C\u7D22")),
|
|
22
|
-
value && value.length > 0 && (React.createElement("div", { className: "weda-select-user-dept__dialog-input-clear", onClick: () => onChange('') },
|
|
23
|
-
React.createElement("p", { className: "weda-select-user-dept__dialog-input-clear-close" })))),
|
|
24
|
-
React.createElement("span", { className: "weda-select-user-dept__dialog-search-cancel", onClick: onCancel }, "\u53D6\u6D88")));
|
|
8
|
+
}), children: [_jsxs("div", { className: "weda-select-user-dept__dialog-search-box", children: [_jsx("input", { id: "wd-search-input", type: "text", onFocus: onFocus, value: value, onClick: (e) => {
|
|
9
|
+
e.stopPropagation();
|
|
10
|
+
}, onChange: (e) => {
|
|
11
|
+
var _a;
|
|
12
|
+
onChange((_a = e === null || e === void 0 ? void 0 : e.target) === null || _a === void 0 ? void 0 : _a.value);
|
|
13
|
+
}, className: "weda-select-user-dept__dialog-search-input" }), _jsxs("div", { className: classNames({
|
|
14
|
+
'weda-select-user-dept__dialog-label': true,
|
|
15
|
+
'weda-select-user-dept__dialog-label-value': value,
|
|
16
|
+
}), children: [_jsx("span", { className: "search-icon" }), _jsx("span", { className: "search-placeholder", children: "\u641C\u7D22" })] }), value && value.length > 0 && (_jsx("div", { className: "weda-select-user-dept__dialog-input-clear", onClick: () => onChange(''), children: _jsx("p", { className: "weda-select-user-dept__dialog-input-clear-close" }) }))] }), _jsx("span", { className: "weda-select-user-dept__dialog-search-cancel", onClick: onCancel, children: "\u53D6\u6D88" })] }));
|
|
25
17
|
};
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { SearchBox } from 'tea-component';
|
|
3
3
|
import { UserOrgList } from './user-org-list';
|
|
4
4
|
import './index.css';
|
|
5
5
|
export const ModalSearch = (props) => {
|
|
6
6
|
const { searchList, onReset, keyWords, onSearch, loading, errInfo, selectedList, multiple, setSelectedList, setSelectedIds, selectedIds, isUser = true, } = props;
|
|
7
|
-
return (
|
|
8
|
-
React.createElement(SearchBox, { "data-testid": "SearchBox", onChange: onSearch, onSearch: (key) => onSearch(key), onClear: () => onReset(), placeholder: `搜索${isUser ? '成员' : '部门'}` }),
|
|
9
|
-
keyWords.length !== 0 && (React.createElement("div", { className: "weda-ui-user-select-container-list__end " },
|
|
10
|
-
React.createElement(UserOrgList, { isUser: isUser, userOrgList: searchList, isOrg: true, loading: loading, errorStatus: errInfo === null || errInfo === void 0 ? void 0 : errInfo.errorStatus, errorMessage: errInfo === null || errInfo === void 0 ? void 0 : errInfo.errorMessage, selectedList: selectedList, multiple: multiple, setSelectedIds: setSelectedIds, setSelectedList: setSelectedList, selectedIds: selectedIds })))));
|
|
7
|
+
return (_jsxs(_Fragment, { children: [_jsx(SearchBox, { "data-testid": "SearchBox", onChange: onSearch, onSearch: (key) => onSearch(key), onClear: () => onReset(), placeholder: `搜索${isUser ? '成员' : '部门'}` }), keyWords.length !== 0 && (_jsx("div", { className: "weda-ui-user-select-container-list__end ", children: _jsx(UserOrgList, { isUser: isUser, userOrgList: searchList, isOrg: true, loading: loading, errorStatus: errInfo === null || errInfo === void 0 ? void 0 : errInfo.errorStatus, errorMessage: errInfo === null || errInfo === void 0 ? void 0 : errInfo.errorMessage, selectedList: selectedList, multiple: multiple, setSelectedIds: setSelectedIds, setSelectedList: setSelectedList, selectedIds: selectedIds, secondDisplay: undefined }) }))] }));
|
|
11
8
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
2
3
|
import { Modal } from 'tea-component';
|
|
3
4
|
import { ModalSearchH5 } from './modal-search-h5';
|
|
4
5
|
import { ErrorStatus, LoadingStatus } from './error-tips';
|
|
@@ -7,13 +8,13 @@ import { SelectedListH5 } from './selected-list-h5';
|
|
|
7
8
|
import './index.css';
|
|
8
9
|
import { OrgTreeH5 } from './org-tree-h5';
|
|
9
10
|
import { UserListH5 } from './user-select-h5/user-list-h5';
|
|
10
|
-
import { getNode, getBreadNode } from '../common/utils';
|
|
11
|
+
import { getNode, getBreadNode, getPropertiesList } from '../common/utils';
|
|
11
12
|
import debounce from '../../../../utils/debounce';
|
|
12
13
|
import { fetchSearchUser, fetchUserList } from '../common/fetch-data-service';
|
|
13
14
|
const appendNode = { id: 'appendNode', content: '直属成员' };
|
|
14
15
|
export const ModalSelectH5 = (props) => {
|
|
15
16
|
var _a;
|
|
16
|
-
const { open, onClose, onConfirm, treeData, multiple = false, errorInfo, setErrorInfo, selectedUserList, setSelectedUserList, confirmUserList, request, filterParams, pageNo, setPageNo, pageSize, treeDataError, } = props;
|
|
17
|
+
const { open, onClose, onConfirm, treeData, multiple = false, errorInfo, setErrorInfo, selectedUserList, setSelectedUserList, confirmUserList, request, filterParams, pageNo, setPageNo, pageSize, treeDataError, secondDisplay, } = props;
|
|
17
18
|
const [loading, setLoading] = useState({ id: null, status: false });
|
|
18
19
|
const [pageLoading, setPageLoading] = useState(false);
|
|
19
20
|
const [listLoading, setListLoading] = useState(false);
|
|
@@ -156,14 +157,38 @@ export const ModalSelectH5 = (props) => {
|
|
|
156
157
|
setLoading({ id: null, status: false });
|
|
157
158
|
if ((res === null || res === void 0 ? void 0 : res.total) > 0) {
|
|
158
159
|
const currentUserData = userList.concat(res === null || res === void 0 ? void 0 : res.records);
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
160
|
+
const userSchemaData = currentUserData.map((item) => {
|
|
161
|
+
const properties = getPropertiesList(item.userExtend, item.userSchema);
|
|
162
|
+
if (Array.isArray(properties) && properties.length) {
|
|
163
|
+
return Promise.all(properties).then((value) => {
|
|
164
|
+
return { ...item, userSchemaProps: value };
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
return item;
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
Promise.all(userSchemaData)
|
|
172
|
+
.then((data) => {
|
|
173
|
+
setUserList(data);
|
|
174
|
+
setShowTreeData([]);
|
|
175
|
+
if ((res === null || res === void 0 ? void 0 : res.total) <= data.length) {
|
|
176
|
+
setIsEnd(true);
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
setPageNo(pageNo + 1);
|
|
180
|
+
}
|
|
181
|
+
})
|
|
182
|
+
.catch(() => {
|
|
183
|
+
setUserList(currentUserData);
|
|
184
|
+
setShowTreeData([]);
|
|
185
|
+
if ((res === null || res === void 0 ? void 0 : res.total) <= currentUserData.length) {
|
|
186
|
+
setIsEnd(true);
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
setPageNo(pageNo + 1);
|
|
190
|
+
}
|
|
191
|
+
});
|
|
167
192
|
}
|
|
168
193
|
});
|
|
169
194
|
}
|
|
@@ -172,30 +197,19 @@ export const ModalSelectH5 = (props) => {
|
|
|
172
197
|
document.getElementById('wd-search-input').blur();
|
|
173
198
|
e.stopPropagation();
|
|
174
199
|
};
|
|
175
|
-
return (
|
|
200
|
+
return (_jsxs(Modal, { disableEscape: true, maskClosable: false, visible: open, onClose: () => {
|
|
176
201
|
onrest();
|
|
177
202
|
onClose();
|
|
178
|
-
}, destroyOnClose: true, className: `weda-ui weda-select-user-dept__dialog
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
listLoading ? (React.createElement(React.Fragment, null,
|
|
191
|
-
React.createElement("div", { className: "weda-select-user-dept__dialog-list" },
|
|
192
|
-
React.createElement(LoadingStatus, null)))) : (React.createElement(React.Fragment, null, showTreeData &&
|
|
193
|
-
showTreeData.length > 0 &&
|
|
194
|
-
!(keyWords && keyWords.length > 0) ? (React.createElement(OrgTreeH5, { treeData: showTreeData, loading: loading, loadItem: (item) => loadItem(item), treeDataError: treeDataError, onTouchMove: onTouchMove })) : (React.createElement(UserListH5, { userList: userList, selectedList: selectedUserList, setSelectedList: setSelectedUserList, loading: loading, multiple: multiple, isEnd: isEnd, isSearch: keyWords ? true : false, onScrollBottom: onScrollBottom, onTouchMove: onTouchMove })))))) : (React.createElement("div", { className: "weda-select-user-dept__dialog-list" },
|
|
195
|
-
React.createElement(LoadingStatus, null)))))),
|
|
196
|
-
React.createElement(Modal.Footer, null,
|
|
197
|
-
React.createElement(SelectedListH5, { selectedList: selectedUserList, setSelectedList: setSelectedUserList, confirmUserList: confirmUserList, onClose: () => {
|
|
198
|
-
onrest();
|
|
199
|
-
onClose();
|
|
200
|
-
}, onConfirm: onConfirm }))));
|
|
203
|
+
}, destroyOnClose: true, className: `weda-ui weda-select-user-dept__dialog`, children: [_jsxs(Modal.Body, { className: ((_a = selectedUserList[0]) === null || _a === void 0 ? void 0 : _a.userId) ? 'is-selected-value' : '', children: [_jsx("div", { className: "weda-select-user-dept__dialog-header", children: '选择成员' }), _jsx(ModalSearchH5, { value: keyWords, onChange: (key) => {
|
|
204
|
+
setKeyWords(key);
|
|
205
|
+
onSearch(key);
|
|
206
|
+
}, onCancel: cancleSearch, isSearch: isSearch, onFocus: (e) => {
|
|
207
|
+
handleFocus(true);
|
|
208
|
+
e.stopPropagation();
|
|
209
|
+
} }), (errorInfo === null || errorInfo === void 0 ? void 0 : errorInfo.errorStatus) ? (_jsx(ErrorStatus, { description: (errorInfo === null || errorInfo === void 0 ? void 0 : errorInfo.errorMessage) || null })) : (_jsx(_Fragment, { children: treeData && treeData.length > 0 && !pageLoading ? (_jsxs("div", { className: "weda-select-user-dept__dialog-content", children: [!(keyWords && keyWords.length > 0) && (_jsx(DepartBreadcrumb, { data: breadCrumbData, onBreadCrumbClick: (item) => onBreadCrumbClick(item) })), listLoading ? (_jsx(_Fragment, { children: _jsx("div", { className: "weda-select-user-dept__dialog-list", children: _jsx(LoadingStatus, {}) }) })) : (_jsx(_Fragment, { children: showTreeData &&
|
|
210
|
+
showTreeData.length > 0 &&
|
|
211
|
+
!(keyWords && keyWords.length > 0) ? (_jsx(OrgTreeH5, { treeData: showTreeData, loading: loading, loadItem: (item) => loadItem(item), treeDataError: treeDataError, onTouchMove: onTouchMove })) : (_jsx(UserListH5, { userList: userList, selectedList: selectedUserList, setSelectedList: setSelectedUserList, loading: loading, multiple: multiple, isEnd: isEnd, isSearch: keyWords ? true : false, onScrollBottom: onScrollBottom, onTouchMove: onTouchMove, secondDisplay: secondDisplay })) }))] })) : (_jsx("div", { className: "weda-select-user-dept__dialog-list", children: _jsx(LoadingStatus, {}) })) }))] }), _jsx(Modal.Footer, { children: _jsx(SelectedListH5, { selectedList: selectedUserList, setSelectedList: setSelectedUserList, confirmUserList: confirmUserList, secondDisplay: secondDisplay, onClose: () => {
|
|
212
|
+
onrest();
|
|
213
|
+
onClose();
|
|
214
|
+
}, onConfirm: onConfirm }) })] }));
|
|
201
215
|
};
|
|
@@ -1,19 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { LoadingStatus, ErrorStatus } from './error-tips';
|
|
3
3
|
import './index.css';
|
|
4
4
|
import { IconFont } from 'tdesign-icons-react';
|
|
5
5
|
import classNames from '../../../../utils/classnames';
|
|
6
6
|
export const OrgTreeH5 = (props) => {
|
|
7
|
-
const { treeData, treeDataError, loading, loadItem, onTouchMove } = props;
|
|
8
|
-
return (
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
? 'weda-select-user-dept__item-detail weda-select-user-dept__item-detail-is-user'
|
|
14
|
-
: 'weda-select-user-dept__item-detail weda-select-user-dept__item-detail-is-org' },
|
|
15
|
-
React.createElement("div", { className: "item-name" }, item === null || item === void 0 ? void 0 : item.content),
|
|
16
|
-
loading.id !== item.id && (React.createElement("div", { className: "lcap-icon lcap-icon-chevronright" })),
|
|
17
|
-
loading.id === item.id && (loading === null || loading === void 0 ? void 0 : loading.status) && (React.createElement("div", null,
|
|
18
|
-
React.createElement(IconFont, { name: "loading", className: `user_loading weda-grid-navigation__fonticon` }))))))))) : (React.createElement(LoadingStatus, null))))));
|
|
7
|
+
const { treeData, treeDataError, loading, loadItem, onTouchMove, isUser = true, } = props;
|
|
8
|
+
return (_jsx("div", { className: classNames('weda-select-user-dept__dialog-list'), onTouchMove: (e) => onTouchMove(e), children: treeDataError ? (_jsx(ErrorStatus, { description: treeDataError || null })) : (_jsx(_Fragment, { children: treeData && treeData.length > 0 && !treeDataError ? ((treeData || []).map((item, index) => (_jsx("div", { className: "weda-select-user-dept__list-item", onClick: () => {
|
|
9
|
+
!(item === null || item === void 0 ? void 0 : item.isUser) ? loadItem(item) : null;
|
|
10
|
+
}, children: _jsx("div", { className: "weda-select-user-dept__list-item-wrap", children: _jsxs("div", { className: (item === null || item === void 0 ? void 0 : item.id) === 'appendNode'
|
|
11
|
+
? 'weda-select-user-dept__item-detail weda-select-user-dept__item-detail-is-user'
|
|
12
|
+
: 'weda-select-user-dept__item-detail weda-select-user-dept__item-detail-is-org', children: [_jsx("div", { className: "item-name", children: item === null || item === void 0 ? void 0 : item.content }), (loading.id !== item.id || (!isUser && item.children)) && (_jsx("div", { className: "lcap-icon lcap-icon-chevronright" })), loading.id === item.id && (loading === null || loading === void 0 ? void 0 : loading.status) && (_jsx("div", { children: _jsx(IconFont, { name: "loading", className: `user_loading weda-grid-navigation__fonticon` }) }))] }) }) }, index + (item === null || item === void 0 ? void 0 : item.id))))) : (_jsx(LoadingStatus, {})) })) }));
|
|
19
13
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { Tree } from 'tea-component';
|
|
3
3
|
import { LoadingStatus, ErrorStatus } from './error-tips';
|
|
4
4
|
import './index.css';
|
|
@@ -7,27 +7,35 @@ export const OrgTree = (props) => {
|
|
|
7
7
|
//是否展示 Checkbox
|
|
8
8
|
selectable = false,
|
|
9
9
|
//是否多选
|
|
10
|
-
mutiple = false,
|
|
10
|
+
mutiple = false,
|
|
11
|
+
//默认展开的节点
|
|
12
|
+
defaultExpandedIds = [], isUser = true, } = props;
|
|
11
13
|
// 切换选中组织节点
|
|
12
|
-
const onChange = (ids, checked, nodeId) => {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
else {
|
|
19
|
-
//单选情况下
|
|
20
|
-
if (!mutiple) {
|
|
21
|
-
onActive([nodeId]);
|
|
14
|
+
const onChange = (ids, checked, nodeId, selectable = true) => {
|
|
15
|
+
if (isUser || selectable) {
|
|
16
|
+
//是否取消选中
|
|
17
|
+
if (selectedOrgId.indexOf(nodeId) !== -1) {
|
|
18
|
+
const actionIds = selectedOrgId.filter((e) => e !== nodeId);
|
|
19
|
+
onActive(actionIds);
|
|
22
20
|
}
|
|
23
21
|
else {
|
|
24
|
-
|
|
22
|
+
//单选情况下
|
|
23
|
+
if (!mutiple) {
|
|
24
|
+
onActive([nodeId]);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
onActive(selectedOrgId.concat([nodeId]));
|
|
28
|
+
}
|
|
25
29
|
}
|
|
26
30
|
}
|
|
31
|
+
//}
|
|
27
32
|
};
|
|
28
|
-
return (
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
return (_jsx(_Fragment, { children: treeDataError ? (_jsx(ErrorStatus, { description: treeDataError || null })) : (_jsx(_Fragment, { children: treeData && treeData.length > 0 && !treeDataError ? (_jsx(Tree, { className: "depart-tree", data: treeData, fullActivable: true, activable: true, selectable: selectable, selectedIds: selectedOrgId, activeIds: selectedOrgId, defaultExpandedIds: defaultExpandedIds, selectStrictly: true, onActive: (ids, context) => {
|
|
34
|
+
var _a;
|
|
35
|
+
onChange(ids, context === null || context === void 0 ? void 0 : context.active, context === null || context === void 0 ? void 0 : context.nodeId, (_a = context === null || context === void 0 ? void 0 : context.data) === null || _a === void 0 ? void 0 : _a.selectable);
|
|
36
|
+
}, onSelect: (ids, context) => {
|
|
37
|
+
onChange(ids, context === null || context === void 0 ? void 0 : context.selected, context === null || context === void 0 ? void 0 : context.nodeId, true);
|
|
38
|
+
},
|
|
39
|
+
// 开启虚拟滚动,优化大数据量性能!!
|
|
40
|
+
height: 320 })) : (_jsx(LoadingStatus, {})) })) }));
|
|
33
41
|
};
|