vue2-client 1.6.12 → 1.6.13

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