hookehuyr

fix 编辑和流程模式下,显示的数据不是完整的历史数据需要合并提交

<!--
* @Date: 2022-07-18 10:22:22
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2024-07-12 09:54:41
* @LastEditTime: 2024-07-13 19:08:45
* @FilePath: /data-table/src/views/index.vue
* @Description: 首页
-->
......@@ -182,6 +182,7 @@ const PHeader_title = ref("");
const mockData = ref([]);
const formData = ref([]);
const postData = ref({});
const historyData = ref({});
// 编辑模式不能提交操作
const model = $route.query.model;
......@@ -266,10 +267,6 @@ const onClickFloatingBubble = () => {
}
const myForm = ref(null);
const approval_actions = ref([]);
setTimeout(() => {
// 审核操作列表数据
approval_actions.value = formSetting.value.flow_node_action_list?.map((item) => { return { name: item.btnText, id: item.id } });
}, 1000);
const onApprovalSelect = (item) => {
flow_node_action_id.value = item.id;
if (page_type === 'add') { // 新增页面统一处理为提交
......@@ -554,6 +551,7 @@ onMounted(async () => {
const history_data = await queryFormDataAPI({ form_code: $route.query.code, data_id, openid: iframe_openid });
if (history_data.code) {
let object = history_data.data; // 表单数据
console.log("🚀 ~ file: index.vue:553 ~ onMounted ~ object:", object);
formData.value.forEach((item) => { // 把对应数据赋值到表单
for (const key in object) {
const element = object[key];
......@@ -567,6 +565,7 @@ onMounted(async () => {
}
}
});
historyData.value = history_data.data; // 历史表单字段数据
}
if (!history_data) {
PCommit.value.visible = false; // 查询数据错误,提交按钮隐藏
......@@ -679,6 +678,13 @@ onMounted(async () => {
submitStatus.value = true;
}
}
setTimeout(() => {
// 审核操作列表数据
approval_actions.value = formSetting.value.flow_node_action_list?.map((item) => { return { name: item.btnText, id: item.id } });
console.log("🚀 ~ file: index.vue:683 ~ setTimeout ~ formSetting.value:", formSetting.value);
}, 1000);
});
// 打开轮询用户是否关注
......@@ -1012,6 +1018,12 @@ const onSubmit = async (values) => {
submitStatus.value = false;
}
} else if (page_type === 'edit') { // 编辑表单提交
// 把historyData历史数据合并到postData.value提交数据里面
for (let key in historyData.value) {
if (!(key in postData.value)) {
postData.value[key] = historyData.value[key];
}
}
// 编辑模式表单提交
const result = await modiFormDataAPI({
form_code: $route.query.code,
......@@ -1033,6 +1045,12 @@ const onSubmit = async (values) => {
submitStatus.value = false;
}
} else if (page_type === 'flow') { // 流程表单提交
// 把historyData历史数据合并到postData.value提交数据里面
for (let key in historyData.value) {
if (!(key in postData.value)) {
postData.value[key] = historyData.value[key];
}
}
const result = await flowFormDataAPI({
form_code: $route.query.code,
data: postData.value,
......