@cloudbase/weda-ui 3.4.2 → 3.4.4
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 +7 -2
- package/dist/configs/components/chart/line.js +872 -0
- package/dist/configs/components/chart/pie.json +7 -2
- package/dist/configs/components/chart/statisticsCard.json +3 -2
- package/dist/configs/components/container.js +64 -0
- package/dist/configs/components/dataView.js +507 -0
- 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 +4 -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 +57 -1
- package/dist/configs/components/formdetail.json +16 -4
- package/dist/configs/components/graphicCard.json +2 -1
- package/dist/configs/components/grid/col.js +125 -0
- package/dist/configs/components/grid/grid.js +131 -0
- package/dist/configs/components/grid/row.js +143 -0
- package/dist/configs/components/image.js +205 -0
- package/dist/configs/components/link.js +78 -0
- package/dist/configs/components/listView.js +988 -0
- 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 +12 -3
- package/dist/configs/components/pagelayout.json +31 -0
- package/dist/configs/components/repeater-item.json +17 -0
- package/dist/configs/components/repeater.js +125 -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 +777 -0
- package/dist/configs/components/tabs.js +120 -0
- package/dist/configs/components/text.js +120 -0
- package/dist/configs/components/wd-bubble.js +204 -0
- package/dist/configs/components/wd-button.js +417 -0
- package/dist/configs/components/wd-divider.js +89 -0
- package/dist/configs/components/wd-icon.js +126 -0
- package/dist/configs/components/wd-image.js +164 -0
- package/dist/configs/components/wd-link.js +234 -0
- package/dist/configs/components/wd-table.js +59 -0
- package/dist/configs/components/wd-text.js +142 -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 +63 -14
- package/dist/configs/type-utils/index.js +92 -0
- package/dist/docs/common/componentList.js +144 -0
- package/dist/docs/common/components/classes-view.js +34 -0
- package/dist/docs/common/components/event-view.js +46 -0
- package/dist/docs/common/components/json-schema-view.js +18 -0
- package/dist/docs/common/components/methods-view.js +32 -0
- package/dist/docs/common/components/properties-view.js +45 -0
- package/dist/docs/common/format.js +60 -35
- package/dist/docs/common/helper.js +1 -0
- package/dist/docs/common/tableView.js +61 -50
- package/dist/enum/index.js +521 -0
- package/dist/index.js +1 -1
- package/dist/style/index.scss +1 -0
- package/dist/web/actions/showMessage/index.css +0 -3
- package/dist/web/actions/showMessage/index.js +1 -1
- package/dist/web/actions/showModal/index.css +0 -3
- package/dist/web/components/button/index.css +2 -5
- package/dist/web/components/button/index.js +4 -4
- package/dist/web/components/calendar/index.css +29 -32
- package/dist/web/components/calendar/index.js +37 -35
- package/dist/web/components/carousel/index.css +11 -14
- package/dist/web/components/carousel/index.js +13 -6
- package/dist/web/components/chart/common/core/eChartBar.js +10 -2
- package/dist/web/components/chart/common/core/eChartLine.js +16 -8
- package/dist/web/components/chart/common/core/eChartPie.js +2 -1
- package/dist/web/components/chart/statisticsCard/index.css +12 -15
- package/dist/web/components/chart/statisticsCard/index.js +6 -1
- package/dist/web/components/dataView/index.js +3 -3
- package/dist/web/components/emptyContent/index.css +26 -0
- package/dist/web/components/emptyContent/index.js +46 -0
- 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 +4 -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 +116 -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 +42 -0
- package/dist/web/components/flow/components/HighlightTextarea/index.js +131 -0
- package/dist/web/components/flow/components/UserSelectModel/UserSelect.js +74 -0
- package/dist/web/components/flow/components/UserSelectModel/UserSelectMobile.css +8 -0
- package/dist/web/components/flow/components/UserSelectModel/UserSelectMobile.js +86 -0
- package/dist/web/components/flow/components/UserSelectModel/index.js +18 -0
- package/dist/web/components/flow/components/WedaUserTransfer/index.css +3 -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 +80 -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 +75 -0
- package/dist/web/components/flow/frame/types.js +271 -0
- package/dist/web/components/flow/frame/utils.js +90 -0
- package/dist/web/components/flow/modules/basic/Basic.css +16 -0
- package/dist/web/components/flow/modules/basic/Basic.js +48 -0
- package/dist/web/components/flow/modules/basic/BasicMobile.css +29 -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 +87 -0
- package/dist/web/components/flow/modules/chart/index.js +5 -0
- package/dist/web/components/flow/modules/chart/isString.js +5 -0
- package/dist/web/components/flow/modules/combination/index.js +21 -0
- package/dist/web/components/flow/modules/control/ApprovalDrawer.css +144 -0
- package/dist/web/components/flow/modules/control/ApprovalDrawer.js +178 -0
- package/dist/web/components/flow/modules/control/ApprovalPopup.css +115 -0
- package/dist/web/components/flow/modules/control/ApprovalPopup.js +241 -0
- package/dist/web/components/flow/modules/control/Control.css +29 -0
- package/dist/web/components/flow/modules/control/Control.js +93 -0
- package/dist/web/components/flow/modules/control/ControlMobile.css +69 -0
- package/dist/web/components/flow/modules/control/ControlMobile.js +133 -0
- package/dist/web/components/flow/modules/control/FlowTaskInfoModal.css +3 -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 +256 -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 +6 -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 +194 -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.css +2 -5
- package/dist/web/components/form/form/index.js +52 -7
- package/dist/web/components/form/formcell/index.css +29 -17
- package/dist/web/components/form/input/index.css +10 -8
- package/dist/web/components/form/input/index.js +12 -1
- package/dist/web/components/form/location/common/mapChoose.css +88 -91
- package/dist/web/components/form/location/common/selectModal.css +10 -13
- package/dist/web/components/form/location/components/LocationH5/index.css +17 -20
- package/dist/web/components/form/location/components/LocationH5/location.h5.js +2 -3
- package/dist/web/components/form/location/components/LocationH5/location.module.css +0 -3
- package/dist/web/components/form/location/components/LocationPC/index.css +10 -13
- package/dist/web/components/form/location/components/LocationPC/location.PC.js +2 -3
- package/dist/web/components/form/location/index.css +0 -3
- package/dist/web/components/form/radio/index.css +0 -3
- package/dist/web/components/form/select/allTimePicker/calendar.css +15 -18
- package/dist/web/components/form/select/allTimePicker/dataUtils.js +10 -0
- package/dist/web/components/form/select/allTimePicker/index.css +53 -27
- package/dist/web/components/form/select/allTimePicker/index.js +36 -27
- package/dist/web/components/form/select/dropdown-select/h5.js +141 -0
- package/dist/web/components/form/select/dropdown-select/index.css +159 -0
- package/dist/web/components/form/select/dropdown-select/index.js +206 -0
- package/dist/web/components/form/select/dropdown-select/pc.js +113 -0
- package/dist/web/components/form/select/dropdown-select/ui.js +45 -40
- package/dist/web/components/form/select/h5.js +16 -6
- package/dist/web/components/form/select/index.css +17 -6
- package/dist/web/components/form/select/index.js +7 -9
- 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 +63 -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/switch/switch.module.css +0 -3
- package/dist/web/components/form/textarea/index.css +1 -4
- package/dist/web/components/form/textarea/index.js +1 -1
- package/dist/web/components/form/tips/index.css +11 -2
- package/dist/web/components/form/uploader/index.css +14 -17
- 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/index.css +61 -64
- 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 +276 -0
- package/dist/web/components/form/userOrgSelect/common/types.js +1 -0
- package/dist/web/components/form/userOrgSelect/common/utils.js +103 -0
- package/dist/web/components/form/userOrgSelect/component/depart-breadcrumb.js +15 -0
- package/dist/web/components/form/userOrgSelect/component/depart-select/depart-select-pc.js +63 -0
- package/dist/web/components/form/userOrgSelect/component/depart-select/index.js +96 -0
- package/dist/web/components/form/userOrgSelect/component/depart-select/org-modal-pc.js +69 -0
- package/dist/web/components/form/userOrgSelect/component/error-tips.js +11 -0
- package/dist/web/components/form/userOrgSelect/component/index.css +323 -0
- package/dist/web/components/form/userOrgSelect/component/input-tags.js +21 -0
- package/dist/web/components/form/userOrgSelect/component/modal-search-h5.js +25 -0
- package/dist/web/components/form/userOrgSelect/component/modal-search.js +11 -0
- package/dist/web/components/form/userOrgSelect/component/modal-select-h5.js +201 -0
- package/dist/web/components/form/userOrgSelect/component/org-tree-h5.js +19 -0
- package/dist/web/components/form/userOrgSelect/component/org-tree.js +33 -0
- package/dist/web/components/form/userOrgSelect/component/selected-list-h5.js +44 -0
- package/dist/web/components/form/userOrgSelect/component/selected-list.js +15 -0
- package/dist/web/components/form/userOrgSelect/component/user-org-list.js +55 -0
- package/dist/web/components/form/userOrgSelect/component/user-select-h5/index.js +151 -0
- package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-list-h5.js +107 -0
- package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-select-h5.js +50 -0
- package/dist/web/components/form/userOrgSelect/component/user-select-pc/error-tips.js +11 -0
- package/dist/web/components/form/userOrgSelect/component/user-select-pc/model-user-list.js +99 -0
- package/dist/web/components/form/userOrgSelect/component/user-select-pc/org-tree.js +10 -0
- package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-model.js +75 -0
- package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-select-pc.js +65 -0
- package/dist/web/components/form/userOrgSelect/component/userOrgSelect.css +1160 -0
- package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.h5.js +54 -87
- package/dist/web/components/form/userOrgSelect/hooks/use-depart-data.js +88 -0
- package/dist/web/components/form/userOrgSelect/hooks/use-views-data.js +48 -0
- package/dist/web/components/formdetail/index.css +34 -31
- package/dist/web/components/formdetail/index.js +12 -3
- package/dist/web/components/graphicCard/index.css +15 -18
- package/dist/web/components/grid/_utils.css +67 -0
- package/dist/web/components/grid/col.js +33 -0
- package/dist/web/components/grid/grid.css +1185 -0
- package/dist/web/components/grid/grid.js +19 -0
- package/dist/web/components/grid/row.js +14 -0
- package/dist/web/components/image/image.js +9 -1
- package/dist/web/components/image/index.css +2 -5
- package/dist/web/components/image/index.js +1 -1
- package/dist/web/components/index.js +33 -2
- package/dist/web/components/link/index.css +0 -3
- package/dist/web/components/listView/index.css +26 -20
- package/dist/web/components/listView/index.js +234 -81
- package/dist/web/components/lottery/index.css +72 -75
- package/dist/web/components/modal/h5.css +19 -21
- package/dist/web/components/modal/modal.h5.js +12 -11
- package/dist/web/components/modal/modal.pc.js +1 -1
- package/dist/web/components/navLayout/index.css +14 -139
- package/dist/web/components/navigationBar/common.js +5 -4
- package/dist/web/components/navigationBar/h5Menu.js +12 -10
- package/dist/web/components/navigationBar/horizontalMenu.js +42 -35
- package/dist/web/components/navigationBar/index.css +131 -86
- package/dist/web/components/navigationBar/index.js +6 -4
- package/dist/web/components/navigationBar/verticalMenu.js +13 -9
- package/dist/web/components/pageLayout/PageContent/index.css +25 -0
- package/dist/web/components/pageLayout/PageContent/index.js +81 -0
- package/dist/web/components/pageLayout/index.css +4 -0
- package/dist/web/components/pageLayout/index.js +22 -0
- package/dist/web/components/phoneCode/index.js +1 -0
- package/dist/web/components/repeater/index.js +17 -0
- package/dist/web/components/repeater-item/index.js +9 -0
- package/dist/web/components/richText/index.css +8 -7
- package/dist/web/components/richText/index.js +6 -4
- package/dist/web/components/richText/richtext.module.css +2 -5
- package/dist/web/components/richTextView/index.css +7 -10
- package/dist/web/components/swiper/index.css +10 -13
- package/dist/web/components/swiper/index.js +19 -5
- package/dist/web/components/table/BaseTable.js +1240 -0
- package/dist/web/components/table/ExportFileModalByApi/index.css +9 -0
- package/dist/web/components/table/ExportFileModalByApi/index.js +150 -0
- package/dist/web/components/table/FieldRender.js +629 -0
- package/dist/web/components/table/FilterFields.js +518 -0
- package/dist/web/components/table/Form/Enum.js +56 -0
- package/dist/web/components/table/Form/Location.css +11 -0
- package/dist/web/components/table/Form/Location.js +126 -0
- package/dist/web/components/table/ImportFileModal/csvTemplate.json +606 -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/ImportFileModalByApi/index.css +130 -0
- package/dist/web/components/table/ImportFileModalByApi/index.js +321 -0
- package/dist/web/components/table/ImportFileModalByApi/uploadCSVFile.js +115 -0
- package/dist/web/components/table/InOrOutRecordModeal.js +139 -0
- package/dist/web/components/table/QuoteModal.js +16 -0
- package/dist/web/components/table/SelectableBlock/index.css +0 -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 +11 -0
- package/dist/web/components/table/baseTable.css +579 -0
- package/dist/web/components/table/hooks/useImportingStatus.js +69 -0
- package/dist/web/components/table/hooks/useInOutFieldsRecords.js +23 -0
- package/dist/web/components/table/index.css +336 -0
- package/dist/web/components/table/index.js +111 -0
- package/dist/web/components/tabs/index.css +19 -18
- package/dist/web/components/tabs/tabs.h5.js +8 -17
- package/dist/web/components/tabs/tabs.pc.js +1 -1
- package/dist/web/components/text/index.css +7 -9
- package/dist/web/components/text/index.js +2 -2
- package/dist/web/components/uploaderFileView/index.css +0 -3
- package/dist/web/components/uploaderFileView/index.js +6 -5
- package/dist/web/components/uploaderView/index.css +5 -8
- package/dist/web/components/wd-bubble/index.js +3 -0
- package/dist/web/components/wd-bubble/wd-bubble.js +17 -0
- package/dist/web/components/wd-button/convert-legacy-props.js +14 -0
- package/dist/web/components/wd-button/index.js +3 -0
- package/dist/web/components/wd-button/wd-button.js +89 -0
- package/dist/web/components/wd-config-provider/index.js +1 -0
- package/dist/web/components/wd-config-provider/wd-config-context.js +5 -0
- package/dist/web/components/wd-config-provider/wd-config-provider.js +12 -0
- package/dist/web/components/wd-divider/index.js +3 -0
- package/dist/web/components/wd-divider/wd-divider.js +29 -0
- package/dist/web/components/wd-icon/convert-legacy-props.js +14 -0
- package/dist/web/components/wd-icon/index.js +3 -0
- package/dist/web/components/wd-icon/wd-icon.js +63 -0
- package/dist/web/components/wd-image/image.js +171 -0
- package/dist/web/components/wd-image/index.js +82 -0
- package/dist/web/components/wd-link/index.js +3 -0
- package/dist/web/components/wd-link/wd-link.js +105 -0
- package/dist/web/components/wd-table/index.js +3 -0
- package/dist/web/components/wd-table/wd-table.js +24 -0
- package/dist/web/components/wd-text/convert-legacy-props.js +14 -0
- package/dist/web/components/wd-text/index.js +3 -0
- package/dist/web/components/wd-text/wd-text.js +91 -0
- package/dist/web/components/wedaVideo/index.css +2 -5
- package/dist/web/components/wedaVideo/index.js +9 -7
- package/dist/web/index.js +1 -0
- package/dist/web/utils/config-context/index.js +1 -0
- package/dist/web/utils/config-context/use-config.js +9 -0
- package/dist/web/utils/constant.js +95 -1
- package/dist/web/utils/datasource.js +369 -0
- package/dist/web/utils/date.js +137 -0
- package/dist/web/utils/file.js +190 -0
- package/dist/web/utils/getPageQuery.js +16 -0
- package/dist/web/utils/hooks/CreatePortal.js +6 -0
- package/dist/web/utils/hooks/EnumHoc.js +81 -0
- package/dist/web/utils/hooks/context.js +28 -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/{useSetState.js → hooks/useSetState.js} +0 -0
- package/dist/web/utils/{useSyncValue.js → hooks/useSyncValue.js} +0 -0
- package/dist/web/utils/platform.js +137 -28
- package/dist/web/utils/pollingInterface.js +61 -0
- package/dist/web/utils/tcb.js +46 -8
- package/dist/web/utils/tool.js +109 -0
- package/dist/web/utils/widget-api/index.js +18 -0
- package/dist/web/weda-ui.css +128 -4
- package/package.json +59 -29
- 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/dataView.json +0 -290
- package/dist/configs/components/image.json +0 -190
- package/dist/configs/components/link.json +0 -82
- package/dist/configs/components/listView.json +0 -483
- 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/comTool.js +0 -102
- 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/departTreeSelect.pc.js +0 -155
- package/dist/web/components/form/userOrgSelect/departTreeSelect/index.d.ts +0 -2
- package/dist/web/components/form/userOrgSelect/departTreeSelect/index.js +0 -17
- package/dist/web/components/form/userOrgSelect/getUserService.d.ts +0 -11
- package/dist/web/components/form/userOrgSelect/getUserService.js +0 -160
- package/dist/web/components/form/userOrgSelect/index.d.ts +0 -2
- package/dist/web/components/form/userOrgSelect/index.js +0 -17
- package/dist/web/components/form/userOrgSelect/userOrgSelect.css +0 -824
- package/dist/web/components/form/userOrgSelect/userTreeSelect.h5.d.ts +0 -27
- package/dist/web/components/form/userOrgSelect/userTreeSelect.h5.js +0 -278
- 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/form/userOrgSelect/utils.js +0 -95
- 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,178 @@
|
|
|
1
|
+
import React, { useState, useEffect } from 'react';
|
|
2
|
+
import { Drawer, Button, Form, Icon } from 'tea-component';
|
|
3
|
+
import { HighlightTextarea, UserSelectModel } from '../../components';
|
|
4
|
+
import { useControlContext } from './provider';
|
|
5
|
+
import './ApprovalDrawer.css';
|
|
6
|
+
const ExtraDOM = (props) => {
|
|
7
|
+
const {
|
|
8
|
+
// fileList,
|
|
9
|
+
approveInfo, onChange,
|
|
10
|
+
// appCode,
|
|
11
|
+
type, operationName, statusFlag, setStatusFlag, statusMessage, setStatusMessage, opinionUserMap, setOpinionUserMap, setHighlightPositionMap, } = props;
|
|
12
|
+
const approveInfoLabel = type === 'handle' ? `${operationName}意见` : '审批意见';
|
|
13
|
+
return (React.createElement(Form.Item, { label: approveInfoLabel, required: type === 'reject', status: statusFlag, message: statusMessage },
|
|
14
|
+
React.createElement(HighlightTextarea, { value: approveInfo, placeholder: `请输入您的${approveInfoLabel},可@通知他人`, opinionUserMap: opinionUserMap, setOpinionUserMap: setOpinionUserMap, setHighlightPositionMap: setHighlightPositionMap, onChange: (value) => {
|
|
15
|
+
onChange('approveInfo', value);
|
|
16
|
+
setStatusFlag('');
|
|
17
|
+
setStatusMessage(null);
|
|
18
|
+
if (type === 'reject' && !value.trim()) {
|
|
19
|
+
setStatusFlag('error');
|
|
20
|
+
setStatusMessage(`请输入${approveInfoLabel}`);
|
|
21
|
+
}
|
|
22
|
+
if (value.length > 500) {
|
|
23
|
+
setStatusFlag('error');
|
|
24
|
+
setStatusMessage(`${approveInfoLabel}长度不可超过500,请检查`);
|
|
25
|
+
}
|
|
26
|
+
} })));
|
|
27
|
+
};
|
|
28
|
+
const ApprovePerson = (props) => {
|
|
29
|
+
const { label, approvers, show, onChange } = props;
|
|
30
|
+
const removeItem = (index) => {
|
|
31
|
+
const approversAvatar = approvers.filter((item, idx) => idx !== index);
|
|
32
|
+
onChange(approversAvatar);
|
|
33
|
+
};
|
|
34
|
+
return (React.createElement(Form.Item, { label: label, className: "btn-wrapper__black person-btn__wrapper" },
|
|
35
|
+
React.createElement(Button, { onClick: show },
|
|
36
|
+
React.createElement("span", { style: { fontSize: '16px', lineHeight: '16px' } }, "+"),
|
|
37
|
+
" ",
|
|
38
|
+
'人员'),
|
|
39
|
+
approvers.length > 0
|
|
40
|
+
? approvers.map(({ text }, index) => (React.createElement("div", { className: "person-item", key: `person-${index}` },
|
|
41
|
+
React.createElement("span", null, text),
|
|
42
|
+
React.createElement(Icon, { type: "dismiss", onClick: () => removeItem(index) }))))
|
|
43
|
+
: null));
|
|
44
|
+
};
|
|
45
|
+
export const ApprovalDrawer = (props) => {
|
|
46
|
+
var _a, _b, _c, _d, _e, _f;
|
|
47
|
+
const { pageInfo, flowDetail } = props;
|
|
48
|
+
const { handleType, approveDrawerVisible, submitLoading, onTriggerFlowEvent, onApproveDrawerVisibleChange, } = useControlContext();
|
|
49
|
+
const { startAppCode: appCode, currentNodeName: nodeName, operationName, currentApproverName, } = flowDetail || {};
|
|
50
|
+
const { buttons, showCarbonCopy } = pageInfo || {};
|
|
51
|
+
const [fileList, setFileList] = useState((_a = props.fileList) !== null && _a !== void 0 ? _a : []);
|
|
52
|
+
const [approveInfo, setApproveInfo] = useState((_b = props.approveInfo) !== null && _b !== void 0 ? _b : '');
|
|
53
|
+
const [opinionUserMap, setOpinionUserMap] = useState({});
|
|
54
|
+
const [highlightPositionMap, setHighlightPositionMap] = useState({});
|
|
55
|
+
const [approvers, setApprovers] = useState((_c = props.approvers) !== null && _c !== void 0 ? _c : []);
|
|
56
|
+
const [modalVisible, setModalVisible] = useState(false);
|
|
57
|
+
const [statusFlag, setStatusFlag] = useState('');
|
|
58
|
+
const [statusMessage, setStatusMessage] = useState(null);
|
|
59
|
+
const showModal = () => setModalVisible(true);
|
|
60
|
+
const hideModal = () => setModalVisible(false);
|
|
61
|
+
const stateMap = {
|
|
62
|
+
fileList: {
|
|
63
|
+
default: [],
|
|
64
|
+
fn: setFileList,
|
|
65
|
+
},
|
|
66
|
+
// addTag: {
|
|
67
|
+
// default: false,
|
|
68
|
+
// fn: setTagStatus,
|
|
69
|
+
// },
|
|
70
|
+
approveInfo: {
|
|
71
|
+
default: '',
|
|
72
|
+
fn: setApproveInfo,
|
|
73
|
+
},
|
|
74
|
+
approvers: {
|
|
75
|
+
default: [],
|
|
76
|
+
fn: setApprovers,
|
|
77
|
+
},
|
|
78
|
+
statusFlag: {
|
|
79
|
+
default: '',
|
|
80
|
+
fn: setStatusFlag,
|
|
81
|
+
},
|
|
82
|
+
statusMessage: {
|
|
83
|
+
default: null,
|
|
84
|
+
fn: setStatusMessage,
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
const approvalType = {
|
|
88
|
+
agree: {
|
|
89
|
+
title: `${(buttons === null || buttons === void 0 ? void 0 : buttons[1]) || '同意'}`,
|
|
90
|
+
dom: true,
|
|
91
|
+
personLabel: '抄送',
|
|
92
|
+
},
|
|
93
|
+
reject: {
|
|
94
|
+
title: `${(buttons === null || buttons === void 0 ? void 0 : buttons[2]) || '拒绝'}`,
|
|
95
|
+
dom: true,
|
|
96
|
+
personLabel: '抄送',
|
|
97
|
+
},
|
|
98
|
+
transfer: {
|
|
99
|
+
title: '转办',
|
|
100
|
+
dom: false,
|
|
101
|
+
personLabel: '转办',
|
|
102
|
+
},
|
|
103
|
+
handle: {
|
|
104
|
+
title: '处理',
|
|
105
|
+
dom: true,
|
|
106
|
+
personLabel: '处理',
|
|
107
|
+
},
|
|
108
|
+
};
|
|
109
|
+
useEffect(() => {
|
|
110
|
+
if (!approveDrawerVisible) {
|
|
111
|
+
Object.values(stateMap).forEach(({ default: defaultValue, fn }) => fn(defaultValue));
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
// postUserInfo().then((res) => {
|
|
115
|
+
// if (res?.data) {
|
|
116
|
+
// setApprover(res?.data?.name);
|
|
117
|
+
// }
|
|
118
|
+
// });
|
|
119
|
+
}
|
|
120
|
+
}, [approveDrawerVisible]);
|
|
121
|
+
const handleSubmit = () => {
|
|
122
|
+
var _a;
|
|
123
|
+
// const getIdReg = /^(\d+)&(?:user|group),(?:.+)$/;
|
|
124
|
+
if (submitLoading)
|
|
125
|
+
return;
|
|
126
|
+
const obj = {
|
|
127
|
+
operationComment: approveInfo,
|
|
128
|
+
opinionUserMap,
|
|
129
|
+
highlightPositionList: JSON.stringify(highlightPositionMap),
|
|
130
|
+
attachmentInfo: JSON.stringify(fileList),
|
|
131
|
+
ccUserIds: approvers.map((item) => item.value).join(','),
|
|
132
|
+
turnToUserId: (_a = approvers === null || approvers === void 0 ? void 0 : approvers[0]) === null || _a === void 0 ? void 0 : _a.value,
|
|
133
|
+
};
|
|
134
|
+
switch (handleType) {
|
|
135
|
+
case 'agree':
|
|
136
|
+
Reflect.deleteProperty(obj, 'turnToUserId');
|
|
137
|
+
break;
|
|
138
|
+
case 'reject':
|
|
139
|
+
Reflect.deleteProperty(obj, 'ccUserIds');
|
|
140
|
+
Reflect.deleteProperty(obj, 'turnToUserId');
|
|
141
|
+
break;
|
|
142
|
+
case 'transfer':
|
|
143
|
+
Reflect.deleteProperty(obj, 'ccUserIds');
|
|
144
|
+
break;
|
|
145
|
+
}
|
|
146
|
+
onTriggerFlowEvent(obj);
|
|
147
|
+
};
|
|
148
|
+
const onChange = (key, value) => {
|
|
149
|
+
stateMap[key].fn(value);
|
|
150
|
+
};
|
|
151
|
+
return (React.createElement(React.Fragment, null,
|
|
152
|
+
React.createElement(Drawer, { showMask: true, size: 'l', className: "approval-drawer drawer", outerClickClosable: false, visible: approveDrawerVisible, title: handleType === 'handle'
|
|
153
|
+
? `${operationName}意见`
|
|
154
|
+
: `审批意见-${(_d = approvalType === null || approvalType === void 0 ? void 0 : approvalType[handleType]) === null || _d === void 0 ? void 0 : _d.title}`, onClose: onApproveDrawerVisibleChange, footer: React.createElement("div", { className: "btn-wrapper" },
|
|
155
|
+
React.createElement(Button, { className: "submit-btn", type: "primary", loading: submitLoading, onClick: () => {
|
|
156
|
+
if (handleType === 'reject' && !approveInfo.trim()) {
|
|
157
|
+
setStatusFlag('error');
|
|
158
|
+
setStatusMessage('请输入审批意见');
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
if (approveInfo.length > 500) {
|
|
162
|
+
setStatusFlag('error');
|
|
163
|
+
setStatusMessage('审批意见长度不可超过500,请检查');
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
handleSubmit();
|
|
167
|
+
} }, "\u63D0\u4EA4"),
|
|
168
|
+
React.createElement(Button, { onClick: onApproveDrawerVisibleChange }, "\u53D6\u6D88")) },
|
|
169
|
+
React.createElement(Form, { className: "approval-form__drawer" },
|
|
170
|
+
React.createElement(Form.Item, { label: '当前节点' },
|
|
171
|
+
React.createElement("span", { className: "form-item__plain" }, nodeName)),
|
|
172
|
+
React.createElement(Form.Item, { label: handleType === 'handle' ? '处理人' : '审批人' },
|
|
173
|
+
React.createElement("span", { className: "form-item__plain" }, currentApproverName || '--')),
|
|
174
|
+
((_e = approvalType === null || approvalType === void 0 ? void 0 : approvalType[handleType]) === null || _e === void 0 ? void 0 : _e.dom) ? (React.createElement(ExtraDOM, { type: handleType, appCode: appCode, onChange: onChange, fileList: fileList, approveInfo: approveInfo, operationName: operationName, statusFlag: statusFlag, setStatusFlag: setStatusFlag, statusMessage: statusMessage, setStatusMessage: setStatusMessage, opinionUserMap: opinionUserMap, setOpinionUserMap: setOpinionUserMap, setHighlightPositionMap: setHighlightPositionMap })) : null,
|
|
175
|
+
handleType !== 'reject' &&
|
|
176
|
+
(showCarbonCopy || handleType === 'transfer') ? (React.createElement(ApprovePerson, { approvers: approvers, label: (_f = approvalType === null || approvalType === void 0 ? void 0 : approvalType[handleType]) === null || _f === void 0 ? void 0 : _f.personLabel, show: showModal, onChange: (val) => onChange('approvers', val) })) : null)),
|
|
177
|
+
React.createElement(UserSelectModel, { visible: modalVisible, onChange: (val) => onChange('approvers', val), onClose: hideModal, value: approvers === null || approvers === void 0 ? void 0 : approvers.map((item) => item === null || item === void 0 ? void 0 : item.value) })));
|
|
178
|
+
};
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
.cp-vant-popup {
|
|
2
|
+
z-index: 998 !important;
|
|
3
|
+
}
|
|
4
|
+
.cp-vant-popup h3.popup-title {
|
|
5
|
+
padding: 20px 24px 12px;
|
|
6
|
+
}
|
|
7
|
+
.cp-vant-popup .rv-cell {
|
|
8
|
+
padding: 12px 24px;
|
|
9
|
+
}
|
|
10
|
+
.cp-vant-popup .rv-field + .rv-field {
|
|
11
|
+
margin-top: 12px;
|
|
12
|
+
}
|
|
13
|
+
.cp-vant-popup .rv-field__control {
|
|
14
|
+
color: #000;
|
|
15
|
+
}
|
|
16
|
+
.cp-vant-popup .rv-cell:not(:last-child)::after {
|
|
17
|
+
left: 24px;
|
|
18
|
+
right: 24px;
|
|
19
|
+
border-bottom: 1px solid #dcdee6;
|
|
20
|
+
}
|
|
21
|
+
.cp-vant-popup .apa-height-xl.wedatea2td-btn.success-btn {
|
|
22
|
+
padding: 0;
|
|
23
|
+
height: 40px;
|
|
24
|
+
line-height: 40px;
|
|
25
|
+
min-width: 152px;
|
|
26
|
+
position: absolute;
|
|
27
|
+
bottom: 30px;
|
|
28
|
+
left: 20px;
|
|
29
|
+
right: 20px;
|
|
30
|
+
width: calc(100% - 48px);
|
|
31
|
+
}
|
|
32
|
+
.cp-vant-popup .popup-content-wrapper {
|
|
33
|
+
height: calc(100% - 90px);
|
|
34
|
+
overflow: auto;
|
|
35
|
+
}
|
|
36
|
+
.cp-vant-popup h3.popup-title {
|
|
37
|
+
padding: 20px;
|
|
38
|
+
padding-bottom: 10px;
|
|
39
|
+
font-size: 14px;
|
|
40
|
+
}
|
|
41
|
+
.cp-vant-popup .rv-cell {
|
|
42
|
+
padding-left: 20px;
|
|
43
|
+
}
|
|
44
|
+
.cp-vant-popup .upload-cell_wrapper .pant-cell__title {
|
|
45
|
+
display: flex;
|
|
46
|
+
justify-content: space-between;
|
|
47
|
+
}
|
|
48
|
+
.cp-vant-popup .label-execute__btn .rv-cell__value .rv-field__control-wrapper {
|
|
49
|
+
margin-right: 12px;
|
|
50
|
+
justify-content: flex-end;
|
|
51
|
+
color: #2473f2;
|
|
52
|
+
}
|
|
53
|
+
.cp-vant-popup
|
|
54
|
+
.label-execute__btn
|
|
55
|
+
.rv-cell__value
|
|
56
|
+
.rv-field__control-wrapper
|
|
57
|
+
.rv-field__children {
|
|
58
|
+
justify-content: flex-end;
|
|
59
|
+
}
|
|
60
|
+
.cp-vant-popup .label-execute__btn .btn-show-modal {
|
|
61
|
+
display: flex;
|
|
62
|
+
align-items: center;
|
|
63
|
+
}
|
|
64
|
+
.cp-vant-popup .label-execute__btn .apa-icon {
|
|
65
|
+
width: 16px;
|
|
66
|
+
height: 16px;
|
|
67
|
+
display: inline-block;
|
|
68
|
+
vertical-align: middle;
|
|
69
|
+
background-repeat: no-repeat;
|
|
70
|
+
background-position: inherit;
|
|
71
|
+
font-size: 0;
|
|
72
|
+
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTZweCIgaGVpZ2h0PSIxNnB4IiB2aWV3Qm94PSIwIDAgMTYgMTYiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDU4ICg4NDY2MykgLSBodHRwczovL3NrZXRjaC5jb20gLS0+CiAgICA8dGl0bGU+55S75p2/PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGcgaWQ9IueUu+advyIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IuWbvuaghy/mt7vliqAiPgogICAgICAgICAgICA8ZyBpZD0i57yW57uEIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik04LDIuNSBDOC4yNzYxNDIzNywyLjUgOC41LDIuNzIzODU3NjMgOC41LDMgTDguNSw3LjUgTDEzLDcuNSBDMTMuMjc2MTQyNCw3LjUgMTMuNSw3LjcyMzg1NzYzIDEzLjUsOCBDMTMuNSw4LjI3NjE0MjM3IDEzLjI3NjE0MjQsOC41IDEzLDguNSBMOC41LDguNSBMOC41LDEzIEM4LjUsMTMuMjc2MTQyNCA4LjI3NjE0MjM3LDEzLjUgOCwxMy41IEM3LjcyMzg1NzYzLDEzLjUgNy41LDEzLjI3NjE0MjQgNy41LDEzIEw3LjUsOC41IEwzLDguNSBDMi43MjM4NTc2Myw4LjUgMi41LDguMjc2MTQyMzcgMi41LDggQzIuNSw3LjcyMzg1NzYzIDIuNzIzODU3NjMsNy41IDMsNy41IEw3LjUsNy41IEw3LjUsMyBDNy41LDIuNzIzODU3NjMgNy43MjM4NTc2MywyLjUgOCwyLjUgWiIgaWQ9IuW9oueKtue7k+WQiCIgZmlsbD0iIzI0NzNGMiI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9oiIgeD0iMCIgeT0iMCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48L3JlY3Q+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==);
|
|
73
|
+
}
|
|
74
|
+
.pant-popup .success-btn {
|
|
75
|
+
position: absolute;
|
|
76
|
+
bottom: 30px;
|
|
77
|
+
left: 20px;
|
|
78
|
+
right: 20px;
|
|
79
|
+
width: calc(100% - 48px);
|
|
80
|
+
}
|
|
81
|
+
.highlightTextarea-cell_wrapper .rv-cell__title {
|
|
82
|
+
width: 100%;
|
|
83
|
+
}
|
|
84
|
+
.highlightTextarea-cell_wrapper
|
|
85
|
+
.highlightTextarea-mobile__wrapper
|
|
86
|
+
.highlight-textarea {
|
|
87
|
+
border: none;
|
|
88
|
+
color: #000;
|
|
89
|
+
margin-top: 5px;
|
|
90
|
+
}
|
|
91
|
+
.highlightTextarea-cell_wrapper .highlightTextarea-mobile__wrapper .extra-dom {
|
|
92
|
+
position: absolute;
|
|
93
|
+
right: 40px;
|
|
94
|
+
top: 14px;
|
|
95
|
+
color: #006eff;
|
|
96
|
+
cursor: pointer;
|
|
97
|
+
}
|
|
98
|
+
.highlightTextarea-cell_wrapper .rv-cell__value {
|
|
99
|
+
display: none;
|
|
100
|
+
}
|
|
101
|
+
.rv-popup .person-item {
|
|
102
|
+
display: flex;
|
|
103
|
+
justify-content: space-between;
|
|
104
|
+
font-size: 12px;
|
|
105
|
+
background: rgba(220, 222, 230, 0.4);
|
|
106
|
+
padding: 4px 8px;
|
|
107
|
+
line-height: 20px;
|
|
108
|
+
margin: 0 24px;
|
|
109
|
+
}
|
|
110
|
+
.rv-popup .person-item .tea-icon {
|
|
111
|
+
margin-top: 4px;
|
|
112
|
+
}
|
|
113
|
+
.rv-popup .person-item + .person-item {
|
|
114
|
+
margin-top: 4px;
|
|
115
|
+
}
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
import React, { useState, useEffect, useRef } from 'react';
|
|
2
|
+
import { Icon, Button } from 'tea-component';
|
|
3
|
+
import { Popup, Field } from 'react-vant';
|
|
4
|
+
import { HighlightTextarea } from '../../components';
|
|
5
|
+
import { useControlContext } from './provider';
|
|
6
|
+
import { ACTION_TYPE } from './constants';
|
|
7
|
+
import './ApprovalPopup.css';
|
|
8
|
+
const ExtraDOM = (props) => {
|
|
9
|
+
const { type, statusMessage, setStatusMessage, operationName, opinionUserMap, setOpinionUserMap, setHighlightPositionMap, prevFn, onUserSelectModelVisibleChange, onUserSelectModalInfoChange, safeJsonParse, userSelectModelVisible, setApproveComment, } = props;
|
|
10
|
+
const [approveInfo, setApproveInfo] = useState('');
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
if (!userSelectModelVisible) {
|
|
13
|
+
const popupData = sessionStorage.getItem('FlowActionsMobile');
|
|
14
|
+
if (popupData) {
|
|
15
|
+
const { approveInfo: localApproveInfo } = safeJsonParse(popupData);
|
|
16
|
+
setApproveInfo(localApproveInfo);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}, [userSelectModelVisible]);
|
|
20
|
+
const toSelectPerson = () => {
|
|
21
|
+
prevFn === null || prevFn === void 0 ? void 0 : prevFn(approveInfo);
|
|
22
|
+
onUserSelectModelVisibleChange();
|
|
23
|
+
onUserSelectModalInfoChange({
|
|
24
|
+
approveField: 'highLightApprovers',
|
|
25
|
+
mode: 'multiple',
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
const approveInfoLabel = type === 'handle' ? `${operationName}意见` : '审批意见';
|
|
29
|
+
return (React.createElement(React.Fragment, null,
|
|
30
|
+
React.createElement(Field, { className: "highlightTextarea-cell_wrapper", label: React.createElement("div", { className: "highlightTextarea-mobile__wrapper" },
|
|
31
|
+
React.createElement("span", { className: "label" },
|
|
32
|
+
type === 'reject' && React.createElement("span", { style: { color: '#ee0a24' } }, "*"),
|
|
33
|
+
approveInfoLabel),
|
|
34
|
+
React.createElement("span", { onClick: toSelectPerson, className: "extra-dom" }, "@\u67D0\u4EBA"),
|
|
35
|
+
React.createElement(HighlightTextarea, { value: approveInfo || '', size: "mobile", placeholder: `请输入您的${approveInfoLabel},可@通知他人`, opinionUserMap: opinionUserMap, setOpinionUserMap: setOpinionUserMap, setHighlightPositionMap: setHighlightPositionMap, onChange: (value) => {
|
|
36
|
+
setApproveComment(value);
|
|
37
|
+
setApproveInfo(value);
|
|
38
|
+
setStatusMessage(null);
|
|
39
|
+
if (type === 'reject' && !value.trim()) {
|
|
40
|
+
setStatusMessage(`请输入${approveInfoLabel}`);
|
|
41
|
+
}
|
|
42
|
+
if (value.length > 500) {
|
|
43
|
+
setStatusMessage(`${approveInfoLabel}长度不可超过500,请检查`);
|
|
44
|
+
}
|
|
45
|
+
} }),
|
|
46
|
+
statusMessage && (React.createElement("div", { className: "pant-field__error-message" }, statusMessage))), placeholder: "" })));
|
|
47
|
+
};
|
|
48
|
+
const ApprovePerson = (props) => {
|
|
49
|
+
const { label, onChange, approvers, prevFn, type, approveField = 'approvers', onUserSelectModelVisibleChange, onUserSelectModalInfoChange, safeJsonParse, } = props;
|
|
50
|
+
const getUserMap = () => {
|
|
51
|
+
var _a;
|
|
52
|
+
return (_a = safeJsonParse(sessionStorage.getItem('approvers'))) === null || _a === void 0 ? void 0 : _a.reduce((p, c) => {
|
|
53
|
+
// eslint-disable-next-line no-param-reassign
|
|
54
|
+
p[c === null || c === void 0 ? void 0 : c.UserId] = c === null || c === void 0 ? void 0 : c.Name;
|
|
55
|
+
return p;
|
|
56
|
+
}, {});
|
|
57
|
+
};
|
|
58
|
+
const toSelectPerson = () => {
|
|
59
|
+
prevFn === null || prevFn === void 0 ? void 0 : prevFn();
|
|
60
|
+
onUserSelectModelVisibleChange();
|
|
61
|
+
onUserSelectModalInfoChange({
|
|
62
|
+
approveField,
|
|
63
|
+
mode: [ACTION_TYPE.AGREE, ACTION_TYPE.TRANSFER].includes(type)
|
|
64
|
+
? 'multiple'
|
|
65
|
+
: 'single',
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
const removeItem = (index) => {
|
|
69
|
+
const approversAvatar = approvers.filter((item, idx) => idx !== index);
|
|
70
|
+
onChange(approversAvatar);
|
|
71
|
+
};
|
|
72
|
+
return (React.createElement(React.Fragment, null,
|
|
73
|
+
React.createElement(Field, { label: React.createElement(React.Fragment, null,
|
|
74
|
+
React.createElement("span", { className: "label" }, label)), className: "label-execute__btn", name: "approvers", placeholder: "" },
|
|
75
|
+
React.createElement("span", { className: "btn-show-modal", onClick: toSelectPerson },
|
|
76
|
+
React.createElement("i", { className: "apa-icon apa-icon-plus-blue" }),
|
|
77
|
+
"\u4EBA\u5458")),
|
|
78
|
+
(approvers === null || approvers === void 0 ? void 0 : approvers.length) > 0
|
|
79
|
+
? approvers === null || approvers === void 0 ? void 0 : approvers.map((item, index) => {
|
|
80
|
+
var _a;
|
|
81
|
+
return (React.createElement("div", { className: "person-item", key: `person-item_${index}` },
|
|
82
|
+
React.createElement("span", null, ((_a = getUserMap()) === null || _a === void 0 ? void 0 : _a[item]) || item),
|
|
83
|
+
React.createElement(Icon, { type: "dismiss", onClick: () => removeItem(index) })));
|
|
84
|
+
})
|
|
85
|
+
: null));
|
|
86
|
+
};
|
|
87
|
+
export const ApprovalPopup = (props) => {
|
|
88
|
+
var _a, _b, _c;
|
|
89
|
+
const { pageInfo, flowDetail, safeJsonParse } = props;
|
|
90
|
+
const { handleType, approveDrawerVisible, submitLoading, approver, approvers, fileList, opinionUserMap, highlightPositionMap, userSelectModelVisible, setFileList, setApprovers, setApprover, setOpinionUserMap, setHighlightPositionMap, onApproveDrawerVisibleChange, onUserSelectModelVisibleChange, onUserSelectModalInfoChange, onTriggerFlowEvent, } = useControlContext();
|
|
91
|
+
const { startAppCode: appCode, currentNodeName: nodeName, operationName, currentApproverName, } = flowDetail || {};
|
|
92
|
+
const { buttons, showCarbonCopy } = pageInfo || {};
|
|
93
|
+
const [statusMessage, setStatusMessage] = useState('');
|
|
94
|
+
const approveInfoRef = useRef('');
|
|
95
|
+
const stateMap = {
|
|
96
|
+
fileList: {
|
|
97
|
+
default: [],
|
|
98
|
+
fn: setFileList,
|
|
99
|
+
},
|
|
100
|
+
approvers: {
|
|
101
|
+
default: [],
|
|
102
|
+
fn: setApprovers,
|
|
103
|
+
},
|
|
104
|
+
approver: {
|
|
105
|
+
default: '',
|
|
106
|
+
fn: setApprover,
|
|
107
|
+
},
|
|
108
|
+
statusMessage: {
|
|
109
|
+
default: '',
|
|
110
|
+
fn: setStatusMessage,
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
const approvalType = {
|
|
114
|
+
agree: {
|
|
115
|
+
title: `${(buttons === null || buttons === void 0 ? void 0 : buttons[1]) || '同意'}`,
|
|
116
|
+
dom: true,
|
|
117
|
+
personLabel: '抄送',
|
|
118
|
+
},
|
|
119
|
+
reject: {
|
|
120
|
+
title: `${(buttons === null || buttons === void 0 ? void 0 : buttons[2]) || '拒绝'}`,
|
|
121
|
+
dom: true,
|
|
122
|
+
personLabel: '抄送',
|
|
123
|
+
},
|
|
124
|
+
transfer: {
|
|
125
|
+
title: '转办',
|
|
126
|
+
dom: false,
|
|
127
|
+
personLabel: '转办',
|
|
128
|
+
},
|
|
129
|
+
handle: {
|
|
130
|
+
title: '处理',
|
|
131
|
+
dom: true,
|
|
132
|
+
personLabel: '抄送',
|
|
133
|
+
},
|
|
134
|
+
};
|
|
135
|
+
useEffect(() => {
|
|
136
|
+
if (!approveDrawerVisible) {
|
|
137
|
+
// resetValue?.();
|
|
138
|
+
Object.values(stateMap).forEach(({ default: defaultValue, fn }) => fn(defaultValue));
|
|
139
|
+
}
|
|
140
|
+
else if (!approver) {
|
|
141
|
+
if (!props.approver) {
|
|
142
|
+
// postUserInfo().then((res) => {
|
|
143
|
+
// if (res?.data) {
|
|
144
|
+
// setApprover(res?.data?.name);
|
|
145
|
+
// }
|
|
146
|
+
// });
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
Object.entries(stateMap).forEach(([key, value]) => value.fn(props[key]));
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}, [approveDrawerVisible]);
|
|
153
|
+
useEffect(() => {
|
|
154
|
+
setApprovers(props.approvers);
|
|
155
|
+
}, [props.approvers]);
|
|
156
|
+
useEffect(() => {
|
|
157
|
+
setFileList(props.fileList);
|
|
158
|
+
}, [props.fileList]);
|
|
159
|
+
useEffect(() => {
|
|
160
|
+
var _a;
|
|
161
|
+
setOpinionUserMap((_a = props.opinionUserMap) !== null && _a !== void 0 ? _a : {});
|
|
162
|
+
}, [props.opinionUserMap]);
|
|
163
|
+
useEffect(() => {
|
|
164
|
+
var _a;
|
|
165
|
+
setHighlightPositionMap((_a = props.highlightPositionMap) !== null && _a !== void 0 ? _a : {});
|
|
166
|
+
}, [props.highlightPositionMap]);
|
|
167
|
+
const onChange = (key, value) => {
|
|
168
|
+
stateMap[key].fn(value);
|
|
169
|
+
};
|
|
170
|
+
const handleSubmit = () => {
|
|
171
|
+
var _a;
|
|
172
|
+
const obj = {
|
|
173
|
+
operationComment: approveInfoRef.current || '',
|
|
174
|
+
opinionUserMap,
|
|
175
|
+
highlightPositionList: JSON.stringify(highlightPositionMap),
|
|
176
|
+
attachmentInfo: JSON.stringify(fileList),
|
|
177
|
+
ccUserIds: approvers === null || approvers === void 0 ? void 0 : approvers.map((item) => item.value).join(','),
|
|
178
|
+
turnToUserId: (_a = approvers === null || approvers === void 0 ? void 0 : approvers[0]) === null || _a === void 0 ? void 0 : _a.value,
|
|
179
|
+
};
|
|
180
|
+
switch (handleType) {
|
|
181
|
+
case 'agree':
|
|
182
|
+
Reflect.deleteProperty(obj, 'turnToUserId');
|
|
183
|
+
break;
|
|
184
|
+
case 'reject':
|
|
185
|
+
Reflect.deleteProperty(obj, 'ccUserIds');
|
|
186
|
+
Reflect.deleteProperty(obj, 'turnToUserId');
|
|
187
|
+
break;
|
|
188
|
+
case 'transfer':
|
|
189
|
+
Reflect.deleteProperty(obj, 'ccUserIds');
|
|
190
|
+
break;
|
|
191
|
+
}
|
|
192
|
+
onTriggerFlowEvent(obj);
|
|
193
|
+
};
|
|
194
|
+
const dynamiticHeight = handleType === 'transfer' ? '500px' : '540px';
|
|
195
|
+
const saveTemp = (approveInfo) => {
|
|
196
|
+
approveInfoRef.current = approveInfo;
|
|
197
|
+
const temp = {
|
|
198
|
+
fileList,
|
|
199
|
+
approveInfo,
|
|
200
|
+
opinionUserMap,
|
|
201
|
+
highlightPositionMap,
|
|
202
|
+
approvers,
|
|
203
|
+
handleType,
|
|
204
|
+
approveDrawerVisible,
|
|
205
|
+
appCode,
|
|
206
|
+
// addApprovers,
|
|
207
|
+
// tagType,
|
|
208
|
+
// addTag,
|
|
209
|
+
nodeName,
|
|
210
|
+
approver,
|
|
211
|
+
};
|
|
212
|
+
sessionStorage.setItem('FlowActionsMobile', JSON.stringify(temp));
|
|
213
|
+
};
|
|
214
|
+
const setApproveComment = (value) => {
|
|
215
|
+
approveInfoRef.current = value;
|
|
216
|
+
};
|
|
217
|
+
return (React.createElement(React.Fragment, null,
|
|
218
|
+
React.createElement(Popup, { visible: approveDrawerVisible, position: "bottom", style: { height: dynamiticHeight }, onClose: onApproveDrawerVisibleChange, closeable: true, className: "cp-vant-popup", overlayStyle: { zIndex: 998 } },
|
|
219
|
+
React.createElement(React.Fragment, null,
|
|
220
|
+
React.createElement("div", { className: "popup-content-wrapper" },
|
|
221
|
+
React.createElement("h3", { className: "popup-title" }, handleType === 'handle'
|
|
222
|
+
? `${operationName}意见`
|
|
223
|
+
: `审批意见 - ${(_a = approvalType === null || approvalType === void 0 ? void 0 : approvalType[handleType]) === null || _a === void 0 ? void 0 : _a.title}`),
|
|
224
|
+
React.createElement(Field, { value: nodeName, label: "\u5F53\u524D\u8282\u70B9", readOnly: true }),
|
|
225
|
+
React.createElement(Field, { value: currentApproverName || '-', label: handleType === 'handle' ? '处理人' : '审批人', readOnly: true }),
|
|
226
|
+
((_b = approvalType === null || approvalType === void 0 ? void 0 : approvalType[handleType]) === null || _b === void 0 ? void 0 : _b.dom) && approveDrawerVisible ? (React.createElement(ExtraDOM, { type: handleType, appCode: appCode, onChange: onChange, fileList: fileList, operationName: operationName, statusMessage: statusMessage, setStatusMessage: setStatusMessage, opinionUserMap: opinionUserMap, setOpinionUserMap: setOpinionUserMap, setHighlightPositionMap: setHighlightPositionMap, prevFn: saveTemp, onUserSelectModelVisibleChange: onUserSelectModelVisibleChange, onUserSelectModalInfoChange: onUserSelectModalInfoChange, safeJsonParse: safeJsonParse, userSelectModelVisible: userSelectModelVisible, setApproveComment: setApproveComment })) : null,
|
|
227
|
+
handleType !== 'reject' &&
|
|
228
|
+
(showCarbonCopy || handleType === 'transfer') ? (React.createElement(ApprovePerson, { type: handleType, prevFn: saveTemp, approvers: approvers, label: (_c = approvalType === null || approvalType === void 0 ? void 0 : approvalType[handleType]) === null || _c === void 0 ? void 0 : _c.personLabel, onChange: (val) => onChange('approvers', val), onUserSelectModelVisibleChange: onUserSelectModelVisibleChange, onUserSelectModalInfoChange: onUserSelectModalInfoChange, safeJsonParse: safeJsonParse })) : null),
|
|
229
|
+
React.createElement(Button, { className: "success-btn apa-height-xl", type: "primary", loading: submitLoading, onClick: () => {
|
|
230
|
+
var _a;
|
|
231
|
+
if (handleType === 'reject' && !approveInfoRef.current.trim()) {
|
|
232
|
+
setStatusMessage('请输入审批意见');
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
if (((_a = approveInfoRef.current) === null || _a === void 0 ? void 0 : _a.length) > 500) {
|
|
236
|
+
setStatusMessage('审批意见长度不可超过500,请检查');
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
handleSubmit();
|
|
240
|
+
} }, "\u63D0\u4EA4")))));
|
|
241
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
.page-process__progress__app-page {
|
|
2
|
+
height: auto;
|
|
3
|
+
}
|
|
4
|
+
.mf-progress-footer__app-page {
|
|
5
|
+
left: 233px;
|
|
6
|
+
}
|
|
7
|
+
.page-process__progress .mf-progress-footer {
|
|
8
|
+
overflow-x: auto;
|
|
9
|
+
background: #fff;
|
|
10
|
+
text-align: center;
|
|
11
|
+
padding: 20px;
|
|
12
|
+
}
|
|
13
|
+
.page-process__progress .mf-progress-footer .mf-progress-footer__btn-line {
|
|
14
|
+
position: relative;
|
|
15
|
+
margin-left: 24px;
|
|
16
|
+
}
|
|
17
|
+
.page-process__progress
|
|
18
|
+
.mf-progress-footer
|
|
19
|
+
.mf-progress-footer__btn-line:before {
|
|
20
|
+
border-left: 1px solid rgba(0, 0, 0, 0.25);
|
|
21
|
+
height: 30px;
|
|
22
|
+
content: '';
|
|
23
|
+
position: absolute;
|
|
24
|
+
top: 3px;
|
|
25
|
+
left: -13px;
|
|
26
|
+
}
|
|
27
|
+
.mf-progress-footer__btn-group {
|
|
28
|
+
display: inline-flex;
|
|
29
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Button, Modal, Form, Select } from 'tea-component';
|
|
3
|
+
import classNames from '../../../../utils/classnames';
|
|
4
|
+
import { UserSelectModel } from '../../components';
|
|
5
|
+
import { useControlContext } from './provider';
|
|
6
|
+
import { ACTION_TYPE } from './constants';
|
|
7
|
+
import { ApprovalDrawer } from './ApprovalDrawer';
|
|
8
|
+
import { FlowTaskInfoModal } from './FlowTaskInfoModal';
|
|
9
|
+
import './Control.css';
|
|
10
|
+
export const FlowControl = (props) => {
|
|
11
|
+
const { commonFlowData, flowLocalProps, ide } = props;
|
|
12
|
+
const { flowDetail, pageInfo } = commonFlowData;
|
|
13
|
+
const { isWedaIde, currentPageType } = flowLocalProps;
|
|
14
|
+
const {
|
|
15
|
+
// ControlModel
|
|
16
|
+
userModalVisible, submitApplyLoading, ccUserModelVisible, ccUsers, ifSubmitAndCc, hasGoBack, setCcUsers, setCcUserModelVisible, onControlChick, setUserModalVisible, onUserModalVisibleChange, onAddCounterSign, onBackFlowCenter,
|
|
17
|
+
// RevokeModel
|
|
18
|
+
showRevokeModal, showBackModal, backNodeList, backNode, setShowRevokeModal, doneRevokeFn, doneBackFn, setShowBackModal, getNodeList, setBackNode, } = useControlContext();
|
|
19
|
+
const onClickGoBack = async () => {
|
|
20
|
+
await getNodeList();
|
|
21
|
+
setShowBackModal(true);
|
|
22
|
+
};
|
|
23
|
+
const footerClassNames = classNames('mf-progress-footer', {
|
|
24
|
+
'mf-progress-footer__app-page': !isWedaIde,
|
|
25
|
+
});
|
|
26
|
+
const containerClassNames = classNames('page-process__progress', {
|
|
27
|
+
'page-process__progress__app-page': !isWedaIde,
|
|
28
|
+
});
|
|
29
|
+
const renderButtonGroup = () => {
|
|
30
|
+
var _a, _b;
|
|
31
|
+
if (hasGoBack)
|
|
32
|
+
return null;
|
|
33
|
+
if (['CREATE', 'DONE'].includes(currentPageType) && (pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.showRevoke)) {
|
|
34
|
+
return (React.createElement("div", { className: footerClassNames },
|
|
35
|
+
React.createElement(Button, { type: "weak", onClick: () => setShowRevokeModal(true) }, "\u64A4\u9500")));
|
|
36
|
+
}
|
|
37
|
+
if (['DRAFT', 'CREATEFLOW', 'TODO'].includes(currentPageType) &&
|
|
38
|
+
(pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.show)) {
|
|
39
|
+
if (pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.showSubmitApp) {
|
|
40
|
+
return (React.createElement("div", { className: footerClassNames },
|
|
41
|
+
React.createElement(ButtonLayout, { gap: 10 },
|
|
42
|
+
ifSubmitAndCc ? (React.createElement(Button, { type: "link", onClick: () => setCcUserModelVisible(true) },
|
|
43
|
+
"+\u6284\u9001\u4EBA(",
|
|
44
|
+
ccUsers.length || 0,
|
|
45
|
+
")")) : null,
|
|
46
|
+
React.createElement(Button, { type: "primary", loading: submitApplyLoading, onClick: (e) => onControlChick(ACTION_TYPE.SUBMIT, e) }, ((_a = pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.buttons) === null || _a === void 0 ? void 0 : _a[3]) || '提交申请'),
|
|
47
|
+
(flowDetail === null || flowDetail === void 0 ? void 0 : flowDetail.canDelete) && (React.createElement(React.Fragment, null,
|
|
48
|
+
React.createElement(Button, { type: "weak", onClick: (e) => onControlChick(ACTION_TYPE.SAVE_DRAFT, e) }, "\u4FDD\u5B58\u8349\u7A3F"),
|
|
49
|
+
React.createElement(Button, { type: "weak", onClick: onBackFlowCenter }, "\u53D6\u6D88"))))));
|
|
50
|
+
}
|
|
51
|
+
return (React.createElement("div", { className: footerClassNames },
|
|
52
|
+
React.createElement(ButtonLayout, null,
|
|
53
|
+
(flowDetail === null || flowDetail === void 0 ? void 0 : flowDetail.userTaskType) === 2 ? (React.createElement(Button, { type: "primary", onClick: (e) => onControlChick(ACTION_TYPE.HANDLE, e) }, flowDetail === null || flowDetail === void 0 ? void 0 : flowDetail.operationName)) : (React.createElement(ButtonLayout, { gap: 10 },
|
|
54
|
+
React.createElement(Button, { type: "primary", onClick: (e) => onControlChick(ACTION_TYPE.AGREE, e) }, (pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.buttons) ? pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.buttons[1] : '同意'),
|
|
55
|
+
React.createElement(Button, { type: "weak", onClick: (e) => onControlChick(ACTION_TYPE.REJECT, e) }, (pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.buttons) ? pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.buttons[2] : '拒绝'))),
|
|
56
|
+
(pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.showTurnToPerson) ? (React.createElement(Button, { type: "weak", className: "mf-progress-footer__btn-line", onClick: (e) => onControlChick(ACTION_TYPE.TRANSFER, e) }, "\u8F6C\u529E")) : null,
|
|
57
|
+
(pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.showRollBack) && (React.createElement(Button, { type: "weak", className: "mf-progress-footer__btn-line", onClick: onClickGoBack }, "\u56DE\u9000")),
|
|
58
|
+
(pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.showAddAssignee) && (React.createElement(Button, { type: "weak", className: "mf-progress-footer__btn-line", onClick: onUserModalVisibleChange }, "\u52A0\u7B7E")))));
|
|
59
|
+
}
|
|
60
|
+
if (['DRAFT', 'CREATEFLOW'].includes(currentPageType)) {
|
|
61
|
+
return (React.createElement("div", { className: footerClassNames },
|
|
62
|
+
React.createElement(Button, { type: "primary", loading: submitApplyLoading, onClick: (e) => onControlChick(ACTION_TYPE.SUBMIT, e) }, ((_b = pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.buttons) === null || _b === void 0 ? void 0 : _b[3]) || '提交申请'),
|
|
63
|
+
React.createElement(Button, { type: "weak", onClick: (e) => onControlChick(ACTION_TYPE.SAVE_DRAFT, e) }, "\u4FDD\u5B58\u8349\u7A3F"),
|
|
64
|
+
React.createElement(Button, { type: "weak", onClick: onBackFlowCenter }, "\u53D6\u6D88")));
|
|
65
|
+
}
|
|
66
|
+
return null;
|
|
67
|
+
};
|
|
68
|
+
return (
|
|
69
|
+
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
70
|
+
React.createElement("div", { ...ide },
|
|
71
|
+
React.createElement("div", { className: containerClassNames },
|
|
72
|
+
renderButtonGroup(),
|
|
73
|
+
React.createElement(Modal, { visible: showBackModal, caption: '流程回退', onClose: () => setShowBackModal(false) },
|
|
74
|
+
React.createElement(Modal.Body, null,
|
|
75
|
+
React.createElement(Form, null,
|
|
76
|
+
React.createElement(Form.Item, { label: '选择回退节点' },
|
|
77
|
+
React.createElement(Select, { size: "full", appearance: "button", matchButtonWidth: true, options: backNodeList, value: backNode, onChange: (value) => setBackNode(value) })))),
|
|
78
|
+
React.createElement(Modal.Footer, null,
|
|
79
|
+
React.createElement(Button, { type: "primary", disabled: (backNodeList === null || backNodeList === void 0 ? void 0 : backNodeList.length) === 0, onClick: () => doneBackFn() }, "\u786E\u5B9A"),
|
|
80
|
+
React.createElement(Button, { type: "weak", onClick: () => setShowBackModal(false) }, "\u53D6\u6D88"))),
|
|
81
|
+
React.createElement(Modal, { visible: showRevokeModal, caption: '撤销流程提醒', onClose: () => setShowRevokeModal(false) },
|
|
82
|
+
React.createElement(Modal.Body, null, '流程正在进行中,确认撤销此流程?'),
|
|
83
|
+
React.createElement(Modal.Footer, null,
|
|
84
|
+
React.createElement(Button, { type: "primary", onClick: doneRevokeFn }, "\u786E\u5B9A"),
|
|
85
|
+
React.createElement(Button, { type: "weak", onClick: () => setShowRevokeModal(false) }, "\u53D6\u6D88"))),
|
|
86
|
+
React.createElement(UserSelectModel, { visible: userModalVisible, onChange: (val) => val.length && onAddCounterSign(val), onClose: () => setUserModalVisible(false) }),
|
|
87
|
+
React.createElement(UserSelectModel, { value: ccUsers, visible: ccUserModelVisible, onChange: (val) => val.length && setCcUsers(val), onClose: () => setCcUserModelVisible(false) }),
|
|
88
|
+
React.createElement(FlowTaskInfoModal, null),
|
|
89
|
+
React.createElement(ApprovalDrawer, { pageInfo: pageInfo, flowDetail: flowDetail }))));
|
|
90
|
+
};
|
|
91
|
+
export const ButtonLayout = ({ children, gap }) => {
|
|
92
|
+
return (React.createElement("div", { className: "mf-progress-footer__btn-group", style: { gap: gap || 0 } }, children));
|
|
93
|
+
};
|