eoss-ui 0.6.37 → 0.6.39

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 (261) hide show
  1. package/lib/button-group.js +535 -374
  2. package/lib/button.js +535 -374
  3. package/lib/checkbox-group.js +536 -375
  4. package/lib/config/api.js +31 -19
  5. package/lib/data-table-form.js +547 -386
  6. package/lib/data-table.js +547 -382
  7. package/lib/date-picker.js +535 -374
  8. package/lib/dialog.js +535 -374
  9. package/lib/eoss-ui.common.js +12508 -5609
  10. package/lib/error-page.js +4 -4
  11. package/lib/flow-group.js +553 -377
  12. package/lib/flow-list.js +621 -460
  13. package/lib/flow.js +9822 -2988
  14. package/lib/form.js +552 -380
  15. package/lib/handle-user.js +536 -375
  16. package/lib/handler.js +536 -375
  17. package/lib/icon.js +536 -375
  18. package/lib/index.js +1 -1
  19. package/lib/input-number.js +535 -374
  20. package/lib/input.js +535 -374
  21. package/lib/layout.js +2 -2
  22. package/lib/login.js +550 -389
  23. package/lib/main.js +704 -543
  24. package/lib/nav.js +535 -374
  25. package/lib/notify.js +127 -109
  26. package/lib/page.js +535 -374
  27. package/lib/pagination.js +535 -374
  28. package/lib/player.js +535 -374
  29. package/lib/qr-code.js +548 -387
  30. package/lib/radio-group.js +536 -375
  31. package/lib/retrial-auth.js +538 -377
  32. package/lib/select-ganged.js +536 -375
  33. package/lib/select.js +536 -375
  34. package/lib/selector-panel.js +594 -409
  35. package/lib/selector.js +539 -378
  36. package/lib/sizer.js +541 -380
  37. package/lib/steps.js +535 -374
  38. package/lib/switch.js +535 -374
  39. package/lib/table-form.js +535 -374
  40. package/lib/tabs.js +539 -378
  41. package/lib/theme-chalk/flow.css +1 -1
  42. package/lib/theme-chalk/index.css +1 -1
  43. package/lib/tips.js +536 -375
  44. package/lib/tree-group.js +535 -374
  45. package/lib/tree.js +536 -375
  46. package/lib/upload.js +564 -392
  47. package/lib/utils/util.js +411 -268
  48. package/lib/wujie.js +535 -374
  49. package/lib/wxlogin.js +535 -374
  50. package/package.json +159 -158
  51. package/packages/button/index.js +5 -5
  52. package/packages/button/src/main.vue +418 -418
  53. package/packages/button-group/index.js +5 -5
  54. package/packages/button-group/src/main.vue +298 -298
  55. package/packages/calendar/index.js +5 -5
  56. package/packages/card/index.js +5 -5
  57. package/packages/card/src/main.vue +156 -156
  58. package/packages/cascader/index.js +5 -5
  59. package/packages/cascader/src/main.vue +168 -168
  60. package/packages/checkbox-group/index.js +5 -5
  61. package/packages/checkbox-group/src/main.vue +333 -333
  62. package/packages/clients/index.js +5 -5
  63. package/packages/clients/src/main.vue +144 -144
  64. package/packages/data-table/index.js +5 -5
  65. package/packages/data-table/src/children.vue +39 -39
  66. package/packages/data-table/src/column.vue +983 -983
  67. package/packages/data-table/src/main.vue +1820 -1816
  68. package/packages/data-table/src/sizer.vue +195 -195
  69. package/packages/data-table-form/index.js +5 -5
  70. package/packages/data-table-form/src/checkbox.vue +101 -101
  71. package/packages/data-table-form/src/colgroup.vue +17 -17
  72. package/packages/data-table-form/src/main.vue +181 -181
  73. package/packages/data-table-form/src/radio.vue +65 -65
  74. package/packages/data-table-form/src/table.vue +233 -233
  75. package/packages/data-table-form/src/tbody.vue +336 -336
  76. package/packages/data-table-form/src/thead.vue +68 -68
  77. package/packages/date-picker/index.js +5 -5
  78. package/packages/date-picker/src/main.vue +236 -236
  79. package/packages/dialog/index.js +5 -5
  80. package/packages/enterprise/index.js +5 -5
  81. package/packages/enterprise/src/main.vue +66 -66
  82. package/packages/error-page/index.js +5 -5
  83. package/packages/error-page/src/main.vue +44 -44
  84. package/packages/flow/index.js +5 -5
  85. package/packages/flow/src/component/CommonOpinions.vue +345 -341
  86. package/packages/flow/src/component/CustomPreset.vue +322 -322
  87. package/packages/flow/src/component/FileList.vue +99 -99
  88. package/packages/flow/src/component/Preset.vue +255 -255
  89. package/packages/flow/src/component/SendMsg.vue +229 -229
  90. package/packages/flow/src/component/TimeLimit.vue +190 -190
  91. package/packages/flow/src/component/taskUnionExamine.vue +603 -547
  92. package/packages/flow/src/form.vue +121 -121
  93. package/packages/flow/src/freeStartFlow.vue +2843 -0
  94. package/packages/flow/src/main.vue +2864 -2731
  95. package/packages/flow/src/processForm.vue +1007 -954
  96. package/packages/flow/src/processReject.vue +293 -293
  97. package/packages/flow/src/reset.vue +901 -0
  98. package/packages/flow/src/selectUser.vue +5 -0
  99. package/packages/flow/src/startTaskRead.vue +596 -596
  100. package/packages/flow/src/table.vue +58 -58
  101. package/packages/flow-group/index.js +5 -5
  102. package/packages/flow-group/src/main.vue +688 -684
  103. package/packages/flow-list/index.js +5 -5
  104. package/packages/flow-list/src/main.vue +1172 -1172
  105. package/packages/form/index.js +5 -5
  106. package/packages/form/src/main.vue +3584 -3582
  107. package/packages/form/src/table.vue +1420 -1420
  108. package/packages/handle-user/index.js +5 -5
  109. package/packages/handle-user/src/main.vue +138 -138
  110. package/packages/handler/index.js +5 -5
  111. package/packages/handler/src/main.vue +388 -388
  112. package/packages/icon/index.js +5 -5
  113. package/packages/icon/src/main.vue +101 -101
  114. package/packages/icons/index.js +5 -5
  115. package/packages/icons/src/main.vue +81 -81
  116. package/packages/input/index.js +5 -5
  117. package/packages/input/src/main.vue +356 -356
  118. package/packages/input-number/index.js +5 -5
  119. package/packages/input-number/src/main.vue +106 -106
  120. package/packages/label/index.js +5 -5
  121. package/packages/label/src/main.vue +457 -457
  122. package/packages/layout/index.js +5 -5
  123. package/packages/layout/src/item.vue +152 -152
  124. package/packages/layout/src/main.vue +31 -31
  125. package/packages/login/index.js +5 -5
  126. package/packages/login/src/main.vue +1892 -1894
  127. package/packages/login/src/resetPassword.vue +562 -562
  128. package/packages/main/index.js +5 -5
  129. package/packages/main/src/default/message.vue +249 -249
  130. package/packages/main/src/default/notice.vue +157 -157
  131. package/packages/main/src/default/userinfo.vue +505 -505
  132. package/packages/main/src/public/online.vue +89 -89
  133. package/packages/main/src/public/search.vue +454 -454
  134. package/packages/main/src/public/settings.vue +221 -221
  135. package/packages/main/src/simplicity/apps.vue +388 -388
  136. package/packages/main/src/simplicity/avatar.vue +82 -82
  137. package/packages/main/src/simplicity/handler.vue +221 -221
  138. package/packages/main/src/simplicity/index.vue +1993 -1993
  139. package/packages/main/src/simplicity/lists.vue +84 -84
  140. package/packages/main/src/simplicity/menu-list.vue +128 -128
  141. package/packages/main/src/simplicity/message.vue +259 -259
  142. package/packages/main/src/simplicity/notice.vue +190 -190
  143. package/packages/main/src/simplicity/router-page.vue +45 -45
  144. package/packages/main/src/simplicity/sub-menu.vue +241 -241
  145. package/packages/main/src/simplicity/user.vue +257 -257
  146. package/packages/main/src/simplicity/userinfo.vue +312 -312
  147. package/packages/menu/index.js +5 -5
  148. package/packages/menu/src/main.vue +536 -536
  149. package/packages/nav/index.js +5 -5
  150. package/packages/nav/src/main.vue +402 -402
  151. package/packages/notify/index.js +5 -5
  152. package/packages/notify/src/main.vue +538 -538
  153. package/packages/page/index.js +5 -5
  154. package/packages/page/src/main.vue +167 -167
  155. package/packages/pagination/index.js +5 -5
  156. package/packages/pagination/src/main.vue +96 -96
  157. package/packages/player/index.js +5 -5
  158. package/packages/player/src/main.vue +194 -194
  159. package/packages/qr-code/index.js +5 -5
  160. package/packages/qr-code/src/main.vue +170 -170
  161. package/packages/radio-group/index.js +6 -6
  162. package/packages/radio-group/src/main.vue +319 -319
  163. package/packages/retrial-auth/index.js +5 -5
  164. package/packages/retrial-auth/src/main.vue +280 -280
  165. package/packages/select/index.js +5 -5
  166. package/packages/select/src/main.vue +775 -775
  167. package/packages/select-ganged/index.js +5 -5
  168. package/packages/select-ganged/src/main.vue +724 -724
  169. package/packages/selector/index.js +5 -5
  170. package/packages/selector/src/main.vue +677 -677
  171. package/packages/selector-panel/index.js +5 -5
  172. package/packages/selector-panel/src/main.vue +1028 -1020
  173. package/packages/selector-panel/src/selection.vue +177 -160
  174. package/packages/selector-panel/src/tree.vue +129 -129
  175. package/packages/sizer/index.js +5 -5
  176. package/packages/sizer/src/main.vue +254 -254
  177. package/packages/steps/index.js +5 -5
  178. package/packages/steps/src/main.vue +181 -181
  179. package/packages/switch/index.js +5 -5
  180. package/packages/switch/src/main.vue +154 -154
  181. package/packages/table-form/index.js +5 -5
  182. package/packages/tabs/index.js +5 -5
  183. package/packages/tabs/src/main.vue +788 -788
  184. package/packages/tabs-panel/index.js +5 -5
  185. package/packages/tabs-panel/src/main.vue +29 -29
  186. package/packages/theme-chalk/lib/flow.css +1 -1
  187. package/packages/theme-chalk/lib/index.css +1 -1
  188. package/packages/theme-chalk/src/base.scss +260 -260
  189. package/packages/theme-chalk/src/button-group.scss +175 -175
  190. package/packages/theme-chalk/src/button.scss +24 -24
  191. package/packages/theme-chalk/src/calendar.scss +113 -113
  192. package/packages/theme-chalk/src/card.scss +99 -99
  193. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  194. package/packages/theme-chalk/src/clients.scss +87 -87
  195. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  196. package/packages/theme-chalk/src/data-table.scss +293 -293
  197. package/packages/theme-chalk/src/date-picker.scss +7 -7
  198. package/packages/theme-chalk/src/dialog.scss +77 -77
  199. package/packages/theme-chalk/src/enterprise.scss +5 -5
  200. package/packages/theme-chalk/src/error-page.scss +18 -18
  201. package/packages/theme-chalk/src/flow-group.scss +110 -110
  202. package/packages/theme-chalk/src/flow-list.scss +36 -36
  203. package/packages/theme-chalk/src/flow.scss +310 -308
  204. package/packages/theme-chalk/src/form.scss +496 -496
  205. package/packages/theme-chalk/src/handle-user.scss +40 -40
  206. package/packages/theme-chalk/src/handler.scss +143 -143
  207. package/packages/theme-chalk/src/icon.scss +1760 -1760
  208. package/packages/theme-chalk/src/icons.scss +99 -99
  209. package/packages/theme-chalk/src/input.scss +9 -9
  210. package/packages/theme-chalk/src/label.scss +24 -24
  211. package/packages/theme-chalk/src/layout.scss +46 -46
  212. package/packages/theme-chalk/src/login.scss +939 -939
  213. package/packages/theme-chalk/src/main.scss +632 -632
  214. package/packages/theme-chalk/src/menu.scss +222 -222
  215. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  216. package/packages/theme-chalk/src/nav.scss +125 -125
  217. package/packages/theme-chalk/src/page.scss +3 -3
  218. package/packages/theme-chalk/src/pagination.scss +29 -29
  219. package/packages/theme-chalk/src/player.scss +9 -9
  220. package/packages/theme-chalk/src/qr-code.scss +17 -17
  221. package/packages/theme-chalk/src/radio-group.scss +9 -9
  222. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  223. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  224. package/packages/theme-chalk/src/select.scss +8 -8
  225. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  226. package/packages/theme-chalk/src/selector.scss +91 -91
  227. package/packages/theme-chalk/src/simplicity.scss +1262 -1262
  228. package/packages/theme-chalk/src/sizer.scss +36 -36
  229. package/packages/theme-chalk/src/steps.scss +88 -88
  230. package/packages/theme-chalk/src/switch.scss +3 -3
  231. package/packages/theme-chalk/src/table-form.scss +1 -1
  232. package/packages/theme-chalk/src/tabs.scss +87 -87
  233. package/packages/theme-chalk/src/tips.scss +7 -7
  234. package/packages/theme-chalk/src/toolbar.scss +179 -179
  235. package/packages/theme-chalk/src/tree-group.scss +72 -72
  236. package/packages/theme-chalk/src/tree.scss +165 -165
  237. package/packages/theme-chalk/src/upload.scss +167 -167
  238. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  239. package/packages/tips/index.js +5 -5
  240. package/packages/tips/src/main.vue +141 -141
  241. package/packages/toolbar/index.js +5 -5
  242. package/packages/toolbar/src/main.vue +430 -430
  243. package/packages/tree/index.js +5 -5
  244. package/packages/tree-group/index.js +5 -5
  245. package/packages/upload/index.js +5 -5
  246. package/packages/upload/src/main.vue +1334 -1323
  247. package/packages/upload/src/picture.js +15 -15
  248. package/packages/wujie/index.js +5 -5
  249. package/packages/wujie/src/main.vue +145 -145
  250. package/packages/wxlogin/index.js +5 -5
  251. package/packages/wxlogin/src/main.vue +128 -128
  252. package/src/config/api.js +248 -236
  253. package/src/config/image.js +2 -2
  254. package/src/index.js +1 -1
  255. package/src/utils/bus.js +3 -3
  256. package/src/utils/date-util.js +312 -312
  257. package/src/utils/http.js +50 -50
  258. package/src/utils/rules.js +18 -18
  259. package/src/utils/store.js +21 -21
  260. package/src/utils/util.js +398 -258
  261. package/src/utils/webSocket.js +107 -107
