@cloudbase/weda-ui 3.4.5 → 3.4.7

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.
Files changed (129) hide show
  1. package/dist/configs/components/form/input.json +48 -2
  2. package/dist/configs/components/form/richText.json +2 -1
  3. package/dist/configs/components/form/uploader.json +62 -14
  4. package/dist/configs/components/grid/col.js +4 -1
  5. package/dist/configs/components/grid/grid.js +8 -3
  6. package/dist/configs/components/grid/row.js +51 -3
  7. package/dist/configs/components/repeater.js +4 -1
  8. package/dist/configs/components/table.json +1 -0
  9. package/dist/configs/components/wd-bubble.js +6 -0
  10. package/dist/configs/components/wd-button.js +6 -0
  11. package/dist/configs/components/wd-divider.js +7 -18
  12. package/dist/configs/components/wd-icon.js +7 -0
  13. package/dist/configs/components/wd-image.js +7 -0
  14. package/dist/configs/components/wd-link.js +7 -2
  15. package/dist/configs/components/wd-text.js +14 -6
  16. package/dist/configs/index.js +0 -2
  17. package/dist/docs/common/componentList.js +1 -1
  18. package/dist/web/actions/showModal/index.js +1 -1
  19. package/dist/web/components/calendar/index.js +2 -2
  20. package/dist/web/components/flow/components/index.js +0 -4
  21. package/dist/web/components/flow/frame/index.js +4 -3
  22. package/dist/web/components/flow/frame/types.js +11 -5
  23. package/dist/web/components/flow/frame/utils.js +60 -1
  24. package/dist/web/components/flow/modules/chart/Chart.js +2 -3
  25. package/dist/web/components/flow/modules/combination/index.js +1 -1
  26. package/dist/web/components/flow/modules/operations/components/button/index.js +11 -0
  27. package/dist/web/components/flow/modules/operations/components/button/style.css +5 -0
  28. package/dist/web/components/flow/modules/operations/components/index.js +6 -0
  29. package/dist/web/components/flow/modules/operations/components/popup/index.js +100 -0
  30. package/dist/web/components/flow/modules/operations/components/popup/style.css +154 -0
  31. package/dist/web/components/flow/modules/operations/components/popup/types.js +1 -0
  32. package/dist/web/components/flow/modules/operations/components/user-select/index.js +43 -0
  33. package/dist/web/components/flow/modules/operations/components/user-select/style.css +4 -0
  34. package/dist/web/components/flow/modules/operations/components/user-select/types.js +1 -0
  35. package/dist/web/components/flow/modules/operations/config/approval-form-config.js +140 -0
  36. package/dist/web/components/flow/modules/operations/config/control-config.js +218 -0
  37. package/dist/web/components/flow/modules/operations/config/index.js +2 -0
  38. package/dist/web/components/flow/modules/operations/config/types.js +1 -0
  39. package/dist/web/components/flow/modules/operations/control.js +26 -0
  40. package/dist/web/components/flow/modules/operations/controls-items/add-assignee-btn.js +33 -0
  41. package/dist/web/components/flow/modules/operations/controls-items/apply-cc-btn.js +12 -0
  42. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/comment/index.js +188 -0
  43. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/comment/style.css +51 -0
  44. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/drawer-form/index.js +64 -0
  45. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/drawer-form/types.js +1 -0
  46. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/drawer-form/view-model.js +83 -0
  47. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/field/index.js +16 -0
  48. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/field/style.css +56 -0
  49. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/index.js +47 -0
  50. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/style.css +60 -0
  51. package/dist/web/components/flow/modules/operations/controls-items/cancel-apply-btn.js +15 -0
  52. package/dist/web/components/flow/modules/operations/controls-items/check-list-popup/index.js +11 -0
  53. package/dist/web/components/flow/modules/operations/controls-items/check-list-popup/style.css +26 -0
  54. package/dist/web/components/flow/modules/operations/controls-items/flow-task-info-modal.js +98 -0
  55. package/dist/web/components/flow/modules/operations/controls-items/index.js +18 -0
  56. package/dist/web/components/flow/modules/operations/controls-items/initiation-btn.js +25 -0
  57. package/dist/web/components/flow/modules/operations/controls-items/revoke-modal/index.js +50 -0
  58. package/dist/web/components/flow/modules/operations/controls-items/revoke-modal/style.css +28 -0
  59. package/dist/web/components/flow/modules/operations/controls-items/roll-back-modal.js +104 -0
  60. package/dist/web/components/flow/modules/operations/controls-items/types.js +1 -0
  61. package/dist/web/components/flow/modules/operations/index.js +2 -0
  62. package/dist/web/components/flow/modules/operations/style.css +20 -0
  63. package/dist/web/components/flow/modules/operations/view-model.js +137 -0
  64. package/dist/web/components/flow/services/ideData/instance.js +2 -2
  65. package/dist/web/components/flow/services/ideData/pageDetail.js +1 -0
  66. package/dist/web/components/form/uploader/index.css +19 -0
  67. package/dist/web/components/form/uploader/index.js +21 -3
  68. package/dist/web/components/form/uploader/uploader.h5.js +14 -8
  69. package/dist/web/components/form/uploader/uploader.pc.js +29 -16
  70. package/dist/web/components/form/uploaderFile/index.css +5 -2
  71. package/dist/web/components/form/uploaderFile/uploadFile.h5.js +15 -12
  72. package/dist/web/components/form/uploaderFile/uploadFile.pc.js +11 -8
  73. package/dist/web/components/form/userOrgSelect/common/fetch-data-service.js +0 -1
  74. package/dist/web/components/form/userOrgSelect/component/depart-select/index.js +1 -1
  75. package/dist/web/components/form/userOrgSelect/component/user-select-h5/index.js +9 -5
  76. package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-select-h5.js +4 -2
  77. package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-model.js +2 -2
  78. package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-select-pc.js +4 -2
  79. package/dist/web/components/grid/col.js +81 -18
  80. package/dist/web/components/grid/grid.js +1 -1
  81. package/dist/web/components/grid/row.js +4 -2
  82. package/dist/web/components/index.js +1 -1
  83. package/dist/web/components/listView/index.js +4 -3
  84. package/dist/web/components/lottery/index.js +122 -123
  85. package/dist/web/components/table/ExportFileModalByApi/index.js +1 -1
  86. package/dist/web/components/table/ImportFileModal/index.js +1 -1
  87. package/dist/web/components/table/ImportFileModalByApi/index.js +1 -1
  88. package/dist/web/components/wd-bubble/wd-bubble.js +11 -3
  89. package/dist/web/components/wd-button/wd-button.js +22 -13
  90. package/dist/web/components/wd-divider/wd-divider.js +10 -7
  91. package/dist/web/components/wd-icon/wd-icon.js +12 -3
  92. package/dist/web/components/wd-image/index.js +12 -5
  93. package/dist/web/components/wd-link/wd-link.js +11 -3
  94. package/dist/web/components/wd-text/wd-text.js +15 -3
  95. package/dist/web/utils/hooks/use-cloud-id-temp-url.js +7 -3
  96. package/dist/web/utils/platform.js +0 -1
  97. package/dist/web/utils/tool.js +11 -0
  98. package/dist/web/utils/widget-api/index.js +3 -0
  99. package/package.json +5 -3
  100. package/dist/configs/components/auth.json +0 -17
  101. package/dist/web/components/flow/components/FlowUserSelect/index.css +0 -116
  102. package/dist/web/components/flow/components/FlowUserSelect/index.js +0 -115
  103. package/dist/web/components/flow/components/HighlightTextarea/index.css +0 -42
  104. package/dist/web/components/flow/components/HighlightTextarea/index.js +0 -131
  105. package/dist/web/components/flow/components/UserSelectModel/UserSelect.js +0 -72
  106. package/dist/web/components/flow/components/UserSelectModel/UserSelectMobile.css +0 -8
  107. package/dist/web/components/flow/components/UserSelectModel/UserSelectMobile.js +0 -82
  108. package/dist/web/components/flow/components/UserSelectModel/index.js +0 -18
  109. package/dist/web/components/flow/components/WedaUserTransfer/index.css +0 -3
  110. package/dist/web/components/flow/components/WedaUserTransfer/index.js +0 -162
  111. package/dist/web/components/flow/modules/control/ApprovalDrawer.css +0 -144
  112. package/dist/web/components/flow/modules/control/ApprovalDrawer.js +0 -178
  113. package/dist/web/components/flow/modules/control/ApprovalPopup.css +0 -115
  114. package/dist/web/components/flow/modules/control/ApprovalPopup.js +0 -240
  115. package/dist/web/components/flow/modules/control/Control.css +0 -29
  116. package/dist/web/components/flow/modules/control/Control.js +0 -105
  117. package/dist/web/components/flow/modules/control/ControlMobile.css +0 -101
  118. package/dist/web/components/flow/modules/control/ControlMobile.js +0 -148
  119. package/dist/web/components/flow/modules/control/FlowTaskInfoModal.css +0 -3
  120. package/dist/web/components/flow/modules/control/FlowTaskInfoModal.js +0 -31
  121. package/dist/web/components/flow/modules/control/constants/index.js +0 -35
  122. package/dist/web/components/flow/modules/control/index.js +0 -15
  123. package/dist/web/components/flow/modules/control/provider/index.js +0 -17
  124. package/dist/web/components/flow/modules/control/provider/useControlModel.js +0 -252
  125. package/dist/web/components/flow/modules/control/provider/useMobileModel.js +0 -84
  126. package/dist/web/components/flow/modules/control/provider/useRevokeAndBackHook.js +0 -84
  127. package/dist/web/components/flow/modules/control/utils/ControlModelUtils.js +0 -57
  128. package/dist/web/components/flow/modules/control/utils/index.js +0 -3
  129. package/dist/web/components/flow/modules/control/utils/tools.js +0 -3
