askbot-dragon 0.9.30 → 1.0.0

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 +56 -56
  5. package/public/index.html +43 -43
  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/image/excel.png +0 -0
  11. package/src/assets/image/image.png +0 -0
  12. package/src/assets/image/pdf.png +0 -0
  13. package/src/assets/image/ppt.png +0 -0
  14. package/src/assets/image/txt.png +0 -0
  15. package/src/assets/image/video.png +0 -0
  16. package/src/assets/image/word.png +0 -0
  17. package/src/assets/js/AliyunlssUtil.js +92 -92
  18. package/src/assets/js/Base64Util.js +22 -22
  19. package/src/assets/js/script.js +36 -36
  20. package/src/assets/less/common.css +6773 -6773
  21. package/src/assets/less/converSationContainer/common.less +191 -191
  22. package/src/assets/less/converSationContainer/converSatonContainer.less +493 -493
  23. package/src/assets/less/iconfont.css +37 -37
  24. package/src/assets/less/ticketMessage.less +211 -211
  25. package/src/components/ActionAlertIframe.vue +112 -112
  26. package/src/components/AiGuide.vue +467 -467
  27. package/src/components/AskIFrame.vue +15 -15
  28. package/src/components/ConversationContainer.vue +4617 -4617
  29. package/src/components/FileType.vue +86 -86
  30. package/src/components/Message.vue +27 -27
  31. package/src/components/actionSatisfaction.vue +107 -107
  32. package/src/components/actionSendToBot.vue +62 -62
  33. package/src/components/answerDissatisfaction.vue +62 -62
  34. package/src/components/answerRadio.vue +76 -76
  35. package/src/components/ask-components/DissatisfactionOptions.vue +57 -57
  36. package/src/components/ask-components/Msgloading.vue +37 -37
  37. package/src/components/ask-components/SatisfactionV2.vue +15 -15
  38. package/src/components/askVideo.vue +138 -138
  39. package/src/components/assetDetails.vue +370 -370
  40. package/src/components/assetMessage.vue +228 -228
  41. package/src/components/associationIntention.vue +241 -241
  42. package/src/components/botActionSatisfactor.vue +68 -68
  43. package/src/components/chatContent.vue +513 -513
  44. package/src/components/feedBack.vue +136 -136
  45. package/src/components/fielListView.vue +346 -0
  46. package/src/components/file/AliyunOssComponents.vue +108 -108
  47. package/src/components/formTemplate.vue +3243 -3193
  48. package/src/components/loadingProcess.vue +164 -164
  49. package/src/components/message/ActionAlertIframe.vue +112 -112
  50. package/src/components/message/ShopMessage.vue +164 -164
  51. package/src/components/message/TextMessage.vue +924 -924
  52. package/src/components/message/TicketMessage.vue +177 -177
  53. package/src/components/message/swiper/index.js +4 -4
  54. package/src/components/message/swiper/ticketSwiper.vue +503 -503
  55. package/src/components/message/swiper/ticketSwiperItem.vue +61 -61
  56. package/src/components/msgLoading.vue +231 -231
  57. package/src/components/myPopup.vue +70 -70
  58. package/src/components/popup.vue +227 -227
  59. package/src/components/receiverMessagePlatform.vue +65 -65
  60. package/src/components/recommend.vue +89 -89
  61. package/src/components/selector/hOption.vue +20 -20
  62. package/src/components/selector/hSelector.vue +199 -199
  63. package/src/components/selector/hWrapper.vue +216 -216
  64. package/src/components/senderMessagePlatform.vue +50 -50
  65. package/src/components/source/BotMessage.vue +24 -24
  66. package/src/components/source/CustomMessage.vue +24 -24
  67. package/src/components/test.vue +260 -260
  68. package/src/components/tree.vue +247 -247
  69. package/src/components/utils/AliyunIssUtil.js +72 -72
  70. package/src/components/utils/ckeditor.js +143 -123
  71. package/src/components/utils/ckeditorImageUpload/command.js +110 -0
  72. package/src/components/utils/{editing.js → ckeditorImageUpload/editing.js} +11 -11
  73. package/src/components/utils/{plugin-image.js → ckeditorImageUpload/plugin-image.js} +11 -11
  74. package/src/components/utils/{toolbar-ui.js → ckeditorImageUpload/toolbar-ui.js} +40 -41
  75. package/src/components/utils/{command.js → ckeditorfileUpload/common.js} +96 -87
  76. package/src/components/utils/ckeditorfileUpload/editing.js +12 -0
  77. package/src/components/utils/ckeditorfileUpload/plugin_file.js +12 -0
  78. package/src/components/utils/ckeditorfileUpload/toolbar_ui.js +34 -0
  79. package/src/components/utils/format_date.js +25 -25
  80. package/src/components/utils/index.js +6 -6
  81. package/src/components/utils/math_utils.js +29 -29
  82. package/src/components/voiceComponent.vue +119 -119
  83. package/src/main.js +60 -60
  84. package/vue.config.js +47 -47
