eoss-ui 0.7.20 → 0.7.22

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 (223) hide show
  1. package/lib/button-group.js +210 -119
  2. package/lib/button.js +210 -119
  3. package/lib/calogin.js +443 -352
  4. package/lib/checkbox-group.js +210 -119
  5. package/lib/data-table-form.js +210 -119
  6. package/lib/data-table.js +210 -119
  7. package/lib/date-picker.js +210 -119
  8. package/lib/dialog.js +210 -119
  9. package/lib/eoss-ui.common.js +907 -537
  10. package/lib/flow-group.js +210 -119
  11. package/lib/flow-list.js +210 -119
  12. package/lib/flow.js +625 -255
  13. package/lib/form.js +210 -119
  14. package/lib/handle-user.js +210 -119
  15. package/lib/handler.js +212 -122
  16. package/lib/icon.js +210 -119
  17. package/lib/index.js +1 -1
  18. package/lib/input-number.js +210 -119
  19. package/lib/input.js +210 -119
  20. package/lib/login.js +214 -122
  21. package/lib/main.js +224 -133
  22. package/lib/nav.js +210 -119
  23. package/lib/page.js +210 -119
  24. package/lib/pagination.js +210 -119
  25. package/lib/player.js +210 -119
  26. package/lib/qr-code.js +223 -132
  27. package/lib/radio-group.js +210 -119
  28. package/lib/retrial-auth.js +210 -119
  29. package/lib/select-ganged.js +210 -119
  30. package/lib/select.js +210 -119
  31. package/lib/selector-panel.js +210 -119
  32. package/lib/selector.js +210 -119
  33. package/lib/sizer.js +210 -119
  34. package/lib/steps.js +210 -119
  35. package/lib/switch.js +210 -119
  36. package/lib/table-form.js +210 -119
  37. package/lib/tabs.js +210 -119
  38. package/lib/theme-chalk/flow.css +1 -1
  39. package/lib/theme-chalk/index.css +1 -1
  40. package/lib/tips.js +210 -119
  41. package/lib/tree-group.js +210 -119
  42. package/lib/tree.js +210 -119
  43. package/lib/upload.js +210 -119
  44. package/lib/utils/util.js +210 -119
  45. package/lib/wujie.js +210 -119
  46. package/lib/wxlogin.js +210 -119
  47. package/package.json +2 -2
  48. package/packages/button/index.js +5 -5
  49. package/packages/button/src/main.vue +418 -418
  50. package/packages/button-group/index.js +5 -5
  51. package/packages/calendar/index.js +5 -5
  52. package/packages/calogin/index.js +5 -5
  53. package/packages/calogin/src/plugin.js +915 -915
  54. package/packages/card/index.js +5 -5
  55. package/packages/card/src/main.vue +156 -156
  56. package/packages/cascader/index.js +5 -5
  57. package/packages/cascader/src/main.vue +168 -168
  58. package/packages/checkbox-group/index.js +5 -5
  59. package/packages/checkbox-group/src/main.vue +333 -333
  60. package/packages/clients/index.js +5 -5
  61. package/packages/clients/src/main.vue +151 -151
  62. package/packages/data-table/index.js +5 -5
  63. package/packages/data-table/src/children.vue +39 -39
  64. package/packages/data-table/src/sizer.vue +195 -195
  65. package/packages/data-table-form/index.js +5 -5
  66. package/packages/data-table-form/src/checkbox.vue +101 -101
  67. package/packages/data-table-form/src/colgroup.vue +17 -17
  68. package/packages/data-table-form/src/main.vue +181 -181
  69. package/packages/data-table-form/src/radio.vue +65 -65
  70. package/packages/data-table-form/src/table.vue +233 -233
  71. package/packages/data-table-form/src/tbody.vue +336 -336
  72. package/packages/data-table-form/src/thead.vue +68 -68
  73. package/packages/date-picker/index.js +5 -5
  74. package/packages/date-picker/src/main.vue +236 -236
  75. package/packages/dialog/index.js +5 -5
  76. package/packages/enable-drag/index.js +5 -5
  77. package/packages/enterprise/index.js +5 -5
  78. package/packages/enterprise/src/main.vue +66 -66
  79. package/packages/error-page/index.js +5 -5
  80. package/packages/error-page/src/main.vue +44 -44
  81. package/packages/flow/index.js +5 -5
  82. package/packages/flow/src/component/CustomPreset.vue +322 -322
  83. package/packages/flow/src/component/Preset.vue +255 -255
  84. package/packages/flow/src/component/TimeLimit.vue +190 -190
  85. package/packages/flow/src/component/taskUnionExamine.vue +95 -7
  86. package/packages/flow/src/form.vue +121 -121
  87. package/packages/flow/src/main.vue +81 -40
  88. package/packages/flow/src/processForm.vue +106 -27
  89. package/packages/flow/src/table.vue +58 -58
  90. package/packages/flow-group/index.js +5 -5
  91. package/packages/flow-list/index.js +5 -5
  92. package/packages/form/index.js +5 -5
  93. package/packages/handle-user/index.js +5 -5
  94. package/packages/handler/index.js +5 -5
  95. package/packages/handler/src/main.vue +0 -1
  96. package/packages/icon/index.js +5 -5
  97. package/packages/icons/index.js +5 -5
  98. package/packages/icons/src/main.vue +81 -81
  99. package/packages/input/index.js +5 -5
  100. package/packages/input/src/main.vue +356 -356
  101. package/packages/input-number/index.js +5 -5
  102. package/packages/input-number/src/main.vue +106 -106
  103. package/packages/label/index.js +5 -5
  104. package/packages/label/src/main.vue +457 -457
  105. package/packages/layout/index.js +5 -5
  106. package/packages/layout/src/item.vue +152 -152
  107. package/packages/layout/src/main.vue +31 -31
  108. package/packages/login/index.js +5 -5
  109. package/packages/login/src/main.vue +2 -1
  110. package/packages/main/index.js +5 -5
  111. package/packages/main/src/default/message.vue +249 -249
  112. package/packages/main/src/default/notice.vue +157 -157
  113. package/packages/main/src/public/online.vue +89 -89
  114. package/packages/main/src/public/settings.vue +221 -221
  115. package/packages/main/src/simplicity/apps.vue +388 -388
  116. package/packages/main/src/simplicity/index.vue +2 -2
  117. package/packages/main/src/simplicity/lists.vue +84 -84
  118. package/packages/main/src/simplicity/menu-list.vue +135 -135
  119. package/packages/main/src/simplicity/message.vue +259 -259
  120. package/packages/main/src/simplicity/notice.vue +190 -190
  121. package/packages/main/src/simplicity/router-page.vue +45 -45
  122. package/packages/main/src/simplicity/sub-menu.vue +264 -264
  123. package/packages/menu/index.js +5 -5
  124. package/packages/menu/src/main.vue +584 -584
  125. package/packages/nav/index.js +5 -5
  126. package/packages/nav/src/main.vue +351 -351
  127. package/packages/notify/index.js +5 -5
  128. package/packages/notify/src/main.vue +538 -538
  129. package/packages/page/index.js +5 -5
  130. package/packages/page/src/main.vue +167 -167
  131. package/packages/pagination/index.js +5 -5
  132. package/packages/pagination/src/main.vue +96 -96
  133. package/packages/player/index.js +5 -5
  134. package/packages/player/src/main.vue +194 -194
  135. package/packages/qr-code/index.js +5 -5
  136. package/packages/qr-code/src/main.vue +170 -170
  137. package/packages/radio-group/index.js +6 -6
  138. package/packages/radio-group/src/main.vue +319 -319
  139. package/packages/retrial-auth/index.js +5 -5
  140. package/packages/retrial-auth/src/main.vue +280 -280
  141. package/packages/select/index.js +5 -5
  142. package/packages/select-ganged/index.js +5 -5
  143. package/packages/select-ganged/src/main.vue +724 -724
  144. package/packages/selector/index.js +5 -5
  145. package/packages/selector-panel/index.js +5 -5
  146. package/packages/selector-panel/src/tree.vue +129 -129
  147. package/packages/sizer/index.js +5 -5
  148. package/packages/sizer/src/main.vue +254 -254
  149. package/packages/steps/index.js +5 -5
  150. package/packages/steps/src/main.vue +181 -181
  151. package/packages/switch/index.js +5 -5
  152. package/packages/table-form/index.js +5 -5
  153. package/packages/tabs/index.js +5 -5
  154. package/packages/tabs/src/main.vue +788 -788
  155. package/packages/tabs-panel/index.js +5 -5
  156. package/packages/tabs-panel/src/main.vue +29 -29
  157. package/packages/theme-chalk/lib/flow.css +1 -1
  158. package/packages/theme-chalk/lib/index.css +1 -1
  159. package/packages/theme-chalk/src/base.scss +261 -261
  160. package/packages/theme-chalk/src/button-group.scss +176 -176
  161. package/packages/theme-chalk/src/button.scss +24 -24
  162. package/packages/theme-chalk/src/calendar.scss +113 -113
  163. package/packages/theme-chalk/src/card.scss +99 -99
  164. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  165. package/packages/theme-chalk/src/clients.scss +87 -87
  166. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  167. package/packages/theme-chalk/src/data-table.scss +293 -293
  168. package/packages/theme-chalk/src/date-picker.scss +7 -7
  169. package/packages/theme-chalk/src/dialog.scss +77 -77
  170. package/packages/theme-chalk/src/enable-drag.scss +181 -181
  171. package/packages/theme-chalk/src/enterprise.scss +5 -5
  172. package/packages/theme-chalk/src/error-page.scss +18 -18
  173. package/packages/theme-chalk/src/flow-group.scss +110 -110
  174. package/packages/theme-chalk/src/flow-list.scss +39 -39
  175. package/packages/theme-chalk/src/flow.scss +4 -1
  176. package/packages/theme-chalk/src/handle-user.scss +40 -40
  177. package/packages/theme-chalk/src/icons.scss +99 -99
  178. package/packages/theme-chalk/src/input.scss +9 -9
  179. package/packages/theme-chalk/src/label.scss +24 -24
  180. package/packages/theme-chalk/src/layout.scss +46 -46
  181. package/packages/theme-chalk/src/main.scss +663 -663
  182. package/packages/theme-chalk/src/menu.scss +222 -222
  183. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  184. package/packages/theme-chalk/src/nav.scss +111 -111
  185. package/packages/theme-chalk/src/page.scss +3 -3
  186. package/packages/theme-chalk/src/pagination.scss +29 -29
  187. package/packages/theme-chalk/src/player.scss +9 -9
  188. package/packages/theme-chalk/src/qr-code.scss +17 -17
  189. package/packages/theme-chalk/src/radio-group.scss +9 -9
  190. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  191. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  192. package/packages/theme-chalk/src/select.scss +8 -8
  193. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  194. package/packages/theme-chalk/src/sizer.scss +36 -36
  195. package/packages/theme-chalk/src/steps.scss +88 -88
  196. package/packages/theme-chalk/src/switch.scss +3 -3
  197. package/packages/theme-chalk/src/table-form.scss +1 -1
  198. package/packages/theme-chalk/src/tabs.scss +87 -87
  199. package/packages/theme-chalk/src/tips.scss +7 -7
  200. package/packages/theme-chalk/src/toolbar.scss +179 -179
  201. package/packages/theme-chalk/src/tree-group.scss +72 -72
  202. package/packages/theme-chalk/src/tree.scss +165 -165
  203. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  204. package/packages/tips/index.js +5 -5
  205. package/packages/tips/src/main.vue +141 -141
  206. package/packages/toolbar/index.js +5 -5
  207. package/packages/toolbar/src/main.vue +430 -430
  208. package/packages/tree/index.js +5 -5
  209. package/packages/tree-group/index.js +5 -5
  210. package/packages/upload/index.js +5 -5
  211. package/packages/upload/src/picture.js +15 -15
  212. package/packages/wujie/index.js +5 -5
  213. package/packages/wujie/src/main.vue +145 -145
  214. package/packages/wxlogin/index.js +5 -5
  215. package/packages/wxlogin/src/main.vue +128 -128
  216. package/src/config/image.js +2 -2
  217. package/src/index.js +1 -1
  218. package/src/utils/bus.js +3 -3
  219. package/src/utils/date-util.js +312 -312
  220. package/src/utils/http.js +50 -50
  221. package/src/utils/store.js +21 -21
  222. package/src/utils/util.js +192 -145
  223. package/src/utils/webSocket.js +107 -107
