From c4bde16ea289c15339ca53d84c084ec4f4339941 Mon Sep 17 00:00:00 2001 From: gongfuxiang Date: Wed, 22 Oct 2025 16:01:31 +0800 Subject: [PATCH] form input --- .../components/form-input/form-input-base.vue | 20 +++---- .../components/form-input/form-input.vue | 11 +--- .../buy-ordergoodsform/buy-ordergoodsform.vue | 55 +++++++++++++------ 3 files changed, 51 insertions(+), 35 deletions(-) diff --git a/pages/form-input/components/form-input/form-input-base.vue b/pages/form-input/components/form-input/form-input-base.vue index 7680814b..2f130a95 100644 --- a/pages/form-input/components/form-input/form-input-base.vue +++ b/pages/form-input/components/form-input/form-input-base.vue @@ -620,21 +620,21 @@ export default { return { ...item, ...match }; }); this.setData({ data_list: data_list }); - this.$emit('onSubmitEvent', { type: 'error', submit_data: {}, message: message }); + return { forminput_id: this.propFormInputId, type: 'error', submit_data: {}, message: message }; } else { - this.submit_data_parameter_handle(); + return this.submit_data_parameter_handle(); } } catch (error) { - this.$emit('onSubmitEvent', { type: 'error', submit_data: {}, message: '数据错误'}); + return { forminput_id: this.propFormInputId, type: 'error', submit_data: {}, message: '数据错误'}; } }, /* * 表单提交参数处理 */ submit_data_parameter_handle() { - try { + let forminput_id = this.propFormInputId; + try { const submit_data = {}; - // const filter_data = ['video', 'img', 'auxiliary-line', 'position', 'rect', 'round', 'text', 'attachments']; // 规整字段信息 this.filteredDiyData.forEach((item) => { if (!this.filter_data.includes(item.key)) { @@ -682,9 +682,9 @@ export default { } } }); - this.$emit('onSubmitEvent', { type: 'success', submit_data: submit_data, message: ''}); + return { forminput_id: forminput_id, type: 'success', submit_data: submit_data, message: ''}; } catch (error) { - this.$emit('onSubmitEvent', { type: 'error', submit_data: {}, message: '数据错误'}); + return { forminput_id: forminput_id, type: 'error', submit_data: {}, message: '数据错误'}; } }, /* @@ -744,7 +744,7 @@ export default { // 验证子表单内各字段 com_data.data_list.forEach((form_item, index) => { // 取出对应列的数据信息 - const form_data = this.filtered_Data(form_item.data_list); + const form_data = this.filtered_data(form_item.data_list); form_data.forEach((data_item) => { // 跳过非必填项 if (data_item.com_data.is_required !== '1') return; @@ -827,7 +827,7 @@ export default { /* * 子表单显隐规则数据处理 */ - filtered_Data(children) { + filtered_data(children) { const componentMap = new Map(children.map((item) => [item.id, item])); // 取出所有设置显隐规则的组件 @@ -910,7 +910,7 @@ export default { const data = this.data_list.find((item) => item.id == e.id); // 判断是否为空,为空则不进行处理 if (data) { - this.$emit('onItemEvent', { type: e.is_error == '1' ? 'error' : 'success', message: e.error_text, value: e.value, form_name: data.form_name }); + this.$emit('onItemEvent', { forminput_id: this.propFormInputId, type: e.is_error == '1' ? 'error' : 'success', message: e.error_text, value: e.value, form_name: data.form_name, form_title: data.com_data.title }); } }, /* diff --git a/pages/form-input/components/form-input/form-input.vue b/pages/form-input/components/form-input/form-input.vue index 5da6f510..1626f638 100644 --- a/pages/form-input/components/form-input/form-input.vue +++ b/pages/form-input/components/form-input/form-input.vue @@ -10,7 +10,7 @@ {{ form_name }} - + @@ -29,7 +29,7 @@ {{ form_name }} - + @@ -177,12 +177,7 @@ export default { * 点击提交按钮触发方法 */ on_submit_event() { - this.$refs.componentForm.on_submit_event(); - }, - /* - * 表单校验完成之后返回的数据内容 - */ - submit_event(e) { + const e = this.$refs.component_form.on_submit_event(); const { type = 'success', message = '', submit_data = {}} = e; if (type == 'error') { app.globalData.showToast(message); diff --git a/pages/plugins/ordergoodsform/components/buy-ordergoodsform/buy-ordergoodsform.vue b/pages/plugins/ordergoodsform/components/buy-ordergoodsform/buy-ordergoodsform.vue index b567b1bd..0555a7e1 100644 --- a/pages/plugins/ordergoodsform/components/buy-ordergoodsform/buy-ordergoodsform.vue +++ b/pages/plugins/ordergoodsform/components/buy-ordergoodsform/buy-ordergoodsform.vue @@ -1,26 +1,15 @@