@kmkf-fe-packages/kmkf-work-order-service-component 2.3.0-rc.0 → 2.3.0-rc.2

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 (37) hide show
  1. package/dist/esm/FlowTemplateDetailV2/components/ActionList/index.d.ts +2 -0
  2. package/dist/esm/FlowTemplateDetailV2/components/ActionList/index.js +50 -8
  3. package/dist/esm/FlowTemplateDetailV2/components/FormRender/index.js +348 -224
  4. package/dist/esm/FlowTemplateDetailV2/components/FormRender/onBlur.d.ts +29 -3
  5. package/dist/esm/FlowTemplateDetailV2/components/FormRender/onBlur.js +300 -50
  6. package/dist/esm/FlowTemplateDetailV2/components/FormRender/skxOrderBack.d.ts +9 -0
  7. package/dist/esm/FlowTemplateDetailV2/components/FormRender/skxOrderBack.js +161 -0
  8. package/dist/esm/FlowTemplateDetailV2/components/Header/index.js +5 -2
  9. package/dist/esm/FlowTemplateDetailV2/components/ShareLinkModal/index.d.ts +3 -0
  10. package/dist/esm/FlowTemplateDetailV2/components/ShareLinkModal/index.js +221 -0
  11. package/dist/esm/FlowTemplateDetailV2/components/ShareLinkModal/index.module.less +29 -0
  12. package/dist/esm/FlowTemplateDetailV2/constant.js +9 -1
  13. package/dist/esm/FlowTemplateDetailV2/index.js +110 -56
  14. package/dist/esm/FlowTemplateDetailV2/store/reducers.d.ts +10 -0
  15. package/dist/esm/FlowTemplateDetailV2/store/reducers.js +158 -54
  16. package/dist/esm/FlowTemplateDetailV2/store/selector.d.ts +4 -0
  17. package/dist/esm/FlowTemplateDetailV2/store/selector.js +12 -0
  18. package/dist/esm/FlowTemplateDetailV2/type.d.ts +1 -1
  19. package/dist/esm/WorkOrder/components/WorkOrderList/index.js +5 -1
  20. package/dist/esm/common/utils/constant.d.ts +3 -0
  21. package/dist/esm/common/utils/constant.js +13 -2
  22. package/dist/esm/common/utils/submitDataTransOldFormat.js +110 -67
  23. package/dist/esm/common/utils/tools.js +101 -51
  24. package/dist/esm/common/utils/tools_constants.js +12 -2
  25. package/dist/esm/common/utils/transformWorkOrderData.js +57 -19
  26. package/dist/esm/index.d.ts +1 -0
  27. package/dist/esm/index.js +1 -0
  28. package/dist/esm/model/flowTemplateDetail/api.d.ts +5 -0
  29. package/dist/esm/model/flowTemplateDetail/api.js +41 -0
  30. package/dist/esm/model/flowTemplateDetail/types.d.ts +5 -0
  31. package/dist/esm/model/logicFlow/selector.d.ts +0 -3
  32. package/dist/esm/model/paymentWorkOrder/selector.d.ts +0 -9
  33. package/dist/esm/model/servers/api.d.ts +1 -0
  34. package/dist/esm/model/servers/api.js +11 -3
  35. package/dist/esm/model/servers/request.js +1 -1
  36. package/dist/esm/model/singleShopWorkOrder/selector.d.ts +0 -5
  37. package/package.json +6 -5
@@ -8,6 +8,8 @@ import React, { useState } from 'react';
8
8
  import { Button, Spin, Tooltip, Typography, Space, Modal, Table } from 'antd';
9
9
  import moment from 'moment';
10
10
  import { useRequest } from 'ahooks';
11
+ import { useSelector } from "../../context/useSelector";
12
+ import { selectPrivilege } from "../../store/selector";
11
13
  import { queryFlowFail } from "../../../model/flowTemplateDetail/api";
12
14
  import { NODE_TYPE } from "../../../common/constant";
13
15
  import styles from "./index.module.less";