@@ -1,121 +1,121 @@
1
- <template>
2
- <div class="es-from" v-loading="loading">
3
- <el-form
4
- ref="dynamicValidateForm"
5
- :label-position="labelPosition"
6
- :model="newData"
7
- :label-width="labelWidth"
8
- class="demo-dynamic"
9
- >
10
- <el-form-item
11
- prop="sort"
12
- label="排序号"
13
- :rules="[{ required: true, message: `请输入排序号`, trigger: 'blur' }]"
14
- >
15
- <el-input
16
- v-model="newData.sort"
17
- :placeholder="`请输入入排序号`"
18
- ></el-input>
19
- </el-form-item>
20
- <el-form-item
21
- prop="content"
22
- label="内容"
23
- :rules="[{ required: true, message: `请输入内容`, trigger: 'blur' }]"
24
- >
25
- <el-input
26
- v-model="newData.content"
27
- :placeholder="`请输入内容`"
28
- ></el-input>
29
- </el-form-item>
30
- <!-- <el-form-item> -->
31
- <!-- </el-form-item> -->
32
- </el-form>
33
- <div style="text-align: right">
34
- <el-button
35
- v-show="showSubBtn"
36
- type="primary"
37
- size="small"
38
- @click="submitForm('dynamicValidateForm')"
39
- >
40
- 保存
41
- </el-button>
42
- </div>
43
- </div>
44
- </template>
45
-
46
- <script>
47
- import { addCommonOpion, editCommonOpion } from 'eoss-ui/src/config/api';
48
- import util from 'eoss-ui/src/utils/util';
49
- export default {
50
- name: 'ideas',
51
- componentName: 'ideas',
52
- props: {
53
- data: {
54
- type: Object,
55
- default: () => {}
56
- },
57
- formItemList: {
58
- type: Array,
59
- default: () => []
60
- },
61
- labelWidth: {
62
- type: String,
63
- default: '100px'
64
- },
65
- showSubBtn: {
66
- type: Boolean,
67
- default: true
68
- },
69
- labelPosition: {
70
- type: String,
71
- default: 'left'
72
- }
73
- },
74
- data() {
75
- return {
76
- formList: [],
77
- loading: false,
78
- newData: {},
79
- index: 0
80
- };
81
- },
82
- mounted() {
83
- this.data.id ? this.add(this.data.id) : this.add();
84
- },
85
- methods: {
86
- add(id) {
87
- this.loading = true;
88
- util
89
- .ajax({
90
- url: id ? editCommonOpion : addCommonOpion,
91
- params: { id }
92
- })
93
- .then((res) => {
94
- const { status, message, data } = res;
95
- if (status == 'success') {
96
- this.newData = data.bean;
97
- } else {
98
- this.$message.error(message || '系统错误,请联系管理员!');
99
- }
100
- this.loading = false;
101
- })
102
- .catch((err) => {
103
- this.loading = false;
104
- if (err.message && err.message !== 'canceled') {
105
- this.$message.error(err.message);
106
- }
107
- });
108
- },
109
- submitForm(formName) {
110
- this.$refs[formName].validate((valid) => {
111
- if (valid) {
112
- this.$emit('subMit', { addVisible: false, data: this.newData });
113
- this.$emit('sub-mit', { addVisible: false, data: this.newData });
114
- } else {
115
- return false;
116
- }
117
- });
118
- }
119
- }
120
- };
121
- </script>
1
+ <template>
2
+ <div class="es-from" v-loading="loading">
3
+ <el-form
4
+ ref="dynamicValidateForm"
5
+ :label-position="labelPosition"
6
+ :model="newData"
7
+ :label-width="labelWidth"
8
+ class="demo-dynamic"
9
+ >
10
+ <el-form-item
11
+ prop="sort"
12
+ label="排序号"
13
+ :rules="[{ required: true, message: `请输入排序号`, trigger: 'blur' }]"
14
+ >
15
+ <el-input
16
+ v-model="newData.sort"
17
+ :placeholder="`请输入入排序号`"
18
+ ></el-input>
19
+ </el-form-item>
20
+ <el-form-item
21
+ prop="content"
22
+ label="内容"
23
+ :rules="[{ required: true, message: `请输入内容`, trigger: 'blur' }]"
24
+ >
25
+ <el-input
26
+ v-model="newData.content"
27
+ :placeholder="`请输入内容`"
28
+ ></el-input>
29
+ </el-form-item>
30
+ <!-- <el-form-item> -->
31
+ <!-- </el-form-item> -->
32
+ </el-form>
33
+ <div style="text-align: right">
34
+ <el-button
35
+ v-show="showSubBtn"
36
+ type="primary"
37
+ size="small"
38
+ @click="submitForm('dynamicValidateForm')"
39
+ >
40
+ 保存
41
+ </el-button>
42
+ </div>
43
+ </div>
44
+ </template>
45
+
46
+ <script>
47
+ import { addCommonOpion, editCommonOpion } from 'eoss-ui/src/config/api';
48
+ import util from 'eoss-ui/src/utils/util';
49
+ export default {
50
+ name: 'ideas',
51
+ componentName: 'ideas',
52
+ props: {
53
+ data: {
54
+ type: Object,
55
+ default: () => {}
56
+ },
57
+ formItemList: {
58
+ type: Array,
59
+ default: () => []
60
+ },
61
+ labelWidth: {
62
+ type: String,
63
+ default: '100px'
64
+ },
65
+ showSubBtn: {
66
+ type: Boolean,
67
+ default: true
68
+ },
69
+ labelPosition: {
70
+ type: String,
71
+ default: 'left'
72
+ }
73
+ },
74
+ data() {
75
+ return {
76
+ formList: [],
77
+ loading: false,
78
+ newData: {},
79
+ index: 0
80
+ };
81
+ },
82
+ mounted() {
83
+ this.data.id ? this.add(this.data.id) : this.add();
84
+ },
85
+ methods: {
86
+ add(id) {
87
+ this.loading = true;
88
+ util
89
+ .ajax({
90
+ url: id ? editCommonOpion : addCommonOpion,
91
+ params: { id }
92
+ })
93
+ .then((res) => {
94
+ const { status, message, data } = res;
95
+ if (status == 'success') {
96
+ this.newData = data.bean;
97
+ } else {
98
+ this.$message.error(message || '系统错误,请联系管理员!');
99
+ }
100
+ this.loading = false;
101
+ })
102
+ .catch((err) => {
103
+ this.loading = false;
104
+ if (err.message && err.message !== 'canceled') {
105
+ this.$message.error(err.message);
106
+ }
107
+ });
108
+ },
109
+ submitForm(formName) {
110
+ this.$refs[formName].validate((valid) => {
111
+ if (valid) {
112
+ this.$emit('subMit', { addVisible: false, data: this.newData });
113
+ this.$emit('sub-mit', { addVisible: false, data: this.newData });
114
+ } else {
115
+ return false;
116
+ }
117
+ });
118
+ }
119
+ }
120
+ };
121
+ </script>
@@ -129,7 +129,7 @@
129
129
  :appId="resetAppId"