@@ -0,0 +1,104 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import { Button, Modal, Select, Form, Radio, message } from 'tea-component';
3
+ import { FlowCheckListPopup } from './check-list-popup';
4
+ /** 回退弹窗 */
5
+ export function RollbackModal(props) {
6
+ const { visible, isH5, preElementList, selectedNodeId, setSelectedNodeId, onOpen, onClose, rollBack, } = useRollbackModel(props);
7
+ const renderModal = () => {
8
+ return (React.createElement(Modal, { visible: visible, caption: '流程回退', onClose: onClose },
9
+ React.createElement(Modal.Body, null,
10
+ React.createElement(Form, null,
11
+ React.createElement(Form.Item, { label: '选择回退节点' },
12
+ React.createElement(Select, { size: "full", appearance: "button", matchButtonWidth: true, options: preElementList, value: selectedNodeId, onChange: (value) => setSelectedNodeId(value), style: { width: 200 } })))),
13
+ React.createElement(Modal.Footer, null,
14
+ React.createElement(Button, { type: "primary", disabled: (preElementList === null || preElementList === void 0 ? void 0 : preElementList.length) === 0 || !selectedNodeId, onClick: rollBack }, "\u786E\u5B9A"),
15
+ React.createElement(Button, { type: "weak", onClick: onClose }, "\u53D6\u6D88"))));
16
+ };
17
+ const renderPopup = () => {
18
+ return (React.createElement(FlowCheckListPopup, { visible: visible, onClose: onClose, title: "\u8BF7\u9009\u62E9\u56DE\u9000\u8282\u70B9", overlayStyle: { zIndex: 998 }, height: 550, confirmButtonProps: {
19
+ onClick: rollBack,
20
+ disabled: (preElementList === null || preElementList === void 0 ? void 0 : preElementList.length) === 0 || !selectedNodeId,
21
+ } },
22
+ React.createElement(Radio.Group, { value: selectedNodeId, onChange: (value) => setSelectedNodeId(value), layout: "column" }, preElementList.map((ele) => (React.createElement(Radio, { name: ele.value, key: ele.value }, ele.text))))));
23
+ };
24
+ return (React.createElement(React.Fragment, null,
25
+ React.createElement(Button, { ...props.buttonProps, id: props.id, onClick: onOpen }, props.label),
26
+ isH5 ? renderPopup() : renderModal()));
27
+ }
28
+ /** 回退model */
29
+ function useRollbackModel(params) {
30
+ const { flowFrameCommonProps, flowControlModel } = params;
31
+ const { flowRequest, isH5 } = flowFrameCommonProps.flowLocalProps;
32
+ const { flowDetail } = flowFrameCommonProps.commonFlowData;
33
+ const { onAfterFinishFlowAction } = flowControlModel;
34
+ const [visible, setVisible] = useState(false);
35
+ /** 可回退节点列表 */
36
+ const [preElementList, setPreElementList] = useState([]);
37
+ const [selectedNodeId, setSelectedNodeId] = useState('');
38
+ useEffect(() => {
39
+ visible && getPreElementList();
40
+ // eslint-disable-next-line react-hooks/exhaustive-deps
41
+ }, [visible]);
42
+ const onOpen = () => setVisible(true);
43
+ const onClose = () => setVisible(false);
44
+ /** 获取回退节点列表 */
45
+ const getPreElementList = async () => {
46
+ const result = await flowRequest({
47
+ action: 'GetPreElementList',
48
+ data: {
49
+ flowCode: flowDetail.flowCode,
50
+ appVersion: flowDetail.flowVersion,
51
+ instanceId: flowDetail.instanceId,
52
+ },
53
+ });
54
+ if (result === null || result === void 0 ? void 0 : result.data) {
55
+ const options = [];
56
+ let lastNodeId = '';
57
+ result.data.forEach((item) => {
58
+ if (item.lastNode) {
59
+ lastNodeId = item.elementId;
60
+ }
61
+ options.push({
62
+ ...item,
63
+ value: item.elementId,
64
+ text: item.elementName,
65
+ });
66
+ });
67
+ setPreElementList(options);
68
+ setSelectedNodeId(lastNodeId);
69
+ }
70
+ };
71
+ /** 回退请求 */
72
+ const rollBack = async () => {
73
+ var _a;
74
+ const result = await flowRequest({
75
+ action: 'RollBack',
76
+ data: {
77
+ flowCode: flowDetail.flowCode,
78
+ appVersion: flowDetail.flowVersion,
79
+ instanceId: flowDetail.instanceId,
80
+ taskId: flowDetail.taskId,
81
+ nodeId: flowDetail.currentNodeId,
82
+ sourceType: 1,
83
+ targetNodeId: selectedNodeId,
84
+ targetActTaskId: (_a = preElementList.find((item) => item.value === selectedNodeId)) === null || _a === void 0 ? void 0 : _a.actTaskId,
85
+ },
86
+ }, { previewData: { Status: true } });
87
+ if (result) {
88
+ message.success({
89
+ content: `${params.label}成功`,
90
+ });
91
+ onAfterFinishFlowAction(params.actionKey, params.afterAction);
92
+ }
93
+ };
94
+ return {
95
+ isH5,
96
+ visible,
97
+ preElementList,
98
+ selectedNodeId,
99
+ setSelectedNodeId,
100
+ onOpen,
101
+ onClose,
102
+ rollBack,
103
+ };
104
+ }
@@ -0,0 +1,2 @@
1
+ import { ModelFlowControl } from './control';
2
+ export default ModelFlowControl;
@@ -0,0 +1,20 @@
1
+ .weda-flow-control {
2
+ height: auto;
3
+ overflow-x: auto;
4
+ background: #fff;
5
+ text-align: center;
6
+ padding: 20px;
7
+ }
8
+ .weda-flow-h5-control {
9
+ padding: 20px 0px;
10
+ }
11
+ .weda-flow-control-divider {
12
+ border-top: 0;
13
+ display: inline-block;
14
+ margin: 0 12px;
15
+ border-left: var(--wd-divider-size-border) solid
16
+ var(--wd-divider-color-border);
17
+ height: 1em;
18
+ vertical-align: middle;
19
+ width: 0;
20
+ }
@@ -0,0 +1,137 @@
1
+ import { useState } from 'react';
2
+ import { PAGE_TYPE } from '../../constants';
3
+ import { CommonFlowDataUtils, } from '../../frame';
4
+ import { FLOW_CONTROL_ACTION_KEY, } from './config';
5
+ /** 流程控制主model, 包含一些公共状态或方法 */
6
+ export function useFlowControlModel(params) {
7
+ //#region model入参
8
+ const { commonFlowData, flowLocalProps, ide, reload, setFormType } = params;
9
+ const { flowDetail, pageInfo } = commonFlowData;
10
+ const { flowRequest, isWedaIde } = flowLocalProps;
11
+ const { events } = ide || {};
12
+ //#endregion
13
+ //#region hook
14
+ /** 提交申请时的抄送列表 */
15
+ const [applyCcUser, setApplyCcUser] = useState([]);
16
+ /** 流程是否已回退 */
17
+ const [hasGoBack, setHasGoBack] = useState(false);
18
+ /** 触发下一节点审批人操作 */
19
+ const [triggerFlowTaskInfo, setTriggerFlowTaskInfo] = useState(null);
20
+ //#endregion
21
+ //#region 流程操作请求
22
+ /** 提交申请、保存草稿、同意、拒绝、处理、转办 时 调用此请求 */
23
+ const completeTask = (value) => {
24
+ if (!value.buttonAction)
25
+ return;
26
+ getFormData(async (formDataMap) => {
27
+ var _a, _b, _c;
28
+ const params = {
29
+ buttonAction: value.buttonAction,
30
+ flowCode: flowDetail.flowCode,
31
+ instanceId: flowDetail.instanceId,
32
+ nodeId: flowDetail.currentNodeId,
33
+ taskId: flowDetail.taskId,
34
+ appVersion: flowDetail.flowVersion,
35
+ appCode: flowDetail === null || flowDetail === void 0 ? void 0 : flowDetail.startAppCode,
36
+ variableInfos: translateVariableInfos(formDataMap, pageInfo),
37
+ ...(value.data || {}),
38
+ };
39
+ (_a = value === null || value === void 0 ? void 0 : value.setLoadingState) === null || _a === void 0 ? void 0 : _a.call(value, true);
40
+ const result = await flowRequest({ action: 'CompleteTask', data: params }, { upperCaseIgnoreKeys: ['variableInfos'] });
41
+ (_b = value === null || value === void 0 ? void 0 : value.setLoadingState) === null || _b === void 0 ? void 0 : _b.call(value, false);
42
+ if (result) {
43
+ (_c = value === null || value === void 0 ? void 0 : value.successCallback) === null || _c === void 0 ? void 0 : _c.call(value);
44
+ if (result === null || result === void 0 ? void 0 : result.toBeSubmittedFlowTaskFlag) {
45
+ setTriggerFlowTaskInfo(result);
46
+ }
47
+ else {
48
+ // 执行完成后自定义动作
49
+ onAfterFinishFlowAction(value.actionKey, value.afterAction);
50
+ }
51
+ }
52
+ });
53
+ };
54
+ //#endregion
55
+ //#region 辅助方法
56
+ /** 获取审批申请表单数据 */
57
+ const getFormData = (callback) => {
58
+ var _a;
59
+ if (isWedaIde) {
60
+ return;
61
+ }
62
+ (_a = events === null || events === void 0 ? void 0 : events.tap) === null || _a === void 0 ? void 0 : _a.call(events, {
63
+ onGetFormData: (formDataMap) => {
64
+ if (Object.values(formDataMap).some((item) => item === undefined)) {
65
+ return;
66
+ }
67
+ callback === null || callback === void 0 ? void 0 : callback(formDataMap);
68
+ },
69
+ }, {
70
+ originEvent: null,
71
+ });
72
+ };
73
+ /** 完成流程动作后的事件 */
74
+ function onAfterFinishFlowAction(currentActionKey, afterAction) {
75
+ const customizeFinishAction = events === null || events === void 0 ? void 0 : events[afterAction];
76
+ if (customizeFinishAction) {
77
+ // 当前动作不是加签的话,需要切换URL参数
78
+ if (currentActionKey !== FLOW_CONTROL_ACTION_KEY.ADD_ASSIGNEE) {
79
+ // 默认切换页面类型为【我已处理】
80
+ let newPageType = PAGE_TYPE.DONE;
81
+ // 提交后需要切换页面类型为【我发起的】
82
+ if (currentActionKey === FLOW_CONTROL_ACTION_KEY.SUBMIT) {
83
+ newPageType = PAGE_TYPE.CREATE;
84
+ }
85
+ // 保存草稿后切换页面类型为【草稿箱】
86
+ if (currentActionKey === FLOW_CONTROL_ACTION_KEY.SAVE_DRAFT) {
87
+ newPageType = PAGE_TYPE.DRAFT;
88
+ }
89
+ CommonFlowDataUtils.updateUrlSearch({ pageType: newPageType });
90
+ }
91
+ // 操作类型不是回退的情况才reload数据 回退之后当前流程被销毁 故回退之后不刷新数据
92
+ if (currentActionKey === FLOW_CONTROL_ACTION_KEY.ROLL_BACK) {
93
+ setHasGoBack(true);
94
+ setFormType('read');
95
+ }
96
+ else {
97
+ // 重新加载数据
98
+ reload();
99
+ }
100
+ // 执行自定义事件
101
+ customizeFinishAction === null || customizeFinishAction === void 0 ? void 0 : customizeFinishAction();
102
+ }
103
+ }
104
+ //#endregion
105
+ return {
106
+ hasGoBack,
107
+ applyCcUser,
108
+ triggerFlowTaskInfo,
109
+ setApplyCcUser,
110
+ completeTask,
111
+ onAfterFinishFlowAction,
112
+ };
113
+ }
114
+ /** 涉及提交申请表单时,转换variableInfos */
115
+ function translateVariableInfos(currentFormData, pageInfo) {
116
+ var _a;
117
+ const outEntityCodes = (pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.outEntityCodes) || [];
118
+ const originObjectMap = ((_a = pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.variableInfos) === null || _a === void 0 ? void 0 : _a.objectMap) || [];
119
+ return outEntityCodes === null || outEntityCodes === void 0 ? void 0 : outEntityCodes.map((item) => {
120
+ const originVariableInfo = originObjectMap === null || originObjectMap === void 0 ? void 0 : originObjectMap.find((info) => (info === null || info === void 0 ? void 0 : info.entityCode) === (item === null || item === void 0 ? void 0 : item.entityCode));
121
+ const { recordId, fieldValueMap } = originVariableInfo || {};
122
+ const currentFieldValueMap = ((currentFormData === null || currentFormData === void 0 ? void 0 : currentFormData[item === null || item === void 0 ? void 0 : item.entityCode]) ||
123
+ {});
124
+ const Value = Object.assign({
125
+ entityCode: item === null || item === void 0 ? void 0 : item.entityCode,
126
+ fieldValueMap: {
127
+ ...(fieldValueMap || {}),
128
+ ...currentFieldValueMap,
129
+ },
130
+ }, recordId ? { recordId } : {});
131
+ const variableInfo = {
132
+ Type: item === null || item === void 0 ? void 0 : item.type,
133
+ Value,
134
+ };
135
+ return variableInfo;
136
+ });
137
+ }
@@ -1,8 +1,8 @@
1
1
  export const instanceMockData = {
2
2
  InstanceId: '1540637032124833793',
3
- Name: 'kong123提交的hongqi_var',
3
+ Name: '示例流程名称',
4
4
  Description: '',
5
- StartedBy: 'kong123',
5
+ StartedBy: '示例流程发起人',
6
6
  CurrentApprover: '1538836331989536769',
7
7
  StartTime: 1656151467000,
8
8
  IsCompleted: false,
@@ -11,6 +11,7 @@ export const pageDetailMockData = {
11
11
  ShowTurnToPerson: true,
12
12
  ShowAddAssignee: true,
13
13
  ShowRollBack: true,
14
+ ShowRevoke: false,
14
15
  OutEntityCodes: [],
15
16
  Buttons: {
16
17
  1: '同意',
@@ -54,6 +54,10 @@
54
54
  width: 100%;
55
55
  cursor: zoom-in;
56
56
  }
57
+ ._weda-fn-upload-result__item .weda-uploader-pc__image {
58
+ width: 100%;
59
+ object-fit: cover;
60
+ }
57
61
 
58
62
  .weda-uploader-pc__input-box .wedatea2td-disabled {
59
63
  cursor: not-allowed;
@@ -123,3 +127,18 @@
123
127
  width: 6.85714em;
124
128
  height: 6.85714em;
125
129
  }
130
+ .weda-ui .img-shape-ectangle {
131
+ border-radius: 0;
132
+ }
133
+ .weda-ui .img-shape-circular {
134
+ border-radius: 50%;
135
+ }
136
+ .weda-ui .img-shape-rounded-tectangle {
137
+ border-radius: 6px;
138
+ }
139
+ .img-shape-circular:before {
140
+ border-radius: 50%;
141
+ }
142
+ .img-shape-rounded-tectangle:before {
143
+ border-radius: 6px;
144
+ }
@@ -31,12 +31,30 @@ function UploaderPc(props) {
31
31
  });
32
32
  }
