vue2-client 1.5.13 → 1.5.14

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 (112) hide show
  1. package/CHANGELOG.md +511 -504
  2. package/index.js +30 -30
  3. package/package.json +78 -78
  4. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +225 -225
  5. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +667 -667
  6. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +713 -713
  7. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +457 -457
  8. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +508 -508
  9. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +140 -140
  10. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +165 -165
  11. package/src/base-client/components/common/JSONToTree/jsontotree.vue +275 -275
  12. package/src/base-client/components/common/XAddForm/XAddForm.vue +316 -316
  13. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +277 -277
  14. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  15. package/src/base-client/components/common/XForm/XForm.vue +185 -185
  16. package/src/base-client/components/common/XForm/XFormItem.vue +502 -485
  17. package/src/base-client/components/common/XForm/index.md +177 -177
  18. package/src/base-client/components/common/XFormTable/XFormTable.vue +324 -324
  19. package/src/base-client/components/common/XFormTable/index.md +96 -96
  20. package/src/base-client/components/common/XTable/XTable.vue +505 -505
  21. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +109 -109
  22. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  23. package/src/base-client/components/ticket/TicketDetailsView/TicketDetailsView.vue +807 -807
  24. package/src/base-client/components/ticket/TicketDetailsView/index.md +29 -29
  25. package/src/base-client/components/ticket/TicketDetailsView/part/TicketDetailsFlow.vue +260 -260
  26. package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +532 -532
  27. package/src/base-client/components/ticket/TicketSubmitSuccessView/index.md +29 -29
  28. package/src/base-client/plugins/AppData.js +70 -70
  29. package/src/base-client/plugins/GetLoginInfoService.js +179 -179
  30. package/src/base-client/plugins/PagedList.js +177 -177
  31. package/src/base-client/plugins/compatible/LoginServiceOA.js +20 -20
  32. package/src/base-client/plugins/i18n-extend.js +32 -32
  33. package/src/components/Ellipsis/Ellipsis.vue +65 -65
  34. package/src/components/Ellipsis/index.md +38 -38
  35. package/src/components/NumberInfo/index.md +43 -43
  36. package/src/components/STable/README.md +341 -341
  37. package/src/components/STable/index.js +318 -318
  38. package/src/components/Trend/index.md +45 -45
  39. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  40. package/src/components/checkbox/ImgCheckbox.vue +163 -163
  41. package/src/components/exception/ExceptionPage.vue +70 -70
  42. package/src/components/form/FormRow.vue +52 -52
  43. package/src/components/index.js +36 -36
  44. package/src/components/menu/SideMenu.vue +62 -62
  45. package/src/components/menu/menu.js +273 -273
  46. package/src/components/page/header/index.less +40 -40
  47. package/src/components/setting/Setting.vue +235 -235
  48. package/src/components/table/StandardTable.vue +141 -141
  49. package/src/components/table/advance/ActionColumns.vue +158 -158
  50. package/src/components/table/advance/SearchArea.vue +355 -355
  51. package/src/components/tool/AStepItem.vue +60 -60
  52. package/src/components/tool/AvatarList.vue +68 -68
  53. package/src/components/tool/Drawer.vue +142 -142
  54. package/src/components/tool/TagSelect.vue +83 -83
  55. package/src/components/transition/PageToggleTransition.vue +97 -97
  56. package/src/config/CreateQueryConfig.js +307 -307
  57. package/src/config/default/admin.config.js +18 -18
  58. package/src/config/default/setting.config.js +44 -44
  59. package/src/config/replacer/resolve.config.js +67 -67
  60. package/src/layouts/AdminLayout.vue +174 -174
  61. package/src/layouts/CommonLayout.vue +42 -42
  62. package/src/layouts/ComponentLayoutOne.vue +47 -47
  63. package/src/layouts/PageLayout.vue +151 -151
  64. package/src/layouts/SinglePageView.vue +111 -111
  65. package/src/layouts/footer/PageFooter.vue +49 -49
  66. package/src/layouts/header/AdminHeader.vue +104 -104
  67. package/src/layouts/header/HeaderAvatar.vue +61 -61
  68. package/src/layouts/header/HeaderNotice.vue +176 -176
  69. package/src/layouts/header/HeaderSearch.vue +67 -67
  70. package/src/layouts/header/InstitutionDetail.vue +181 -181
  71. package/src/layouts/header/index.less +92 -92
  72. package/src/layouts/tabs/TabsHead.vue +190 -190
  73. package/src/layouts/tabs/TabsView.vue +379 -379
  74. package/src/mock/goods/index.js +108 -108
  75. package/src/pages/exception/404.vue +25 -25
  76. package/src/pages/login/Login.vue +363 -363
  77. package/src/pages/report/ReportTable.js +124 -124
  78. package/src/pages/report/ReportTableHome.vue +28 -28
  79. package/src/pages/resourceManage/orgListManage.vue +98 -98
  80. package/src/pages/system/dictionary/index.vue +43 -43
  81. package/src/pages/system/file/index.vue +317 -317
  82. package/src/pages/system/monitor/loginInfor/index.vue +36 -36
  83. package/src/pages/system/monitor/operLog/index.vue +36 -36
  84. package/src/pages/system/queryParams/index.vue +43 -43
  85. package/src/router/async/config.async.js +27 -27
  86. package/src/router/async/router.map.js +68 -68
  87. package/src/router/guards.js +113 -113
  88. package/src/router/index.js +27 -27
  89. package/src/services/api/DictionaryDetailsViewApi.js +6 -6
  90. package/src/services/api/LogDetailsViewApi.js +10 -10
  91. package/src/services/api/QueryParamsDetailsViewApi.js +6 -6
  92. package/src/services/api/TicketDetailsViewApi.js +34 -34
  93. package/src/services/api/cas.js +79 -79
  94. package/src/services/api/commonTempTable.js +10 -10
  95. package/src/services/api/index.js +17 -17
  96. package/src/services/api/logininfor/index.js +6 -6
  97. package/src/services/api/manage.js +8 -8
  98. package/src/services/apiService.js +13 -13
  99. package/src/services/user.js +53 -53
  100. package/src/store/modules/index.js +4 -4
  101. package/src/theme/default/nprogress.less +76 -76
  102. package/src/theme/default/style.less +47 -47
  103. package/src/utils/colors.js +107 -107
  104. package/src/utils/excel/Blob.js +180 -180
  105. package/src/utils/excel/Export2Excel.js +141 -141
  106. package/src/utils/formatter.js +68 -68
  107. package/src/utils/i18n.js +80 -80
  108. package/src/utils/indexedDB.js +145 -145
  109. package/src/utils/theme-color-replacer-extend.js +91 -91
  110. package/src/utils/themeUtil.js +100 -100
  111. package/src/utils/util.js +230 -230
  112. package/vue.config.js +106 -106
