askbot-dragon 1.6.76-beta → 1.6.78-beta

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 (84) hide show
  1. package/README.md +27 -27
  2. package/babel.config.js +6 -6
  3. package/dragon.iml +7 -7
  4. package/package.json +55 -55
  5. package/public/index.html +72 -72
  6. package/src/App.vue +31 -31
  7. package/src/api/index.js +1 -1
  8. package/src/api/mock.http +2 -2
  9. package/src/api/requestUrl.js +185 -185
  10. package/src/assets/js/AliyunlssUtil.js +92 -92
  11. package/src/assets/js/Base64Util.js +22 -22
  12. package/src/assets/js/common.js +252 -252
  13. package/src/assets/js/hammer.js +100 -100
  14. package/src/assets/js/script.js +36 -36
  15. package/src/assets/less/common.css +6773 -6773
  16. package/src/assets/less/converSationContainer/common.less +199 -199
  17. package/src/assets/less/converSationContainer/converSatonContainer.less +493 -493
  18. package/src/assets/less/iconfont.css +37 -37
  19. package/src/assets/less/ticketMessage.less +294 -294
  20. package/src/components/ActionAlertIframe.vue +177 -177
  21. package/src/components/AiGuide.vue +466 -466
  22. package/src/components/AnswerDocknowledge.vue +1059 -1059
  23. package/src/components/AnswerVoice.vue +285 -285
  24. package/src/components/AskIFrame.vue +15 -15
  25. package/src/components/ConversationContainer.vue +4934 -4934
  26. package/src/components/FileType.vue +86 -86
  27. package/src/components/Message.vue +27 -27
  28. package/src/components/MyEditor.vue +351 -351
  29. package/src/components/actionSatisfaction.vue +107 -107
  30. package/src/components/actionSendToBot.vue +62 -62
  31. package/src/components/answerDissatisfaction.vue +62 -62
  32. package/src/components/answerRadio.vue +186 -186
  33. package/src/components/ask-components/DissatisfactionOptions.vue +57 -57
  34. package/src/components/ask-components/Msgloading.vue +37 -37
  35. package/src/components/ask-components/SatisfactionV2.vue +15 -15
  36. package/src/components/askVideo.vue +162 -162
  37. package/src/components/assetDetails.vue +378 -378
  38. package/src/components/assetMessage.vue +228 -228
  39. package/src/components/associationIntention.vue +355 -355
  40. package/src/components/attachmentPreview.vue +90 -90
  41. package/src/components/botActionSatisfactor.vue +68 -68
  42. package/src/components/chatContent.vue +513 -513
  43. package/src/components/feedBack.vue +136 -136
  44. package/src/components/fielListView.vue +351 -351
  45. package/src/components/file/AliyunOssComponents.vue +108 -108
  46. package/src/components/formTemplate.vue +3572 -3572
  47. package/src/components/intelligentSummary.vue +227 -227
  48. package/src/components/kkview.vue +1138 -1138
  49. package/src/components/loadingProcess.vue +164 -164
  50. package/src/components/message/ActionAlertIframe.vue +112 -112
  51. package/src/components/message/ShopMessage.vue +164 -164
  52. package/src/components/message/TextMessage.vue +924 -924
  53. package/src/components/message/TicketMessage.vue +201 -201
  54. package/src/components/message/swiper/index.js +4 -4
  55. package/src/components/message/swiper/ticketSwiper.vue +503 -503
  56. package/src/components/message/swiper/ticketSwiperItem.vue +61 -61
  57. package/src/components/msgLoading.vue +231 -231
  58. package/src/components/myPopup.vue +70 -70
  59. package/src/components/newPdfPosition.vue +877 -877
  60. package/src/components/pdfPosition.vue +1508 -1506
  61. package/src/components/popup.vue +227 -227
  62. package/src/components/previewDoc.vue +247 -247
  63. package/src/components/previewPdf.vue +791 -757
  64. package/src/components/receiverMessagePlatform.vue +65 -65
  65. package/src/components/recommend.vue +80 -80
  66. package/src/components/selector/hOption.vue +20 -20
  67. package/src/components/selector/hSelector.vue +199 -199
  68. package/src/components/selector/hWrapper.vue +216 -216
  69. package/src/components/senderMessagePlatform.vue +50 -50
  70. package/src/components/source/BotMessage.vue +24 -24
  71. package/src/components/source/CustomMessage.vue +24 -24
  72. package/src/components/test.vue +260 -260
  73. package/src/components/tree.vue +294 -294
  74. package/src/components/utils/AliyunIssUtil.js +81 -81
  75. package/src/components/utils/ckeditor.js +174 -174
  76. package/src/components/utils/format_date.js +25 -25
  77. package/src/components/utils/index.js +6 -6
  78. package/src/components/utils/math_utils.js +29 -29
  79. package/src/components/voiceComponent.vue +119 -119
  80. package/src/components/welcomeKnowledgeFile.vue +340 -340
  81. package/src/components/welcomeLlmCard.vue +140 -140
  82. package/src/components/welcomeSuggest.vue +97 -97
  83. package/src/main.js +57 -57
  84. package/vue.config.js +54 -54
