eoss-ui 0.6.45 → 0.6.46

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 (73) hide show
  1. package/lib/button-group.js +22 -17
  2. package/lib/button.js +22 -17
  3. package/lib/checkbox-group.js +22 -17
  4. package/lib/config/api.js +4 -1
  5. package/lib/data-table-form.js +22 -17
  6. package/lib/data-table.js +22 -17
  7. package/lib/date-picker.js +22 -17
  8. package/lib/dialog.js +22 -17
  9. package/lib/enable-drag.js +4 -13
  10. package/lib/eoss-ui.common.js +783 -158
  11. package/lib/flow-group.js +22 -17
  12. package/lib/flow-list.js +22 -17
  13. package/lib/flow.js +468 -32
  14. package/lib/form.js +43 -47
  15. package/lib/handle-user.js +22 -17
  16. package/lib/handler.js +46 -25
  17. package/lib/icon.js +22 -17
  18. package/lib/index.js +1 -1
  19. package/lib/input-number.js +22 -17
  20. package/lib/input.js +22 -17
  21. package/lib/login.js +22 -17
  22. package/lib/main.js +228 -53
  23. package/lib/nav.js +22 -17
  24. package/lib/notify.js +22 -17
  25. package/lib/page.js +22 -17
  26. package/lib/pagination.js +22 -17
  27. package/lib/player.js +22 -17
  28. package/lib/qr-code.js +22 -17
  29. package/lib/radio-group.js +22 -17
  30. package/lib/retrial-auth.js +22 -17
  31. package/lib/select-ganged.js +22 -17
  32. package/lib/select.js +22 -17
  33. package/lib/selector-panel.js +22 -17
  34. package/lib/selector.js +22 -17
  35. package/lib/sizer.js +22 -17
  36. package/lib/steps.js +22 -17
  37. package/lib/switch.js +22 -17
  38. package/lib/table-form.js +47 -22
  39. package/lib/tabs.js +22 -17
  40. package/lib/tips.js +22 -17
  41. package/lib/tree-group.js +22 -17
  42. package/lib/tree.js +22 -17
  43. package/lib/upload.js +32 -26
  44. package/lib/wujie.js +22 -17
  45. package/lib/wxlogin.js +22 -17
  46. package/package.json +2 -2
  47. package/packages/enable-drag/src/main.vue +1 -8
  48. package/packages/flow/src/main.vue +20 -8
  49. package/packages/flow/src/supervise.vue +138 -0
  50. package/packages/form/src/main.vue +3 -4
  51. package/packages/form/src/table.vue +6 -0
  52. package/packages/handler/src/main.vue +18 -1
  53. package/packages/main/src/default/index.vue +231 -67
  54. package/packages/main/src/simplicity/index.vue +9 -4
  55. package/packages/upload/src/main.vue +1 -0
  56. package/src/config/api.js +4 -1
  57. package/src/index.js +160 -160
  58. package/packages/.DS_Store +0 -0
  59. package/packages/data-table/.DS_Store +0 -0
  60. package/packages/data-table-form/.DS_Store +0 -0
  61. package/packages/error-page/.DS_Store +0 -0
  62. package/packages/flow/.DS_Store +0 -0
  63. package/packages/form/.DS_Store +0 -0
  64. package/packages/login/.DS_Store +0 -0
  65. package/packages/main/.DS_Store +0 -0
  66. package/packages/main/src/.DS_Store +0 -0
  67. package/packages/selector/.DS_Store +0 -0
  68. package/packages/selector-panel/.DS_Store +0 -0
  69. package/packages/sizer/.DS_Store +0 -0
  70. package/packages/tabs/.DS_Store +0 -0
  71. package/packages/theme-chalk/src/.DS_Store +0 -0
  72. package/packages/upload/.DS_Store +0 -0
  73. package/src/.DS_Store +0 -0
@@ -5,12 +5,13 @@
5
5
  :style="styles"
