eoss-ui 0.7.17 → 0.7.19

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 (257) hide show
  1. package/lib/calogin.js +233 -233
  2. package/lib/eoss-ui.common.js +1029 -938
  3. package/lib/flow-list.js +81 -81
  4. package/lib/flow.js +391 -331
  5. package/lib/handler.js +58 -50
  6. package/lib/icon.js +7 -4
  7. package/lib/index.js +1 -1
  8. package/lib/main.js +216 -198
  9. package/lib/qr-code.js +13 -13
  10. package/lib/switch.js +9 -7
  11. package/lib/theme-chalk/handler.css +1 -1
  12. package/lib/theme-chalk/index.css +1 -1
  13. package/lib/theme-chalk/main.css +1 -1
  14. package/lib/theme-chalk/simplicity.css +1 -1
  15. package/package.json +160 -160
  16. package/packages/button/index.js +5 -5
  17. package/packages/button/src/main.vue +418 -418
  18. package/packages/button-group/index.js +5 -5
  19. package/packages/button-group/src/main.vue +298 -298
  20. package/packages/calendar/index.js +5 -5
  21. package/packages/calogin/index.js +5 -5
  22. package/packages/calogin/src/main.vue +412 -412
  23. package/packages/calogin/src/plugin.js +915 -915
  24. package/packages/card/index.js +5 -5
  25. package/packages/card/src/main.vue +156 -156
  26. package/packages/cascader/index.js +5 -5
  27. package/packages/cascader/src/main.vue +168 -168
  28. package/packages/checkbox-group/index.js +5 -5
  29. package/packages/checkbox-group/src/main.vue +333 -333
  30. package/packages/clients/index.js +5 -5
  31. package/packages/clients/src/main.vue +151 -151
  32. package/packages/data-table/index.js +5 -5
  33. package/packages/data-table/src/children.vue +39 -39
  34. package/packages/data-table/src/column.vue +988 -988
  35. package/packages/data-table/src/main.vue +1831 -1831
  36. package/packages/data-table/src/sizer.vue +195 -195
  37. package/packages/data-table-form/index.js +5 -5
  38. package/packages/data-table-form/src/checkbox.vue +101 -101
  39. package/packages/data-table-form/src/colgroup.vue +17 -17
  40. package/packages/data-table-form/src/main.vue +181 -181
  41. package/packages/data-table-form/src/radio.vue +65 -65
  42. package/packages/data-table-form/src/table.vue +233 -233
  43. package/packages/data-table-form/src/tbody.vue +336 -336
  44. package/packages/data-table-form/src/thead.vue +68 -68
  45. package/packages/date-picker/index.js +5 -5
  46. package/packages/date-picker/src/main.vue +236 -236
  47. package/packages/dialog/index.js +5 -5
  48. package/packages/enable-drag/index.js +5 -5
  49. package/packages/enterprise/index.js +5 -5
  50. package/packages/enterprise/src/main.vue +66 -66
  51. package/packages/error-page/index.js +5 -5
  52. package/packages/error-page/src/main.vue +44 -44
  53. package/packages/flow/index.js +5 -5
  54. package/packages/flow/src/component/Circulate.vue +413 -410
  55. package/packages/flow/src/component/CommonOpinions.vue +373 -372
  56. package/packages/flow/src/component/CustomPreset.vue +322 -322
  57. package/packages/flow/src/component/FileList.vue +97 -97
  58. package/packages/flow/src/component/FreeCirculation.vue +240 -235
  59. package/packages/flow/src/component/Preset.vue +255 -255
  60. package/packages/flow/src/component/SendMsg.vue +242 -242
  61. package/packages/flow/src/component/TimeLimit.vue +190 -190
  62. package/packages/flow/src/component/taskUnionExamine.vue +649 -643
  63. package/packages/flow/src/form.vue +121 -121
  64. package/packages/flow/src/freeStartFlow.vue +2847 -2845
  65. package/packages/flow/src/main.vue +3802 -3783
  66. package/packages/flow/src/processForm.vue +1287 -1287
  67. package/packages/flow/src/processReject.vue +308 -308
  68. package/packages/flow/src/reset.vue +941 -941
  69. package/packages/flow/src/startTaskRead.vue +691 -691
  70. package/packages/flow/src/supervise.vue +159 -159
  71. package/packages/flow/src/table.vue +58 -58
  72. package/packages/flow-group/index.js +5 -5
  73. package/packages/flow-group/src/main.vue +696 -696
  74. package/packages/flow-list/index.js +5 -5
  75. package/packages/flow-list/src/main.vue +1770 -1770
  76. package/packages/form/index.js +5 -5
  77. package/packages/form/src/main.vue +3901 -3901
  78. package/packages/form/src/table.vue +1512 -1512
  79. package/packages/handle-user/index.js +5 -5
  80. package/packages/handle-user/src/main.vue +137 -137
  81. package/packages/handler/index.js +5 -5
  82. package/packages/handler/src/main.vue +497 -493
  83. package/packages/icon/index.js +5 -5
  84. package/packages/icon/src/main.vue +104 -101
  85. package/packages/icons/index.js +5 -5
  86. package/packages/icons/src/main.vue +81 -81
  87. package/packages/input/index.js +5 -5
  88. package/packages/input/src/main.vue +356 -356
  89. package/packages/input-number/index.js +5 -5
  90. package/packages/input-number/src/main.vue +106 -106
  91. package/packages/label/index.js +5 -5
  92. package/packages/label/src/main.vue +457 -457
  93. package/packages/layout/index.js +5 -5
  94. package/packages/layout/src/item.vue +152 -152
  95. package/packages/layout/src/main.vue +31 -31
  96. package/packages/login/index.js +5 -5
  97. package/packages/login/src/main.vue +1993 -1993
  98. package/packages/login/src/resetPassword.vue +557 -557
  99. package/packages/main/index.js +5 -5
  100. package/packages/main/src/default/index.vue +2 -6
  101. package/packages/main/src/default/message.vue +249 -249
  102. package/packages/main/src/default/notice.vue +157 -157
  103. package/packages/main/src/default/userinfo.vue +502 -502
  104. package/packages/main/src/main.vue +2 -1
  105. package/packages/main/src/public/online.vue +89 -89
  106. package/packages/main/src/public/search.vue +464 -464
  107. package/packages/main/src/public/settings.vue +221 -221
  108. package/packages/main/src/simplicity/apps.vue +388 -388
  109. package/packages/main/src/simplicity/avatar.vue +82 -82
  110. package/packages/main/src/simplicity/handler.vue +263 -259
  111. package/packages/main/src/simplicity/index.vue +2125 -2125
  112. package/packages/main/src/simplicity/lists.vue +84 -84
  113. package/packages/main/src/simplicity/menu-list.vue +135 -135
  114. package/packages/main/src/simplicity/message.vue +259 -259
  115. package/packages/main/src/simplicity/notice.vue +190 -190
  116. package/packages/main/src/simplicity/router-page.vue +45 -45
  117. package/packages/main/src/simplicity/sub-menu.vue +264 -264
  118. package/packages/main/src/simplicity/user.vue +259 -259
  119. package/packages/main/src/simplicity/userinfo.vue +398 -398
  120. package/packages/menu/index.js +5 -5
  121. package/packages/menu/src/main.vue +584 -584
  122. package/packages/nav/index.js +5 -5
  123. package/packages/nav/src/main.vue +351 -351
  124. package/packages/notify/index.js +5 -5
  125. package/packages/notify/src/main.vue +538 -538
  126. package/packages/page/index.js +5 -5
  127. package/packages/page/src/main.vue +167 -167
  128. package/packages/pagination/index.js +5 -5
  129. package/packages/pagination/src/main.vue +96 -96
  130. package/packages/player/index.js +5 -5
  131. package/packages/player/src/main.vue +194 -194
  132. package/packages/qr-code/index.js +5 -5
  133. package/packages/qr-code/src/main.vue +170 -170
  134. package/packages/radio-group/index.js +6 -6
  135. package/packages/radio-group/src/main.vue +319 -319
  136. package/packages/retrial-auth/index.js +5 -5
  137. package/packages/retrial-auth/src/main.vue +280 -280
  138. package/packages/select/index.js +5 -5
  139. package/packages/select/src/main.vue +782 -782
  140. package/packages/select-ganged/index.js +5 -5
  141. package/packages/select-ganged/src/main.vue +724 -724
  142. package/packages/selector/index.js +5 -5
  143. package/packages/selector/src/main.vue +761 -761
  144. package/packages/selector-panel/index.js +5 -5
  145. package/packages/selector-panel/src/main.vue +1027 -1027
  146. package/packages/selector-panel/src/selection.vue +170 -170
  147. package/packages/selector-panel/src/tree.vue +129 -129
  148. package/packages/sizer/index.js +5 -5
  149. package/packages/sizer/src/main.vue +254 -254
  150. package/packages/steps/index.js +5 -5
  151. package/packages/steps/src/main.vue +181 -181
  152. package/packages/switch/index.js +5 -5
  153. package/packages/switch/src/main.vue +170 -154
  154. package/packages/table-form/index.js +5 -5
  155. package/packages/tabs/index.js +5 -5
  156. package/packages/tabs/src/main.vue +788 -788
  157. package/packages/tabs-panel/index.js +5 -5
  158. package/packages/tabs-panel/src/main.vue +29 -29
  159. package/packages/theme-chalk/lib/handler.css +1 -1
  160. package/packages/theme-chalk/lib/index.css +1 -1
  161. package/packages/theme-chalk/lib/main.css +1 -1
  162. package/packages/theme-chalk/lib/simplicity.css +1 -1
  163. package/packages/theme-chalk/src/base.scss +261 -261
  164. package/packages/theme-chalk/src/button-group.scss +176 -176
  165. package/packages/theme-chalk/src/button.scss +24 -24
  166. package/packages/theme-chalk/src/calendar.scss +113 -113
  167. package/packages/theme-chalk/src/card.scss +99 -99
  168. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  169. package/packages/theme-chalk/src/clients.scss +87 -87
  170. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  171. package/packages/theme-chalk/src/data-table.scss +293 -293
  172. package/packages/theme-chalk/src/date-picker.scss +7 -7
  173. package/packages/theme-chalk/src/dialog.scss +77 -77
  174. package/packages/theme-chalk/src/enable-drag.scss +181 -181
  175. package/packages/theme-chalk/src/enterprise.scss +5 -5
  176. package/packages/theme-chalk/src/error-page.scss +18 -18
  177. package/packages/theme-chalk/src/flow-group.scss +110 -110
  178. package/packages/theme-chalk/src/flow-list.scss +39 -39
  179. package/packages/theme-chalk/src/flow.scss +348 -348
  180. package/packages/theme-chalk/src/form.scss +501 -501
  181. package/packages/theme-chalk/src/handle-user.scss +40 -40
  182. package/packages/theme-chalk/src/handler.scss +148 -143
  183. package/packages/theme-chalk/src/icon.scss +1817 -1817
  184. package/packages/theme-chalk/src/icons.scss +99 -99
  185. package/packages/theme-chalk/src/input.scss +9 -9
  186. package/packages/theme-chalk/src/label.scss +24 -24
  187. package/packages/theme-chalk/src/layout.scss +46 -46
  188. package/packages/theme-chalk/src/login.scss +984 -984
  189. package/packages/theme-chalk/src/main.scss +663 -663
  190. package/packages/theme-chalk/src/menu.scss +222 -222
  191. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  192. package/packages/theme-chalk/src/nav.scss +111 -111
  193. package/packages/theme-chalk/src/page.scss +3 -3
  194. package/packages/theme-chalk/src/pagination.scss +29 -29
  195. package/packages/theme-chalk/src/player.scss +9 -9
  196. package/packages/theme-chalk/src/qr-code.scss +17 -17
  197. package/packages/theme-chalk/src/radio-group.scss +9 -9
  198. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  199. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  200. package/packages/theme-chalk/src/select.scss +8 -8
  201. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  202. package/packages/theme-chalk/src/selector.scss +92 -92
  203. package/packages/theme-chalk/src/simplicity.scss +1366 -1361
  204. package/packages/theme-chalk/src/sizer.scss +36 -36
  205. package/packages/theme-chalk/src/steps.scss +88 -88
  206. package/packages/theme-chalk/src/switch.scss +3 -3
  207. package/packages/theme-chalk/src/table-form.scss +1 -1
  208. package/packages/theme-chalk/src/tabs.scss +87 -87
  209. package/packages/theme-chalk/src/tips.scss +7 -7
  210. package/packages/theme-chalk/src/toolbar.scss +179 -179
  211. package/packages/theme-chalk/src/tree-group.scss +72 -72
  212. package/packages/theme-chalk/src/tree.scss +165 -165
  213. package/packages/theme-chalk/src/upload.scss +172 -172
  214. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  215. package/packages/tips/index.js +5 -5
  216. package/packages/tips/src/main.vue +141 -141
  217. package/packages/toolbar/index.js +5 -5
  218. package/packages/toolbar/src/main.vue +430 -430
  219. package/packages/tree/index.js +5 -5
  220. package/packages/tree-group/index.js +5 -5
  221. package/packages/upload/index.js +5 -5
  222. package/packages/upload/src/main.vue +1343 -1343
  223. package/packages/upload/src/picture.js +15 -15
  224. package/packages/wujie/index.js +5 -5
  225. package/packages/wujie/src/main.vue +145 -145
  226. package/packages/wxlogin/index.js +5 -5
  227. package/packages/wxlogin/src/main.vue +128 -128
  228. package/src/config/api.js +315 -315
  229. package/src/config/image.js +2 -2
  230. package/src/index.js +163 -163
  231. package/src/utils/bus.js +3 -3
  232. package/src/utils/date-util.js +312 -312
  233. package/src/utils/http.js +50 -50
  234. package/src/utils/rules.js +18 -18
  235. package/src/utils/store.js +21 -21
  236. package/src/utils/webSocket.js +107 -107
  237. package/packages/.DS_Store +0 -0
  238. package/packages/autocomplete/.DS_Store +0 -0
  239. package/packages/calogin/.DS_Store +0 -0
  240. package/packages/date-picker/.DS_Store +0 -0
  241. package/packages/date-picker/src/.DS_Store +0 -0
  242. package/packages/flow/.DS_Store +0 -0
  243. package/packages/flow/src/.DS_Store +0 -0
  244. package/packages/flow-list/.DS_Store +0 -0
  245. package/packages/form/.DS_Store +0 -0
  246. package/packages/login/.DS_Store +0 -0
  247. package/packages/main/.DS_Store +0 -0
  248. package/packages/main/src/.DS_Store +0 -0
  249. package/packages/menu/.DS_Store +0 -0
  250. package/packages/scrollbar/.DS_Store +0 -0
  251. package/packages/select/.DS_Store +0 -0
  252. package/packages/selector/.DS_Store +0 -0
  253. package/packages/selector-panel/.DS_Store +0 -0
  254. package/packages/theme-chalk/src/.DS_Store +0 -0
  255. package/packages/upload/.DS_Store +0 -0
  256. package/src/.DS_Store +0 -0
  257. package/src/utils/.DS_Store +0 -0
