@cloudbase/weda-ui 3.4.2 → 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/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 +2 -1
- package/dist/configs/components/chart/bar.json +3 -2
- package/dist/configs/components/chart/line.js +868 -0
- package/dist/configs/components/chart/pie.json +3 -2
- package/dist/configs/components/chart/statisticsCard.json +3 -2
- package/dist/configs/components/container.js +64 -0
- package/dist/configs/components/dataView.json +16 -1
- 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 +2 -1
- package/dist/configs/components/form/input.json +2 -1
- package/dist/configs/components/form/location.json +2 -1
- 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 +4 -2
- package/dist/configs/components/graphicCard.json +2 -1
- package/dist/configs/components/image.js +195 -0
- package/dist/configs/components/link.js +68 -0
- package/dist/configs/components/listView.json +33 -1
- package/dist/configs/components/lottery.json +6 -2
- package/dist/configs/components/modal.js +72 -0
- package/dist/configs/components/navLayout.json +3 -2
- package/dist/configs/components/navigationBar.json +3 -2
- package/dist/configs/components/pagelayout.json +31 -0
- package/dist/configs/components/richtextview.json +4 -3
- package/dist/configs/components/scrollVeiw.json +5 -3
- package/dist/configs/components/slot.json +2 -1
- package/dist/configs/components/swiper.json +3 -2
- 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 +7 -2
- 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 +4 -3
- 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/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.pc.js +1 -1
- 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 +71 -47
- 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 +18 -6
- 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 -73
- 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 -161
- 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 -273
- 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,119 @@
|
|
|
1
|
+
.flow-user-select-mobile {
|
|
2
|
+
height: calc(100% - 3.71429rem);
|
|
3
|
+
}
|
|
4
|
+
.flow-user-select-mobile .page-info__wrapper-mobile {
|
|
5
|
+
position: relative;
|
|
6
|
+
height: 100%;
|
|
7
|
+
background: #f2f2f2;
|
|
8
|
+
}
|
|
9
|
+
.flow-user-select-mobile .page-info__wrapper-mobile .wedatea2td-table {
|
|
10
|
+
height: calc(100% - 14.28571rem) !important;
|
|
11
|
+
}
|
|
12
|
+
.flow-user-select-mobile
|
|
13
|
+
.page-info__wrapper-mobile
|
|
14
|
+
.wedatea2td-table
|
|
15
|
+
.wedatea2td-table__body {
|
|
16
|
+
max-height: calc(100% - 3.57143rem) !important;
|
|
17
|
+
}
|
|
18
|
+
.flow-user-select-mobile .page-info__wrapper-mobile footer.selected-info {
|
|
19
|
+
position: absolute;
|
|
20
|
+
bottom: 0;
|
|
21
|
+
left: 0;
|
|
22
|
+
right: 0;
|
|
23
|
+
height: 6.42857rem;
|
|
24
|
+
padding: 0.85714rem 1.14286rem 0 1.42857rem;
|
|
25
|
+
box-sizing: border-box;
|
|
26
|
+
background: #fff;
|
|
27
|
+
}
|
|
28
|
+
.flow-user-select-mobile
|
|
29
|
+
.page-info__wrapper-mobile
|
|
30
|
+
footer.selected-info
|
|
31
|
+
.selected-info__left
|
|
32
|
+
.selected-count {
|
|
33
|
+
font-size: 1rem;
|
|
34
|
+
color: #2473f2;
|
|
35
|
+
}
|
|
36
|
+
.flow-user-select-mobile
|
|
37
|
+
.page-info__wrapper-mobile
|
|
38
|
+
footer.selected-info
|
|
39
|
+
.selected-info__left
|
|
40
|
+
.selected-people {
|
|
41
|
+
font-size: 0.85714rem;
|
|
42
|
+
color: #c2c2c2;
|
|
43
|
+
max-width: 14.28571rem;
|
|
44
|
+
text-overflow: ellipsis;
|
|
45
|
+
overflow: hidden;
|
|
46
|
+
white-space: nowrap;
|
|
47
|
+
}
|
|
48
|
+
.flow-user-select-mobile
|
|
49
|
+
.page-info__wrapper-mobile
|
|
50
|
+
footer.selected-info
|
|
51
|
+
.selected-info__left
|
|
52
|
+
.collapse-spread {
|
|
53
|
+
display: inline-block;
|
|
54
|
+
margin-left: 1.14286rem;
|
|
55
|
+
width: 0.57143rem;
|
|
56
|
+
height: 0.57143rem;
|
|
57
|
+
border: none;
|
|
58
|
+
border-top: 0.14286rem solid #2473f2;
|
|
59
|
+
border-right: 0.14286rem solid #2473f2;
|
|
60
|
+
transform: rotate(-45deg);
|
|
61
|
+
vertical-align: middle;
|
|
62
|
+
}
|
|
63
|
+
.flow-user-select-mobile
|
|
64
|
+
.page-info__wrapper-mobile
|
|
65
|
+
footer.selected-info
|
|
66
|
+
.submit-btn {
|
|
67
|
+
width: 6.71429rem;
|
|
68
|
+
height: 2.85714rem;
|
|
69
|
+
border-radius: 0.28571rem;
|
|
70
|
+
background: #2473f2;
|
|
71
|
+
}
|
|
72
|
+
.flow-user-select-mobile .page-info__wrapper-mobile .loading-dom__wrapper {
|
|
73
|
+
height: calc(100% - 10.71429rem);
|
|
74
|
+
display: flex;
|
|
75
|
+
justify-content: space-around;
|
|
76
|
+
align-items: center;
|
|
77
|
+
background: #fff;
|
|
78
|
+
}
|
|
79
|
+
.SelectPersonOrg-popup .selected-title {
|
|
80
|
+
position: sticky;
|
|
81
|
+
top: 0;
|
|
82
|
+
padding: 0 1.42857rem;
|
|
83
|
+
height: 2.85714rem;
|
|
84
|
+
line-height: 2.85714rem;
|
|
85
|
+
display: flex;
|
|
86
|
+
justify-content: space-between;
|
|
87
|
+
border-bottom: 0.07143rem solid #dcdee6;
|
|
88
|
+
}
|
|
89
|
+
.SelectPersonOrg-popup .selected-title .tea-btn {
|
|
90
|
+
font-size: 1.14286rem;
|
|
91
|
+
}
|
|
92
|
+
.SelectPersonOrg-popup .selected-title .tea-btn--text {
|
|
93
|
+
color: #666;
|
|
94
|
+
}
|
|
95
|
+
.SelectPersonOrg-popup .selected-title .tea-btn--link {
|
|
96
|
+
color: #006eff;
|
|
97
|
+
}
|
|
98
|
+
.SelectPersonOrg-popup .selected-title span {
|
|
99
|
+
font-size: 1rem;
|
|
100
|
+
}
|
|
101
|
+
.SelectPersonOrg-popup .selected-person {
|
|
102
|
+
height: calc(100% - 2.92857rem);
|
|
103
|
+
padding: 0 1.42857rem;
|
|
104
|
+
overflow-y: auto;
|
|
105
|
+
}
|
|
106
|
+
.SelectPersonOrg-popup .selected-person .tea-justify-grid {
|
|
107
|
+
height: 2.85714rem;
|
|
108
|
+
line-height: 2.85714rem;
|
|
109
|
+
border-bottom: 0.07143rem solid #dcdee6;
|
|
110
|
+
}
|
|
111
|
+
.SelectPersonOrg-popup
|
|
112
|
+
.selected-person
|
|
113
|
+
.tea-justify-grid
|
|
114
|
+
.selected-person__name {
|
|
115
|
+
font-size: 1rem;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/*# sourceURL=webpack://./src/web/components/flow/components/FlowUserSelect/index.css */
|
|
119
|
+
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy93ZWIvY29tcG9uZW50cy9mbG93L2NvbXBvbmVudHMvRmxvd1VzZXJTZWxlY3QvaW5kZXguY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsK0JBQStCO0FBQ2pDO0FBQ0E7RUFDRSxrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLG1CQUFtQjtBQUNyQjtBQUNBO0VBQ0UsMkNBQTJDO0FBQzdDO0FBQ0E7Ozs7RUFJRSw4Q0FBOEM7QUFDaEQ7QUFDQTtFQUNFLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1QsT0FBTztFQUNQLFFBQVE7RUFDUixrQkFBa0I7RUFDbEIsMkNBQTJDO0VBQzNDLHNCQUFzQjtFQUN0QixnQkFBZ0I7QUFDbEI7QUFDQTs7Ozs7RUFLRSxlQUFlO0VBQ2YsY0FBYztBQUNoQjtBQUNBOzs7OztFQUtFLHFCQUFxQjtFQUNyQixjQUFjO0VBQ2Qsc0JBQXNCO0VBQ3RCLHVCQUF1QjtFQUN2QixnQkFBZ0I7RUFDaEIsbUJBQW1CO0FBQ3JCO0FBQ0E7Ozs7O0VBS0UscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QixpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixvQ0FBb0M7RUFDcEMsc0NBQXNDO0VBQ3RDLHlCQUF5QjtFQUN6QixzQkFBc0I7QUFDeEI7QUFDQTs7OztFQUlFLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIseUJBQXlCO0VBQ3pCLG1CQUFtQjtBQUNyQjtBQUNBO0VBQ0UsZ0NBQWdDO0VBQ2hDLGFBQWE7RUFDYiw2QkFBNkI7RUFDN0IsbUJBQW1CO0VBQ25CLGdCQUFnQjtBQUNsQjtBQUNBO0VBQ0UsZ0JBQWdCO0VBQ2hCLE1BQU07RUFDTixxQkFBcUI7RUFDckIsa0JBQWtCO0VBQ2xCLHVCQUF1QjtFQUN2QixhQUFhO0VBQ2IsOEJBQThCO0VBQzlCLHVDQUF1QztBQUN6QztBQUNBO0VBQ0UscUJBQXFCO0FBQ3ZCO0FBQ0E7RUFDRSxXQUFXO0FBQ2I7QUFDQTtFQUNFLGNBQWM7QUFDaEI7QUFDQTtFQUNFLGVBQWU7QUFDakI7QUFDQTtFQUNFLCtCQUErQjtFQUMvQixxQkFBcUI7RUFDckIsZ0JBQWdCO0FBQ2xCO0FBQ0E7RUFDRSxrQkFBa0I7RUFDbEIsdUJBQXVCO0VBQ3ZCLHVDQUF1QztBQUN6QztBQUNBOzs7O0VBSUUsZUFBZTtBQUNqQiIsInNvdXJjZXNDb250ZW50IjpbIi5mbG93LXVzZXItc2VsZWN0LW1vYmlsZSB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMy43MTQyOXJlbSk7XG59XG4uZmxvdy11c2VyLXNlbGVjdC1tb2JpbGUgLnBhZ2UtaW5mb19fd3JhcHBlci1tb2JpbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbn1cbi5mbG93LXVzZXItc2VsZWN0LW1vYmlsZSAucGFnZS1pbmZvX193cmFwcGVyLW1vYmlsZSAud2VkYXRlYTJ0ZC10YWJsZSB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMTQuMjg1NzFyZW0pICFpbXBvcnRhbnQ7XG59XG4uZmxvdy11c2VyLXNlbGVjdC1tb2JpbGVcbiAgLnBhZ2UtaW5mb19fd3JhcHBlci1tb2JpbGVcbiAgLndlZGF0ZWEydGQtdGFibGVcbiAgLndlZGF0ZWEydGQtdGFibGVfX2JvZHkge1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjU3MTQzcmVtKSAhaW1wb3J0YW50O1xufVxuLmZsb3ctdXNlci1zZWxlY3QtbW9iaWxlIC5wYWdlLWluZm9fX3dyYXBwZXItbW9iaWxlIGZvb3Rlci5zZWxlY3RlZC1pbmZvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDYuNDI4NTdyZW07XG4gIHBhZGRpbmc6IDAuODU3MTRyZW0gMS4xNDI4NnJlbSAwIDEuNDI4NTdyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG4uZmxvdy11c2VyLXNlbGVjdC1tb2JpbGVcbiAgLnBhZ2UtaW5mb19fd3JhcHBlci1tb2JpbGVcbiAgZm9vdGVyLnNlbGVjdGVkLWluZm9cbiAgLnNlbGVjdGVkLWluZm9fX2xlZnRcbiAgLnNlbGVjdGVkLWNvdW50IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogIzI0NzNmMjtcbn1cbi5mbG93LXVzZXItc2VsZWN0LW1vYmlsZVxuICAucGFnZS1pbmZvX193cmFwcGVyLW1vYmlsZVxuICBmb290ZXIuc2VsZWN0ZWQtaW5mb1xuICAuc2VsZWN0ZWQtaW5mb19fbGVmdFxuICAuc2VsZWN0ZWQtcGVvcGxlIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0cmVtO1xuICBjb2xvcjogI2MyYzJjMjtcbiAgbWF4LXdpZHRoOiAxNC4yODU3MXJlbTtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uZmxvdy11c2VyLXNlbGVjdC1tb2JpbGVcbiAgLnBhZ2UtaW5mb19fd3JhcHBlci1tb2JpbGVcbiAgZm9vdGVyLnNlbGVjdGVkLWluZm9cbiAgLnNlbGVjdGVkLWluZm9fX2xlZnRcbiAgLmNvbGxhcHNlLXNwcmVhZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDEuMTQyODZyZW07XG4gIHdpZHRoOiAwLjU3MTQzcmVtO1xuICBoZWlnaHQ6IDAuNTcxNDNyZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXRvcDogMC4xNDI4NnJlbSBzb2xpZCAjMjQ3M2YyO1xuICBib3JkZXItcmlnaHQ6IDAuMTQyODZyZW0gc29saWQgIzI0NzNmMjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5mbG93LXVzZXItc2VsZWN0LW1vYmlsZVxuICAucGFnZS1pbmZvX193cmFwcGVyLW1vYmlsZVxuICBmb290ZXIuc2VsZWN0ZWQtaW5mb1xuICAuc3VibWl0LWJ0biB7XG4gIHdpZHRoOiA2LjcxNDI5cmVtO1xuICBoZWlnaHQ6IDIuODU3MTRyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzFyZW07XG4gIGJhY2tncm91bmQ6ICMyNDczZjI7XG59XG4uZmxvdy11c2VyLXNlbGVjdC1tb2JpbGUgLnBhZ2UtaW5mb19fd3JhcHBlci1tb2JpbGUgLmxvYWRpbmctZG9tX193cmFwcGVyIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxMC43MTQyOXJlbSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuLlNlbGVjdFBlcnNvbk9yZy1wb3B1cCAuc2VsZWN0ZWQtdGl0bGUge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIHBhZGRpbmc6IDAgMS40Mjg1N3JlbTtcbiAgaGVpZ2h0OiAyLjg1NzE0cmVtO1xuICBsaW5lLWhlaWdodDogMi44NTcxNHJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBib3JkZXItYm90dG9tOiAwLjA3MTQzcmVtIHNvbGlkICNkY2RlZTY7XG59XG4uU2VsZWN0UGVyc29uT3JnLXBvcHVwIC5zZWxlY3RlZC10aXRsZSAudGVhLWJ0biB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NnJlbTtcbn1cbi5TZWxlY3RQZXJzb25PcmctcG9wdXAgLnNlbGVjdGVkLXRpdGxlIC50ZWEtYnRuLS10ZXh0IHtcbiAgY29sb3I6ICM2NjY7XG59XG4uU2VsZWN0UGVyc29uT3JnLXBvcHVwIC5zZWxlY3RlZC10aXRsZSAudGVhLWJ0bi0tbGluayB7XG4gIGNvbG9yOiAjMDA2ZWZmO1xufVxuLlNlbGVjdFBlcnNvbk9yZy1wb3B1cCAuc2VsZWN0ZWQtdGl0bGUgc3BhbiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi5TZWxlY3RQZXJzb25PcmctcG9wdXAgLnNlbGVjdGVkLXBlcnNvbiB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMi45Mjg1N3JlbSk7XG4gIHBhZGRpbmc6IDAgMS40Mjg1N3JlbTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cbi5TZWxlY3RQZXJzb25PcmctcG9wdXAgLnNlbGVjdGVkLXBlcnNvbiAudGVhLWp1c3RpZnktZ3JpZCB7XG4gIGhlaWdodDogMi44NTcxNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuODU3MTRyZW07XG4gIGJvcmRlci1ib3R0b206IDAuMDcxNDNyZW0gc29saWQgI2RjZGVlNjtcbn1cbi5TZWxlY3RQZXJzb25PcmctcG9wdXBcbiAgLnNlbGVjdGVkLXBlcnNvblxuICAudGVhLWp1c3RpZnktZ3JpZFxuICAuc2VsZWN0ZWQtcGVyc29uX19uYW1lIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ== */
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/* eslint-disable no-param-reassign */
|
|
2
|
+
import React, { useState, useEffect, useMemo } from 'react';
|
|
3
|
+
import { Justify, Button, Icon } from 'tea-component';
|
|
4
|
+
import { Popup } from 'react-vant';
|
|
5
|
+
import { safeJsonParse } from '../../../../utils/tool';
|
|
6
|
+
import { WedaUserTransfer } from '../WedaUserTransfer';
|
|
7
|
+
import './index.css';
|
|
8
|
+
export const FlowUserSelect = (props) => {
|
|
9
|
+
const { visible, approveField, mode, close } = props;
|
|
10
|
+
const [selected, setSelected] = useState([]);
|
|
11
|
+
const [selectedUser, setSelectedUser] = useState([]);
|
|
12
|
+
const [collapse, setCollapseStatus] = useState(true);
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
document.title = '选择人员';
|
|
15
|
+
const selectedAvatar = sessionStorage.getItem('selected');
|
|
16
|
+
selectedAvatar && setSelected(safeJsonParse(selectedAvatar || '[]'));
|
|
17
|
+
}, []);
|
|
18
|
+
const selectedLen = useMemo(() => selected.length, [selected]);
|
|
19
|
+
const removeId = (id) => {
|
|
20
|
+
setSelected(selected.filter((item) => item !== id));
|
|
21
|
+
setSelectedUser(selectedUser.filter((item) => (item === null || item === void 0 ? void 0 : item.UserId) !== id));
|
|
22
|
+
};
|
|
23
|
+
const handleHighLightSelected = (selected, flowData) => {
|
|
24
|
+
let v = '';
|
|
25
|
+
const { opinionUserMap, approveInfo } = flowData;
|
|
26
|
+
selected.forEach((id) => {
|
|
27
|
+
const user = selectedUser.find((user) => (user === null || user === void 0 ? void 0 : user.UserId) === id) || {};
|
|
28
|
+
const name = `@${user === null || user === void 0 ? void 0 : user.Name}`;
|
|
29
|
+
v = `${v + name} `;
|
|
30
|
+
if (!opinionUserMap[id]) {
|
|
31
|
+
opinionUserMap[id] = name;
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
flowData.approveInfo = approveInfo + v;
|
|
35
|
+
flowData.opinionUserMap = { ...opinionUserMap };
|
|
36
|
+
};
|
|
37
|
+
const saveSelect = () => {
|
|
38
|
+
var _a;
|
|
39
|
+
const flowData = (_a = safeJsonParse(sessionStorage.getItem('FlowActionsMobile'))) !== null && _a !== void 0 ? _a : {};
|
|
40
|
+
if (approveField === 'assigneeIds') {
|
|
41
|
+
flowData.assigneeIds = selected;
|
|
42
|
+
sessionStorage.setItem('hasSignSubmit', 'hasSignSubmit');
|
|
43
|
+
}
|
|
44
|
+
else if (approveField === 'highLightApprovers') {
|
|
45
|
+
handleHighLightSelected(selected, flowData);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
flowData[approveField] = selected;
|
|
49
|
+
}
|
|
50
|
+
sessionStorage.setItem('FlowActionsMobile', JSON.stringify(flowData));
|
|
51
|
+
sessionStorage.setItem(approveField, JSON.stringify(selectedUser));
|
|
52
|
+
// history.go(-1);
|
|
53
|
+
close === null || close === void 0 ? void 0 : close();
|
|
54
|
+
};
|
|
55
|
+
const onWedaUserSelectChange = ({ keys, rows }) => {
|
|
56
|
+
setSelected(keys);
|
|
57
|
+
setSelectedUser(rows);
|
|
58
|
+
};
|
|
59
|
+
useEffect(() => {
|
|
60
|
+
let lastTouchEnd = 0;
|
|
61
|
+
const touchstartFn = (event) => {
|
|
62
|
+
if (event.touches.length > 1) {
|
|
63
|
+
event.preventDefault();
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
const touchendFn = (event) => {
|
|
67
|
+
const now = new Date().getTime();
|
|
68
|
+
if (now - lastTouchEnd <= 300) {
|
|
69
|
+
event.preventDefault();
|
|
70
|
+
}
|
|
71
|
+
lastTouchEnd = now;
|
|
72
|
+
};
|
|
73
|
+
const gesturestartFn = (event) => {
|
|
74
|
+
event.preventDefault();
|
|
75
|
+
};
|
|
76
|
+
document.addEventListener('touchstart', touchstartFn);
|
|
77
|
+
document.addEventListener('touchend', touchendFn, false);
|
|
78
|
+
// 阻止双指放大
|
|
79
|
+
document.addEventListener('gesturestart', gesturestartFn);
|
|
80
|
+
return () => {
|
|
81
|
+
document.removeEventListener('touchstart', touchstartFn);
|
|
82
|
+
document.removeEventListener('touchend', touchendFn);
|
|
83
|
+
document.removeEventListener('gesturestart', gesturestartFn);
|
|
84
|
+
};
|
|
85
|
+
}, []);
|
|
86
|
+
return (React.createElement(Popup, { visible: visible, position: "bottom", className: "flow-user-select-mobile" },
|
|
87
|
+
React.createElement("section", { className: "page-info__wrapper-mobile" },
|
|
88
|
+
React.createElement(WedaUserTransfer, { multiple: mode === 'multiple', isMobile: true, onSelectedChange: onWedaUserSelectChange, value: selected, className: "flow-user-select-mobile-table" }),
|
|
89
|
+
React.createElement("footer", { className: "selected-info" },
|
|
90
|
+
React.createElement(Justify, { left: React.createElement("div", { className: "selected-info__left" },
|
|
91
|
+
React.createElement("p", { className: "selected-count", onClick: () => setCollapseStatus(false) },
|
|
92
|
+
React.createElement("span", { style: { display: 'inline-block' } },
|
|
93
|
+
"\u5DF2\u9009\uFF1A",
|
|
94
|
+
selectedLen,
|
|
95
|
+
"\u4EBA"),
|
|
96
|
+
React.createElement("span", { className: "collapse-spread" })),
|
|
97
|
+
React.createElement("p", { className: "selected-people" }, selectedUser.map((item) => item === null || item === void 0 ? void 0 : item.Name).join(','))), right: React.createElement(React.Fragment, null,
|
|
98
|
+
React.createElement(Button, { className: "submit-btn", type: "primary", onClick: saveSelect },
|
|
99
|
+
"\u786E\u8BA4(",
|
|
100
|
+
selectedLen,
|
|
101
|
+
")"),
|
|
102
|
+
React.createElement(Button, { type: "link", onClick: () => {
|
|
103
|
+
close === null || close === void 0 ? void 0 : close();
|
|
104
|
+
} }, "\u5173\u95ED")) })),
|
|
105
|
+
React.createElement(Popup, { className: "SelectPersonOrg-popup", visible: !collapse, position: "bottom", style: { height: '440px' } },
|
|
106
|
+
React.createElement(React.Fragment, null,
|
|
107
|
+
React.createElement("p", { className: "selected-title" },
|
|
108
|
+
React.createElement(Button, { type: "text", onClick: () => setCollapseStatus(true) }, "\u53D6\u6D88"),
|
|
109
|
+
React.createElement("span", null,
|
|
110
|
+
"\u5DF2\u9009\uFF1A",
|
|
111
|
+
selectedLen,
|
|
112
|
+
"\u4EBA"),
|
|
113
|
+
React.createElement(Button, { type: "link", onClick: saveSelect }, "\u5B8C\u6210")),
|
|
114
|
+
React.createElement("div", { className: "selected-person" }, selectedUser.map((item) => (React.createElement(Justify, { key: item === null || item === void 0 ? void 0 : item.UserId, left: React.createElement("span", { className: "selected-person__name" }, item === null || item === void 0 ? void 0 : item.Name), right: React.createElement(Icon, { onClick: () => removeId(item === null || item === void 0 ? void 0 : item.UserId), type: "dismiss" }) })))))))));
|
|
115
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { safeJsonParse } from '../../../../utils/tool';
|
|
3
|
+
export const HighLightComment = ({ details }) => {
|
|
4
|
+
const text = (details === null || details === void 0 ? void 0 : details.operationComment) || '';
|
|
5
|
+
let dom = '';
|
|
6
|
+
const positionMap = (details === null || details === void 0 ? void 0 : details.highlightPositionList) || '{}';
|
|
7
|
+
const obj = safeJsonParse(positionMap);
|
|
8
|
+
let startIndex = 0;
|
|
9
|
+
const arr = Object.entries(obj);
|
|
10
|
+
if (arr.length === 0) {
|
|
11
|
+
return text;
|
|
12
|
+
}
|
|
13
|
+
for (const [start, end] of arr) {
|
|
14
|
+
const name = text.substring(Number(start) + 1, end);
|
|
15
|
+
const domTemp = (React.createElement(React.Fragment, null,
|
|
16
|
+
text.substring(startIndex, Number(start)),
|
|
17
|
+
React.createElement("span", { style: { color: '#2473F2' } },
|
|
18
|
+
"@",
|
|
19
|
+
name)));
|
|
20
|
+
dom = (React.createElement(React.Fragment, null,
|
|
21
|
+
dom,
|
|
22
|
+
domTemp));
|
|
23
|
+
startIndex = end;
|
|
24
|
+
}
|
|
25
|
+
if (startIndex < text.length) {
|
|
26
|
+
dom = (React.createElement(React.Fragment, null,
|
|
27
|
+
dom,
|
|
28
|
+
text.substring(startIndex, text.length)));
|
|
29
|
+
}
|
|
30
|
+
return React.createElement("span", null, dom);
|
|
31
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
.highlight-textarea-content {
|
|
2
|
+
display: inline-block;
|
|
3
|
+
width: 100%;
|
|
4
|
+
}
|
|
5
|
+
.highlight-textarea {
|
|
6
|
+
position: relative;
|
|
7
|
+
height: 7.14286rem;
|
|
8
|
+
border: 0.07143rem solid #dcdee6;
|
|
9
|
+
text-align: left;
|
|
10
|
+
overflow: scroll;
|
|
11
|
+
display: inline-block;
|
|
12
|
+
width: 99%;
|
|
13
|
+
margin-bottom: -0.35714rem;
|
|
14
|
+
}
|
|
15
|
+
.highlight-textarea .public-DraftEditorPlaceholder-root {
|
|
16
|
+
display: none;
|
|
17
|
+
}
|
|
18
|
+
.highlight-textarea .DraftEditor-root {
|
|
19
|
+
position: absolute;
|
|
20
|
+
width: 100%;
|
|
21
|
+
z-index: 1;
|
|
22
|
+
}
|
|
23
|
+
.highlight-textarea .DraftEditor-root .DraftEditor-editorContainer {
|
|
24
|
+
padding: 0.35714rem;
|
|
25
|
+
height: 6em;
|
|
26
|
+
}
|
|
27
|
+
.highlight-textarea
|
|
28
|
+
.DraftEditor-root
|
|
29
|
+
.DraftEditor-editorContainer
|
|
30
|
+
.public-DraftEditor-content {
|
|
31
|
+
height: 100%;
|
|
32
|
+
}
|
|
33
|
+
.highlight-textarea .DraftEditor-root .DraftEditor-editorContainer mark {
|
|
34
|
+
color: #888888;
|
|
35
|
+
background: transparent;
|
|
36
|
+
}
|
|
37
|
+
.highlight-textarea .highlight-textarea-placeholder {
|
|
38
|
+
position: absolute;
|
|
39
|
+
z-index: 0;
|
|
40
|
+
margin: 0.35714rem;
|
|
41
|
+
color: #999999;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/*# sourceURL=webpack://./src/web/components/flow/components/HighlightTextarea/index.css */
|
|
45
|
+
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy93ZWIvY29tcG9uZW50cy9mbG93L2NvbXBvbmVudHMvSGlnaGxpZ2h0VGV4dGFyZWEvaW5kZXguY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UscUJBQXFCO0VBQ3JCLFdBQVc7QUFDYjtBQUNBO0VBQ0Usa0JBQWtCO0VBQ2xCLGtCQUFrQjtFQUNsQixnQ0FBZ0M7RUFDaEMsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixxQkFBcUI7RUFDckIsVUFBVTtFQUNWLDBCQUEwQjtBQUM1QjtBQUNBO0VBQ0UsYUFBYTtBQUNmO0FBQ0E7RUFDRSxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLFVBQVU7QUFDWjtBQUNBO0VBQ0UsbUJBQW1CO0VBQ25CLFdBQVc7QUFDYjtBQUNBOzs7O0VBSUUsWUFBWTtBQUNkO0FBQ0E7RUFDRSxjQUFjO0VBQ2QsdUJBQXVCO0FBQ3pCO0FBQ0E7RUFDRSxrQkFBa0I7RUFDbEIsVUFBVTtFQUNWLGtCQUFrQjtFQUNsQixjQUFjO0FBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiLmhpZ2hsaWdodC10ZXh0YXJlYS1jb250ZW50IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cbi5oaWdobGlnaHQtdGV4dGFyZWEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNy4xNDI4NnJlbTtcbiAgYm9yZGVyOiAwLjA3MTQzcmVtIHNvbGlkICNkY2RlZTY7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDk5JTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuMzU3MTRyZW07XG59XG4uaGlnaGxpZ2h0LXRleHRhcmVhIC5wdWJsaWMtRHJhZnRFZGl0b3JQbGFjZWhvbGRlci1yb290IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5oaWdobGlnaHQtdGV4dGFyZWEgLkRyYWZ0RWRpdG9yLXJvb3Qge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxO1xufVxuLmhpZ2hsaWdodC10ZXh0YXJlYSAuRHJhZnRFZGl0b3Itcm9vdCAuRHJhZnRFZGl0b3ItZWRpdG9yQ29udGFpbmVyIHtcbiAgcGFkZGluZzogMC4zNTcxNHJlbTtcbiAgaGVpZ2h0OiA2ZW07XG59XG4uaGlnaGxpZ2h0LXRleHRhcmVhXG4gIC5EcmFmdEVkaXRvci1yb290XG4gIC5EcmFmdEVkaXRvci1lZGl0b3JDb250YWluZXJcbiAgLnB1YmxpYy1EcmFmdEVkaXRvci1jb250ZW50IHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLmhpZ2hsaWdodC10ZXh0YXJlYSAuRHJhZnRFZGl0b3Itcm9vdCAuRHJhZnRFZGl0b3ItZWRpdG9yQ29udGFpbmVyIG1hcmsge1xuICBjb2xvcjogIzg4ODg4ODtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uaGlnaGxpZ2h0LXRleHRhcmVhIC5oaWdobGlnaHQtdGV4dGFyZWEtcGxhY2Vob2xkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDA7XG4gIG1hcmdpbjogMC4zNTcxNHJlbTtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9 */
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import React, { useState, useEffect, useRef } from 'react';
|
|
2
|
+
import HighlightWithinTextarea from 'react-highlight-within-textarea';
|
|
3
|
+
import { UserSelectModel } from '../UserSelectModel';
|
|
4
|
+
import './index.css';
|
|
5
|
+
export const HighlightTextarea = ({ size = 'pc', placeholder = '请输入', value, onChange, opinionUserMap, setOpinionUserMap, setHighlightPositionMap, }) => {
|
|
6
|
+
const [selectPersonModalShow, setSelectPersonModalShow] = useState(false);
|
|
7
|
+
const range = useRef();
|
|
8
|
+
const [placeholderVisible, setPlaceholderVisible] = useState(!value);
|
|
9
|
+
const [highlightPositions, setHighlightPositions] = useState([]);
|
|
10
|
+
const [copyMsg, setCopyMsg] = useState('');
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
if (!value) {
|
|
13
|
+
setPlaceholderVisible(true);
|
|
14
|
+
setOpinionUserMap({});
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
setPlaceholderVisible(false);
|
|
18
|
+
const { res: highlightPositions, obj: highlightPositionObj } = checkHighLight(value);
|
|
19
|
+
setHighlightPositions([...highlightPositions]);
|
|
20
|
+
setHighlightPositionMap({ ...highlightPositionObj });
|
|
21
|
+
const newOpinionUserMap = {};
|
|
22
|
+
// value每次change后需要再次检查opinionUserMap
|
|
23
|
+
for (const [id, name] of Object.entries(opinionUserMap)) {
|
|
24
|
+
if (value.indexOf(name) !== -1) {
|
|
25
|
+
newOpinionUserMap[id] = name;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
setOpinionUserMap(newOpinionUserMap);
|
|
29
|
+
}, [value]);
|
|
30
|
+
const checkHighLight = (text) => {
|
|
31
|
+
const highlightList = Object.values(opinionUserMap);
|
|
32
|
+
const len = highlightList.length;
|
|
33
|
+
let v = text;
|
|
34
|
+
let res = [];
|
|
35
|
+
// 回显时使用,必须顺序排列
|
|
36
|
+
let obj = {};
|
|
37
|
+
for (let i = 0; i < len; i++) {
|
|
38
|
+
const indexof = v.indexOf(highlightList[i]);
|
|
39
|
+
const itemLen = highlightList[i].length;
|
|
40
|
+
if (indexof !== -1) {
|
|
41
|
+
const endIndex = indexof + itemLen;
|
|
42
|
+
res.push([indexof, endIndex]);
|
|
43
|
+
obj[indexof] = endIndex;
|
|
44
|
+
const fillText = new Array(itemLen).fill(' ').join(''); // 空格填充
|
|
45
|
+
v = v.substring(0, indexof) + fillText + v.substring(endIndex);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (res.length > 0 && v.includes('@')) {
|
|
49
|
+
// 继续检查剩下文本,是否存在重复@
|
|
50
|
+
const { res: arr, obj: objCopy } = checkHighLight(v);
|
|
51
|
+
res = res.concat(arr);
|
|
52
|
+
obj = { ...obj, ...objCopy };
|
|
53
|
+
}
|
|
54
|
+
return { res, obj };
|
|
55
|
+
};
|
|
56
|
+
const changeValue = (addValue) => {
|
|
57
|
+
var _a;
|
|
58
|
+
const r = range.current;
|
|
59
|
+
(_a = r === null || r === void 0 ? void 0 : r.insertNode) === null || _a === void 0 ? void 0 : _a.call(r, document.createTextNode(addValue));
|
|
60
|
+
onChange(`${value}${addValue}`);
|
|
61
|
+
};
|
|
62
|
+
const getRange = () => {
|
|
63
|
+
// 弹起人员选择弹框
|
|
64
|
+
setSelectPersonModalShow(true);
|
|
65
|
+
// 获取光标选区位置
|
|
66
|
+
const s = window.getSelection();
|
|
67
|
+
const r = s.getRangeAt(0);
|
|
68
|
+
range.current = r;
|
|
69
|
+
};
|
|
70
|
+
const countAtSignal = (value) => {
|
|
71
|
+
let count1 = 0;
|
|
72
|
+
let count2 = 0;
|
|
73
|
+
for (const v of value) {
|
|
74
|
+
if (v === '@') {
|
|
75
|
+
count1 += 1;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
for (const v of copyMsg) {
|
|
79
|
+
if (v === '@') {
|
|
80
|
+
count2 += 1;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return count1 === count2;
|
|
84
|
+
};
|
|
85
|
+
return (React.createElement("div", { className: "highlight-textarea-content" },
|
|
86
|
+
React.createElement("div", { className: "highlight-textarea", onKeyUp: (e) => {
|
|
87
|
+
if (size === 'pc' &&
|
|
88
|
+
e.shiftKey &&
|
|
89
|
+
(e.key === '@' || e.keyCode === 50)) {
|
|
90
|
+
getRange();
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
if (size === 'pc' && e.keyCode === 50) {
|
|
94
|
+
// 判断当下value值是否存在2
|
|
95
|
+
if (!countAtSignal(value)) {
|
|
96
|
+
getRange();
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
// eslint-disable-next-line rulesdir/no-timer
|
|
100
|
+
setTimeout(() => setCopyMsg(value), 300);
|
|
101
|
+
}, onFocus: () => {
|
|
102
|
+
setPlaceholderVisible(false);
|
|
103
|
+
}, onBlur: () => {
|
|
104
|
+
if (!value) {
|
|
105
|
+
setPlaceholderVisible(true);
|
|
106
|
+
}
|
|
107
|
+
} },
|
|
108
|
+
React.createElement(HighlightWithinTextarea, { value: value, onChange: (value) => {
|
|
109
|
+
onChange(value);
|
|
110
|
+
}, highlight: highlightPositions }),
|
|
111
|
+
placeholderVisible && (React.createElement("div", { className: "highlight-textarea-placeholder" }, placeholder))),
|
|
112
|
+
React.createElement(UserSelectModel, { visible: selectPersonModalShow, placeholder: "\u8BF7\u9009\u62E9\u901A\u77E5\u4EBA\u5458", onClose: () => {
|
|
113
|
+
setSelectPersonModalShow(false);
|
|
114
|
+
}, onChange: (val) => {
|
|
115
|
+
let v = '';
|
|
116
|
+
const newOpinionUserMap = { ...opinionUserMap };
|
|
117
|
+
(val || []).forEach((item, index) => {
|
|
118
|
+
const name = `@${item.text}`;
|
|
119
|
+
v = `${v + item.text} `;
|
|
120
|
+
if (index < val.length - 1) {
|
|
121
|
+
v = `${v}@`;
|
|
122
|
+
}
|
|
123
|
+
if (!opinionUserMap[item.value]) {
|
|
124
|
+
newOpinionUserMap[item.value] = name;
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
setOpinionUserMap({ ...newOpinionUserMap });
|
|
128
|
+
changeValue(v || ' ');
|
|
129
|
+
setSelectPersonModalShow(false);
|
|
130
|
+
}, value: [] })));
|
|
131
|
+
};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import React, { useEffect, useRef } from 'react';
|
|
2
|
+
import UserTreeSelect from '../../../form/userOrgSelect';
|
|
3
|
+
export function UserSelect(props) {
|
|
4
|
+
const { multiple = true, isMobile = false, placeholder, visible = false, onClose, } = props;
|
|
5
|
+
useEffect(() => {
|
|
6
|
+
const onBodyClick = (e) => {
|
|
7
|
+
const element = e.target;
|
|
8
|
+
if (element.closest('.wedatea2td-icon-close') ||
|
|
9
|
+
element.closest('.wedatea2td-btn--weak')) {
|
|
10
|
+
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
const evtOptions = { passive: true, capture: true };
|
|
14
|
+
document.addEventListener('click', onBodyClick, evtOptions);
|
|
15
|
+
return () => {
|
|
16
|
+
document.removeEventListener('click', onBodyClick, evtOptions);
|
|
17
|
+
};
|
|
18
|
+
}, []);
|
|
19
|
+
const { userSelectRef } = usePcUserSelectRef(visible);
|
|
20
|
+
const onTreeSelectChange = (value) => {
|
|
21
|
+
var _a, _b;
|
|
22
|
+
const selectedData = multiple ? value.data : [value.data];
|
|
23
|
+
const userList = selectedData === null || selectedData === void 0 ? void 0 : selectedData.map((user) => ({
|
|
24
|
+
text: (user === null || user === void 0 ? void 0 : user.userName) || (user === null || user === void 0 ? void 0 : user.content) || '-',
|
|
25
|
+
value: user.userId,
|
|
26
|
+
}));
|
|
27
|
+
(_a = props === null || props === void 0 ? void 0 : props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, userList || []);
|
|
28
|
+
(_b = props === null || props === void 0 ? void 0 : props.originOnChange) === null || _b === void 0 ? void 0 : _b.call(props, value);
|
|
29
|
+
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
30
|
+
};
|
|
31
|
+
const commonProps = {
|
|
32
|
+
labelVisible: false,
|
|
33
|
+
decorator: null,
|
|
34
|
+
multiple,
|
|
35
|
+
size: 'auto-width',
|
|
36
|
+
defaultValue: props.value || [],
|
|
37
|
+
events: {
|
|
38
|
+
change: onTreeSelectChange,
|
|
39
|
+
},
|
|
40
|
+
placeholder,
|
|
41
|
+
style: {
|
|
42
|
+
display: 'none',
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
const mobileProps = {
|
|
46
|
+
modelType: 'model',
|
|
47
|
+
showType: 'h5',
|
|
48
|
+
dropDownStyle: { width: '190px' },
|
|
49
|
+
modelOpen: visible,
|
|
50
|
+
};
|
|
51
|
+
const pcProps = {
|
|
52
|
+
showType: 'pc',
|
|
53
|
+
outerRef: userSelectRef,
|
|
54
|
+
onClose,
|
|
55
|
+
};
|
|
56
|
+
const selectProps = { ...commonProps, ...(isMobile ? mobileProps : pcProps) };
|
|
57
|
+
return React.createElement(UserTreeSelect, { ...selectProps });
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* 针对Pc改版后的选人组件设置的自定义hook
|
|
61
|
+
*/
|
|
62
|
+
function usePcUserSelectRef(visible) {
|
|
63
|
+
const userSelectRef = useRef();
|
|
64
|
+
useEffect(() => {
|
|
65
|
+
var _a, _b, _c;
|
|
66
|
+
if (visible) {
|
|
67
|
+
(_c = (_b = (_a = userSelectRef.current) === null || _a === void 0 ? void 0 : _a.methods) === null || _b === void 0 ? void 0 : _b.open) === null || _c === void 0 ? void 0 : _c.call(_b);
|
|
68
|
+
}
|
|
69
|
+
}, [visible]);
|
|
70
|
+
return { userSelectRef };
|
|
71
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
.flow-user-select-mobile {
|
|
2
|
+
height: calc(100% - 3.71429rem);
|
|
3
|
+
}
|
|
4
|
+
.flow-user-select-mobile .page-info__wrapper-mobile {
|
|
5
|
+
position: relative;
|
|
6
|
+
height: 100%;
|
|
7
|
+
background: #f2f2f2;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/*# sourceURL=webpack://./src/web/components/flow/components/UserSelectModel/UserSelectMobile.css */
|
|
11
|
+
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy93ZWIvY29tcG9uZW50cy9mbG93L2NvbXBvbmVudHMvVXNlclNlbGVjdE1vZGVsL1VzZXJTZWxlY3RNb2JpbGUuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsK0JBQStCO0FBQ2pDO0FBQ0E7RUFDRSxrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLG1CQUFtQjtBQUNyQiIsInNvdXJjZXNDb250ZW50IjpbIi5mbG93LXVzZXItc2VsZWN0LW1vYmlsZSB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMy43MTQyOXJlbSk7XG59XG4uZmxvdy11c2VyLXNlbGVjdC1tb2JpbGUgLnBhZ2UtaW5mb19fd3JhcHBlci1tb2JpbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0= */
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import React, { useState, useEffect } from 'react';
|
|
2
|
+
import { safeJsonParse } from '../../../../utils/tool';
|
|
3
|
+
import { UserSelect } from './UserSelect';
|
|
4
|
+
import './UserSelectMobile.css';
|
|
5
|
+
export const UserSelectMobile = (props) => {
|
|
6
|
+
const { visible, approveField, mode, close, values } = props;
|
|
7
|
+
const [selected, setSelected] = useState(values);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
const selectedAvatar = sessionStorage.getItem('selected');
|
|
10
|
+
selectedAvatar && setSelected(safeJsonParse(selectedAvatar));
|
|
11
|
+
}, []);
|
|
12
|
+
const handleHighLightSelected = (selectedIds, selectedUser, flowData) => {
|
|
13
|
+
let v = '';
|
|
14
|
+
const { opinionUserMap, approveInfo } = flowData;
|
|
15
|
+
selectedIds.forEach((id) => {
|
|
16
|
+
const user = selectedUser.find((user) => (user === null || user === void 0 ? void 0 : user.UserId) === id) || {};
|
|
17
|
+
const name = `@${user === null || user === void 0 ? void 0 : user.Name}`;
|
|
18
|
+
v = `${v + name} `;
|
|
19
|
+
if (!opinionUserMap[id]) {
|
|
20
|
+
opinionUserMap[id] = name;
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
flowData.approveInfo = approveInfo + v;
|
|
24
|
+
flowData.opinionUserMap = { ...opinionUserMap };
|
|
25
|
+
};
|
|
26
|
+
const saveSelect = (selectedIds, selectedUser) => {
|
|
27
|
+
var _a;
|
|
28
|
+
const flowData = (_a = safeJsonParse(sessionStorage.getItem('FlowActionsMobile'))) !== null && _a !== void 0 ? _a : {};
|
|
29
|
+
if (approveField === 'assigneeIds') {
|
|
30
|
+
flowData.assigneeIds = selectedIds;
|
|
31
|
+
sessionStorage.setItem('hasSignSubmit', 'hasSignSubmit');
|
|
32
|
+
}
|
|
33
|
+
else if (approveField === 'highLightApprovers') {
|
|
34
|
+
handleHighLightSelected(selectedIds, selectedUser, flowData);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
flowData[approveField] = selectedIds;
|
|
38
|
+
}
|
|
39
|
+
sessionStorage.setItem('FlowActionsMobile', JSON.stringify(flowData));
|
|
40
|
+
sessionStorage.setItem(approveField, JSON.stringify(selectedUser));
|
|
41
|
+
close === null || close === void 0 ? void 0 : close();
|
|
42
|
+
};
|
|
43
|
+
const onUserSelectChange = (rows) => {
|
|
44
|
+
var _a;
|
|
45
|
+
const isMultiple = mode === 'multiple';
|
|
46
|
+
const ids = isMultiple ? rows.value : [rows.value];
|
|
47
|
+
const users = (_a = rows.data) === null || _a === void 0 ? void 0 : _a.map((user) => ({
|
|
48
|
+
Name: user.content,
|
|
49
|
+
UserId: user.id,
|
|
50
|
+
}));
|
|
51
|
+
saveSelect(ids, users);
|
|
52
|
+
};
|
|
53
|
+
useEffect(() => {
|
|
54
|
+
let lastTouchEnd = 0;
|
|
55
|
+
const touchstartFn = (event) => {
|
|
56
|
+
if (event.touches.length > 1) {
|
|
57
|
+
event.preventDefault();
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
const touchendFn = (event) => {
|
|
61
|
+
const now = new Date().getTime();
|
|
62
|
+
if (now - lastTouchEnd <= 300) {
|
|
63
|
+
event.preventDefault();
|
|
64
|
+
}
|
|
65
|
+
lastTouchEnd = now;
|
|
66
|
+
};
|
|
67
|
+
const gesturestartFn = (event) => {
|
|
68
|
+
event.preventDefault();
|
|
69
|
+
};
|
|
70
|
+
document.addEventListener('touchstart', touchstartFn);
|
|
71
|
+
document.addEventListener('touchend', touchendFn, false);
|
|
72
|
+
// 阻止双指放大
|
|
73
|
+
document.addEventListener('gesturestart', gesturestartFn);
|
|
74
|
+
return () => {
|
|
75
|
+
document.removeEventListener('touchstart', touchstartFn);
|
|
76
|
+
document.removeEventListener('touchend', touchendFn);
|
|
77
|
+
document.removeEventListener('gesturestart', gesturestartFn);
|
|
78
|
+
};
|
|
79
|
+
}, []);
|
|
80
|
+
return visible ? (React.createElement(UserSelect, { visible: true, isMobile: true, multiple: mode === 'multiple', value: selected, originOnChange: onUserSelectChange, onClose: () => {
|
|
81
|
+
close === null || close === void 0 ? void 0 : close();
|
|
82
|
+
} })) : null;
|
|
83
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { WedaUserTransfer } from '../WedaUserTransfer';
|
|
3
|
+
import { FlowUserSelect } from '../FlowUserSelect';
|
|
4
|
+
import { UserSelect } from './UserSelect';
|
|
5
|
+
import { UserSelectMobile } from './UserSelectMobile';
|
|
6
|
+
const useOld = false;
|
|
7
|
+
export function UserSelectModel(props) {
|
|
8
|
+
if (props.mobileModel) {
|
|
9
|
+
if (useOld) {
|
|
10
|
+
return React.createElement(FlowUserSelect, { ...props });
|
|
11
|
+
}
|
|
12
|
+
return React.createElement(UserSelectMobile, { ...props });
|
|
13
|
+
}
|
|
14
|
+
if (useOld) {
|
|
15
|
+
return React.createElement(WedaUserTransfer, { ...props, setOptions: props === null || props === void 0 ? void 0 : props.onChange });
|
|
16
|
+
}
|
|
17
|
+
return React.createElement(UserSelect, { ...props });
|
|
18
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
.weda-workbench__flow-user-search {
|
|
2
|
+
background-color: #fff !important;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
/*# sourceURL=webpack://./src/web/components/flow/components/WedaUserTransfer/index.css */
|
|
6
|
+
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy93ZWIvY29tcG9uZW50cy9mbG93L2NvbXBvbmVudHMvV2VkYVVzZXJUcmFuc2Zlci9pbmRleC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxpQ0FBaUM7QUFDbkMiLCJzb3VyY2VzQ29udGVudCI6WyIud2VkYS13b3JrYmVuY2hfX2Zsb3ctdXNlci1zZWFyY2gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9 */
|