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