refactor(form): 调整代码缩进与格式,优化提交逻辑
统一模板缩进为制表符,移除冗余日志,将提交数据内联至请求参数以精简代码结构
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user