33
33
  export default function Uploader(props) {
34
+ const { showShape } = props;
35
+ const [imgTypeCls, setImgTypeCls] = React.useState(null);
36
+ React.useEffect(() => {
37
+ // let shapeClass;
38
+ switch (showShape) {
39
+ // 圆角矩形-roundedTectangle
40
+ case 'roundedTectangle':
41
+ setImgTypeCls('img-shape-rounded-tectangle');
42
+ break;
43
+ // 圆形-circular
44
+ case 'circular':
45
+ setImgTypeCls('img-shape-circular');
46
+ break;
47
+ default:
48
+ setImgTypeCls('img-shape-ectangle');
49
+ break;
50
+ }
51
+ }, [showShape]);
34
52
  const platform = usePlatform();
35
53
  if ((props === null || props === void 0 ? void 0 : props.showType) === 'pc') {
36
- return React.createElement(UploaderPc, { ...props });
54
+ return React.createElement(UploaderPc, { imgTypeCls: imgTypeCls, ...props });
37
55
  }
38
56
  if ((props === null || props === void 0 ? void 0 : props.showType) === 'h5') {
39
- return React.createElement(UploaderH5, { ...props });
57
+ return React.createElement(UploaderH5, { imgTypeCls: imgTypeCls, ...props });
40
58
  }
41
- return platform === 'h5' ? (React.createElement(UploaderH5, { ...props })) : (React.createElement(UploaderPc, { ...props }));
59
+ return platform === 'h5' ? (React.createElement(UploaderH5, { imgTypeCls: imgTypeCls, ...props })) : (React.createElement(UploaderPc, { imgTypeCls: imgTypeCls, ...props }));
42
60
  }