@@ -1,316 +1,316 @@
1
- <template>
2
- <a-modal
3
- v-if="isShow"
4
- :confirm-loading="loading"
5
- :destroyOnClose="true"
6
- :title="businessTitle"
7
- :visible="visible"
8
- :width="1000"
9
- :zIndex="1001"
10
- okText="提交"
11
- @cancel="close"
12
- @ok="onSubmit">
13
- <div class="table-page-search-wrapper">
14
- <a-form-model
15
- v-if="loaded"
16
- ref="selectForm"
17
- :model="form"
18
- :rules="rules">
19
- <a-row :gutter="16">
20
- <x-form-item
21
- v-for="(item, index) in realJsonData"
22
- :key="index"
23
- :attr="item"
24
- :disabled="itemDisabled(item)"
25
- :files="files"
26
- :form="form"
27
- :images="images"
28
- :service-name="serviceName"
29
- :xl="12"
30
- :xxl="8"
31
- mode="新增/修改"
32
- />
33
- </a-row>
34
- </a-form-model>
35
- </div>
36
- </a-modal>
37
- </template>
38
- <script>
39
- import XFormItem from '@vue2-client/base-client/components/common/XForm/XFormItem'
40
- import { formatDate } from '@vue2-client/utils/util'
41
- import { mapState } from 'vuex'
42
- import { post } from '@vue2-client/services/api'
43
-
44
- export default {
45
- name: 'XAddForm',
46
- components: {
47
- XFormItem
48
- },
49
- data () {
50
- return {
51
- // 预览模式
52
- viewMode: false,
53
- // 是否展示
54
- isShow: false,
55
- // 内容加载是否完成
56
- loaded: false,
57
- // 业务类型
58
- businessType: '',
59
- // 业务标题
60
- title: '',
61
- // 新增或修改业务是否执行中
62
- loading: false,
63
- // 是否显示新增/修改模态框
64
- visible: false,
65
- // 表单Model
66
- form: {},
67
- // 是否为临时表
68
- isTableTemp: false,
69
- // 表单项集合
70
- formItems: [],
71
- // 服务名称
72
- serviceName: 'af-system',
73
- // 修改有文件的表单时使用
74
- files: [],
75
- images: [],
76
- // 校验
77
- rules: {}
78
- }
79
- },
80
- computed: {
81
- businessTitle () {
82
- return this.businessType + this.title
83
- },
84
- // 过滤出用于新增/修改场景的表单项
85
- realJsonData: function () {
86
- return this.formItems.filter((item) => {
87
- return item.addOrEdit && item.addOrEdit !== 'no' && item.addOrEdit !== 'silenceAdd' && item.addOrEdit !== 'version' && !this.itemDisabled(item)
88
- })
89
- },
90
- // 过滤出用于静默新增场景的表单项
91
- silenceAddJsonData: function () {
92
- return this.formItems.filter(function (item) {
93
- return item.addOrEdit === 'silenceAdd'
94
- })
95
- },
96
- // 过滤出版本号表单项
97
- versionJsonData: function () {
98
- return this.formItems.filter(function (item) {
99
- return item.addOrEdit === 'version'
100
- })
101
- },
102
- ...mapState('account', { currUser: 'user' })
103
- },
104
- methods: {
105
- init (params) {
106
- const { isShow = true, formItems, viewMode, isTableTemp, serviceName = 'af-system' } = params
107
- if (isShow) {
108
- this.isShow = true
109
- this.formItems = JSON.parse(JSON.stringify(formItems))
110
- this.viewMode = viewMode
111
- this.isTableTemp = isTableTemp
112
- this.serviceName = serviceName
113
- }
114
- },
115
- open (params) {
116
- const {
117
- modifyModelData = {}, businessType, title, fixedAddForm = {}
118
- } = params
119
- this.loaded = false
120
- this.businessType = businessType
121
- this.title = title
122
- // 设置表单相关参数
123
- const formData = Object.assign({}, fixedAddForm)
124
- for (let i = 0; i < this.realJsonData.length; i++) {
125
- const item = this.realJsonData[i]
126
- formData[item.model] = undefined
127
- // 处理表单校验情况
128
- if (item.rule) {
129
- this.rules[item.model] = []
130
- const required = item.rule.required ? item.rule.required === true || item.rule.required === 'true' : false
131
- let trigger
132
- let message
133
- if (required) {
134
- switch (item.type) {
135
- case 'select':
136
- message = '请选择' + item.name
137
- trigger = 'change'
138
- break
139
- default:
140
- message = '请输入' + item.name
141
- trigger = 'blur'
142
- }
143
- this.rules[item.model].push({
144
- required: true,
145
- message: message,
146
- trigger: trigger
147
- })
148
- }
149
-
150
- switch (item.rule.type) {
151
- case 'number':
152
- case 'integer':
153
- case 'float':
154
- let defaultValue
155
- let message
156
- switch (item.rule.type) {
157
- case 'number':
158
- message = '数字'
159
- defaultValue = 0
160
- break
161
- case 'integer':
162
- message = '整数'
163
- defaultValue = 0
164
- break
165
- case 'float':
166
- message = '小数'
167
- defaultValue = 0.0
168
- break
169
- }
170
- this.rules[item.model].push({
171
- type: item.rule.type,
172
- message: item.name + '必须为' + message,
173
- transform: (value) => {
174
- if (value && value.length !== 0) {
175
- return Number(value)
176
- } else {
177
- return defaultValue
178
- }
179
- },
180
- trigger: 'blur'
181
- })
182
- break
183
- }
184
- }
185
- }
186
- this.form = formData
187
- if (modifyModelData && modifyModelData.data) {
188
- this.files = modifyModelData.files
189
- this.images = modifyModelData.images
190
- if (Object.keys(modifyModelData.data).length > 0) {
191
- this.getModifyModelData(modifyModelData)
192
- }
193
- }
194
- this.loaded = true
195
- this.visible = true
196
- },
197
- close () {
198
- this.loading = false
199
- this.visible = false
200
- },
201
- itemDisabled (value) {
202
- return (this.businessType === '新增' && value.addOrEdit === 'edit') ||
203
- (this.businessType === '修改' && value.addOrEdit === 'add')
204
- },
205
- async onSubmit () {
206
- this.$refs.selectForm.validate(async valid => {
207
- // 验证未通过直接返回
208
- if (!valid) {
209
- return false
210
- }
211
- if (this.viewMode) {
212
- this.$message.info('预览模式禁止新增和修改')
213
- return false
214
- }
215
- this.loading = true
216
- for (const key of Object.keys(this.form)) {
217
- if (this.form[key] === null || this.form[key] === '') {
218
- this.form[key] = undefined
219
- }
220
- }
221
- const requestForm = Object.assign({}, this.form)
222
- // 追加静默新增字段
223
- if (this.businessType === '新增') {
224
- for (const item of this.silenceAddJsonData) {
225
- switch (item.silencePurpose) {
226
- case 'createTime':
227
- requestForm[item.model] = formatDate('now')
228
- break
229
- case 'operator':
230
- requestForm[item.model] = this.currUser.name
231
- break
232
- case 'orgId':
233
- requestForm[item.model] = this.currUser.orgid
234
- break
235
- }
236
- }
237
- // 通过请求追加静默新增:自定义字段
238
- for (const item of this.silenceAddJsonData.filter((item) => item.silencePurpose === 'customize')) {
239
- requestForm[item.model] = await this.getSilenceSource(item.silenceSource, requestForm)
240
- }
241
- }
242
- // 如果是临时表
243
- if (this.isTableTemp) {
244
- this.$emit('tempTableModify', {
245
- valid: valid,
246
- form: requestForm,
247
- businessType: this.businessType
248
- })
249
- return
250
- }
251
- // 处理表单键问题
252
- const realForm = {}
253
- for (const key of Object.keys(requestForm)) {
254
- const realKey = this.getRealKey(key)
255
- realForm[realKey] = requestForm[key]
256
- }
257
- // 交由父级处理
258
- this.$emit('onSubmit', {
259
- businessType: this.businessType,
260
- realForm: realForm,
261
- currUserName: this.currUser.name
262
- }, () => {
263
- this.close()
264
- })
265
- })
266
- },
267
- /**
268
- * 获取通过logic静默新增的字段
269
- * @param logicName logic名称
270
- * @param requestParameters 请求参数
271
- */
272
- async getSilenceSource (logicName, requestParameters) {
273
- const result = await post('/api/' + this.serviceName + '/logic/' + logicName, requestParameters)
274
- return result
275
- },
276
- // 获取表单字段实际值
277
- getRealKey (key) {
278
- return key.substring(key.indexOf('_') + 1)
279
- },
280
- /**
281
- * 获取被修改记录数据
282
- * @param modifyModelData 被修改记录的数据
283
- */
284
- getModifyModelData (modifyModelData) {
285
- if (modifyModelData.primaryKeyData) {
286
- this.form = Object.assign(this.form, modifyModelData.primaryKeyData)
287
- }
288
- for (let i = 0; i < this.realJsonData.length; i++) {
289
- if (['FilesId', 'Images'].includes(this.realJsonData[i])) {
290
- // 附件需要跳过 因为会通过 modifyModelData中的files,images属性给upload赋值
291
- // 新增修改表单每次提交时只会提交最新添加的文件
292
- continue
293
- }
294
- const item = this.realJsonData[i]
295
- if (modifyModelData.data[item.model] || modifyModelData.data[item.model] === 0) {
296
- if (modifyModelData.data[item.model] instanceof Array) {
297
- this.form[item.model] = modifyModelData.data[item.model]
298
- } else {
299
- this.form[item.model] = modifyModelData.data[item.model] + ''
300
- }
301
- } else {
302
- this.form[item.model] = undefined
303
- }
304
- }
305
- // 追加版本号信息
306
- for (const item of this.versionJsonData) {
307
- if (!modifyModelData.data[item.model]) {
308
- this.form[item.model] = 0
309
- } else {
310
- this.form[item.model] = modifyModelData.data[item.model] + ''
311
- }
312
- }
313
- }
314
- }
315
- }
316
- </script>
1
+ <template>
2
+ <a-modal
3
+ v-if="isShow"
4
+ :confirm-loading="loading"
5
+ :destroyOnClose="true"
6
+ :title="businessTitle"
7
+ :visible="visible"
8
+ :width="1000"
9
+ :zIndex="1001"
10
+ okText="提交"
11
+ @cancel="close"
12
+ @ok="onSubmit">
13
+ <div class="table-page-search-wrapper">
14
+ <a-form-model
15
+ v-if="loaded"
16
+ ref="selectForm"
17
+ :model="form"
18
+ :rules="rules">
19
+ <a-row :gutter="16">
20
+ <x-form-item
21
+ v-for="(item, index) in realJsonData"
22
+ :key="index"
23
+ :attr="item"
24
+ :disabled="itemDisabled(item)"
25
+ :files="files"
26
+ :form="form"
27
+ :images="images"
28
+ :service-name="serviceName"
29
+ :xl="12"
30
+ :xxl="8"
31
+ mode="新增/修改"
32
+ />
33
+ </a-row>
34
+ </a-form-model>
35
+ </div>
36
+ </a-modal>
37
+ </template>
38
+ <script>
39
+ import XFormItem from '@vue2-client/base-client/components/common/XForm/XFormItem'
40
+ import { formatDate } from '@vue2-client/utils/util'
41
+ import { mapState } from 'vuex'
42
+ import { post } from '@vue2-client/services/api'
43
+
44
+ export default {
45
+ name: 'XAddForm',
46
+ components: {
47
+ XFormItem
48
+ },
49
+ data () {
50
+ return {
51
+ // 预览模式
52
+ viewMode: false,
53
+ // 是否展示
54
+ isShow: false,
55
+ // 内容加载是否完成
56
+ loaded: false,
57
+ // 业务类型
58
+ businessType: '',
59
+ // 业务标题
60
+ title: '',
61
+ // 新增或修改业务是否执行中
62
+ loading: false,
63
+ // 是否显示新增/修改模态框
64
+ visible: false,
65
+ // 表单Model
66
+ form: {},
67
+ // 是否为临时表
68
+ isTableTemp: false,
69
+ // 表单项集合
70
+ formItems: [],
71
+ // 服务名称
72
+ serviceName: 'af-system',
73
+ // 修改有文件的表单时使用
74
+ files: [],
75
+ images: [],
76
+ // 校验
77
+ rules: {}
78
+ }
79
+ },
80
+ computed: {
81
+ businessTitle () {
82
+ return this.businessType + this.title
83
+ },
84
+ // 过滤出用于新增/修改场景的表单项
85
+ realJsonData: function () {
86
+ return this.formItems.filter((item) => {
87
+ return item.addOrEdit && item.addOrEdit !== 'no' && item.addOrEdit !== 'silenceAdd' && item.addOrEdit !== 'version' && !this.itemDisabled(item)
88
+ })
89
+ },
90
+ // 过滤出用于静默新增场景的表单项
91
+ silenceAddJsonData: function () {
92
+ return this.formItems.filter(function (item) {
93
+ return item.addOrEdit === 'silenceAdd'
94
+ })
95
+ },
96
+ // 过滤出版本号表单项
97
+ versionJsonData: function () {
98
+ return this.formItems.filter(function (item) {
99
+ return item.addOrEdit === 'version'
100
+ })
101
+ },
102
+ ...mapState('account', { currUser: 'user' })
103
+ },
104
+ methods: {
105
+ init (params) {
106
+ const { isShow = true, formItems, viewMode, isTableTemp, serviceName = 'af-system' } = params
107
+ if (isShow) {
108
+ this.isShow = true
109
+ this.formItems = JSON.parse(JSON.stringify(formItems))
110
+ this.viewMode = viewMode
111
+ this.isTableTemp = isTableTemp
112
+ this.serviceName = serviceName
113
+ }
114
+ },
115
+ open (params) {
116
+ const {
117
+ modifyModelData = {}, businessType, title, fixedAddForm = {}
118
+ } = params
119
+ this.loaded = false
120
+ this.businessType = businessType
121
+ this.title = title
122
+ // 设置表单相关参数
123
+ const formData = Object.assign({}, fixedAddForm)
124
+ for (let i = 0; i < this.realJsonData.length; i++) {
125
+ const item = this.realJsonData[i]
126
+ formData[item.model] = undefined
127
+ // 处理表单校验情况
128
+ if (item.rule) {
129
+ this.rules[item.model] = []
130
+ const required = item.rule.required ? item.rule.required === true || item.rule.required === 'true' : false
131
+ let trigger
132
+ let message
133
+ if (required) {
134
+ switch (item.type) {
135
+ case 'select':
136
+ message = '请选择' + item.name
137
+ trigger = 'change'
138
+ break
139
+ default:
140
+ message = '请输入' + item.name
141
+ trigger = 'blur'
142
+ }
143
+ this.rules[item.model].push({
144
+ required: true,
145
+ message: message,
146
+ trigger: trigger
147
+ })
148
+ }
149
+
150
+ switch (item.rule.type) {
151
+ case 'number':
152
+ case 'integer':
153
+ case 'float':
154
+ let defaultValue
155
+ let message
156
+ switch (item.rule.type) {
157
+ case 'number':
158
+ message = '数字'
159
+ defaultValue = 0
160
+ break
161
+ case 'integer':
162
+ message = '整数'
163
+ defaultValue = 0
164
+ break
165
+ case 'float':
166
+ message = '小数'
167
+ defaultValue = 0.0
168
+ break
169
+ }
170
+ this.rules[item.model].push({
171
+ type: item.rule.type,
172
+ message: item.name + '必须为' + message,
173
+ transform: (value) => {
174
+ if (value && value.length !== 0) {
175
+ return Number(value)
176
+ } else {
177
+ return defaultValue
178
+ }
179
+ },
180
+ trigger: 'blur'
181
+ })
182
+ break
183
+ }
184
+ }
185
+ }
186
+ this.form = formData
187
+ if (modifyModelData && modifyModelData.data) {
188
+ this.files = modifyModelData.files
189
+ this.images = modifyModelData.images
190
+ if (Object.keys(modifyModelData.data).length > 0) {
191
+ this.getModifyModelData(modifyModelData)
192
+ }
193
+ }
194
+ this.loaded = true
195
+ this.visible = true
196
+ },
197
+ close () {
198
+ this.loading = false
199
+ this.visible = false
200
+ },
201
+ itemDisabled (value) {
202
+ return (this.businessType === '新增' && value.addOrEdit === 'edit') ||
203
+ (this.businessType === '修改' && value.addOrEdit === 'add')
204
+ },
205
+ async onSubmit () {
206
+ this.$refs.selectForm.validate(async valid => {
207
+ // 验证未通过直接返回
208
+ if (!valid) {
209
+ return false
210
+ }
211
+ if (this.viewMode) {
212
+ this.$message.info('预览模式禁止新增和修改')
213
+ return false
214
+ }
215
+ this.loading = true
216
+ for (const key of Object.keys(this.form)) {
217
+ if (this.form[key] === null || this.form[key] === '') {
218
+ this.form[key] = undefined
219
+ }
220
+ }
221
+ const requestForm = Object.assign({}, this.form)
222
+ // 追加静默新增字段
223
+ if (this.businessType === '新增') {
224
+ for (const item of this.silenceAddJsonData) {
225
+ switch (item.silencePurpose) {
226
+ case 'createTime':
227
+ requestForm[item.model] = formatDate('now')
228
+ break
229
+ case 'operator':
230
+ requestForm[item.model] = this.currUser.name
231
+ break
232
+ case 'orgId':
233
+ requestForm[item.model] = this.currUser.orgid
234
+ break
235
+ }
236
+ }
237
+ // 通过请求追加静默新增:自定义字段
238
+ for (const item of this.silenceAddJsonData.filter((item) => item.silencePurpose === 'customize')) {
239
+ requestForm[item.model] = await this.getSilenceSource(item.silenceSource, requestForm)
240
+ }
241
+ }
242
+ // 如果是临时表
243
+ if (this.isTableTemp) {
244
+ this.$emit('tempTableModify', {
245
+ valid: valid,
246
+ form: requestForm,
247
+ businessType: this.businessType
248
+ })
249
+ return
250
+ }
251
+ // 处理表单键问题
252
+ const realForm = {}
253
+ for (const key of Object.keys(requestForm)) {
254
+ const realKey = this.getRealKey(key)
255
+ realForm[realKey] = requestForm[key]
256
+ }
257
+ // 交由父级处理
258
+ this.$emit('onSubmit', {
259
+ businessType: this.businessType,
260
+ realForm: realForm,
261
+ currUserName: this.currUser.name
262
+ }, () => {
263
+ this.close()
264
+ })
265
+ })
266
+ },
267
+ /**
268
+ * 获取通过logic静默新增的字段
269
+ * @param logicName logic名称
270
+ * @param requestParameters 请求参数
271
+ */
272
+ async getSilenceSource (logicName, requestParameters) {
273
+ const result = await post('/api/' + this.serviceName + '/logic/' + logicName, requestParameters)
274
+ return result
275
+ },
276
+ // 获取表单字段实际值
277
+ getRealKey (key) {
278
+ return key.substring(key.indexOf('_') + 1)
279
+ },
280
+ /**
281
+ * 获取被修改记录数据
282
+ * @param modifyModelData 被修改记录的数据
283
+ */
284
+ getModifyModelData (modifyModelData) {
285
+ if (modifyModelData.primaryKeyData) {
286
+ this.form = Object.assign(this.form, modifyModelData.primaryKeyData)
287
+ }
288
+ for (let i = 0; i < this.realJsonData.length; i++) {
289
+ if (['FilesId', 'Images'].includes(this.realJsonData[i])) {
290
+ // 附件需要跳过 因为会通过 modifyModelData中的files,images属性给upload赋值
291
+ // 新增修改表单每次提交时只会提交最新添加的文件
292
+ continue
293
+ }
294
+ const item = this.realJsonData[i]
295
+ if (modifyModelData.data[item.model] || modifyModelData.data[item.model] === 0) {
296
+ if (modifyModelData.data[item.model] instanceof Array) {
297
+ this.form[item.model] = modifyModelData.data[item.model]
298
+ } else {
299
+ this.form[item.model] = modifyModelData.data[item.model] + ''
300
+ }
301
+ } else {
302
+ this.form[item.model] = undefined
303
+ }
304
+ }
305
+ // 追加版本号信息
306
+ for (const item of this.versionJsonData) {
307
+ if (!modifyModelData.data[item.model]) {
308
+ this.form[item.model] = 0
309
+ } else {
310
+ this.form[item.model] = modifyModelData.data[item.model] + ''
311
+ }
312
+ }
313
+ }
314
+ }
315
+ }
316
+ </script>