eoss-ui 0.6.66 → 0.6.67

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