kmkf-work-order-service-component 0.2.3 → 0.2.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.
@@ -42,6 +42,7 @@ import 'moment/locale/zh-cn';
42
42
  import { calcWorkOrderList, submitDataTransOldFormat, orderBack } from "../../../common/utils/tools";
43
43
  import { factory } from "../Widget";
44
44
  import { queryTemplateDetail, addWorkOrder, queryWorkOrderDetail, updateWorkOrder } from "../../../model/servers/api";
45
+ import { useAppSelector } from "../../../model/hooks";
45
46
  import styles from "./index.module.less";
46
47
  import "./index.less";
47
48
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -91,6 +92,10 @@ var CustomizeFormModal = function CustomizeFormModal(props, ref) {
91
92
  setCurrentShopId = _useState14[1]; // 有些组件对于shopId有依赖
92
93
 
93
94
 
95
+ var platformInfo = useAppSelector(function (state) {
96
+ return state.global.platformInfo;
97
+ });
98
+
94
99
  var _Form$useForm = Form.useForm(),
95
100
  _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
96
101
  form = _Form$useForm2[0];
@@ -104,7 +109,7 @@ var CustomizeFormModal = function CustomizeFormModal(props, ref) {
104
109
 
105
110
  var asyncDoSave = /*#__PURE__*/function () {
106
111
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(workOrderDetail, templateDetail) {
107
- var data, res, params, submitData, _yield$updateWorkOrde, success, result, _params, hasEnterPrisePayment, getEnterPrisePaymentData, uniqueKey, componentConfig, _yield$addWorkOrder, _success, _result;
112
+ var data, res, params, submitData, _yield$updateWorkOrde, success, result, platformMap, _params, hasEnterPrisePayment, getEnterPrisePaymentData, uniqueKey, componentConfig, _yield$addWorkOrder, _success, _result;
108
113
 
109
114
  return _regeneratorRuntime().wrap(function _callee$(_context) {
110
115
  while (1) {
@@ -170,10 +175,18 @@ var CustomizeFormModal = function CustomizeFormModal(props, ref) {
170
175
  });
171
176
  }
172
177
 
173
- _context.next = 35;
178
+ _context.next = 36;
174
179
  break;
175
180
 
176
181
  case 23:
182
+ platformMap = {
183
+ tb: '淘宝',
184
+ fxg: '抖音',
185
+ ks: '快手',
186
+ pdd: '拼多多',
187
+ jd: '京东',
188
+ xiaozhi: '小智'
189
+ };
177
190
  _params = {
178
191
  apiName: 'addWorkOrder',
179
192
  shopId: currentShopId,
@@ -181,7 +194,8 @@ var CustomizeFormModal = function CustomizeFormModal(props, ref) {
181
194
  workOrderComponentVos: [],
182
195
  accessToken: get(find(shopList, function (s) {
183
196
  return s.shopId === currentShopId;
184
- }), 'accessToken', '')
197
+ }), 'accessToken', ''),
198
+ source: platformMap[platformInfo.platform] || '工单通'
185
199
  };
186
200
  _params.workOrderComponentVos = submitDataTransOldFormat(data, templateDetail, !!workOrderId, workOrderDetail, _params);
187
201
  hasEnterPrisePayment = some(templateDetail === null || templateDetail === void 0 ? void 0 : templateDetail.componentDtoList, function (item) {
@@ -207,12 +221,11 @@ var CustomizeFormModal = function CustomizeFormModal(props, ref) {
207
221
  };
208
222
  }
209
223
 
210
- console.debug('增加数据参数', _params); // return;
211
-
212
- _context.next = 31;
224
+ console.debug('增加数据参数', _params);
225
+ _context.next = 32;
213
226
  return addWorkOrder(_params);
214
227
 
215
- case 31:
228
+ case 32:
216
229
  _yield$addWorkOrder = _context.sent;
217
230
  _success = _yield$addWorkOrder.success;
218
231
  _result = _yield$addWorkOrder.data;
@@ -227,13 +240,13 @@ var CustomizeFormModal = function CustomizeFormModal(props, ref) {
227
240
  });
228
241
  }
229
242
 
230
- case 35:
243
+ case 36:
231
244
  console.groupEnd();
232
- _context.next = 41;
245
+ _context.next = 42;
233
246
  break;
234
247
 
235
- case 38:
236
- _context.prev = 38;
248
+ case 39:
249
+ _context.prev = 39;
237
250
  _context.t0 = _context["catch"](0);
238
251
 
239
252
  // 表单校验失败错误时,将错误第一项滚动到可视区域
@@ -249,12 +262,12 @@ var CustomizeFormModal = function CustomizeFormModal(props, ref) {
249
262
  }, 0);
250
263
  }
