eoss-ui 0.8.39 → 0.8.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 (42) hide show
  1. package/lib/eoss-ui.common.js +771 -1097
  2. package/lib/flow-list.js +86 -24
  3. package/lib/flow.js +199 -120
  4. package/lib/index.js +1 -1
  5. package/lib/selector-panel.js +189 -110
  6. package/lib/selector.js +164 -700
  7. package/lib/theme-chalk/flow-list.css +1 -1
  8. package/lib/theme-chalk/flow.css +1 -1
  9. package/lib/theme-chalk/fonts/iconfont.ttf +0 -0
  10. package/lib/theme-chalk/fonts/iconfont.woff +0 -0
  11. package/lib/theme-chalk/form.css +1 -1
  12. package/lib/theme-chalk/index.css +1 -1
  13. package/lib/theme-chalk/selector-panel.css +1 -1
  14. package/lib/theme-chalk/selector.css +1 -1
  15. package/lib/theme-chalk/tree.css +1 -1
  16. package/package.json +2 -2
  17. package/packages/flow/src/flow.vue +40 -13
  18. package/packages/flow/src/main.vue +13 -5
  19. package/packages/flow/src/selectUser.vue +1 -0
  20. package/packages/flow/src/startTaskRead.vue +3 -0
  21. package/packages/flow-list/src/main.vue +75 -16
  22. package/packages/selector/src/main.vue +120 -269
  23. package/packages/selector-panel/src/main.vue +1071 -1036
  24. package/packages/selector-panel/src/tree.vue +24 -18
  25. package/packages/theme-chalk/lib/flow-list.css +1 -1
  26. package/packages/theme-chalk/lib/flow.css +1 -1
  27. package/packages/theme-chalk/lib/fonts/iconfont.ttf +0 -0
  28. package/packages/theme-chalk/lib/fonts/iconfont.woff +0 -0
  29. package/packages/theme-chalk/lib/form.css +1 -1
  30. package/packages/theme-chalk/lib/index.css +1 -1
  31. package/packages/theme-chalk/lib/selector-panel.css +1 -1
  32. package/packages/theme-chalk/lib/selector.css +1 -1
  33. package/packages/theme-chalk/lib/tree.css +1 -1
  34. package/packages/theme-chalk/src/flow-list.scss +61 -55
  35. package/packages/theme-chalk/src/flow.scss +16 -2
  36. package/packages/theme-chalk/src/fonts/iconfont.ttf +0 -0
  37. package/packages/theme-chalk/src/fonts/iconfont.woff +0 -0
  38. package/packages/theme-chalk/src/form.scss +5 -1
  39. package/packages/theme-chalk/src/selector-panel.scss +36 -6
  40. package/packages/theme-chalk/src/selector.scss +66 -115
  41. package/packages/theme-chalk/src/tree.scss +1 -1
  42. package/src/index.js +1 -1
@@ -10,7 +10,7 @@
10
10
  style="height: 100%; display: flex; flex-direction: column"
11
11
  >
12
12
  <div class="es-flow-top">
13
- <div class="es-flow-title">
13
+ <div :class="`es-flow-title ${shrink?'border_none' : ''}`">
14
14
  <span v-show="!shrink"
15
15
  >当前步骤:{{ isFlow ? nodeName || '拟稿' : NodeName }}</span
16
16
  >
@@ -70,6 +70,7 @@
70
70
  label="下步节点"
71
71
  >
72
72
  <el-select
73
+ class="es-flow-select"
73
74
  v-if="nextNodeCheckType == 'select'"
74
75
  v-model="circulateForm.nextNodeId"
75
76
  style="width: 100% !important"
@@ -127,6 +128,7 @@
127
128
  :key="StartTaskReadKey"
128
129
  typeCode="read"
129
130
  :param="param"
131
+ :businessName="businessName"
130
132
  :selectorConfig="selectorConfig"
131
133
  :resetAppId="resetAppId"
132
134
  :taskExamine="taskExamineInfo"
@@ -178,7 +180,7 @@
178
180
  v-else
179
181
  >
180
182
  <div class="es-flow-top">
181
- <div class="es-flow-title">
183
+ <div :class="`es-flow-title ${shrink?'border_none' : ''}`">
182
184
  <span v-show="!shrink"
