eoss-ui 0.7.46 → 0.7.47

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