bhd-components 0.5.6 → 0.5.8

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 (115) hide show
  1. package/dist/5764783e.esm.es5.production.js +468 -0
  2. package/dist/f2b01b9c.esm.es5.development.js +167840 -0
  3. package/dist/index.esm.es5.development.css +8467 -0
  4. package/dist/index.esm.es5.development.js +5835 -0
  5. package/dist/index.esm.es5.production.css +1 -0
  6. package/dist/index.esm.es5.production.js +1 -0
  7. package/dist/vendor.esm.es5.development.esm.es5.development.css +117 -0
  8. package/dist/vendor.esm.es5.production.esm.es5.production.css +9 -0
  9. package/es2017/customerService/contactsList/index.d.ts +14 -0
  10. package/es2017/customerService/contactsList/index.js +316 -0
  11. package/es2017/customerService/contactsList/index.module.less +206 -0
  12. package/es2017/customerService/function.d.ts +17 -0
  13. package/es2017/customerService/function.js +72 -0
  14. package/es2017/customerService/historyFun/index.d.ts +14 -0
  15. package/es2017/customerService/historyFun/index.js +276 -0
  16. package/es2017/customerService/historyFun/index.module.less +223 -0
  17. package/es2017/customerService/images/knowledge_icon.png +0 -0
  18. package/es2017/customerService/images/voice_btn.gif +0 -0
  19. package/es2017/customerService/index.d.ts +16 -0
  20. package/es2017/customerService/index.js +2687 -0
  21. package/es2017/customerService/index.module.less +790 -0
  22. package/es2017/customerService/useMediaRecorder.d.ts +9 -0
  23. package/es2017/customerService/useMediaRecorder.js +78 -0
  24. package/es2017/customerService/voice_btn.gif +0 -0
  25. package/es2017/icons/components/custom-ai_icon.d.ts +4 -0
  26. package/es2017/icons/components/custom-ai_icon.js +58 -0
  27. package/es2017/icons/components/custom-contacts.d.ts +4 -0
  28. package/es2017/icons/components/custom-contacts.js +29 -0
  29. package/es2017/icons/components/custom-copy.d.ts +4 -0
  30. package/es2017/icons/components/custom-copy.js +36 -0
  31. package/es2017/icons/components/custom-dislike.d.ts +4 -0
  32. package/es2017/icons/components/custom-dislike.js +22 -0
  33. package/es2017/icons/components/custom-duihao.d.ts +4 -0
  34. package/es2017/icons/components/custom-duihao.js +22 -0
  35. package/es2017/icons/components/custom-exit_full_screen.d.ts +4 -0
  36. package/es2017/icons/components/custom-exit_full_screen.js +26 -0
  37. package/es2017/icons/components/custom-full_screen.d.ts +4 -0
  38. package/es2017/icons/components/custom-full_screen.js +22 -0
  39. package/es2017/icons/components/custom-like.d.ts +4 -0
  40. package/es2017/icons/components/custom-like.js +22 -0
  41. package/es2017/icons/components/custom-quote.d.ts +4 -0
  42. package/es2017/icons/components/custom-quote.js +31 -0
  43. package/es2017/icons/components/custom-record.d.ts +4 -0
  44. package/es2017/icons/components/custom-record.js +37 -0
  45. package/es2017/icons/components/custom-reloading.d.ts +4 -0
  46. package/es2017/icons/components/custom-reloading.js +26 -0
  47. package/es2017/icons/components/custom-retract.d.ts +4 -0
  48. package/es2017/icons/components/custom-retract.js +27 -0
  49. package/es2017/icons/components/custom-round_close.d.ts +4 -0
  50. package/es2017/icons/components/custom-round_close.js +24 -0
  51. package/es2017/icons/components/custom-sending.d.ts +4 -0
  52. package/es2017/icons/components/custom-sending.js +22 -0
  53. package/es2017/icons/components/custom-sound_recording.d.ts +4 -0
  54. package/es2017/icons/components/custom-sound_recording.js +22 -0
  55. package/es2017/icons/components/index.d.ts +15 -0
  56. package/es2017/icons/components/index.js +15 -0
  57. package/es2017/index.d.ts +1 -0
  58. package/es2017/index.js +1 -0
  59. package/esm/customerService/contactsList/index.d.ts +14 -0
  60. package/esm/customerService/contactsList/index.js +333 -0
  61. package/esm/customerService/contactsList/index.module.less +206 -0
  62. package/esm/customerService/function.d.ts +17 -0
  63. package/esm/customerService/function.js +74 -0
  64. package/esm/customerService/historyFun/index.d.ts +14 -0
  65. package/esm/customerService/historyFun/index.js +289 -0
  66. package/esm/customerService/historyFun/index.module.less +223 -0
  67. package/esm/customerService/images/knowledge_icon.png +0 -0
  68. package/esm/customerService/images/voice_btn.gif +0 -0
  69. package/esm/customerService/index.d.ts +16 -0
  70. package/esm/customerService/index.js +2793 -0
  71. package/esm/customerService/index.module.less +790 -0
  72. package/esm/customerService/useMediaRecorder.d.ts +9 -0
  73. package/esm/customerService/useMediaRecorder.js +121 -0
  74. package/esm/customerService/voice_btn.gif +0 -0
  75. package/esm/icons/components/custom-ai_icon.d.ts +4 -0
  76. package/esm/icons/components/custom-ai_icon.js +60 -0
  77. package/esm/icons/components/custom-contacts.d.ts +4 -0
  78. package/esm/icons/components/custom-contacts.js +31 -0
  79. package/esm/icons/components/custom-copy.d.ts +4 -0
  80. package/esm/icons/components/custom-copy.js +38 -0
  81. package/esm/icons/components/custom-dislike.d.ts +4 -0
  82. package/esm/icons/components/custom-dislike.js +24 -0
  83. package/esm/icons/components/custom-duihao.d.ts +4 -0
  84. package/esm/icons/components/custom-duihao.js +24 -0
  85. package/esm/icons/components/custom-exit_full_screen.d.ts +4 -0
  86. package/esm/icons/components/custom-exit_full_screen.js +28 -0
  87. package/esm/icons/components/custom-full_screen.d.ts +4 -0
  88. package/esm/icons/components/custom-full_screen.js +24 -0
  89. package/esm/icons/components/custom-like.d.ts +4 -0
  90. package/esm/icons/components/custom-like.js +24 -0
  91. package/esm/icons/components/custom-quote.d.ts +4 -0
  92. package/esm/icons/components/custom-quote.js +33 -0
  93. package/esm/icons/components/custom-record.d.ts +4 -0
  94. package/esm/icons/components/custom-record.js +39 -0
  95. package/esm/icons/components/custom-reloading.d.ts +4 -0
  96. package/esm/icons/components/custom-reloading.js +28 -0
  97. package/esm/icons/components/custom-retract.d.ts +4 -0
  98. package/esm/icons/components/custom-retract.js +29 -0
  99. package/esm/icons/components/custom-round_close.d.ts +4 -0
  100. package/esm/icons/components/custom-round_close.js +26 -0
  101. package/esm/icons/components/custom-sending.d.ts +4 -0
  102. package/esm/icons/components/custom-sending.js +24 -0
  103. package/esm/icons/components/custom-sound_recording.d.ts +4 -0
  104. package/esm/icons/components/custom-sound_recording.js +24 -0
  105. package/esm/icons/components/index.d.ts +15 -0
  106. package/esm/icons/components/index.js +15 -0
  107. package/esm/index.d.ts +1 -0
  108. package/esm/index.js +1 -0
  109. package/package.json +11 -2
  110. package/dist/1951bd5c.esm.es5.development.js +0 -45417
  111. package/dist/28cd83d3.esm.es5.production.js +0 -256
  112. package/dist/table.esm.es5.development.css +0 -772
  113. package/dist/table.esm.es5.development.js +0 -289
  114. package/dist/table.esm.es5.production.css +0 -1
  115. package/dist/table.esm.es5.production.js +0 -1