183
185
  >当前节点:{{ isFlow ? nodeName || '拟稿' : NodeName }}</span
184
186
  >
@@ -333,6 +335,7 @@
333
335
  >
334
336
  <el-select
335
337
  slot="prepend"
338
+ class="es-flow-select"
336
339
  v-model="nodeInfo.nextNode"
337
340
  style="width: calc(100% + 40px)"
338
341
  :placeholder="`请选择流程`"
@@ -468,6 +471,7 @@
468
471
  v-if="nextOperateCheckType == 'select'"
469
472
  v-model="nextNode.nextOperate"
470
473
  :placeholder="`请选择下步操作`"
474
+ class="es-flow-select"
471
475
  :disabled="operationList && operationList.length == 1"
472
476
  @change="selecNext($event, true)"
473
477
  >
@@ -505,10 +509,12 @@
505
509
  v-model="nextNode.nextNodeId"
506
510
  :placeholder="`请选择下步节点`"
507
511
  :disabled="nodeInfos && nodeInfos.length == 1"
512
+ class="es-flow-select"
508
513
  @change="selecNext($event, false)"
509
514
  >
510
515
  <el-option
511
516
  v-for="items in nodeInfos"
517
+ class="es-flow-select"
512
518
  :key="items.id"
513
519
  :label="items.nodeName"
514
520
  :value="items.nodeId"
@@ -613,6 +619,7 @@
613
619
  >
614
620
  <el-select
615
621
  v-model="nextNode.mainSubId"
622
+ class="es-flow-select"
616
623
  :placeholder="`请选择主办`"
617
624
  >
618
625
  <el-option
@@ -743,7 +750,7 @@
743
750
  </div>
744
751
  </div>
745
752
  <CustomPreset
746
- v-if="isCustomPreset"
753
+ v-if="isCustomPreset && nextNode.nextOperate != 9"
747
754
  ref="customPreset"
748
755
  @changeCustom="
