feat(mes): 新增采购订单号字段及相关逻辑处理

pull/871/MERGE
YunaiV 2026-03-29 18:13:50 +08:00
parent 98a227a609
commit 63b212c514
4 changed files with 33 additions and 8 deletions

View File

@ -7,7 +7,7 @@
<el-table-column label="库位名称" align="center" prop="areaName" min-width="100" />
<el-table-column label="数量" align="center" prop="quantity" width="100" />
<el-table-column
v-if="props.formType === 'stock'"
v-if="isStock"
label="操作"
align="center"
width="120"
@ -44,6 +44,7 @@ const message = useMessage() // 消息弹窗
const loading = ref(false) //
const list = ref<WmItemReceiptDetailVO[]>([]) //
const isStock = computed(() => props.formType === 'stock') //
/** 查询明细列表 */
const getList = async () => {

View File

@ -60,6 +60,15 @@
<MdVendorSelect v-model="formData.vendorId" :disabled="isHeaderReadonly" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="采购订单号" prop="purchaseOrderCode">
<el-input
v-model="formData.purchaseOrderCode"
placeholder="请输入采购订单号"
:disabled="isHeaderReadonly"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
@ -88,7 +97,7 @@
</el-button>
<el-button
v-if="formType === 'update' && formData.status === MesWmItemReceiptStatusEnum.PREPARE"
v-if="isEditable && formData.status === MesWmItemReceiptStatusEnum.PREPARE"
@click="handleSubmit"
type="warning"
:disabled="formLoading"
@ -99,7 +108,7 @@
执行上架
</el-button>
<el-button
v-if="formData.status === MesWmItemReceiptStatusEnum.APPROVED"
v-if="isFinish"
@click="handleFinish"
type="success"
:disabled="formLoading"
@ -129,7 +138,7 @@ const message = useMessage() // 消息弹窗
const dialogVisible = ref(false) //
const formLoading = ref(false) //
const formType = ref<string>('create') // 表单的类型create / update / stock / detail
const formType = ref<string>('create') // 表单的类型create / update / stock / finish / detail
const formData = ref({
id: undefined as number | undefined,
code: undefined,
@ -138,6 +147,7 @@ const formData = ref({
vendorId: undefined,
noticeId: undefined,
iqcId: undefined,
purchaseOrderCode: undefined,
receiptDate: undefined,
remark: undefined
})
@ -149,13 +159,15 @@ const formRules = reactive({
const formRef = ref() // Ref
const isEditable = computed(() => ['create', 'update'].includes(formType.value)) //
const isStock = computed(() => formType.value === 'stock') //
const isDetail = computed(() => formType.value === 'detail') //
const isHeaderReadonly = computed(() => ['stock', 'detail'].includes(formType.value)) //
const isFinish = computed(() => formType.value === 'finish') //
const isDetail = computed(() => ['detail', 'finish'].includes(formType.value)) //
const isHeaderReadonly = computed(() => ['stock', 'detail', 'finish'].includes(formType.value)) //
const dialogTitle = computed(() => {
const titles = {
create: '新增采购入库单',
update: '编辑采购入库单',
stock: '执行上架',
finish: '执行入库',
detail: '采购入库单详情'
}
return titles[formType.value] || formType.value
@ -173,6 +185,7 @@ const generateCode = async () => {
const handleNoticeChange = (notice: any) => {
if (notice) {
formData.value.vendorId = notice.vendorId
formData.value.purchaseOrderCode = notice.purchaseOrderCode
}
}
@ -286,6 +299,7 @@ const resetForm = () => {
vendorId: undefined,
noticeId: undefined,
iqcId: undefined,
purchaseOrderCode: undefined,
receiptDate: undefined,
remark: undefined
}

View File

@ -126,8 +126,8 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="批号" prop="lotNumber">
<el-input v-model="formData.lotNumber" placeholder="请输入批号" />
<el-form-item label="生产批号" prop="lotNumber">
<el-input v-model="formData.lotNumber" placeholder="请输入生产批号" />
</el-form-item>
</el-col>
<el-col :span="8">

View File

@ -118,6 +118,16 @@
>
执行上架
</el-button>
<!-- 待执行入库执行入库取消 -->
<el-button
link
type="success"
@click="openForm('finish', scope.row.id)"
v-hasPermi="['mes:wm-item-receipt:finish']"
v-if="scope.row.status === MesWmItemReceiptStatusEnum.APPROVED"
>
执行入库
</el-button>
<el-button
link
type="danger"