hookehuyr

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

1 <!-- 1 <!--
2 * @Date: 2022-07-18 10:22:22 2 * @Date: 2022-07-18 10:22:22
3 * @LastEditors: hookehuyr hookehuyr@gmail.com 3 * @LastEditors: hookehuyr hookehuyr@gmail.com
4 - * @LastEditTime: 2024-08-20 10:07:25 4 + * @LastEditTime: 2024-09-10 10:19:41
5 * @FilePath: /data-table/src/views/index.vue 5 * @FilePath: /data-table/src/views/index.vue
6 * @Description: 首页 6 * @Description: 首页
7 --> 7 -->
...@@ -198,7 +198,7 @@ import { useRoute } from "vue-router"; ...@@ -198,7 +198,7 @@ import { useRoute } from "vue-router";
198 import { queryFormAPI, postVerifyPasswordAPI } from "@/api/form.js"; 198 import { queryFormAPI, postVerifyPasswordAPI } from "@/api/form.js";
199 import { addFormDataAPI, queryFormDataAPI, modiFormDataAPI, flowFormDataAPI } from "@/api/data.js"; 199 import { addFormDataAPI, queryFormDataAPI, modiFormDataAPI, flowFormDataAPI } from "@/api/data.js";
200 import { showSuccessToast, showFailToast, showConfirmDialog, showToast } from "vant"; 200 import { showSuccessToast, showFailToast, showConfirmDialog, showToast } from "vant";
201 -import { wxInfo, getUrlParams, formatDate } from "@/utils/tools"; 201 +import { wxInfo, getUrlParams, formatDate, prettyLog } from "@/utils/tools";
202 import { styleColor } from "@/constant.js"; 202 import { styleColor } from "@/constant.js";
203 import { sharePage } from '@/composables/useShare.js' 203 import { sharePage } from '@/composables/useShare.js'
204 import wx from 'weixin-js-sdk' 204 import wx from 'weixin-js-sdk'
...@@ -448,6 +448,23 @@ onMounted(async () => { ...@@ -448,6 +448,23 @@ onMounted(async () => {
448 }; 448 };
449 } 449 }
450 450
451 + // page_form.push({
452 + // "tag": "divider",
453 + // "name": "name_2",
454 + // "index": 2,
455 + // "label": "表格",
456 + // "unique": false,
457 + // "default": "",
458 + // "disabled": false,
459 + // "field_id": 799599,
460 + // "readonly": false,
461 + // "required": false,
462 + // "data_type": "text",
463 + // "field_name": "field_2",
464 + // "placeholder": "请输入",
465 + // "interaction_type": "h5edit"
466 + // })
467 +
451 formData.value = formatData(page_form); 468 formData.value = formatData(page_form);
452 469
453 // TAG:获取原来表单数据 470 // TAG:获取原来表单数据
...@@ -936,19 +953,24 @@ const onSubmit = async (values) => { // 表单提交回调 ...@@ -936,19 +953,24 @@ const onSubmit = async (values) => { // 表单提交回调
936 // 合并扩展字段 953 // 合并扩展字段
937 postData.value = { ...postData.value, x_field_1, x_cycle }; 954 postData.value = { ...postData.value, x_field_1, x_cycle };
938 // formData.value disabled=true 数据处理, 表单页面上不显示 955 // formData.value disabled=true 数据处理, 表单页面上不显示
956 + let removeField = []; // 移除字段
939 formData.value?.forEach(item => { 957 formData.value?.forEach(item => {
940 if (item.component_props.disabled) { 958 if (item.component_props.disabled) {
959 + removeField.push(item);
941 // 隐藏字段的值需要被置空 960 // 隐藏字段的值需要被置空
942 - postData.value[item.key] = ''; 961 + // postData.value[item.key] = '';
962 + // 隐藏字段的值需要被删除
963 + delete postData.value[item.key];
943 } 964 }
944 }); 965 });
945 // 检查非表单输入项 966 // 检查非表单输入项
946 if (validOther().status) { 967 if (validOther().status) {
947 // 编辑模式不能提交数据 968 // 编辑模式不能提交数据
948 if (model === 'edit') { 969 if (model === 'edit') {
970 + console.warn(removeField);
949 console.warn(postData.value); 971 console.warn(postData.value);
950 } 972 }
951 - if (model === 'edit' || model === 'preview' || page_type === 'info') return false; 973 + // if (model === 'edit' || model === 'preview' || page_type === 'info') return false;
952 // 提交按钮禁用 974 // 提交按钮禁用
953 submitStatus.value = true; 975 submitStatus.value = true;
954 // TAG:不同类型提交表单处理 976 // TAG:不同类型提交表单处理
...@@ -1022,6 +1044,13 @@ const onSubmit = async (values) => { // 表单提交回调 ...@@ -1022,6 +1044,13 @@ const onSubmit = async (values) => { // 表单提交回调
1022 submitStatus.value = false; 1044 submitStatus.value = false;
1023 } 1045 }
1024 } else if (page_type === 'flow') { // 流程表单提交 1046 } else if (page_type === 'flow') { // 流程表单提交
1047 + // 从historyData历史数据里面,把隐藏字段移除
1048 + removeField?.forEach(item => {
1049 + if (item.component_props.disabled) {
1050 + // 隐藏字段的值需要被删除
1051 + delete historyData.value[item.key];
1052 + }
1053 + });
1025 // 显示的数据不是完整的数据,把historyData历史数据合并到postData.value提交数据里面 1054 // 显示的数据不是完整的数据,把historyData历史数据合并到postData.value提交数据里面
1026 for (let key in historyData.value) { 1055 for (let key in historyData.value) {
1027 if (!(key in postData.value)) { 1056 if (!(key in postData.value)) {
......