@@ -7,11 +7,13 @@ import { useSyncValue } from '../../../utils/hooks/useSyncValue';
7
7
  import { randomStr } from '../../../utils/platform';
8
8
  import { IMAGE_TYPES, encodeConvert } from './uploader.pc';
9
9
  import { useTempUrl } from '../../../utils/hooks/use-cloud-id-temp-url';
10
+ import { getParentForm } from '../../../utils/widget-api';
10
11
  const uploadPath = 'weda-uploader';
11
12
  /**
12
13
  * H5端
13
14
  */
14
- export function ImageUploaderH5({ title: label, maxUploadCount, maxSize = 10, acceptTypes, className, id, events, layout, defaultValue, single = false, disabled = false, requiredFlag = false, labelVisible = true, onChange, style, }) {
15
+ export function ImageUploaderH5({ title: label, maxUploadCount, maxSize = 10, acceptTypes, className, id, events, layout, defaultValue, single = false, disabled = false, requiredFlag = false, labelVisible = true, onChange, style, imgTypeCls, $node, }) {
16
+ var _a;
15
17
  const cls = classNames({
16
18
  'weda-ui': true,
17
19
  'weui-cells': true,
@@ -23,6 +25,7 @@ export function ImageUploaderH5({ title: label, maxUploadCount, maxSize = 10, ac
23
25
  //上传进度
24
26
  const [progress, setProgress] = React.useState(0);
25
27
  const [inputValue, setInputValue] = useSyncValue(defaultValue, isObjectEqual);
28
+ const formType = ((_a = getParentForm($node)) === null || _a === void 0 ? void 0 : _a.formType) || 'create';
26
29
  const fileIdList = React.useMemo(() => {
27
30
  // 兼容h5默认值为空时情况
28
31
  if (inputValue === null) {
@@ -133,12 +136,13 @@ export function ImageUploaderH5({ title: label, maxUploadCount, maxSize = 10, ac
133
136
  React.createElement(UploaderLabel, { layout: layout, label: label, labelVisible: labelVisible, currentCount: fileIdList.length, maxCount: finalMaxImgCount, requiredFlag: requiredFlag })),
134
137
  React.createElement("div", { className: "weui-uploader__bd" },
135
138
  React.createElement("ul", { className: "weui-uploader__files", id: "uploaderFiles" },
136
- (fileIdList !== null && fileIdList !== void 0 ? fileIdList : []).map((f) => (React.createElement(SingleImage, { key: f, src: f, deleteBySrc: deleteFile, disabled: disabled }))),
137
- uploading && (React.createElement("li", { className: "weui-uploader__file weui-uploader__file_status" },
139
+ (fileIdList !== null && fileIdList !== void 0 ? fileIdList : []).map((f) => (React.createElement(SingleImage, { key: f, src: f, deleteBySrc: deleteFile, disabled: disabled, imgTypeCls: imgTypeCls }))),
140
+ fileIdList.length < 1 && formType === 'read' && React.createElement(React.Fragment, null, "\u2014"),
141
+ uploading && (React.createElement("li", { className: `weui-uploader__file weui-uploader__file_status ${imgTypeCls}` },
138
142
  React.createElement("div", { className: "weui-uploader__file-content" },
139
143
  progress,
140
144
  "%")))),
141
- showAdd && (React.createElement("div", { className: "weui-uploader__input-box" }, !disabled && (React.createElement("input", { "data-testid": "uploaderh5_input", id: "uploaderInput", className: "weui-uploader__input", type: "file", accept: accepts.join(','), multiple: !single, onChange: (e) => {
145
+ showAdd && formType !== 'read' && (React.createElement("div", { className: `weui-uploader__input-box ${imgTypeCls}` }, !disabled && (React.createElement("input", { "data-testid": "uploaderh5_input", id: "uploaderInput", className: "weui-uploader__input", type: "file", accept: accepts.join(','), multiple: !single, onChange: (e) => {
142
146
  const files = [...e.target.files];
143
147
  if (!islegalType(files, accepts))
144
148
  return;
@@ -158,7 +162,7 @@ export function ImageUploaderH5({ title: label, maxUploadCount, maxSize = 10, ac
158
162
  files.forEach((f) => uploadToTcb(f));
159
163
  } }))))))));
160
164
  }
161
- function SingleImage({ src, deleteBySrc }) {
165
+ function SingleImage({ src, deleteBySrc, disabled, imgTypeCls, }) {
162
166
  const cls = classNames({
163
167
  'weui-uploader__file': true,
164
168
  });
@@ -170,12 +174,14 @@ function SingleImage({ src, deleteBySrc }) {
170
174
  const showGallery = () => {
171
175
  const gallery = weui.gallery(encodeURI(encodeSrc), {
172
176
  onDelete: function () {
173
- deleteBySrc(src);
174
- gallery.hide();
177
+ if (!disabled) {
178
+ deleteBySrc(src);
179
+ gallery.hide();
180
+ }
175
181
  },
176
182
  });
177
183
  };
178
- return (React.createElement("li", { className: cls, style: imgStyle, onClick: showGallery, "data-testid": "uploaderh5_imgStyle" }, error || status ? (React.createElement("div", { className: "weui-uploader__file-content" }, error ? (React.createElement("i", { role: "img", "aria-label": "\u9519\u8BEF", className: "weui-icon-warn" })) : (React.createElement("i", { className: "weui-loading", style: { width: 30, height: 30 } })))) : (false)));
184
+ return (React.createElement("li", { className: `${cls} ${imgTypeCls}`, style: imgStyle, onClick: showGallery, "data-testid": "uploaderh5_imgStyle" }, error || status ? (React.createElement("div", { className: "weui-uploader__file-content" }, error ? (React.createElement("i", { role: "img", "aria-label": "\u9519\u8BEF", className: "weui-icon-warn" })) : (React.createElement("i", { className: `weui-loading ${imgTypeCls}`, style: { width: 30, height: 30 } })))) : (false)));
179
185
  }
180
186
  const UploaderLabel = ({ layout, label, currentCount, maxCount, requiredFlag, labelVisible, }) => {
181
187
  if (layout === 'horizontal') {
@@ -6,6 +6,7 @@ import { randomStr } from '../../../utils/platform';
6
6
  import isObjectEqual from '../../../utils/isObjectEqual';
7
7
  import { emptyObject } from '../../../utils/constant';
8
8
  import { useTempUrl } from '../../../utils/hooks/use-cloud-id-temp-url';
9
+ import { getParentForm } from '../../../utils/widget-api';
9
10
  // 默认组件类前缀
10
11
  export const CLASS_PREFIX = 'weda-uploader-pc';
11
12
  // 默认图片类型
@@ -36,8 +37,9 @@ export function UploaderPC({ layout, className, id, style, title, tips, ...props
36
37
  React.createElement(UploaderPCInner, { ...props })));
37
38
  }
38
39
  export function UploaderPCInner(props) {
40
+ var _a;
39
41
  const { tips = '', btnTitle = '上传图片', maxUploadCount = 9, maxSize = 10, value: defaultValue, // 需要兼容 cloud:和https: 协议,需要兼容 字符串和字符串数组
40
- acceptTypes = IMAGE_TYPES, uploadPath = 'weda-uploader', events = emptyObject, single = false, disabled = false, onChange, } = props;
42
+ acceptTypes = IMAGE_TYPES, uploadPath = 'weda-uploader', events = emptyObject, single = false, disabled = false, onChange, imgTypeCls, $node, } = props;
41
43
  // 上传中
42
44
  const [uploading, setUploading] = React.useState(false);
43
45
  //上传进度
@@ -45,6 +47,7 @@ export function UploaderPCInner(props) {
45
47
  // 文件列表
46
48
  const [fileIDList, setfileIDList] = React.useState([]);
47
49
  const fileRef = React.useRef([]);
50
+ const formType = ((_a = getParentForm($node)) === null || _a === void 0 ? void 0 : _a.formType) || 'create';
48
51
  React.useEffect(() => {
49
52
  let initialValue = []
50
53
  .concat(defaultValue)
@@ -166,30 +169,40 @@ export function UploaderPCInner(props) {
166
169
  maxSize && (extraProps['maxSize'] = maxSize * 1024 * 1024);
167
170
  return (React.createElement(ConfigProvider, { classPrefix: "wedatea2td" },
168
171
  React.createElement("div", { className: "_weda-fn-upload-result" },
169
- fileIDList.map((d) => (React.createElement("div", { className: "_weda-fn-upload-result__item", key: d },
170
- React.createElement(TcbImage, { fileID: d }),
171
- React.createElement("div", { className: "_weda-fn-upload-result__op" },
172
+ fileIDList.map((d) => (React.createElement("div", { className: `_weda-fn-upload-result__item ${imgTypeCls}`, key: d },
173
+ React.createElement(TcbImage, { fileID: d, imgTypeCls: imgTypeCls }),
174
+ React.createElement("div", { className: `_weda-fn-upload-result__op ${imgTypeCls}` },
172
175
  React.createElement(Button, { disabled: disabled, onClick: () => deleteHandle(d), className: `${CLASS_PREFIX}__btn` }, "\u5220\u9664"))))),
173
- uploading && (React.createElement("div", { className: "_weda-fn-upload-result__item" },
176
+ uploading && (React.createElement("div", { className: `_weda-fn-upload-result__item ${imgTypeCls}` },
174
177
  React.createElement("div", { className: "_weda-fn-upload-result__status", key: "_place_image" },
175
178
  React.createElement(Icon, { type: "loading" }),
176
179
  !!progress && (React.createElement("span", { className: "wedatea2td-mt-1n wedatea2td-text-label wedatea2td-fz-reset" },
177
180
  "\u4E0A\u4F20",
178
181
  progress,
179
182
  "%..."))))),
180
- React.createElement("div", { className: `${CLASS_PREFIX}__input-box` }, disabled ? (React.createElement("li", { className: "_weda-fn-upload-result__item wedatea2td-disabled" },
181
- React.createElement("div", { className: "_weda-fn-upload-result__status" },
182
- React.createElement("i", { className: "wedatea2td-icon wedatea2td-icon-plus", role: "img", "aria-label": "plus" }),
183
- React.createElement("span", { className: "wedatea2td-mt-1n wedatea2td-text-label wedatea2td-fz-reset" }, btnTitle)))) : (((!single && fileIDList.length < maxUploadCount) ||
184
- (single && fileIDList.length < 1 && !uploading)) && ( // single 模式时,当数组为空且不在上传文件过程中时显示
185
- React.createElement(Upload, { ...extraProps, beforeUpload: beforeHandle },
186
- React.createElement("li", { className: "_weda-fn-upload-result__item _weda-fn-upload-result__item--upload" },
183
+ React.createElement("div", { className: `${CLASS_PREFIX}__input-box` },
184
+ formType === 'read' && fileIDList.length < 1 && React.createElement("div", null, "\u2014"),
185
+ disabled && formType !== 'read' ? (React.createElement("li", { className: `_weda-fn-upload-result__item wedatea2td-disabled ${imgTypeCls}` },
187
186
  React.createElement("div", { className: "_weda-fn-upload-result__status" },
188
187
  React.createElement("i", { className: "wedatea2td-icon wedatea2td-icon-plus", role: "img", "aria-label": "plus" }),
189
- React.createElement("span", { className: "wedatea2td-mt-1n wedatea2td-text-label wedatea2td-fz-reset" }, btnTitle))))))))));
188
+ React.createElement("span", { className: "wedatea2td-mt-1n wedatea2td-text-label wedatea2td-fz-reset" }, btnTitle)))) : (((!single && fileIDList.length < maxUploadCount) ||
189
+ (single && fileIDList.length < 1 && !uploading)) &&
190
+ formType !== 'read' && ( // single 模式时,当数组为空且不在上传文件过程中时显示
191
+ React.createElement(Upload, { ...extraProps, beforeUpload: beforeHandle },
192
+ React.createElement("li", {
193
+ // className={"_weda-fn-upload-result__item _weda-fn-upload-result__item--upload" imgTypeCls}
194
+ // className={classNames(
195
+ // `_weda-fn-upload-result__item _weda-fn-upload-result__item--upload`,
196
+ // imgTypeCls
197
+ // )}
198
+ className: `_weda-fn-upload-result__item _weda-fn-upload-result__item--upload ${imgTypeCls}` },
199
+ imgTypeCls,
200
+ React.createElement("div", { className: "_weda-fn-upload-result__status" },
201
+ React.createElement("i", { className: "wedatea2td-icon wedatea2td-icon-plus", role: "img", "aria-label": "plus" }),
202
+ React.createElement("span", { className: "wedatea2td-mt-1n wedatea2td-text-label wedatea2td-fz-reset" }, btnTitle))))))))));
190
203
  }
191
204
  export const TcbImage = (props) => {
192
- const { fileID, isZoom, ...rest } = props;
205
+ const { fileID, isZoom, imgTypeCls, ...rest } = props;
193
206
  const [isError, setIsError] = React.useState(false);
194
207
  const { data: src, error: requestError } = useTempUrl(fileID);
195
208
  const encodeSrc = encodeConvert(src);
@@ -197,12 +210,12 @@ export const TcbImage = (props) => {
197
210
  return React.createElement(ErrorTip, null);
198
211
  }
199
212
  if (src) {
200
- return isZoom ? (React.createElement(ImagePreview, { key: fileID, className: `${CLASS_PREFIX}__image`, ...rest, src: encodeURI(encodeSrc), previewSrc: encodeURI(encodeSrc),
213
+ return isZoom ? (React.createElement(ImagePreview, { key: fileID, className: `${CLASS_PREFIX}__image ${imgTypeCls}`, ...rest, src: encodeURI(encodeSrc), previewSrc: encodeURI(encodeSrc),
201
214
  /** @ts-expect-error tea imagepreview onError */
202
215
  onError: (e) => {
203
216
  setIsError(true);
204
217
  (props === null || props === void 0 ? void 0 : props.onError) && props.onError(e);
205
- } })) : (React.createElement("img", { "data-testid": "uploaderpc_imgStyle", key: fileID, className: `${CLASS_PREFIX}__image`, ...rest, src: encodeURI(encodeSrc), onError: (e) => {
218
+ } })) : (React.createElement("img", { "data-testid": "uploaderpc_imgStyle", key: fileID, className: `${CLASS_PREFIX}__image ${imgTypeCls}`, ...rest, src: encodeURI(encodeSrc), onError: (e) => {
206
219
  setIsError(true);
207
220
  (props === null || props === void 0 ? void 0 : props.onError) && props.onError(e);
208
221
  } }));
@@ -345,8 +345,11 @@
345
345
  .weda-upload-file-mobile
346
346
  .weda-upload-file-mobile__item
347
347
  .weda-upload-file-mobile__file-status {
348
- margin-left: 4px;
349
- display: inline;
348
+ margin-left: 0.28571rem;
349
+ display: inline-block;
350
+ white-space: nowrap;
351
+ overflow: hidden;
352
+ text-overflow: ellipsis;
350
353
  }
351
354
 
352
355
  .weda-upload-file-mobile
@@ -8,6 +8,7 @@ import classNames from '../../../utils/classnames';
8
8
  import { renderDecorator } from '../renderDecorator';
9
9
  import { emptyArray, emptyObject } from '../../../utils/constant';
10
10
  import { useTempUrl } from '../../../utils/hooks/use-cloud-id-temp-url';
11
+ import { getParentForm } from '../../../utils/widget-api';
11
12
  // 默认组件类前缀
12
13
  const CLASS_PREFIX = 'weda-upload-file-mobile';
13
14
  // 默认图片类型
@@ -36,7 +37,8 @@ export function UploadFileH5({
36
37
  layout, id = '', style = defaultStyle, labelVisible = true, label = '上传文件', requiredFlag = false, disabled = false, className = '', acceptTypes = emptyArray,
37
38
  // 组件属性
38
39
  tips = '', btnTitle = '点击上传', maxUploadCount = 9, maxSize = 10, deleteVisible = true, downloadVisible = true, value = emptyArray, // 需要兼容 cloud:和https: 协议,需要兼容字符串和字符串数组
39
- events = emptyObject, defaultValue, uploadPath = 'weda-uploader', single = true, onChange = null, isEdit = true, }) {
40
+ events = emptyObject, defaultValue, uploadPath = 'weda-uploader', single = true, onChange = null, isEdit = true, $node, }) {
41
+ var _a;
40
42
  const [fileIDList, setfileIDList] = React.useState(isInIde() ? [] : filterStrList([].concat(defaultValue, value))); // 上传成功文件ID列表,fileID[]
41
43
  const [fileList, setFileList] = React.useState([]); // 上传中的文件列表,file[],file为原始文件 + uuid属性
42
44
  const [fileSizeObj, setFileSizeObj] = React.useState({}); // 管理上传文件大小 {uuid:size}
@@ -44,6 +46,7 @@ events = emptyObject, defaultValue, uploadPath = 'weda-uploader', single = true,
44
46
  const prevDefaultRef = React.useRef([]);
45
47
  const fileRef = React.useRef(fileIDList);
46
48
  const maxSizeLimit = maxSize > 500 ? 500 : maxSize;
49
+ const formType = ((_a = getParentForm($node)) === null || _a === void 0 ? void 0 : _a.formType) || 'create';
47
50
  React.useMemo(() => {
48
51
  //有有效默认值时不刷新,解决初次渲染默认值不显示问题
49
52
  if (!isInIde() &&
@@ -169,8 +172,8 @@ events = emptyObject, defaultValue, uploadPath = 'weda-uploader', single = true,
169
172
  React.createElement("div", { className: `${CLASS_PREFIX}__bd` },
170
173
  fileIDList && fileIDList.length > 0 && (React.createElement("div", { className: "weda-uploader-files_split" })),
171
174
  React.createElement(List, null,
172
- fileIDList.map((d) => (React.createElement(List.Item, { key: d }, React.createElement(TcbFileEcho, { fileID: d, fileList: fileList, onChange: handleChange, disabled: disabled, deleteVisible: deleteVisible, downloadVisible: downloadVisible })))),
173
- fileList.map((item) => (React.createElement(List.Item, { key: item === null || item === void 0 ? void 0 : item._uuid }, React.createElement(TcbFileUpload, { disabled: disabled, file: item, downloadVisible: downloadVisible, deleteVisible: deleteVisible && !disabled })))))))))))({
175
+ fileIDList.map((d) => (React.createElement(List.Item, { key: d }, React.createElement(TcbFileEcho, { fileID: d, fileList: fileList, onChange: handleChange, disabled: disabled, deleteVisible: deleteVisible, downloadVisible: downloadVisible, formType: formType })))),
176
+ fileList.map((item) => (React.createElement(List.Item, { key: item === null || item === void 0 ? void 0 : item._uuid }, React.createElement(TcbFileUpload, { disabled: disabled, file: item, downloadVisible: downloadVisible, deleteVisible: deleteVisible && !disabled, formType: formType })))))))))))({
174
177
  id,
175
178
  className: cls,
176
179
  style,
@@ -183,7 +186,7 @@ events = emptyObject, defaultValue, uploadPath = 'weda-uploader', single = true,
183
186
  /**
184
187
  * 基于 FileID 文件回显组件
185
188
  */
186
- const TcbFileEcho = ({ fileID, disabled }) => {
189
+ const TcbFileEcho = ({ fileID, disabled, formType }) => {
187
190
  const { fileSizeObj } = React.useContext(FileContext) || {};
188
191
  const { data: src, error } = useTempUrl(fileID);
189
192
  if (error) {
@@ -203,14 +206,14 @@ const TcbFileEcho = ({ fileID, disabled }) => {
203
206
  //上传文件列表展示
204
207
  return (React.createElement("div", { className: `${CLASS_PREFIX}__item` },
205
208
  React.createElement("div", { className: `${CLASS_PREFIX}__item-left` },
206
- React.createElement(UploadFileStatus, { title: label, size: fileSizeObj[fileID] || '--' })),
209
+ React.createElement(UploadFileStatus, { title: label, size: fileSizeObj[fileID] || '-', formType: formType })),
207
210
  React.createElement("div", { className: `${CLASS_PREFIX}__btn-group` },
208
211
  React.createElement(UploadFileAction, { title: label, disabled: disabled, status: "UPLOAD_STATUS_SUCCESS", fileID: fileID, src: src }))));
209
212
  };
210
213
  /**
211
214
  * 基于 File 上传文件过程组件
212
215
  */
213
- const TcbFileUpload = ({ file, disabled }) => {
216
+ const TcbFileUpload = ({ file, disabled, formType }) => {
214
217
  const { uploadPath, onChange, events } = React.useContext(FileContext) || {};
215
218
  const [percent, setPercent] = React.useState(0); // 上传进度
216
219
  const [status, setStatus] = React.useState('UPLOAD_STATUS_PENDING'); // 上传状态
@@ -251,7 +254,7 @@ const TcbFileUpload = ({ file, disabled }) => {
251
254
  };
252
255
  return (React.createElement("div", { className: `${CLASS_PREFIX}__item`, role: "TcbFileUpload" },
253
256
  React.createElement("div", { className: `${CLASS_PREFIX}__item-left` },
254
- React.createElement(UploadFileStatus, { status: status, percent: percent, size: size, title: title, percentSize: (((file === null || file === void 0 ? void 0 : file.size) / 1024) * percent) / 100 })),
257
+ React.createElement(UploadFileStatus, { status: status, percent: percent, size: size, title: title, percentSize: (((file === null || file === void 0 ? void 0 : file.size) / 1024) * percent) / 100, formType: formType })),
255
258
  React.createElement("div", { className: `${CLASS_PREFIX}__btn-group` },
256
259
  React.createElement(UploadFileAction, { file: file, uuid: file === null || file === void 0 ? void 0 : file._uuid, status: status, onCancel: (uuid) => {
257
260
  cancleRef.current = uuid;
@@ -261,7 +264,7 @@ const TcbFileUpload = ({ file, disabled }) => {
261
264
  /**
262
265
  * 上传文件状态组件
263
266
  */
264
- const UploadFileStatus = ({ status = 'UPLOAD_STATUS_SUCCESS', percent = 0, size, title = null, percentSize = 0, }) => {
267
+ const UploadFileStatus = ({ status = 'UPLOAD_STATUS_SUCCESS', percent = 0, size, title = null, percentSize = 0, formType, }) => {
265
268
  var _a, _b;
266
269
  const { isEdit } = React.useContext(FileContext) || {};
267
270
  //上传中、待上传状态
@@ -273,11 +276,11 @@ const UploadFileStatus = ({ status = 'UPLOAD_STATUS_SUCCESS', percent = 0, size,
273
276
  React.createElement("div", null,
274
277
  React.createElement(Progress, { percent: percent, theme: "default", strokeColor: '#0052D9', className: `${CLASS_PREFIX}__file-progress` })),
275
278
  React.createElement("div", { className: `${CLASS_PREFIX}__file-foot` },
276
- React.createElement("div", null,
279
+ formType !== 'read' && (React.createElement("div", null,
277
280
  React.createElement(Text, null,
278
281
  Math.floor(percentSize),
279
282
  "K/"),
280
- React.createElement(Text, null, size)),
283
+ React.createElement(Text, null, size))),
281
284
  React.createElement(Text, null, status === 'UPLOAD_STATUS_PENDING' ? '等待上传' : '上传中'))));
282
285
  }
283
286
  return (React.createElement(React.Fragment, null,
@@ -285,8 +288,8 @@ const UploadFileStatus = ({ status = 'UPLOAD_STATUS_SUCCESS', percent = 0, size,
285
288
  React.createElement(Tooltip, { title: title },
286
289
  React.createElement(Text, { className: `${CLASS_PREFIX}__file-name` }, title))),
287
290
  isEdit && (React.createElement("div", { className: `${CLASS_PREFIX}__file-foot` },
288
- React.createElement("div", null,
289
- React.createElement(Text, null, size)),
291
+ formType !== 'read' && (React.createElement("div", null,
292
+ React.createElement(Text, null, size))),
290
293
  isEdit && (React.createElement("div", { className: `${CLASS_PREFIX}__file-status` },
291
294
  React.createElement(Icon, { type: ((_a = statusMap[status]) === null || _a === void 0 ? void 0 : _a.icon) ||
292
295
  statusMap['UPLOAD_STATUS_PENDING'].icon }),