cloud-web-corejs 1.0.58 → 1.0.60

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.
@@ -1,11 +1,11 @@
1
1
  <template>
2
2
  <div class="detail-wrap" style="margin: -6px -8px;">
3
- <el-form ref="editForm" :model="fileObjNotify" label-position=top>
3
+ <el-form ref="editForm" :model="fileObjNotify">
4
4
  <div class="d-header clearfix">
5
5
  <div class="fl">
6
6
  <i class="el-icon-info"/>
7
7
  <!--{{ isEdit ? $t1('查看文件对象通知设置') : $t1('新增文件对象通知设置') }}-->
8
- 文件操作 - 发系统通知设置
8
+ {{ $t1('文件操作 - 发系统通知设置') }}
9
9
  </div>
10
10
  <div class="fr">
11
11
  <el-button type="primary" plain class="button-sty" @click="$baseReload()" icon="el-icon-refresh-right">
@@ -17,32 +17,45 @@
17
17
  </div>
18
18
  <div class="d-cont">
19
19
  <div class="d-item d-i-left">
20
- <div class="d-i-tit">
21
- {{ $t1('文件操作,是否发系统通知') }}
22
- </div>
23
- <el-form-item prop="toNotify" :rules="[{ required: true, trigger: 'blur' }]">
24
- <el-radio-group v-model="fileObjNotify.toNotify">
25
- <div><el-radio :label="0">{{ $t1('不发系统通知;') }}</el-radio></div>
26
- <div><el-radio :label="1">{{ $t1('针对当前文件夹中的文件操作') }}</el-radio></div>
27
- <div><el-radio :label="2">{{ $t1('当前文件夹与下级所有文件夹的文件进行了操作,发系统通知') }}</el-radio></div>
28
- </el-radio-group>
29
- </el-form-item>
20
+ <div class="d-i-tit">
21
+ {{ $t1('文件操作,是否发系统通知') }}
22
+ </div>
23
+ <el-form-item prop="toNotify" :rules="[{ required: true, trigger: 'blur' }]">
24
+ <el-radio-group v-model="fileObjNotify.toNotify">
25
+ <div>
26
+ <el-radio :label="0">{{ $t1('不发系统通知') }}</el-radio>
27
+ </div>
28
+ <div>
29
+ <el-radio :label="1">{{ $t1('针对当前文件夹中的文件操作') }}</el-radio>
30
+ </div>
31
+ <div>
32
+ <el-radio :label="2">{{ $t1('当前文件夹与下级所有文件夹的文件进行了操作,发系统通知') }}</el-radio>
33
+ </div>
34
+ </el-radio-group>
35
+ </el-form-item>
30
36
  </div>
31
37
  <div class="d-item d-i-right">
32
38
  <div class="d-i-tit">
33
39
  {{ $t1('不同的文件操作类型,设置对应的系统通知模板') }}
34
40
  </div>
35
- <el-form-item prop="addNtCode" :rules="[{ required: false, trigger: 'blur' }]" :label="$t1('新增文件-通知模板编码')">
41
+ <el-form-item prop="addNtCode" :rules="[{ required: false, trigger: 'blur' }]"
42
+ :label="$t1('新增文件-通知模板编码')">
36
43
  <el-input type="text" autocomplete="off" v-model="fileObjNotify.addNtCode" clearable/>
37
44
  </el-form-item>
38
- <el-form-item prop="deleteNtCode" :rules="[{ required: false, trigger: 'blur' }]" :label="$t1('删除文件-通知模板编码') ">
45
+ <el-form-item prop="deleteNtCode" :rules="[{ required: false, trigger: 'blur' }]"
46
+ :label="$t1('删除文件-通知模板编码')">
39
47
  <el-input type="text" autocomplete="off" v-model="fileObjNotify.deleteNtCode" clearable/>
40
48
  </el-form-item>
41
- <el-form-item prop="replaceNtCode" :rules="[{ required: false, trigger: 'blur' }]" :label=" $t1('替换文件-通知模板编码') ">
49
+ <el-form-item prop="replaceNtCode" :rules="[{ required: false, trigger: 'blur' }]"
50
+ :label=" $t1('替换文件-通知模板编码')">
42
51
  <el-input type="text" autocomplete="off" v-model="fileObjNotify.replaceNtCode" clearable/>
