eoss-ui 0.8.28 → 0.8.30

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 (184) hide show
  1. package/lib/archives.js +1128 -0
  2. package/lib/button-group.js +158 -129
  3. package/lib/button.js +158 -129
  4. package/lib/calendar.js +2 -2
  5. package/lib/calogin.js +227 -214
  6. package/lib/card.js +2 -2
  7. package/lib/cascader.js +2 -2
  8. package/lib/checkbox-group.js +162 -131
  9. package/lib/clients.js +2 -2
  10. package/lib/config/api.js +28 -1
  11. package/lib/data-table-form.js +161 -131
  12. package/lib/data-table.js +164 -134
  13. package/lib/date-picker.js +158 -129
  14. package/lib/dialog.js +158 -129
  15. package/lib/enable-drag.js +2 -2
  16. package/lib/enterprise.js +2 -2
  17. package/lib/eoss-ui.common.js +774 -326
  18. package/lib/error-page.js +2 -2
  19. package/lib/flow-group.js +158 -129
  20. package/lib/flow-list.js +264 -235
  21. package/lib/flow.js +301 -265
  22. package/lib/form.js +161 -131
  23. package/lib/handle-user.js +159 -130
  24. package/lib/handler.js +166 -137
  25. package/lib/icon.js +166 -137
  26. package/lib/icons.js +4 -4
  27. package/lib/index.js +1 -1
  28. package/lib/input-number.js +158 -129
  29. package/lib/input.js +158 -129
  30. package/lib/label.js +2 -2
  31. package/lib/layout.js +2 -2
  32. package/lib/login.js +165 -135
  33. package/lib/main.js +234 -204
  34. package/lib/menu.js +2 -2
  35. package/lib/nav.js +158 -129
  36. package/lib/notify.js +161 -132
  37. package/lib/page.js +158 -129
  38. package/lib/pagination.js +158 -129
  39. package/lib/player.js +162 -133
  40. package/lib/qr-code.js +160 -131
  41. package/lib/radio-group.js +160 -131
  42. package/lib/retrial-auth.js +168 -139
  43. package/lib/select-ganged.js +167 -138
  44. package/lib/select.js +160 -131
  45. package/lib/selector-panel.js +180 -150
  46. package/lib/selector.js +169 -140
  47. package/lib/sizer.js +160 -131
  48. package/lib/steps.js +158 -129
  49. package/lib/switch.js +165 -136
  50. package/lib/table-form.js +158 -129
  51. package/lib/tabs-panel.js +2 -2
  52. package/lib/tabs.js +158 -129
  53. package/lib/theme-chalk/archives.css +1 -0
  54. package/lib/theme-chalk/base.css +1 -1
  55. package/lib/theme-chalk/calendar.css +1 -1
  56. package/lib/theme-chalk/card.css +1 -1
  57. package/lib/theme-chalk/data-table-form.css +1 -1
  58. package/lib/theme-chalk/form.css +1 -1
  59. package/lib/theme-chalk/handler.css +1 -1
  60. package/lib/theme-chalk/icon.css +1 -1
  61. package/lib/theme-chalk/icons.css +1 -1
  62. package/lib/theme-chalk/index.css +1 -1
  63. package/lib/theme-chalk/label.css +1 -1
  64. package/lib/theme-chalk/login.css +1 -1
  65. package/lib/theme-chalk/main.css +1 -1
  66. package/lib/theme-chalk/menu.css +1 -1
  67. package/lib/theme-chalk/selector-panel.css +1 -1
  68. package/lib/theme-chalk/simplicity-top.css +1 -1
  69. package/lib/theme-chalk/simplicity.css +1 -1
  70. package/lib/theme-chalk/sizer.css +1 -1
  71. package/lib/theme-chalk/steps.css +1 -1
  72. package/lib/theme-chalk/tree.css +1 -1
  73. package/lib/theme-chalk/upload.css +1 -1
  74. package/lib/tips.js +159 -130
  75. package/lib/toolbar.js +2 -2
  76. package/lib/tree-group.js +158 -129
  77. package/lib/tree.js +159 -130
  78. package/lib/upload.js +188 -154
  79. package/lib/wujie.js +165 -136
  80. package/lib/wxlogin.js +165 -136
  81. package/package.json +3 -3
  82. package/packages/archives/index.js +5 -0
  83. package/packages/archives/src/main.vue +344 -0
  84. package/packages/button-group/src/main.vue +346 -346
  85. package/packages/calogin/src/main.vue +412 -412
  86. package/packages/clients/src/main.vue +151 -151
  87. package/packages/flow/src/component/CommonOpinions.vue +376 -376
  88. package/packages/flow/src/component/FileList.vue +97 -97
  89. package/packages/flow/src/component/SendMsg.vue +242 -242
  90. package/packages/flow/src/component/SortFlow.vue +110 -110
  91. package/packages/flow/src/form.vue +123 -123
  92. package/packages/flow/src/main.vue +10 -7
  93. package/packages/flow/src/table.vue +58 -58
  94. package/packages/flow-list/src/main.vue +2337 -2337
  95. package/packages/form/src/table.vue +1512 -1512
  96. package/packages/icon/src/main.vue +104 -104
  97. package/packages/login/src/resetPassword.vue +557 -557
  98. package/packages/main/src/public/online.vue +89 -89
  99. package/packages/main/src/public/search.vue +464 -464
  100. package/packages/main/src/public/settings.vue +273 -273
  101. package/packages/main/src/simplicity/apps.vue +388 -388
  102. package/packages/main/src/simplicity/avatar.vue +82 -82
  103. package/packages/main/src/simplicity/handler.vue +158 -158
  104. package/packages/main/src/simplicity/menu-list.vue +135 -135
  105. package/packages/main/src/simplicity/message.vue +293 -293
  106. package/packages/main/src/simplicity/notice.vue +222 -222
  107. package/packages/main/src/simplicity/sub-menu.vue +276 -276
  108. package/packages/main/src/simplicity/user.vue +259 -259
  109. package/packages/main/src/simplicityTop/apps.vue +388 -388
  110. package/packages/main/src/simplicityTop/avatar.vue +82 -82
  111. package/packages/main/src/simplicityTop/handler.vue +215 -215
  112. package/packages/main/src/simplicityTop/lists.vue +84 -84
  113. package/packages/main/src/simplicityTop/menu-list.vue +135 -135
  114. package/packages/main/src/simplicityTop/message.vue +293 -293
  115. package/packages/main/src/simplicityTop/notice.vue +222 -222
  116. package/packages/main/src/simplicityTop/router-page.vue +45 -45
  117. package/packages/main/src/simplicityTop/sub-menu.vue +274 -274
  118. package/packages/main/src/simplicityTop/user.vue +259 -259
  119. package/packages/nav/src/main.vue +351 -351
  120. package/packages/selector/src/main.vue +761 -761
  121. package/packages/selector-panel/src/main.vue +1036 -1036
  122. package/packages/selector-panel/src/selection.vue +174 -174
  123. package/packages/switch/src/main.vue +170 -170
  124. package/packages/theme-chalk/lib/archives.css +1 -0
  125. package/packages/theme-chalk/lib/base.css +1 -1
  126. package/packages/theme-chalk/lib/calendar.css +1 -1
  127. package/packages/theme-chalk/lib/card.css +1 -1
  128. package/packages/theme-chalk/lib/data-table-form.css +1 -1
  129. package/packages/theme-chalk/lib/form.css +1 -1
  130. package/packages/theme-chalk/lib/handler.css +1 -1
  131. package/packages/theme-chalk/lib/icon.css +1 -1
  132. package/packages/theme-chalk/lib/icons.css +1 -1
  133. package/packages/theme-chalk/lib/index.css +1 -1
  134. package/packages/theme-chalk/lib/label.css +1 -1
  135. package/packages/theme-chalk/lib/login.css +1 -1
  136. package/packages/theme-chalk/lib/main.css +1 -1
  137. package/packages/theme-chalk/lib/menu.css +1 -1
  138. package/packages/theme-chalk/lib/selector-panel.css +1 -1
  139. package/packages/theme-chalk/lib/simplicity-top.css +1 -1
  140. package/packages/theme-chalk/lib/simplicity.css +1 -1
  141. package/packages/theme-chalk/lib/sizer.css +1 -1
  142. package/packages/theme-chalk/lib/steps.css +1 -1
  143. package/packages/theme-chalk/lib/tree.css +1 -1
  144. package/packages/theme-chalk/lib/upload.css +1 -1
  145. package/packages/theme-chalk/src/archives.scss +33 -0
  146. package/packages/theme-chalk/src/data-table.scss +297 -297
  147. package/packages/theme-chalk/src/flow-list.scss +55 -55
  148. package/packages/theme-chalk/src/handler.scss +148 -148
  149. package/packages/theme-chalk/src/icon.scss +3452 -3452
  150. package/packages/theme-chalk/src/index.scss +1 -0
  151. package/packages/theme-chalk/src/login.scss +1006 -1006
  152. package/packages/theme-chalk/src/main.scss +664 -664
  153. package/packages/theme-chalk/src/menu.scss +224 -224
  154. package/packages/theme-chalk/src/selector.scss +114 -114
  155. package/packages/theme-chalk/src/simplicity-top.scss +1845 -1845
  156. package/packages/theme-chalk/src/simplicity.scss +1403 -1403
  157. package/packages/theme-chalk/src/upload.scss +172 -172
  158. package/packages/tips/src/main.vue +141 -141
  159. package/packages/upload/src/main.vue +14 -5
  160. package/packages/wujie/src/main.vue +146 -146
  161. package/src/config/api.js +27 -0
  162. package/src/index.js +166 -163
  163. package/src/utils/rules.js +18 -18
  164. package/packages/.DS_Store +0 -0
  165. package/packages/calogin/.DS_Store +0 -0
  166. package/packages/date-picker/.DS_Store +0 -0
  167. package/packages/date-picker/src/.DS_Store +0 -0
  168. package/packages/dialog/.DS_Store +0 -0
  169. package/packages/flow/.DS_Store +0 -0
  170. package/packages/flow/src/.DS_Store +0 -0
  171. package/packages/flow-list/.DS_Store +0 -0
  172. package/packages/form/.DS_Store +0 -0
  173. package/packages/icon/.DS_Store +0 -0
  174. package/packages/login/.DS_Store +0 -0
  175. package/packages/main/.DS_Store +0 -0
  176. package/packages/main/src/.DS_Store +0 -0
  177. package/packages/menu/.DS_Store +0 -0
  178. package/packages/select/.DS_Store +0 -0
  179. package/packages/selector/.DS_Store +0 -0
  180. package/packages/selector-panel/.DS_Store +0 -0
  181. package/packages/theme-chalk/src/.DS_Store +0 -0
  182. package/packages/upload/.DS_Store +0 -0
  183. package/src/.DS_Store +0 -0
  184. package/src/utils/.DS_Store +0 -0
@@ -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>