130
130
  :params="param"
131
131
  :showOther="showOther"
132
- :selectorParams="selectorParams"
132
+ :selectorParams="selectorParams"
133
133
  :formLabelPosition="formLabelPosition"
134
134
  :simpleTips="simpleTips"
135
135
  />
@@ -245,6 +245,7 @@
245
245
  ref="nextNode"
246
246
  :model="isFlow ? nodeInfo : nextNode"
247
247
  class="demo-dynamic"
248
+ :rules="rules"
248
249
  :label-width="
249
250
  startFlowPageEmbeddedIntoStartFlowIndex ? '100px' : '120px'
250
251
  "
@@ -483,40 +484,7 @@
483
484
  :tabs="nextUserTabs"
484
485
  />
485
486
  </el-form-item>
486
- <el-form-item
487
- v-if="enableCustomLimitTimeSetting"
488
- prop="customLimitTime"
489
- label="限时办理"
490
- >
491
- <el-input
492
- v-model="nextNode.customLimitTime"
493
- placeholder="请输入限时办理的天数"
494
- @change="changeCustomLimitTime"
495
- class="input-with-select custom-limit-time"
496
- >
497
- <es-select
498
- v-if="!showCustomLimitTimeText"
499
- v-model="nextNode.customLimitTime"
500
- placeholder="请选择"
501
- slot="prepend"
502
- sysCode="bpm_custom_limit_time"
503
- ></es-select>
504
- <es-button
505
- type="primary"
506
- slot="append"
507
- @click="
508
- () => {
509
- nextNode.customLimitTime = '';
510
- showCustomLimitTimeText = !showCustomLimitTimeText;
511
- }
512
- "
513
- >切换{{
514
- showCustomLimitTimeText ? '选择框' : '文本框'
515
- }}</es-button
516
- >
517
- </el-input>
518
- </el-form-item>
519
-
487
+
520
488
  <el-form-item