6
6
  v-if="!shrinkAbled"
7
7
  >
8
+ <Supervise :businessId="businessId" v-if="typeCode == 'supervise'" />
8
9
  <reset
9
10
  style="height: 100%"
10
11
  :type="newTypeCode"
11
12
  :appId="resetAppId"
12
13
  :flowParams="param"
13
- v-if="newTypeCode == 'reset' || newTypeCode == 'continuation'"
14
+ v-else-if="newTypeCode == 'reset' || newTypeCode == 'continuation'"
14
15
  />
15
16
  <div class="es-flow-content" v-else>
16
17
  <div class="es-flow-top">
@@ -52,7 +53,7 @@
52
53
  :nodeFixedOpinionSelectList="nodeFixedOpinionSelectList"
53
54
  />
54
55
  </div>
55
- <!-- <el-form
56
+ <el-form
56
57
  v-show="currentNodeIsCircularReadNode"
57
58
  ref="nextNode"
58
59
  :model="isFlow ? nodeInfo : nextNode"
@@ -84,9 +85,9 @@
84
85
  :disableds="otherOrgDisabledObjId"
85
86
  @change="disposeAppUnit($event, 'nextOtherOrgObjSelect')"
86
87
  :types="['enterprise', 'filgroupobj']"
87
- :params="{ filid: 'all' }"
88
+ :params="{ filid: 'all',roleid:circularReadParamsMap.circularReadOrgRoleCode}"
88
89
  /> </el-form-item
89
- ></el-form> -->
90
+ ></el-form>
90
91
  <div
91
92
  v-show="
92
93
  (!endFlow || nodeInfos.length > 1) &&
@@ -809,6 +810,7 @@ import Reset from './reset.vue';
809
810
  import TaskUnionExamine from './component/taskUnionExamine.vue';
810
811
  import FreeStartFlow from './freeStartFlow.vue';
811
812
  import SelectUser from './selectUser.vue';
