eoss-ui 0.6.59 → 0.6.60

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