521
489
  v-if="isHideCurrentOrg && nextNode.isReturnSubmitter != 1"
522
490
  prop="nextCurrentOrgObj"
@@ -610,6 +578,41 @@
610
578
  :tabs="tabs"
611
579
  />
612
580
  </el-form-item>
581
+ <el-form-item
582
+ v-if="enableCustomLimitTimeSetting"
583
+ prop="customLimitTime"
584
+ label="限时办理"
585
+ style="margin-bottom: 10px"
586
+ >
587
+ <el-input
588
+ v-model="nextNode.customLimitTime"
589
+ placeholder="请输入限时办理的天数"
590
+ @change="changeCustomLimitTime"
591
+ class="input-with-select custom-limit-time"
592
+ >
593
+ <es-select
594
+ v-if="!showCustomLimitTimeText"
595
+ v-model="nextNode.customLimitTime"
596
+ placeholder="请选择"
597
+ slot="prepend"
598
+ sysCode="bpm_custom_limit_time"
599
+ ></es-select>
600
+ <es-button
601
+ type="primary"
602
+ slot="append"
603
+ @click="
604
+ () => {
605
+ nextNode.customLimitTime = '';
606
+ showCustomLimitTimeText = !showCustomLimitTimeText;
607
+ }
608
+ "
609
+ >切换{{
610
+ showCustomLimitTimeText ? '选择框' : '文本框'
611
+ }}</es-button
612
+ >
613
+ </el-input>
614
+ </el-form-item>
615
+
613
616
  <el-form-item
