新增一键确定

This commit is contained in:
ljx
2025-08-27 11:17:30 +08:00
parent f637e65635
commit ab68bbcd40
7 changed files with 164 additions and 69 deletions

View File

@ -8,11 +8,11 @@ VITE_APP_ENV = 'development'
# 李陈杰 209 # 李陈杰 209
# VITE_APP_BASE_API = 'http://192.168.110.209:8899' # VITE_APP_BASE_API = 'http://192.168.110.209:8899'
# 曾涛 # 曾涛
VITE_APP_BASE_API = 'http://192.168.110.180:8899' # VITE_APP_BASE_API = 'http://192.168.110.180:8899'
# 罗成 # 罗成
# VITE_APP_BASE_API = 'http://192.168.110.213:8899' # VITE_APP_BASE_API = 'http://192.168.110.213:8899'
# 朱银 # 朱银
# VITE_APP_BASE_API = 'http://192.168.110.149:8899' VITE_APP_BASE_API = 'http://192.168.110.149:8899'
#曾涛 #曾涛
# VITE_APP_BASE_API = 'http://192.168.110.171:8899' # VITE_APP_BASE_API = 'http://192.168.110.171:8899'

View File

@ -63,14 +63,7 @@
<el-table-column prop="quantity" label="数量" /> <el-table-column prop="quantity" label="数量" />
<el-table-column prop="remark" label="单价" align="center"> <el-table-column prop="remark" label="单价" align="center">
<template #default="scope"> <template #default="scope">
<el-input-number <span>{{ scope.row.unitPrice }}</span>
:model-value="scope.row.unitPrice"
@change="(val) => (scope.row.unitPrice = val)"
:precision="2"
:step="0.1"
:controls="false"
v-if="scope.row.quantity && scope.row.quantity != 0"
/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="price" label="总价" align="center"> <el-table-column prop="price" label="总价" align="center">

View File

