eoss-ui 0.6.60 → 0.6.62

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