@cloudbase/weda-ui 3.4.1 → 3.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/configs/actions/showModal.json +21 -0
- package/dist/configs/actions/showToast.json +11 -2
- package/dist/configs/components/auth.json +2 -1
- package/dist/configs/components/button.js +240 -0
- package/dist/configs/components/calendar.json +4 -2
- package/dist/configs/components/carousel.json +3 -2
- package/dist/configs/components/chart/bar.json +5 -4
- package/dist/configs/components/chart/line.js +868 -0
- package/dist/configs/components/chart/pie.json +5 -4
- package/dist/configs/components/chart/statisticsCard.json +9 -8
- package/dist/configs/components/container.js +64 -0
- package/dist/configs/components/dataView.json +18 -3
- package/dist/configs/components/drawer.json +2 -1
- package/dist/configs/components/flow/flow.json +26 -0
- package/dist/configs/components/flow/flowbasic.json +122 -0
- package/dist/configs/components/flow/flowchart.json +22 -0
- package/dist/configs/components/flow/flowcontrol.json +66 -0
- package/dist/configs/components/flow/flowlayout.json +31 -0
- package/dist/configs/components/flow/flowprocess.json +122 -0
- package/dist/configs/components/form/checkbox.json +2 -1
- package/dist/configs/components/form/departTreeSelect.json +2 -1
- package/dist/configs/components/form/form.json +3 -2
- package/dist/configs/components/form/input.json +2 -1
- package/dist/configs/components/form/location.json +3 -2
- package/dist/configs/components/form/radio.json +2 -1
- package/dist/configs/components/form/richText.json +2 -1
- package/dist/configs/components/form/select.json +6 -1
- package/dist/configs/components/form/switch.json +2 -1
- package/dist/configs/components/form/textarea.json +2 -1
- package/dist/configs/components/form/tips.json +2 -1
- package/dist/configs/components/form/uploader.json +2 -1
- package/dist/configs/components/form/uploaderFile.json +2 -1
- package/dist/configs/components/form/userTreeSelect.json +2 -1
- package/dist/configs/components/formdetail.json +5 -3
- package/dist/configs/components/graphicCard.json +3 -2
- package/dist/configs/components/image.js +195 -0
- package/dist/configs/components/link.js +68 -0
- package/dist/configs/components/listView.json +72 -10
- package/dist/configs/components/lottery.json +7 -3
- package/dist/configs/components/modal.js +72 -0
- package/dist/configs/components/navLayout.json +4 -3
- package/dist/configs/components/navigationBar.json +4 -3
- package/dist/configs/components/pagelayout.json +31 -0
- package/dist/configs/components/richtextview.json +5 -4
- package/dist/configs/components/scrollVeiw.json +98 -75
- package/dist/configs/components/slot.json +2 -1
- package/dist/configs/components/swiper.json +4 -3
- package/dist/configs/components/table.json +734 -0
- package/dist/configs/components/tabs.js +120 -0
- package/dist/configs/components/text.js +109 -0
- package/dist/configs/components/wd-bubble.json +170 -0
- package/dist/configs/components/wedaVideo.json +8 -3
- package/dist/configs/components/wxOpenApi/phone.js +126 -0
- package/dist/configs/components/wxOpenApi/phoneCode.js +117 -0
- package/dist/configs/components/wxOpenApi/share.js +164 -0
- package/dist/configs/components/wxOpenApi/userInfo.js +168 -0
- package/dist/configs/index.js +30 -12
- package/dist/configs/type-utils/index.js +89 -0
- package/dist/web/components/button/index.js +1 -1
- package/dist/web/components/carousel/index.js +10 -5
- package/dist/web/components/flow/components/FlowModuleText/Content.js +6 -0
- package/dist/web/components/flow/components/FlowModuleText/Title.js +16 -0
- package/dist/web/components/flow/components/FlowModuleText/index.css +7 -0
- package/dist/web/components/flow/components/FlowModuleText/index.js +7 -0
- package/dist/web/components/flow/components/FlowModuleText/utils.js +34 -0
- package/dist/web/components/flow/components/FlowStatusText/index.js +37 -0
- package/dist/web/components/flow/components/FlowUserSelect/index.css +119 -0
- package/dist/web/components/flow/components/FlowUserSelect/index.js +115 -0
- package/dist/web/components/flow/components/HighLightComment/index.js +31 -0
- package/dist/web/components/flow/components/HighlightTextarea/index.css +45 -0
- package/dist/web/components/flow/components/HighlightTextarea/index.js +131 -0
- package/dist/web/components/flow/components/UserSelectModel/UserSelect.js +71 -0
- package/dist/web/components/flow/components/UserSelectModel/UserSelectMobile.css +11 -0
- package/dist/web/components/flow/components/UserSelectModel/UserSelectMobile.js +83 -0
- package/dist/web/components/flow/components/UserSelectModel/index.js +18 -0
- package/dist/web/components/flow/components/WedaUserTransfer/index.css +6 -0
- package/dist/web/components/flow/components/WedaUserTransfer/index.js +162 -0
- package/dist/web/components/flow/components/index.js +7 -0
- package/dist/web/components/flow/constants/index.js +65 -0
- package/dist/web/components/flow/frame/getCommonFlowData.js +78 -0
- package/dist/web/components/flow/frame/hooks/index.js +2 -0
- package/dist/web/components/flow/frame/hooks/useCommonFlowRequest.js +148 -0
- package/dist/web/components/flow/frame/hooks/useElementMediaQuery.js +15 -0
- package/dist/web/components/flow/frame/index.js +58 -0
- package/dist/web/components/flow/frame/types.js +265 -0
- package/dist/web/components/flow/frame/utils.js +81 -0
- package/dist/web/components/flow/modules/basic/Basic.css +19 -0
- package/dist/web/components/flow/modules/basic/Basic.js +48 -0
- package/dist/web/components/flow/modules/basic/BasicMobile.css +32 -0
- package/dist/web/components/flow/modules/basic/BasicMobile.js +41 -0
- package/dist/web/components/flow/modules/basic/index.js +13 -0
- package/dist/web/components/flow/modules/basic/utils.js +20 -0
- package/dist/web/components/flow/modules/chart/Chart.js +302 -0
- package/dist/web/components/flow/modules/chart/constants.js +28 -0
- package/dist/web/components/flow/modules/chart/index.css +90 -0
- package/dist/web/components/flow/modules/chart/index.js +5 -0
- package/dist/web/components/flow/modules/combination/index.js +21 -0
- package/dist/web/components/flow/modules/control/ApprovalDrawer.css +147 -0
- package/dist/web/components/flow/modules/control/ApprovalDrawer.js +178 -0
- package/dist/web/components/flow/modules/control/ApprovalPopup.css +118 -0
- package/dist/web/components/flow/modules/control/ApprovalPopup.js +237 -0
- package/dist/web/components/flow/modules/control/Control.css +32 -0
- package/dist/web/components/flow/modules/control/Control.js +90 -0
- package/dist/web/components/flow/modules/control/ControlMobile.css +72 -0
- package/dist/web/components/flow/modules/control/ControlMobile.js +133 -0
- package/dist/web/components/flow/modules/control/FlowTaskInfoModal.css +6 -0
- package/dist/web/components/flow/modules/control/FlowTaskInfoModal.js +31 -0
- package/dist/web/components/flow/modules/control/constants/index.js +35 -0
- package/dist/web/components/flow/modules/control/index.js +15 -0
- package/dist/web/components/flow/modules/control/provider/index.js +17 -0
- package/dist/web/components/flow/modules/control/provider/useControlModel.js +243 -0
- package/dist/web/components/flow/modules/control/provider/useMobileModel.js +86 -0
- package/dist/web/components/flow/modules/control/provider/useRevokeAndBackHook.js +82 -0
- package/dist/web/components/flow/modules/control/utils/ControlModelUtils.js +57 -0
- package/dist/web/components/flow/modules/control/utils/index.js +2 -0
- package/dist/web/components/flow/modules/layout/index.css +9 -0
- package/dist/web/components/flow/modules/layout/index.js +22 -0
- package/dist/web/components/flow/modules/process/Process.js +73 -0
- package/dist/web/components/flow/modules/process/ProcessMobile.js +81 -0
- package/dist/web/components/flow/modules/process/index.css +188 -0
- package/dist/web/components/flow/modules/process/index.js +14 -0
- package/dist/web/components/flow/modules/process/utils/index.js +32 -0
- package/dist/web/components/flow/services/flow.js +111 -0
- package/dist/web/components/flow/services/ideData/chart.js +88 -0
- package/dist/web/components/flow/services/ideData/index.js +5 -0
- package/dist/web/components/flow/services/ideData/instance.js +23 -0
- package/dist/web/components/flow/services/ideData/pageDetail.js +41 -0
- package/dist/web/components/flow/services/ideData/process.js +27 -0
- package/dist/web/components/flow/services/index.js +2 -0
- package/dist/web/components/flow/services/user.js +23 -0
- package/dist/web/components/flow/services/utils.js +28 -0
- package/dist/web/components/form/enumSelect/NormalSelect.js +1 -1
- package/dist/web/components/form/form/index.js +19 -7
- package/dist/web/components/form/input/index.css +6 -1
- package/dist/web/components/form/input/index.js +1 -1
- package/dist/web/components/form/select/allTimePicker/dataUtils.js +10 -0
- package/dist/web/components/form/select/allTimePicker/index.js +36 -27
- package/dist/web/components/form/select/dropdown-select/h5.js +130 -0
- package/dist/web/components/form/select/dropdown-select/index.css +159 -0
- package/dist/web/components/form/select/dropdown-select/index.js +173 -0
- package/dist/web/components/form/select/dropdown-select/pc.js +73 -0
- package/dist/web/components/form/select/dropdown-select/ui.js +42 -40
- package/dist/web/components/form/select/h5.js +16 -6
- package/dist/web/components/form/select/index.css +8 -1
- package/dist/web/components/form/select/index.js +5 -7
- package/dist/web/components/form/select/request.js +106 -0
- package/dist/web/components/form/select/status/allEmpty.js +5 -0
- package/dist/web/components/form/select/status/empty.js +18 -0
- package/dist/web/components/form/select/status/index.css +66 -0
- package/dist/web/components/form/select/status/index.js +7 -0
- package/dist/web/components/form/select/status/loading.js +20 -0
- package/dist/web/components/form/select/status/propsType.js +1 -0
- package/dist/web/components/form/select/status/retry.js +20 -0
- package/dist/web/components/form/switch/index.js +1 -1
- package/dist/web/components/form/textarea/index.js +1 -1
- package/dist/web/components/form/uploader/uploader.h5.js +4 -4
- package/dist/web/components/form/uploader/uploader.pc.js +1 -1
- package/dist/web/components/form/uploaderFile/uploadFile.h5.js +1 -1
- package/dist/web/components/form/uploaderFile/uploadFile.pc.js +1 -1
- package/dist/web/components/form/userOrgSelect/comTool.js +2 -4
- package/dist/web/components/form/userOrgSelect/common/fetch-data-service.js +194 -0
- package/dist/web/components/form/userOrgSelect/common/types.js +1 -0
- package/dist/web/components/form/userOrgSelect/common/utils.js +15 -0
- package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.h5.js +3 -4
- package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.pc.js +4 -5
- package/dist/web/components/form/userOrgSelect/getUserService.js +10 -5
- package/dist/web/components/form/userOrgSelect/hooks/use-depart-data.js +93 -0
- package/dist/web/components/form/userOrgSelect/index.js +1 -1
- package/dist/web/components/form/userOrgSelect/user-select-pc/error-tips.js +11 -0
- package/dist/web/components/form/userOrgSelect/user-select-pc/index.css +216 -0
- package/dist/web/components/form/userOrgSelect/user-select-pc/index.js +195 -0
- package/dist/web/components/form/userOrgSelect/user-select-pc/model-user-list.js +99 -0
- package/dist/web/components/form/userOrgSelect/user-select-pc/org-tree.js +15 -0
- package/dist/web/components/form/userOrgSelect/user-select-pc/search-user.js +80 -0
- package/dist/web/components/form/userOrgSelect/user-select-pc/selected-user-list.js +12 -0
- package/dist/web/components/form/userOrgSelect/user-select-pc/user-model.js +36 -0
- package/dist/web/components/form/userOrgSelect/userTreeSelect.h5.js +72 -50
- package/dist/web/components/image/index.js +1 -1
- package/dist/web/components/index.js +17 -0
- package/dist/web/components/listView/index.css +9 -1
- package/dist/web/components/listView/index.js +66 -50
- package/dist/web/components/modal/modal.h5.js +1 -1
- package/dist/web/components/modal/modal.pc.js +1 -1
- package/dist/web/components/navigationBar/index.css +2 -1
- package/dist/web/components/pageLayout/PageContent/index.css +28 -0
- package/dist/web/components/pageLayout/PageContent/index.js +81 -0
- package/dist/web/components/pageLayout/index.css +7 -0
- package/dist/web/components/pageLayout/index.js +21 -0
- package/dist/web/components/phoneCode/index.js +1 -0
- package/dist/web/components/richText/index.css +5 -1
- package/dist/web/components/richText/index.js +2 -2
- package/dist/web/components/richText/richtext.module.css +2 -2
- package/dist/web/components/table/BaseTable.js +1171 -0
- package/dist/web/components/table/FieldRender.js +622 -0
- package/dist/web/components/table/FilterFields.js +512 -0
- package/dist/web/components/table/Form/Enum.js +56 -0
- package/dist/web/components/table/Form/Location.css +14 -0
- package/dist/web/components/table/Form/Location.js +126 -0
- package/dist/web/components/table/ImportFileModal/csvTemplate.json +547 -0
- package/dist/web/components/table/ImportFileModal/index.css +263 -0
- package/dist/web/components/table/ImportFileModal/index.js +310 -0
- package/dist/web/components/table/ImportFileModal/submitFormatter.js +32 -0
- package/dist/web/components/table/ImportFileModal/validate.js +127 -0
- package/dist/web/components/table/QuoteModal.js +16 -0
- package/dist/web/components/table/SelectableBlock/index.css +2 -0
- package/dist/web/components/table/SelectableBlock/index.js +81 -0
- package/dist/web/components/table/UserDepartment/ViewCell.js +11 -0
- package/dist/web/components/table/UserDepartment/utils.js +80 -0
- package/dist/web/components/table/UserDepartment/viewCell.css +14 -0
- package/dist/web/components/table/index.css +569 -0
- package/dist/web/components/table/index.js +109 -0
- package/dist/web/components/tabs/tabs.h5.js +1 -1
- package/dist/web/components/tabs/tabs.pc.js +1 -1
- package/dist/web/components/text/index.css +2 -1
- package/dist/web/components/text/index.js +2 -2
- package/dist/web/components/uploaderFileView/index.js +6 -5
- package/dist/web/components/wd-bubble/index.css +21 -0
- package/dist/web/components/wd-bubble/index.js +17 -0
- package/dist/web/components/wedaVideo/index.js +1 -1
- package/dist/web/index.js +1 -0
- package/dist/web/utils/constant.js +94 -1
- package/dist/web/utils/datasource.js +357 -0
- package/dist/web/utils/date.js +137 -0
- package/dist/web/utils/file.js +168 -0
- package/dist/web/utils/getPageQuery.js +16 -0
- package/dist/web/utils/hooks/EnumHoc.js +61 -0
- package/dist/web/utils/hooks/context.js +24 -0
- package/dist/web/utils/hooks/globalConnect.js +26 -0
- package/dist/web/utils/{use-cloud-id-temp-url.js → hooks/use-cloud-id-temp-url.js} +2 -2
- package/dist/web/utils/hooks/useRequest.js +25 -0
- package/dist/web/utils/{useSetState.js → hooks/useSetState.js} +0 -0
- package/dist/web/utils/{useSyncValue.js → hooks/useSyncValue.js} +0 -0
- package/dist/web/utils/platform.js +112 -23
- package/dist/web/utils/tcb.js +30 -8
- package/dist/web/utils/tool.js +21 -0
- package/package.json +26 -4
- package/dist/configs/components/button.json +0 -239
- package/dist/configs/components/chart/line.json +0 -881
- package/dist/configs/components/container.json +0 -64
- package/dist/configs/components/image.json +0 -190
- package/dist/configs/components/link.json +0 -82
- package/dist/configs/components/modal.json +0 -72
- package/dist/configs/components/tabs.json +0 -122
- package/dist/configs/components/text.json +0 -112
- package/dist/configs/components/wxOpenApi/phone.json +0 -127
- package/dist/configs/components/wxOpenApi/phoneCode.json +0 -109
- package/dist/configs/components/wxOpenApi/share.json +0 -160
- package/dist/configs/components/wxOpenApi/userInfo.json +0 -168
- package/dist/configs/index.d.ts +0 -105
- package/dist/docs/common/format.d.ts +0 -13
- package/dist/docs/common/tableView.d.ts +0 -30
- package/dist/index.d.ts +0 -2
- package/dist/setupTests.d.ts +0 -2
- package/dist/web/actions/index.d.ts +0 -3
- package/dist/web/actions/showMessage/index.d.ts +0 -17
- package/dist/web/actions/showModal/index.d.ts +0 -4
- package/dist/web/actions/showToast/index.d.ts +0 -1
- package/dist/web/components/button/index.d.ts +0 -33
- package/dist/web/components/calendar/index.d.ts +0 -19
- package/dist/web/components/calendar/util.d.ts +0 -13
- package/dist/web/components/carousel/index.d.ts +0 -41
- package/dist/web/components/chart/bar/index.d.ts +0 -3
- package/dist/web/components/chart/bar/index.old.d.ts +0 -40
- package/dist/web/components/chart/common/Chart.d.ts +0 -9
- package/dist/web/components/chart/common/chart-custom-connector.d.ts +0 -6
- package/dist/web/components/chart/common/chart-error.d.ts +0 -2
- package/dist/web/components/chart/common/config/bar.d.ts +0 -48
- package/dist/web/components/chart/common/config/global.d.ts +0 -13
- package/dist/web/components/chart/common/config/line.d.ts +0 -46
- package/dist/web/components/chart/common/config/pie.d.ts +0 -29
- package/dist/web/components/chart/common/core/eChartBar.d.ts +0 -66
- package/dist/web/components/chart/common/core/eChartBase.d.ts +0 -127
- package/dist/web/components/chart/common/core/eChartLine.d.ts +0 -60
- package/dist/web/components/chart/common/core/eChartPie.d.ts +0 -48
- package/dist/web/components/chart/common/core/type.d.ts +0 -35
- package/dist/web/components/chart/common/data-transform.d.ts +0 -8
- package/dist/web/components/chart/common/echarts.d.ts +0 -5
- package/dist/web/components/chart/common/useChart.d.ts +0 -8
- package/dist/web/components/chart/line/index.d.ts +0 -3
- package/dist/web/components/chart/line/index.old.d.ts +0 -38
- package/dist/web/components/chart/pie/index.d.ts +0 -3
- package/dist/web/components/chart/pie/index.old.d.ts +0 -27
- package/dist/web/components/chart/statisticsCard/index.d.ts +0 -85
- package/dist/web/components/chart/statisticsCard/interface.d.ts +0 -13
- package/dist/web/components/common/error-boundary.d.ts +0 -5
- package/dist/web/components/common/portal.d.ts +0 -7
- package/dist/web/components/common/use-loop-render-detect.d.ts +0 -11
- package/dist/web/components/container/index.d.ts +0 -6
- package/dist/web/components/dataView/index.d.ts +0 -6
- package/dist/web/components/dataView/interface.d.ts +0 -5
- package/dist/web/components/drawer/index.d.ts +0 -13
- package/dist/web/components/form/checkbox/index.d.ts +0 -13
- package/dist/web/components/form/enumSelect/MultipleSelect.d.ts +0 -78
- package/dist/web/components/form/enumSelect/NormalSelect.d.ts +0 -83
- package/dist/web/components/form/enumSelect/SelectContainer.d.ts +0 -16
- package/dist/web/components/form/enumSelect/index.d.ts +0 -82
- package/dist/web/components/form/enumSelect/props/defaultProps.d.ts +0 -34
- package/dist/web/components/form/enumSelect/props/propsTypes.d.ts +0 -39
- package/dist/web/components/form/form/index.d.ts +0 -32
- package/dist/web/components/form/formcell/index.d.ts +0 -8
- package/dist/web/components/form/input/index.d.ts +0 -14
- package/dist/web/components/form/location/common/mapChoose.d.ts +0 -15
- package/dist/web/components/form/location/common/mapView.d.ts +0 -19
- package/dist/web/components/form/location/common/propsConfig.d.ts +0 -59
- package/dist/web/components/form/location/common/selectModal.d.ts +0 -21
- package/dist/web/components/form/location/common/useLocationInfo.d.ts +0 -36
- package/dist/web/components/form/location/components/LocationH5/location.h5.d.ts +0 -8
- package/dist/web/components/form/location/components/LocationPC/Header.d.ts +0 -12
- package/dist/web/components/form/location/components/LocationPC/location.PC.d.ts +0 -8
- package/dist/web/components/form/location/constants.d.ts +0 -2
- package/dist/web/components/form/location/index.d.ts +0 -1
- package/dist/web/components/form/radio/index.d.ts +0 -11
- package/dist/web/components/form/renderDecorator.d.ts +0 -6
- package/dist/web/components/form/select/allTimePicker/calendar.d.ts +0 -13
- package/dist/web/components/form/select/allTimePicker/dataUtils.d.ts +0 -24
- package/dist/web/components/form/select/allTimePicker/index.d.ts +0 -14
- package/dist/web/components/form/select/dropdown-select/ui.d.ts +0 -15
- package/dist/web/components/form/select/h5.d.ts +0 -16
- package/dist/web/components/form/select/index.d.ts +0 -66
- package/dist/web/components/form/select/region/index.d.ts +0 -6
- package/dist/web/components/form/select/time.d.ts +0 -9
- package/dist/web/components/form/select/use-options.d.ts +0 -26
- package/dist/web/components/form/select/use-options.js +0 -103
- package/dist/web/components/form/select/year.d.ts +0 -7
- package/dist/web/components/form/switch/index.d.ts +0 -6
- package/dist/web/components/form/textarea/index.d.ts +0 -12
- package/dist/web/components/form/tips/index.d.ts +0 -8
- package/dist/web/components/form/uploader/index.d.ts +0 -3
- package/dist/web/components/form/uploader/uploader.h5.d.ts +0 -20
- package/dist/web/components/form/uploader/uploader.pc.d.ts +0 -30
- package/dist/web/components/form/uploaderFile/index.d.ts +0 -4
- package/dist/web/components/form/uploaderFile/uploadFile.h5.d.ts +0 -23
- package/dist/web/components/form/uploaderFile/uploadFile.pc.d.ts +0 -35
- package/dist/web/components/form/userOrgSelect/comTool.d.ts +0 -8
- package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.h5.d.ts +0 -19
- package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.pc.d.ts +0 -4
- package/dist/web/components/form/userOrgSelect/departTreeSelect/index.d.ts +0 -2
- package/dist/web/components/form/userOrgSelect/getUserService.d.ts +0 -11
- package/dist/web/components/form/userOrgSelect/index.d.ts +0 -2
- package/dist/web/components/form/userOrgSelect/userTreeSelect.h5.d.ts +0 -27
- package/dist/web/components/form/userOrgSelect/userTreeSelect.pc.d.ts +0 -9
- package/dist/web/components/form/userOrgSelect/userTreeSelect.pc.js +0 -271
- package/dist/web/components/form/userOrgSelect/utils.d.ts +0 -37
- package/dist/web/components/formdetail/index.d.ts +0 -31
- package/dist/web/components/graphicCard/index.d.ts +0 -47
- package/dist/web/components/image/image.d.ts +0 -9
- package/dist/web/components/image/index.d.ts +0 -13
- package/dist/web/components/index.d.ts +0 -50
- package/dist/web/components/link/index.d.ts +0 -24
- package/dist/web/components/listView/index.d.ts +0 -7
- package/dist/web/components/listView/interface.d.ts +0 -127
- package/dist/web/components/lottery/index.d.ts +0 -22
- package/dist/web/components/lottery/lotteryUtil.d.ts +0 -23
- package/dist/web/components/modal/index.d.ts +0 -17
- package/dist/web/components/modal/modal.h5.d.ts +0 -4
- package/dist/web/components/modal/modal.pc.d.ts +0 -3
- package/dist/web/components/navLayout/index.d.ts +0 -65
- package/dist/web/components/navigationBar/common.d.ts +0 -15
- package/dist/web/components/navigationBar/h5Menu.d.ts +0 -14
- package/dist/web/components/navigationBar/horizontalMenu.d.ts +0 -12
- package/dist/web/components/navigationBar/index.d.ts +0 -13
- package/dist/web/components/navigationBar/verticalMenu.d.ts +0 -13
- package/dist/web/components/phone/index.d.ts +0 -18
- package/dist/web/components/phoneCode/index.d.ts +0 -18
- package/dist/web/components/picker/datePicker.d.ts +0 -10
- package/dist/web/components/picker/picker.d.ts +0 -6
- package/dist/web/components/picker/timePicker.d.ts +0 -7
- package/dist/web/components/richText/const.d.ts +0 -1
- package/dist/web/components/richText/index.d.ts +0 -50
- package/dist/web/components/richTextView/index.d.ts +0 -7
- package/dist/web/components/scrollView/index.d.ts +0 -25
- package/dist/web/components/share/index.d.ts +0 -34
- package/dist/web/components/slot/index.d.ts +0 -6
- package/dist/web/components/swiper/index.d.ts +0 -24
- package/dist/web/components/tabs/index.d.ts +0 -13
- package/dist/web/components/tabs/tabs.h5.d.ts +0 -4
- package/dist/web/components/tabs/tabs.pc.d.ts +0 -3
- package/dist/web/components/text/index.d.ts +0 -15
- package/dist/web/components/uploaderFileView/index.d.ts +0 -10
- package/dist/web/components/uploaderView/index.d.ts +0 -17
- package/dist/web/components/userInfo/index.d.ts +0 -26
- package/dist/web/components/wedaVideo/index.d.ts +0 -17
- package/dist/web/index.d.ts +0 -8
- package/dist/web/utils/classnames.d.ts +0 -2
- package/dist/web/utils/console.d.ts +0 -3
- package/dist/web/utils/constant.d.ts +0 -23
- package/dist/web/utils/debounce.d.ts +0 -2
- package/dist/web/utils/getLocalCounter.d.ts +0 -1
- package/dist/web/utils/isObjectEqual.d.ts +0 -2
- package/dist/web/utils/loading-fallback.d.ts +0 -2
- package/dist/web/utils/lodash.d.ts +0 -1
- package/dist/web/utils/platform.d.ts +0 -28
- package/dist/web/utils/tcb.d.ts +0 -33
- package/dist/web/utils/tmap.d.ts +0 -3
- package/dist/web/utils/use-cloud-id-temp-url.d.ts +0 -1
- package/dist/web/utils/useSetState.d.ts +0 -1
- package/dist/web/utils/useSyncValue.d.ts +0 -4
- package/dist/web/utils/weui.d.ts +0 -1
|
@@ -0,0 +1,512 @@
|
|
|
1
|
+
import React, { useState, useEffect, useMemo } from 'react';
|
|
2
|
+
import { DatePicker, TimePicker, Input, Form, Tooltip, Select, SelectMultiple, InputAdornment, Button, Row, Col, useClassNames, LoadingTip, } from 'tea-component';
|
|
3
|
+
import { formatDateToNumber, dateCalculation } from '../../utils/date';
|
|
4
|
+
import isObjectEqual from '../../utils/isObjectEqual';
|
|
5
|
+
import moment from 'moment';
|
|
6
|
+
import { useEnumContext } from '../../utils/hooks/context';
|
|
7
|
+
const { RangePicker } = DatePicker;
|
|
8
|
+
// 时间日期
|
|
9
|
+
const DatePickerField = ({ showTime = false, isRange, updateValue, value }) => isRange ? (React.createElement(Tooltip, { title: value && `${value[0]}~${value[1]}` },
|
|
10
|
+
React.createElement(RangePicker, { clearable: true, value: value ? [moment(value[0]), moment(value[1])] : null, showTime: showTime, onChange: (value) => {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
updateValue({
|
|
13
|
+
value: value[0]
|
|
14
|
+
? [
|
|
15
|
+
(_a = value[0]) === null || _a === void 0 ? void 0 : _a.format('YYYY-MM-DD HH:mm:ss'),
|
|
16
|
+
(_b = value[1]) === null || _b === void 0 ? void 0 : _b.format('YYYY-MM-DD HH:mm:ss'),
|
|
17
|
+
]
|
|
18
|
+
: null,
|
|
19
|
+
});
|
|
20
|
+
} }))) : (React.createElement(Tooltip, { title: value },
|
|
21
|
+
React.createElement(DatePicker, { clearable: true, value: value ? moment(value) : null, showTime: showTime, onChange: (value) => updateValue({ value: value === null || value === void 0 ? void 0 : value.format('YYYY-MM-DD HH:mm:ss') }) })));
|
|
22
|
+
// 时间
|
|
23
|
+
const TimePickerField = ({ isRange, updateValue, value }) => isRange ? (React.createElement(TimePicker.RangePicker, { clearable: true, value: value
|
|
24
|
+
? [moment(value[0], 'HH:mm:ss'), moment(value[1], 'HH:mm:ss')]
|
|
25
|
+
: [null, null], onChange: (value) => {
|
|
26
|
+
var _a, _b;
|
|
27
|
+
updateValue({
|
|
28
|
+
value: value[0]
|
|
29
|
+
? [(_a = value[0]) === null || _a === void 0 ? void 0 : _a.format('HH:mm:ss'), (_b = value[1]) === null || _b === void 0 ? void 0 : _b.format('HH:mm:ss')]
|
|
30
|
+
: null,
|
|
31
|
+
});
|
|
32
|
+
} })) : (React.createElement(TimePicker, { clearable: true, value: value ? moment(value, 'HH:mm:ss') : null, onChange: (value) => updateValue({ value: value === null || value === void 0 ? void 0 : value.format('HH:mm:ss') }) }));
|
|
33
|
+
// 文本输入框
|
|
34
|
+
const InputField = ({ value, updateValue }) => (React.createElement(Input, { value: value, onChange: (value) => {
|
|
35
|
+
updateValue({ value });
|
|
36
|
+
} }));
|
|
37
|
+
// 数字范围输入
|
|
38
|
+
const MultipleNumber = ({ value, updateValue }) => {
|
|
39
|
+
const val1 = value ? value[0] : '';
|
|
40
|
+
const val2 = value ? value[1] : '';
|
|
41
|
+
return (React.createElement("div", { className: "_wedamodal-fn-input-range" },
|
|
42
|
+
React.createElement(Input, { size: "s", placeholder: "\u8BF7\u8F93\u5165", value: val1, onChange: (value) => {
|
|
43
|
+
if (isNaN(Number(value))) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
updateValue({ value: [value, val2] });
|
|
47
|
+
} }),
|
|
48
|
+
React.createElement("span", { className: "_wedamodal-fn-input-range__split" }, "~"),
|
|
49
|
+
React.createElement(Input, { value: val2, onChange: (value) => {
|
|
50
|
+
if (isNaN(Number(value))) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
updateValue({ value: [val1, value] });
|
|
54
|
+
}, size: "s", placeholder: "\u8BF7\u8F93\u5165" })));
|
|
55
|
+
};
|
|
56
|
+
// 数字输入框
|
|
57
|
+
const NumberField = ({ value, updateValue, isRange }) => isRange ? (React.createElement(MultipleNumber, { value: value, updateValue: updateValue })) : (React.createElement(Input, { value: value, onChange: (value) => {
|
|
58
|
+
if (isNaN(Number(value))) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
updateValue({ value });
|
|
62
|
+
} }));
|
|
63
|
+
// 多选下拉框
|
|
64
|
+
const SelectMultipleField = (props) => {
|
|
65
|
+
const { optionName, value, updateValue, options } = props;
|
|
66
|
+
const { enumOptions } = useEnumContext();
|
|
67
|
+
let option = (enumOptions === null || enumOptions === void 0 ? void 0 : enumOptions[optionName]) || [];
|
|
68
|
+
if (!optionName && options) {
|
|
69
|
+
option = options;
|
|
70
|
+
}
|
|
71
|
+
return (React.createElement(SelectMultiple, { searchable: true, staging: false, matchButtonWidth: true, value: value, appearance: "button", options: option, onChange: (value) => {
|
|
72
|
+
updateValue({ value });
|
|
73
|
+
} }));
|
|
74
|
+
};
|
|
75
|
+
// 下拉单选
|
|
76
|
+
const SelectField = ({ optionName, value, updateValue }) => {
|
|
77
|
+
const { enumOptions } = useEnumContext();
|
|
78
|
+
const option = (enumOptions === null || enumOptions === void 0 ? void 0 : enumOptions[optionName]) || [];
|
|
79
|
+
return (React.createElement(Select, { clearable: true, searchable: true,
|
|
80
|
+
// @ts-ignore 不存在的属性
|
|
81
|
+
staging: false, matchButtonWidth: true, value: value, appearance: "button", options: option, onChange: (value) => {
|
|
82
|
+
updateValue({ value });
|
|
83
|
+
}, button: () => {
|
|
84
|
+
var _a, _b;
|
|
85
|
+
return value ? (React.createElement(Tooltip, { title: (_a = option === null || option === void 0 ? void 0 : option.find((i) => i.value === value)) === null || _a === void 0 ? void 0 : _a.text },
|
|
86
|
+
React.createElement("span", null, ((_b = option === null || option === void 0 ? void 0 : option.find((i) => i.value === value)) === null || _b === void 0 ? void 0 : _b.text) || value))) : (React.createElement("span", { className: "wedatea2td-text-weak" }, "\u8BF7\u9009\u62E9"));
|
|
87
|
+
} }));
|
|
88
|
+
};
|
|
89
|
+
// 搜索下拉
|
|
90
|
+
const SelectSearch = ({ getChooseList, value, updateValue, format, childDbName, }) => {
|
|
91
|
+
// 每次请求数据个数
|
|
92
|
+
const size = 200;
|
|
93
|
+
const [loading, setLoading] = useState(true);
|
|
94
|
+
const [searchLoading, setSearchLoading] = useState(false);
|
|
95
|
+
const [options, setOptions] = useState([]);
|
|
96
|
+
const [page, setPage] = useState(1);
|
|
97
|
+
const [searchOptions, setSearchOptions] = useState([]);
|
|
98
|
+
const [searchPage, setSearchPage] = useState(1);
|
|
99
|
+
const [searchValue, setSearchValue] = useState('');
|
|
100
|
+
const isSearch = useMemo(() => searchValue !== '', [searchValue]);
|
|
101
|
+
// 初始化请求
|
|
102
|
+
const getList = () => getChooseList({ pageNo: page, pageSize: size, format, childDbName });
|
|
103
|
+
// 搜索请求
|
|
104
|
+
const getWhereList = (value) => getChooseList({
|
|
105
|
+
pageNo: searchPage,
|
|
106
|
+
pageSize: size,
|
|
107
|
+
where: [{ key: '', val: `${value}`, rel: 'search' }],
|
|
108
|
+
format,
|
|
109
|
+
childDbName,
|
|
110
|
+
});
|
|
111
|
+
useEffect(() => {
|
|
112
|
+
getList().then((result) => {
|
|
113
|
+
const { data } = result;
|
|
114
|
+
if (!data || data.length === 0) {
|
|
115
|
+
// 为空
|
|
116
|
+
setOptions([]);
|
|
117
|
+
setLoading(false);
|
|
118
|
+
}
|
|
119
|
+
else if (result.size < size) {
|
|
120
|
+
// 无翻页
|
|
121
|
+
setOptions(data);
|
|
122
|
+
setLoading(false);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
// 有翻页
|
|
126
|
+
setOptions(data);
|
|
127
|
+
setLoading(true);
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
}, []);
|
|
131
|
+
useEffect(() => {
|
|
132
|
+
if (page > 1 && loading) {
|
|
133
|
+
getList().then((result) => {
|
|
134
|
+
const { data } = result;
|
|
135
|
+
if (!data || data.length === 0) {
|
|
136
|
+
setLoading(false);
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
setOptions((options) => [...options, ...data]);
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
}, [page]);
|
|
144
|
+
useEffect(() => {
|
|
145
|
+
if (searchPage > 1 && searchLoading) {
|
|
146
|
+
getWhereList(searchValue).then((result) => {
|
|
147
|
+
const { data } = result;
|
|
148
|
+
if (!data || data.length === 0) {
|
|
149
|
+
setSearchLoading(false);
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
setSearchOptions((options) => [...options, ...data]);
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
}, [searchPage]);
|
|
157
|
+
const searchState = (value) => {
|
|
158
|
+
setSearchPage(1);
|
|
159
|
+
setSearchValue(value);
|
|
160
|
+
setSearchLoading(true);
|
|
161
|
+
if (value.length === 0) {
|
|
162
|
+
// 为空
|
|
163
|
+
setSearchOptions([]);
|
|
164
|
+
setSearchLoading(false);
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
// 不为空
|
|
168
|
+
getWhereList(value).then((result) => {
|
|
169
|
+
const { data } = result;
|
|
170
|
+
if (!data || data.length === 0) {
|
|
171
|
+
// 没搜到
|
|
172
|
+
setSearchOptions([]);
|
|
173
|
+
setSearchLoading(false);
|
|
174
|
+
}
|
|
175
|
+
else if (result.size < size) {
|
|
176
|
+
// 无翻页
|
|
177
|
+
setSearchOptions(data);
|
|
178
|
+
setSearchLoading(false);
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
// 有翻页
|
|
182
|
+
setSearchOptions(data);
|
|
183
|
+
setSearchLoading(true);
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
return (React.createElement(Select, { clearable: true, searchable: true, matchButtonWidth: true, appearance: "button", autoClearSearchValue: true, options: (isSearch ? searchOptions : options) || [], value: value, bottomTips: (isSearch ? searchLoading : loading) ? React.createElement(LoadingTip, null) : '', onChange: (value) => {
|
|
189
|
+
updateValue({ value });
|
|
190
|
+
}, onOpen: () => {
|
|
191
|
+
setSearchLoading(false);
|
|
192
|
+
setSearchOptions([]);
|
|
193
|
+
setSearchPage(1);
|
|
194
|
+
setSearchValue('');
|
|
195
|
+
}, onScrollBottom: () => {
|
|
196
|
+
if (isSearch) {
|
|
197
|
+
setSearchPage((page) => page + 1);
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
setPage((page) => page + 1);
|
|
201
|
+
}
|
|
202
|
+
}, onSearch: (value, context) => {
|
|
203
|
+
const tValue = value.trim();
|
|
204
|
+
if (context.event.type === 'click') {
|
|
205
|
+
if (tValue !== '') {
|
|
206
|
+
// 手动点击搜索
|
|
207
|
+
searchState(tValue);
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
// 清空
|
|
211
|
+
setSearchValue('');
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
else if (tValue !== '') {
|
|
215
|
+
// 动态输入搜索
|
|
216
|
+
searchState(tValue);
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
// 逐个删除
|
|
220
|
+
setSearchValue('');
|
|
221
|
+
}
|
|
222
|
+
} }));
|
|
223
|
+
};
|
|
224
|
+
// 计算方式
|
|
225
|
+
const fieldCalculations = {
|
|
226
|
+
number: [
|
|
227
|
+
{ text: '范围', value: 'scope' },
|
|
228
|
+
{ text: '等于', value: 'eq' },
|
|
229
|
+
{ text: '不等于', value: 'neq' },
|
|
230
|
+
{ text: '大于', value: 'gt' },
|
|
231
|
+
{ text: '小于', value: 'lt' },
|
|
232
|
+
{ text: '大于等于', value: 'gte' },
|
|
233
|
+
{ text: '小于等于', value: 'lte' },
|
|
234
|
+
],
|
|
235
|
+
string: [
|
|
236
|
+
{ text: '包含', value: 'search' },
|
|
237
|
+
{ text: '不包含', value: 'exclude' },
|
|
238
|
+
{ text: '等于', value: 'eq' },
|
|
239
|
+
{ text: '不等于', value: 'neq' },
|
|
240
|
+
{ text: '开头是', value: 'startWith' },
|
|
241
|
+
],
|
|
242
|
+
radio: [
|
|
243
|
+
{ text: '等于', value: 'eq' },
|
|
244
|
+
{ text: '不等于', value: 'neq' },
|
|
245
|
+
],
|
|
246
|
+
checkbox: [
|
|
247
|
+
{ text: '包含其一', value: 'in' },
|
|
248
|
+
{ text: '不包含', value: 'nin' },
|
|
249
|
+
],
|
|
250
|
+
};
|
|
251
|
+
// 计算方式下拉选框
|
|
252
|
+
const CalculationSelect = ({ arg, cb, isDate = false }) => {
|
|
253
|
+
const [value, setValue] = useState(arg.value);
|
|
254
|
+
const calculation = (value) => {
|
|
255
|
+
setValue(value);
|
|
256
|
+
const fieldCalculation = { ...arg };
|
|
257
|
+
fieldCalculation.value = value;
|
|
258
|
+
const fieldValue = {
|
|
259
|
+
fieldCalculation,
|
|
260
|
+
isRange: value === 'scope',
|
|
261
|
+
};
|
|
262
|
+
if (value === 'scope' || arg.value === 'scope') {
|
|
263
|
+
fieldValue.value = null;
|
|
264
|
+
}
|
|
265
|
+
cb(fieldValue);
|
|
266
|
+
};
|
|
267
|
+
useEffect(() => {
|
|
268
|
+
setValue(arg.value);
|
|
269
|
+
}, [arg]);
|
|
270
|
+
const options = isDate
|
|
271
|
+
? fieldCalculations[arg.type].filter((i) => i.value !== 'neq')
|
|
272
|
+
: fieldCalculations[arg.type];
|
|
273
|
+
return (React.createElement(Select, { appearance: "button", options: options, value: value, onChange: (value) => calculation(value) }));
|
|
274
|
+
};
|
|
275
|
+
// 筛选项
|
|
276
|
+
const FilterFieldItem = ({ updateFilterData, getChooseList, ...filterFieldItemConfig }) => {
|
|
277
|
+
const { filterType, isRange, label, options, fieldCalculation, value } = filterFieldItemConfig;
|
|
278
|
+
const updateFilterConfig = (value) => {
|
|
279
|
+
const lastFilterConfig = { ...filterFieldItemConfig, ...value };
|
|
280
|
+
updateFilterData(lastFilterConfig);
|
|
281
|
+
};
|
|
282
|
+
const renderFieldItem = () => {
|
|
283
|
+
switch (filterType) {
|
|
284
|
+
case 'datetime':
|
|
285
|
+
return (React.createElement(InputAdornment, { before: React.createElement(CalculationSelect, { arg: fieldCalculation, cb: updateFilterConfig, isDate: true }) },
|
|
286
|
+
React.createElement(DatePickerField, { showTime: true, isRange: isRange, updateValue: updateFilterConfig, value: value })));
|
|
287
|
+
case 'date':
|
|
288
|
+
return (React.createElement(InputAdornment, { before: React.createElement(CalculationSelect, { arg: fieldCalculation, cb: updateFilterConfig, isDate: true }) },
|
|
289
|
+
React.createElement(DatePickerField, { value: value, isRange: isRange, updateValue: updateFilterConfig })));
|
|
290
|
+
case 'time':
|
|
291
|
+
return (React.createElement(InputAdornment, { before: React.createElement(CalculationSelect, { arg: fieldCalculation, cb: updateFilterConfig, isDate: true }) },
|
|
292
|
+
React.createElement(TimePickerField, { value: value, isRange: isRange, updateValue: updateFilterConfig })));
|
|
293
|
+
case 'string':
|
|
294
|
+
return (React.createElement(InputAdornment, { before: React.createElement(CalculationSelect, { arg: fieldCalculation, cb: updateFilterConfig }) },
|
|
295
|
+
React.createElement(InputField, { updateValue: updateFilterConfig, value: value })));
|
|
296
|
+
case 'number':
|
|
297
|
+
return (React.createElement(InputAdornment, { before: React.createElement(CalculationSelect, { arg: fieldCalculation, cb: updateFilterConfig }) },
|
|
298
|
+
React.createElement(NumberField, { updateValue: updateFilterConfig, value: value, isRange: isRange })));
|
|
299
|
+
case 'boolean':
|
|
300
|
+
return (React.createElement(InputAdornment, { before: React.createElement(CalculationSelect, { arg: fieldCalculation, cb: updateFilterConfig }) },
|
|
301
|
+
React.createElement(SelectMultipleField, { options: options || [], updateValue: updateFilterConfig, value: value })));
|
|
302
|
+
case 'x-enumObj':
|
|
303
|
+
return (React.createElement(SelectMultipleField
|
|
304
|
+
// @ts-ignore 不存在的属性
|
|
305
|
+
, {
|
|
306
|
+
// @ts-ignore 不存在的属性
|
|
307
|
+
options: options || [], updateValue: updateFilterConfig, value: value }));
|
|
308
|
+
case 'x-enum':
|
|
309
|
+
if (filterFieldItemConfig.xMultiSelect) {
|
|
310
|
+
return (React.createElement(InputAdornment, { before: React.createElement(CalculationSelect, { arg: fieldCalculation, cb: updateFilterConfig }) },
|
|
311
|
+
React.createElement(SelectMultipleField, { optionName: filterFieldItemConfig.xOptionName, updateValue: updateFilterConfig, value: value })));
|
|
312
|
+
}
|
|
313
|
+
return (React.createElement(InputAdornment, { before: React.createElement(CalculationSelect, { arg: fieldCalculation, cb: updateFilterConfig }) },
|
|
314
|
+
React.createElement(SelectField, { optionName: filterFieldItemConfig.xOptionName, updateValue: updateFilterConfig, value: value })));
|
|
315
|
+
case 'father-son':
|
|
316
|
+
case 'related':
|
|
317
|
+
return (React.createElement(InputAdornment, { before: React.createElement(CalculationSelect, { arg: fieldCalculation, cb: updateFilterConfig }) },
|
|
318
|
+
React.createElement(SelectSearch, { getChooseList: getChooseList, format: filterType, childDbName: filterFieldItemConfig.childDbName, value: value, updateValue: updateFilterConfig })));
|
|
319
|
+
default:
|
|
320
|
+
return React.createElement(Input, { disabled: true, defaultValue: '该类型暂不支持表单筛选器' });
|
|
321
|
+
}
|
|
322
|
+
};
|
|
323
|
+
return (React.createElement(Form.Item, { label: React.createElement(Tooltip, { title: label }, label) }, renderFieldItem()));
|
|
324
|
+
};
|
|
325
|
+
/**
|
|
326
|
+
* 生成筛选配置
|
|
327
|
+
* 1、过滤不支持搜索的字段
|
|
328
|
+
* 2、生成配置
|
|
329
|
+
* 3、枚举/数字需要特殊处理
|
|
330
|
+
* { filterType: 'datetime' | 'date' | 'time' | 'string' |'number' | 'x-enumObj' , isRange: boolean }
|
|
331
|
+
*/
|
|
332
|
+
const filterFieldsGenetate = (fields) => {
|
|
333
|
+
var _a;
|
|
334
|
+
return (_a = fields === null || fields === void 0 ? void 0 : fields.filter((field) => {
|
|
335
|
+
// 不支持搜索的类型
|
|
336
|
+
if (!field)
|
|
337
|
+
return false;
|
|
338
|
+
if (((field === null || field === void 0 ? void 0 : field.type) === 'array' && (field === null || field === void 0 ? void 0 : field.format) === '') ||
|
|
339
|
+
((field === null || field === void 0 ? void 0 : field.format) === 'father-son' && (field === null || field === void 0 ? void 0 : field.default) === '') ||
|
|
340
|
+
(field === null || field === void 0 ? void 0 : field.type) === 'object' ||
|
|
341
|
+
(field === null || field === void 0 ? void 0 : field.format) === 'x-file' ||
|
|
342
|
+
(field === null || field === void 0 ? void 0 : field.format) === 'x-image' ||
|
|
343
|
+
(field === null || field === void 0 ? void 0 : field.format) === 'x-rtf')
|
|
344
|
+
return false;
|
|
345
|
+
return true;
|
|
346
|
+
})) === null || _a === void 0 ? void 0 : _a.map((i) => {
|
|
347
|
+
var _a, _b;
|
|
348
|
+
// 生成计算方式
|
|
349
|
+
const fieldCalculation = ['string', 'number'].includes(i.type)
|
|
350
|
+
? { type: i.type, value: fieldCalculations[i.type][0].value }
|
|
351
|
+
: {};
|
|
352
|
+
const filterFieldItemConfig = {
|
|
353
|
+
id: i['x-id'],
|
|
354
|
+
name: i.name,
|
|
355
|
+
value: '',
|
|
356
|
+
isRange: true,
|
|
357
|
+
filterType: i.type,
|
|
358
|
+
label: i.title,
|
|
359
|
+
fieldCalculation,
|
|
360
|
+
options: [],
|
|
361
|
+
};
|
|
362
|
+
if (i.type === 'number' &&
|
|
363
|
+
['time', 'date', 'datetime'].includes(i.format)) {
|
|
364
|
+
filterFieldItemConfig.filterType = i.format;
|
|
365
|
+
}
|
|
366
|
+
if (i.type === 'boolean') {
|
|
367
|
+
filterFieldItemConfig.filterType = i.type;
|
|
368
|
+
filterFieldItemConfig.options = [
|
|
369
|
+
{ value: true, text: '是' },
|
|
370
|
+
{ value: false, text: '否' },
|
|
371
|
+
{ value: null, text: '空' },
|
|
372
|
+
];
|
|
373
|
+
filterFieldItemConfig.fieldCalculation.type = 'checkbox';
|
|
374
|
+
filterFieldItemConfig.fieldCalculation.value = 'in';
|
|
375
|
+
}
|
|
376
|
+
if ((_a = i['x-enumObj']) === null || _a === void 0 ? void 0 : _a.length) {
|
|
377
|
+
filterFieldItemConfig.filterType = 'x-enumObj';
|
|
378
|
+
filterFieldItemConfig.options = i['x-enumObj'].map((enumItem) => ({
|
|
379
|
+
value: enumItem === null || enumItem === void 0 ? void 0 : enumItem.value,
|
|
380
|
+
text: enumItem === null || enumItem === void 0 ? void 0 : enumItem.label,
|
|
381
|
+
}));
|
|
382
|
+
filterFieldItemConfig.options.push({ value: null, text: '空' });
|
|
383
|
+
}
|
|
384
|
+
if (i.format === 'x-enum') {
|
|
385
|
+
filterFieldItemConfig.fieldCalculation.value = 'eq';
|
|
386
|
+
filterFieldItemConfig.filterType = i.format;
|
|
387
|
+
filterFieldItemConfig.xMultiSelect = i['x-multi-select'];
|
|
388
|
+
filterFieldItemConfig.xOptionName = i['x-option-name'];
|
|
389
|
+
filterFieldItemConfig.fieldCalculation.type =
|
|
390
|
+
filterFieldItemConfig.xMultiSelect ? 'checkbox' : 'radio';
|
|
391
|
+
filterFieldItemConfig.fieldCalculation.value =
|
|
392
|
+
filterFieldItemConfig.xMultiSelect ? 'in' : 'eq';
|
|
393
|
+
}
|
|
394
|
+
if (i.format === 'father-son' || i.format === 'related') {
|
|
395
|
+
filterFieldItemConfig.filterType = i.format;
|
|
396
|
+
filterFieldItemConfig.childDbName = (_b = i['x-parent']) === null || _b === void 0 ? void 0 : _b.parentDataSourceName;
|
|
397
|
+
filterFieldItemConfig.fieldCalculation.type = 'radio';
|
|
398
|
+
}
|
|
399
|
+
return filterFieldItemConfig;
|
|
400
|
+
});
|
|
401
|
+
};
|
|
402
|
+
// 筛选表单
|
|
403
|
+
export const FilterFieldsPanel = ({ data, getChooseList, fetchData, isH5 = false, }) => {
|
|
404
|
+
const { Margin } = useClassNames();
|
|
405
|
+
const [initFilterData, setInitFilterData] = useState([]);
|
|
406
|
+
const [filterData, setFilterData] = useState([]);
|
|
407
|
+
const updateFilterData = (filterFieldItemConfig) => {
|
|
408
|
+
const newData = filterData.map((i) => i.id === filterFieldItemConfig.id ? filterFieldItemConfig : i);
|
|
409
|
+
setFilterData(newData);
|
|
410
|
+
};
|
|
411
|
+
useEffect(() => {
|
|
412
|
+
const result = filterFieldsGenetate(data);
|
|
413
|
+
// 筛选字段改变,重新初始化筛选面板
|
|
414
|
+
if (!isObjectEqual(result, initFilterData)) {
|
|
415
|
+
const initFilterData = JSON.parse(JSON.stringify(result));
|
|
416
|
+
setInitFilterData(initFilterData);
|
|
417
|
+
setFilterData(initFilterData);
|
|
418
|
+
}
|
|
419
|
+
}, [data]);
|
|
420
|
+
const searchHandle = () => {
|
|
421
|
+
const searchValues = [];
|
|
422
|
+
const filterValues = filterData.filter((i) => {
|
|
423
|
+
if (Array.isArray(i.value) &&
|
|
424
|
+
i.filterType === 'number' &&
|
|
425
|
+
i.fieldCalculation.value === 'scope') {
|
|
426
|
+
return i.value[0] && i.value[1];
|
|
427
|
+
}
|
|
428
|
+
return !!(i.value && i.value.length);
|
|
429
|
+
});
|
|
430
|
+
filterValues.forEach((i) => {
|
|
431
|
+
switch (i.fieldCalculation.value) {
|
|
432
|
+
case 'scope':
|
|
433
|
+
if (i.filterType === 'number') {
|
|
434
|
+
searchValues.push({
|
|
435
|
+
key: i.name,
|
|
436
|
+
val: Number(i.value[0]),
|
|
437
|
+
rel: 'gte',
|
|
438
|
+
});
|
|
439
|
+
searchValues.push({
|
|
440
|
+
key: i.name,
|
|
441
|
+
val: Number(i.value[1]),
|
|
442
|
+
rel: 'lte',
|
|
443
|
+
});
|
|
444
|
+
}
|
|
445
|
+
else {
|
|
446
|
+
searchValues.push({
|
|
447
|
+
key: i.name,
|
|
448
|
+
val: formatDateToNumber(i.filterType, i.value[0]),
|
|
449
|
+
rel: 'gte',
|
|
450
|
+
});
|
|
451
|
+
searchValues.push({
|
|
452
|
+
key: i.name,
|
|
453
|
+
// @ts-ignore 兼容字符串和数字
|
|
454
|
+
val: formatDateToNumber(i.filterType, i.value[1]) + 999,
|
|
455
|
+
rel: 'lte',
|
|
456
|
+
});
|
|
457
|
+
}
|
|
458
|
+
break;
|
|
459
|
+
case 'exclude':
|
|
460
|
+
searchValues.push({
|
|
461
|
+
key: i.name,
|
|
462
|
+
val: `^((?!${i.value}).)*$`,
|
|
463
|
+
rel: 'regex',
|
|
464
|
+
});
|
|
465
|
+
break;
|
|
466
|
+
case 'startWith':
|
|
467
|
+
searchValues.push({ key: i.name, val: `^${i.value}`, rel: 'regex' });
|
|
468
|
+
break;
|
|
469
|
+
default: {
|
|
470
|
+
const searchItem = {
|
|
471
|
+
key: i.name,
|
|
472
|
+
val: i.value,
|
|
473
|
+
rel: i.fieldCalculation.value,
|
|
474
|
+
};
|
|
475
|
+
if (i.filterType === 'number') {
|
|
476
|
+
searchItem.val = Number(i.value);
|
|
477
|
+
searchValues.push(searchItem);
|
|
478
|
+
}
|
|
479
|
+
else if (['date', 'datetime', 'time'].includes(i.filterType)) {
|
|
480
|
+
searchItem.val = formatDateToNumber(i.filterType, i.value);
|
|
481
|
+
dateCalculation(searchItem, i.filterType).forEach((i) => {
|
|
482
|
+
searchValues.push(i);
|
|
483
|
+
});
|
|
484
|
+
}
|
|
485
|
+
else {
|
|
486
|
+
searchValues.push(searchItem);
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
});
|
|
491
|
+
fetchData(searchValues);
|
|
492
|
+
};
|
|
493
|
+
return (!!filterData.length && (React.createElement("div", { className: `${isH5 ? 'filter-wrap' : 'filter-table-wrap'}` },
|
|
494
|
+
React.createElement(Form, { style: { maxWidth: 'unset', width: '100%' }, className: `${isH5 ? 'wedatea2td-form-h5' : ''}`, layout: `${isH5 ? 'default' : 'inline-vertical'}` },
|
|
495
|
+
React.createElement(Row, { gap: 20, verticalAlign: 'bottom', style: { justifyContent: 'space-between' } },
|
|
496
|
+
React.createElement(React.Fragment, null, filterData === null || filterData === void 0 ? void 0 : filterData.map((i) => isH5 ? (React.createElement(Col, { span: 24, key: i.id },
|
|
497
|
+
React.createElement(FilterFieldItem, { ...i, getChooseList: getChooseList, updateFilterData: updateFilterData }))) : (React.createElement(Col, { span: 24, lg: 8, xl: 6, key: i.id },
|
|
498
|
+
React.createElement(FilterFieldItem, { ...i, getChooseList: getChooseList, updateFilterData: updateFilterData }))))),
|
|
499
|
+
!isH5 && (React.createElement(Col, { span: 24, lg: 8, xl: 6, key: "search-button", style: { flex: '1' } },
|
|
500
|
+
React.createElement(Form.Item, { className: "_wedamodal-form__op" },
|
|
501
|
+
React.createElement(Button, { type: "primary", className: `${Margin.Right['4n']}`, onClick: searchHandle }, "\u67E5\u8BE2"),
|
|
502
|
+
React.createElement(Button, { onClick: () => {
|
|
503
|
+
setFilterData(initFilterData);
|
|
504
|
+
fetchData();
|
|
505
|
+
} }, "\u91CD\u7F6E")))))),
|
|
506
|
+
isH5 && (React.createElement(Form.Item, { className: "_wedamodal-form__op" },
|
|
507
|
+
React.createElement(Button, { type: "link", className: `${Margin.Right['4n']}`, onClick: searchHandle }, "\u67E5\u8BE2"),
|
|
508
|
+
React.createElement(Button, { type: "link", onClick: () => {
|
|
509
|
+
setFilterData(initFilterData);
|
|
510
|
+
fetchData();
|
|
511
|
+
} }, "\u91CD\u7F6E"))))));
|
|
512
|
+
};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Select, Icon } from 'tea-component';
|
|
3
|
+
import { useEnumContext } from '../../../utils/hooks/context';
|
|
4
|
+
// 枚举输入组件
|
|
5
|
+
export const EnumSelect = (props) => {
|
|
6
|
+
const { field, onChange } = props;
|
|
7
|
+
const { enumOptions } = useEnumContext();
|
|
8
|
+
const optionName = field['x-option-name'];
|
|
9
|
+
const isMulti = field['x-multi-select'];
|
|
10
|
+
const selectProps = {
|
|
11
|
+
options: (enumOptions === null || enumOptions === void 0 ? void 0 : enumOptions[optionName]) || [],
|
|
12
|
+
...props,
|
|
13
|
+
virtual: true,
|
|
14
|
+
size: 'full',
|
|
15
|
+
matchButtonWidth: true,
|
|
16
|
+
appearance: 'button',
|
|
17
|
+
clearable: true,
|
|
18
|
+
searchable: true,
|
|
19
|
+
staging: false,
|
|
20
|
+
};
|
|
21
|
+
const onSelectChange = (value) => {
|
|
22
|
+
if (onChange) {
|
|
23
|
+
onChange(value || '');
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
if (isMulti) {
|
|
27
|
+
return React.createElement(Select.Multiple, { ...selectProps });
|
|
28
|
+
}
|
|
29
|
+
return React.createElement(Select, { ...selectProps, onChange: onSelectChange });
|
|
30
|
+
};
|
|
31
|
+
// 转换枚举值
|
|
32
|
+
export const formatEnum = (value, field, enumOptions) => {
|
|
33
|
+
var _a;
|
|
34
|
+
try {
|
|
35
|
+
const optionName = field['x-option-name'];
|
|
36
|
+
const isMulti = field['x-multi-select'];
|
|
37
|
+
const options = (enumOptions === null || enumOptions === void 0 ? void 0 : enumOptions[optionName]) || [];
|
|
38
|
+
const getTextByValue = (value) => { var _a; return ((_a = options === null || options === void 0 ? void 0 : options.find((item) => (item === null || item === void 0 ? void 0 : item.value) === value)) === null || _a === void 0 ? void 0 : _a.text) || value; };
|
|
39
|
+
if (isMulti) {
|
|
40
|
+
return (_a = []
|
|
41
|
+
.concat(value)
|
|
42
|
+
.map((v) => getTextByValue(v))) === null || _a === void 0 ? void 0 : _a.join();
|
|
43
|
+
}
|
|
44
|
+
return getTextByValue(value);
|
|
45
|
+
}
|
|
46
|
+
catch (e) { }
|
|
47
|
+
return value;
|
|
48
|
+
};
|
|
49
|
+
// 枚举值展示组件
|
|
50
|
+
export const EnumView = (props) => {
|
|
51
|
+
const { field, values } = props;
|
|
52
|
+
const { enumOptions, loading } = useEnumContext();
|
|
53
|
+
if (loading)
|
|
54
|
+
return React.createElement(Icon, { type: "loading" });
|
|
55
|
+
return formatEnum(values, field, enumOptions);
|
|
56
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
.weda-business-location-input {
|
|
2
|
+
background-color: white;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.weda-business-location-form-array-label {
|
|
6
|
+
padding-right: 1.42857rem;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.weda-business-location-form-item .wedatea2td-form__controls {
|
|
10
|
+
padding-bottom: 1.14286rem !important;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/*# sourceURL=webpack://./src/web/components/table/Form/Location.css */
|
|
14
|
+
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy93ZWIvY29tcG9uZW50cy90YWJsZS9Gb3JtL0xvY2F0aW9uLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLHVCQUF1QjtBQUN6Qjs7QUFFQTtFQUNFLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLHFDQUFxQztBQUN2QyIsInNvdXJjZXNDb250ZW50IjpbIi53ZWRhLWJ1c2luZXNzLWxvY2F0aW9uLWlucHV0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG5cbi53ZWRhLWJ1c2luZXNzLWxvY2F0aW9uLWZvcm0tYXJyYXktbGFiZWwge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjQyODU3cmVtO1xufVxuXG4ud2VkYS1idXNpbmVzcy1sb2NhdGlvbi1mb3JtLWl0ZW0gLndlZGF0ZWEydGQtZm9ybV9fY29udHJvbHMge1xuICBwYWRkaW5nLWJvdHRvbTogMS4xNDI4NnJlbSAhaW1wb3J0YW50O1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ== */
|