614
617
  v-if="isHandleExplain == 1"
615
618
  prop="handleExplain"
@@ -1239,7 +1242,12 @@ export default {
1239
1242
  type: Object,
1240
1243
  default: () => {}
1241
1244
  },
1242
- selectorParams: { type: Object, default: () => {return {}} },
1245
+ selectorParams: {
1246
+ type: Object,
1247
+ default: () => {
1248
+ return {};
1249
+ }
1250
+ },
1243
1251
  width: {
1244
1252
  type: String
1245
1253
  },
@@ -1467,8 +1475,8 @@ export default {
1467
1475
  this.currentOrgSelectorParams.filid = JSON.parse(
1468
1476
  util.getStorage('mainConfig')
1469
1477
  ).userModel.orgId;
1470
- this.foreignOrgSelectorParams.roleid = this.currentOrgSelectorParams.roleid =
1471
- this.selectorParams.roleid;
1478
+ this.foreignOrgSelectorParams.roleid =
1479
+ this.currentOrgSelectorParams.roleid = this.selectorParams.roleid;
1472
1480
  this.nextNode.nextNodeId = this.nextNodeId;
1473
1481
  if (!this.isFlow) {
1474
1482
  this.getInfo();
@@ -1545,6 +1553,18 @@ export default {
1545
1553
  }
1546
1554
  },
1547
1555
  computed: {
1556
+ rules() {
1557
+ return {
1558
+ customLimitTime: [
1559
+ {
1560
+ required:this.enableCustomLimitTimeSetting,
1561
+ message: this.showCustomLimitTimeText?'请输入限时办理天数' : '请选择限时办理天数',
1562
+ trigger: 'blur'
1563
+ },
1564
+ {required:this.enableCustomLimitTimeSetting, validator: this.checkCustomLimitTime, trigger: 'change' }
1565
+ ]
1566
+ };
1567
+ },
1548
1568
  tabs() {
1549
1569
  return {
1550
1570
  employee: {
@@ -1586,6 +1606,25 @@ export default {
1586
1606
  }
1587
1607
  },
1588
1608
  methods: {
1609
+ limitTimevalidate() {
1610
+ let validSate = true;
1611
+ this.$refs.nextNode.validate((valid) => {
1612
+ if (valid) {
1613
+ validSate = true;
1614
+ } else {
1615
+ validSate = false;
1616
+ }
1617
+ });
1618
+ return validSate;
1619
+ },
1620
+ checkCustomLimitTime(rule, value, callback){
1621
+ if (!Number(value) || value.indexOf('.') != -1 || Number(value) < 0) {
1622
+ callback(new Error('请输入正确的天数'))
1623
+ this.nextNode.customLimitTime = '';
1624
+ }else{
1625
+ callback()
1626
+ }
1627
+ },
1589
1628
  getAdminMsgType() {
1590
1629
  let params = {
1591
1630
  url: getUrgencyLevelChangedNotificationType,
@@ -1675,7 +1714,7 @@ export default {
1675
1714
  // });
1676
1715
  // }
1677
1716
  this.optionsKey++;
1678
- this.isOpinionRequired = res.data.nodeExtAttr.isOpinionRequired == 1;
1717
+ this.isOpinionRequired = res.data.nodeExtAttr.isOpinionRequired;
1679
1718
  this.showOpinion = false;
1680
1719
  setTimeout(() => {
1681
1720
  this.showOpinion = true;
@@ -2590,6 +2629,9 @@ export default {
2590
2629
  data.nodeExtAttr.currentNodeEnableItemHandleDescription == 1;
2591
2630
  this.enableCustomLimitTimeSetting =
2592
2631
  data.nodeExtAttr.enableCustomLimitTimeSetting == 1;
2632
+ if(this.enableCustomLimitTimeSetting && data.nodeMoreInfo.defaultCustomLimitDays){
2633
+ this.nextNode.customLimitTime = data.nodeMoreInfo.defaultCustomLimitDays + ''
2634
+ }
2593
2635
  data.otherOrgDisabledObjId &&
2594
2636
  (this.otherOrgDisabledObjId =
2595
2637
  data.otherOrgDisabledObjId.split(','));
@@ -3082,7 +3124,6 @@ export default {
3082
3124
  }
3083
3125
  this.isCurrentNodeForbiddenChangeCandidate =
3084
3126
  nodeInfoMap.nodeExtAttr.isCurrentNodeForbiddenChangeCandidate;
3085
- console.log(opinion,'opinionopinionopinion')
3086
3127
  this.value = opinion || '';
3087
3128
  this.nodeDefaultSubmitOpinion =
3088
3129
  nodeInfoMap.nodeExtAttr.nodeDefaultSubmitOpinion;
@@ -11,6 +11,7 @@
11
11
  :model="nextNode"
12
12
  class="demo-dynamic"
13
13
  label-width="100px"
14
+ :rules="rules"
14
15
  :label-position="labelPosition"
15
16
  >
16
17
  <div
@@ -76,7 +77,7 @@
76
77
  prop="nextNode"
77
78
  label="下步节点"
78
79
  :rules="[
79
- { required: true, message: `请选择下步节点`, trigger: 'blur' }
80
+ { required: false, message: `请选择下步节点`, trigger: 'blur' }
80
81
  ]"
81
82
  >
82
83
  <el-select
@@ -209,12 +210,26 @@
209
210
  v-if="enableCustomLimitTimeSetting"
210
211
  prop="customLimitTime"
211
212
  label="限时办理"
213
+ :rules="[
214
+ {
215
+ required: enableCustomLimitTimeSetting,
216
+ message: showCustomLimitTimeText
217
+ ? '请输入限时办理天数'
218
+ : '请选择限时办理天数',
219
+ trigger: 'blur'
220
+ },
221
+ {
222
+ required: enableCustomLimitTimeSetting,
223
+ validator: checkCustomLimitTime,
224
+ trigger: 'blur'
225
+ }
226
+ ]"
212
227
  >
213
228
  <el-input
214
229
  v-model="nextNode.customLimitTime"
215
230
  placeholder="请输入限时办理的天数"
216
- @change="changeCustomLimitTime"
217
231
  class="input-with-select custom-limit-time"
232
+ @change="changeCustomLimitTime"
218
233
  >
219
234
  <es-select
220
235
  v-if="!showCustomLimitTimeText"
@@ -248,7 +263,11 @@
248
263
  v-model="nextNode.handleExplain"
249
264
  />
250
265
  </el-form-item>
251
- <el-form-item prop="noticeType" label="通知方式" v-show="showBtn && nextNode.noticeList.length>0">
266
+ <el-form-item
267
+ prop="noticeType"
268
+ label="通知方式"
269
+ v-show="showBtn && nextNode.noticeList.length > 0"
270
+ >
252
271
  <el-checkbox-group v-model="nextNode.noticeType">
253
272
  <el-checkbox
254
273
  v-for="item of nextNode.noticeList"
@@ -327,7 +346,10 @@
327
346
  </div>
328
347
  </el-form-item>
329
348
  </el-form>
330
- <div v-if="!showBtn && nextNode.noticeList.length>0" style="padding: 5px; background: #fff">
349
+ <div
350
+ v-if="!showBtn && nextNode.noticeList.length > 0"
351
+ style="padding: 5px; background: #fff"
352
+ >
331
353
  <div class="news" @click="showNews = !showNews">
332
354
  <span class="news-item">消息通知</span>
333
355
  <span :class="showNews ? 'show' : 'sj'"></span>
@@ -444,18 +466,18 @@ export default {
444
466
  default: ''
445
467
  },
446
468
  showBtn: { type: Boolean, default: true },
447
- messageType:{
448
- type:Array,
469
+ messageType: {
470
+ type: Array,
449
471
  default: () => []
450
472
  },
451
- urgencyLevel:{
452
- type:[Number,String],
453
- default:''
454
- },
455
- keyCount:{
456
- type:[Number,String],
457
- default:0
473
+ urgencyLevel: {
474
+ type: [Number, String],
475
+ default: ''
458
476
  },
477
+ keyCount: {
478
+ type: [Number, String],
479
+ default: 0
480
+ }
459
481
  },
460
482
  data() {
461
483
  return {
@@ -547,12 +569,12 @@ export default {
547
569
  userInfo: [],
548
570
  handleExplain: '',
549
571
  noticeList: [],
550
- msgTypeCount:0
572
+ msgTypeCount: 0
551
573
  }
552
574
  };
553
575
  },
554
576
  watch: {
555
- messageType:{
577
+ messageType: {
556
578
  handler(val) {
557
579
  if (this.urgencyLevel) {
558
580
  this.nextNode.noticeList = val;
@@ -565,8 +587,8 @@ export default {
565
587
  });
566
588
  });
567
589
  this.nextNode.noticeType = arr;
568
- }else{
569
- this.msgTypeCount++
590
+ } else {
591
+ this.msgTypeCount++;
570
592
  }
571
593
  }
572
594
  },
@@ -596,6 +618,24 @@ export default {
596
618
  }
597
619
  },
598
620
  computed: {
621
+ rules() {
622
+ return {
623
+ customLimitTime: [
624
+ {
625
+ required: this.enableCustomLimitTimeSetting,
626
+ message: this.showCustomLimitTimeText
627
+ ? '请输入限时办理天数'
628
+ : '请选择限时办理天数',
629
+ trigger: 'blur'
630
+ },
631
+ {
632
+ required: this.enableCustomLimitTimeSetting,
633
+ validator: this.checkCustomLimitTime,
634
+ trigger: 'blur'
635
+ }
636
+ ]
637
+ };
638
+ },
599
639
  types() {
600
640
  if (this.isCdjxjTaskHandle == 'true') {
601
641
  return ['employee', 'enterprise', 'department'];
@@ -608,7 +648,7 @@ export default {
608
648
  this.getUserInfo();
609
649
  },
610
650
  mounted() {
611
- if(!this.urgencyLevel){
651
+ if (!this.urgencyLevel) {
612
652
  this.getNodeType();
613
653
  }
614
654
  this.getStartFlow(this.processDefinitionId);
@@ -619,8 +659,27 @@ export default {
619
659
  }
620
660
  },
621
661
  methods: {
662
+ limitTimevalidate() {
663
+ let validSate = true;
664
+ this.$refs.nextNode.validate((valid) => {
665
+ if (valid) {
666
+ validSate = true;
667
+ } else {
668
+ validSate = false;
669
+ }
670
+ });
671
+ return validSate;
672
+ },
673
+ checkCustomLimitTime(rule, value, callback) {
674
+ if (!Number(value) || value.indexOf('.') != -1 || Number(value) < 0) {
675
+ callback(new Error('请输入正确的天数'));
676
+ this.nextNode.customLimitTime = '';
677
+ } else {
678
+ callback();
679
+ }
680
+ },
622
681
  handleChange() {
623
- this.isChangeMessage = true
682
+ this.isChangeMessage = true;
624
683
  },
625
684
  changeCustomLimitTime(val) {
626
685
  if (!Number(val) || val.indexOf('.') != -1 || Number(val) < 0) {
@@ -783,7 +842,10 @@ export default {
783
842
  if (res.status === 'success') {
784
843
  if (!this.showBtn) {
785
844
  this.oldMessage = res.message;
786
- this.nextNode.noticeInfo = res.message.replace('{title}', this.formTitle);
845
+ this.nextNode.noticeInfo = res.message.replace(
846
+ '{title}',
847
+ this.formTitle
848
+ );
787
849
  } else {
788
850
  this.nextNode.noticeInfo = res.message;
789
851
  }
@@ -847,7 +909,6 @@ export default {
847
909
  let params = {
848
910
  processDefinitionId: this.processDefinitionId,
849
911
  nextUserId: this.multiple ? newNextUser.join(',') : nextUser,
850
- customLimitTime,
851
912
  nextNodeId: nextNode,
852
913
  businessId: this.businessId,
853
914
  notificationType: newNoticeType,
@@ -870,6 +931,22 @@ export default {
870
931
  : presetReadUserId.join(','),
871
932
  opinion: this.newOpinion || newOpinion
872
933
  };
934
+ if (this.enableCustomLimitTimeSetting) {
935
+ params.customLimitTime = customLimitTime;
936
+ if (!customLimitTime) {
937
+ this.$message.warning('请选择或输入限时办理的天数');
938
+ this.nextNode.customLimitTime = '';
939
+ return;
940
+ } else if (
941
+ !Number(customLimitTime) ||
942
+ val.indexOf('.') != -1 ||
943
+ Number(customLimitTime) < 0
944
+ ) {
945
+ this.$message.warning('请输入正确的天数');
946
+ this.nextNode.customLimitTime = '';
947
+ return;
948
+ }
949
+ }
873
950
  if (this.activeNames != '1') delete params.customPresetUserJson;
874
951
  if (this.isFreeStartFlow || this.formType === 'readTransfer') {
875
952
  let newParm = {};
@@ -890,7 +967,7 @@ export default {
890
967
  : '';
891
968
  }
892
969
  }
893
-
970
+
894
971
  newParm.submitTaskParamJson = JSON.stringify(this.taskParams);
895
972
  if (this.formType == 'readTransfer') {
896
973
  newParm.readTransferHandleStartFlowParamJson =
@@ -902,17 +979,19 @@ export default {
902
979
  }
903
980
  params = newParm;
904
981
  }
905
- if(this.copyHistory && !this.isFreeStartFlow){
906
- params.pendingId = this.pendingId
907
- delete params.businessId;
908
- }
982
+ if (this.copyHistory && !this.isFreeStartFlow) {
983
+ params.pendingId = this.pendingId;
984
+ delete params.businessId;
985
+ }
909
986
  util
910
987
  .ajax({
911
988
  url: this.isFreeStartFlow
912
989
  ? freeStartFlowWithSubmitTask
913
990
  : this.formType == 'readTransfer'
914
991
  ? startReadTransferHandleFlowWithTaskReadEnd
915
- : this.copyHistory? freeStartFlow : register,
992
+ : this.copyHistory
993
+ ? freeStartFlow
994
+ : register,
916
995
  method: 'post',
917
996
  data: params
918
997
  })