eoss-ui 0.6.39 → 0.6.40

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 (268) hide show
  1. package/lib/button-group.js +43 -6
  2. package/lib/button.js +43 -6
  3. package/lib/checkbox-group.js +43 -6
  4. package/lib/data-table-form.js +43 -6
  5. package/lib/data-table.js +56 -16
  6. package/lib/date-picker.js +43 -6
  7. package/lib/dialog.js +43 -6
  8. package/lib/eoss-ui.common.js +563 -523
  9. package/lib/flow-group.js +43 -6
  10. package/lib/flow-list.js +124 -87
  11. package/lib/flow.js +323 -286
  12. package/lib/form.js +43 -6
  13. package/lib/handle-user.js +43 -6
  14. package/lib/handler.js +43 -6
  15. package/lib/icon.js +43 -6
  16. package/lib/index.js +1 -1
  17. package/lib/input-number.js +43 -6
  18. package/lib/input.js +43 -6
  19. package/lib/login.js +43 -6
  20. package/lib/main.js +175 -138
  21. package/lib/nav.js +43 -6
  22. package/lib/page.js +43 -6
  23. package/lib/pagination.js +43 -6
  24. package/lib/player.js +43 -6
  25. package/lib/qr-code.js +56 -19
  26. package/lib/radio-group.js +43 -6
  27. package/lib/retrial-auth.js +43 -6
  28. package/lib/select-ganged.js +43 -6
  29. package/lib/select.js +43 -6
  30. package/lib/selector-panel.js +43 -6
  31. package/lib/selector.js +43 -6
  32. package/lib/sizer.js +43 -6
  33. package/lib/steps.js +43 -6
  34. package/lib/switch.js +43 -6
  35. package/lib/table-form.js +43 -6
  36. package/lib/tabs.js +43 -6
  37. package/lib/tips.js +43 -6
  38. package/lib/tree-group.js +43 -6
  39. package/lib/tree.js +43 -6
  40. package/lib/upload.js +43 -6
  41. package/lib/utils/util.js +43 -6
  42. package/lib/wujie.js +43 -6
  43. package/lib/wxlogin.js +43 -6
  44. package/package.json +159 -159
  45. package/packages/.DS_Store +0 -0
  46. package/packages/button/index.js +5 -5
  47. package/packages/button/src/main.vue +418 -418
  48. package/packages/button-group/index.js +5 -5
  49. package/packages/button-group/src/main.vue +298 -298
  50. package/packages/calendar/index.js +5 -5
  51. package/packages/card/index.js +5 -5
  52. package/packages/card/src/main.vue +156 -156
  53. package/packages/cascader/index.js +5 -5
  54. package/packages/cascader/src/main.vue +168 -168
  55. package/packages/checkbox-group/index.js +5 -5
  56. package/packages/checkbox-group/src/main.vue +333 -333
  57. package/packages/clients/index.js +5 -5
  58. package/packages/clients/src/main.vue +144 -144
  59. package/packages/data-table/.DS_Store +0 -0
  60. package/packages/data-table/index.js +5 -5
  61. package/packages/data-table/src/children.vue +39 -39
  62. package/packages/data-table/src/column.vue +989 -983
  63. package/packages/data-table/src/main.vue +1820 -1820
  64. package/packages/data-table/src/sizer.vue +195 -195
  65. package/packages/data-table-form/.DS_Store +0 -0
  66. package/packages/data-table-form/index.js +5 -5
  67. package/packages/data-table-form/src/checkbox.vue +101 -101
  68. package/packages/data-table-form/src/colgroup.vue +17 -17
  69. package/packages/data-table-form/src/main.vue +181 -181
  70. package/packages/data-table-form/src/radio.vue +65 -65
  71. package/packages/data-table-form/src/table.vue +233 -233
  72. package/packages/data-table-form/src/tbody.vue +336 -336
  73. package/packages/data-table-form/src/thead.vue +68 -68
  74. package/packages/date-picker/index.js +5 -5
  75. package/packages/date-picker/src/main.vue +236 -236
  76. package/packages/dialog/index.js +5 -5
  77. package/packages/enterprise/index.js +5 -5
  78. package/packages/enterprise/src/main.vue +66 -66
  79. package/packages/error-page/.DS_Store +0 -0
  80. package/packages/error-page/index.js +5 -5
  81. package/packages/error-page/src/main.vue +44 -44
  82. package/packages/flow/.DS_Store +0 -0
  83. package/packages/flow/index.js +5 -5
  84. package/packages/flow/src/component/CommonOpinions.vue +345 -345
  85. package/packages/flow/src/component/CustomPreset.vue +322 -322
  86. package/packages/flow/src/component/FileList.vue +99 -99
  87. package/packages/flow/src/component/Preset.vue +255 -255
  88. package/packages/flow/src/component/SendMsg.vue +229 -229
  89. package/packages/flow/src/component/TimeLimit.vue +190 -190
  90. package/packages/flow/src/component/taskUnionExamine.vue +603 -603
  91. package/packages/flow/src/form.vue +121 -121
  92. package/packages/flow/src/freeStartFlow.vue +2843 -2843
  93. package/packages/flow/src/main.vue +2864 -2864
  94. package/packages/flow/src/processForm.vue +1007 -1007
  95. package/packages/flow/src/processReject.vue +293 -293
  96. package/packages/flow/src/reset.vue +901 -901
  97. package/packages/flow/src/startTaskRead.vue +596 -596
  98. package/packages/flow/src/table.vue +58 -58
  99. package/packages/flow-group/index.js +5 -5
  100. package/packages/flow-group/src/main.vue +688 -688
  101. package/packages/flow-list/index.js +5 -5
  102. package/packages/flow-list/src/main.vue +1172 -1172
  103. package/packages/form/.DS_Store +0 -0
  104. package/packages/form/index.js +5 -5
  105. package/packages/form/src/main.vue +3584 -3584
  106. package/packages/form/src/table.vue +1420 -1420
  107. package/packages/handle-user/index.js +5 -5
  108. package/packages/handle-user/src/main.vue +138 -138
  109. package/packages/handler/index.js +5 -5
  110. package/packages/handler/src/main.vue +388 -388
  111. package/packages/icon/index.js +5 -5
  112. package/packages/icon/src/main.vue +101 -101
  113. package/packages/icons/index.js +5 -5
  114. package/packages/icons/src/main.vue +81 -81
  115. package/packages/input/index.js +5 -5
  116. package/packages/input/src/main.vue +356 -356
  117. package/packages/input-number/index.js +5 -5
  118. package/packages/input-number/src/main.vue +106 -106
  119. package/packages/label/index.js +5 -5
  120. package/packages/label/src/main.vue +457 -457
  121. package/packages/layout/index.js +5 -5
  122. package/packages/layout/src/item.vue +152 -152
  123. package/packages/layout/src/main.vue +31 -31
  124. package/packages/login/.DS_Store +0 -0
  125. package/packages/login/index.js +5 -5
  126. package/packages/login/src/main.vue +1892 -1892
  127. package/packages/login/src/resetPassword.vue +562 -562
  128. package/packages/main/.DS_Store +0 -0
  129. package/packages/main/index.js +5 -5
  130. package/packages/main/src/.DS_Store +0 -0
  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 +505 -505
  134. package/packages/main/src/public/online.vue +89 -89
  135. package/packages/main/src/public/search.vue +454 -454
  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 +82 -82
  139. package/packages/main/src/simplicity/handler.vue +221 -221
  140. package/packages/main/src/simplicity/index.vue +1993 -1993
  141. package/packages/main/src/simplicity/lists.vue +84 -84
  142. package/packages/main/src/simplicity/menu-list.vue +128 -128
  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 +241 -241
  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 +536 -536
  151. package/packages/nav/index.js +5 -5
  152. package/packages/nav/src/main.vue +402 -402
  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 +775 -775
  169. package/packages/select-ganged/index.js +5 -5
  170. package/packages/select-ganged/src/main.vue +724 -724
  171. package/packages/selector/.DS_Store +0 -0
  172. package/packages/selector/index.js +5 -5
  173. package/packages/selector/src/main.vue +677 -677
  174. package/packages/selector-panel/.DS_Store +0 -0
  175. package/packages/selector-panel/index.js +5 -5
  176. package/packages/selector-panel/src/main.vue +1028 -1028
  177. package/packages/selector-panel/src/selection.vue +177 -177
  178. package/packages/selector-panel/src/tree.vue +129 -129
  179. package/packages/sizer/.DS_Store +0 -0
  180. package/packages/sizer/index.js +5 -5
  181. package/packages/sizer/src/main.vue +254 -254
  182. package/packages/steps/index.js +5 -5
  183. package/packages/steps/src/main.vue +181 -181
  184. package/packages/switch/index.js +5 -5
  185. package/packages/switch/src/main.vue +154 -154
  186. package/packages/table-form/index.js +5 -5
  187. package/packages/tabs/.DS_Store +0 -0
  188. package/packages/tabs/index.js +5 -5
  189. package/packages/tabs/src/main.vue +788 -788
  190. package/packages/tabs-panel/index.js +5 -5
  191. package/packages/tabs-panel/src/main.vue +29 -29
  192. package/packages/theme-chalk/src/.DS_Store +0 -0
  193. package/packages/theme-chalk/src/base.scss +260 -260
  194. package/packages/theme-chalk/src/button-group.scss +175 -175
  195. package/packages/theme-chalk/src/button.scss +24 -24
  196. package/packages/theme-chalk/src/calendar.scss +113 -113
  197. package/packages/theme-chalk/src/card.scss +99 -99
  198. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  199. package/packages/theme-chalk/src/clients.scss +87 -87
  200. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  201. package/packages/theme-chalk/src/data-table.scss +293 -293
  202. package/packages/theme-chalk/src/date-picker.scss +7 -7
  203. package/packages/theme-chalk/src/dialog.scss +77 -77
  204. package/packages/theme-chalk/src/enterprise.scss +5 -5
  205. package/packages/theme-chalk/src/error-page.scss +18 -18
  206. package/packages/theme-chalk/src/flow-group.scss +110 -110
  207. package/packages/theme-chalk/src/flow-list.scss +36 -36
  208. package/packages/theme-chalk/src/flow.scss +310 -310
  209. package/packages/theme-chalk/src/form.scss +496 -496
  210. package/packages/theme-chalk/src/handle-user.scss +40 -40
  211. package/packages/theme-chalk/src/handler.scss +143 -143
  212. package/packages/theme-chalk/src/icon.scss +1760 -1760
  213. package/packages/theme-chalk/src/icons.scss +99 -99
  214. package/packages/theme-chalk/src/input.scss +9 -9
  215. package/packages/theme-chalk/src/label.scss +24 -24
  216. package/packages/theme-chalk/src/layout.scss +46 -46
  217. package/packages/theme-chalk/src/login.scss +939 -939
  218. package/packages/theme-chalk/src/main.scss +632 -632
  219. package/packages/theme-chalk/src/menu.scss +222 -222
  220. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  221. package/packages/theme-chalk/src/nav.scss +125 -125
  222. package/packages/theme-chalk/src/page.scss +3 -3
  223. package/packages/theme-chalk/src/pagination.scss +29 -29
  224. package/packages/theme-chalk/src/player.scss +9 -9
  225. package/packages/theme-chalk/src/qr-code.scss +17 -17
  226. package/packages/theme-chalk/src/radio-group.scss +9 -9
  227. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  228. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  229. package/packages/theme-chalk/src/select.scss +8 -8
  230. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  231. package/packages/theme-chalk/src/selector.scss +91 -91
  232. package/packages/theme-chalk/src/simplicity.scss +1262 -1262
  233. package/packages/theme-chalk/src/sizer.scss +36 -36
  234. package/packages/theme-chalk/src/steps.scss +88 -88
  235. package/packages/theme-chalk/src/switch.scss +3 -3
  236. package/packages/theme-chalk/src/table-form.scss +1 -1
  237. package/packages/theme-chalk/src/tabs.scss +87 -87
  238. package/packages/theme-chalk/src/tips.scss +7 -7
  239. package/packages/theme-chalk/src/toolbar.scss +179 -179
  240. package/packages/theme-chalk/src/tree-group.scss +72 -72
  241. package/packages/theme-chalk/src/tree.scss +165 -165
  242. package/packages/theme-chalk/src/upload.scss +167 -167
  243. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  244. package/packages/tips/index.js +5 -5
  245. package/packages/tips/src/main.vue +141 -141
  246. package/packages/toolbar/index.js +5 -5
  247. package/packages/toolbar/src/main.vue +430 -430
  248. package/packages/tree/index.js +5 -5
  249. package/packages/tree-group/index.js +5 -5
  250. package/packages/upload/.DS_Store +0 -0
  251. package/packages/upload/index.js +5 -5
  252. package/packages/upload/src/main.vue +1334 -1334
  253. package/packages/upload/src/picture.js +15 -15
  254. package/packages/wujie/index.js +5 -5
  255. package/packages/wujie/src/main.vue +145 -145
  256. package/packages/wxlogin/index.js +5 -5
  257. package/packages/wxlogin/src/main.vue +128 -128
  258. package/src/.DS_Store +0 -0
  259. package/src/config/api.js +248 -248
  260. package/src/config/image.js +2 -2
  261. package/src/index.js +157 -157
  262. package/src/utils/bus.js +3 -3
  263. package/src/utils/date-util.js +312 -312
  264. package/src/utils/http.js +50 -50
  265. package/src/utils/rules.js +18 -18
  266. package/src/utils/store.js +21 -21
  267. package/src/utils/util.js +141 -106
  268. 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,
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,
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>