eoss-ui 0.6.77 → 0.6.79

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