eoss-ui 0.7.96 → 0.7.98

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