This commit is contained in:
ljx
2025-08-21 21:40:14 +08:00
parent f01487dc50
commit 5556264b9e
4 changed files with 80 additions and 26 deletions

View File

@ -64,6 +64,12 @@
<el-col :span="24">
<el-card shadow="never">
<el-form :model="treeForm" :inline="true">
<el-form-item label="版本" prop="versions">
<el-select v-model="treeForm.versions" placeholder="选择版本" @change="changeSheet">
<el-option v-for="item in options" :key="item.versions" :label="item.versions" :value="item.versions" />
</el-select>
</el-form-item>
<el-form-item label="表名" prop="sheet">
<el-select v-model="treeForm.sheet" placeholder="选择表名" @change="changeSheet">
<el-option v-for="item in sheets" :key="item" :label="item" :value="item" />
@ -146,7 +152,16 @@ import { useUserStoreHook } from '@/store/modules/user';
import { getDicts } from '@/api/system/dict/data';
import { Plus } from '@element-plus/icons-vue';
import { FormInstance } from 'element-plus';
import { treeList, sheetList, segmentedIndicatorPlanning, getPlanningList, updatePlanning, delPlanning, getDetailsList } from '@/api/contract/index';
import {
treeList,
sheetList,
segmentedIndicatorPlanning,
getPlanningList,
updatePlanning,
delPlanning,
getDetailsList,
obtainAllVersionNumbers
} from '@/api/contract/index';
const userStore = useUserStoreHook();
const currentProject = computed(() => userStore.selectedProject);
@ -198,7 +213,8 @@ const getList = async () => {
projectId: currentProject.value?.id,
...queryParams.value,
...queryForm.value,
dictName: activeTab.value
dictName: activeTab.value,
type: '1'
};
const res = await getPlanningList(params);
if (res.code == 200) {
@ -234,7 +250,7 @@ const resetQuery = () => {
const openDialog = () => {
dialogVisible.value = true;
getSheetName();
getVersionNums();
};
const closeDialog = () => {
dialogVisible.value = false;
@ -246,19 +262,54 @@ const closeDialog = () => {
};
const treeData = ref<any[]>([]);
const treeForm = ref({
sheet: ''
sheet: '',
versions: ''
});
const sheets = ref<any[]>([]);
const treeTableRef = ref();
const isExpandAll = ref(false);
const treeLoading = ref(false);
const selectionData = ref<any>([]);
const options = ref<any[]>([]);
//获取版本号
const getVersionNums = async () => {
try {
const params = {
projectId: currentProject.value?.id,
workOrderType: '1',
pageSize: 1000,
pageNum: 1
};
const res = await obtainAllVersionNumbers(params);
if (res.code == 200) {
options.value = res.data;
if (res.data.length > 0) {
treeForm.value.versions = res.data[0].versions;
getSheetName();
} else {
treeForm.value.versions = '';
ElMessage({
message: '获取版本号失败',
type: 'warning'
});
}
}
} catch (error) {
console.log(error);
ElMessage({
message: '获取版本号失败',
type: 'warning'
});
}
};
//获取表名
const getSheetName = async () => {
try {
const params = {
projectId: currentProject.value?.id
// versions: queryForm.value.versions
projectId: currentProject.value?.id,
versions: treeForm.value.versions
};
const res = await sheetList(params);
if (res.code == 200) {
@ -333,7 +384,9 @@ const getTreeList = async () => {
treeLoading.value = true;
const params = {
projectId: currentProject.value?.id,
sheet: treeForm.value.sheet
sheet: treeForm.value.sheet,
versions: treeForm.value.versions,
type: '1'
};
const res = await treeList(params);
if (res.code == 200) {
@ -380,7 +433,10 @@ const submitForm = async (formEl: FormInstance | undefined) => {
projectId: currentProject.value?.id,
...form.value,
dictName: activeTab.value,
limitListBos
limitListBos,
type: '1',
versions: treeForm.value.versions,
sheet: treeForm.value.sheet
};
const res = await segmentedIndicatorPlanning(params);
if (res.code == 200) {
@ -409,7 +465,7 @@ const handleSave = (row: any) => {
});
return;
}
updatePlanning(row).then((res) => {
updatePlanning({ ...row, type: '1' }).then((res) => {
if (res.code == 200) {
ElMessage({
message: '修改成功',
@ -420,10 +476,6 @@ const handleSave = (row: any) => {
});
} catch (error) {
console.log(error);
ElMessage({
message: '修改失败',
type: 'error'
});
}
};
//删除
@ -441,10 +493,6 @@ const delHandle = (row: any) => {
});
} catch (error) {
console.log(error);
ElMessage({
message: '删除失败',
type: 'error'
});
}
};
const detailDialog = ref();
@ -457,7 +505,7 @@ const handleDetail = (row: any) => {
getDetails(row);
};
const getDetails = (row: any) => {
getDetailsList({ id: row.id }).then((res) => {
getDetailsList({ id: row.id, type: '1' }).then((res) => {
if (res.code == 200) {
detailData.value = res.data;
}

View File

@ -5,7 +5,7 @@
<el-form :model="queryForm" :inline="true">
<el-form-item label="版本号" prop="versions">
<el-select v-model="queryForm.versions" placeholder="选择版本号" @change="changeVersions">
<el-option v-for="item in options" :key="item" :label="item" :value="item" />
<el-option v-for="item in options" :key="item.versions" :label="item.versions" :value="item.versions" />
</el-select>
</el-form-item>
<el-form-item label="表名" prop="sheet">
@ -109,7 +109,8 @@ const getVersionNums = async () => {
if (res.code == 200) {
options.value = res.data;
if (res.data.length > 0) {
queryForm.value.versions = res.data[0];
queryForm.value.versions = res.data[0].versions;
getSheetName();
} else {
queryForm.value.versions = '';
@ -173,7 +174,8 @@ const getTableData = async () => {
const params = {
projectId: currentProject.value?.id,
versions: queryForm.value.versions,
sheet: queryForm.value.sheet
sheet: queryForm.value.sheet,
type: '1'
};
const res = await listBillofquantitiesLimitList(params);
if (res.code == 200) {
@ -202,7 +204,7 @@ const handleSave = (row: any) => {
return;
}
loading.value = true;
updatePrice(row).then((res) => {
updatePrice({ ...row, type: '1' }).then((res) => {
if (res.code == 200) {
ElMessage({
message: '修改成功',
@ -231,7 +233,7 @@ const importExcel = (options: any): any => {
let formData = new FormData();
formData.append('file', options.file);
loading.value = true;
importExcelFile({ projectId: currentProject.value?.id }, formData)
importExcelFile({ projectId: currentProject.value?.id, versions: queryForm.value.versions, sheet: queryForm.value.sheet, type: '1' }, formData)
.then((res) => {
const { code } = res;
if (code == 200) {
@ -260,7 +262,9 @@ const handleExport = () => {
'/tender/billofquantitiesLimitList/export',
{
projectId: currentProject.value?.id,
sheet: queryForm.value.sheet
sheet: queryForm.value.sheet,
versions: queryForm.value.versions,
type: '1'
},
`限价一览表${queryForm.value.sheet}.xlsx`
);

View File

@ -151,7 +151,7 @@ const getVersionNums = async () => {
getSheetName();
} else {
queryForm.value.versions = '';
getSheetName();
// getSheetName();
}
}
} catch (error) {

View File

@ -291,11 +291,13 @@ const getVersionNums = async () => {
if (res.code == 200) {
options.value = res.data;
if (res.data.length > 0) {
console.log(11111);
treeForm.value.versions = res.data[0].versions;
getSheetName();
} else {
treeForm.value.versions = '';
getSheetName();
// getSheetName();
}
}
} catch (error) {