This commit is contained in:
2025-08-29 19:25:18 +08:00
63 changed files with 2176 additions and 552 deletions

View File

@ -11,6 +11,23 @@
<el-form-item v-if="state.masterData.status == 'waiting' || state.masterData.status == 'finish'">
<el-button icon="view" @click="lookApprovalFlow()" type="warning">查看流程</el-button>
</el-form-item>
<el-form-item>
<el-button icon="Finished" @click="editApprovalSheet()" type="success">保存</el-button>
</el-form-item>
<el-form-item>
<file-upload
upload-url="/design/totalsupplyplan/import"
v-model="file"
:limit="1"
:file-type="['xls', 'xlsx']"
:on-upload-success="handleSuccess"
>
<el-button type="primary" plain icon="Compass">导入</el-button>
</file-upload>
</el-form-item>
<el-form-item>
<el-button type="primary" plain icon="Filter" @click="handleExport">导出</el-button>
</el-form-item>
</el-form>
<right-toolbar @queryTable="getMasterDataList"></right-toolbar>
</el-row>
@ -23,6 +40,7 @@
style="width: 100%; margin-bottom: 20px; height: calc(100vh - 230px)"
row-key="id"
border
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
>
<el-table-column prop="num" label="编号" />
<el-table-column prop="name" label="工程或费用名称" width="180" />
@ -30,18 +48,38 @@
<el-table-column prop="specification" label="规格型号" />
<el-table-column prop="quantity" label="数量" width="60" />
<el-table-column prop="batchNumber" label="批次号" width="200" />
<el-table-column prop="brand" label="品牌" />
<el-table-column prop="texture" label="材质" />
<el-table-column prop="qualityStandard" label="质量标准" />
<el-table-column prop="partUsed" label="使用部位" />
<el-table-column prop="deliveryPoints" label="交货地点" />
<el-table-column prop="brand" label="品牌">
<template #default="{ row }">
<el-input v-model="row.brand" placeholder="" clearable />
</template>
</el-table-column>
<el-table-column prop="texture" label="材质">
<template #default="{ row }">
<el-input v-model="row.texture" placeholder="" clearable />
</template>
</el-table-column>
<el-table-column prop="qualityStandard" label="质量标准">
<template #default="{ row }">
<el-input v-model="row.qualityStandard" placeholder="" clearable />
</template>
</el-table-column>
<el-table-column prop="partUsed" label="使用部位">
<template #default="{ row }">
<el-input v-model="row.partUsed" placeholder="" clearable />
</template>
</el-table-column>
<el-table-column prop="deliveryPoints" label="交货地点">
<template #default="{ row }">
<el-input v-model="row.deliveryPoints" placeholder="" clearable />
</template>
</el-table-column>
<el-table-column label="预计使用日期">
<template #default="{ row }">
<span>{{ row.dateService ? row.dateService.split(' ')[0] : '' }}</span>
<el-date-picker v-model="row.dateService" type="date" value-format="YYYY-MM-DD" placeholder="" />
</template>
</el-table-column>
<el-table-column prop="remark" label="备注" />
<el-table-column label="操作">
<!-- <el-table-column label="操作">
<template #default="{ row }">
<el-button
:disabled="state.masterData.status == 'waiting' || state.masterData.status == 'finish'"
@ -51,7 +89,7 @@
>修改</el-button
>
</template>
</el-table-column>
</el-table-column> -->
</el-table>
<!-- 编辑 -->
<el-dialog v-model="visible" title="修改物料信息" :width="800" :close-on-click-modal="false" @close="handleClose">
@ -124,7 +162,8 @@ import {
obtainMasterDataList,
totalsupplyplan,
totalSupplyplanDetails,
materialChangeSupplyplan
materialChangeSupplyplan,
totalSupplyplanBatchEdit
} from '@/api/materials/overallPlanMaterialSupply/index';
import { useUserStoreHook } from '@/store/modules/user';
const userStore = useUserStoreHook();
@ -210,7 +249,8 @@ async function getMasterDataList() {
// 处理结果
if (supplyPlanRes.list == null) {
state.tableData = supplyPlanRes.rows || [];
// state.tableData = supplyPlanRes.rows || [];
state.tableData = proxy?.handleTree(supplyPlanRes.rows, 'sid', 'pid');
console.log('state.tableData', state.tableData);
} else {
// 根据实际业务逻辑处理有list的情况
@ -261,11 +301,13 @@ async function totalSupplyplanDetail(id) {
}
}
// 修改
function editApprovalSheet(row) {
console.log(row);
totalSupplyplanDetail(row.id);
visible.value = true;
}
const editApprovalSheet = async () => {
state.loading.list = true;
await totalSupplyplanBatchEdit(state.tableData);
proxy.$modal.msgSuccess('修改成功');
state.loading.list = false;
};
// 提交表单
const handleSubmit = async () => {
try {
@ -292,6 +334,17 @@ function editMaterialSupply(formData) {
});
}
const handleExport = async () => {
proxy?.download(
'/design/totalsupplyplan/export',
{
projectId: currentProject.value?.id
},
`物资供应总计划.xlsx`,
true
);
};
// 关闭弹窗
const handleClose = () => {
visible.value = false;