749
756
  (data) => {
@@ -911,6 +918,7 @@
911
918
  />
912
919
  </el-form-item>
913
920
  </el-form>
921
+ <div class="es-info">
914
922
  <ProcessReject
915
923
  v-if="btnType === 'reject'"
916
924
  ref="reject"
@@ -928,7 +936,7 @@
928
936
  @cancel="closeProcess($event, 'showReject')"
929
937
  />
930
938
  <StartTaskRead
931
- v-else-if="btnType === 'toStartTaskRead' || btnType==='toTaskReadAndEnd'"
939
+ v-else-if="btnType === 'toStartTaskRead' || btnType==='toTaskReadAndEnd' || btnType==='toTransfer'"
932
940
  :ref="btnType"
933
941
  :pending-id="pendingId"
934
942
  hideBtn
@@ -936,6 +944,7 @@
936
944
  :opinion="value"
937
945
  :type="taskReadType"
938
946
  :resetAppId="resetAppId"
947
+ :businessName="businessName"
939
948
  :showTooltip="showTooltip"
940
949
  :flowLabelConfig="flowLabelConfig"
941
950
  :hideMessage="hideMessage"
@@ -946,6 +955,7 @@
946
955
  :news-info="nextNode.notificationMsg"
947
956
  @cancel="closeProcess($event, 'showTaskRead')"
948
957
  />
958
+
949
959
  <TaskUnionExamine
950
960
  v-else-if="
951
961
  btnType === 'toTakeAdvice' ||
@@ -966,6 +976,7 @@
966
976
  :multiple="flowMultiple"
967
977
  :disabled="flowDisabled"
968
978
  />
979
+ </div>
969
980
  <div
970
981
  class="es-flow-buttons"
971
982
  v-if="newTypeCode != 'fenyue' && !shrink"
@@ -1229,6 +1240,7 @@
1229
1240
  :opinion="value"
1230
1241
  :type="taskReadType"
1231
1242
  :showTooltip="showTooltip"
1243
+ :businessName="businessName"
1232
1244
  :flowLabelConfig="flowLabelConfig"
1233
1245
  :hideMessage="hideMessage"
1234
1246
  :selectorConfig="selectorConfig"
@@ -1415,6 +1427,7 @@ export default {
1415
1427
  nodeName: { type: String, default: '' },
1416
1428
  typeCode: { type: String, default: '' },
1417
1429
  selectorConfig: { type: [Object, undefined], default: undefined },
1430
+ businessName: { type: String, default: '' },
1418
1431
  flowTypeCode: { type: String, default: '' },
1419
1432
  defaultProcessKey: { type: String, default: '' },
1420
1433
  hideBtn: { type: Boolean, default: false },
@@ -2185,7 +2198,7 @@ export default {
2185
2198
  setShrink() {
2186
2199
  this.shrink = !this.shrink;
2187
2200
  this.styles = this.shrink
2188
- ? { width: 0 }
2201
+ ? { width: '80px' }
2189
2202
  : { width: this.width ? parseInt(this.width, 10) + 'px' : '' };
2190
2203
  this.$emit('shrink', this.shrink);
2191
2204
  },
@@ -2389,6 +2402,7 @@ export default {
2389
2402
  saveInfo(type, btn) {
2390
2403
  if (this.isFlow) {
2391
2404
  if (!type) {
2405
+ console.log(btn)
2392
2406
  if (btn && btn.before) {
2393
2407
  btn
2394
2408
  .before(
@@ -2402,7 +2416,7 @@ export default {
2402
2416
  this.beforeSubmit(
2403
2417
  btn && Object.prototype.hasOwnProperty.call(btn, 'code')
2404
2418
  ? btn.code
2405
- : 1
2419
+ : 1,btn.event
2406
2420
  )
2407
2421
  .then((next) => {
2408
2422
  this.$emit('save', this.businessIds);
@@ -2496,7 +2510,7 @@ export default {
2496
2510
  taskReadBtn(res) {
2497
2511
  // return this.$message.warning('暂未开放!敬请期待');
2498
2512
 
2499
- this.isLoadRead() && (this.btnType='')
2513
+ this.btnType=''
2500
2514
  setTimeout(() => {
2501
2515
  if (this.beforeSubmit != undefined) {
2502
2516
  this.beforeSubmit()
@@ -2504,14 +2518,22 @@ export default {
2504
2518
  if (this.value === '') this.value = this.nodeDefaultRejectOpinion;
2505
2519
  this.taskReadType = 'create';
2506
2520
  // this.showTaskRead = true;
2507
- this.btnType = this.btnFunValue(res.fun);
2521
+ if(this.typeCode == 'fenyue'){
2522
+ this.showTaskRead = true;
2523
+ }else{
2524
+ this.btnType = this.btnFunValue(res.fun);
2525
+ }
2508
2526
  })
2509
2527
  .catch((e) => {});
2510
2528
  } else {
2511
2529
  if (this.value === '') this.value = this.nodeDefaultRejectOpinion;
2512
2530
  this.taskReadType = 'create';
2513
2531
  // this.showTaskRead = true;
2514
- this.btnType = this.btnFunValue(res.fun);
2532
+ if(this.typeCode == 'fenyue'){
2533
+ this.showTaskRead = true;
2534
+ }else{
2535
+ this.btnType = this.btnFunValue(res.fun);
2536
+ }
2515
2537
  }
2516
2538
  }, 0);
2517
2539
  },
@@ -2870,7 +2892,7 @@ export default {
2870
2892
  **/
2871
2893
  toTaskReadAndEnd(res) {
2872
2894
 
2873
- this.isLoadRead() && (this.btnType='')
2895
+ this.btnType=''
2874
2896
  setTimeout(() => {
2875
2897
  if (this.beforeSubmit != undefined) {
2876
2898
  this.beforeSubmit()
@@ -2957,17 +2979,22 @@ export default {
2957
2979
  * @date 2022年9月29日
2958
2980
  **/
2959
2981
  toTransfer(res) {
2960
- if (this.beforeSubmit != undefined) {
2982
+ this.btnType = ''
2983
+ setTimeout(() => {
2984
+ if (this.beforeSubmit != undefined) {
2961
2985
  this.beforeSubmit(0)
2962
2986
  .then((next) => {
2963
2987
  this.taskReadType = 'transfer';
2964
- this.showTaskRead = true;
2988
+ // this.showTaskRead = true;
2989
+ this.btnType = this.btnFunValue(res.fun);
2965
2990
  })
2966
2991
  .catch((e) => {});
2967
2992
  } else {
2968
2993
  this.taskReadType = 'transfer';
2969
- this.showTaskRead = true;
2994
+ this.btnType = this.btnFunValue(res.fun);
2995
+ // this.showTaskRead = true;
2970
2996
  }
2997
+ }, 0);
2971
2998
  },
2972
2999
  handleChangeTime(val) {
2973
3000
  this.nextNode.customLimitTime = val;
@@ -17,6 +17,7 @@
17
17
  @buttonClick="handleButtonClick"
18
18
  :nodeName="nodeName"
19
19
  :typeCode="typeCode"
20
+ :businessName="businessName"
20
21
  :ownerType="ownerType"
21
22
  :selectorConfig="selectorConfig"
22
23
  :flowTypeCode="flowTypeCode"
@@ -41,6 +42,8 @@
41
42
  :userSelectRange="userSelectRange"
42
43
  :rows="rows"
43
44
  @success="handleNewFlowSuccess"
45
+ @save="handleNewFlowSave"
46
+ @shrink="setShrink"
44
47
  :showOther="showOther"
45
48
  :flowLabelConfig="flowLabelConfig"
46
49
  :isEndMessage="isEndMessage"
@@ -59,7 +62,7 @@
59
62
  size="medium"
60
63
  class="es-icon"
61
64
  :icon="shrink ? 'es-icon-shouqi' : 'es-icon-zhankai'"
62
- @click="setShrink"
65
+ @click="setShrink(!shrink)"
63
66
  ></es-button>
64
67
  </div>
65
68
  <div class="es-opinion" v-show="!shrink">
@@ -229,7 +232,7 @@
229
232
  size="medium"
230
233
  class="es-icon"
231
234
  :icon="shrink ? 'es-icon-shouqi' : 'es-icon-zhankai'"
232
- @click="setShrink"
235
+ @click="setShrink(!shrink)"
233
236
  ></es-button>
234
237
  </div>
235
238
  <!-- 'es-icon-indent' : 'es-icon-increase' -->
@@ -1182,6 +1185,7 @@
1182
1185
  <StartTaskRead
1183
1186
  :pending-id="pendingId"
1184
1187
  :opinion="value"
1188
+ :businessName="businessName"
1185
1189
  :type="taskReadType"
1186
1190
  :showTooltip="showTooltip"
1187
1191
  :flowLabelConfig="flowLabelConfig"
@@ -1414,6 +1418,7 @@ export default {
1414
1418
  type: Object,
1415
1419
  default: () => {}
1416
1420
  },
1421
+ businessName: { type: String, default: '' },
1417
1422
  selectorParams: {
1418
1423
  type: Object,
1419
1424
  default: () => {
@@ -1990,6 +1995,9 @@ export default {
1990
1995
  this.$refs.esContent.scrollTop += this.$refs.messagebox.clientHeight;
1991
1996
  });
1992
1997
  },
1998
+ handleNewFlowSave(businessIds){
1999
+ this.$emit('save', businessIds)
2000
+ },
1993
2001
  handleNewFlowSuccess(type) {
1994
2002
  if(type == 'taskRead'){
1995
2003
  this.$emit('successRead',type);
@@ -2124,10 +2132,10 @@ export default {
2124
2132
  }
2125
2133
  }
2126
2134
  },
2127
- setShrink() {
2128
- this.shrink = !this.shrink;
2135
+ setShrink(val) {
2136
+ this.shrink = val;
2129
2137
  this.styles = this.shrink
2130
- ? { width: 0 }
2138
+ ? { width: '80px' }
2131
2139
  : { width: this.width ? parseInt(this.width, 10) + 'px' : '' };
2132
2140
  this.$emit('shrink', this.shrink);
2133
2141
  },
@@ -382,6 +382,7 @@ export default {
382
382
  return mixArr;
383
383
  },
384
384
  getSelectUser(val) {
385
+ console.log(val,'val')
385
386
  this.newOptions = [];
386
387
  let data = {};
387
388
  if (this.mix) data = this.getMixList();
@@ -205,6 +205,7 @@ export default {
205
205
  type: [Object, undefined],
206
206
  default: undefined
207
207
  },
208
+ businessName: { type: String, default: '' },
208
209
  readParams: {
209
210
  type: [Object, undefined],
210
211
  default: undefined
@@ -640,6 +641,8 @@ export default {
640
641
  }
641
642
  if(this.subParams){
642
643
  params = { ...params, ...this.subParams };
644
+ }else if(this.businessName){
645
+ params.businessName = this.businessName;
643
646
  }
644
647
  delete this.configInfo.taskExamine.taskExamineParam;
645
648
  util
@@ -36,6 +36,9 @@
36
36
  "
37
37
  @btn-click="handleBtnClick"
38
38
  @selection-change="handleSelectionChange"
39
+ @search="handleSplitReadingSearch"
40
+ @page-size-change="handleSplitReadingSizeChange"
41
+ @page-current-change="handleSplitReadingCurrentChange"
39
42
  ></es-data-table>
40
43
  </div>
41
44
  </div>
@@ -280,6 +283,9 @@ export default {
280
283
  currentPage: 1,
281
284
  pageSize: 20,
282
285
  flowListCount: {},
286
+ splitReadingSearchKey: '',
287
+ splitReadingPageNum: 1,
288
+ splitReadingPageSize: 5,
283
289
  currentUserHasPresetInfoAuth: false,
284
290
  pressThead: [
285
291
  {
@@ -364,8 +370,8 @@ export default {
364
370
  },
365
371
  {
366
372
  title: '办理意见',
367
- align: 'center',
368
- showOverflowTooltip: true,
373
+ align: 'left',
374
+ showOverflowTooltip: false,
369
375
  'min-width':200,
370
376
  // sortable: true,
371
377
  field: 'doresult'
@@ -405,8 +411,8 @@ export default {
405
411
  },
406
412
  {
407
413
  title: '办理意见',
408
- align: 'center',
409
- showOverflowTooltip: true,
414
+ align: 'left',
415
+ showOverflowTooltip: false,
410
416
  width: 240,
411
417
  // sortable: true,
412
418
  field: 'doresult'
@@ -539,6 +545,7 @@ export default {
539
545
  showSuggest: 'all', //筛选显示数据
540
546
  presetInfoListHiddenColumns: '', //隐藏表格展示数据
541
547
  canDelete: false, //是否展示操作按钮
548
+ presetCanDelete: false, //预设列表是否展示操作按钮
542
549
  canBatchDelete: false, //是否可以批量删除
543
550
  isSuperRole: false, //是否管理员
544
551
  isShowReset: false, //是否显示重设记录
@@ -719,6 +726,19 @@ export default {
719
726
  type: 'text',
720
727
  contents:
721
728
  (this.taskReadName ? this.taskReadName : '非流程') + '列表'
729
+ },
730
+ {
731
+ type: 'search',
732
+ config: {
733
+ enterSubmit: true
734
+ },
735
+ contents: [
736
+ {
737
+ name: 'splitReadingSearchKey',
738
+ type: 'text',
739
+ placeholder: '分阅办理人名称...'
740
+ }
741
+ ]
722
742
  }
723
743
  ],
724
744
  circular: [
@@ -758,6 +778,22 @@ export default {
758
778
  totalCount: this.total
759
779
  };
760
780
  },
781
+ filteredSplitReadingData() {
782
+ if (!this.splitReadingSearchKey) {
783
+ return this.splitReadingData;
784
+ }
785
+ const key = String(this.splitReadingSearchKey).trim();
786
+ return this.splitReadingData.filter((item) => {
787
+ return item.userName && String(item.userName).includes(key);
788
+ });
789
+ },
790
+ splitReadingPageInfo() {
791
+ return {
792
+ pageNum: this.splitReadingPageNum,
793
+ pageSize: this.splitReadingPageSize,
794
+ totalCount: this.filteredSplitReadingData.length
795
+ };
796
+ },
761
797
  theads() {
762
798
  const _that = this;
763
799
  let newThead = {
@@ -835,9 +871,9 @@ export default {
835
871
  {
836
872
  label: '办理意见',
837
873
  field: 'doresult',
838
- align: 'center',
874
+ align: 'left',
839
875
  width: this.theadWidth.doresult,
840
- showOverflowTooltip: true,
876
+ showOverflowTooltip: false,
841
877
  'min-width':200,
842
878
  key: 'blyj',
843
879
  render: (h, params) => {
@@ -1014,11 +1050,11 @@ export default {
1014
1050
  {
1015
1051
  label: '办理意见',
1016
1052
  field: 'doresult',
1017
- align: 'center',
1053
+ align: 'left',
1018
1054
  'min-width':200,
1019
1055
  key: 'blyj',
1020
1056
  width: this.theadWidth.doresult,
1021
- showOverflowTooltip: true,
1057
+ showOverflowTooltip: false,
1022
1058
  render: (h, params) => {
1023
1059
  if (
1024
1060
  params.row.doresult &&
@@ -1457,13 +1493,18 @@ export default {
1457
1493
  }
1458
1494
  });
1459
1495
  }
1460
- return {
1496
+ const baseConfig = {
1461
1497
  type: item,
1462
1498
  checkbox: newContents.indexOf('untreatedRead') != -1,
1463
1499
  toolbar: this.toolbars[item],
1464
1500
  thead: data.length > 0 ? data : this.theads[item],
1465
1501
  showFormBtn: false
1466
1502
  };
1503
+ if (item === 'splitReading') {
1504
+ baseConfig.showFormBtn = true;
1505
+ baseConfig.page = this.splitReadingPageInfo;
1506
+ }
1507
+ return baseConfig;
1467
1508
  } else {
1468
1509
  if (!Object.prototype.hasOwnProperty.call(item, 'toolbar')) {
1469
1510
  let toolbars = this.toolbars[item.type];
@@ -1590,7 +1631,7 @@ export default {
1590
1631
  (items) => this.presetInfoListHiddenColumns.indexOf(items.key) == -1
1591
1632
  );
1592
1633
  }
1593
- if (!this.canDelete) table.splice(table.length - 1, 1);
1634
+ if (!this.presetCanDelete) table.splice(table.length - 1, 1);
1594
1635
  return table;
1595
1636
  }
1596
1637
  },
@@ -1610,7 +1651,20 @@ export default {
1610
1651
  },
1611
1652
 
1612
1653
  methods: {
1613
- /**
1654
+ handleSplitReadingSearch(data) {
1655
+ if (data && data.splitReadingSearchKey !== undefined) {
1656
+ this.splitReadingSearchKey = data.splitReadingSearchKey;
1657
+ this.splitReadingPageNum = 1;
1658
+ }
1659
+ },
1660
+ handleSplitReadingSizeChange(size) {
1661
+ this.splitReadingPageSize = size;
1662
+ this.splitReadingPageNum = 1;
1663
+ },
1664
+ handleSplitReadingCurrentChange(page) {
1665
+ this.splitReadingPageNum = page;
1666
+ },
1667
+ /**
1614
1668
  * handleBatchDelete
1615
1669
  * @desc:批量删除
1616
1670
  * @author liufan
@@ -1794,10 +1848,15 @@ export default {
1794
1848
  this.flowListCount.sign = this.signData.length;
1795
1849
  this.flowListCount.signData = this.signData;
1796
1850
  return this.signData;
1797
- case 'splitReading':
1798
- this.flowListCount.splitReading = this.splitReadingData.length;
1799
- this.flowListCount.splitReadingData = this.splitReadingData;
1800
- return this.splitReadingData;
1851
+ case 'splitReading': {
1852
+ const splitData = this.filteredSplitReadingData;
1853
+ this.flowListCount.splitReading = splitData.length;
1854
+ this.flowListCount.splitReadingData = splitData;
1855
+ const start =
1856
+ (this.splitReadingPageNum - 1) * this.splitReadingPageSize;
1857
+ const end = start + this.splitReadingPageSize;
1858
+ return splitData.slice(start, end);
1859
+ }
1801
1860
  case 'circular':
1802
1861
  this.flowListCount.circular = this.circularData.length;
1803
1862
  this.flowListCount.circularData = this.circularData;
@@ -2327,7 +2386,7 @@ export default {
2327
2386
  }
2328
2387
  this.presetInfoListHiddenColumns = presetInfoListHiddenColumns;
2329
2388
  this.currentUserHasPresetInfoAuth = currentUserHasPresetInfoAuth;
2330
- this.canDelete = canDelete;
2389
+ this.presetCanDelete = canDelete;
2331
2390
  } else {
2332
2391
  this.$message.error(message || '系统错误,请联系管理员!');
2333
2392
  }