批次需求列表新增优化

This commit is contained in:
Teo
2025-08-19 22:50:28 +08:00
parent f163893ccf
commit 6cab291522

View File

@ -82,7 +82,7 @@
<el-table-column label="质量标准" align="center" prop="qs" />
<el-table-column label="规格型号" align="center" prop="specification" />
<el-table-column label="计量单位" align="center" prop="unit" width="80" />
<el-table-column label="需求数量" align="center" prop="demandQuantity" />
<el-table-column label="需求数量" align="center" prop="quantity" />
<el-table-column label="需求到货时间" align="center" prop="arrivalTime" width="250" />
<el-table-column label="备注" align="center" prop="remark" />
</el-table>
@ -123,25 +123,25 @@
<el-table :data="form.planList">
<el-table-column prop="name" align="center" label="物资名称">
<template #default="scope">
<el-input v-model="scope.row.name" placeholder="请输入物资" />
<el-select v-model="scope.row.suppliespriceId" placeholder="请选择">
<!-- <el-input v-model="scope.row.name" placeholder="请输入物资" /> -->
<el-select v-model="scope.row.suppliespriceId" placeholder="请选择" @change="(val) => selectName(val, scope.row)">
<el-option v-for="item in nameList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</template>
</el-table-column>
<el-table-column prop="specification" align="center" label="规格型号" width="150">
<template #default="scope">
<el-input v-model="scope.row.specification" placeholder="请输入规格型号" />
<el-input v-model="scope.row.specification" placeholder="请输入规格型号" disabled />
</template>
</el-table-column>
<el-table-column prop="unit" align="center" label="单位" width="130">
<template #default="scope">
<el-input v-model="scope.row.unit" placeholder="请输入单位" />
<el-input v-model="scope.row.unit" placeholder="请输入单位" disabled />
</template>
</el-table-column>
<el-table-column prop="demandQuantity" align="center" label="数量" width="130">
<el-table-column prop="quantity" align="center" label="数量" width="130">
<template #default="scope">
<el-input v-model="scope.row.demandQuantity" placeholder="请输入数量" type="number" min="0" />
<el-input v-model="scope.row.quantity" placeholder="请输入数量" type="number" min="0" disabled />
</template>
</el-table-column>
<el-table-column prop="qs" align="center" label="质量标准" width="150">
@ -156,7 +156,7 @@
</el-table-column>
<el-table-column prop="remark" align="center" label="备注" width="150">
<template #default="scope">
<el-input v-model="scope.row.remark" placeholder="请输入备注" />
<el-input v-model="scope.row.remark" placeholder="请输入备注" disabled />
</template>
</el-table-column>
<el-table-column prop="remark" align="center" label="操作" width="150">
@ -232,7 +232,7 @@ const initFormData: any = {
name: undefined,
specification: undefined,
unit: undefined,
demandQuantity: undefined,
quantity: undefined,
qs: undefined,
arrivalTime: undefined,
remark: undefined
@ -282,6 +282,19 @@ const getList = async (type?: string) => {
getMainList();
};
const selectName = (val: any, row: any) => {
const selected = nameList.value.find((item) => item.id === val);
if (selected) {
row.name = selected.name;
row.specification = selected.specification;
row.unit = selected.unit;
row.qs = selected.qs;
row.quantity = selected.quantity;
row.remark = selected.remark;
row.arrivalTime = selected.arrivalTime;
}
};
/** 节点单击事件 */
const handleNodeClick = (data: any) => {
queryParams.value.mainData.mrpBaseId = data.id;
@ -315,7 +328,7 @@ const addRow = () => {
name: undefined,
specification: undefined,
unit: undefined,
demandQuantity: undefined,
quantity: undefined,
qs: undefined,
arrivalTime: undefined,
remark: undefined
@ -339,7 +352,7 @@ const reset = () => {
name: undefined,
specification: undefined,
unit: undefined,
demandQuantity: undefined,
quantity: undefined,
qs: undefined,
arrivalTime: undefined,
remark: undefined
@ -394,6 +407,7 @@ const handleUpdata = () => {
/** 提交数据 */
const submitTransferForm = async () => {
const result = validateAndClean(form.value.planList);
console.log('🚀 ~ submitTransferForm ~ form.value.planList:', form.value.planList);
if (!result.valid) {
proxy?.$modal.msgError('验证失败,主要信息存在部分字段缺失的数据项');
return;
@ -460,7 +474,7 @@ const handleAudit = async () => {
};
const getNameList = () => {
getDictList({ projectId: currentProject.value?.id, suppliespriceId: '123' }).then((res) => {
getDictList({ projectId: currentProject.value?.id }).then((res) => {
nameList.value = res.data;
});
};