@@ -1,379 +1,379 @@
1
- <template>
2
- <div class="asset">
3
- <div class="asset-details">
4
- <section class="details-title">
5
- <p>您正在咨询</p>
6
- <span @click="rotateClick" class="rotate">
7
- <i class="arsenal_icon arsenalangle-up-solid"></i>
8
- </span>
9
- </section>
10
- <div class="details-content" v-if="!isThirdParty">
11
- <img
12
- class="backgroundImg"
13
- v-if="dataDetails.product.productImgPathes && dataDetails.product.productImgPathes.length != 0"
14
- :src="dataDetails.product.productImgPathes"
15
- alt=""
16
- />
17
- <div class="background-null" v-else>
18
- {{ dataDetails.productName | filterName }}
19
- </div>
20
- <div class="content-text">
21
- <p class="text-title">{{ dataDetails.productName }}</p>
22
- <section class="text-label">
23
- <p class="text-type">
24
- <i class="iconfont guoran-biaoqian"></i>
25
- <span>{{
26
- dataDetails.typeName ? dataDetails.typeName : "--"
27
- }}</span>
28
- </p>
29
- <p class="text-SN">
30
- <i class="iconfont guoran-xinghao"></i>
31
- <span>{{ dataDetails.snNo ? dataDetails.snNo : "--" }}</span>
32
- </p>
33
- </section>
34
- </div>
35
- </div>
36
- <div class="details-content" v-if="isThirdParty">
37
- <img
38
- class="backgroundImg"
39
- v-if="dataDetails.product.productImgPathes && dataDetails.product.productImgPathes.length != 0"
40
- :src="dataDetails.product.productImgPathes"
41
- alt=""
42
- />
43
- <div class="background-null" v-else>
44
- {{ dataDetails.name | filterName }}
45
- </div>
46
- <div class="content-text">
47
- <p class="text-title">{{ dataDetails.name }}</p>
48
- <section class="text-label">
49
- <p class="text-type">
50
- <i class="iconfont guoran-bumen"></i>
51
- <span
52
- v-if="
53
- dataDetails.depts &&
54
- dataDetails.depts.length != 0 &&
55
- dataDetails.depts[0].wechatBotDTO &&
56
- dataDetails.depts[0].wechatBotDTO.wechatType == 0 &&
57
- dataDetails.depts[0].wechatBotDTO.bindType == 0
58
- "
59
- >
60
- <ww-open-data
61
- type="departmentName"
62
- :openid="dataDetails.depts[0].name"
63
- ></ww-open-data>
64
- </span>
65
- <span v-else>
66
- {{ (dataDetails.depts && dataDetails.depts[0]) ? dataDetails.depts[0].name : "--" }}
67
- </span>
68
- </p>
69
- <p class="text-SN">
70
- <i class="iconfont guoran-tongyichicun-mingcheng"></i>
71
- <span>{{ dataDetails.thirdAssetsCode ? dataDetails.thirdAssetsCode : "--12312" }}</span>
72
- </p>
73
- </section>
74
- </div>
75
- </div>
76
- <div class="details-content-hide" v-if="false && !isThirdParty">
77
- <p>
78
- <i class="iconfont guoran-miaoshu"></i>
79
- <section class="description">
80
- <section class="img-view" v-if="imgList.length != 0">
81
- <template v-for="(item, index) in imgList">
82
- <img :src="item" alt="" :key="index" />
83
- </template>
84
- </section>
85
- <span>{{
86
- dataDetails.description ? dataDetails.description : "--"
87
- }}</span>
88
- </section>
89
- </p>
90
- <p>
91
- <i class="arsenal_icon arsenalweizhi"></i>
92
- <span> {{ dataDetails.officeAreaName }} </span>
93
- </p>
94
- <p>
95
- <i class="iconfont guoran-geren"></i>
96
- <span
97
- v-if="
98
- dataDetails.users &&
99
- dataDetails.users.length != 0 &&
100
- dataDetails.users.type == 0 &&
101
- dataDetails.users.bindType == 0
102
- "
103
- >
104
- <ww-open-data
105
- type="userName"
106
- :openid="dataDetails.users[0].name"
107
- ></ww-open-data>
108
- </span>
109
- <span v-else>
110
- {{ (dataDetails.users && dataDetails.users[0]) ? dataDetails.users[0].name : "--" }}
111
- </span>
112
- </p>
113
- <p>
114
- <i class="iconfont guoran-bumen"></i>
115
- <span
116
- v-if="
117
- dataDetails.depts &&
118
- dataDetails.depts.length != 0 &&
119
- dataDetails.depts[0].wechatBotDTO &&
120
- dataDetails.depts[0].wechatBotDTO.wechatType == 0 &&
121
- dataDetails.depts[0].wechatBotDTO.bindType == 0
122
- "
123
- >
124
- <ww-open-data
125
- type="departmentName"
126
- :openid="dataDetails.depts[0].name"
127
- ></ww-open-data>
128
- </span>
129
- <span v-else>
130
- {{ (dataDetails.depts && dataDetails.depts[0]) ? dataDetails.depts[0].name : "--" }}
131
- </span>
132
- </p>
133
- <p>
134
- <i class="iconfont guoran-guanlizhe"></i>
135
- <span
136
- v-if="
137
- dataDetails.managers &&
138
- dataDetails.managers.length != 0 &&
139
- dataDetails.managers.type == 0 &&
140
- dataDetails.managers.bindType == 0
141
- "
142
- >
143
- <ww-open-data
144
- type="userName"
145
- :openid="dataDetails.managers[0].name"
146
- ></ww-open-data>
147
- </span>
148
- <span>
149
- {{ (dataDetails.managers && dataDetails.managers[0]) ? dataDetails.managers[0].name : "--" }}
150
- </span>
151
- </p>
152
- </div>
153
- </div>
154
- </div>
155
- </template>
156
-
157
- <script>
158
- /*eslint-disable*/
159
- export default {
160
- props: {
161
- data: {
162
- type: Object,
163
- },
164
- },
165
- data() {
166
- return {
167
- detailVisable: false,
168
- rotateFlag: true,
169
- imgList: [],
170
- };
171
- },
172
- filters: {
173
- filterName(value) {
174
- let str = "";
175
- let reg =
176
- /^(?:[\u3400-\u4DB5\u4E00-\u9FEA\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0])+$/;
177
- if (reg.test(value[0])) {
178
- str = value[0];
179
- } else {
180
- str = value[0] + value[1];
181
- }
182
- return str;
183
- },
184
- },
185
- computed: {
186
- dataDetails() {
187
- let dataDetails = this.data.assets;
188
- if (dataDetails.description) {
189
- let reg = /<\/?.+?\/?>/g;
190
- let imgReg = /<img.*?(?:>|\/>)/gi;
191
- //匹配src属性
192
- let srcReg = /src=[\'\"]?([^\'\"]*)[\'\"]?/i;
193
- let arr = dataDetails.description.match(imgReg);
194
- if (arr) {
195
- for (var i = 0; i < arr.length; i++) {
196
- var src = arr[i].match(srcReg);
197
- if (src[1]) {
198
- this.imgList.push(src[1]);
199
- }
200
- }
201
- }
202
- dataDetails.description =
203
- dataDetails.description &&
204
- dataDetails.description.replace(/&nbsp;/gi, "");
205
- dataDetails.description = dataDetails.description
206
- ? dataDetails.description.replace(reg, "")
207
- : "";
208
- }
209
- return dataDetails;
210
- },
211
- isThirdParty() {
212
- return this.data.assets.thirdAssetsCode
213
- }
214
- },
215
- methods: {
216
- rotateClick() {
217
- // this.rotateFlag = !this.rotateFlag;
218
- this.$emit('assetClick', this.data.assets)
219
- },
220
- },
221
- };
222
- </script>
223
-
224
- <style lang="less" scoped>
225
- @import url("../assets/less/iconfont.css");
226
- .asset {
227
- width: 100%;
228
- box-sizing: border-box;
229
- padding-right: 15px;
230
- }
231
- .asset-details {
232
- width: 100%;
233
- // height: 130px;
234
- box-sizing: border-box;
235
- background: #ffffff;
236
- box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.03);
237
- border-radius: 13px;
238
- .details-title {
239
- display: flex;
240
- height: 45px;
241
- justify-content: space-between;
242
- align-items: center;
243
- border-bottom: 1px solid #eeeeee;
244
- box-sizing: border-box;
245
- padding: 10px;
246
- p {
247
- font-size: 17px;
248
- font-weight: bold;
249
- color: #000000;
250
- }
251
- span {
252
- width: 25px;
253
- height: 25px;
254
- line-height: 25px;
255
- text-align: center;
256
- border-radius: 25px;
257
- border: 1px solid #366aff;
258
- i {
259
- color: #366aff;
260
- }
261
- }
262
- .rotate {
263
- transform: rotate(90deg);
264
- }
265
- }
266
- .details-content {
267
- width: 100%;
268
- min-height: 85px;
269
- box-sizing: border-box;
270
- padding: 15px 15px;
271
- display: flex;
272
- align-items: center;
273
- .backgroundImg {
274
- width: 67px;
275
- height: 51px;
276
- margin-right: 15px;
277
- }
278
- .background-null {
279
- width: 51px;
280
- min-height: 51px;
281
- background: #366aff;
282
- border-radius: 51px;
283
- line-height: 51px;
284
- text-align: center;
285
- font-size: 24px;
286
- color: #ffffff;
287
- margin-right: 15px;
288
- }
289
- .content-text {
290
- width: calc(100% - 90px);
291
- height: 100%;
292
- display: flex;
293
- flex-direction: column;
294
- justify-content: space-between;
295
- .text-title {
296
- width: 100%;
297
- font-weight: bold;
298
- color: #000000;
299
- font-size: 15px;
300
- text-overflow: hidden;
301
- margin-bottom: 5px;
302
- // overflow-wrap: each();
303
- }
304
- .text-label {
305
- width: 100%;
306
- display: flex;
307
- flex-wrap: wrap;
308
- p {
309
- margin-right: 10px;
310
- display: flex;
311
- align-items: center;
312
- i {
313
- margin-right: 3px;
314
- }
315
- }
316
- .text-type {
317
- background: #e1faf9;
318
- box-sizing: border-box;
319
- padding: 3px 5px;
320
- margin-bottom: 5px;
321
- border-radius: 5px;
322
- i {
323
- color: #00c2bb;
324
- }
325
- span {
326
- color: #00c2bb;
327
- }
328
- }
329
- .text-SN {
330
- background: #edf2ff;
331
- box-sizing: border-box;
332
- padding: 3px 5px;
333
- margin-bottom: 5px;
334
- border-radius: 5px;
335
- i {
336
- color: #366aff;
337
- }
338
- span {
339
- color: #366aff;
340
- margin-bottom: 0 !important;
341
- }
342
- }
343
- }
344
- }
345
- }
346
- .details-content-hide {
347
- width: 100%;
348
- min-height: 140px;
349
- box-sizing: border-box;
350
- padding: 10px 15px;
351
- border-top: 1px solid #eeeeee;
352
- p {
353
- margin-bottom: 5px;
354
- display: flex;
355
- align-items: center;
356
- i {
357
- margin-right: 10px;
358
- color: #366aff;
359
- }
360
- }
361
- .description {
362
- max-width: 95%;
363
- .img-view {
364
- width: 100%;
365
- display: flex;
366
- flex-direction: row;
367
- flex-wrap: wrap;
368
- justify-content: space-between;
369
- align-items: center;
370
- img {
371
- width: 33%;
372
- height: 33%;
373
- margin-bottom: 5px;
374
- }
375
- }
376
- }
377
- }
378
- }
1
+ <template>
2
+ <div class="asset">
3
+ <div class="asset-details">
4
+ <section class="details-title">
5
+ <p>您正在咨询</p>
6
+ <span @click="rotateClick" class="rotate">
7
+ <i class="arsenal_icon arsenalangle-up-solid"></i>
8
+ </span>
9
+ </section>
10
+ <div class="details-content" v-if="!isThirdParty">
11
+ <img
12
+ class="backgroundImg"
13
+ v-if="dataDetails.product.productImgPathes && dataDetails.product.productImgPathes.length != 0"
14
+ :src="dataDetails.product.productImgPathes"
15
+ alt=""
16
+ />
17
+ <div class="background-null" v-else>
18
+ {{ dataDetails.productName | filterName }}
19
+ </div>
20
+ <div class="content-text">
21
+ <p class="text-title">{{ dataDetails.productName }}</p>
22
+ <section class="text-label">
23
+ <p class="text-type">
24
+ <i class="iconfont guoran-biaoqian"></i>
25
+ <span>{{
26
+ dataDetails.typeName ? dataDetails.typeName : "--"
27
+ }}</span>
28
+ </p>
29
+ <p class="text-SN">
30
+ <i class="iconfont guoran-xinghao"></i>
31
+ <span>{{ dataDetails.snNo ? dataDetails.snNo : "--" }}</span>
32
+ </p>
33
+ </section>
34
+ </div>
35
+ </div>
36
+ <div class="details-content" v-if="isThirdParty">
37
+ <img
38
+ class="backgroundImg"
39
+ v-if="dataDetails.product.productImgPathes && dataDetails.product.productImgPathes.length != 0"
40
+ :src="dataDetails.product.productImgPathes"
41
+ alt=""
42
+ />
43
+ <div class="background-null" v-else>
44
+ {{ dataDetails.name | filterName }}
45
+ </div>
46
+ <div class="content-text">
47
+ <p class="text-title">{{ dataDetails.name }}</p>
48
+ <section class="text-label">
49
+ <p class="text-type">
50
+ <i class="iconfont guoran-bumen"></i>
51
+ <span
52
+ v-if="
53
+ dataDetails.depts &&
54
+ dataDetails.depts.length != 0 &&
55
+ dataDetails.depts[0].wechatBotDTO &&
56
+ dataDetails.depts[0].wechatBotDTO.wechatType == 0 &&
57
+ dataDetails.depts[0].wechatBotDTO.bindType == 0
58
+ "
59
+ >
60
+ <ww-open-data
61
+ type="departmentName"
62
+ :openid="dataDetails.depts[0].name"
63
+ ></ww-open-data>
64
+ </span>
65
+ <span v-else>
66
+ {{ (dataDetails.depts && dataDetails.depts[0]) ? dataDetails.depts[0].name : "--" }}
67
+ </span>
68
+ </p>
69
+ <p class="text-SN">
70
+ <i class="iconfont guoran-tongyichicun-mingcheng"></i>
71
+ <span>{{ dataDetails.thirdAssetsCode ? dataDetails.thirdAssetsCode : "--12312" }}</span>
72
+ </p>
73
+ </section>
74
+ </div>
75
+ </div>
76
+ <div class="details-content-hide" v-if="false && !isThirdParty">
77
+ <p>
78
+ <i class="iconfont guoran-miaoshu"></i>
79
+ <section class="description">
80
+ <section class="img-view" v-if="imgList.length != 0">
81
+ <template v-for="(item, index) in imgList">
82
+ <img :src="item" alt="" :key="index" />
83
+ </template>
84
+ </section>
85
+ <span>{{
86
+ dataDetails.description ? dataDetails.description : "--"
87
+ }}</span>
88
+ </section>
89
+ </p>
90
+ <p>
91
+ <i class="arsenal_icon arsenalweizhi"></i>
92
+ <span> {{ dataDetails.officeAreaName }} </span>
93
+ </p>
94
+ <p>
95
+ <i class="iconfont guoran-geren"></i>
96
+ <span
97
+ v-if="
98
+ dataDetails.users &&
99
+ dataDetails.users.length != 0 &&
100
+ dataDetails.users.type == 0 &&
101
+ dataDetails.users.bindType == 0
102
+ "
103
+ >
104
+ <ww-open-data
105
+ type="userName"
106
+ :openid="dataDetails.users[0].name"
107
+ ></ww-open-data>
108
+ </span>
109
+ <span v-else>
110
+ {{ (dataDetails.users && dataDetails.users[0]) ? dataDetails.users[0].name : "--" }}
111
+ </span>
112
+ </p>
113
+ <p>
114
+ <i class="iconfont guoran-bumen"></i>
115
+ <span
116
+ v-if="
117
+ dataDetails.depts &&
118
+ dataDetails.depts.length != 0 &&
119
+ dataDetails.depts[0].wechatBotDTO &&
120
+ dataDetails.depts[0].wechatBotDTO.wechatType == 0 &&
121
+ dataDetails.depts[0].wechatBotDTO.bindType == 0
122
+ "
123
+ >
124
+ <ww-open-data
125
+ type="departmentName"
126
+ :openid="dataDetails.depts[0].name"
127
+ ></ww-open-data>
128
+ </span>
129
+ <span v-else>
130
+ {{ (dataDetails.depts && dataDetails.depts[0]) ? dataDetails.depts[0].name : "--" }}
131
+ </span>
132
+ </p>
133
+ <p>
134
+ <i class="iconfont guoran-guanlizhe"></i>
135
+ <span
136
+ v-if="
137
+ dataDetails.managers &&
138
+ dataDetails.managers.length != 0 &&
139
+ dataDetails.managers.type == 0 &&
140
+ dataDetails.managers.bindType == 0
141
+ "
142
+ >
143
+ <ww-open-data
144
+ type="userName"
145
+ :openid="dataDetails.managers[0].name"
146
+ ></ww-open-data>
147
+ </span>
148
+ <span>
149
+ {{ (dataDetails.managers && dataDetails.managers[0]) ? dataDetails.managers[0].name : "--" }}
150
+ </span>
151
+ </p>
152
+ </div>
153
+ </div>
154
+ </div>
155
+ </template>
156
+
157
+ <script>
158
+ /*eslint-disable*/
159
+ export default {
160
+ props: {
161
+ data: {
162
+ type: Object,
163
+ },
164
+ },
165
+ data() {
166
+ return {
167
+ detailVisable: false,
168
+ rotateFlag: true,
169
+ imgList: [],
170
+ };
171
+ },
172
+ filters: {
173
+ filterName(value) {
174
+ let str = "";
175
+ let reg =
176
+ /^(?:[\u3400-\u4DB5\u4E00-\u9FEA\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0])+$/;
177
+ if (reg.test(value[0])) {
178
+ str = value[0];
179
+ } else {
180
+ str = value[0] + value[1];
181
+ }
182
+ return str;
183
+ },
184
+ },
185
+ computed: {
186
+ dataDetails() {
187
+ let dataDetails = this.data.assets;
188
+ if (dataDetails.description) {
189
+ let reg = /<\/?.+?\/?>/g;
190
+ let imgReg = /<img.*?(?:>|\/>)/gi;
191
+ //匹配src属性
192
+ let srcReg = /src=[\'\"]?([^\'\"]*)[\'\"]?/i;
193
+ let arr = dataDetails.description.match(imgReg);
194
+ if (arr) {
195
+ for (var i = 0; i < arr.length; i++) {
196
+ var src = arr[i].match(srcReg);
197
+ if (src[1]) {
198
+ this.imgList.push(src[1]);
199
+ }
200
+ }
201
+ }
202
+ dataDetails.description =
203
+ dataDetails.description &&
204
+ dataDetails.description.replace(/&nbsp;/gi, "");
205
+ dataDetails.description = dataDetails.description
206
+ ? dataDetails.description.replace(reg, "")
207
+ : "";
208
+ }
209
+ return dataDetails;
210
+ },
211
+ isThirdParty() {
212
+ return this.data.assets.thirdAssetsCode
213
+ }
214
+ },
215
+ methods: {
216
+ rotateClick() {
217
+ // this.rotateFlag = !this.rotateFlag;
218
+ this.$emit('assetClick', this.data.assets)
219
+ },
220
+ },
221
+ };
222
+ </script>
223
+
224
+ <style lang="less" scoped>
225
+ @import url("../assets/less/iconfont.css");
226
+ .asset {
227
+ width: 100%;
228
+ box-sizing: border-box;
229
+ padding-right: 15px;
230
+ }
231
+ .asset-details {
232
+ width: 100%;
233
+ // height: 130px;
234
+ box-sizing: border-box;
235
+ background: #ffffff;
236
+ box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.03);
237
+ border-radius: 13px;
238
+ .details-title {
239
+ display: flex;
240
+ height: 45px;
241
+ justify-content: space-between;
242
+ align-items: center;
243
+ border-bottom: 1px solid #eeeeee;
244
+ box-sizing: border-box;
245
+ padding: 10px;
246
+ p {
247
+ font-size: 17px;
248
+ font-weight: bold;
249
+ color: #000000;
250
+ }
251
+ span {
252
+ width: 25px;
253
+ height: 25px;
254
+ line-height: 25px;
255
+ text-align: center;
256
+ border-radius: 25px;
257
+ border: 1px solid #366aff;
258
+ i {
259
+ color: #366aff;
260
+ }
261
+ }
262
+ .rotate {
263
+ transform: rotate(90deg);
264
+ }
265
+ }
266
+ .details-content {
267
+ width: 100%;
268
+ min-height: 85px;
269
+ box-sizing: border-box;
270
+ padding: 15px 15px;
271
+ display: flex;
272
+ align-items: center;
273
+ .backgroundImg {
274
+ width: 67px;
275
+ height: 51px;
276
+ margin-right: 15px;
277
+ }
278
+ .background-null {
279
+ width: 51px;
280
+ min-height: 51px;
281
+ background: #366aff;
282
+ border-radius: 51px;
283
+ line-height: 51px;
284
+ text-align: center;
285
+ font-size: 24px;
286
+ color: #ffffff;
287
+ margin-right: 15px;
288
+ }
289
+ .content-text {
290
+ width: calc(100% - 90px);
291
+ height: 100%;
292
+ display: flex;
293
+ flex-direction: column;
294
+ justify-content: space-between;
295
+ .text-title {
296
+ width: 100%;
297
+ font-weight: bold;
298
+ color: #000000;
299
+ font-size: 15px;
300
+ text-overflow: hidden;
301
+ margin-bottom: 5px;
302
+ // overflow-wrap: each();
303
+ }
304
+ .text-label {
305
+ width: 100%;
306
+ display: flex;
307
+ flex-wrap: wrap;
308
+ p {
309
+ margin-right: 10px;
310
+ display: flex;
311
+ align-items: center;
312
+ i {
313
+ margin-right: 3px;
314
+ }
315
+ }
316
+ .text-type {
317
+ background: #e1faf9;
318
+ box-sizing: border-box;
319
+ padding: 3px 5px;
320
+ margin-bottom: 5px;
321
+ border-radius: 5px;
322
+ i {
323
+ color: #00c2bb;
324
+ }
325
+ span {
326
+ color: #00c2bb;
327
+ }
328
+ }
329
+ .text-SN {
330
+ background: #edf2ff;
331
+ box-sizing: border-box;
332
+ padding: 3px 5px;
333
+ margin-bottom: 5px;
334
+ border-radius: 5px;
335
+ i {
336
+ color: #366aff;
337
+ }
338
+ span {
339
+ color: #366aff;
340
+ margin-bottom: 0 !important;
341
+ }
342
+ }
343
+ }
344
+ }
345
+ }
346
+ .details-content-hide {
347
+ width: 100%;
348
+ min-height: 140px;
349
+ box-sizing: border-box;
350
+ padding: 10px 15px;
351
+ border-top: 1px solid #eeeeee;
352
+ p {
353
+ margin-bottom: 5px;
354
+ display: flex;
355
+ align-items: center;
356
+ i {
357
+ margin-right: 10px;
358
+ color: #366aff;
359
+ }
360
+ }
361
+ .description {
362
+ max-width: 95%;
363
+ .img-view {
364
+ width: 100%;
365
+ display: flex;
366
+ flex-direction: row;
367
+ flex-wrap: wrap;
368
+ justify-content: space-between;
369
+ align-items: center;
370
+ img {
371
+ width: 33%;
372
+ height: 33%;
373
+ margin-bottom: 5px;
374
+ }
375
+ }
376
+ }
377
+ }
378
+ }
379
379
  </style>