去掉setFormDataFun

This commit is contained in:
weibl
2025-12-30 13:54:57 +08:00
parent b9623bc765
commit 242a9158c9
8 changed files with 140 additions and 157 deletions

View File

@@ -84,7 +84,7 @@ onMounted(() => {
});
const formatDataFun = (data: any) => {
data.extras?.forEach((item: any) => {
data?.extras?.forEach((item: any) => {
const { propertyName, propertyValue } = item;
data[propertyName] = propertyValue;
});

View File

@@ -14,7 +14,6 @@
tableName="NODE_LIST_LEVEL2"
hidePagination
showIndex
:head="headData"
:actionList="actionList"
>
<template #leftOptions>
@@ -53,7 +52,7 @@
:height="500"
show-footer
>
<TableForm ref="tableFormRef" tableName="NODE_LIST_LEVEL2" />
<TableForm ref="tableFormRef" tableName="NODE_LIST_LEVEL2" :data="editRowInfo" />
<!-- <el-form :model="nodeForm" label-width="100px">
<el-form-item label="名称">
<el-input v-model="nodeForm.nodeName" />
@@ -214,68 +213,72 @@ const editNodeFun = async (editList: any[]) => {
}
};
// NODE_LIST_LEVEL2
const headData = ref<any[]>([
{
title: '名称',
key: 'nodeName',
isShow: true,
inputMode: 'input',
type: 1,
inForm: false,
required: true,
},
{
title: '计划开始时间',
key: 'beginTime',
isShow: true,
inputMode: 'input',
type: 1,
inForm: false,
required: true,
},
{
title: '计划结束时间',
key: 'endTime',
isShow: true,
inputMode: 'input',
type: 1,
inForm: false,
required: true,
},
{
title: '备注',
key: 'description',
isShow: true,
inputMode: 'input',
type: 1,
inForm: false,
required: true,
},
]);
// const headData = ref<any[]>([
// {
// title: '名称',
// key: 'nodeName',
// isShow: true,
// inputMode: 'input',
// type: 1,
// inForm: false,
// required: true,
// },
// {
// title: '计划开始时间',
// key: 'beginTime',
// isShow: true,
// inputMode: 'input',
// type: 1,
// inForm: false,
// required: true,
// },
// {
// title: '计划结束时间',
// key: 'endTime',
// isShow: true,
// inputMode: 'input',
// type: 1,
// inForm: false,
// required: true,
// },
// {
// title: '备注',
// key: 'description',
// isShow: true,
// inputMode: 'input',
// type: 1,
// inForm: false,
// required: true,
// },
// ]);
const baseTableRef = ref<InstanceType<typeof BaseTable> | null>(null);
// 节点弹窗类型
const nodeFormDiaType = ref('add'); // add 编辑 edit
const editRowInfo = ref({});
const openNodeDialogFun = (type: string, row?: any) => {
nodeFormVisible.value = true;
nodeFormDiaType.value = type;
console.log('row', row);
nextTick(() => {
if (type === 'add') {
tableFormRef.value.resetFun();
// Object.assign(nodeForm, {
// nodeName: '',
// beginTime: '',
// endTime: '',
// description: '',
// });
} else if (type === 'edit') {
// Object.assign(nodeForm, row);
tableFormRef.value.setFormDataFun({ ...row });
}
});
// nextTick(() => {
if (type === 'add') {
editRowInfo.value = {};
// tableFormRef.value.resetFun();
// Object.assign(nodeForm, {
// nodeName: '',
// beginTime: '',
// endTime: '',
// description: '',
// });
} else if (type === 'edit') {
// Object.assign(nodeForm, row);
// tableFormRef.value.setFormDataFun({ ...row });
editRowInfo.value = { ...row, planTime: [row.beginTime, row.endTime] };
}
// });
};
const closeNodeFormFun = () => {

View File

@@ -5,65 +5,17 @@
v-model="dialogVisible"
diaTitle="项目信息"
:width="500"
:height="500"
:height="600"
@close="closeFun"
show-footer
>
<!-- <el-form :model="projectForm" label-width="100px">
<el-form-item label="项目名称">
<el-input v-model="projectForm.nodeName" />
</el-form-item>
<el-form-item label="项目代号">
<el-input v-model="projectForm.nodeCode" />
</el-form-item>
<el-form-item label="项目类型">
<el-select v-model="projectForm.nodeSubType" placeholder="请选择项目类型">
<el-option
v-for="user in PROJECT_TYPE.A"
:key="user.value"
:label="user.label"
:value="user.value"
/>
</el-select>
</el-form-item>
<el-form-item label="项目经理">
<el-select multiple value-key="identity" v-model="projectForm.memberList" placeholder="请选择项目经理">
<el-option
v-for="user in userOptions"
:key="user.identity"
:label="user.name"
:value="user"
/>
</el-select>
</el-form-item>
<el-form-item label="计划开始时间">
<el-date-picker
v-model="projectForm.beginTime"
type="datetime"
placeholder="选择日期"
format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss"
/>
</el-form-item>
<el-form-item label="计划结束时间">
<el-date-picker
v-model="projectForm.endTime"
type="datetime"
placeholder="选择日期"
format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss"
/>
</el-form-item>
<el-form-item type="textarea" label="项目描述">
<el-input v-model="projectForm.description" />
</el-form-item>
</el-form> -->
<TableForm
ref="tableFormRef"
tableName="NODE_LIST_LEVEL1"
:formAttrs="formAttrs"
@load="loadFun"
@change="formChangeFun"
:data="editRowInfo"
>
<template #form-epProjectSelect="{ attrs: slotAttrs }">
<EpProjectSelect
@@ -138,6 +90,8 @@ const emits = defineEmits([
// description: '',
// });
const editRowInfo = ref({});
const addOrEditProject = async () => {
console.log('tableFormRef.value', tableFormRef.value);
if (await tableFormRef.value.validateFun()) {
@@ -258,12 +212,18 @@ const formChangeFun = (val: any) => {
const epProjectSelectFun = (row: any) => {
if (tableFormRef.value) {
tableFormRef.value.setFormDataFun({
editRowInfo.value = {
...tableFormRef.value.getFormDataFun(),
nodeCode: row.projectNum,
nodeName: row.projectName,
projectId: row.id,
});
};
// tableFormRef.value.setFormDataFun({
// ...tableFormRef.value.getFormDataFun(),
// nodeCode: row.projectNum,
// nodeName: row.projectName,
// projectId: row.id,
// });
}
};
const loadFun = async () => {
@@ -277,7 +237,8 @@ const initTableForm = () => {
let statusList = [];
if (!props?.projectId) {
statusList = [{ label: '未开始', value: PROJECT_EXE_STATUS_CODE.NOT_STARTED }];
tableFormRef.value.resetFun();
// tableFormRef.value.resetFun();
editRowInfo.value = {};
// setEditForm({ exeStatus: PROJECT_EXE_STATUS_CODE.NOT_STARTED });
} else {
// setEditForm({ ...props.currentRow });
@@ -298,7 +259,8 @@ const getNodeDetailFun = async () => {
if (tableFormRef.value) {
if (!props?.projectId) {
resetState();
tableFormRef.value.setFormDataFun({ exeStatus: PROJECT_EXE_STATUS_CODE.NOT_STARTED });
// tableFormRef.value.setFormDataFun({ exeStatus: PROJECT_EXE_STATUS_CODE.NOT_STARTED });
editRowInfo.value = { exeStatus: PROJECT_EXE_STATUS_CODE.NOT_STARTED };
} else {
const res: any = await getNodeDetailApi({ projectNodeId: props.projectId });
if (res.code === 200) {
@@ -310,11 +272,16 @@ const getNodeDetailFun = async () => {
planTime: [projectInfo.beginTime, projectInfo.endTime],
memberList: getMemberListIds(projectInfo.memberList),
});
tableFormRef.value.setFormDataFun({
// tableFormRef.value.setFormDataFun({
// ...projectInfo,
// planTime: [projectInfo.beginTime, projectInfo.endTime],
// memberList: getMemberListIds(projectInfo.memberList),
// });
editRowInfo.value = {
...projectInfo,
planTime: [projectInfo.beginTime, projectInfo.endTime],
memberList: getMemberListIds(projectInfo.memberList),
});
};
}
}
}

View File

@@ -13,7 +13,7 @@
: '编辑流程'
"
:width="500"
:height="500"
:height="400"
@close="closeFun"
show-footer
>
@@ -21,6 +21,7 @@
ref="tableFormRef"
tableName="SIMULATION_FLOW_LIB_LIST"
:showDisabled="dialogType === 'upgrade'"
:data="editRowInfo"
>
<template #form-templateVersion>
<div class="template-version">
@@ -56,7 +57,7 @@
<script lang="ts" setup>
import Dialog from '@/components/common/dialog/index.vue';
// import { ElMessage } from 'element-plus';
import { computed, nextTick, ref } from 'vue';
import { computed, ref } from 'vue';
import TableForm from '@/components/common/table/tableForm.vue';
import PoolTaskSelect from '@/components/pool/poolTaskSelect.vue';
import { addFlowTemplateDraftApi, updateFlowTemplateDraftApi } from '@/api/capability/flow';
@@ -174,13 +175,16 @@ const closeFun = () => {
const oldFormData = ref<any>({});
const editRowInfo = ref({});
const setEditForm = (val: any) => {
console.log('val', val, tableFormRef.value);
oldFormData.value = val;
nextTick(() => {
simulationPoolInfoList.value = val.simulationPoolInfoList || [];
tableFormRef.value.setFormDataFun({ ...val });
});
// nextTick(() => {
simulationPoolInfoList.value = val.simulationPoolInfoList || [];
// tableFormRef.value.setFormDataFun({ ...val });
editRowInfo.value = { ...val };
// });
};
const resetForm = () => {
@@ -192,7 +196,8 @@ const resetForm = () => {
// projectForm.endTime = '';
// projectForm.description = '';
simulationPoolInfoList.value = [];
tableFormRef.value.resetFun();
// tableFormRef.value.resetFun();
editRowInfo.value = {};
};
const setOptionsFun = (key: string, options: any[]) => {

View File

@@ -30,7 +30,7 @@
show-footer
>
<div class="content">
<TableForm ref="tableFormRef" tableName="NODE_DETAIL_FILE" />
<TableForm ref="tableFormRef" tableName="NODE_DETAIL_FILE" :data="editRowInfo" />
</div>
<template #footer>
<div>
@@ -46,7 +46,7 @@
<script lang="ts" setup>
import BaseTable from '@/components/common/table/baseTable.vue';
import Dialog from '@/components/common/dialog/index.vue';
import { nextTick, ref } from 'vue';
import { ref } from 'vue';
import { dataDelFileApi, dataQueryDirApi, dataUpdateFileApi } from '@/api/data/data';
import TableForm from '@/components/common/table/tableForm.vue';
import { upload } from '@/api/request';
@@ -118,18 +118,22 @@ const actionList = ref<any>([
},
]);
const editRowInfo = ref({});
const openDialog = (type: string, row?: any) => {
isEditDialog.value = type === 'edit';
dialogVisible.value = true;
nextTick(() => {
if (type === 'edit' && row) {
row.fileType = String(row.fileType);
row.files = [{ name: row.originalName }];
tableFormRef.value.setFormDataFun(row);
} else if (type === 'add') {
tableFormRef.value.resetFun();
}
});
// nextTick(() => {
if (type === 'edit' && row) {
row.fileType = String(row.fileType);
row.files = [{ name: row.originalName }];
// tableFormRef.value.setFormDataFun(row);
editRowInfo.value = row;
} else if (type === 'add') {
editRowInfo.value = {};
// tableFormRef.value.resetFun();
}
// });
};
const tableFormRef = ref();

View File

@@ -56,6 +56,7 @@
:hide-keys="hideKeys"
@change="changeFun"
@load="formLoad"
:data="editRow"
>
</TableForm>
<template #footer>
@@ -136,11 +137,11 @@ const closeFun = () => {
const editRow = ref();
const editTaskFun = (row: any) => {
formVisible.value = true;
editRow.value = row;
editRow.value = { ...row, achieveStatus: row.achieveStatus + '' };
getHideKeys(row.exeStatus);
nextTick(() => {
formLoad();
tableFormRef.value.setFormDataFun({ ...row, achieveStatus: row.achieveStatus + '' });
// tableFormRef.value.setFormDataFun({ ...row, achieveStatus: row.achieveStatus + '' });
});
};
const formLoad = () => {

View File

@@ -29,6 +29,7 @@
tableName="SIMULATION_TASK_SEND_LIST"
showDisabled
@load="formLoad"
:data="editFormInfo"
>
</TableForm>
<template #footer>
@@ -111,13 +112,20 @@ const editTaskFun = (row: any) => {
setFormData(editRow.value);
// });
};
const editFormInfo = ref({});
const setFormData = (row: any) => {
if (tableFormRef.value) {
tableFormRef.value.setFormDataFun({
// tableFormRef.value.setFormDataFun({
// ...row,
// achieveStatus: row.achieveStatus + '',
// eMemberList: getMemberListIds(row.eMemberList),
// });
editFormInfo.value = {
...row,
achieveStatus: row.achieveStatus + '',
eMemberList: getMemberListIds(row.eMemberList),
});
};
}
};

View File

@@ -41,7 +41,7 @@
:loading="loadingInterface"
:diaTitle="isCreateDialog ? '创建需求' : '编辑需求'"
:width="800"
:height="500"
:height="550"
@close="closeFun"
show-footer
>
@@ -52,6 +52,7 @@
@load="loadTableForm"
:colNum="2"
:hideKeys="hideKeys"
:data="editFormInfo"
>
<template v-for="name in Object.keys($slots)" :key="name" #[name]="scope">
<slot :name="name" v-bind="scope" />
@@ -142,6 +143,8 @@ const demandInfo = reactive({
const isCreateDialog = ref(true);
const editFormInfo = ref({});
const visibleDialog = async (isCreate: boolean, row?: any) => {
console.log('row', row);
formVisible.value = true;
@@ -192,12 +195,14 @@ const visibleDialog = async (isCreate: boolean, row?: any) => {
if (row.aMemberList) {
aMemberList = getMemberListIds(row.aMemberList);
}
tableFormRef.value.setFormDataFun({ ...row, pMemberList, tMemberList, aMemberList });
editFormInfo.value = { ...row, pMemberList, tMemberList, aMemberList };
// tableFormRef.value.setFormDataFun({ ...row, pMemberList, tMemberList, aMemberList });
});
} else {
nextTick(() => {
tableFormRef.value.resetFun();
});
editFormInfo.value = {};
// nextTick(() => {
// tableFormRef.value.resetFun();
// });
}
emits('visibleDialog', { isCreate, row });
};
@@ -331,19 +336,7 @@ const deleteFileList = ref<number[]>([]);
const oldAttachments = ref<any[]>([]);
const changeFun = async (val: any, type: string) => {
console.log('val', val);
let optionRef: any;
if (type === 'search') {
optionRef = tableRef.value;
} else {
optionRef = tableFormRef.value;
}
// if (val.key === 'projectId' || val.key === 'phaseId') {
// console.log('changeFun', val);
// let nodeType = '';
// let nextKey = '';
// let nodeId = '';
// val.key === 'phaseId' ||
console.log('val', val, type);
if (val.key === 'projectId') {
console.log('changeFun', val);
@@ -356,15 +349,17 @@ const changeFun = async (val: any, type: string) => {
nodeId = val.data.projectId;
}
const optionList = await getPhaseList(nodeType, nodeId);
optionRef.setOptionsFun(nextKey, optionList);
const formData = optionRef.getFormDataFun();
optionRef.setFormDataFun({ ...formData, phaseId: '' });
tableFormRef.value.setOptionsFun(nextKey, optionList);
const formData = tableFormRef.value.getFormDataFun();
// tableFormRef.value.setFormDataFun({ ...formData, phaseId: '' });
editFormInfo.value = { ...formData, phaseId: '' };
}
if (val.key === 'demandType') {
const simTypeList: any = commonStore.getDictData(val.data.demandType);
optionRef.setOptionsFun('simType', simTypeList.A);
const formData = optionRef.getFormDataFun();
optionRef.setFormDataFun({ ...formData, simType: '' });
tableFormRef.value.setOptionsFun('simType', simTypeList.A);
const formData = tableFormRef.value.getFormDataFun();
// tableFormRef.value.setFormDataFun({ ...formData, simType: '' });
editFormInfo.value = { ...formData, simType: '' };
}
emits('changeForm', { val, type });
};