eoss-ui 0.8.13 → 0.8.14

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 (235) hide show
  1. package/lib/calogin.js +233 -233
  2. package/lib/eoss-ui.common.js +927 -920
  3. package/lib/flow-list.js +96 -96
  4. package/lib/flow.js +280 -280
  5. package/lib/index.js +1 -1
  6. package/lib/main.js +304 -297
  7. package/lib/qr-code.js +13 -13
  8. package/package.json +1 -1
  9. package/packages/button/index.js +5 -5
  10. package/packages/button/src/main.vue +418 -418
  11. package/packages/button-group/index.js +5 -5
  12. package/packages/button-group/src/main.vue +346 -346
  13. package/packages/calendar/index.js +5 -5
  14. package/packages/calogin/index.js +5 -5
  15. package/packages/calogin/src/main.vue +412 -412
  16. package/packages/calogin/src/plugin.js +915 -915
  17. package/packages/card/index.js +5 -5
  18. package/packages/card/src/main.vue +156 -156
  19. package/packages/cascader/index.js +5 -5
  20. package/packages/cascader/src/main.vue +168 -168
  21. package/packages/checkbox-group/index.js +5 -5
  22. package/packages/checkbox-group/src/main.vue +333 -333
  23. package/packages/clients/index.js +5 -5
  24. package/packages/clients/src/main.vue +151 -151
  25. package/packages/data-table/index.js +5 -5
  26. package/packages/data-table/src/children.vue +46 -46
  27. package/packages/data-table/src/main.vue +1876 -1876
  28. package/packages/data-table/src/sizer.vue +195 -195
  29. package/packages/data-table-form/index.js +5 -5
  30. package/packages/data-table-form/src/checkbox.vue +101 -101
  31. package/packages/data-table-form/src/colgroup.vue +17 -17
  32. package/packages/data-table-form/src/main.vue +181 -181
  33. package/packages/data-table-form/src/radio.vue +65 -65
  34. package/packages/data-table-form/src/table.vue +233 -233
  35. package/packages/data-table-form/src/tbody.vue +336 -336
  36. package/packages/data-table-form/src/thead.vue +68 -68
  37. package/packages/date-picker/index.js +5 -5
  38. package/packages/date-picker/src/main.vue +236 -236
  39. package/packages/dialog/index.js +5 -5
  40. package/packages/enable-drag/index.js +5 -5
  41. package/packages/enterprise/index.js +5 -5
  42. package/packages/enterprise/src/main.vue +66 -66
  43. package/packages/error-page/index.js +5 -5
  44. package/packages/error-page/src/main.vue +44 -44
  45. package/packages/flow/index.js +5 -5
  46. package/packages/flow/src/component/Circulate.vue +420 -420
  47. package/packages/flow/src/component/CommonOpinions.vue +376 -376
  48. package/packages/flow/src/component/CustomPreset.vue +324 -324
  49. package/packages/flow/src/component/FileList.vue +97 -97
  50. package/packages/flow/src/component/FreeCirculation.vue +245 -245
  51. package/packages/flow/src/component/Preset.vue +257 -257
  52. package/packages/flow/src/component/SendMsg.vue +242 -242
  53. package/packages/flow/src/component/SortFlow.vue +110 -110
  54. package/packages/flow/src/component/TimeLimit.vue +190 -190
  55. package/packages/flow/src/component/taskUnionExamine.vue +763 -763
  56. package/packages/flow/src/form.vue +123 -123
  57. package/packages/flow/src/freeStartFlow.vue +2898 -2898
  58. package/packages/flow/src/main.vue +4224 -4224
  59. package/packages/flow/src/processForm.vue +1717 -1717
  60. package/packages/flow/src/processReject.vue +311 -311
  61. package/packages/flow/src/reset.vue +952 -952
  62. package/packages/flow/src/startTaskRead.vue +698 -698
  63. package/packages/flow/src/supervise.vue +162 -162
  64. package/packages/flow/src/table.vue +58 -58
  65. package/packages/flow-group/index.js +5 -5
  66. package/packages/flow-group/src/main.vue +750 -750
  67. package/packages/flow-list/index.js +5 -5
  68. package/packages/flow-list/src/main.vue +2337 -2337
  69. package/packages/form/index.js +5 -5
  70. package/packages/form/src/table.vue +1512 -1512
  71. package/packages/handle-user/index.js +5 -5
  72. package/packages/handle-user/src/main.vue +137 -137
  73. package/packages/handler/index.js +5 -5
  74. package/packages/handler/src/main.vue +499 -499
  75. package/packages/icon/index.js +5 -5
  76. package/packages/icon/src/main.vue +104 -104
  77. package/packages/icons/index.js +5 -5
  78. package/packages/icons/src/main.vue +81 -81
  79. package/packages/input/index.js +5 -5
  80. package/packages/input/src/main.vue +356 -356
  81. package/packages/input-number/index.js +5 -5
  82. package/packages/input-number/src/main.vue +106 -106
  83. package/packages/label/index.js +5 -5
  84. package/packages/label/src/main.vue +457 -457
  85. package/packages/layout/index.js +5 -5
  86. package/packages/layout/src/item.vue +152 -152
  87. package/packages/layout/src/main.vue +31 -31
  88. package/packages/login/index.js +5 -5
  89. package/packages/login/src/main.vue +2088 -2088
  90. package/packages/login/src/resetPassword.vue +557 -557
  91. package/packages/main/index.js +5 -5
  92. package/packages/main/src/default/index.vue +9 -2
  93. package/packages/main/src/default/message.vue +249 -249
  94. package/packages/main/src/default/notice.vue +157 -157
  95. package/packages/main/src/default/userinfo.vue +513 -513
  96. package/packages/main/src/public/online.vue +89 -89
  97. package/packages/main/src/public/search.vue +464 -464
  98. package/packages/main/src/public/settings.vue +273 -273
  99. package/packages/main/src/simplicity/apps.vue +388 -388
  100. package/packages/main/src/simplicity/avatar.vue +82 -82
  101. package/packages/main/src/simplicity/handler.vue +158 -158
  102. package/packages/main/src/simplicity/index.vue +2335 -2335
  103. package/packages/main/src/simplicity/lists.vue +84 -84
  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/router-page.vue +45 -45
  108. package/packages/main/src/simplicity/sub-menu.vue +276 -276
  109. package/packages/main/src/simplicity/user.vue +259 -259
  110. package/packages/main/src/simplicity/userinfo.vue +408 -408
  111. package/packages/main/src/simplicityTop/apps.vue +388 -388
  112. package/packages/main/src/simplicityTop/avatar.vue +82 -82
  113. package/packages/main/src/simplicityTop/handler.vue +215 -215
  114. package/packages/main/src/simplicityTop/index.vue +2626 -2626
  115. package/packages/main/src/simplicityTop/lists.vue +84 -84
  116. package/packages/main/src/simplicityTop/menu-list.vue +135 -135
  117. package/packages/main/src/simplicityTop/message.vue +293 -293
  118. package/packages/main/src/simplicityTop/notice.vue +222 -222
  119. package/packages/main/src/simplicityTop/router-page.vue +45 -45
  120. package/packages/main/src/simplicityTop/sub-menu.vue +274 -274
  121. package/packages/main/src/simplicityTop/user.vue +259 -259
  122. package/packages/main/src/simplicityTop/userinfo.vue +408 -408
  123. package/packages/menu/index.js +5 -5
  124. package/packages/menu/src/main.vue +595 -595
  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 +299 -299
  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/src/main.vue +761 -761
  146. package/packages/selector-panel/index.js +5 -5
  147. package/packages/selector-panel/src/main.vue +1036 -1036
  148. package/packages/selector-panel/src/selection.vue +174 -174
  149. package/packages/selector-panel/src/tree.vue +129 -129
  150. package/packages/sizer/index.js +5 -5
  151. package/packages/sizer/src/main.vue +254 -254
  152. package/packages/steps/index.js +5 -5
  153. package/packages/steps/src/main.vue +181 -181
  154. package/packages/switch/index.js +5 -5
  155. package/packages/switch/src/main.vue +170 -170
  156. package/packages/table-form/index.js +5 -5
  157. package/packages/tabs/index.js +5 -5
  158. package/packages/tabs/src/main.vue +788 -788
  159. package/packages/tabs-panel/index.js +5 -5
  160. package/packages/tabs-panel/src/main.vue +29 -29
  161. package/packages/theme-chalk/src/base.scss +261 -261
  162. package/packages/theme-chalk/src/button-group.scss +176 -176
  163. package/packages/theme-chalk/src/button.scss +24 -24
  164. package/packages/theme-chalk/src/calendar.scss +113 -113
  165. package/packages/theme-chalk/src/card.scss +99 -99
  166. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  167. package/packages/theme-chalk/src/clients.scss +87 -87
  168. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  169. package/packages/theme-chalk/src/data-table.scss +297 -297
  170. package/packages/theme-chalk/src/date-picker.scss +7 -7
  171. package/packages/theme-chalk/src/dialog.scss +77 -77
  172. package/packages/theme-chalk/src/enable-drag.scss +181 -181
  173. package/packages/theme-chalk/src/enterprise.scss +5 -5
  174. package/packages/theme-chalk/src/error-page.scss +18 -18
  175. package/packages/theme-chalk/src/flow-group.scss +110 -110
  176. package/packages/theme-chalk/src/flow-list.scss +55 -55
  177. package/packages/theme-chalk/src/flow.scss +376 -376
  178. package/packages/theme-chalk/src/form.scss +501 -501
  179. package/packages/theme-chalk/src/handle-user.scss +40 -40
  180. package/packages/theme-chalk/src/handler.scss +148 -148
  181. package/packages/theme-chalk/src/icon.scss +3452 -3452
  182. package/packages/theme-chalk/src/icons.scss +99 -99
  183. package/packages/theme-chalk/src/input.scss +9 -9
  184. package/packages/theme-chalk/src/label.scss +24 -24
  185. package/packages/theme-chalk/src/layout.scss +46 -46
  186. package/packages/theme-chalk/src/login.scss +1006 -1006
  187. package/packages/theme-chalk/src/main.scss +664 -664
  188. package/packages/theme-chalk/src/menu.scss +224 -224
  189. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  190. package/packages/theme-chalk/src/nav.scss +111 -111
  191. package/packages/theme-chalk/src/page.scss +3 -3
  192. package/packages/theme-chalk/src/pagination.scss +29 -29
  193. package/packages/theme-chalk/src/player.scss +9 -9
  194. package/packages/theme-chalk/src/qr-code.scss +17 -17
  195. package/packages/theme-chalk/src/radio-group.scss +9 -9
  196. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  197. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  198. package/packages/theme-chalk/src/select.scss +8 -8
  199. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  200. package/packages/theme-chalk/src/selector.scss +114 -114
  201. package/packages/theme-chalk/src/simplicity-top.scss +1845 -1845
  202. package/packages/theme-chalk/src/simplicity.scss +1403 -1403
  203. package/packages/theme-chalk/src/sizer.scss +36 -36
  204. package/packages/theme-chalk/src/steps.scss +88 -88
  205. package/packages/theme-chalk/src/switch.scss +3 -3
  206. package/packages/theme-chalk/src/table-form.scss +1 -1
  207. package/packages/theme-chalk/src/tabs.scss +87 -87
  208. package/packages/theme-chalk/src/tips.scss +7 -7
  209. package/packages/theme-chalk/src/toolbar.scss +179 -179
  210. package/packages/theme-chalk/src/tree-group.scss +72 -72
  211. package/packages/theme-chalk/src/tree.scss +165 -165
  212. package/packages/theme-chalk/src/upload.scss +172 -172
  213. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  214. package/packages/tips/index.js +5 -5
  215. package/packages/tips/src/main.vue +141 -141
  216. package/packages/toolbar/index.js +5 -5
  217. package/packages/toolbar/src/main.vue +430 -430
  218. package/packages/tree/index.js +5 -5
  219. package/packages/tree-group/index.js +5 -5
  220. package/packages/upload/index.js +5 -5
  221. package/packages/upload/src/main.vue +1344 -1344
  222. package/packages/upload/src/picture.js +15 -15
  223. package/packages/wujie/index.js +5 -5
  224. package/packages/wujie/src/main.vue +146 -146
  225. package/packages/wxlogin/index.js +5 -5
  226. package/packages/wxlogin/src/main.vue +128 -128
  227. package/src/config/api.js +348 -348
  228. package/src/config/image.js +2 -2
  229. package/src/index.js +163 -163
  230. package/src/utils/bus.js +3 -3
  231. package/src/utils/date-util.js +312 -312
  232. package/src/utils/http.js +50 -50
  233. package/src/utils/rules.js +18 -18
  234. package/src/utils/store.js +21 -21
  235. package/src/utils/webSocket.js +107 -107
@@ -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>