From 29b7551a8909d14c2353d8e5a48c029112885701 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=8E=E8=82=96=E7=A3=8A?= <18851179580@163.com> Date: Thu, 31 Jul 2025 14:54:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B3=A8=E9=87=8A=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/form-input/form-input-base.vue | 100 ++++++++++++++---- .../components/form-input/form-input.vue | 6 +- 2 files changed, 80 insertions(+), 26 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 089db520..0e9013a1 100644 --- a/pages/form-input/components/form-input/form-input-base.vue +++ b/pages/form-input/components/form-input/form-input-base.vue @@ -306,6 +306,9 @@ export default { is_custom: overall_config.type_value == 'free', }); }, + /* + * 初始表单数据整合 + */ set_default_values(diy_data, overall_config, mobile) { diy_data.forEach(item => { const com_data = item.com_data; @@ -407,15 +410,23 @@ export default { return common_form_styles_computer(item) + 'padding: 0px 22rpx;box-sizing:content-box;'; } }, + /* + * 帮助提示说明 + */ help_icon_event(e) { this.setData({ popup_help_content: e.currentTarget.dataset.value }); this.$refs.popup.open(); }, + /* + * 子表单帮助提示说明 + */ subform_help_icon_event(e) { this.setData({ popup_help_content: e }); this.$refs.popup.open(); }, - // 表单数据更新处理 + /* + * 表单数据更新处理 + */ data_change(e) { const { value, id } = e; // 改变对应id的数据 @@ -429,6 +440,9 @@ export default { // 触发数据修改的事件 this.verify_when_data_changes(id); }, + /* + * 其他的备注信息修改 + */ data_outer_change(e) { const { value, id } = e; // 改变对应id的数据 @@ -442,7 +456,9 @@ export default { // 触发数据修改的事件 this.verify_when_data_changes(id); }, - // 表单校验逻辑 + /* + * 表单内数据的校验完成后的数据更新 + */ data_check(e) { const { is_error, error_text, value, id } = e; // 改变对应id的数据 @@ -458,6 +474,9 @@ export default { // 触发数据修改的事件 this.on_item_event(e); }, + /* + * 其他的值修改后校验的数据更新 + */ data_outer_check(e) { const { is_error, error_text, value, id } = e; // 改变对应id的数据 @@ -473,7 +492,9 @@ export default { // 触发数据修改的事件 this.on_item_event(e); }, - // 添加新选项时的处理 + /* + * 添加新选项时的处理 + */ data_option_change(e) { const { list, value, id } = e; // 改变对应id的数据 @@ -486,7 +507,9 @@ export default { }); this.setData({ data_list: data }); }, - // 手机号验证码的值的修改 + /* + * 手机号验证码的值的修改 + */ data_code_change(e) { const { value, id } = e; // 改变对应id的数据 @@ -498,7 +521,9 @@ export default { }); this.setData({ data_list: data }); }, - // 手机号验证码的校验 + /* + * 手机号验证码的校验 + */ data_code_check(e) { const { is_error, error_text, value, id } = e; // 改变对应id的数据 @@ -514,18 +539,9 @@ export default { // 触发数据修改的事件 this.on_item_event(e); }, - data_address_change(e) { - const { value, id } = e; - // 改变对应id的数据 - const data = [...this.data_list]; - data.forEach(item => { - if (item.id == id && item.com_data) { - item.com_data.detailed_value = value; - } - }); - this.setData({ data_list: data }); - }, - // 子表单数据更新 + /* + * 子表单数据更新 + */ subform_data_change(e, id) { // 改变对应id的数据 const data = [...this.data_list]; @@ -538,7 +554,9 @@ export default { // 触发数据修改的事件 this.verify_when_data_changes(id); }, - // 地址信息更新 + /* + * 地址信息更新 + */ region_event(e) { const { value, id, province_name, city_name, county_name } = e; // 改变对应id的数据 @@ -553,6 +571,23 @@ export default { }); this.setData({ data_list: data }); }, + /* + * 详细地址信息处理 + */ + data_address_change(e) { + const { value, id } = e; + // 改变对应id的数据 + const data = [...this.data_list]; + data.forEach(item => { + if (item.id == id && item.com_data) { + item.com_data.detailed_value = value; + } + }); + this.setData({ data_list: data }); + }, + /* + * 表单提交 + */ on_submit_event() { try { // 校验所有的必填项和逻辑 @@ -587,6 +622,9 @@ export default { this.$emit('submitEvent', { type: 'error', submit_data: {}, message: '数据错误'}); } }, + /* + * 表单提交参数处理 + */ submit_data_parameter_handle() { try { const submit_data = {}; @@ -643,6 +681,9 @@ export default { this.$emit('submitEvent', { type: 'error', submit_data: {}, message: '数据错误'}); } }, + /* + * 表单提交校验逻辑 + */ submit_data_check() { const data = JSON.parse(JSON.stringify(this.filteredDiyData)); // 遍历所有过滤后的自定义数据项 @@ -680,7 +721,9 @@ export default { }); return data; }, - // 子表单的数据校验 + /* + * 子表单的校验 + */ subform_data_check(com_data) { // 子表单整体必填验证 if (com_data.is_required === '1' && com_data.data_list.length <= 0) { @@ -725,7 +768,9 @@ export default { } return com_data; }, - // 子表单内的数据提取 + /* + * 子表单内的数据提取 + */ subform_data_extraction(data_list) { return data_list.map((subform_item) => { const data = {}; @@ -758,7 +803,9 @@ export default { return data; }); }, - // 处理手机号验证逻辑 + /* + * 处理手机号验证逻辑 + */ handle_phone_validation(com_data) { if (com_data.is_sms_verification === '1' && com_data.is_required === '1' && isEmpty(com_data.form_value_code)) { com_data.common_config.is_error = '1'; @@ -768,7 +815,9 @@ export default { com_data.common_config.format = com_data.is_telephone === '1' ? 'telephone-number' : 'phone-number'; return get_format_checks(com_data, com_data.form_value, true); }, - // 子表单显隐规则数据处理 + /* + * 子表单显隐规则数据处理 + */ filtered_Data(children) { const componentMap = new Map(children.map((item) => [item.id, item])); @@ -843,7 +892,9 @@ export default { }); } }, - // 单个文件更新触发的事件 + /* + * 单个文件更新触发的事件 + */ on_item_event(e) { // 取出对应id的数据 const data = this.data_list.find((item) => item.id == e.id); @@ -852,6 +903,9 @@ export default { this.$emit('onItemEvent', { type: e.is_error == '1' ? 'error' : 'success', message: e.error_text, value: e.value, form_name: data.form_name }); } }, + /* + * 层级修改 + */ z_index_change(e) { this.setData({ z_index_id: e diff --git a/pages/form-input/components/form-input/form-input.vue b/pages/form-input/components/form-input/form-input.vue index 0da73655..ab808a8d 100644 --- a/pages/form-input/components/form-input/form-input.vue +++ b/pages/form-input/components/form-input/form-input.vue @@ -123,7 +123,7 @@ export default { submit_event(e) { const { type = 'success', message = '', submit_data = {}} = e; if (type == 'error') { - app.globalData.showToast(message, 'error'); + app.globalData.showToast(message); } else { const params = { forminput_id: this.propDataFormId, @@ -140,12 +140,12 @@ export default { if (res.data.code == 0) { app.globalData.showToast('提交成功', 'success'); } else { - app.globalData.showToast('提交失败', 'error'); + app.globalData.showToast('提交失败'); } }, fail: (res) => { this.is_submit_disable = false; - app.globalData.showToast('提交失败', 'error'); + app.globalData.showToast('提交失败'); } }); }