材料管理 变更清单
This commit is contained in:
@ -16,58 +16,29 @@
|
||||
<!-- 表单区域 -->
|
||||
<el-card class="rounded-lg shadow-sm bg-white border border-gray-100 transition-all hover:shadow-md overflow-hidden">
|
||||
<div class="p-4 bg-gradient-to-r from-blue-50 to-indigo-50 border-b border-gray-100">
|
||||
<h3 class="text-lg font-semibold text-gray-800">施工产值</h3>
|
||||
<h3 class="text-lg font-semibold text-gray-800">物资设备批次需求计划</h3>
|
||||
</div>
|
||||
<div class="p-6">
|
||||
<el-form
|
||||
ref="leaveFormRef"
|
||||
v-loading="loading"
|
||||
:disabled="routeParams.type === 'view'"
|
||||
:model="form"
|
||||
:rules="rules"
|
||||
label-width="120px"
|
||||
class="space-y-4"
|
||||
>
|
||||
<el-row :gutter="20" justify="center">
|
||||
<el-col :span="12" :offset="0">
|
||||
<el-form-item label="计划到场时间" prop="arrivalTime">
|
||||
<el-date-picker
|
||||
clearable
|
||||
v-model="form.arrivalTime"
|
||||
disabled
|
||||
type="date"
|
||||
value-format="YYYY-MM-DD"
|
||||
placeholder="请选择计划到场时间"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="计划完成时间" prop="finishTime">
|
||||
<el-date-picker clearable v-model="form.finishTime" disabled type="date" value-format="YYYY-MM-DD" placeholder="请选择计划完成时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<div v-for="(item, index) in selectValue" :key="index">
|
||||
<el-divider content-position="center"
|
||||
><el-text tag="b">{{ item }}</el-text></el-divider
|
||||
>
|
||||
<el-form-item label="单价" prop="unitPrice">
|
||||
<el-input v-model="form.listOfMaterialInventory[index].unitPrice" type="number" disabled placeholder="请输入单价" />
|
||||
</el-form-item>
|
||||
<el-form-item label="数量" prop="num">
|
||||
<el-input v-model="form.listOfMaterialInventory[index].num" type="number" disabled placeholder="请输入数量" />
|
||||
</el-form-item>
|
||||
<el-form-item label="合同号" prop="contractNum">
|
||||
<el-input v-model="form.listOfMaterialInventory[index].contractNum" disabled placeholder="请输入合同号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="预估供应周期" prop="estimatedCycle">
|
||||
<el-input v-model="form.listOfMaterialInventory[index].estimatedCycle" disabled type="number" placeholder="请输入预估供应周期" />
|
||||
</el-form-item>
|
||||
<el-form-item label="供货公司" prop="supplierCompany">
|
||||
<el-input v-model="form.listOfMaterialInventory[index].supplierCompany" disabled placeholder="请输入供货公司" />
|
||||
</el-form-item>
|
||||
<el-table v-loading="loading" :data="cailiaoshebeiList">
|
||||
<el-table-column label="供货商" align="center" prop="supplierCompany" />
|
||||
<el-table-column label="设备材料名称" align="center" prop="name" />
|
||||
<el-table-column label="规格型号" align="center" prop="specification" />
|
||||
<el-table-column label="物料编码" align="center" prop="materialCode" width="200" />
|
||||
<el-table-column label="计量单位" align="center" prop="unit" width="80" />
|
||||
<el-table-column label="供应周期(天)" align="center" prop="estimatedCycle" />
|
||||
<el-table-column label="需求数量" align="center" prop="demandQuantity">
|
||||
<template #default="scope">
|
||||
<el-input v-model="scope.row.demandQuantity" type="number" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="计划到场时间" align="center" prop="arrivalTime" width="250">
|
||||
<template #default="scope">
|
||||
<div class="flex justify-center w100%">
|
||||
<el-date-picker v-model="scope.row.arrivalTime" type="date" value-format="YYYY-MM-DD" />
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</el-card>
|
||||
<!-- 提交组件 -->
|
||||
@ -117,6 +88,8 @@ import { getKnowledgeDocument } from '@/api/design/technicalStandard';
|
||||
import { getConstructionValue } from '@/api/out/constructionValue';
|
||||
import { workScheduleListDetail } from '@/api/progress/plan';
|
||||
import { getCailiaoshebei } from '@/api/materials/suppliesprice';
|
||||
import { getPcDetail, listCailiaoshebei } from '@/api/materials/batchPlan';
|
||||
import { CailiaoshebeiVO } from '@/api/materials/batchPlan/types';
|
||||
// 获取用户 store
|
||||
const userStore = useUserStoreHook();
|
||||
// 从 store 中获取项目列表和当前选中的项目
|
||||
@ -156,25 +129,11 @@ const submitFormData = ref<StartProcessBo>({
|
||||
});
|
||||
const taskVariables = ref<Record<string, any>>({});
|
||||
const selectValue = ref<string[]>([]);
|
||||
const cailiaoshebeiList = ref<CailiaoshebeiVO[]>([]);
|
||||
|
||||
const initFormData = {
|
||||
id: undefined,
|
||||
batchNumber: undefined,
|
||||
supplierId: undefined,
|
||||
supplier: undefined,
|
||||
name: undefined,
|
||||
supply: undefined,
|
||||
specification: undefined,
|
||||
signalment: undefined,
|
||||
materialCode: undefined,
|
||||
arrivalTime: undefined,
|
||||
finishTime: undefined,
|
||||
unit: undefined,
|
||||
plan: undefined,
|
||||
realQuantity: undefined,
|
||||
projectId: currentProject.value.id,
|
||||
listOfMaterialInventory: [],
|
||||
remark: undefined
|
||||
approvalProject: undefined
|
||||
};
|
||||
const data = reactive({
|
||||
form: { ...initFormData },
|
||||
@ -199,20 +158,19 @@ const getInfo = () => {
|
||||
loading.value = true;
|
||||
buttonLoading.value = false;
|
||||
nextTick(async () => {
|
||||
const res = JSON.parse(routeParams.value.data);
|
||||
Object.assign(form.value, res.data);
|
||||
selectValue.value = (form.value.supplier as string).split(',');
|
||||
if (!form.value.listOfMaterialInventory.length) {
|
||||
form.value.listOfMaterialInventory = selectValue.value.map((item) => {
|
||||
return {
|
||||
supplierCompany: item,
|
||||
estimatedCycle: '',
|
||||
contractNum: '',
|
||||
num: '',
|
||||
unitPrice: ''
|
||||
};
|
||||
});
|
||||
const id = routeParams.value.id.split('_')[0];
|
||||
const res = await listCailiaoshebei({ pageNum: 1, pageSize: 10, batchNumber: id });
|
||||
cailiaoshebeiList.value = res.rows;
|
||||
if (!form.value.approvalProject) {
|
||||
const res = await getPcDetail(id);
|
||||
form.value.approvalProject = res.data.approvalProject;
|
||||
} else {
|
||||
form.value.approvalProject = routeParams.value.approvalProject;
|
||||
}
|
||||
|
||||
console.log('🚀 ~ getInfo ~ form.value.approvalProject:', form.value.approvalProject);
|
||||
form.value.id = routeParams.value.id;
|
||||
|
||||
loading.value = false;
|
||||
buttonLoading.value = false;
|
||||
});
|
||||
|
Reference in New Issue
Block a user