@@ -1,137 +1,137 @@
1
- <template>
2
- <div id="feedBack" class="companyNotRem" :class="{phoneClass:isPhone,companyClass:isCompany,notClick:isDisabled===true}">
3
- <span :class="!positiveClick?'feed-button':'feed-check-button'" class="feed-commen">
4
- <el-button plain class="btnClass" @click="positiveFeedback(feedBack,1)" v-html="feedBack.positiveFeedback.text" v-if="!positiveClick">{{feedBack.positiveFeedback.text}}</el-button>
5
- <el-button plain class="btnClassActive" v-html="feedBack.positiveFeedback.text" v-else>{{feedBack.positiveFeedback.text}}</el-button>
6
- </span>
7
- <span :class="!negativeClick?'feed-button':'feed-check-button'">
8
- <el-button plain class="btnClass" @click="positiveFeedback(feedBack,2)" v-html="feedBack.negativeFeedback.text" v-if="!negativeClick">{{feedBack.negativeFeedback.text}}</el-button>
9
- <el-button plain class="btnClassActive" v-html="feedBack.negativeFeedback.text" v-else>{{feedBack.negativeFeedback.text}}</el-button>
10
- </span>
11
- </div>
12
- </template>
13
- <script>
14
- export default {
15
- name: "feedBack",
16
- data(){
17
- return{
18
- isPhone:false,
19
- isCompany:false,
20
- isDisabled:false,
21
- positiveClick:false,
22
- negativeClick:false
23
- }
24
- },
25
- props:{
26
- feedBack:Object,
27
- rem:String,
28
- disable:Boolean,
29
- },
30
- beforeMount() {
31
- if(this.disable===true)
32
- {
33
- this.isDisabled=true
34
- }
35
- else
36
- {
37
- this.isDisabled=false
38
- }
39
- },
40
- mounted() {
41
- this.isMobile()
42
- },
43
- methods:{
44
- isMobile() {
45
- let flag = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i);
46
- if (flag) {
47
- this.isPhone=true
48
- }
49
- else
50
- {
51
- this.isCompany=true
52
- }
53
- },
54
- positiveFeedback(Feedback,index){
55
- let feedbackObj={};
56
- let feedback={};
57
- if(index===1)
58
- {
59
- feedbackObj['positiveFeedback']=Feedback.positiveFeedback;
60
- feedback['feedback']=feedbackObj;
61
- feedback['feedbackActions']=Feedback.feedbackActions
62
- feedback['feedbackUid']=Feedback.feedbackUid
63
- this.positiveClick=true
64
- }
65
- else if(index === 2)
66
- {
67
- feedbackObj['negativeFeedback']=Feedback.negativeFeedback;
68
- feedback['feedback']=feedbackObj;
69
- feedback['feedbackActions']=Feedback.feedbackActions
70
- feedback['feedbackUid']=Feedback.feedbackUid
71
- this.negativeClick=true
72
- }
73
- feedback.feedbackUid = this.feedBack.feedbackUid;
74
- feedback.apiKey=this.feedBack.apiKey
75
- this.$emit('positiveFeedback',feedback,this.feedBack.apiKey);
76
- this.isDisabled=true
77
- },
78
- }
79
- }
80
- </script>
81
-
82
- <style scoped lang="less">
83
- #feedBack{
84
- .feed-commen{
85
- margin-right: 8px;
86
- }
87
- .feed-button{
88
- /deep/.el-button{
89
- border: 1px solid #BEC5DB;
90
- color: #616161;
91
- border-radius: 14px;
92
- font-weight: 400;
93
- }
94
- }
95
- .feed-check-button{
96
- /deep/.el-button{
97
- border: 1px solid #BBCDFF;
98
- color: #366aff;
99
- border-radius: 14px;
100
- font-weight: 400;
101
- }
102
- }
103
-
104
- /deep/.el-button.is-plain{
105
- padding: 9px 20px;
106
- }
107
- }
108
- .phoneClass{
109
- width: 100vw;
110
- text-align: left;
111
- /*margin: 0 auto;*/
112
- line-height: 34px;
113
- height: 56px;
114
- padding-left: 20px;
115
- .el-button{
116
- min-width: 60px;
117
- height: 31px;
118
- line-height: 0.9;
119
- }
120
- }
121
- .companyClass{
122
- /* min-width: 300px;*/
123
- width: 370px;
124
- text-align: left;
125
- /*margin: 0 auto;*/
126
- line-height: 34px;
127
- padding-left: 20px;
128
- .el-button{
129
- min-width: 60px;
130
- height: 32px;
131
- line-height: 0.9;
132
- }
133
- }
134
- .notClick{
135
- pointer-events: none;
136
- }
1
+ <template>
2
+ <div id="feedBack" class="companyNotRem" :class="{phoneClass:isPhone,companyClass:isCompany,notClick:isDisabled===true}">
3
+ <span :class="!positiveClick?'feed-button':'feed-check-button'" class="feed-commen">
4
+ <el-button plain class="btnClass" @click="positiveFeedback(feedBack,1)" v-html="feedBack.positiveFeedback.text" v-if="!positiveClick">{{feedBack.positiveFeedback.text}}</el-button>
5
+ <el-button plain class="btnClassActive" v-html="feedBack.positiveFeedback.text" v-else>{{feedBack.positiveFeedback.text}}</el-button>
6
+ </span>
7
+ <span :class="!negativeClick?'feed-button':'feed-check-button'">
8
+ <el-button plain class="btnClass" @click="positiveFeedback(feedBack,2)" v-html="feedBack.negativeFeedback.text" v-if="!negativeClick">{{feedBack.negativeFeedback.text}}</el-button>
9
+ <el-button plain class="btnClassActive" v-html="feedBack.negativeFeedback.text" v-else>{{feedBack.negativeFeedback.text}}</el-button>
10
+ </span>
11
+ </div>
12
+ </template>
13
+ <script>
14
+ export default {
15
+ name: "feedBack",
16
+ data(){
17
+ return{
18
+ isPhone:false,
19
+ isCompany:false,
20
+ isDisabled:false,
21
+ positiveClick:false,
22
+ negativeClick:false
23
+ }
24
+ },
25
+ props:{
26
+ feedBack:Object,
27
+ rem:String,
28
+ disable:Boolean,
29
+ },
30
+ beforeMount() {
31
+ if(this.disable===true)
32
+ {
33
+ this.isDisabled=true
34
+ }
35
+ else
36
+ {
37
+ this.isDisabled=false
38
+ }
39
+ },
40
+ mounted() {
41
+ this.isMobile()
42
+ },
43
+ methods:{
44
+ isMobile() {
45
+ let flag = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i);
46
+ if (flag) {
47
+ this.isPhone=true
48
+ }
49
+ else
50
+ {
51
+ this.isCompany=true
52
+ }
53
+ },
54
+ positiveFeedback(Feedback,index){
55
+ let feedbackObj={};
56
+ let feedback={};
57
+ if(index===1)
58
+ {
59
+ feedbackObj['positiveFeedback']=Feedback.positiveFeedback;
60
+ feedback['feedback']=feedbackObj;
61
+ feedback['feedbackActions']=Feedback.feedbackActions
62
+ feedback['feedbackUid']=Feedback.feedbackUid
63
+ this.positiveClick=true
64
+ }
65
+ else if(index === 2)
66
+ {
67
+ feedbackObj['negativeFeedback']=Feedback.negativeFeedback;
68
+ feedback['feedback']=feedbackObj;
69
+ feedback['feedbackActions']=Feedback.feedbackActions
70
+ feedback['feedbackUid']=Feedback.feedbackUid
71
+ this.negativeClick=true
72
+ }
73
+ feedback.feedbackUid = this.feedBack.feedbackUid;
74
+ feedback.apiKey=this.feedBack.apiKey
75
+ this.$emit('positiveFeedback',feedback,this.feedBack.apiKey);
76
+ this.isDisabled=true
77
+ },
78
+ }
79
+ }
80
+ </script>
81
+
82
+ <style scoped lang="less">
83
+ #feedBack{
84
+ .feed-commen{
85
+ margin-right: 8px;
86
+ }
87
+ .feed-button{
88
+ /deep/.el-button{
89
+ border: 1px solid #BEC5DB;
90
+ color: #616161;
91
+ border-radius: 14px;
92
+ font-weight: 400;
93
+ }
94
+ }
95
+ .feed-check-button{
96
+ /deep/.el-button{
97
+ border: 1px solid #BBCDFF;
98
+ color: #366aff;
99
+ border-radius: 14px;
100
+ font-weight: 400;
101
+ }
102
+ }
103
+
104
+ /deep/.el-button.is-plain{
105
+ padding: 9px 20px;
106
+ }
107
+ }
108
+ .phoneClass{
109
+ width: 100vw;
110
+ text-align: left;
111
+ /*margin: 0 auto;*/
112
+ line-height: 34px;
113
+ height: 56px;
114
+ padding-left: 20px;
115
+ .el-button{
116
+ min-width: 60px;
117
+ height: 31px;
118
+ line-height: 0.9;
119
+ }
120
+ }
121
+ .companyClass{
122
+ /* min-width: 300px;*/
123
+ width: 370px;
124
+ text-align: left;
125
+ /*margin: 0 auto;*/
126
+ line-height: 34px;
127
+ padding-left: 20px;
128
+ .el-button{
129
+ min-width: 60px;
130
+ height: 32px;
131
+ line-height: 0.9;
132
+ }
133
+ }
134
+ .notClick{
135
+ pointer-events: none;
136
+ }
137
137
  </style>
