eoss-ui 0.7.56 → 0.7.57

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 (244) hide show
  1. package/lib/calogin.js +233 -233
  2. package/lib/eoss-ui.common.js +757 -756
  3. package/lib/flow-list.js +81 -81
  4. package/lib/flow.js +289 -288
  5. package/lib/index.js +1 -1
  6. package/lib/main.js +140 -140
  7. package/lib/qr-code.js +13 -13
  8. package/package.json +160 -160
  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 +39 -39
  27. package/packages/data-table/src/column.vue +992 -992
  28. package/packages/data-table/src/main.vue +1840 -1840
  29. package/packages/data-table/src/sizer.vue +195 -195
  30. package/packages/data-table-form/index.js +5 -5
  31. package/packages/data-table-form/src/checkbox.vue +101 -101
  32. package/packages/data-table-form/src/colgroup.vue +17 -17
  33. package/packages/data-table-form/src/main.vue +181 -181
  34. package/packages/data-table-form/src/radio.vue +65 -65
  35. package/packages/data-table-form/src/table.vue +233 -233
  36. package/packages/data-table-form/src/tbody.vue +336 -336
  37. package/packages/data-table-form/src/thead.vue +68 -68
  38. package/packages/date-picker/index.js +5 -5
  39. package/packages/date-picker/src/main.vue +236 -236
  40. package/packages/dialog/index.js +5 -5
  41. package/packages/enable-drag/index.js +5 -5
  42. package/packages/enterprise/index.js +5 -5
  43. package/packages/enterprise/src/main.vue +66 -66
  44. package/packages/error-page/index.js +5 -5
  45. package/packages/error-page/src/main.vue +44 -44
  46. package/packages/flow/index.js +5 -5
  47. package/packages/flow/src/component/Circulate.vue +413 -413
  48. package/packages/flow/src/component/CommonOpinions.vue +373 -373
  49. package/packages/flow/src/component/CustomPreset.vue +322 -322
  50. package/packages/flow/src/component/FileList.vue +97 -97
  51. package/packages/flow/src/component/FreeCirculation.vue +241 -241
  52. package/packages/flow/src/component/Preset.vue +255 -255
  53. package/packages/flow/src/component/SendMsg.vue +242 -242
  54. package/packages/flow/src/component/TimeLimit.vue +190 -190
  55. package/packages/flow/src/component/taskUnionExamine.vue +756 -756
  56. package/packages/flow/src/form.vue +121 -121
  57. package/packages/flow/src/freeStartFlow.vue +2846 -2846
  58. package/packages/flow/src/main.vue +3878 -3878
  59. package/packages/flow/src/processForm.vue +1365 -1365
  60. package/packages/flow/src/processReject.vue +309 -309
  61. package/packages/flow/src/reset.vue +942 -942
  62. package/packages/flow/src/startTaskRead.vue +693 -692
  63. package/packages/flow/src/supervise.vue +159 -159
  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 +717 -717
  67. package/packages/flow-list/index.js +5 -5
  68. package/packages/flow-list/src/main.vue +1801 -1801
  69. package/packages/form/index.js +5 -5
  70. package/packages/form/src/main.vue +3901 -3901
  71. package/packages/form/src/table.vue +1512 -1512
  72. package/packages/handle-user/index.js +5 -5
  73. package/packages/handle-user/src/main.vue +137 -137
  74. package/packages/handler/index.js +5 -5
  75. package/packages/handler/src/main.vue +496 -496
  76. package/packages/icon/index.js +5 -5
  77. package/packages/icon/src/main.vue +104 -104
  78. package/packages/icons/index.js +5 -5
  79. package/packages/icons/src/main.vue +81 -81
  80. package/packages/input/index.js +5 -5
  81. package/packages/input/src/main.vue +356 -356
  82. package/packages/input-number/index.js +5 -5
  83. package/packages/input-number/src/main.vue +106 -106
  84. package/packages/label/index.js +5 -5
  85. package/packages/label/src/main.vue +457 -457
  86. package/packages/layout/index.js +5 -5
  87. package/packages/layout/src/item.vue +152 -152
  88. package/packages/layout/src/main.vue +31 -31
  89. package/packages/login/index.js +5 -5
  90. package/packages/login/src/main.vue +2082 -2082
  91. package/packages/login/src/resetPassword.vue +557 -557
  92. package/packages/main/index.js +5 -5
  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 +503 -503
  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 +227 -227
  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 +160 -160
  102. package/packages/main/src/simplicity/index.vue +2307 -2307
  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 +274 -274
  109. package/packages/main/src/simplicity/user.vue +259 -259
  110. package/packages/main/src/simplicity/userinfo.vue +401 -401
  111. package/packages/menu/index.js +5 -5
  112. package/packages/menu/src/main.vue +595 -595
  113. package/packages/nav/index.js +5 -5
  114. package/packages/nav/src/main.vue +351 -351
  115. package/packages/notify/index.js +5 -5
  116. package/packages/notify/src/main.vue +538 -538
  117. package/packages/page/index.js +5 -5
  118. package/packages/page/src/main.vue +167 -167
  119. package/packages/pagination/index.js +5 -5
  120. package/packages/pagination/src/main.vue +96 -96
  121. package/packages/player/index.js +5 -5
  122. package/packages/player/src/main.vue +194 -194
  123. package/packages/qr-code/index.js +5 -5
  124. package/packages/qr-code/src/main.vue +170 -170
  125. package/packages/radio-group/index.js +6 -6
  126. package/packages/radio-group/src/main.vue +319 -319
  127. package/packages/retrial-auth/index.js +5 -5
  128. package/packages/retrial-auth/src/main.vue +280 -280
  129. package/packages/select/index.js +5 -5
  130. package/packages/select/src/main.vue +782 -782
  131. package/packages/select-ganged/index.js +5 -5
  132. package/packages/select-ganged/src/main.vue +724 -724
  133. package/packages/selector/index.js +5 -5
  134. package/packages/selector/src/main.vue +761 -761
  135. package/packages/selector-panel/index.js +5 -5
  136. package/packages/selector-panel/src/main.vue +1027 -1027
  137. package/packages/selector-panel/src/selection.vue +170 -170
  138. package/packages/selector-panel/src/tree.vue +129 -129
  139. package/packages/sizer/index.js +5 -5
  140. package/packages/sizer/src/main.vue +254 -254
  141. package/packages/steps/index.js +5 -5
  142. package/packages/steps/src/main.vue +181 -181
  143. package/packages/switch/index.js +5 -5
  144. package/packages/switch/src/main.vue +170 -170
  145. package/packages/table-form/index.js +5 -5
  146. package/packages/tabs/index.js +5 -5
  147. package/packages/tabs/src/main.vue +788 -788
  148. package/packages/tabs-panel/index.js +5 -5
  149. package/packages/tabs-panel/src/main.vue +29 -29
  150. package/packages/theme-chalk/src/base.scss +261 -261
  151. package/packages/theme-chalk/src/button-group.scss +176 -176
  152. package/packages/theme-chalk/src/button.scss +24 -24
  153. package/packages/theme-chalk/src/calendar.scss +113 -113
  154. package/packages/theme-chalk/src/card.scss +99 -99
  155. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  156. package/packages/theme-chalk/src/clients.scss +87 -87
  157. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  158. package/packages/theme-chalk/src/data-table.scss +297 -297
  159. package/packages/theme-chalk/src/date-picker.scss +7 -7
  160. package/packages/theme-chalk/src/dialog.scss +77 -77
  161. package/packages/theme-chalk/src/enable-drag.scss +181 -181
  162. package/packages/theme-chalk/src/enterprise.scss +5 -5
  163. package/packages/theme-chalk/src/error-page.scss +18 -18
  164. package/packages/theme-chalk/src/flow-group.scss +110 -110
  165. package/packages/theme-chalk/src/flow-list.scss +39 -39
  166. package/packages/theme-chalk/src/flow.scss +351 -351
  167. package/packages/theme-chalk/src/form.scss +501 -501
  168. package/packages/theme-chalk/src/handle-user.scss +40 -40
  169. package/packages/theme-chalk/src/handler.scss +148 -148
  170. package/packages/theme-chalk/src/icon.scss +1608 -1608
  171. package/packages/theme-chalk/src/icons.scss +99 -99
  172. package/packages/theme-chalk/src/input.scss +9 -9
  173. package/packages/theme-chalk/src/label.scss +24 -24
  174. package/packages/theme-chalk/src/layout.scss +46 -46
  175. package/packages/theme-chalk/src/login.scss +1006 -1006
  176. package/packages/theme-chalk/src/main.scss +663 -663
  177. package/packages/theme-chalk/src/menu.scss +224 -224
  178. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  179. package/packages/theme-chalk/src/nav.scss +111 -111
  180. package/packages/theme-chalk/src/page.scss +3 -3
  181. package/packages/theme-chalk/src/pagination.scss +29 -29
  182. package/packages/theme-chalk/src/player.scss +9 -9
  183. package/packages/theme-chalk/src/qr-code.scss +17 -17
  184. package/packages/theme-chalk/src/radio-group.scss +9 -9
  185. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  186. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  187. package/packages/theme-chalk/src/select.scss +8 -8
  188. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  189. package/packages/theme-chalk/src/selector.scss +114 -114
  190. package/packages/theme-chalk/src/simplicity.scss +1403 -1403
  191. package/packages/theme-chalk/src/sizer.scss +36 -36
  192. package/packages/theme-chalk/src/steps.scss +88 -88
  193. package/packages/theme-chalk/src/switch.scss +3 -3
  194. package/packages/theme-chalk/src/table-form.scss +1 -1
  195. package/packages/theme-chalk/src/tabs.scss +87 -87
  196. package/packages/theme-chalk/src/tips.scss +7 -7
  197. package/packages/theme-chalk/src/toolbar.scss +179 -179
  198. package/packages/theme-chalk/src/tree-group.scss +72 -72
  199. package/packages/theme-chalk/src/tree.scss +165 -165
  200. package/packages/theme-chalk/src/upload.scss +172 -172
  201. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  202. package/packages/tips/index.js +5 -5
  203. package/packages/tips/src/main.vue +141 -141
  204. package/packages/toolbar/index.js +5 -5
  205. package/packages/toolbar/src/main.vue +430 -430
  206. package/packages/tree/index.js +5 -5
  207. package/packages/tree-group/index.js +5 -5
  208. package/packages/upload/index.js +5 -5
  209. package/packages/upload/src/main.vue +1344 -1344
  210. package/packages/upload/src/picture.js +15 -15
  211. package/packages/wujie/index.js +5 -5
  212. package/packages/wujie/src/main.vue +145 -145
  213. package/packages/wxlogin/index.js +5 -5
  214. package/packages/wxlogin/src/main.vue +128 -128
  215. package/src/config/api.js +317 -317
  216. package/src/config/image.js +2 -2
  217. package/src/index.js +163 -163
  218. package/src/utils/bus.js +3 -3
  219. package/src/utils/date-util.js +312 -312
  220. package/src/utils/http.js +50 -50
  221. package/src/utils/rules.js +18 -18
  222. package/src/utils/store.js +21 -21
  223. package/src/utils/webSocket.js +107 -107
  224. package/packages/.DS_Store +0 -0
  225. package/packages/calogin/.DS_Store +0 -0
  226. package/packages/date-picker/.DS_Store +0 -0
  227. package/packages/date-picker/src/.DS_Store +0 -0
  228. package/packages/dialog/.DS_Store +0 -0
  229. package/packages/flow/.DS_Store +0 -0
  230. package/packages/flow/src/.DS_Store +0 -0
  231. package/packages/flow-list/.DS_Store +0 -0
  232. package/packages/form/.DS_Store +0 -0
  233. package/packages/icon/.DS_Store +0 -0
  234. package/packages/login/.DS_Store +0 -0
  235. package/packages/main/.DS_Store +0 -0
  236. package/packages/main/src/.DS_Store +0 -0
  237. package/packages/menu/.DS_Store +0 -0
  238. package/packages/select/.DS_Store +0 -0
  239. package/packages/selector/.DS_Store +0 -0
  240. package/packages/selector-panel/.DS_Store +0 -0
  241. package/packages/theme-chalk/src/.DS_Store +0 -0
  242. package/packages/upload/.DS_Store +0 -0
  243. package/src/.DS_Store +0 -0
  244. 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>