@@ -1,341 +1,345 @@
1
- <template>
2
- <div class="commonOpinion">
3
- <el-form
4
- :model="form"
5
- :rules="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="10"
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
- },
146
- mounted() {
147
- if (this.nodeFixedOpinionSelectList.length > 0) {
148
- this.optionList = this.nodeFixedOpinionSelectList;
149
- this.disabled = true;
150
- } else {
151
- this.getCommonOpion();
152
- }
153
- },
154
- watch: {
155
- opinion(val) {
156
- this.form.value = val;
157
- this.changeOpinion();
158
- }
159
- },
160
- methods: {
161
- validate(){
162
- let validSate = true
163
- this.$refs.ruleForm.validate((valid) => {
164
- if (valid) {
165
- validSate = true
166
- } else {
167
- validSate = false;
168
- }
169
- });
170
- return validSate
171
- },
172
- /**
173
- * changeOpinion
174
- * @desc:监听意见变化
175
- * @author liufan
176
- * @date 2022年10月28日
177
- **/
178
- changeOpinion() {
179
- this.$emit('change', this.form.value);
180
- },
181
- /**
182
- * getCommonOpion
183
- * @desc:获取意见
184
- * @author liufan
185
- * @date 2022年5月25日
186
- **/
187
- getCommonOpion() {
188
- util
189
- .ajax({
190
- url: commonOpion,
191
- params: {
192
- userId: util.getStorage('userId')
193
- },
194
- method: 'post'
195
- })
196
- .then((res) => {
197
- const { status, data, msg } = res;
198
- if (status === 'success') {
199
- this.optionList = data.list;
200
- this.FormData.sep = this.optionList.length + 1;
201
- } else {
202
- this.$message.error(msg || '系统错误,请联系管理员!');
203
- }
204
- })
205
- .catch((err) => {
206
- if (err.message && err.message !== 'canceled') {
207
- this.$message.error(err.message);
208
- }
209
- });
210
- },
211
- /**
212
- * upDate
213
- * @desc:修改常用语
214
- * @author liufan
215
- * @param {Object} val 修改值
216
- * @date 2022年5月25日
217
- **/
218
- upDate(val) {
219
- this.FormData.id = val.id;
220
- this.addVisible = true;
221
- },
222
- /**
223
- * selectChange
224
- * @desc:常用语选择
225
- * @author liufan
226
- * @param {String} val 选中值
227
- * @date 2022年5月25日
228
- **/
229
- selectChange(val) {
230
- const that = this;
231
- util
232
- .ajax({
233
- url: findSysParam,
234
- params: { cpName: 'commonOpinionsSelectType' }
235
- })
236
- .then((res) => {
237
- if (res.status == 'success') {
238
- res.data == 2
239
- ? (that.form.value = that.form.value + val)
240
- : (that.form.value = val);
241
- } else {
242
- that.form.value = val;
243
- }
244
- this.$emit('change', that.form.value);
245
- });
246
- },
247
- /**
248
- * del
249
- * @desc:删除常用语
250
- * @author liufan
251
- * @param {Object} val 删除的数据
252
- * @date 2022年5月25日
253
- **/
254
- del(val) {
255
- this.$confirm('您确定要删除此信息吗?', '提示', {
256
- confirmButtonText: '确定',
257
- cancelButtonText: '取消',
258
- type: 'warning'
259
- })
260
- .then(() => {
261
- this.loading = util.loading(this.$loading, '删除中...');
262
- util
263
- .ajax({
264
- url: deleteCommonOpion,
265
- params: {
266
- id: val.id
267
- }
268
- })
269
- .then((res) => {
270
- const { status, message } = res;
271
- if (status == 'success') {
272
- this.$message({
273
- type: 'success',
274
- message: '删除成功!'
275
- });
276
- this.getCommonOpion();
277
- } else {
278
- this.$message({
279
- type: 'error',
280
- message: message || '系统错误,请联系管理员!'
281
- });
282
- }
283
- this.loading.close();
284
- })
285
- .catch((err) => {
286
- if (err.message && err.message !== 'canceled') {
287
- this.$message.error(err.message);
288
- }
289
- this.loading.close();
290
- });
291
- })
292
- .catch((e) => {});
293
- },
294
- /**
295
- * submit
296
- * @desc:新增/编辑意见保存
297
- * @author liufan
298
- * @param {Object} val 保存数据
299
- * @date 2022年5月25日
300
- **/
301
- submit(val) {
302
- const { addVisible, data } = val;
303
- let info = {};
304
- for (let key in data) {
305
- info[`bean.${key}`] = data[key];
306
- }
307
- this.loading = util.loading(this.$loading, '提交中...');
308
- util
309
- .ajax({
310
- url: data.id ? updateCommonOpinion : saveCommonOpinion,
311
- data: info,
312
- header: { 'Content-Type': 'multipart/form-data' },
313
- method: 'post'
314
- })
315
- .then((res) => {
316
- const { rCode, msg } = res;
317
- this.loading.close();
318
- if (!rCode) {
319
- if (this.FormData.id) {
320
- this.$message.success('修改成功');
321
- } else {
322
- this.$message.success('新增成功');
323
- }
324
- this.getCommonOpion();
325
- } else {
326
- this.$message.error(msg || '系统错误,请联系管理员!');
327
- }
328
- this.addVisible = addVisible;
329
- })
330
- .catch((err) => {
331
- this.loading.close();
332
- if (err.message && err.message !== 'canceled') {
333
- this.$message.error(err.message);
334
- }
335
- });
336
- }
337
- }
338
- };
339
- </script>
340
-
341
- <style></style>
1
+ <template>
2
+ <div class="commonOpinion">
3
+ <el-form
4
+ :model="form"
5
+ :rules="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,
147
+ default: 10
148
+ }
149
+ },
150
+ mounted() {
151
+ if (this.nodeFixedOpinionSelectList.length > 0) {
152
+ this.optionList = this.nodeFixedOpinionSelectList;
153
+ this.disabled = true;
154
+ } else {
155
+ this.getCommonOpion();
156
+ }
157
+ },
158
+ watch: {
159
+ opinion(val) {
160
+ this.form.value = val;
161
+ this.changeOpinion();
162
+ }
163
+ },
164
+ methods: {
165
+ validate(){
166
+ let validSate = true
167
+ this.$refs.ruleForm.validate((valid) => {
168
+ if (valid) {
169
+ validSate = true
170
+ } else {
171
+ validSate = false;
172
+ }
173
+ });
174
+ return validSate
175
+ },
176
+ /**
177
+ * changeOpinion
178
+ * @desc:监听意见变化
179
+ * @author liufan
180
+ * @date 2022年10月28日
181
+ **/
182
+ changeOpinion() {
183
+ this.$emit('change', this.form.value);
184
+ },
185
+ /**
186
+ * getCommonOpion
187
+ * @desc:获取意见
188
+ * @author liufan
189
+ * @date 2022年5月25日
190
+ **/
191
+ getCommonOpion() {
192
+ util
193
+ .ajax({
194
+ url: commonOpion,
195
+ params: {
196
+ userId: util.getStorage('userId')
197
+ },
198
+ method: 'post'
199
+ })
200
+ .then((res) => {
201
+ const { status, data, msg } = res;
202
+ if (status === 'success') {
203
+ this.optionList = data.list;
204
+ this.FormData.sep = this.optionList.length + 1;
205
+ } else {
206
+ this.$message.error(msg || '系统错误,请联系管理员!');
207
+ }
208
+ })
209
+ .catch((err) => {
210
+ if (err.message && err.message !== 'canceled') {
211
+ this.$message.error(err.message);
212
+ }
213
+ });
214
+ },
215
+ /**
216
+ * upDate
217
+ * @desc:修改常用语
218
+ * @author liufan
219
+ * @param {Object} val 修改值
220
+ * @date 2022年5月25日
221
+ **/
222
+ upDate(val) {
223
+ this.FormData.id = val.id;
224
+ this.addVisible = true;
225
+ },
226
+ /**
227
+ * selectChange
228
+ * @desc:常用语选择
229
+ * @author liufan
230
+ * @param {String} val 选中值
231
+ * @date 2022年5月25日
232
+ **/
233
+ selectChange(val) {
234
+ const that = this;
235
+ util
236
+ .ajax({
237
+ url: findSysParam,
238
+ params: { cpName: 'commonOpinionsSelectType' }
239
+ })
240
+ .then((res) => {
241
+ if (res.status == 'success') {
242
+ res.data == 2
243
+ ? (that.form.value = that.form.value + val)
244
+ : (that.form.value = val);
245
+ } else {
246
+ that.form.value = val;
247
+ }
248
+ this.$emit('change', that.form.value);
249
+ });
250
+ },
251
+ /**
252
+ * del
253
+ * @desc:删除常用语
254
+ * @author liufan
255
+ * @param {Object} val 删除的数据
256
+ * @date 2022年5月25日
257
+ **/
258
+ del(val) {
259
+ this.$confirm('您确定要删除此信息吗?', '提示', {
260
+ confirmButtonText: '确定',
261
+ cancelButtonText: '取消',
262
+ type: 'warning'
263
+ })
264
+ .then(() => {
265
+ this.loading = util.loading(this.$loading, '删除中...');
266
+ util
267
+ .ajax({
268
+ url: deleteCommonOpion,
269
+ params: {
270
+ id: val.id
271
+ }
272
+ })
273
+ .then((res) => {
274
+ const { status, message } = res;
275
+ if (status == 'success') {
276
+ this.$message({
277
+ type: 'success',
278
+ message: '删除成功!'
279
+ });
280
+ this.getCommonOpion();
281
+ } else {
282
+ this.$message({
283
+ type: 'error',
284
+ message: message || '系统错误,请联系管理员!'
285
+ });
286
+ }
287
+ this.loading.close();
288
+ })
289
+ .catch((err) => {
290
+ if (err.message && err.message !== 'canceled') {
291
+ this.$message.error(err.message);
292
+ }
293
+ this.loading.close();
294
+ });
295
+ })
296
+ .catch((e) => {});
297
+ },
298
+ /**
299
+ * submit
300
+ * @desc:新增/编辑意见保存
301
+ * @author liufan
302
+ * @param {Object} val 保存数据
303
+ * @date 2022年5月25日
304
+ **/
305
+ submit(val) {
306
+ const { addVisible, data } = val;
307
+ let info = {};
308
+ for (let key in data) {
309
+ info[`bean.${key}`] = data[key];
310
+ }
311
+ this.loading = util.loading(this.$loading, '提交中...');
312
+ util
313
+ .ajax({
314
+ url: data.id ? updateCommonOpinion : saveCommonOpinion,
315
+ data: info,
316
+ header: { 'Content-Type': 'multipart/form-data' },
317
+ method: 'post'
318
+ })
319
+ .then((res) => {
320
+ const { rCode, msg } = res;
321
+ this.loading.close();
322
+ if (!rCode) {
323
+ if (this.FormData.id) {
324
+ this.$message.success('修改成功');
325
+ } else {
326
+ this.$message.success('新增成功');
327
+ }
328
+ this.getCommonOpion();
329
+ } else {
330
+ this.$message.error(msg || '系统错误,请联系管理员!');
331
+ }
332
+ this.addVisible = addVisible;
333
+ })
334
+ .catch((err) => {
335
+ this.loading.close();
336
+ if (err.message && err.message !== 'canceled') {
337
+ this.$message.error(err.message);
338
+ }
339
+ });
340
+ }
341
+ }
342
+ };
343
+ </script>
344
+
345
+ <style></style>