@@ -0,0 +1,346 @@
1
+ <template>
2
+ <div id="attachment-upload">
3
+ <div v-if="attachmentList.length != 0" class="image-list">
4
+ <!-- <template v-if="items.field.type === 'IMAGE'">
5
+ <div v-for="(item, index) in attachmentList" class="image-item" :key="item.url + index">
6
+ <template v-if="typeof item == 'object'">
7
+ <el-image style="width: 60px; height: 60px" :src="item.url" :preview-src-list="[item.url]">
8
+ </el-image>
9
+ </template>
10
+ <template v-else>
11
+ <el-image style="width: 60px; height: 60px" :src="item"
12
+ :preview-src-list="attachmentList">
13
+ </el-image>
14
+ </template>
15
+ <span class="delete" @click="deleteAttch(index)"><i
16
+ class="iconfont guoran-tongyichicun-16-09-shanchu2"></i></span>
17
+ </div>
18
+ </template>
19
+ <template v-else-if="items.field.type === 'VIDEO'">
20
+ <div v-for="(item, index) in attachmentList" class="video-item" :key="item.url + index">
21
+ <template v-if="typeof item == 'object'">
22
+ <img src="../assets/image/play.png"
23
+ @click="openDialog(item.url, item.name)">
24
+ </template>
25
+ <template v-else>
26
+ <img src="../assets/images/play.png"
27
+ @click="openDialog(item, item.name)">
28
+ </template>
29
+ <span class="delete" @click="deleteAttch(index)"><i
30
+ class="iconfont guoran-tongyichicun-16-09-shanchu2"></i></span>
31
+ </div>
32
+ </template> -->
33
+ <template>
34
+ <div v-for="(item, index) in attachmentList" class="attch-item" :key="item.url + index"
35
+ >
36
+ <!-- @click="openDialog(item, item.name)" -->
37
+ <span @click.stop="deleteAttch(index)"><i class="iconfont guoran-a-16-09"></i></span>
38
+ <div class="attch-item-left">
39
+ <img src="../assets/image/video.png"
40
+ v-if="setSrc(item.name) == 'video'" />
41
+ <img src="../assets/image/image.png"
42
+ v-else-if="setSrc(item.name) == 'image'" />
43
+ <img src="../assets/image/txt.png"
44
+ v-else-if="setSrc(item.name) == 'txt'" />
45
+ <img src="../assets/image/word.png"
46
+ v-else-if="setSrc(item.name) == 'word'" />
47
+ <img src="../assets/image/pdf.png"
48
+ v-else-if="setSrc(item.name) == 'pdf'" />
49
+ <img src="../assets/image/ppt.png"
50
+ v-else-if="setSrc(item.name) == 'ppt'" />
51
+ <img src="../assets/image/excel.png"
52
+ v-else-if="setSrc(item.name) == 'excel'" />
53
+ <div class="fileName" v-if="item">
54
+ <template v-if="typeof item === 'string'">
55
+ <template v-if="item.indexOf('[') !== -1">
56
+ {{ JSON.parse(item)[index] }}
57
+ </template>
58
+ </template>
59
+ <template v-else>
60
+ {{ item.name }}
61
+ </template>
62
+ </div>
63
+ </div>
64
+ </div>
65
+ </template>
66
+ </div>
67
+ <!-- <el-dialog :visible.sync="dialogVisible" width="800px" :close-on-click-modal="false"
68
+ custom-class="look-dialog">
69
+ <template v-if="fieldType === 'VIDEO'">
70
+ <video :src="dialogUrl" controls></video>
71
+ </template>
72
+ <template v-else-if="fieldType === 'IMAGE'">
73
+ <img :src="dialogUrl" />
74
+ </template>
75
+ <div v-else-if="fieldType === 'txt' || fieldType === 'doc'" style="height: 60vh">
76
+ <embed :src="dialogUrl" width="100%" height="100%" />
77
+ </div>
78
+ </el-dialog> -->
79
+ </div>
80
+ </template>
81
+
82
+ <script>
83
+
84
+ export default {
85
+ name: "customUpload",
86
+ components: {},
87
+ data () {
88
+ return {
89
+ dialogUrl: "",
90
+ dialogVisible: false,
91
+ fieldType: "",
92
+ }
93
+ },
94
+ props: ["attachmentList"],
95
+ methods: {
96
+ //查看视频
97
+ openDialog (item, fileName) {
98
+ let url = typeof item == 'object' ? item.url : item
99
+ this.fieldType = ""
100
+ const fileType = fileName.substring(fileName.lastIndexOf('.'));
101
+ this.dialogUrl = url;
102
+ if (fileType === '.mp4' || fileType === '.MP4') {
103
+ this.fieldType = 'VIDEO'
104
+ this.dialogVisible = true;
105
+ }
106
+ else if (fileType === '.jpg' || fileType === '.png' || fileType === '.JPG' || fileType === '.PNG') {
107
+ this.fieldType = 'IMAGE'
108
+ this.dialogVisible = true;
109
+ }
110
+ else {
111
+ window.open(url, 'target');
112
+ }
113
+ },
114
+ deleteAttch (index) {
115
+ this.$emit('attachDeleteAttch', index)
116
+ },
117
+ //根据上传类型设置图标
118
+ setSrc (fileName) {
119
+ let file = ""
120
+ const fileType = fileName.substring(fileName.lastIndexOf('.'));
121
+ if (fileType === '.mp4' || fileType === '.MP4') {
122
+ file = 'video'
123
+ }
124
+ else if (fileType === '.jpg' || fileType === '.png' || fileType === '.JPG' || fileType === '.PNG') {
125
+ file = 'image'
126
+ }
127
+ else if (fileType == '.txt') {
128
+ file = 'txt'
129
+ }
130
+ else if (fileType == '.ppt' || fileType == '.pptx') {
131
+ file = 'ppt'
132
+ }
133
+ else if (fileType == '.doc' || fileType == '.docx') {
134
+ file = 'word'
135
+ }
136
+ else if (fileType == '.xls' || fileType == '.xlsx') {
137
+ file = 'excel'
138
+ }
139
+ else if (fileType == '.pdf') {
140
+ file = 'pdf'
141
+ }
142
+ return file
143
+ },
144
+ //下载文件
145
+ updownload () {
146
+ window.location.href = this.dialogUrl
147
+ /*window.open(this.dialogUrl,'_black')*/
148
+ }
149
+ }
150
+ };
151
+ </script>
152
+
153
+ <style scoped lang="less">
154
+ .custom-upload-o {
155
+ display: flex;
156
+ align-items: center;
157
+ }
158
+
159
+ #attachment-upload {
160
+ .image-list {
161
+ display: flex;
162
+ flex-wrap: wrap;
163
+ padding: 0 8px;
164
+ }
165
+
166
+ .image-item {
167
+ margin: 0 6px;
168
+ position: relative;
169
+
170
+ .delete {
171
+ // width: 20px;
172
+ // height: 22px;
173
+ position: absolute;
174
+ top: 0px;
175
+ right: 0px;
176
+ // border-radius: 30px;
177
+ background: #ffffff;
178
+ display: flex;
179
+ align-items: center;
180
+ justify-content: flex-end;
181
+ }
182
+
183
+ .guoran-tongyichicun-16-09-shanchu2 {
184
+ color: #366aff;
185
+ // position: absolute;
186
+ // top: 0px;
187
+ // right: 0px;
188
+ // cursor: pointer;
189
+ }
190
+ }
191
+
192
+ .guoran-tongyichicun-16-09-shanchu2 {
193
+ display: none;
194
+ }
195
+
196
+ .image-item:hover {
197
+ .delete {
198
+ width: 18px;
199
+ height: 20px;
200
+ }
201
+
202
+ .guoran-tongyichicun-16-09-shanchu2 {
203
+ display: block;
204
+ }
205
+ }
206
+
207
+ .attch-item {
208
+ margin: 10px 0 0 0;
209
+ color: #606266;
210
+ font-size: 13px;
211
+ cursor: pointer;
212
+ display: flex;
213
+ align-items: center;
214
+ justify-content: space-between;
215
+ width: 100%;
216
+
217
+ .guoran-a-16-09 {
218
+ color: #366aff;
219
+ }
220
+
221
+ .attch-item-left {
222
+ display: flex;
223
+ align-items: center;
224
+ flex: none;
225
+ width: 97%;
226
+
227
+ img {
228
+ margin-right: 4px;
229
+ }
230
+ }
231
+ }
232
+
233
+ .video-item {
234
+ display: flex;
235
+ align-items: center;
236
+ justify-content: center;
237
+ background-color: #f0f4fc;
238
+ width: 60px;
239
+ height: 60px;
240
+ border-radius: 5px;
241
+ margin: 0 6px;
242
+ position: relative;
243
+ overflow: hidden;
244
+
245
+ img {
246
+ cursor: pointer;
247
+ }
248
+
249
+ .delete {
250
+ // width: 20px;
251
+ // height: 22px;
252
+ position: absolute;
253
+ top: 0px;
254
+ right: 0px;
255
+ // border-radius: 30px;
256
+ background: #ffffff;
257
+ display: flex;
258
+ align-items: center;
259
+ justify-content: flex-end;
260
+
261
+ }
262
+
263
+ .guoran-tongyichicun-16-09-shanchu2 {
264
+ color: #366aff;
265
+ cursor: pointer;
266
+ }
267
+ }
268
+
269
+ .video-item:hover {
270
+ .delete {
271
+ width: 20px;
272
+ height: 22px;
273
+ }
274
+
275
+ .guoran-tongyichicun-16-09-shanchu2 {
276
+ display: block;
277
+ }
278
+ }
279
+
280
+ /deep/.attachment-upload {
281
+ .el-upload {
282
+ width: 100%;
283
+ }
284
+
285
+ .el-upload-dragger {
286
+ width: 100%;
287
+ }
288
+ }
289
+
290
+ .fileName {
291
+ max-width: 80%;
292
+ flex: none;
293
+ overflow: hidden;
294
+ text-overflow: ellipsis;
295
+ white-space: nowrap;
296
+ }
297
+
298
+ /deep/ .el-upload--picture-card {
299
+ width: 60px;
300
+ height: 60px;
301
+ display: flex;
302
+ align-items: center;
303
+ justify-content: center;
304
+ flex: none;
305
+ }
306
+
307
+ /deep/.el-upload-dragger {
308
+ height: 60px;
309
+ display: flex;
310
+ align-items: center;
311
+ justify-content: space-around;
312
+
313
+ .el-icon-upload {
314
+ margin: 5px 10px 8px;
315
+ line-height: 30px;
316
+ font-size: 25px;
317
+ }
318
+
319
+ .el-upload__text {
320
+ display: flex;
321
+ // flex-direction: column;
322
+ flex-wrap: wrap;
323
+ flex: 1;
324
+ }
325
+ }
326
+
327
+ .el-upload-dragger>div {
328
+ display: flex;
329
+ align-items: center;
330
+ }
331
+ }
332
+
333
+ .look-dialog {
334
+ video {
335
+ height: 500px;
336
+ object-fit: contain;
337
+ width: 100%;
338
+ }
339
+
340
+ img {
341
+ height: 500px;
342
+ width: 100%;
343
+ object-fit: contain;
344
+ }
345
+ }
346
+ </style>