cloud-web-corejs 1.0.54-dev.4 → 1.0.54-dev.41

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 (58) hide show
  1. package/package.json +1 -1
  2. package/src/components/VabUpload/index.vue +2 -1
  3. package/src/components/VabUpload/mixins.js +1 -1
  4. package/src/components/VabUpload/view.vue +2 -1
  5. package/src/components/excelExport/exportFieldDialog.vue +210 -0
  6. package/src/components/excelExport/index.js +5 -5
  7. package/src/components/excelExport/index.vue +2 -0
  8. package/src/components/excelExport/mixins.js +4 -1
  9. package/src/components/excelImport/index.vue +2 -1
  10. package/src/components/excelImport/mixins.js +1 -1
  11. package/src/components/fileLibrary/fileObjAuthDialog.vue +125 -103
  12. package/src/components/fileLibrary/fileObjAuthEditDialog.vue +6 -1
  13. package/src/components/fileLibrary/fileObjNotifyEdit.vue +192 -0
  14. package/src/components/fileLibrary/index.vue +2 -2
  15. package/src/components/fileLibrary/mixins/fileObjAuthDialogMixin.js +29 -7
  16. package/src/components/fileLibrary/mixins/fileObjAuthEditDialogMixin.js +4 -1
  17. package/src/components/fileLibrary/mixins/fileObjAuthEditMixin.js +1 -1
  18. package/src/components/fileLibrary/mixins/indexMixins.js +40 -15
  19. package/src/components/onlineTalk/index.vue +327 -5
  20. package/src/components/onlineTalk/mixins.js +1 -1
  21. package/src/components/table/index.js +1 -1
  22. package/src/components/tempStorage/tempStorageDialog.vue +2 -2
  23. package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +1 -0
  24. package/src/components/xform/form-designer/form-widget/dialog/formDrawer.vue +1 -0
  25. package/src/components/xform/form-designer/form-widget/dialog/formFieldDialog.vue +2 -2
  26. package/src/components/xform/form-designer/form-widget/dialog/preformDialog.vue +2 -2
  27. package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +5 -4
  28. package/src/components/xform/form-designer/form-widget/dialog/vabSearchDialog.vue +2 -2
  29. package/src/components/xform/form-designer/setting-panel/property-editor/placeholder-editor.vue +1 -1
  30. package/src/layout/components/notify_message/unreadDialog.vue +2 -0
  31. package/src/store/config/index.js +532 -1
  32. package/src/utils/request.js +28 -28
  33. package/src/utils/vab.js +1 -1
  34. package/src/views/bd/setting/bd_attach_setting/edit.vue +1 -1
  35. package/src/views/bd/setting/bd_attach_setting/mixins/edit.js +1 -1
  36. package/src/views/bd/setting/form_template/edit.vue +2 -2
  37. package/src/views/bd/setting/form_template/list.vue +4 -2
  38. package/src/views/bd/setting/form_template/list2.vue +137 -0
  39. package/src/views/bd/setting/form_template/mixins/edit.js +1 -1
  40. package/src/views/bd/setting/form_template/mixins/list2.js +12 -0
  41. package/src/views/bd/setting/form_template/wfObjConfigDialog.vue +189 -0
  42. package/src/views/bd/setting/menu_kind/authDialog.vue +1 -1
  43. package/src/views/bd/setting/menu_kind/mixins/authDialog.js +1 -1
  44. package/src/views/bd/setting/table_model/list.vue +4 -2
  45. package/src/views/user/area/dialog.vue +21 -8
  46. package/src/views/user/company_info/edit.vue +9 -1
  47. package/src/views/user/file_type/edit.vue +30 -1
  48. package/src/views/user/file_type/list.vue +28 -0
  49. package/src/views/user/groups/edit.vue +2 -0
  50. package/src/views/user/groups/list.vue +1 -0
  51. package/src/views/user/home/index.vue +4 -2
  52. package/src/views/user/login/default.vue +4 -2
  53. package/src/views/user/outLink/view.vue +21 -0
  54. package/src/views/user/user/edit.vue +4 -4
  55. package/src/views/user/user/form_edit.vue +117 -49
  56. package/src/views/user/user/form_list.vue +1 -0
  57. package/src/views/user/wf/wf_obj_config/list.vue +30 -2
  58. package/src/views/user/wf/wf_obj_config/wfBizDataSettingDialog.vue +292 -0
