eoss-ui 0.6.88 → 0.6.90

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