@kmkf-fe-packages/kmkf-work-order-service-component 2.0.79-beta.63 → 2.0.79-beta.64
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/esm/CustomerServiceToDoList/index.d.ts +1 -3
- package/dist/esm/CustomerServiceToDoList/index.js +111 -70
- package/dist/esm/CustomerServiceToDoList/index.module.less +16 -3
- package/dist/esm/FlowTemplateDetailV2/index.js +0 -1
- package/dist/esm/WorkOrder/components/WorkOrderList/index.js +3 -7
- package/dist/esm/WorkOrder/index.js +2 -8
- package/dist/esm/common/utils/xzSDK.js +1 -44
- package/dist/esm/model/servers/api.d.ts +1 -0
- package/dist/esm/model/servers/api.js +9 -0
- package/package.json +2 -2
|
@@ -1,53 +1,110 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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 { Button, Card, Tag, Typography, Badge } from 'antd';
|
|
8
|
-
import React, { useMemo, useCallback, useRef } from 'react';
|
|
9
|
-
import { useVirtualList } from 'ahooks';
|
|
1
|
+
import { Button, Card, Tag, Typography, Badge, Spin, Empty } from 'antd';
|
|
2
|
+
import React, { useCallback, useRef, useEffect } from 'react';
|
|
3
|
+
import { useInfiniteScroll } from 'ahooks';
|
|
10
4
|
import { CloseOutlined } from '@ant-design/icons';
|
|
5
|
+
import { useAppDispatch } from "../model/hooks";
|
|
6
|
+
import { nodeWorkOrderPending } from "../model/servers/api";
|
|
11
7
|
import styles from "./index.module.less";
|
|
12
8
|
var Title = Typography.Title;
|
|
13
|
-
var
|
|
14
|
-
|
|
9
|
+
var getTableData = function getTableData(params) {
|
|
10
|
+
return nodeWorkOrderPending(params).then(function (res) {
|
|
11
|
+
var _res$data, _res$data2;
|
|
12
|
+
// console.log('API response:', res?.data);
|
|
13
|
+
return {
|
|
14
|
+
list: (res === null || res === void 0 ? void 0 : (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.list) || [],
|
|
15
|
+
total: (res === null || res === void 0 ? void 0 : (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.total) || 0
|
|
16
|
+
};
|
|
17
|
+
}).catch(function (error) {
|
|
18
|
+
console.error('API error:', error);
|
|
19
|
+
return {
|
|
20
|
+
list: [],
|
|
21
|
+
total: 0
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
var CustomerServiceToDoList = function CustomerServiceToDoList() {
|
|
26
|
+
var _ref, _data$list;
|
|
27
|
+
var dispatch = useAppDispatch();
|
|
15
28
|
var containerRef = useRef(null);
|
|
16
|
-
var
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
overscan: 10
|
|
29
|
+
var _useInfiniteScroll = useInfiniteScroll(function (d) {
|
|
30
|
+
var page = d ? Math.ceil(d.list.length / 10) + 1 : 1;
|
|
31
|
+
return getTableData({
|
|
32
|
+
pageNo: page,
|
|
33
|
+
pageSize: 10,
|
|
34
|
+
onlyWaitForMe: false,
|
|
35
|
+
onlyCount: false,
|
|
36
|
+
flowTags: ['AI_BUILD']
|
|
37
|
+
});
|
|
38
|
+
}, {
|
|
39
|
+
target: containerRef,
|
|
40
|
+
reloadDeps: [],
|
|
41
|
+
// 添加空的 reloadDeps 避免不必要的重新加载
|
|
42
|
+
isNoMore: function isNoMore(d) {
|
|
43
|
+
// 修复判断逻辑:检查当前页数据是否已经达到总数
|
|
44
|
+
if (!d || !d.list || !d.total) return false;
|
|
45
|
+
return d.list.length >= d.total;
|
|
46
|
+
}
|
|
35
47
|
}),
|
|
36
|
-
|
|
37
|
-
|
|
48
|
+
data = _useInfiniteScroll.data,
|
|
49
|
+
loading = _useInfiniteScroll.loading,
|
|
50
|
+
reload = _useInfiniteScroll.reload,
|
|
51
|
+
noMore = _useInfiniteScroll.noMore;
|
|
52
|
+
console.log('data', data, noMore);
|
|
53
|
+
var handleProcess = useCallback(function (item) {
|
|
54
|
+
// console.log('处理工单:', item);
|
|
38
55
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
56
|
+
dispatch({
|
|
57
|
+
type: 'customizeWorkOrder/setCurrentCustomizeRecord',
|
|
58
|
+
payload: {
|
|
59
|
+
flowTemplateName: item === null || item === void 0 ? void 0 : item.flowTemplateKey
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
dispatch({
|
|
63
|
+
type: 'customizeWorkOrder/setLogicFlowId',
|
|
64
|
+
payload: item.flowTemplateKey
|
|
65
|
+
});
|
|
66
|
+
dispatch({
|
|
67
|
+
type: 'customizeWorkOrder/setFlowWorkOrderId',
|
|
68
|
+
payload: item.flowWorkOrderId
|
|
69
|
+
});
|
|
70
|
+
dispatch({
|
|
71
|
+
type: 'customizeWorkOrder/setFormModalVisible',
|
|
72
|
+
payload: true
|
|
73
|
+
});
|
|
43
74
|
}, []);
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
75
|
+
var onCancel = function onCancel() {
|
|
76
|
+
dispatch({
|
|
77
|
+
type: 'customizeWorkOrder/setCustomerServiceToDoListOpen',
|
|
78
|
+
payload: false
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
useEffect(function () {
|
|
82
|
+
reload();
|
|
83
|
+
}, []);
|
|
84
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
85
|
+
className: styles.container,
|
|
86
|
+
onClick: onCancel
|
|
87
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
88
|
+
className: styles.todoSection,
|
|
89
|
+
onClick: function onClick(e) {
|
|
90
|
+
return e.stopPropagation();
|
|
91
|
+
}
|
|
92
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
93
|
+
className: styles.todoTabs
|
|
94
|
+
}, /*#__PURE__*/React.createElement(Badge, {
|
|
95
|
+
count: data === null || data === void 0 ? void 0 : data.total
|
|
96
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
97
|
+
className: styles.todoTab
|
|
98
|
+
}, "\u5BA2\u670D\u5F85\u529E")), /*#__PURE__*/React.createElement(CloseOutlined, {
|
|
99
|
+
onClick: onCancel
|
|
100
|
+
})), /*#__PURE__*/React.createElement("main", {
|
|
101
|
+
className: styles.todoList,
|
|
102
|
+
ref: containerRef
|
|
103
|
+
}, ((data === null || data === void 0 ? void 0 : data.list) || []).length > 0 ? /*#__PURE__*/React.createElement(Spin, {
|
|
104
|
+
spinning: loading
|
|
105
|
+
}, (_ref = (data === null || data === void 0 ? void 0 : data.list) || []) === null || _ref === void 0 ? void 0 : _ref.map(function (item) {
|
|
49
106
|
return /*#__PURE__*/React.createElement(Card, {
|
|
50
|
-
key:
|
|
107
|
+
key: item.id,
|
|
51
108
|
className: "".concat(styles.todoItem),
|
|
52
109
|
bodyStyle: {
|
|
53
110
|
padding: '12px 16px'
|
|
@@ -60,47 +117,31 @@ var CustomerServiceToDoList = function CustomerServiceToDoList(props) {
|
|
|
60
117
|
className: styles.todoDescription
|
|
61
118
|
}, /*#__PURE__*/React.createElement(Title, {
|
|
62
119
|
level: 5
|
|
63
|
-
},
|
|
120
|
+
}, item.scene, " \u5DE5\u5355\u9700\u8981\u5904\u7406\uFF0C\u8BF7\u53CA\u65F6\u5904\u7406")), /*#__PURE__*/React.createElement("div", {
|
|
64
121
|
className: styles.todoMeta
|
|
65
122
|
}, /*#__PURE__*/React.createElement("span", {
|
|
66
123
|
className: styles.timestamp
|
|
67
|
-
},
|
|
124
|
+
}, item.created))), /*#__PURE__*/React.createElement("div", {
|
|
68
125
|
className: styles.todoAction
|
|
69
126
|
}, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("span", {
|
|
70
127
|
className: styles.source
|
|
71
|
-
},
|
|
128
|
+
}, item.platformTypeName, "\u3010", item.shopName, "\u3011"), /*#__PURE__*/React.createElement(Tag, {
|
|
72
129
|
color: "blue",
|
|
73
130
|
className: styles.aiAction
|
|
74
|
-
},
|
|
131
|
+
}, "AI\u81EA\u52A8\u5EFA\u5355-".concat(item.currentWorkOrderStatus))), /*#__PURE__*/React.createElement(Button, {
|
|
75
132
|
type: "primary",
|
|
76
133
|
size: "small",
|
|
77
134
|
ghost: true,
|
|
78
135
|
onClick: function onClick() {
|
|
79
|
-
return handleProcess(
|
|
136
|
+
return handleProcess(item);
|
|
80
137
|
}
|
|
81
138
|
}, "\u53BB\u5904\u7406"))));
|
|
82
|
-
},
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}, /*#__PURE__*/React.createElement("
|
|
87
|
-
className: styles.
|
|
88
|
-
|
|
89
|
-
return e.stopPropagation();
|
|
90
|
-
}
|
|
91
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
92
|
-
className: styles.todoTabs
|
|
93
|
-
}, /*#__PURE__*/React.createElement(Badge, {
|
|
94
|
-
count: 100
|
|
95
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
96
|
-
className: styles.todoTab
|
|
97
|
-
}, "\u5BA2\u670D\u5F85\u529E")), /*#__PURE__*/React.createElement(CloseOutlined, {
|
|
98
|
-
onClick: onCancel
|
|
99
|
-
})), /*#__PURE__*/React.createElement("div", {
|
|
100
|
-
className: styles.todoList,
|
|
101
|
-
ref: containerRef
|
|
102
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
103
|
-
ref: wrapperRef
|
|
104
|
-
}, list.map(renderTodoItem)))));
|
|
139
|
+
})) : /*#__PURE__*/React.createElement("div", {
|
|
140
|
+
className: styles.todoEmpty
|
|
141
|
+
}, /*#__PURE__*/React.createElement(Empty, {
|
|
142
|
+
description: "\u6682\u65E0\u6570\u636E"
|
|
143
|
+
})), noMore && data !== null && data !== void 0 && (_data$list = data.list) !== null && _data$list !== void 0 && _data$list.length ? /*#__PURE__*/React.createElement("p", {
|
|
144
|
+
className: styles.todoNoMore
|
|
145
|
+
}, "\u6CA1\u6709\u66F4\u591A\u6570\u636E\u4E86") : null)));
|
|
105
146
|
};
|
|
106
147
|
export default CustomerServiceToDoList;
|
|
@@ -38,10 +38,9 @@
|
|
|
38
38
|
height: calc(100% - 50px);
|
|
39
39
|
overflow-y: auto;
|
|
40
40
|
background: #f0f0f0;
|
|
41
|
-
padding-top:
|
|
41
|
+
padding-top: 8px;
|
|
42
42
|
.todoItem {
|
|
43
|
-
margin-bottom:
|
|
44
|
-
// border: 1px solid #f0f0f0;
|
|
43
|
+
margin-bottom: 8px;
|
|
45
44
|
border-radius: 6px;
|
|
46
45
|
transition: all 0.3s;
|
|
47
46
|
|
|
@@ -91,6 +90,20 @@
|
|
|
91
90
|
}
|
|
92
91
|
}
|
|
93
92
|
}
|
|
93
|
+
.todoEmpty {
|
|
94
|
+
display: flex;
|
|
95
|
+
justify-content: center;
|
|
96
|
+
align-items: center;
|
|
97
|
+
height: 100%;
|
|
98
|
+
}
|
|
99
|
+
.todoNoMore {
|
|
100
|
+
display: flex;
|
|
101
|
+
justify-content: center;
|
|
102
|
+
align-items: center;
|
|
103
|
+
height: 32px;
|
|
104
|
+
color: #999;
|
|
105
|
+
font-size: 14px;
|
|
106
|
+
}
|
|
94
107
|
}
|
|
95
108
|
}
|
|
96
109
|
|
|
@@ -1235,7 +1235,6 @@ var FlowTemplateDetail = function FlowTemplateDetail(props) {
|
|
|
1235
1235
|
follow: !follow
|
|
1236
1236
|
}));
|
|
1237
1237
|
};
|
|
1238
|
-
console.log('currentNodeDetail', currentNodeDetail);
|
|
1239
1238
|
return /*#__PURE__*/React.createElement(Spin, {
|
|
1240
1239
|
spinning: loading || orderBackLoading || orderBackKmLoading
|
|
1241
1240
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -143,14 +143,10 @@ var CustomizeWorkOrderList = function CustomizeWorkOrderList(_ref4) {
|
|
|
143
143
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
144
144
|
tab = _useState6[0],
|
|
145
145
|
setTab = _useState6[1];
|
|
146
|
-
var _useState7 = useState(
|
|
146
|
+
var _useState7 = useState(null),
|
|
147
147
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
var _useState9 = useState(null),
|
|
151
|
-
_useState10 = _slicedToArray(_useState9, 2),
|
|
152
|
-
searchTemplateDetails = _useState10[0],
|
|
153
|
-
setSearchTemplateDetails = _useState10[1];
|
|
148
|
+
searchTemplateDetails = _useState8[0],
|
|
149
|
+
setSearchTemplateDetails = _useState8[1];
|
|
154
150
|
var allLogicFlowList = useSelector(selectFlowList);
|
|
155
151
|
var flowTemplateGroupWorkOrderTemplateList = useSelector(selectFlowTemplateGroupWorkOrderTemplateList);
|
|
156
152
|
var shopList = useAppSelector(function (state) {
|
|
@@ -156,6 +156,7 @@ var WorkOrder = function WorkOrder(props) {
|
|
|
156
156
|
dispatch(fetchLogicFlowList);
|
|
157
157
|
dispatch(fetchQueryCurrentCompanyUser());
|
|
158
158
|
dispatch(showPayment);
|
|
159
|
+
//工单通AI智能工单功能,监听消息
|
|
159
160
|
if (platform === PlatForm.XIAOZHI) {
|
|
160
161
|
xzSDK.receiveTabMsg(dispatch);
|
|
161
162
|
}
|
|
@@ -290,14 +291,7 @@ var WorkOrder = function WorkOrder(props) {
|
|
|
290
291
|
onOpenWangWang: onOpenWangWang
|
|
291
292
|
}), tabActive === 'wdt' && /*#__PURE__*/React.createElement(WdtTradeList, {
|
|
292
293
|
version: ((_companyUserConfig2 = companyUserConfig) === null || _companyUserConfig2 === void 0 ? void 0 : (_companyUserConfig2$p = _companyUserConfig2.plugins) === null || _companyUserConfig2$p === void 0 ? void 0 : (_companyUserConfig2$p2 = _companyUserConfig2$p.wdt) === null || _companyUserConfig2$p2 === void 0 ? void 0 : _companyUserConfig2$p2.version) || ''
|
|
293
|
-
}), customerServiceToDoListOpen && /*#__PURE__*/React.createElement(CustomerServiceToDoList, {
|
|
294
|
-
onCancel: function onCancel() {
|
|
295
|
-
return dispatch({
|
|
296
|
-
type: 'customizeWorkOrder/setCustomerServiceToDoListOpen',
|
|
297
|
-
payload: false
|
|
298
|
-
});
|
|
299
|
-
}
|
|
300
|
-
}))), !isEmpower && platform !== PlatForm.WEB && Reminder({
|
|
294
|
+
}), customerServiceToDoListOpen && /*#__PURE__*/React.createElement(CustomerServiceToDoList, null))), !isEmpower && platform !== PlatForm.WEB && Reminder({
|
|
301
295
|
callback: onEmpowerCallback
|
|
302
296
|
}));
|
|
303
297
|
};
|
|
@@ -264,50 +264,7 @@ var sendMsgToTab = function sendMsgToTab(dispatch) {
|
|
|
264
264
|
dispatch({
|
|
265
265
|
type: 'customizeWorkOrder/setCurrentCustomizeRecord',
|
|
266
266
|
payload: {
|
|
267
|
-
|
|
268
|
-
companyKey: 'SZF4ZGWZSNW6PYXMCIFEWBXT',
|
|
269
|
-
completedTime: 1755069133702,
|
|
270
|
-
created: 1755065338985,
|
|
271
|
-
creator: '儿茶',
|
|
272
|
-
creatorId: 'SZF4ZGWZSNW6PYXMCIFEWBXT',
|
|
273
|
-
currentNodeId: 'FN00432493932429004800',
|
|
274
|
-
currentNodeName: '步骤名称2',
|
|
275
|
-
flowRecordList: [{
|
|
276
|
-
companyKey: 'SZF4ZGWZSNW6PYXMCIFEWBXT',
|
|
277
|
-
created: 1755069133597,
|
|
278
|
-
deleted: false,
|
|
279
|
-
enterCount: 1,
|
|
280
|
-
eventNodeType: 'WORK_ORDER_SUBMIT',
|
|
281
|
-
flowTemplateId: '676a22dc6291102e2710d0ac',
|
|
282
|
-
flowTemplateKey: 'FTU00432476731687092224',
|
|
283
|
-
flowVersion: 2,
|
|
284
|
-
flowWorkOrderId: 'FW00516616362058788864',
|
|
285
|
-
id: 42323,
|
|
286
|
-
modified: 1755069133597,
|
|
287
|
-
nodeId: 'FN00432476842978754560',
|
|
288
|
-
nodeIsAuto: false,
|
|
289
|
-
nodeName: '步骤名称1',
|
|
290
|
-
nodeType: 'START_NODE',
|
|
291
|
-
operateType: 'PASS',
|
|
292
|
-
operateTypeDesc: '审核通过',
|
|
293
|
-
operator: '儿茶',
|
|
294
|
-
operatorId: 'SZF4ZGWZSNW6PYXMCIFEWBXT',
|
|
295
|
-
relationBusinessId: 'FNW00516616360408641536'
|
|
296
|
-
}],
|
|
297
|
-
flowStatus: 'COMPLETED',
|
|
298
|
-
flowTags: [],
|
|
299
|
-
flowTemplateId: '676a22dc6291102e2710d0ac',
|
|
300
|
-
flowTemplateKey: 'FTU00432476731687092224',
|
|
301
|
-
flowTemplateName: '会员等级',
|
|
302
|
-
flowVersion: 2,
|
|
303
|
-
flowWorkOrderId: 'FW00516616362058788864',
|
|
304
|
-
markFlag: '',
|
|
305
|
-
modified: 1755069133597,
|
|
306
|
-
relationBusinessId: '',
|
|
307
|
-
shopUniqueKey: 'XX3D53IIDHP76TR7M7XDYP5W',
|
|
308
|
-
staffIds: '',
|
|
309
|
-
tid: '123',
|
|
310
|
-
workOrderList: []
|
|
267
|
+
flowTemplateName: '会员等级'
|
|
311
268
|
}
|
|
312
269
|
});
|
|
313
270
|
dispatch({
|
|
@@ -107,3 +107,4 @@ export declare const queryMemberLevel: (data: {
|
|
|
107
107
|
}) => Promise<serverProps<Array<string>>>;
|
|
108
108
|
export declare const queryShopByTid: (data: any) => Promise<any>;
|
|
109
109
|
export declare const queryTidByOutSid: (data: any) => Promise<any>;
|
|
110
|
+
export declare const nodeWorkOrderPending: (data: any) => Promise<any>;
|
|
@@ -609,4 +609,13 @@ export var queryTidByOutSid = function queryTidByOutSid(data) {
|
|
|
609
609
|
method: 'post',
|
|
610
610
|
data: data
|
|
611
611
|
});
|
|
612
|
+
};
|
|
613
|
+
|
|
614
|
+
//待处理节点工单(客服待办)
|
|
615
|
+
export var nodeWorkOrderPending = function nodeWorkOrderPending(data) {
|
|
616
|
+
return request({
|
|
617
|
+
url: '/qy/flow/workBench/nodeWorkOrder/pending',
|
|
618
|
+
method: 'post',
|
|
619
|
+
data: data
|
|
620
|
+
});
|
|
612
621
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kmkf-fe-packages/kmkf-work-order-service-component",
|
|
3
|
-
"version": "2.0.79-beta.
|
|
3
|
+
"version": "2.0.79-beta.64",
|
|
4
4
|
"module": "dist/esm/index.js",
|
|
5
5
|
"typings": "dist/esm/index.d.ts",
|
|
6
6
|
"files": [
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
"publishConfig": {
|
|
74
74
|
"access": "public"
|
|
75
75
|
},
|
|
76
|
-
"gitHead": "
|
|
76
|
+
"gitHead": "63ce97873ac0cc11fcd44940db73e20a591370c6",
|
|
77
77
|
"gitHooks": {
|
|
78
78
|
"pre-commit": "lint-staged"
|
|
79
79
|
}
|