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