自动填入单位

This commit is contained in:
砂糖
2025-07-22 11:49:48 +08:00
parent 3b408fade9
commit 633f81727d
4 changed files with 226 additions and 141 deletions

View File

@@ -70,7 +70,6 @@
</el-row>
<el-table v-loading="loading" :data="stockIoDetailList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="明细ID" align="center" prop="detailId"/>
<el-table-column label="库区/库位" align="center" prop="warehouseName" />
<el-table-column
v-if="stockIo.ioType === 'transfer'"
@@ -78,7 +77,11 @@
align="center"
prop="fromWarehouseName"
/>
<el-table-column label="物品类型" align="center" prop="itemType" />
<el-table-column label="物品类型" align="center" prop="itemType">
<template slot-scope="scope">
<dict-tag :options="dict.type.stock_item_type" :value="scope.row.itemType" />
</template>
</el-table-column>
<el-table-column label="物品ID" align="center" prop="itemId" />
<el-table-column label="数量" align="center" prop="quantity" />
<el-table-column label="单位" align="center" prop="unit" />
@@ -155,9 +158,9 @@
<warehouse-select v-model="form.fromWarehouseId" placeholder="请选择源库区/库位" />
</el-form-item>
<el-form-item label="物品类型" prop="itemType">
<el-select v-model="form.itemType" placeholder="请选择物品类型" style="width: 100%">
<el-option label="原材料" :value="ITEM_TYPE.RAW_MATERIAL"></el-option>
<el-option label="产品" :value="ITEM_TYPE.PRODUCT"></el-option>
<el-select v-model="form.itemType" placeholder="请选择物品类型">
<el-option v-for="dict in dict.type.stock_item_type" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="物品ID" prop="itemId">
@@ -165,11 +168,13 @@
v-if="form.itemType === ITEM_TYPE.RAW_MATERIAL"
v-model="form.itemId"
placeholder="请选择原材料"
@change="onItemChange"
/>
<ProductSelect
v-else-if="form.itemType === ITEM_TYPE.PRODUCT"
v-model="form.itemId"
placeholder="请选择产品"
@change="onItemChange"
/>
<el-input
v-else
@@ -181,7 +186,7 @@
<el-input v-model="form.quantity" placeholder="请输入数量" />
</el-form-item>
<el-form-item label="单位" prop="unit">
<el-input v-model="form.unit" placeholder="请输入单位" />
<el-input v-model="form.unit" placeholder="请输入单位" :disabled="unitDisabled" />
</el-form-item>
<el-form-item label="批次号" prop="batchNo">
<el-input v-model="form.batchNo" placeholder="请输入批次号" />
@@ -217,6 +222,7 @@ export default {
RawMaterialSelect,
ProductSelect
},
dicts: ['stock_item_type'],
props: {
stockIo: {
type: Object,
@@ -260,7 +266,8 @@ export default {
single: true,
multiple: true,
statusLoading: false, // 新增状态修改按钮加载状态
cancelLoading: false // 撤回按钮加载状态
cancelLoading: false, // 撤回按钮加载状态
unitDisabled: false // 新增:单位输入框是否禁用
};
},
watch: {
@@ -405,6 +412,7 @@ export default {
batchNo: undefined,
remark: undefined
};
this.unitDisabled = false; // 新增:重置单位输入框为可编辑
this.resetForm("form");
},
cancel() {
@@ -526,6 +534,12 @@ export default {
if (type === 'return') return 'warning';
if (type === 'relocation') return 'info';
return 'default';
},
onItemChange(e) {
if (e && e.unit) {
this.form.unit = e.unit;
this.unitDisabled = true;
}
}
}
}