@@ -1,372 +1,373 @@
1
- <template>
2
- <div class="commonOpinion">
3
- <el-form :model="form" :rules="rules" ref="ruleForm" label-width="0">
4
- <el-form-item label="" prop="value">
5
- <el-tooltip
6
- :disabled="tooltipDisabled || !pendingItemHandleDescription"
7
- placement="top"
8
- >
9
- <div slot="content">{{ pendingItemHandleDescription }}</div>
10
- <el-input
11
- v-model="form.value"
12
- :disabled="isBanInputOpinion == '1' || disabled"
13
- type="textarea"
14
- clear="inp"
15
- :placeholder="pendingItemHandleDescription || '请输入意见'"
16
- @change="changeOpinion"
17
- @blur="handleBlur"
18
- @focus="handleFocus"
19
- :rows="rows"
20
- ></el-input>
21
- </el-tooltip>
22
- </el-form-item>
23
- </el-form>
24
- <el-input
25
- v-model="input3"
26
- placeholder="请输入内容"
27
- class="input-with-select"
28
- >
29
- <el-select
30
- v-model="selectValue"
31
- slot="prepend"
32
- :disabled="isBanInputOpinion == '1'"
33
- placeholder="--请选择常用语--"
34
- @change="selectChange"
35
- >
36
- <el-option
37
- v-for="item in optionList"
38
- :key="item.id"
39
- :label="item.content"
40
- :value="item.content"
41
- ></el-option>
42
- </el-select>
43
- <el-button
44
- :disabled="disabled"
45
- slot="append"
46
- icon="el-icon-edit"
47
- @click="dialogVisible = true"
48
- ></el-button>
49
- </el-input>
50
-
51
- <!-- 弹窗内容 -->
52
- <es-dialog
53
- append-to-body
54
- title="常用意见设置"
55
- :close-on-click-modal="false"
56
- :visible.sync="dialogVisible"
57
- >
58
- <div class="commonOpinion-set">
59
- <div style="text-align: right">
60
- <el-button
61
- type="primary"
62
- size="small"
63
- @click="
64
- () => {
65
- addVisible = true;
66
- (FormData.sep = optionList.length + 1),
67
- (FormData.content = ''),
68
- (FormData.id = null);
69
- }
70
- "
71
- >
72
- 新增
73
- </el-button>
74
- </div>
75
- <Table
76
- style="flex: 1; display: flex; flex-direction: column"
77
- v-if="dialogVisible"
78
- :data-list="optionList"
79
- @upDateClick="upDate"
80
- @delClick="del"
81
- />
82
- </div>
83
- </es-dialog>
84
-
85
- <es-dialog
86
- append-to-body
87
- :close-on-click-modal="false"
88
- title="添加常用意见"
89
- :visible.sync="addVisible"
90
- v-if="addVisible"
91
- height="auto"
92
- >
93
- <ideas :data="FormData" @subMit="submit" />
94
- </es-dialog>
95
- </div>
96
- </template>
97
-
98
- <script>
99
- import {
100
- saveCommonOpinion,
101
- updateCommonOpinion,
102
- commonOpion,
103
- findSysParam,
104
- deleteCommonOpion
105
- } from 'eoss-ui/src/config/api';
106
- import Table from '../table.vue';
107
- import ideas from '../form.vue';
108
- import util from 'eoss-ui/src/utils/util';
109
- export default {
110
- name: 'CommonOpinions',
111
- components: {
112
- [ideas.name]: ideas,
113
- [Table.name]: Table
114
- },
115
- data() {
116
- return {
117
- value: '',
118
- tooltipDisabled: false,
119
- form: {
120
- value: ''
121
- },
122
- input3: '',
123
- selectValue: '',
124
- optionList: [],
125
- dialogVisible: false,
126
- addVisible: false,
127
- disabled: false,
128
- FormData: {
129
- id: null
130
- }
131
- };
132
- },
133
- props: {
134
- isBanInputOpinion: {
135
- type: Number,
136
- default: 0
137
- },
138
- opinion: {
139
- type: String,
140
- default: ''
141
- },
142
- pendingItemHandleDescription: {
143
- type: String,
144
- default: ''
145
- },
146
- nodeFixedOpinionSelectList: {
147
- type: Array,
148
- default: () => []
149
- },
150
- rows: {
151
- type: [Number, String],
152
- default: 10
153
- },
154
- required: { type: Boolean, default: false }
155
- },
156
- computed: {
157
- rules() {
158
- return {
159
- value: [
160
- {
161
- required: this.required,
162
- message: '请输入意见',
163
- trigger: 'blur'
164
- }
165
- ]
166
- };
167
- }
168
- },
169
- mounted() {
170
- if (this.nodeFixedOpinionSelectList.length > 0) {
171
- this.optionList = this.nodeFixedOpinionSelectList;
172
- this.disabled = true;
173
- } else {
174
- this.getCommonOpion();
175
- }
176
- },
177
- watch: {
178
- opinion(val) {
179
- this.form.value = val;
180
- this.changeOpinion();
181
- }
182
- },
183
- methods: {
184
- handleBlur() {
185
- this.$emit('blur', this.form.value);
186
- this.tooltipDisabled = false;
187
- },
188
- handleFocus() {
189
- this.$emit('focus', this.form.value);
190
- this.tooltipDisabled = true;
191
- },
192
- validate() {
193
- let validSate = true;
194
- this.$refs.ruleForm.validate((valid) => {
195
- if (valid) {
196
- validSate = true;
197
- } else {
198
- validSate = false;
199
- }
200
- });
201
- return validSate;
202
- },
203
- /**
204
- * changeOpinion
205
- * @desc:监听意见变化
206
- * @author liufan
207
- * @date 2022年10月28日
208
- **/
209
- changeOpinion() {
210
- this.$emit('change', this.form.value);
211
- },
212
- /**
213
- * getCommonOpion
214
- * @desc:获取意见
215
- * @author liufan
216
- * @date 2022年5月25日
217
- **/
218
- getCommonOpion() {
219
- util
220
- .ajax({
221
- url: commonOpion,
222
- params: {
223
- userId: util.getStorage('userId')
224
- },
225
- method: 'post'
226
- })
227
- .then((res) => {
228
- const { status, data, msg } = res;
229
- if (status === 'success') {
230
- this.optionList = data.list;
231
- this.FormData.sep = this.optionList.length + 1;
232
- } else {
233
- this.$message.error(msg || '系统错误,请联系管理员!');
234
- }
235
- })
236
- .catch((err) => {
237
- if (err.message && err.message !== 'canceled') {
238
- this.$message.error(err.message);
239
- }
240
- });
241
- },
242
- /**
243
- * upDate
244
- * @desc:修改常用语
245
- * @author liufan
246
- * @param {Object} val 修改值
247
- * @date 2022年5月25日
248
- **/
249
- upDate(val) {
250
- this.FormData.id = val.id;
251
- this.addVisible = true;
252
- },
253
- /**
254
- * selectChange
255
- * @desc:常用语选择
256
- * @author liufan
257
- * @param {String} val 选中值
258
- * @date 2022年5月25日
259
- **/
260
- selectChange(val) {
261
- const that = this;
262
- util
263
- .ajax({
264
- url: findSysParam,
265
- params: { cpName: 'commonOpinionsSelectType' }
266
- })
267
- .then((res) => {
268
- if (res.status == 'success') {
269
- res.data == 2
270
- ? (that.form.value = that.form.value + val)
271
- : (that.form.value = val);
272
- } else {
273
- that.form.value = val;
274
- }
275
- this.$emit('change', that.form.value);
276
- });
277
- },
278
- /**
279
- * del
280
- * @desc:删除常用语
281
- * @author liufan
282
- * @param {Object} val 删除的数据
283
- * @date 2022年5月25日
284
- **/
285
- del(val) {
286
- this.$confirm('您确定要删除此信息吗?', '提示', {
287
- confirmButtonText: '确定',
288
- cancelButtonText: '取消',
289
- type: 'warning'
290
- })
291
- .then(() => {
292
- this.loading = util.loading(this.$loading, '删除中...');
293
- util
294
- .ajax({
295
- url: deleteCommonOpion,
296
- params: {
297
- id: val.id
298
- }
299
- })
300
- .then((res) => {
301
- const { status, message } = res;
302
- if (status == 'success') {
303
- this.$message({
304
- type: 'success',
305
- message: '删除成功!'
306
- });
307
- this.getCommonOpion();
308
- } else {
309
- this.$message({
310
- type: 'error',
311
- message: message || '系统错误,请联系管理员!'
312
- });
313
- }
314
- this.loading.close();
315
- })
316
- .catch((err) => {
317
- if (err.message && err.message !== 'canceled') {
318
- this.$message.error(err.message);
319
- }
320
- this.loading.close();
321
- });
322
- })
323
- .catch((e) => {});
324
- },
325
- /**
326
- * submit
327
- * @desc:新增/编辑意见保存
328
- * @author liufan
329
- * @param {Object} val 保存数据
330
- * @date 2022年5月25日
331
- **/
332
- submit(val) {
333
- const { addVisible, data } = val;
334
- let info = {};
335
- for (let key in data) {
336
- info[`bean.${key}`] = data[key];
337
- }
338
- this.loading = util.loading(this.$loading, '提交中...');
339
- util
340
- .ajax({
341
- url: data.id ? updateCommonOpinion : saveCommonOpinion,
342
- data: info,
343
- header: { 'Content-Type': 'multipart/form-data' },
344
- method: 'post'
345
- })
346
- .then((res) => {
347
- const { rCode, msg } = res;
348
- this.loading.close();
349
- if (!rCode) {
350
- if (this.FormData.id) {
351
- this.$message.success('修改成功');
352
- } else {
353
- this.$message.success('新增成功');
354
- }
355
- this.getCommonOpion();
356
- } else {
357
- this.$message.error(msg || '系统错误,请联系管理员!');
358
- }
359
- this.addVisible = addVisible;
360
- })
361
- .catch((err) => {
362
- this.loading.close();
363
- if (err.message && err.message !== 'canceled') {
364
- this.$message.error(err.message);
365
- }
366
- });
367
- }
368
- }
369
- };
370
- </script>
371
-
372
- <style></style>
1
+ <template>
2
+ <div class="commonOpinion">
3
+ <el-form :model="form" :rules="rules" ref="ruleForm" label-width="0">
4
+ <el-form-item label="" prop="value">
5
+ <el-tooltip
6
+ :disabled="tooltipDisabled || !pendingItemHandleDescription"
7
+ placement="top"
8
+ >
9
+ <div slot="content">{{ pendingItemHandleDescription }}</div>
10
+ <el-input
11
+ v-model="form.value"
12
+ :disabled="isBanInputOpinion == '1' || disabled"
13
+ type="textarea"
14
+ clear="inp"
15
+ :placeholder="pendingItemHandleDescription || '请输入意见'"
16
+ @change="changeOpinion"
17
+ @blur="handleBlur"
18
+ @focus="handleFocus"
19
+ :rows="rows"
20
+ ></el-input>
21
+ </el-tooltip>
22
+ </el-form-item>
23
+ </el-form>
24
+ <el-input
25
+ v-model="input3"
26
+ placeholder="请输入内容"
27
+ class="input-with-select"
28
+ >
29
+ <el-select
30
+ v-model="selectValue"
31
+ slot="prepend"
32
+ :disabled="isBanInputOpinion == '1'"
33
+ placeholder="--请选择常用语--"
34
+ @change="selectChange"
35
+ >
36
+ <el-option
37
+ v-for="item in optionList"
38
+ :key="item.id"
39
+ :label="item.content"
40
+ :value="item.content"
41
+ ></el-option>
42
+ </el-select>
43
+ <el-button
44
+ :disabled="disabled"
45
+ slot="append"
46
+ icon="el-icon-edit"
47
+ @click="dialogVisible = true"
48
+ ></el-button>
49
+ </el-input>
50
+
51
+ <!-- 弹窗内容 -->
52
+ <es-dialog
53
+ append-to-body
54
+ title="常用意见设置"
55
+ :close-on-click-modal="false"
56
+ :visible.sync="dialogVisible"
57
+ >
58
+ <div class="commonOpinion-set">
59
+ <div style="text-align: right">
60
+ <el-button
61
+ type="primary"
62
+ size="small"
63
+ @click="
64
+ () => {
65
+ addVisible = true;
66
+ (FormData.sep = optionList.length + 1),
67
+ (FormData.content = ''),
68
+ (FormData.id = null);
69
+ }
70
+ "
71
+ >
72
+ 新增
73
+ </el-button>
74
+ </div>
75
+ <Table
76
+ style="flex: 1; display: flex; flex-direction: column"
77
+ v-if="dialogVisible"
78
+ :data-list="optionList"
79
+ @upDateClick="upDate"
80
+ @delClick="del"
81
+ />
82
+ </div>
83
+ </es-dialog>
84
+
85
+ <es-dialog
86
+ append-to-body
87
+ :close-on-click-modal="false"
88
+ title="添加常用意见"
89
+ :visible.sync="addVisible"
90
+ v-if="addVisible"
91
+ height="auto"
92
+ >
93
+ <ideas :data="FormData" @subMit="submit" />
94
+ </es-dialog>
95
+ </div>
96
+ </template>
97
+
98
+ <script>
99
+ import {
100
+ saveCommonOpinion,
101
+ updateCommonOpinion,
102
+ commonOpion,
103
+ findSysParam,
104
+ deleteCommonOpion
105
+ } from 'eoss-ui/src/config/api';
106
+ import Table from '../table.vue';
107
+ import ideas from '../form.vue';
108
+ import util from 'eoss-ui/src/utils/util';
109
+ export default {
110
+ name: 'CommonOpinions',
111
+ components: {
112
+ [ideas.name]: ideas,
113
+ [Table.name]: Table
114
+ },
115
+ data() {
116
+ return {
117
+ value: '',
118
+ tooltipDisabled: false,
119
+ form: {
120
+ value: ''
121
+ },
122
+ input3: '',
123
+ selectValue: '',
124
+ optionList: [],
125
+ dialogVisible: false,
126
+ addVisible: false,
127
+ disabled: false,
128
+ FormData: {
129
+ id: null
130
+ }
131
+ };
132
+ },
133
+ props: {
134
+ isBanInputOpinion: {
135
+ type: Number,
136
+ default: 0
137
+ },
138
+ opinion: {
139
+ type: String,
140
+ default: ''
141
+ },
142
+ pendingItemHandleDescription: {
143
+ type: String,
144
+ default: ''
145
+ },
146
+ nodeFixedOpinionSelectList: {
147
+ type: Array,
148
+ default: () => []
149
+ },
150
+ rows: {
151
+ type: [Number, String],
152
+ default: 10
153
+ },
154
+ required: { type: Boolean, default: false }
155
+ },
156
+ computed: {
157
+ rules() {
158
+ return {
159
+ value: [
160
+ {
161
+ required: this.required,
162
+ message: '请输入意见',
163
+ trigger: 'blur'
164
+ }
165
+ ]
166
+ };
167
+ }
168
+ },
169
+ mounted() {
170
+ this.form.value = this.opinion;
171
+ if (this.nodeFixedOpinionSelectList.length > 0) {
172
+ this.optionList = this.nodeFixedOpinionSelectList;
173
+ this.disabled = true;
174
+ } else {
175
+ this.getCommonOpion();
176
+ }
177
+ },
178
+ watch: {
179
+ opinion(val) {
180
+ this.form.value = val;
181
+ this.changeOpinion();
182
+ }
183
+ },
184
+ methods: {
185
+ handleBlur() {
186
+ this.$emit('blur', this.form.value);
187
+ this.tooltipDisabled = false;
188
+ },
189
+ handleFocus() {
190
+ this.$emit('focus', this.form.value);
191
+ this.tooltipDisabled = true;
192
+ },
193
+ validate() {
194
+ let validSate = true;
195
+ this.$refs.ruleForm.validate((valid) => {
196
+ if (valid) {
197
+ validSate = true;
198
+ } else {
199
+ validSate = false;
200
+ }
201
+ });
202
+ return validSate;
203
+ },
204
+ /**
205
+ * changeOpinion
206
+ * @desc:监听意见变化
207
+ * @author liufan
208
+ * @date 2022年10月28日
209
+ **/
210
+ changeOpinion() {
211
+ this.$emit('change', this.form.value);
212
+ },
213
+ /**
214
+ * getCommonOpion
215
+ * @desc:获取意见
216
+ * @author liufan
217
+ * @date 2022年5月25日
218
+ **/
219
+ getCommonOpion() {
220
+ util
221
+ .ajax({
222
+ url: commonOpion,
223
+ params: {
224
+ userId: util.getStorage('userId')
225
+ },
226
+ method: 'post'
227
+ })
228
+ .then((res) => {
229
+ const { status, data, msg } = res;
230
+ if (status === 'success') {
231
+ this.optionList = data.list;
232
+ this.FormData.sep = this.optionList.length + 1;
233
+ } else {
234
+ this.$message.error(msg || '系统错误,请联系管理员!');
235
+ }
236
+ })
237
+ .catch((err) => {
238
+ if (err.message && err.message !== 'canceled') {
239
+ this.$message.error(err.message);
240
+ }
241
+ });
242
+ },
243
+ /**
244
+ * upDate
245
+ * @desc:修改常用语
246
+ * @author liufan
247
+ * @param {Object} val 修改值
248
+ * @date 2022年5月25日
249
+ **/
250
+ upDate(val) {
251
+ this.FormData.id = val.id;
252
+ this.addVisible = true;
253
+ },
254
+ /**
255
+ * selectChange
256
+ * @desc:常用语选择
257
+ * @author liufan
258
+ * @param {String} val 选中值
259
+ * @date 2022年5月25日
260
+ **/
261
+ selectChange(val) {
262
+ const that = this;
263
+ util
264
+ .ajax({
265
+ url: findSysParam,
266
+ params: { cpName: 'commonOpinionsSelectType' }
267
+ })
268
+ .then((res) => {
269
+ if (res.status == 'success') {
270
+ res.data == 2
271
+ ? (that.form.value = that.form.value + val)
272
+ : (that.form.value = val);
273
+ } else {
274
+ that.form.value = val;
275
+ }
276
+ this.$emit('change', that.form.value);
277
+ });
278
+ },
279
+ /**
280
+ * del
281
+ * @desc:删除常用语
282
+ * @author liufan
283
+ * @param {Object} val 删除的数据
284
+ * @date 2022年5月25日
285
+ **/
286
+ del(val) {
287
+ this.$confirm('您确定要删除此信息吗?', '提示', {
288
+ confirmButtonText: '确定',
289
+ cancelButtonText: '取消',
290
+ type: 'warning'
291
+ })
292
+ .then(() => {
293
+ this.loading = util.loading(this.$loading, '删除中...');
294
+ util
295
+ .ajax({
296
+ url: deleteCommonOpion,
297
+ params: {
298
+ id: val.id
299
+ }
300
+ })
301
+ .then((res) => {
302
+ const { status, message } = res;
303
+ if (status == 'success') {
304
+ this.$message({
305
+ type: 'success',
306
+ message: '删除成功!'
307
+ });
308
+ this.getCommonOpion();
309
+ } else {
310
+ this.$message({
311
+ type: 'error',
312
+ message: message || '系统错误,请联系管理员!'
313
+ });
314
+ }
315
+ this.loading.close();
316
+ })
317
+ .catch((err) => {
318
+ if (err.message && err.message !== 'canceled') {
319
+ this.$message.error(err.message);
320
+ }
321
+ this.loading.close();
322
+ });
323
+ })
324
+ .catch((e) => {});
325
+ },
326
+ /**
327
+ * submit
328
+ * @desc:新增/编辑意见保存
329
+ * @author liufan
330
+ * @param {Object} val 保存数据
331
+ * @date 2022年5月25日
332
+ **/
333
+ submit(val) {
334
+ const { addVisible, data } = val;
335
+ let info = {};
336
+ for (let key in data) {
337
+ info[`bean.${key}`] = data[key];
338
+ }
339
+ this.loading = util.loading(this.$loading, '提交中...');
340
+ util
341
+ .ajax({
342
+ url: data.id ? updateCommonOpinion : saveCommonOpinion,
343
+ data: info,
344
+ header: { 'Content-Type': 'multipart/form-data' },
345
+ method: 'post'
346
+ })
347
+ .then((res) => {
348
+ const { rCode, msg } = res;
349
+ this.loading.close();
350
+ if (!rCode) {
351
+ if (this.FormData.id) {
352
+ this.$message.success('修改成功');
353
+ } else {
354
+ this.$message.success('新增成功');
355
+ }
356
+ this.getCommonOpion();
357
+ } else {
358
+ this.$message.error(msg || '系统错误,请联系管理员!');
359
+ }
360
+ this.addVisible = addVisible;
361
+ })
362
+ .catch((err) => {
363
+ this.loading.close();
364
+ if (err.message && err.message !== 'canceled') {
365
+ this.$message.error(err.message);
366
+ }
367
+ });
368
+ }
369
+ }
370
+ };
371
+ </script>
372
+
373
+ <style></style>