@ -32,6 +32,15 @@
<el-form-item> <el-form-item>
<el-button type="primary" @click="handleExport()" v-hasPermi="['bidding:biddingLimitList:export']">导出excel</el-button> <el-button type="primary" @click="handleExport()" v-hasPermi="['bidding:biddingLimitList:export']">导出excel</el-button>
</el-form-item> </el-form-item>
<el-form-item>
<el-button
type="primary"
:disabled="versionObj.status != 'draft'"
@click="handleSave(null, 'all')"
v-hasPermi="['tender:billofquantitiesLimitList:edit']"
>一键确定</el-button
>
</el-form-item>
<el-form-item> <el-form-item>
<el-button <el-button
type="primary" type="primary"
@ -66,7 +75,12 @@
<el-input-number <el-input-number
:disabled="versionObj.status != 'draft'" :disabled="versionObj.status != 'draft'"
:model-value="scope.row.unitPrice" :model-value="scope.row.unitPrice"
@change="(val) => (scope.row.unitPrice = val)" @change="
(val) => {
scope.row.unitPrice = val;
changePrice(scope.row);
}
"
:precision="2" :precision="2"
:step="0.1" :step="0.1"
:controls="false" :controls="false"
@ -85,7 +99,7 @@
type="primary" type="primary"
size="small" size="small"
:disabled="versionObj.status != 'draft'" :disabled="versionObj.status != 'draft'"
@click="handleSave(scope.row)" @click="handleSave(scope.row, 'single')"
v-if="scope.row.quantity && scope.row.quantity != 0" v-if="scope.row.quantity && scope.row.quantity != 0"
v-hasPermi="['bidding:biddingLimitList:edit']" v-hasPermi="['bidding:biddingLimitList:edit']"
>确定</el-button >确定</el-button
@ -187,18 +201,21 @@ const getTableData = async () => {
} }
} }
}; };
//修改单价 const modifyPrice = new Map();
const handleSave = (row: any) => {
const changePrice = (row: any) => {
modifyPrice.set(row.id, row);
// if (!row.unitPrice) {
// modifyPrice.delete(row.id);
// }
};
//修改单价 biddingLimitListUpdate
const handleSave = (row?: any, type?: any) => {
try { try {
if (!row.unitPrice) { if (type == 'single') {
ElMessage({
message: '请输入单价',
type: 'warning'
});
return;
}
loading.value = true; loading.value = true;
biddingLimitListUpdate(row).then((res) => { const list = [{ ...row }];
biddingLimitListUpdate(list).then((res) => {
if (res.code == 200) { if (res.code == 200) {
ElMessage({ ElMessage({
message: '修改成功', message: '修改成功',
@ -207,11 +224,30 @@ const handleSave = (row: any) => {
getTableData(); getTableData();
} }
}); });
}
if (type == 'all') {
loading.value = true;
const list = [];
modifyPrice.forEach((item) => {
list.push({ ...item });
});
biddingLimitListUpdate(list).then((res) => {
if (res.code == 200) {
ElMessage({
message: '修改成功',
type: 'success'
});
getTableData();
}
});
}
} catch (error) { } catch (error) {
ElMessage({ ElMessage({
message: '修改失败', message: '修改失败',
type: 'error' type: 'error'
}); });
} finally {
loading.value = false;
} }
}; };
const tableRef = ref<any>(); const tableRef = ref<any>();

View File

@ -35,6 +35,15 @@
<el-form-item> <el-form-item>
<el-button type="primary" @click="handleExport()" v-hasPermi="['tender:billofquantitiesLimitList:export']">导出excel</el-button> <el-button type="primary" @click="handleExport()" v-hasPermi="['tender:billofquantitiesLimitList:export']">导出excel</el-button>
</el-form-item> </el-form-item>
<el-form-item>
<el-button
type="primary"
:disabled="reviewStatus != 'draft'"
@click="handleSave(null, 'all')"
v-hasPermi="['tender:billofquantitiesLimitList:edit']"
>一键确定</el-button
>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" v-if="reviewStatus == 'draft'" @click="clickApprovalSheet()">审核</el-button> <el-button type="primary" v-if="reviewStatus == 'draft'" @click="clickApprovalSheet()">审核</el-button>
</el-form-item> </el-form-item>
@ -65,6 +74,7 @@
@change=" @change="
(val) => { (val) => {
scope.row.unitPrice = val; scope.row.unitPrice = val;
changePrice(scope.row);
} }
" "
:precision="2" :precision="2"
@ -87,7 +97,7 @@
type="primary" type="primary"
size="small" size="small"
:disabled="reviewStatus != 'draft'" :disabled="reviewStatus != 'draft'"
@click="handleSave(scope.row)" @click="handleSave(scope.row, 'single')"
v-if="scope.row.quantity && scope.row.quantity != 0" v-if="scope.row.quantity && scope.row.quantity != 0"
v-hasPermi="['tender:billofquantitiesLimitList:edit']" v-hasPermi="['tender:billofquantitiesLimitList:edit']"
>确定</el-button >确定</el-button
@ -220,18 +230,18 @@ const getTableData = async () => {
loading.value = false; loading.value = false;
} }
}; };
const modifyPrice = new Map();
const changePrice = (row: any) => {
modifyPrice.set(row.id, row);
};
//修改单价 //修改单价
const handleSave = (row: any) => { const handleSave = (row?: any, type?: any) => {
try { try {
if (!row.unitPrice) { if (type == 'single') {
ElMessage({
message: '请输入单价',
type: 'warning'
});
return;
}
loading.value = true; loading.value = true;
updatePrice({ ...row, type: '1' }).then((res) => { const list = [{ ...row, type: '1' }];
updatePrice(list).then((res) => {
if (res.code == 200) { if (res.code == 200) {
ElMessage({ ElMessage({
message: '修改成功', message: '修改成功',
@ -240,11 +250,30 @@ const handleSave = (row: any) => {
getTableData(); getTableData();
} }
}); });
}
if (type == 'all') {
loading.value = true;
const list = [];
modifyPrice.forEach((item) => {
list.push({ ...item, type: '1' });
});
updatePrice(list).then((res) => {
if (res.code == 200) {
ElMessage({
message: '修改成功',
type: 'success'
});
getTableData();
}
});
}
} catch (error) { } catch (error) {
ElMessage({ ElMessage({
message: '修改失败', message: '修改失败',
type: 'error' type: 'error'
}); });
} finally {
loading.value = false;
} }
}; };
const tableRef = ref<any>(); const tableRef = ref<any>();

View File

@ -67,7 +67,7 @@
<el-table v-loading="loading" :data="formalitiesAreConsolidatedList" @selection-change="handleSelectionChange" row-key="id" default-expand-all> <el-table v-loading="loading" :data="formalitiesAreConsolidatedList" @selection-change="handleSelectionChange" row-key="id" default-expand-all>
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column label="手续办理清单模板父级" align="center" prop="formalitiesPname" /> --> <!-- <el-table-column label="手续办理清单模板父级" align="center" prop="formalitiesPname" /> -->
<el-table-column label="手续办理清单模板" align="center" prop="formalitiesName" /> <el-table-column label="手续办理清单" align="center" prop="formalitiesName" />
<el-table-column label="计划开始时间" align="center" prop="planTheStartTime" width="180"> <el-table-column label="计划开始时间" align="center" prop="planTheStartTime" width="180">
<template #default="scope"> <template #default="scope">
<span>{{ parseTime(scope.row.planTheStartTime, '{y}-{m}-{d}') }}</span> <span>{{ parseTime(scope.row.planTheStartTime, '{y}-{m}-{d}') }}</span>

View File

@ -35,7 +35,7 @@
</el-table> </el-table>
<el-table v-loading="loading" :data="tableData" v-if="activeTab == '3'"> <el-table v-loading="loading" :data="tableData" v-if="activeTab == '3'">
<el-table-column label="项目" align="center" prop="projectName" /> <el-table-column label="项目" align="center" prop="projectName" />
<el-table-column label="累计完工产值" align="center" prop="totalCompletionOutputValue" /> <!-- <el-table-column label="累计完工产值" align="center" prop="totalCompletionOutputValue" /> -->
<el-table-column label="分包累计结算产值" align="center" prop="subTotalSettlementOutputValue" /> <el-table-column label="分包累计结算产值" align="center" prop="subTotalSettlementOutputValue" />
<el-table-column label="业主累计结算产值" align="center" prop="ownerTotalSettlementOutputValue" /> <el-table-column label="业主累计结算产值" align="center" prop="ownerTotalSettlementOutputValue" />
<el-table-column label="差额" align="center" prop="differenceValue" /> <el-table-column label="差额" align="center" prop="differenceValue" />

View File

@ -15,12 +15,22 @@
<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" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="toggleExpandAll(true)">一键展开</el-button> <el-button type="primary" @click="toggleExpandAll(true)">一键展开</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="toggleExpandAll(false)">一键收起</el-button> <el-button type="primary" @click="toggleExpandAll(false)">一键收起</el-button>
</el-form-item> </el-form-item>
<el-form-item>
<el-button
type="primary"
:disabled="versionsData.status != 'draft'"
@click="handleSave(null, 'all')"
v-hasPermi="['tender:tenderPlanLimitList:edit']"
>一键确定</el-button
>
</el-form-item>
<el-form-item> <el-form-item>
<el-upload <el-upload
ref="uploadRef" ref="uploadRef"
@ -63,7 +73,12 @@
<template #default="scope"> <template #default="scope">
<el-input-number <el-input-number
:model-value="scope.row.unitPrice" :model-value="scope.row.unitPrice"
@change="(val) => (scope.row.unitPrice = val)" @change="
(val) => {
scope.row.unitPrice = val;
changePrice(scope.row);
}
"
:precision="2" :precision="2"
:step="0.1" :step="0.1"
:controls="false" :controls="false"
@ -82,7 +97,7 @@
<el-button <el-button
type="primary" type="primary"
size="small" size="small"
@click="handleSave(scope.row)" @click="handleSave(scope.row, 'single')"
v-if="scope.row.quantity && scope.row.quantity != 0" v-if="scope.row.quantity && scope.row.quantity != 0"
v-hasPermi="['tender:tenderPlanLimitList:edit']" v-hasPermi="['tender:tenderPlanLimitList:edit']"
:disabled="versionsData.status != 'draft'" :disabled="versionsData.status != 'draft'"
@ -257,18 +272,21 @@ const handleExport = () => {
`招标一览表${queryForm.value.sheet}.xlsx` `招标一览表${queryForm.value.sheet}.xlsx`
); );
}; };
//确认修改 const modifyPrice = new Map();
const handleSave = (row: any) => {
const changePrice = (row: any) => {
modifyPrice.set(row.id, row);
// if (!row.unitPrice) {
// modifyPrice.delete(row.id);
// }
};
//修改单价
const handleSave = (row?: any, type?: any) => {
try { try {
if (!row.unitPrice) { if (type == 'single') {
ElMessage({
message: '请输入单价',
type: 'warning'
});
return;
}
loading.value = true; loading.value = true;
updatePrice(row).then((res) => { const list = [{ ...row, type: activeTab.value }];
updatePrice(list).then((res) => {
if (res.code == 200) { if (res.code == 200) {
ElMessage({ ElMessage({
message: '修改成功', message: '修改成功',
@ -277,9 +295,28 @@ const handleSave = (row: any) => {
getTableData(); getTableData();
} }
}); });
}
if (type == 'all') {
loading.value = true;
const list = [];
modifyPrice.forEach((item) => {
list.push({ ...item, type: activeTab.value });
});
updatePrice(list).then((res) => {
if (res.code == 200) {
ElMessage({
message: '修改成功',
type: 'success'
});
getTableData();
}
});
}
} catch (error) { } catch (error) {
console.log(error); ElMessage({
loading.value = false; message: '修改失败',
type: 'error'
});
} finally { } finally {
loading.value = false; loading.value = false;
} }