813
+ import Supervise from './supervise.vue';
812
814
  import {
813
815
  findSysCodes,
814
816
  getHandleInfoHtml,
@@ -844,7 +846,8 @@ export default {
844
846
  [TaskUnionExamine.name]: TaskUnionExamine,
845
847
  [FreeStartFlow.name]: FreeStartFlow,
846
848
  Preset,
847
- Reset
849
+ Reset,
850
+ Supervise
848
851
  },
849
852
  props: {
850
853
  showShrink: { type: Boolean, default: true },
@@ -899,6 +902,7 @@ export default {
899
902
  currentOrgDisabledObjId: [],
900
903
  nextNodeCheckType: 'select',
901
904
  readOnlyNotificationType: '',
905
+ circularReadParamsMap:{circularReadOrgRoleCode:''},
902
906
  taskParams: {},
903
907
  notificationMessageReadOnly: false,
904
908
  isCanPreAddSign: false,
@@ -1066,6 +1070,7 @@ export default {
1066
1070
  mounted() {
1067
1071
  this.businessIds = this.businessId;
1068
1072
  this.nextNode.nextNodeId = this.nextNodeId;
1073
+ if(this.typeCode == 'supervise') return
1069
1074
  this.getNodeType();
1070
1075
  !this.isFlow &&
1071
1076
  (this.newTypeCode = this.typeCode || this.$route.query.typecode);
@@ -2268,6 +2273,7 @@ export default {
2268
2273
  isCustomPreset,
2269
2274
  presetTaskNodeKeyStr,
2270
2275
  presetTaskNodeMap,
2276
+ circularReadParamsMap,
2271
2277
  isPreset,
2272
2278
  choiceOrgId,
2273
2279
  choiceDeptId,
@@ -2294,6 +2300,7 @@ export default {
2294
2300
  } = res;
2295
2301
  this.$emit('startTaskRead', res);
2296
2302
  this.$emit('start-task-read', res);
2303
+ this.circularReadParamsMap=circularReadParamsMap || {}
2297
2304
  this.currentOrgName = currentOrgName;
2298
2305
  this.currentNodeIsCircularReadNode =
2299
2306
  nodeInfoMap.nodeExtAttr.currentNodeIsCircularReadNode == 1;
@@ -2739,7 +2746,8 @@ export default {
2739
2746
  this.$message.warning(`请选择${this.currentOrgName || '本单位'}`);
2740
2747
  return false;
2741
2748
  }
2742
- if(this.currentNodeIsCircularReadNode && !this.nextNode.nextCurrentOrgObj && !this.nextNode.nextOtherOrgObj){
2749
+
2750
+ if(this.currentNodeIsCircularReadNode && this.nextNode.nextCurrentOrgObj.length == 0 && this.nextNode.nextOtherOrgObj.length == 0){
2743
2751
  this.$message.warning(`请选择处理对象!`);
2744
2752
  return false
2745
2753
  }
@@ -2849,7 +2857,8 @@ export default {
2849
2857
  pOrgId,
2850
2858
  taskExamineInfo,
2851
2859
  currentNodeIsCircularReadNode,
2852
- needRetrialAuth
2860
+ needRetrialAuth,
2861
+ circularReadParamsMap
2853
2862
  } = this;
2854
2863
  params.isEndUserTask = isEndUserTask;
2855
2864
  params.choiceOrgId = choiceOrgId;
@@ -2863,7 +2872,10 @@ export default {
2863
2872
  params.nodeId = taskExamineInfo.nodeId;
2864
2873
  params.needRetrialAuth = needRetrialAuth;
2865
2874
  params.taskHandleSubmitMode = currentNodeIsCircularReadNode ? 'circularReadMode' : undefined;
2866
- // params.orgRoleCode="5f5c8e900dc6433fb5c7b3bcc1a81319"
2875
+ if(currentNodeIsCircularReadNode){
2876
+ params.orgRoleCode=circularReadParamsMap.circularReadOrgRoleCode
2877
+ }
2878
+
2867
2879
  return util
2868
2880
  .ajax({ url: taskHandleHtml, method: 'post', data: params })
2869
2881
  .then((res) => {
@@ -0,0 +1,138 @@
1
+ <template>
2
+ <div class="supervise-flow">
3
+ <el-form
4
+ ref="nextNode"
5
+ :model="nextNode"
6
+ class="demo-dynamic"
7
+ label-width="120px"
8
+ label-position="left"
9
+ >
10
+ <el-form-item prop="pendTitle" label="标题">
11
+ <el-input v-model="nextNode.pendTitle" disabled type="textarea" autosize />
12
+ </el-form-item>
13
+ <el-form-item prop="currentHandleNode" label="当前办理节点">
14
+ <el-input v-model="nextNode.currentHandleNode" disabled />
15
+ </el-form-item>
16
+ <el-form-item prop="pendingUserNames" label="当前办理人">
17
+ <el-input type="textarea" autosize v-model="nextNode.pendingUserNames" disabled />
18
+ </el-form-item>
19
+ <el-form-item prop="noticeType" label="通知方式">
20
+ <el-checkbox-group v-model="nextNode.noticeType">
21
+ <el-checkbox
22
+ v-for="(item,index) of nextNode.notificationType"
23
+ :key="index"
24
+ :label="item.cciValue"
25
+ >
26
+ {{ item.shortName }}
27
+ </el-checkbox>
28
+ </el-checkbox-group>
29
+ </el-form-item>
30
+ <!-- v-show="nextNode.noticeType.length != 0" -->
31
+ <el-form-item
32
+ prop="notifyMessage"
33
+ label="通知消息"
34
+ >
35
+ <es-input
36
+ style="
37
+ border-color: #ccc;
38
+ padding: 5px;
39
+ border-radius: 5px;
40
+ font-size: 13px;
41
+ "
42
+ type="textarea"
43
+ v-model="nextNode.notifyMessage"
44
+ />
45
+ </el-form-item>
46
+ <el-form-item style="margin-bottom: 0px">
47
+ <div style="text-align: right">
48
+ <el-button
49
+ type="primary"
50
+ size="small"
51
+ @click="subProcess()"
52
+ >
53
+ 确认
54
+ </el-button>
55
+ </div>
56
+ </el-form-item>
57
+ </el-form>
58
+ </div>
59
+ </template>
60
+
61
+ <script>
62
+ import { toTaskSupervise, toTaskSuperviseSub } from 'eoss-ui/src/config/api';
63
+ import util from 'eoss-ui/src/utils/util';
64
+ export default {
65
+ props: {
66
+ businessId: {
67
+ type: String,
68
+ default: ''
69
+ }
70
+ },
71
+ data() {
72
+ return {
73
+ nextNode: {
74
+ noticeType:[],
75
+ notificationType:[],
76
+ loading:undefined
77
+ }
78
+ };
79
+ },
80
+ mounted() {
81
+ this.getFlowInfo();
82
+ },
83
+ methods: {
84
+ subProcess(){
85
+ if(this.nextNode.noticeType.length == 0){
86
+ this.$message.warning('请选择通知方式');
87
+ return
88
+ }
89
+ if(!this.nextNode.notifyMessage){
90
+ this.$message.warning('请填写通知消息内容');
91
+ return
92
+ }
93
+ let {noticeType,notifyMessage,pendingUserIds} = this.nextNode
94
+ let params = {
95
+ url:toTaskSuperviseSub,
96
+ params:{
97
+ userId:util.getStorage('userId'),
98
+ urgeUserIds:pendingUserIds,
99
+ notificationType:noticeType.join(','),notificationMessage:notifyMessage,
100
+ businessId:this.businessId
101
+ }
102
+ }
103
+ this.loading = util.loading(this.$loading, '提交中...');
104
+ util.ajax(params).then(res => {
105
+ this.loading.close();
106
+ if(res.rCode == 0 || res.status=='success'){
107
+ this.$message.success('操作成功');
108
+ this.$parent.$emit('success')
109
+ }else{
110
+ this.$message.error(res.message || '系统错误,请联系管理员!');
111
+ }
112
+ })
113
+ },
114
+
115
+ getFlowInfo() {
116
+ this.loading = util.loading(this.$loading, '加载中...');
117
+ util
118
+ .ajax({
119
+ url: toTaskSupervise,
120
+ params: {
121
+ businessId: this.businessId,
122
+ userId: util.getStorage('userId')
123
+ }
124
+ })
125
+ .then((res) => {
126
+ this.loading.close();
127
+ console.log(res);
128
+ if(res.rCode == 0){
129
+ this.nextNode = {...this.nextNode,...res.results};
130
+ this.nextNode.noticeType = res.results.defaultNotificationType.split(',');
131
+ }
132
+ });
133
+ }
134
+ }
135
+ };
136
+ </script>
137
+
138
+ <style></style>
@@ -504,7 +504,6 @@
504
504
  v-model="models[item.name]"
505
505
  btn-size="medium"
506
506
  :readonly="readonly ? readonly : item.readonly"
507
- :fileCount.sync="fileCount"
508
507
  :rules="item.rules"
509
508
  v-on="
510
509
  handleExclAttribute({
@@ -517,6 +516,7 @@
517
516
  handleChange(item, val);
518
517
  }
519
518
  "
519
+ @getFilesAmount="$emit('getFilesAmount', $value)"
520
520
  ></es-upload>
521
521
  <es-selector
522
522
  v-bind="
@@ -1498,7 +1498,6 @@
1498
1498
  "
1499
1499
  :ownId="item.ownId || models.id"
1500
1500
  btn-size="medium"
1501
- v-model="models[item.name]"
1502
1501
  :readonly="readonly ? readonly : item.readonly"
1503
1502
  :rules="item.rules"
1504
1503
  v-on="
@@ -1512,6 +1511,7 @@
1512
1511
  handleChange(item, val);
1513
1512
  }
1514
1513
  "
1514
+ @getFilesAmount="$emit('getFilesAmount', $value)"
1515
1515
  ></es-upload>
1516
1516
  <es-selector
1517
1517
  v-bind="
@@ -2394,8 +2394,7 @@ export default {
2394
2394
  uuid: util.uuid(32),
2395
2395
  dialog: false,
2396
2396
  refresh: true,
2397
- ready: false,
2398
- fileCount: 0
2397
+ ready: false
2399
2398
  };
2400
2399
  },
2401
2400
  computed: {
@@ -24,6 +24,7 @@
24
24
  <td
25
25
  v-if="item.type === 'caption'"
26
26
  :colspan="col * 2"
27
+ :key="index"
27
28
  class="es-table-td-caption"
28
29
  >
29
30
  <div class="es-table-caption">{{ item.text }}</div>
@@ -31,6 +32,7 @@
31
32
  <td
32
33
  v-else-if="item.type === 'table'"
33
34
  :colspan="col * 2"
35
+ :key="index"
34
36
  class="es-table-form-data"
35
37
  >
36
38
  <es-data-table-form
@@ -390,6 +392,7 @@
390
392
  handleChange(item, val);
391
393
  }
392
394
  "
395
+ @getFilesAmount="$emit('getFilesAmount', $value)"
393
396
  ></es-upload>
394
397
  <es-selector
395
398
  v-bind="
@@ -518,6 +521,7 @@
518
521
  <es-button
519
522
  v-if="inline.type == 'button' && !inline.hide"
520
523
  class="es-button-inline"
524
+ :key="k"
521
525
  :disabled="isDisabled || inline.disabled"
522
526
  v-bind="
523
527
  handleExclAttribute({
@@ -1032,6 +1036,7 @@
1032
1036
  <template v-for="(item, index) in table">
1033
1037
  <es-data-table-form
1034
1038
  v-if="item.lazy"
1039
+ :key="index"
1035
1040
  class="es-form-item-table"
1036
1041
  :data="model[item.name]"
1037
1042
  :full="false"
@@ -1058,6 +1063,7 @@
1058
1063
  </es-data-table-form>
1059
1064
  <es-data-table
1060
1065
  v-else
1066
+ :key="index"
1061
1067
  class="es-form-item-table"
1062
1068
  ref="dataTable"
1063
1069
  :data="model[item.name]"
@@ -282,7 +282,8 @@ export default {
282
282
  online: {
283
283
  type: Number,
284
284
  default: 1
285
- }
285
+ },
286
+ singleLogout:Array
286
287
  },
287
288
  watch: {
288
289
  subSystem: {
@@ -399,6 +400,22 @@ export default {
399
400
  type: 'warning'
400
401
  })
401
402
  .then(() => {
403
+ let iframes = document.getElementsByTagName('iframe');
404
+ for (let i = 0; i < iframes.length; i++) {
405
+ let src = iframes[i] ? iframes[i].src : null;
406
+ let origin = util.win.location.origin;
407
+ if (src && util.startWith(src, 'http') && src.indexOf(origin) === -1) {
408
+ iframes[i] && iframes[i].contentWindow.postMessage('logout', '*');
409
+ }
410
+ }
411
+ if (this.singleLogout) {
412
+ for (let i = 0; i < this.singleLogout.length; i++) {
413
+ let iframe = document.createElement('iframe');
414
+ iframe.style.display = 'none';
415
+ iframe.src = this.singleLogout[i];
416
+ document.body.appendChild(iframe);
417
+ }
418
+ }
402
419
  util
403
420
  .ajax({ method: 'post', url: logout })
404
421
  .then((res) => {