@@ -64,6 +66,7 @@ var Header = function Header(props) {
64
66
  _useState2 = _slicedToArray(_useState, 2),
65
67
  visible = _useState2[0],
66
68
  setVisible = _useState2[1];
69
+ var privilege = useSelector(selectPrivilege);
67
70
  var _useRequest = useRequest(function () {
68
71
  return queryFlowFail({
69
72
  flowTemplateKeys: [flowTemplateKey],
@@ -110,7 +113,7 @@ var Header = function Header(props) {
110
113
  onClick: handleRestartAutoTask,
111
114
  "data-spm-click": "\u91CD\u8BD5",
112
115
  "data-spm-param": "\u91CD\u8BD5"
113
- }, "\u91CD\u8BD5")), showWithdraw && /*#__PURE__*/React.createElement(Button, {
116
+ }, "\u91CD\u8BD5")), showWithdraw && !['created', 'edit'].includes(privilege) && /*#__PURE__*/React.createElement(Button, {
114
117
  type: "link",
115
118
  onClick: handleWithdraw,
116
119
  "data-spm-click": "\u64A4\u56DE",
@@ -120,7 +123,7 @@ var Header = function Header(props) {
120
123
  onClick: handleSave,
121
124
  "data-spm-click": "\u786E\u8BA4\u4FEE\u6539",
122
125
  "data-spm-param": "\u786E\u8BA4\u4FEE\u6539"
123
- }, "\u786E\u8BA4\u4FEE\u6539") : /*#__PURE__*/React.createElement(Button, {
126
+ }, "\u786E\u8BA4\u4FEE\u6539") : !['created', 'edit'].includes(privilege) && /*#__PURE__*/React.createElement(Button, {
124
127
  type: "link",
125
128
  onClick: handleEdit,
126
129
  "data-spm-click": "\u4FEE\u6539",
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const ShareLinkModal: React.ForwardRefExoticComponent<Omit<any, "ref"> & React.RefAttributes<any>>;
3
+ export default ShareLinkModal;
@@ -0,0 +1,221 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
5
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ import React, { useState, useImperativeHandle, forwardRef } from 'react';
8
+ import { Modal, Button, message, Space, Typography } from 'antd';
9
+ import { CopyToClipboard } from 'react-copy-to-clipboard';
10
+ import { shortLink, createNodeLink, createLink } from "../../../model/flowTemplateDetail/api";
11
+ import QRCode from 'qrcode.react';
12
+ import styles from "./index.module.less";
13
+ var Text = Typography.Text;
14
+ var ShareLinkModal = /*#__PURE__*/forwardRef(function (props, ref) {
15
+ var _useState = useState(false),
16
+ _useState2 = _slicedToArray(_useState, 2),
17
+ visible = _useState2[0],
18
+ setVisible = _useState2[1];
19
+ var _useState3 = useState({
20
+ title: 'PC流程创建链接分享设置',
21
+ name: '',
22
+ mongoId: '',
23
+ url: '',
24
+ shortUrl: '',
25
+ platform: ''
26
+ }),
27
+ _useState4 = _slicedToArray(_useState3, 2),
28
+ info = _useState4[0],
29
+ setInfo = _useState4[1];
30
+ var _useState5 = useState(''),
31
+ _useState6 = _slicedToArray(_useState5, 2),
32
+ url = _useState6[0],
33
+ setUrl = _useState6[1];
34
+ var _useState7 = useState(''),
35
+ _useState8 = _slicedToArray(_useState7, 2),
36
+ shortUrl = _useState8[0],
37
+ setShortUrl = _useState8[1];
38
+ var _useState9 = useState(''),
39
+ _useState10 = _slicedToArray(_useState9, 2),
40
+ showType = _useState10[0],
41
+ setShowType = _useState10[1];
42
+ useImperativeHandle(ref, function () {
43
+ return {
44
+ open: function open(info) {
45
+ initHandle(info);
46
+ }
47
+ };
48
+ }, []);
49
+ var initHandle = function initHandle(info) {
50
+ setInfo(info);
51
+ setShowType((info === null || info === void 0 ? void 0 : info.showType) || 'all');
52
+ if (info.type === 'edit' && info.companyKey && info.flowTemplateKey && info.flowWorkOrderId) {
53
+ createNodeLink({
54
+ companyKey: info.companyKey,
55
+ flowTemplateKey: info.flowTemplateKey,
56
+ flowWorkOrderId: info.flowWorkOrderId,
57
+ flowNodeId: info.flowNodeId
58
+ }).then(function (res) {
59
+ var _res$data, _res$data2;
60
+ if (res.data) {
61
+ setVisible(true);
62
+ }
63
+ setUrl((_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.link);
64
+ setShortUrl((_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.shortShareLink);
65
+ });
66
+ return;
67
+ }
68
+ if (info.type === 'create' && info.companyKey && info.flowTemplateKey) {
69
+ createLink({
70
+ companyKey: info.companyKey,
71
+ flowTemplateKey: info.flowTemplateKey
72
+ }).then(function (res) {
73
+ var _res$data3, _res$data4;
74
+ if (res.data) {
75
+ setVisible(true);
76
+ }
77
+ setUrl((_res$data3 = res.data) === null || _res$data3 === void 0 ? void 0 : _res$data3.link);
78
+ setShortUrl((_res$data4 = res.data) === null || _res$data4 === void 0 ? void 0 : _res$data4.shortShareLink);
79
+ });
80
+ return;
81
+ }
82
+ setVisible(true);
83
+ if (info.url) {
84
+ var regex = /^(https?:\/\/)/;
85
+ var formatUrl = info.url.match(regex) ? info.url : "".concat(window.location.protocol, "//").concat(info.url);
86
+ setUrl(formatUrl);
87
+ }
88
+ if ((info === null || info === void 0 ? void 0 : info.showType) !== 'shortUrl') return;
89
+ if (info.shortUrl) {
90
+ setShortUrl(info.shortUrl);
91
+ } else if (info.mongoId && info.url) {
92
+ shortLink({
93
+ mongoId: info.mongoId,
94
+ longUrl: info.url
95
+ }).then(function (res) {
96
+ setShortUrl(res.data);
97
+ });
98
+ }
99
+ };
100
+ var onCancel = function onCancel() {
101
+ setUrl('');
102
+ setShortUrl('');
103
+ setVisible(false);
104
+ };
105
+ var handleDownload = function handleDownload(id) {
106
+ var canvasImg = document.getElementById(id); // 获取canvas类型的二维码
107
+ var a = document.createElement('a');
108
+ a.download = (info === null || info === void 0 ? void 0 : info.name) || '数据分享二维码';
109
+ a.href = canvasImg.toDataURL('image/png');
110
+ document.body.appendChild(a);
111
+ a.click();
112
+ a.remove();
113
+ };
114
+ return /*#__PURE__*/React.createElement(Modal, {
115
+ title: ['url', 'shortUrl'].includes(showType) ? '链接信息' : info === null || info === void 0 ? void 0 : info.title,
116
+ width: 600,
117
+ visible: visible,
118
+ onCancel: onCancel,
119
+ footer: null
120
+ }, /*#__PURE__*/React.createElement("div", {
121
+ className: styles.shareUl
122
+ }, ['url', 'all'].includes(showType) && !!url && /*#__PURE__*/React.createElement("li", {
123
+ className: styles.shareLi
124
+ }, /*#__PURE__*/React.createElement("div", {
125
+ className: styles.shareName
126
+ }, "\u5E38\u7528\u94FE\u63A5\uFF1A"), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Space, null, /*#__PURE__*/React.createElement(CopyToClipboard, {
127
+ text: url,
128
+ onCopy: function onCopy() {
129
+ message.success('已复制');
130
+ }
131
+ }, /*#__PURE__*/React.createElement(Button, {
132
+ type: "primary"
133
+ }, "\u590D\u5236")), info.platform === 'pc' && /*#__PURE__*/React.createElement(Button, {
134
+ type: "primary",
135
+ onClick: function onClick() {
136
+ window.open(url);
137
+ }
138
+ }, "\u6253\u5F00"))), /*#__PURE__*/React.createElement(Text, null, url))), ['shortUrl', 'all'].includes(showType) && !!shortUrl && /*#__PURE__*/React.createElement("li", {
139
+ className: styles.shareLi
140
+ }, /*#__PURE__*/React.createElement("div", {
141
+ className: styles.shareName
142
+ }, "\u77ED\u94FE\u63A5\uFF1A"), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Space, null, /*#__PURE__*/React.createElement(CopyToClipboard, {
143
+ text: shortUrl,
144
+ onCopy: function onCopy() {
145
+ message.success('已复制');
146
+ }
147
+ }, /*#__PURE__*/React.createElement(Button, {
148
+ type: "primary"
149
+ }, "\u590D\u5236")), info.platform === 'pc' && /*#__PURE__*/React.createElement(Button, {
150
+ type: "primary",
151
+ onClick: function onClick() {
152
+ window.open("https://".concat(shortUrl));
153
+ }
154
+ }, "\u6253\u5F00"))), /*#__PURE__*/React.createElement(Text, null, shortUrl))), /*#__PURE__*/React.createElement("li", {
155
+ className: styles.shareLi
156
+ }, /*#__PURE__*/React.createElement("div", {
157
+ className: styles.shareName
158
+ }, "\u4E8C\u7EF4\u7801\uFF1A"), /*#__PURE__*/React.createElement("div", {
159
+ className: styles.shareCodeBox
160
+ }, ['url', 'all'].includes(showType) && !!url && /*#__PURE__*/React.createElement("div", {
161
+ className: styles.codeOutBox
162
+ }, /*#__PURE__*/React.createElement("p", null, "\u5E38\u7528\u94FE\u63A5"), info.platform === 'pc' && /*#__PURE__*/React.createElement(Button, {
163
+ type: "primary",
164
+ className: styles.codeBtn,
165
+ onClick: function onClick() {
166
+ return handleDownload('urlCode');
167
+ }
168
+ }, "\u4E0B\u8F7D\u4E8C\u7EF4\u7801"), /*#__PURE__*/React.createElement("div", {
169
+ className: styles.qrcodeBox
170
+ }, /*#__PURE__*/React.createElement(QRCode, {
171
+ id: "urlCode",
172
+ value: url,
173
+ size: 110,
174
+ fgColor: "#000000"
175
+ }))), ['shortUrl', 'all'].includes(showType) && !!shortUrl && /*#__PURE__*/React.createElement("div", {
176
+ className: styles.codeOutBox
177
+ }, /*#__PURE__*/React.createElement("p", null, "\u77ED\u94FE\u63A5"), info.platform === 'pc' && /*#__PURE__*/React.createElement(Button, {
178
+ type: "primary",
179
+ className: styles.codeBtn,
180
+ onClick: function onClick() {
181
+ return handleDownload('shortUrlCode');
182
+ }
183
+ }, "\u4E0B\u8F7D\u4E8C\u7EF4\u7801"), /*#__PURE__*/React.createElement("div", {
184
+ className: styles.qrcodeBox
185
+ }, /*#__PURE__*/React.createElement(QRCode, {
186
+ id: "shortUrlCode",
187
+ value: shortUrl,
188
+ size: 110,
189
+ fgColor: "#000000"
190
+ })))))));
191
+ });
192
+ export default ShareLinkModal;
193
+ // const ShareUl = styled.ul`
194
+ // .share-li {
195
+ // display: flex;
196
+ // padding: 8px 0;
197
+ // .share-name {
198
+ // min-width: 100px;
199
+ // text-align: right;
200
+ // }
201
+ // }
202
+ // `;
203
+ // const CodeBox = styled.div`
204
+ // display: flex;
205
+ // align-items: center;
206
+ // .codeOutBox {
207
+ // display: flex;
208
+ // flex-direction: column;
209
+ // align-items: center;
210
+ // margin-right: 60px;
211
+ // }
212
+ // .codeBtn {
213
+ // margin: 12px 0;
214
+ // }
215
+ // .shareCodeBox {
216
+ // padding: 10px;
217
+ // background-color: #f2f3f5;
218
+ // border: 1px solid #f2f3f5;
219
+ // border-radius: 4px;
220
+ // }
221
+ // `;
@@ -0,0 +1,29 @@
1
+ .shareUl {
2
+ .shareLi {
3
+ display: flex;
4
+ padding: 8px 0;
5
+ .shareName {
6
+ min-width: 100px;
7
+ text-align: right;
8
+ }
9
+ }
10
+ }
11
+ .shareCodeBox {
12
+ display: flex;
13
+ align-items: center;
14
+ .codeOutBox {
15
+ display: flex;
16
+ flex-direction: column;
17
+ align-items: center;
18
+ margin-right: 60px;
19
+ }
20
+ .codeBtn {
21
+ margin: 12px 0;
22
+ }
23
+ .qrcodeBox {
24
+ padding: 10px;
25
+ background-color: #f2f3f5;
26
+ border: 1px solid #f2f3f5;
27
+ border-radius: 4px;
28
+ }
29
+ }
@@ -1,2 +1,10 @@
1
+ /*
2
+ * @Author: flyingMonkey 760958607@qq.com
3
+ * @Date: 2025-09-02 09:45:49
4
+ * @LastEditors: flyingMonkey 760958607@qq.com
5
+ * @LastEditTime: 2025-09-03 10:53:53
6
+ * @FilePath: /kmkf-fe-packages/packages/kmkf-work-order-service-component/src/FlowTemplateDetailV2/constant.ts
7
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
8
+ */
1
9
  // 切换当前店铺时,以下组件字段需要清空
2
- export var NEED_CLEAR_FIELDS_WHEN_SHOP_ID_CHANGE = ['BS_E3_LOGISTICS', 'BS_E3_SEND_GOOD', 'ITEM_SELECT_THIRD', 'STATUS', 'ITEM_SELECT', 'ITEM_ID', 'ITEM_ENCODE', 'JST_LOGISTICS', 'JST_ITEM_SELECT_THIRD', 'JST_SUPPLY', 'JST_SEND_GOOD', 'BS_GOODS', 'BS_EXCHANGE_GOODS', 'BS_REISSUE_GOODS', 'BS_RETURN_GOODS', 'BS_LOGISTICS', 'BS_SEND_GOOD', 'BS_SYSTEM_ORDER', 'WLN_SYSTEM_ORDER', 'WLN_GOODS', 'WLN_LOGISTICS', 'WLN_SEND_GOOD', 'WDT_LOGISTICS', 'WDT_SEND_GOOD', 'WDT_SYSTEM_ORDER', 'WDT_REISSUE_GOODS', 'WDT_RETURN_GOODS', 'WDT_SHOP', 'WDT_EXCHANGE_GOODS', 'KM_SYSTEM_ORDER', 'KM_SEND_GOOD', 'KM_LOGISTICS', 'KM_GOODS', 'KM_REISSUE_GOODS', 'BS_E3_SYSTEM_ORDER', 'JST_SYSTEM_ORDER', 'JST_GOODS', 'JST_REISSUE_GOODS', 'JST_RETURN_GOODS', 'JST_EXCHANGE_GOODS', 'BS_E3_REISSUE_GOODS', 'GY_SYSTEM_ORDER', 'GY_SEND_GOOD', 'GY_GOODS', 'GY_REISSUE_GOODS', 'GY_RETURN_GOODS', 'GY_LOGISTICS', 'SKX_OUTBOUND_NOTICE_NO', 'SKX_SHOP_NAME', 'SKX_WAREHOUSE', 'SKX_LOGISTICS', 'SKX_GOODS', 'SKX_ORDER_TYPE', 'SKX_ORDER_STATUS', 'SKX_CREATE_TIME'];
10
+ export var NEED_CLEAR_FIELDS_WHEN_SHOP_ID_CHANGE = ['BS_E3_LOGISTICS', 'BS_E3_SEND_GOOD', 'ITEM_SELECT_THIRD', 'STATUS', 'ITEM_SELECT', 'ITEM_ID', 'ITEM_ENCODE', 'JST_LOGISTICS', 'JST_ITEM_SELECT_THIRD', 'JST_SUPPLY', 'JST_SEND_GOOD', 'BS_GOODS', 'BS_EXCHANGE_GOODS', 'BS_REISSUE_GOODS', 'BS_RETURN_GOODS', 'BS_LOGISTICS', 'BS_SEND_GOOD', 'BS_SYSTEM_ORDER', 'WLN_SYSTEM_ORDER', 'WLN_GOODS', 'WLN_LOGISTICS', 'WLN_SEND_GOOD', 'WDT_LOGISTICS', 'WDT_SEND_GOOD', 'WDT_SYSTEM_ORDER', 'WDT_REISSUE_GOODS', 'WDT_RETURN_GOODS', 'WDT_SHOP', 'WDT_EXCHANGE_GOODS', 'KM_SYSTEM_ORDER', 'KM_SEND_GOOD', 'KM_LOGISTICS', 'KM_GOODS', 'KM_REISSUE_GOODS', 'BS_E3_SYSTEM_ORDER', 'JST_SYSTEM_ORDER', 'JST_GOODS', 'JST_REISSUE_GOODS', 'JST_RETURN_GOODS', 'JST_EXCHANGE_GOODS', 'BS_E3_REISSUE_GOODS', 'GY_SYSTEM_ORDER', 'GY_SEND_GOOD', 'GY_GOODS', 'GY_REISSUE_GOODS', 'GY_RETURN_GOODS', 'GY_LOGISTICS', 'SKX_OUTBOUND_NOTICE_NO', 'SKX_RETURN_BILL_NO', 'SKX_REFUND_BILL_NO', 'SKX_SHOP_NAME', 'SKX_WAREHOUSE', 'SKX_LOGISTICS', 'SKX_RETURN_LOGISTICS', 'SKX_GOODS', 'SKX_RETURN_GOODS', 'SKX_ORDER_TYPE', 'SKX_RETURN_ORDER_STATUS', 'SKX_ORDER_STATUS', 'SKX_CREATE_TIME'];