This commit is contained in:
2025-08-21 21:43:24 +08:00
4 changed files with 80 additions and 26 deletions

View File

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

View File

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

View File

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

View File

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