@@ -0,0 +1,72 @@
1
+ //消息已读
2
+ const readMessage = (roomId, urllocation, userData, http)=>{
3
+ http.patch(`${urllocation}/chat-service/public/v1.0/history-messages:read`, {
4
+ roomId: roomId
5
+ }, {
6
+ headers: {
7
+ "x-module-id": userData.modules.find((ele)=>ele.short == "IntelligentCustomerService").id,
8
+ "x-auth-jwt": window.localStorage.getItem("usertoken") || ""
9
+ }
10
+ });
11
+ };
12
+ const getByteLen = (val)=>{
13
+ var len = 0;
14
+ for(var i = 0; i < val.length; i++){
15
+ var a = val.charAt(i);
16
+ if (a.match(/[^\x00-\xff]/gi) != null) {
17
+ //\x00-\xff→GBK双字节编码范围
18
+ len += 2;
19
+ } else {
20
+ len += 1;
21
+ }
22
+ }
23
+ return len;
24
+ };
25
+ //当前服务url
26
+ const serverUrl = ()=>{
27
+ let hashName = "";
28
+ window.location.hash.replace(/#\/(.[^/?]+)([?/].)*/, ($1, $2)=>{
29
+ hashName = $2;
30
+ });
31
+ return hashName;
32
+ };
33
+ //复制内容
34
+ const copyText = (text)=>{
35
+ // text是复制文本
36
+ // 创建input元素
37
+ const el = document.createElement("input");
38
+ // 给input元素赋值需要复制的文本
39
+ el.setAttribute("value", text);
40
+ // 将input元素插入页面
41
+ document.body.appendChild(el);
42
+ // 选中input元素的文本
43
+ el.select();
44
+ // 复制内容到剪贴板
45
+ document.execCommand("copy");
46
+ // 删除input元素
47
+ document.body.removeChild(el);
48
+ return true;
49
+ };
50
+ //获取当前时间
51
+ const getDataTime = (time)=>{
52
+ try {
53
+ let now;
54
+ if (time != undefined && time != -1) {
55
+ now = new Date(time);
56
+ } else {
57
+ now = new Date();
58
+ }
59
+ // const now = new Date();
60
+ const year = now.getFullYear();
61
+ const month = String(now.getMonth() + 1).padStart(2, "0");
62
+ const day = String(now.getDate()).padStart(2, "0");
63
+ const hours = String(now.getHours()).padStart(2, "0");
64
+ const minutes = String(now.getMinutes()).padStart(2, "0");
65
+ const seconds = String(now.getSeconds()).padStart(2, "0");
66
+ const currentDateTime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
67
+ return currentDateTime;
68
+ } catch (error) {
69
+ return '';
70
+ }
71
+ };
72
+ export { readMessage, getByteLen, serverUrl, copyText, getDataTime };
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import "highlight.js/styles/default.css";
3
+ interface data {
4
+ type: number;
5
+ roomId: String | number;
6
+ userData: any;
7
+ http: any;
8
+ urllocation: String;
9
+ onClose: any;
10
+ loadSpecifiedData: any;
11
+ roomList: any;
12
+ }
13
+ declare const HistoryFun: (props: data) => JSX.Element;
14
+ export default HistoryFun;
@@ -0,0 +1,276 @@
1
+ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
+ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
3
+ import { jsx as _jsx, jsxs as _jsxs } from "@ice/jsx-runtime/jsx-runtime";
4
+ import React, { useEffect, useState, useRef } from "react";
5
+ import styles from "./index.module.less";
6
+ import "highlight.js/styles/default.css";
7
+ import { Input } from "antd";
8
+ import { CustomClose } from "../../icons/index";
9
+ import { SearchOutlined } from "@ant-design/icons";
10
+ import { getDataTime } from "../function"; //录音使用文件
11
+ const HistoryFun = (props)=>{
12
+ let { type , roomId , userData , http , urllocation , onClose , loadSpecifiedData , roomList } = props;
13
+ const [keyWordProblem, setKeyWordProblem] = useState(""); //搜索内容
14
+ const [keyHistoryMessageList, setKeyHistoryMessageList] = useState([]); //搜索的历史记录
15
+ const [userNameObj, setUserNameObj] = useState([]); //根据用户id,存储一些用户名
16
+ const [showLoadingState, setShowLoadingState] = useState(1); //1,初始状态,2、无数据 ,3、不显示图片
17
+ const [load, setLoad] = useState(false);
18
+ const timer = useRef(null); //文本框输入时
19
+ const objName = useRef([]);
20
+ useEffect(()=>{
21
+ setKeyHistoryMessageList((list)=>{
22
+ console.log(objName, 4444455555);
23
+ let newList = list.map((item)=>{
24
+ let name = '';
25
+ let nameList = objName.current.filter((a)=>a.id == item.receiver);
26
+ if (nameList.length > 0) {
27
+ name = nameList[0].name;
28
+ }
29
+ console.log(name, 77777);
30
+ return _object_spread_props(_object_spread({}, item), {
31
+ name: name
32
+ });
33
+ });
34
+ console.log(newList, 4444444444);
35
+ return newList;
36
+ });
37
+ }, [
38
+ load
39
+ ]);
40
+ //获取搜索中的历史消息记录
41
+ const getKeyHistoryMessage = (keyWordProblem)=>{
42
+ if (roomId == "") return;
43
+ return http.get(`${urllocation}/chat-service/public/v1.0/history-messages`, {
44
+ params: {
45
+ roomId: "",
46
+ message: keyWordProblem,
47
+ page: 1,
48
+ maxPageSize: 300,
49
+ direction: "desc"
50
+ },
51
+ headers: {
52
+ "x-module-id": userData.modules.find((ele)=>ele.short == "IntelligentCustomerService").id,
53
+ "x-auth-jwt": window.localStorage.getItem("usertoken") || ""
54
+ }
55
+ }).then((res)=>{
56
+ console.log(res.data, 3434378);
57
+ if (res.data.messages.length > 0) {
58
+ setShowLoadingState(3);
59
+ let dataList = res.data.messages;
60
+ setKeyHistoryMessageList(dataList);
61
+ getUserName(dataList);
62
+ } else {
63
+ // setKeyHistoryMessageList([]);
64
+ setShowLoadingState(2);
65
+ }
66
+ }).catch((res)=>{});
67
+ };
68
+ //获取全部数据
69
+ const allData = (roomId)=>{
70
+ if (roomId == "") return;
71
+ return http.get(`${urllocation}/chat-service/public/v1.0/history-messages`, {
72
+ params: {
73
+ roomId: roomId,
74
+ page: 1,
75
+ maxPageSize: 9999999
76
+ },
77
+ headers: {
78
+ "x-module-id": userData.modules.find((ele)=>ele.short == "IntelligentCustomerService").id,
79
+ "x-auth-jwt": window.localStorage.getItem("usertoken") || ""
80
+ }
81
+ });
82
+ };
83
+ const findPageNumber = (perPage, totalPages, targetPosition)=>{
84
+ const pageNumber = Math.ceil(targetPosition / perPage);
85
+ if (pageNumber > totalPages) {
86
+ return -1; // 数据不存在于给定的页数范围内
87
+ }
88
+ return pageNumber;
89
+ };
90
+ //根据index,计算历史数据在第几页
91
+ const calculationData = (roomId, index, id, sender)=>{
92
+ allData(roomId).then((res)=>{
93
+ // console.log(res.data.messages,'11111111')
94
+ if (res.data) {
95
+ let total = res.data.total;
96
+ let dataList = res.data.messages.reverse();
97
+ // console.log(dataList,'sldkcmsdklc');
98
+ let number;
99
+ dataList.map((item, index)=>{
100
+ if (item.id == id) {
101
+ number = index;
102
+ }
103
+ });
104
+ const pageNumber = findPageNumber(30, Math.ceil(total / 30), number);
105
+ console.log(roomId, pageNumber, id, "第几页第几页第几页第几页第几页第几页");
106
+ loadSpecifiedData(roomId, pageNumber, id, receiver);
107
+ onClose();
108
+ setKeyWordProblem("");
109
+ setKeyHistoryMessageList([]);
110
+ }
111
+ });
112
+ };
113
+ const getUserName = (dataList)=>{
114
+ try {
115
+ // let objName: { id: string; name: String; }[] = [];//[{id:'用户id',name:'用户名字‘}]
116
+ let obj = [];
117
+ //去重
118
+ let res = new Map();
119
+ let filterList = dataList.filter((a)=>!res.has(a.receiver) && res.set(a.receiver, 1));
120
+ filterList = filterList.filter((item)=>item.receiver != userData.mid && item.receiver != 'AI');
121
+ console.log(filterList, 'wefwekfjwef');
122
+ filterList.map((item)=>{
123
+ userName(item.receiver).then((res)=>{
124
+ if (res.data) {
125
+ obj.push({
126
+ id: item.receiver,
127
+ name: res.data.name
128
+ });
129
+ console.log(objName, 'kdfvdfdfvjkdfnv');
130
+ if (obj.length == filterList.length) {
131
+ objName.current = obj;
132
+ setLoad(true);
133
+ }
134
+ }
135
+ });
136
+ });
137
+ } catch (error) {}
138
+ };
139
+ const userName = (uid)=>{
140
+ return http.get(`${urllocation}/chat-service/public/v1.0/userinfo`, {
141
+ params: {
142
+ uid: uid
143
+ },
144
+ headers: {
145
+ "x-module-id": userData.modules.find((ele)=>ele.short == "TeacherAnswer").id,
146
+ "x-auth-jwt": window.localStorage.getItem("usertoken") || ""
147
+ }
148
+ });
149
+ };
150
+ return /*#__PURE__*/ _jsx("div", {
151
+ className: `${styles.history_list} ${type == 2 ? styles.history_list_broadside : ""} `,
152
+ children: /*#__PURE__*/ _jsxs("div", {
153
+ className: styles.search_layout,
154
+ children: [
155
+ /*#__PURE__*/ _jsxs("div", {
156
+ className: styles.title,
157
+ children: [
158
+ /*#__PURE__*/ _jsx("span", {
159
+ children: "历史记录"
160
+ }),
161
+ /*#__PURE__*/ _jsx("span", {
162
+ onClick: ()=>{
163
+ onClose();
164
+ },
165
+ children: /*#__PURE__*/ _jsx(CustomClose, {})
166
+ })
167
+ ]
168
+ }),
169
+ /*#__PURE__*/ _jsxs("div", {
170
+ className: styles.search_top,
171
+ children: [
172
+ /*#__PURE__*/ _jsx(SearchOutlined, {}),
173
+ /*#__PURE__*/ _jsx(Input, {
174
+ placeholder: "请输入您要搜索的内容",
175
+ value: keyWordProblem,
176
+ onChange: (e)=>{
177
+ let val = String(e.target.value);
178
+ setKeyWordProblem(val);
179
+ clearTimeout(timer.current);
180
+ timer.current = setTimeout(()=>{
181
+ if (val != "") {
182
+ getKeyHistoryMessage(val);
183
+ } else {
184
+ setShowLoadingState(1);
185
+ setKeyHistoryMessageList([]);
186
+ setLoad(false);
187
+ }
188
+ }, 1000);
189
+ }
190
+ }),
191
+ /*#__PURE__*/ _jsx("i", {
192
+ className: "guanbi_Close",
193
+ onClick: ()=>{
194
+ setShowLoadingState(1);
195
+ setKeyWordProblem("");
196
+ setKeyHistoryMessageList([]);
197
+ setLoad(false);
198
+ },
199
+ children: /*#__PURE__*/ _jsx(CustomClose, {})
200
+ })
201
+ ]
202
+ }),
203
+ /*#__PURE__*/ _jsxs("div", {
204
+ className: styles.main_list,
205
+ children: [
206
+ showLoadingState == 1 && /*#__PURE__*/ _jsxs("div", {
207
+ className: styles.no_data,
208
+ children: [
209
+ /*#__PURE__*/ _jsx("img", {
210
+ src: "/new_yun/images/aiService/search_for_icon.png"
211
+ }),
212
+ /*#__PURE__*/ _jsx("p", {
213
+ children: "输入关键词,搜索聊天记录"
214
+ })
215
+ ]
216
+ }),
217
+ showLoadingState == 2 && /*#__PURE__*/ _jsxs("div", {
218
+ className: styles.no_data,
219
+ children: [
220
+ /*#__PURE__*/ _jsx("img", {
221
+ src: "/new_yun/images/aiService/no_data.png"
222
+ }),
223
+ /*#__PURE__*/ _jsx("p", {
224
+ children: "暂无记录"
225
+ })
226
+ ]
227
+ }),
228
+ keyHistoryMessageList.map((item, index)=>{
229
+ let span = item.message.replaceAll(keyWordProblem, ()=>{
230
+ return `<span class=${styles.sign}>${keyWordProblem}</span>`;
231
+ });
232
+ let name = "";
233
+ if (item.receiver == userData.mid) {
234
+ name = userData.real_name;
235
+ } else if (item.receiver == 'AI') {
236
+ name = "AI助手";
237
+ if (item.extraInfo != null) {
238
+ name = '智能客服';
239
+ }
240
+ } else {
241
+ name = item.name;
242
+ }
243
+ return /*#__PURE__*/ _jsxs("div", {
244
+ className: styles.list,
245
+ onClick: ()=>{
246
+ calculationData(item.roomId, item.messageIdWithinRoom, item.id, item.receiver);
247
+ },
248
+ children: [
249
+ /*#__PURE__*/ _jsxs("div", {
250
+ className: styles.name,
251
+ children: [
252
+ /*#__PURE__*/ _jsx("p", {
253
+ children: name
254
+ }),
255
+ /*#__PURE__*/ _jsx("span", {
256
+ className: styles.time,
257
+ children: getDataTime(item.updatedAt)
258
+ })
259
+ ]
260
+ }),
261
+ /*#__PURE__*/ _jsx("div", {
262
+ className: styles.con,
263
+ dangerouslySetInnerHTML: {
264
+ __html: span
265
+ }
266
+ })
267
+ ]
268
+ }, item.id);
269
+ })
270
+ ]
271
+ })
272
+ ]
273
+ })
274
+ });
275
+ };
276
+ export default HistoryFun;
@@ -0,0 +1,223 @@
1
+ @import "../../theme/variable.less";
2
+ // @color-text-primary: @color-background-info-base;
3
+
4
+ //历史记录11
5
+ .history_list {
6
+ position: absolute;
7
+ top: 0;
8
+ background: rgba(0, 0, 0, 0.3);
9
+ width: 100%;
10
+ height: 100%;
11
+ overflow: hidden;
12
+
13
+ .search_layout {
14
+ background: #fff;
15
+ position: absolute;
16
+ bottom: -500px;
17
+ width: 100%;
18
+ border-radius: 16px 16px 0px 0px;
19
+ overflow: hidden;
20
+ animation: mymove 1s forwards;
21
+ box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.10);
22
+
23
+ .title {
24
+ border-bottom: 1px solid @color-border-Tr;
25
+ font-size: 16px;
26
+ font-weight: 600;
27
+ line-height: 150%;
28
+ padding: 16px 24px;
29
+ display: flex;
30
+ justify-content: space-between;
31
+ svg {
32
+ font-size: 12px;
33
+ cursor: pointer;
34
+ opacity: 0.65;
35
+ font-weight: 300;
36
+ }
37
+ }
38
+ .search_top {
39
+ position: relative;
40
+ margin: 16px 24px;
41
+ // margin-bottom: 0;
42
+ // display: flex;
43
+ // align-items: center;
44
+ // justify-content: space-between;
45
+ background-color: #fff;
46
+
47
+ input {
48
+ width: 100%;
49
+ height: 40px;
50
+ line-height: 40px;
51
+ border-radius: 2px;
52
+ border: 1px solid @color-border-secondary;
53
+ padding-left: 46px;
54
+ padding-right: 30px;
55
+ color: @color-text-Tr;
56
+ }
57
+ :global {
58
+ .anticon {
59
+ position: absolute;
60
+ top: 11px;
61
+ z-index: 1;
62
+ left: 14px;
63
+ font-size: 16px;
64
+ color: rgba(0, 0, 0, 0.65);
65
+ }
66
+ .guanbi_Close {
67
+ position: absolute;
68
+ top: 3px;
69
+ right: 38px;
70
+ font-size: 16px;
71
+ z-index: 1;
72
+ color: rgba(0, 0, 0, 0.65);
73
+ cursor: pointer;
74
+ svg {
75
+ font-size: 10px;
76
+ opacity: 0.65;
77
+ }
78
+ }
79
+ }
80
+ svg {
81
+ opacity: 0.65;
82
+ font-weight: 300;
83
+ }
84
+ }
85
+ .main_list:first-child {
86
+ margin-top: 0;
87
+ }
88
+ .main_list {
89
+ overflow: auto;
90
+ height: 510px;
91
+ &::-webkit-scrollbar {
92
+ background-color: #eaedf1;
93
+ background-color: transparent;
94
+ width: 4px;
95
+ height: 4px;
96
+ }
97
+ &::-webkit-scrollbar-thumb {
98
+ border-radius: 4px;
99
+ background-color: rgba(0, 0, 0, 0.25);
100
+ }
101
+ .list {
102
+ margin: 8px 24px;
103
+ padding: 8px;
104
+ // border-bottom: 1px solid @color-border-secondary;
105
+ margin-bottom: 17px;
106
+ position: relative;
107
+ cursor: pointer;
108
+ &:hover {
109
+ background-color: rgba(0, 0, 0, 0.04);
110
+ border-radius: 8px;
111
+ }
112
+ &::before {
113
+ content: "";
114
+ display: inline-block;
115
+ width: 100%;
116
+ height: 1px;
117
+ background-color: @color-border-secondary;
118
+ position: absolute;
119
+ bottom: -9px;
120
+ left: -1px;
121
+ }
122
+ .name {
123
+ display: flex;
124
+ justify-content: space-between;
125
+ align-items: center;
126
+ margin-bottom: 9px;
127
+ p {
128
+ color: @color-text-Tr;
129
+ font-size: 16px;
130
+ font-weight: 600;
131
+ line-height: 1.5;
132
+ }
133
+ .time {
134
+ font-size: 14px;
135
+ color: @color-text-tertiary;
136
+ }
137
+ }
138
+ .con {
139
+ color: @color-text-Tr;
140
+ font-size: 14px;
141
+ font-weight: 400;
142
+ line-height: 150%;
143
+ overflow: hidden;
144
+ text-overflow: ellipsis;
145
+ -webkit-box-orient: vertical;
146
+ -webkit-line-clamp: 2;
147
+ display: -webkit-box;
148
+
149
+ max-height: 40px;
150
+ word-break: break-all;
151
+ span {
152
+ color: @color-text-primary;
153
+ }
154
+ }
155
+ }
156
+ .no_data{
157
+ text-align: center;
158
+ margin-top: 130px;
159
+ img{
160
+ width: 160px;
161
+ }
162
+ p{
163
+ margin-top: 24px;
164
+ color: rgba(0, 0, 0, 0.45);
165
+ text-align: center;
166
+ font-size: 14px;
167
+ line-height: 100%; /* 14px */
168
+ }
169
+ }
170
+ }
171
+ }
172
+ @keyframes mymove {
173
+ from {
174
+ bottom: -500px;
175
+ }
176
+ to {
177
+ bottom: 0;
178
+ }
179
+ }
180
+
181
+ @-webkit-keyframes mymove /*Safari and Chrome*/ {
182
+ from {
183
+ bottom: -500px;
184
+ }
185
+ to {
186
+ bottom: 0;
187
+ }
188
+ }
189
+
190
+ :global {
191
+ .anticon {
192
+ vertical-align: 0;
193
+ }
194
+ }
195
+ }
196
+ //全屏下的历史记录
197
+ .history_list_broadside {
198
+ width: 417px;
199
+ height: calc(100% - 48px);
200
+ right: 0;
201
+ top: 48px;
202
+ border-radius: 0;
203
+ background: transparent;
204
+ overflow: visible;
205
+ .search_layout {
206
+ height: 100%;
207
+ border-radius: 0;
208
+ box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.10);
209
+ .search_top{
210
+ margin: 16px;
211
+ }
212
+ .title{
213
+ padding: 16px;
214
+ }
215
+ .main_list {
216
+ height: calc(100% - 140px);
217
+ max-height: calc(100% - 140px);
218
+ .list{
219
+ margin: 8px 16px 17px;
220
+ }
221
+ }
222
+ }
223
+ }
@@ -0,0 +1,16 @@
1
+ /// <reference types="react" />
2
+ import "highlight.js/styles/default.css";
3
+ interface Service {
4
+ userData: any;
5
+ http?: any;
6
+ urllocation?: string;
7
+ onCancel?: () => {};
8
+ serverName?: string;
9
+ fetchEventSource?: any;
10
+ initShowType?: string | number;
11
+ stepIds: string;
12
+ stepId: string | number;
13
+ onEvent: (a: string, b: string, c: string) => {};
14
+ }
15
+ declare const CustomerService: (props: Service) => JSX.Element;
16
+ export default CustomerService;