251
264
 
252
- case 41:
265
+ case 42:
253
266
  case "end":
254
267
  return _context.stop();
255
268
  }
256
269
  }
257
- }, _callee, null, [[0, 38]]);
270
+ }, _callee, null, [[0, 39]]);
258
271
  }));
259
272
 
260
273
  return function asyncDoSave(_x, _x2) {
@@ -1,5 +1,5 @@
1
- declare const openCustomizeWOrkOrder: (prefixParams: {
1
+ declare const openCustomizeWorkOrder: (prefixParams: {
2
2
  shopList?: [] | undefined;
3
3
  onSuccess?: ((val?: any) => void) | undefined;
4
4
  }) => (params: any) => void;
5
- export default openCustomizeWOrkOrder;
5
+ export default openCustomizeWorkOrder;
@@ -7,8 +7,8 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
7
7
  /*
8
8
  * @Author: wangzhenggui jianjia.wzg@raycloud.com
9
9
  * @Date: 2022-09-13 14:30:28
10
- * @LastEditors: wangzhenggui jianjia.wzg@raycloud.com
11
- * @LastEditTime: 2022-10-26 15:00:58
10
+ * @LastEditors: litian
11
+ * @LastEditTime: 2022-12-01 16:30:15
12
12
  * @FilePath: /kmkf-work-order-service-component/src/WorkOrder/components/CustomizeFormModal/wrap.tsx
13
13
  * @Description:
14
14
  *
@@ -19,7 +19,7 @@ import { render as reactRender, unmount as reactUnmount } from 'rc-util/lib/Reac
19
19
  import CustomizeFormModal from "./index";
20
20
  import { jsx as _jsx } from "react/jsx-runtime";
21
21
 
22
- var openCustomizeWOrkOrder = function openCustomizeWOrkOrder(prefixParams) {
22
+ var openCustomizeWorkOrder = function openCustomizeWorkOrder(prefixParams) {
23
23
  return function (params) {
24
24
  var container = document.createDocumentFragment();
25
25
  var ref = /*#__PURE__*/createRef();
@@ -50,4 +50,4 @@ var openCustomizeWOrkOrder = function openCustomizeWOrkOrder(prefixParams) {
50
50
  };
51
51
  };
52
52
 
53
- export default openCustomizeWOrkOrder;
53
+ export default openCustomizeWorkOrder;
@@ -101,9 +101,7 @@ function ModifyModal(props, ref) {
101
101
  var handleOk = function handleOk() {
102
102
  form.validateFields().then( /*#__PURE__*/function () {
103
103
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(values) {
104
- var _shopList$find;
105
-
106
- var id, shopSourceStr, newValue, api, shopId, shopName, _shopList, other, _yield$api, success;
104
+ var id, newValue, api, shopId, shopName, _shopList, other, _yield$api, success;
107
105
 
108
106
  return _regeneratorRuntime().wrap(function _callee$(_context) {
109
107
  while (1) {
@@ -111,16 +109,18 @@ function ModifyModal(props, ref) {
111
109
  case 0:
112
110
  //非淘宝账户支付宝姓名和支付宝账号必填
113
111
  id = type === 'edit' ? record.shopId : shopInfo.shopId;
114
- shopSourceStr = ((_shopList$find = shopList.find(function (item) {
115
- return item.shopId == id;
116
- })) === null || _shopList$find === void 0 ? void 0 : _shopList$find.shopSourceStr) || '';
117
112
 
118
- if (!(shopSourceStr !== 'TAOBAO' && (!values.accountNick || !values.accountNo))) {
113
+ if (!(values !== null && values !== void 0 && values.accountNick || values !== null && values !== void 0 && values.accountNo)) {
114
+ _context.next = 5;
115
+ break;
116
+ }
117
+
118
+ if (values !== null && values !== void 0 && values.accountNick && values !== null && values !== void 0 && values.accountNo) {
119
119
  _context.next = 5;
120
120
  break;
121
121
  }
122
122
 
123
- message.error('请输入支付宝姓名和支付宝账号');
123
+ message.error('支付宝姓名/账号都要填写');
124
124
  return _context.abrupt("return");
125
125
 
126
126
  case 5:
@@ -131,7 +131,9 @@ function ModifyModal(props, ref) {
131
131
  shopId = record.shopId, shopName = record.shopName, _shopList = record.shopList, other = _objectWithoutProperties(record, _excluded);
132
132
  newValue = _objectSpread(_objectSpread({}, other), values);
133
133
  } else {
134
- newValue = _objectSpread(_objectSpread({}, values), shopInfo);
134
+ newValue = _objectSpread(_objectSpread(_objectSpread({}, values), shopInfo), {}, {
135
+ buyerOpenUid: record.buyerOpenUid
136
+ });
135
137
  }
136
138
 
137
139
  _context.next = 10;
@@ -224,12 +226,12 @@ function ModifyModal(props, ref) {
224
226
  }();
225
227
 
226
228
  var TidChangeHandle = function TidChangeHandle(e) {
227
- var _shopList$find2;
229
+ var _shopList$find;
228
230
 
229
231
  var order_no = e.target.value;
230
- var taobaoId = (_shopList$find2 = shopList.find(function (item) {
232
+ var taobaoId = (_shopList$find = shopList.find(function (item) {
231
233
  return item.shopSourceStr === 'TAOBAO' && item.shopId == platformInfo.shopId;
232
- })) === null || _shopList$find2 === void 0 ? void 0 : _shopList$find2.taobaoId; //淘宝订单买家id返填
234
+ })) === null || _shopList$find === void 0 ? void 0 : _shopList$find.taobaoId; //淘宝订单买家id返填
233
235
 
234
236
  if (taobaoId) {
235
237
  clearTimeout(time.current);
@@ -330,18 +332,10 @@ function ModifyModal(props, ref) {
330
332
  label: "\u4E70\u5BB6\u6635\u79F0",
331
333
  name: "buyerNick",
332
334
  rules: [{
333
- required: true,
335
+ required: false,
334
336
  message: '请输入买家昵称'
335
337
  }],
336
338
  children: /*#__PURE__*/_jsx(Input, {})
337
- }), /*#__PURE__*/_jsx(Form.Item, {
338
- label: "\u4E70\u5BB6\u6635\u79F0id",
339
- name: "buyerOpenUid",
340
- rules: [{
341
- required: true,
342
- message: '请输入买家昵称id'
343
- }],
344
- children: /*#__PURE__*/_jsx(Input, {})
345
339
  }), /*#__PURE__*/_jsx(Form.Item, {
346
340
  label: "\u8BA2\u5355\u7F16\u53F7",
347
341
  name: "tid",
@@ -1,10 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import BasicComponent from '../../BasicComponent';
3
- import EBuyerName from '../EBuyerName';
4
- import EBuyerOpenUid from '../EBuyerOpenUid';
5
3
  declare class EBuyerNick extends BasicComponent {
6
- buyerNick: EBuyerName;
7
- buyerOpenUid: EBuyerOpenUid;
8
4
  constructor(options: any);
9
5
  customRules: (config: any) => {
10
6
  validator: (_: any, value: {
@@ -12,8 +8,7 @@ declare class EBuyerNick extends BasicComponent {
12
8
  buyerOpenUid: any;
13
9
  }) => Promise<void>;
14
10
  }[];
15
- render: () => null;
11
+ render: (value: any, record: any) => JSX.Element;
16
12
  editRender: (value: any) => JSX.Element;
17
- getColumns: () => any;
18
13
  }
19
14
  export default EBuyerNick;
@@ -31,13 +31,11 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
31
31
  * @Author: litian
32
32
  * @Date: 2022-06-30 17:30:05
33
33
  * @LastEditors: litian
34
- * @LastEditTime: 2022-09-20 18:02:16
34
+ * @LastEditTime: 2022-11-30 14:34:16
35
35
  */
36
36
  import React from 'react';
37
37
  import { BuyerNick } from '@raycloud-apaas-fe-setup/apaas-react-basics-widgets';
38
38
  import BasicComponent from "../../BasicComponent";
39
- import EBuyerName from "../EBuyerName";
40
- import EBuyerOpenUid from "../EBuyerOpenUid";
41
39
  import { getFormItem } from "../../common/formItemWrap";
42
40
  import { jsx as _jsx } from "react/jsx-runtime";
43
41
 
@@ -55,10 +53,6 @@ var EBuyerNick = /*#__PURE__*/function (_BasicComponent) {
55
53
 
56
54
  _this = _super.call(this, options);
57
55
 
58
- _defineProperty(_assertThisInitialized(_this), "buyerNick", void 0);
59
-
60
- _defineProperty(_assertThisInitialized(_this), "buyerOpenUid", void 0);
61
-
62
56
  _defineProperty(_assertThisInitialized(_this), "customRules", function (config) {
63
57
  return [{
64
58
  validator: function validator(_, value) {
@@ -66,53 +60,30 @@ var EBuyerNick = /*#__PURE__*/function (_BasicComponent) {
66
60
  return Promise.reject(new Error('请输入买家旺旺'));
67
61
  }
68
62
 
69
- var _this$componentConfig = _this.componentConfig,
70
- shopList = _this$componentConfig.shopList,
71
- shopId = _this$componentConfig.shopId;
72
- var isTaoBao = shopList.some(function (item) {
73
- return item.shopId === shopId && item.shopSourceStr === 'TAOBAO';
74
- });
75
-
76
- if (isTaoBao && !(value !== null && value !== void 0 && value.buyerOpenUid)) {
77
- return Promise.reject(new Error('请输入买家旺旺id'));
78
- }
79
-
80
63
  return Promise.resolve();
81
64
  }
82
65
  }];
83
66
  });
84
67
 
85
- _defineProperty(_assertThisInitialized(_this), "render", function () {
86
- return null;
68
+ _defineProperty(_assertThisInitialized(_this), "render", function (value, record) {
69
+ return /*#__PURE__*/_jsx("span", {
70
+ children: value === null || value === void 0 ? void 0 : value.buyerNick
71
+ });
87
72
  });
88
73
 
89
74
  _defineProperty(_assertThisInitialized(_this), "editRender", function (value) {
90
- var _this$componentConfig2, _this$componentConfig3;
75
+ var _this$componentConfig, _this$componentConfig2;
91
76
 
92
77
  return getFormItem(_objectSpread({
93
78
  title: _this.name,
94
79
  name: _this.id,
95
- rules: (_this$componentConfig2 = _this.componentConfig) !== null && _this$componentConfig2 !== void 0 && _this$componentConfig2.required ? _this.customRules(_this.componentConfig) : [],
96
- required: (_this$componentConfig3 = _this.componentConfig) === null || _this$componentConfig3 === void 0 ? void 0 : _this$componentConfig3.required,
80
+ rules: (_this$componentConfig = _this.componentConfig) !== null && _this$componentConfig !== void 0 && _this$componentConfig.required ? _this.customRules(_this.componentConfig) : [],
81
+ required: (_this$componentConfig2 = _this.componentConfig) === null || _this$componentConfig2 === void 0 ? void 0 : _this$componentConfig2.required,
97
82
  component: /*#__PURE__*/_jsx(BuyerNick, _objectSpread({}, _this.componentConfig))
98
83
  }, value));
99
84
  });
100
85
 
101
- _defineProperty(_assertThisInitialized(_this), "getColumns", function () {
102
- return {
103
- title: _this.name,
104
- children: [_this.buyerNick.getColumns(), _this.buyerOpenUid.getColumns()],
105
- canHidden: _this.canHidden,
106
- dataIndex: _this.id
107
- };
108
- });
109
-
110
- _this.buyerNick = new EBuyerName(_objectSpread(_objectSpread({}, options), {}, {
111
- name: '买家旺旺'
112
- }));
113
- _this.buyerOpenUid = new EBuyerOpenUid(_objectSpread(_objectSpread({}, options), {}, {
114
- name: '买家旺旺id'
115
- }));
86
+ _this.canFilter = true;
116
87
  _this.canHidden = true;
117
88
  _this.effects = options.effects;
118
89
  _this.componentConfig = _objectSpread(_objectSpread({}, options.componentConfig), {}, {
@@ -4,7 +4,6 @@ import AlipayNick from './AlipayNick';
4
4
  import PaymentStatus from './PaymentStatus';
5
5
  import PaymentAmount from './PaymentAmount';
6
6
  import BuyerNick from './BuyerNick';
7
- import BuyerOpenUid from './BuyerOpenUid';
8
7
  import PaymentTid from './PaymentTid';
9
8
  import AlipayNo from './AlipayNo';
10
9
  import PayTime from './PayTime';
@@ -13,7 +12,6 @@ declare class Payment extends BasicComponent {
13
12
  paymentStatus: PaymentStatus;
14
13
  paymentAmount: PaymentAmount;
15
14
  buyerNick: BuyerNick;
16
- buyerOpenUid: BuyerOpenUid;
17
15
  paymentTid: PaymentTid;
18
16
  alipayNo: AlipayNo;
19
17
  payTime: PayTime;
@@ -40,7 +40,6 @@ import AlipayNick from "./AlipayNick";
40
40
  import PaymentStatus from "./PaymentStatus";
41
41
  import PaymentAmount from "./PaymentAmount";
42
42
  import BuyerNick from "./BuyerNick";
43
- import BuyerOpenUid from "./BuyerOpenUid";
44
43
  import PaymentTid from "./PaymentTid";
45
44
  import AlipayNo from "./AlipayNo";
46
45
  import PayTime from "./PayTime";
@@ -69,8 +68,6 @@ var Payment = /*#__PURE__*/function (_BasicComponent) {
69
68
 
70
69
  _defineProperty(_assertThisInitialized(_this), "buyerNick", void 0);
71
70
 
72
- _defineProperty(_assertThisInitialized(_this), "buyerOpenUid", void 0);
73
-
74
71
  _defineProperty(_assertThisInitialized(_this), "paymentTid", void 0);
75
72
 
76
73
  _defineProperty(_assertThisInitialized(_this), "alipayNo", void 0);
@@ -88,21 +85,6 @@ var Payment = /*#__PURE__*/function (_BasicComponent) {
88
85
  return Promise.reject(new Error('打款金额最多2位小数'));
89
86
  }
90
87
 
91
- if (config.required && !(value !== null && value !== void 0 && value.enterprisePaymentBuyerNick)) {
92
- return Promise.reject(new Error('请输入买家昵称'));
93
- }
94
-
95
- var _this$componentConfig = _this.componentConfig,
96
- shopList = _this$componentConfig.shopList,
97
- shopId = _this$componentConfig.shopId;
98
- var isTaoBao = shopList.some(function (item) {
99
- return item.shopId === shopId && item.shopSourceStr === 'TAOBAO';
100
- });
101
-
102
- if (config.required && isTaoBao && !(value !== null && value !== void 0 && value.enterprisePaymentBuyerOpenUid)) {
103
- return Promise.reject(new Error('请输入买家昵称id'));
104
- }
105
-
106
88
  if (config.required && !(value !== null && value !== void 0 && value.enterprisePaymentTid)) {
107
89
  return Promise.reject(new Error('请输入订单编号'));
108
90
  } else if (value.enterprisePaymentTid && !/^[0-9a-zA-Z_-]{1,}$/.test(value.enterprisePaymentTid)) {
@@ -117,6 +99,13 @@ var Payment = /*#__PURE__*/function (_BasicComponent) {
117
99
  return Promise.reject(new Error('请输入支付宝账号'));
118
100
  } else if (value.enterprisePaymentAlipayNo && !/^(?:1[3-9]\d{9}|[a-zA-Z\d._-]*\@[a-zA-Z\d.-]{1,10}\.[a-zA-Z\d]{1,20})$/.test(value.enterprisePaymentAlipayNo)) {
119
101
  return Promise.reject(new Error('请输入正确的支付宝账号格式'));
102
+ } //支付宝信息不能只填一个,否则不能打款
103
+
104
+
105
+ if (value !== null && value !== void 0 && value.enterprisePaymentAlipayNick || value !== null && value !== void 0 && value.enterprisePaymentAlipayNo) {
106
+ if (!(value !== null && value !== void 0 && value.enterprisePaymentAlipayNick && value !== null && value !== void 0 && value.enterprisePaymentAlipayNo)) {
107
+ return Promise.reject(new Error('支付宝姓名/账号都要填写'));
108
+ }
120
109
  }
121
110
 
122
111
  return Promise.resolve();
@@ -129,13 +118,13 @@ var Payment = /*#__PURE__*/function (_BasicComponent) {
129
118
  });
130
119
 
131
120
  _defineProperty(_assertThisInitialized(_this), "editRender", function (value) {
132
- var _this$componentConfig2;
121
+ var _this$componentConfig;
133
122
 
134
123
  return getFormItem(_objectSpread({
135
124
  title: _this.name,
136
125
  name: _this.id,
137
126
  rules: _this.customRules(_this.componentConfig),
138
- required: (_this$componentConfig2 = _this.componentConfig) === null || _this$componentConfig2 === void 0 ? void 0 : _this$componentConfig2.required,
127
+ required: (_this$componentConfig = _this.componentConfig) === null || _this$componentConfig === void 0 ? void 0 : _this$componentConfig.required,
139
128
  component: /*#__PURE__*/_jsx(ApaasPayment, _objectSpread(_objectSpread({}, _this.componentConfig), {}, {
140
129
  onSearch: function onSearch(e) {
141
130
  return _this.changeHandle(e.target.value);
@@ -147,7 +136,8 @@ var Payment = /*#__PURE__*/function (_BasicComponent) {
147
136
  _defineProperty(_assertThisInitialized(_this), "getColumns", function () {
148
137
  return {
149
138
  title: _this.name,
150
- children: [_this.paymentTid.getColumns(), _this.paymentStatus.getColumns(), _this.paymentAmount.getColumns(), _this.buyerNick.getColumns(), _this.buyerOpenUid.getColumns(), _this.alipayNick.getColumns(), _this.alipayNo.getColumns(), _this.payTime.getColumns()],
139
+ children: [_this.paymentTid.getColumns(), _this.paymentStatus.getColumns(), _this.paymentAmount.getColumns(), _this.buyerNick.getColumns(), // this.buyerOpenUid.getColumns(),
140
+ _this.alipayNick.getColumns(), _this.alipayNo.getColumns(), _this.payTime.getColumns()],
151
141
  canHidden: _this.canHidden,
152
142
  dataIndex: _this.id
153
143
  };
@@ -162,9 +152,6 @@ var Payment = /*#__PURE__*/function (_BasicComponent) {
162
152
  _this.buyerNick = new BuyerNick(_objectSpread(_objectSpread({}, options), {}, {
163
153
  name: '买家昵称'
164
154
  }));
165
- _this.buyerOpenUid = new BuyerOpenUid(_objectSpread(_objectSpread({}, options), {}, {
166
- name: '买家昵称id'
167
- }));
168
155
  _this.paymentTid = new PaymentTid(_objectSpread(_objectSpread({}, options), {}, {
169
156
  name: '订单编号'
170
157
  }));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kmkf-work-order-service-component",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "scripts": {
5
5
  "start": "dumi dev",
6
6
  "docs:build": "dumi build",
@@ -39,7 +39,7 @@
39
39
  },
40
40
  "dependencies": {
41
41
  "@ant-design/icons": "^4.7.0",
42
- "@raycloud-apaas-fe-setup/apaas-react-basics-widgets": "^1.0.27-alpha.1",
42
+ "@raycloud-apaas-fe-setup/apaas-react-basics-widgets": "^1.0.28-alpha.3",
43
43
  "@reduxjs/toolkit": "^1.8.5",
44
44
  "js-md5": "^0.7.3",
45
45
  "react-redux": "^7.2.8",