hookehuyr

fix 隐藏字段的值需要被删除

<!--
* @Date: 2022-07-18 10:22:22
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2024-08-20 10:07:25
* @LastEditTime: 2024-09-10 10:19:41
* @FilePath: /data-table/src/views/index.vue
* @Description: 首页
-->
......@@ -198,7 +198,7 @@ import { useRoute } from "vue-router";
import { queryFormAPI, postVerifyPasswordAPI } from "@/api/form.js";
import { addFormDataAPI, queryFormDataAPI, modiFormDataAPI, flowFormDataAPI } from "@/api/data.js";
import { showSuccessToast, showFailToast, showConfirmDialog, showToast } from "vant";
import { wxInfo, getUrlParams, formatDate } from "@/utils/tools";
import { wxInfo, getUrlParams, formatDate, prettyLog } from "@/utils/tools";
import { styleColor } from "@/constant.js";
import { sharePage } from '@/composables/useShare.js'
import wx from 'weixin-js-sdk'
......@@ -448,6 +448,23 @@ onMounted(async () => {
};
}
// page_form.push({
// "tag": "divider",
// "name": "name_2",
// "index": 2,
// "label": "表格",
// "unique": false,
// "default": "",
// "disabled": false,
// "field_id": 799599,
// "readonly": false,
// "required": false,
// "data_type": "text",
// "field_name": "field_2",
// "placeholder": "请输入",
// "interaction_type": "h5edit"
// })
formData.value = formatData(page_form);
// TAG:获取原来表单数据
......@@ -936,19 +953,24 @@ const onSubmit = async (values) => { // 表单提交回调
// 合并扩展字段
postData.value = { ...postData.value, x_field_1, x_cycle };
// formData.value disabled=true 数据处理, 表单页面上不显示
let removeField = []; // 移除字段
formData.value?.forEach(item => {
if (item.component_props.disabled) {
removeField.push(item);
// 隐藏字段的值需要被置空
postData.value[item.key] = '';
// postData.value[item.key] = '';
// 隐藏字段的值需要被删除
delete postData.value[item.key];
}
});
// 检查非表单输入项
if (validOther().status) {
// 编辑模式不能提交数据
if (model === 'edit') {
console.warn(removeField);
console.warn(postData.value);
}
if (model === 'edit' || model === 'preview' || page_type === 'info') return false;
// if (model === 'edit' || model === 'preview' || page_type === 'info') return false;
// 提交按钮禁用
submitStatus.value = true;
// TAG:不同类型提交表单处理
......@@ -1022,6 +1044,13 @@ const onSubmit = async (values) => { // 表单提交回调
submitStatus.value = false;
}
} else if (page_type === 'flow') { // 流程表单提交
// 从historyData历史数据里面,把隐藏字段移除
removeField?.forEach(item => {
if (item.component_props.disabled) {
// 隐藏字段的值需要被删除
delete historyData.value[item.key];
}
});
// 显示的数据不是完整的数据,把historyData历史数据合并到postData.value提交数据里面
for (let key in historyData.value) {
if (!(key in postData.value)) {
......