eoss-ui 0.6.87 → 0.6.88

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