@@ -7,6 +7,7 @@ import shareDialog from "../shareDialog";
7
7
  import recycleBinDialog from "../recycleBinDialog";
8
8
  import videoDialog from "../../../components/video/dialog";
9
9
  import userDialog from "../../../views/user/user/dialog";
10
+ import {encode} from "js-base64";
10
11
 
11
12
  let modules;
12
13
  modules = {
@@ -43,6 +44,9 @@ modules = {
43
44
  getObjectForeignId: () => {
44
45
  return this.objectForeignId;
45
46
  },
47
+ getFileStoreArea: () => {
48
+ return this.fileStoreArea;
49
+ }
46
50
  };
47
51
  },
48
52
  async created() {
@@ -72,6 +76,7 @@ modules = {
72
76
  billDialogContent: null,
73
77
  checkBillDatas: [],
74
78
  title: "",
79
+ fileStoreArea: {},
75
80
  folderStatus: false,
76
81
  filterText: "",
77
82
  defaultProps: {
@@ -1003,36 +1008,44 @@ modules = {
1003
1008
  rows.forEach((value) => {
1004
1009
  value.leaf = !value.hasChild;
1005
1010
  });
1011
+ let items = [];
1006
1012
  if (node.level === 0) {
1013
+ let item = {
1014
+ parent: null,
1015
+ fileName: this.title,
1016
+ leaf: rows.length == 0,
1017
+ allFileBtn: true,
1018
+ id: 0,
1019
+ children: rows,
1020
+ };
1021
+ items.push(item);
1007
1022
  setTimeout(() => {
1008
1023
  this.$refs.tree.setCurrentKey(node.childNodes[0].data);
1009
1024
  this.handleNodeData(node.childNodes[0]);
1010
1025
  node.childNodes[0].expand();
1026
+ if (this.option.treeExpandAll) {
1027
+ //默认全部展开树分类
1028
+ node.childNodes[0].childNodes.forEach(item => {
1029
+ if (!item.data.leaf) item.expand();
1030
+ })
1031
+ }
1011
1032
  }, 200);
1012
1033
  this.$nextTick(() => {
1013
1034
  callback && callback();
1014
1035
  });
1015
1036
  this.searchEvent();
1016
1037
  } else {
1038
+ items = rows;
1017
1039
  this.$nextTick(() => {
1040
+ if (this.option.treeExpandAll) {
1041
+ //默认全部展开树分类
1042
+ node.childNodes.forEach(item => {
1043
+ if (!item.data.leaf) item.expand();
1044
+ })
1045
+ }
1018
1046
  callback && callback();
1019
1047
  });
1020
1048
  }
1021
- let items = [];
1022
- if (node.level === 0) {
1023
- let item = {
1024
- parent: null,
1025
- fileName: this.title,
1026
- leaf: rows.length == 0,
1027
- allFileBtn: true,
1028
- id: 0,
1029
- children: rows,
1030
- };
1031
- items.push(item);
1032
- } else {
1033
- items = rows;
1034
- }
1035
-
1036
1049
  resolve(items);
1037
1050
  },
1038
1051
  });
@@ -1402,6 +1415,7 @@ modules = {
1402
1415
  success: (res) => {
1403
1416
  let fileStoreArea = res.objx;
1404
1417
  if (fileStoreArea) {
1418
+ this.fileStoreArea = fileStoreArea;
1405
1419
  this.title = fileStoreArea.storeAreaName;
1406
1420
  this.$nextTick(() => {
1407
1421
  treeScollx({target: this, type: "default"});
@@ -1746,6 +1760,17 @@ modules = {
1746
1760
  } else {
1747
1761
  return customFileButton.visable;
1748
1762
  }
1763
+ },
1764
+ downloadSingerFile(attachment) {
1765
+
1766
+ let fileObjAuth = this.fileObjAuth;
1767
+ if (attachment.dirs || !fileObjAuth.downloadAuth) return
1768
+ let url = attachment.domain + attachment.url;
1769
+ if (this.fileStoreArea.toDownWatermark && fileObjAuth.downWatermarkAuth) {
1770
+ let loginAccount = this.$store.getters.loginAccount;
1771
+ url += '?_w=' + encode(loginAccount)
1772
+ }
1773
+ this.$commonFileUtil.downloadFile(url, attachment.fileName)
1749
1774
  }
1750
1775
  },
1751
1776
  };
@@ -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;