eoss-ui 0.6.64 → 0.6.65

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