43
52
  </el-form-item>
44
53
  </div>
45
54
  </div>
55
+ <div class="tips">{{
56
+ $t1('注:删除文件发通知,包括从当前文件夹移动、删除文件。 新增文件发通知,包括上传、复制、移动、从回收站还原文件到当前文件夹下。')
57
+ }}
58
+ </div>
46
59
  </el-form>
47
60
  </div>
48
61
  </template>
@@ -98,8 +111,6 @@ export default {
98
111
  if (valid) {
99
112
  this.$baseConfirm(this.$t1('您确定要保存吗?')).then(() => {
100
113
  var url = this.current_prefix + `/file_obj_notify/save`;
101
- debugger
102
- let a = 1;
103
114
  this.$http({
104
115
  url: url,
105
116
  method: `post`,
@@ -131,23 +142,51 @@ export default {
131
142
  .noTr td {
132
143
  height: 0px
133
144
  }
134
- .d-cont{display: flex;margin: -11px -12px;
135
- .d-i-left,.d-i-right{border:none !important;padding:24px 18px 24px 14px !important}
136
- .d-i-left{width:420px;}
137
- .d-i-tit{
138
- background:#f7f7f7;line-height: 36px;padding: 0 10px;margin-bottom: 16px;
145
+
146
+ .d-cont {
147
+ display: flex;
148
+ margin: -11px -12px;
149
+
150
+ .d-i-left, .d-i-right {
151
+ border: none !important;
152
+ padding: 24px 18px 24px 14px !important
153
+ }
154
+
155
+ .d-i-left {
156
+ width: 420px;
157
+ }
158
+
159
+ .d-i-tit {
160
+ background: #f7f7f7;
161
+ line-height: 36px;
162
+ padding: 0 10px;
163
+ margin-bottom: 16px;
164
+ font-size: 13px
139
165
  }
140
- .d-i-right{
141
- border-left:solid 1px #e9e9e9 !important;flex:1;padding-left:32px !important;
142
- ::v-deep .el-form-item{margin-bottom:16px;
143
- .el-form-item__label{font-size:14px;}
144
- .el-form-item__content{
145
- .el-input{width:360px !important;
146
- .el-input__inner{height:38px !important}
166
+
167
+ .d-i-right {
168
+ border-left: solid 1px #e9e9e9 !important;
169
+ flex: 1;
170
+ padding-left: 32px !important;
171
+
172
+ ::v-deep .el-form-item {
173
+ margin-bottom: 16px;
174
+
175
+ .el-form-item__content {
176
+ .el-input {
177
+ width: 360px !important;
147
178
  }
148
179
  }
149
180
  }
150
181
  }
151
182
  }
152
183
 
184
+ .tips {
185
+ margin-top: -156px;
186
+ background: #FFF;
187
+ position: relative;
188
+ line-height: 40px;
189
+ border-top: solid 1px #e9e9e9;
190
+ padding-left: 12px;
191
+ }
153
192
  </style>
@@ -42,10 +42,21 @@
42
42
  <template v-if="item.contentType == 0">
43
43
  {{ item.content }}
44
44
  </template>
45
- <template v-else>
45
+ <template v-else-if="item.contentType == 1">
46
46
  <baseUpload accept="file" multi="false" :file.sync="item.file" :edit="false"
47
47
  :showProperties="false" :showSize="true" :createBy="false"></baseUpload>
48
48
  </template>
49
+ <template v-else-if="item.contentType == 2">
50
+ <ul class="onlieTalk-search-list">
51
+ <div class="tit"><i class="el-icon-chat-round"></i><b>猜你想问</b></div>
52
+ <div class="o-cont">
53
+ <li v-for="(answer,index) in item.answers" :key="index">
54
+ <a href="javascript:void(0);" class="a-link"
55
+ @click="answerCheckHandle(answer)">{{index+1}}、{{ answer.question }}</a>
56
+ </li>
57
+ </div>
58
+ </ul>
59
+ </template>
49
60
  </div>
50
61
  </div>
51
62
  </template>
@@ -60,6 +71,16 @@
60
71
  <i class="el-icon-folder-opened btn" @click="addFile" :disabled="!talkUserId"></i>
61
72
  </el-tooltip>
62
73
  </div> -->
74
+ <!-- <div class="pop-inputTips" v-show="false">
75
+ <p>该商品的<span>有效</span>日期?</p>
76
+ <p><span>有效</span>使用时间是什么时候?</p>
77
+ <p>该商品的<span>有效</span>日期?</p>
78
+ <p><span>有效</span>使用时间是什么时候?</p>
79
+ <p>该商品的<span>有效</span>日期?</p>
80
+ <p><span>有效</span>使用时间是什么时候?</p>
81
+ <p>该商品的<span>有效</span>日期?</p>
82
+ <p><span>有效</span>使用时间是什么时候?</p>
83
+ </div>-->
63
84
  <el-input type="textarea" :rows="6" class="txt-textarea" v-model="talkUser.content" placeholder="请输入
64
85
  选择此处,可粘贴文件(Ctrl+V)"
65
86
  :disabled="!talkUserId" ref="contentRef" @paste.native="pasteMessage"
@@ -117,6 +138,9 @@
117
138
  <i class="iconfont icon-wendangshangchuan"></i>
118
139
  从个人文档工作区选择
119
140
  </el-button>
141
+ <el-button type="info" plain class="button-sty" @click="openHistoryDialog"><i
142
+ class="el-icon-time"></i>历史记录
143
+ </el-button>
120
144
  </div>
121
145
  <div class="fr">
122
146
  <span class="t">Ctrl + Enter </span>
@@ -191,6 +215,63 @@
191
215
  </el-button>
192
216
  </span>
193
217
  </el-dialog>
218
+
219
+ <el-dialog
220
+ title="历史记录"
221
+ :append-to-body="true"
222
+ :modal-append-to-body="true"
223
+ :close-on-click-modal="false"
224
+ v-if="showHistoryDialog"
225
+ :visible.sync="showHistoryDialog"
226
+ :modal="false"
227
+ custom-class="dialog-style list-dialog history-dialog"
228
+ width="586px"
229
+ v-el-drag-dialog
230
+ v-el-dialog-center
231
+ >
232
+ <div class="history-box">
233
+ <div class="h-form">
234
+ <div class="search-box">
235
+ <div class="search-classify" v-if="historyType == 2" @click="checkHistoryType(null)"><i
236
+ class="el-icon-files"></i><span>文件</span><i
237
+ class='el-icon-close'></i></div>
238
+ <div class="search-classify" v-if="historyType == 1" @click="checkHistoryType(null)"><i
239
+ class="el-icon-files"></i><span>图片</span><i
240
+ class='el-icon-close'></i></div>
241
+ <el-input class="search-input" v-model="historyKeyword" clearable @input="changeHistoryKeyword"></el-input>
242
+ </div>
243
+ <div class="keys-box">
244
+ <span @click="checkHistoryType(2)">文件</span>
245
+ <span @click="checkHistoryType(1)">图片</span>
246
+ </div>
247
+ </div>
248
+ <div class="h-list" @scroll="handleScrollH" >
249
+ <div class="item" v-for="(item,index) in talkHRecords" :key="index" :class="'talk_h'+item.id">
250
+ <div class="name">{{ item.sendUserName }}</div>
251
+ <div class="time">{{ item.createDate }}</div>
252
+ <div>
253
+ <template v-if="item.contentType == 0">
254
+ {{ item.content }}
255
+ </template>
256
+ <template v-else-if="item.contentType == 1">
257
+ <baseUpload accept="file" multi="false" :file.sync="item.file" :edit="false"
258
+ :showProperties="false" :showSize="true" :createBy="false"></baseUpload>
259
+ </template>
260
+ <template v-else-if="item.contentType == 2">
261
+ <ul class="onlieTalk-search-list">
262
+ <div class="tit"><i class="el-icon-chat-round"></i><b>猜你想问</b></div>
263
+ <div class="o-cont">
264
+ <li v-for="(answer,index) in item.answers" :key="index">
265
+ <a href="javascript:void(0);" class="a-link">{{index+1}}、{{ answer.question }}</a>
266
+ </li>
267
+ </div>
268
+ </ul>
269
+ </template>
270
+ </div>
271
+ </div>
272
+ </div>
273
+ </div>
274
+ </el-dialog>
194
275
  </div>
195
276
  </template>
196
277
 
@@ -203,11 +284,213 @@ export default {
203
284
  components: {
204
285
  userDialog,
205
286
  privateProfileDialog: () => import('../../components/VabUpload/privateProfileDialog')
206
- }
287
+ },
288
+ data() {
289
+ return {};
290
+ },
291
+ mounted() {
292
+ },
207
293
  };
208
294
  </script>
209
295
  <style scoped lang="scss">
210
296
  @import '~@/styles/variables.scss';
297
+ .onlieTalk-search-list{
298
+ list-style: none;margin: -8px -4px 0;padding: 0;min-width: 360px;max-width: 90%;
299
+ .tit{color: #333;font-size: 14px;margin: 10px 0 3px;padding-left: 6px;
300
+ i{margin-right: 3px;}
301
+ }
302
+ .o-cont{background: #FFF;border-radius: 5px;margin-top: 7px;padding: 0 12px;}
303
+ li{
304
+ padding: 10px 2px;border-bottom: dashed 1px #dfdfdf;display: block;position: relative;font-size: 12px;cursor: pointer;
305
+ &:after{content:"\e6e0";font-family: element-icons!important;color:#747474;height:30px;border-radius: 50%;position: absolute;top:50%;margin-top:-15px;right:0;line-height:30px;}
306
+ &:last-child{
307
+ border-bottom: none;
308
+ }
309
+ }
310
+ }
311
+ .history-box {
312
+ .h-form {
313
+ padding: 2px 16px 10px;
314
+
315
+ .search-classify {
316
+ background: #F4F4F4;
317
+ line-height: 28px;
318
+ height: 28px;
319
+ padding: 0 8px;
320
+ border-radius: 3px;
321
+
322
+ > i, > span {
323
+ vertical-align: middle;
324
+ font-size: 13px;
325
+ margin-top: 2px;
326
+ }
327
+
328
+ > span {
329
+ margin: 0 2px 0 4px
330
+ }
331
+
332
+ .el-icon-close {
333
+ cursor: pointer;
334
+ }
335
+ }
336
+
337
+ ::v-deep .search-box {
338
+ border: solid 1px #eee;
339
+ padding: 5px;
340
+ border-radius: 8px;
341
+ display: flex;
342
+ background: #FFF;
343
+
344
+ .el-input {
345
+ flex: 1;
346
+
347
+ .el-input__inner {
348
+ border: none;
349
+ }
350
+ }
351
+ }
352
+
353
+ .keys-box {
354
+ margin-top: 10px;
355
+ padding: 0 2px;
356
+
357
+ span {
358
+ display: inline-block;
359
+ margin-right: 42px;
360
+ font-size: 13px;
361
+ color: #2A6494;
362
+ cursor: pointer;
363
+ border-bottom: solid 1px #F7F7F7;
364
+
365
+ &:hover {
366
+ border-bottom: solid 1px #2A6494
367
+ }
368
+ }
369
+ }
370
+ }
371
+
372
+ .h-list {
373
+ height: 520px;
374
+ overflow: auto;
375
+ padding: 2px 0;
376
+ background-color: #FFF;
377
+
378
+ .item {
379
+ border-bottom: solid 1px #f2f2f2;
380
+ position: relative;
381
+ padding: 12px 16px;
382
+ color: #323232;
383
+ font-size: 13px;
384
+ overflow: hidden;
385
+ .onlieTalk-search-list{
386
+ border: solid 1px #eee;padding:0 8px 6px;border-radius: 6px;margin: 10px 0 4px;background: #f7f7f7;overflow: hidden;
387
+ }
388
+ .name {
389
+ color: #999;
390
+ margin-bottom: 5px;
391
+ font-size: 12px;
392
+ }
393
+
394
+ .time {
395
+ position: absolute;
396
+ right: 16px;
397
+ top: 14px;
398
+ font-size: 12px;
399
+ color: #999;
400
+ }
401
+ ::v-deep .upload-box{margin:-10px 0 0 0 !important;border-top:none}
402
+ &:hover {
403
+ background: #f7f7f7;
404
+ }
405
+
406
+ }
407
+ }
408
+
409
+ .h-pic {
410
+ height: 520px;
411
+ overflow: auto;
412
+ padding: 8px 14px;
413
+ background-color: #FFF;
414
+
415
+ .item {
416
+ width: 133px;
417
+ height: 133px;
418
+ display: inline-block;
419
+ vertical-align: middle;
420
+ margin: 3px;
421
+
422
+ .el-image {
423
+ width: 100%;
424
+ height: 100%;
425
+ }
426
+
427
+ &:hover .el-image {
428
+ border: solid 1px #2A6494
429
+ }
430
+ }
431
+ }
432
+
433
+ .h-file {
434
+ height: 520px;
435
+ overflow: auto;
436
+ padding: 8px 0;
437
+ background-color: #FFF;
438
+
439
+ .item {
440
+ position: relative;
441
+ padding: 8px 16px 0;
442
+ color: #323232;
443
+ font-size: 13px;
444
+ display: flex;
445
+
446
+ .img {
447
+ width: 58px;
448
+ height: 58px;
449
+
450
+ .el-image {
451
+ width: 100%;
452
+ height: 100%;
453
+ }
454
+ }
455
+
456
+ .txt {
457
+ border-bottom: solid 1px #f2f2f2;
458
+ flex: 1;
459
+ display: flex;
460
+ color: #999;
461
+ font-size: 12px;
462
+ padding: 0 0 6px;
463
+ margin-left: 12px;
464
+
465
+ p {
466
+ margin: 0 0 8px;
467
+ }
468
+
469
+ .name {
470
+ color: #323232;
471
+ font-size: 13px;
472
+ }
473
+
474
+ .t-l {
475
+ flex: 1
476
+ }
477
+
478
+ .t-r {
479
+ font-size: 12px;
480
+ text-align: right;
481
+
482
+ .ico {
483
+ display: inline-block;
484
+ color: #2A6494;
485
+ margin-left: 8px;
486
+ font-size: 16px;
487
+ }
488
+ }
489
+ }
490
+ }
491
+ }
492
+ }
493
+
211
494
 
212
495
  .ico-online {
213
496
  background: url(~@/resources/images/ico-service.png) no-repeat center 19px #FFF;
@@ -333,7 +616,8 @@ export default {
333
616
 
334
617
  .item {
335
618
  margin: 10px 0;
336
- font-size:14px;
619
+ font-size: 14px;
620
+
337
621
  .name {
338
622
  color: rgba(102, 102, 102, 0.6);
339
623
  margin-bottom: 4px;
@@ -378,7 +662,8 @@ export default {
378
662
 
379
663
  &.right {
380
664
  text-align: right;
381
- font-size:14px;
665
+ font-size: 14px;
666
+
382
667
  .cont {
383
668
  background-color: #D8E8F9;
384
669
 
@@ -414,6 +699,36 @@ export default {
414
699
  display: flex;
415
700
  flex-direction: column;
416
701
 
702
+ .pop-inputTips {
703
+ position: absolute;
704
+ background: #FFF;
705
+ left: 10px;
706
+ border: solid 1px #eee;
707
+ overflow: auto;
708
+ height: 160px;
709
+ width: 400px;
710
+ font-size: 13px;
711
+ bottom: 100%;
712
+ margin-bottom: -22px;
713
+ z-index: 22;
714
+ box-shadow: 0 0 14px rgb(0 0 0 / 11%);
715
+ padding: 2px 0;
716
+
717
+ p {
718
+ padding: 10px 16px;
719
+ margin: 0;
720
+ cursor: pointer;
721
+
722
+ &:hover {
723
+ background: #f7f7f7
724
+ }
725
+
726
+ span {
727
+ color: $red
728
+ }
729
+ }
730
+ }
731
+
417
732
  .btns {
418
733
  background-color: #FAFAFA;
419
734
  height: 36px;
@@ -429,7 +744,7 @@ export default {
429
744
 
430
745
  .txt-textarea {
431
746
  flex: 1;
432
- padding-top: 6px;
747
+ padding-top: 20px;
433
748
 
434
749
  .el-textarea__inner {
435
750
  border: none;
@@ -584,6 +899,13 @@ export default {
584
899
  }
585
900
  }
586
901
 
902
+ .fl {
903
+ .button-sty .el-icon-time {
904
+ margin-bottom: 2px;
905
+ margin-right: 2px;
906
+ }
907
+ }
908
+
587
909
  .fr {
588
910
  .t {
589
911
  vertical-align: middle;