refactor(form): 调整代码缩进与格式,优化提交逻辑

统一模板缩进为制表符,移除冗余日志,将提交数据内联至请求参数以精简代码结构
This commit is contained in:
2026-08-07 10:35:26 +08:00
parent c26280a4d3
commit 289e582ba1

View File

@@ -2,22 +2,18 @@
<view :style="themeColor"> <view :style="themeColor">
<block v-if="detail"> <block v-if="detail">
<view class="page"> <view class="page">
<view class="system-form-wrap"> <view class="system-form-wrap">
<!-- 复用 diy-form:banner / tip / 表单字段 / 提交按钮 全部由其内部渲染,样式(bannerPaddingX/tipColor/submitBgColor 等)由 form_config 控制。 <!-- 复用 diy-form:banner / tip / 表单字段 / 提交按钮 全部由其内部渲染,样式(bannerPaddingX/tipColor/submitBgColor 等)由 form_config 控制。
:onSubmit 接管提交逻辑(带 uniacid + showModal);跨 H5 / MP 一致,不依赖 $listeners。 :onSubmit 接管提交逻辑(带 uniacid + showModal);跨 H5 / MP 一致,不依赖 $listeners。
注意:create 重度依赖本组件 this(id/uniacid/memberInfo/$api 等),必须在 created 阶段 bind this, 注意:create 重度依赖本组件 this(id/uniacid/memberInfo/$api 等),必须在 created 阶段 bind this,
否则 diy-form 通过 this.onSubmit(formData) 调用时 this 会漂移到子组件实例 --> 否则 diy-form 通过 this.onSubmit(formData) 调用时 this 会漂移到子组件实例 -->
<diy-form <diy-form ref="form" :value="diyValue" dataMode="raw" :onSubmit="handleSubmit" />
ref="form" </view>
:value="diyValue"
dataMode="raw"
:onSubmit="handleSubmit"
/>
</view>
</view> </view>
</block> </block>
<block v-else> <block v-else>
<ns-empty :text="complete ? $lang('form.formdata.submitSuccess') : $lang('form.formdata.noFormInfo')" :isIndex="false"></ns-empty> <ns-empty :text="complete ? $lang('form.formdata.submitSuccess') : $lang('form.formdata.noFormInfo')"
:isIndex="false"></ns-empty>
</block> </block>
<loading-cover ref="loadingCover"></loading-cover> <loading-cover ref="loadingCover"></loading-cover>
<ns-login ref="login"></ns-login> <ns-login ref="login"></ns-login>
@@ -81,7 +77,7 @@ export default {
} }
}, },
onLoad(options) { onLoad(options) {
console.log("=====表单页面====",options) console.log("=====表单页面====", options)
if (!options.uniacid) { if (!options.uniacid) {
uni.showModal({ uni.showModal({
title: this.$lang('form.formdata.tip'), title: this.$lang('form.formdata.tip'),
@@ -139,7 +135,7 @@ export default {
this.getData() this.getData()
}, },
watch: { watch: {
storeToken(newVal, oldVal) { storeToken(newVal, oldVal) {
newVal && this.getData() newVal && this.getData()
@@ -184,22 +180,18 @@ export default {
// 因此内部所有 this.xxx 都指向 formdata 实例,不会漂移到子组件。 // 因此内部所有 this.xxx 都指向 formdata 实例,不会漂移到子组件。
create(formData) { create(formData) {
// 防重复提交:console 在拦截之前,避免日志噪声;拦截后立即置位 // 防重复提交:console 在拦截之前,避免日志噪声;拦截后立即置位
if (this.isRepeat) return if (this.isRepeat) return;
const data = { this.isRepeat = true;
form_id: this.id,
form_data: typeof formData === 'string' ? formData : JSON.stringify(formData),
uniacid: this.uniacid,
url_params: JSON.stringify(this.urlParams),
member_id: this.memberInfo ? this.memberInfo.id : 0
}
console.log(`=====表单提交====`, data);
this.isRepeat = true
this.$api.sendRequest({ this.$api.sendRequest({
url: '/form/api/form/create', url: '/form/api/form/create',
data, data: {
form_id: this.id,
form_data: typeof formData === 'string' ? formData : JSON.stringify(formData),
uniacid: this.uniacid,
url_params: JSON.stringify(this.urlParams),
member_id: this.memberInfo ? this.memberInfo.id : 0
},
success: res => { success: res => {
if (res.code == 0) { if (res.code == 0) {
this.complete = true this.complete = true