fix: 统一处理表单提交数据的序列化逻辑

1.  修复多处表单提交时重复判断序列化的逻辑,统一处理当formData已经是字符串时不再重复序列化
2.  简化nameStyle样式计算的代码写法,移除不必要的objToStyle调用
This commit is contained in:
2026-07-03 15:52:54 +08:00
parent 94f3631421
commit e4c9b7fd59
4 changed files with 9 additions and 6 deletions

View File

@@ -283,12 +283,15 @@ export default {
return;
}
// 获得保单数据
const submitFormData = this.getFormData();
// 提交到后端
this.$api.sendRequest({
url: '/form/api/form/create',
data: {
form_id: this.value.form_id || 0,
form_data: JSON.stringify(this.getFormData()),
form_data: typeof submitFormData === 'string' ? submitFormData : JSON.stringify(submitFormData),
component_id: this.value.id || '',
form_name: this.value.form_name || '默认表单'
},

View File

@@ -517,11 +517,11 @@ export default {
// 标签与输入框间距
nameStyle() {
if (this.mode === 'vertical') {
return this.$util.objToStyle({});
return {};
}
return this.$util.objToStyle({
return {
'margin-right': `${this.config.labelGap}rpx`
});
};
},
// 输入框样式(全局,未指定 item 时使用)
inputStyle() {

View File

@@ -85,7 +85,7 @@
url: '/form/api/form/create',
data: {
form_id: this.id,
form_data: JSON.stringify(this.$refs.form.formData)
form_data: typeof this.$refs.form.formData === 'string' ? this.$refs.form.formData : JSON.stringify(this.$refs.form.formData)
},
success: res => {
if (res.code == 0) {

View File

@@ -158,7 +158,7 @@ export default {
url: '/form/api/form/create',
data: {
form_id: this.id,
form_data: JSON.stringify(formData),
form_data: typeof formData === 'string' ? formData : JSON.stringify(formData),
uniacid: this.uniacid
},
success: res => {