feat(mes): update IPQC type to Integer and add source document fields in RQC

pull/871/MERGE
YunaiV 2026-02-22 14:27:35 +08:00
parent 52785c5c08
commit b1f0a71b7a
6 changed files with 67 additions and 52 deletions

View File

@ -29,7 +29,7 @@
class="!w-1/1"
>
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.MES_IPQC_TYPE)"
v-for="dict in getIntDictOptions(DICT_TYPE.MES_IPQC_TYPE)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
@ -256,7 +256,7 @@
</template>
<script setup lang="ts">
import { getIntDictOptions, getStrDictOptions, DICT_TYPE } from '@/utils/dict'
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict'
import { QcIpqcApi, QcIpqcVO } from '@/api/mes/qc/ipqc'
import ProWorkOrderSelect from '@/views/mes/pro/workorder/components/ProWorkOrderSelect.vue'
import MdWorkstationSelect from '@/views/mes/md/workstation/components/MdWorkstationSelect.vue'

View File

@ -26,7 +26,7 @@
class="!w-240px"
>
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.MES_IPQC_TYPE)"
v-for="dict in getIntDictOptions(DICT_TYPE.MES_IPQC_TYPE)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
@ -83,15 +83,6 @@
class="!w-240px"
/>
</el-form-item>
<!-- TODO @AI可以去掉 -->
<el-form-item label="检测人员" prop="inspectorUserId">
<UserSelect
v-model="queryParams.inspectorUserId"
placeholder="请选择检测人员"
clearable
class="!w-240px"
/>
</el-form-item>
<el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
@ -129,8 +120,8 @@
<el-table-column label="工单编号" align="center" prop="workOrderCode" width="140" />
<el-table-column label="产品物料编码" align="center" prop="itemCode" width="130" />
<el-table-column label="产品物料名称" align="center" prop="itemName" min-width="150" />
<!-- TODO @AI规格型号 -->
<!-- TODO @AI单位 -->
<el-table-column label="规格型号" align="center" prop="itemSpecification" width="130" />
<el-table-column label="单位" align="center" prop="unitName" width="80" />
<el-table-column label="检测数量" align="center" prop="checkQuantity" width="100" />
<el-table-column label="检测结论" align="center" prop="checkResult" width="100">
<template #default="scope">
@ -209,11 +200,10 @@ import { dateFormatter2 } from '@/utils/formatTime'
import download from '@/utils/download'
import { QcIpqcApi, QcIpqcVO } from '@/api/mes/qc/ipqc'
import IpqcForm from './IpqcForm.vue'
import { DICT_TYPE, getIntDictOptions, getStrDictOptions } from '@/utils/dict'
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
import ProWorkOrderSelect from '@/views/mes/pro/workorder/components/ProWorkOrderSelect.vue'
import MdWorkstationSelect from '@/views/mes/md/workstation/components/MdWorkstationSelect.vue'
import MdItemSelect from '@/views/mes/md/item/components/MdItemSelect.vue'
import UserSelect from '@/views/system/user/components/UserSelect.vue'
import { MesQcIpqcStatusEnum } from '@/views/mes/utils/constants'
defineOptions({ name: 'MesQcIpqc' })
@ -233,8 +223,7 @@ const queryParams = reactive({
workstationId: undefined,
itemId: undefined,
checkResult: undefined,
inspectDate: undefined,
inspectorUserId: undefined
inspectDate: undefined
})
const queryFormRef = ref()
const exportLoading = ref(false)

View File

@ -55,8 +55,7 @@
<el-divider content-position="left">检测情况</el-divider>
<el-row :gutter="16">
<el-col :span="8">
<!-- TODO @AI发货数量 -->
<el-form-item label="出货数量" prop="outQuantity">
<el-form-item label="发货数量" prop="outQuantity">
<el-input-number
v-model="formData.outQuantity"
:min="0"
@ -66,7 +65,18 @@
/>
</el-form-item>
</el-col>
<!-- TODO @AI检测数量 -->
<el-col :span="8">
<el-form-item label="检测数量" prop="checkQuantity">
<el-input-number
v-model="formData.checkQuantity"
:min="0"
placeholder="请输入"
class="!w-1/1"
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="16">
<el-col :span="8">
<el-form-item label="合格品数量" prop="qualifiedQuantity">
<el-input-number
@ -90,12 +100,12 @@
</el-row>
<el-row :gutter="16">
<el-col :span="8">
<el-form-item label="货日期" prop="outDate">
<el-form-item label="货日期" prop="outDate">
<el-date-picker
v-model="formData.outDate"
type="datetime"
value-format="YYYY-MM-DD HH:mm:ss"
placeholder="请选择货日期"
placeholder="请选择货日期"
class="!w-1/1"
/>
</el-form-item>
@ -266,7 +276,7 @@ const formRules = reactive({
templateId: [{ required: true, message: '检验模板不能为空', trigger: 'change' }],
clientId: [{ required: true, message: '客户不能为空', trigger: 'change' }],
itemId: [{ required: true, message: '产品物料不能为空', trigger: 'change' }],
outQuantity: [{ required: true, message: '货数量不能为空', trigger: 'blur' }]
outQuantity: [{ required: true, message: '货数量不能为空', trigger: 'blur' }]
})
const formRef = ref() // Ref

View File

@ -58,7 +58,7 @@
/>
</el-select>
</el-form-item>
<el-form-item label="货日期" prop="outDate">
<el-form-item label="货日期" prop="outDate">
<el-date-picker
v-model="queryParams.outDate"
value-format="YYYY-MM-DD HH:mm:ss"
@ -121,8 +121,7 @@
<el-table-column label="批次号" align="center" prop="batchCode" width="130" />
<el-table-column label="产品物料编码" align="center" prop="itemCode" width="130" />
<el-table-column label="产品物料名称" align="center" prop="itemName" min-width="150" />
<!-- TODO @AI出货数量改成发货数量-->
<el-table-column label="出货数量" align="center" prop="outQuantity" width="100" />
<el-table-column label="发货数量" align="center" prop="outQuantity" width="100" />
<el-table-column label="检测数量" align="center" prop="checkQuantity" width="100" />
<el-table-column label="不合格数" align="center" prop="unqualifiedQuantity" width="100" />
<el-table-column label="检测结论" align="center" prop="checkResult" width="100">
@ -130,9 +129,8 @@
<dict-tag :type="DICT_TYPE.MES_QC_CHECK_RESULT" :value="scope.row.checkResult" />
</template>
</el-table-column>
<!-- TODO @AI出货日期改成发货日期-->
<el-table-column
label="货日期"
label="货日期"
align="center"
prop="outDate"
:formatter="dateFormatter2"

View File

@ -35,12 +35,11 @@
<el-divider content-position="left">物料信息</el-divider>
<el-row :gutter="16">
<!-- TODO @AI应该是 检验类型 -->
<el-col :span="8">
<el-form-item label="退货类型" prop="rqcType">
<el-form-item label="检验类型" prop="rqcType">
<el-select
v-model="formData.rqcType"
placeholder="请选择退货类型"
placeholder="请选择检验类型"
clearable
class="!w-1/1"
>
@ -52,18 +51,18 @@
/>
</el-select>
</el-form-item>
<!-- TODO @芋艿来源单据类型 -->
<!-- TODO @芋艿来源单据编号 -->
<el-col :span="8">
<el-form-item label="产品物料" prop="itemId">
<MdItemSelect v-model="formData.itemId" placeholder="请选择产品物料" class="!w-1/1" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="批次号" prop="batchCode">
<el-input v-model="formData.batchCode" placeholder="请输入批次号" />
</el-form-item>
</el-col>
</el-col>
<!-- TODO @芋艿来源单据类型 -->
<!-- TODO @芋艿来源单据编号 -->
<el-col :span="8">
<el-form-item label="产品物料" prop="itemId">
<MdItemSelect v-model="formData.itemId" placeholder="请选择产品物料" class="!w-1/1" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="批次号" prop="batchCode">
<el-input v-model="formData.batchCode" placeholder="请输入批次号" />
</el-form-item>
</el-col>
</el-row>

View File

@ -18,8 +18,24 @@
class="!w-240px"
/>
</el-form-item>
<!-- TODO @AI来源单据类型 -->
<!-- TODO @AI来源单据编号 -->
<el-form-item label="来源单据类型" prop="sourceDocType">
<el-input
v-model="queryParams.sourceDocType"
placeholder="请输入来源单据类型"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="来源单据编号" prop="sourceDocCode">
<el-input
v-model="queryParams.sourceDocCode"
placeholder="请输入来源单据编号"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="产品物料" prop="itemId">
<MdItemSelect
v-model="queryParams.itemId"
@ -28,10 +44,10 @@
class="!w-240px"
/>
</el-form-item>
<el-form-item label="退货类型" prop="rqcType">
<el-form-item label="检验类型" prop="rqcType">
<el-select
v-model="queryParams.rqcType"
placeholder="请选择退货类型"
placeholder="请选择检验类型"
clearable
class="!w-240px"
>
@ -106,13 +122,14 @@
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="退货检验单编号" align="center" prop="code" width="160" />
<el-table-column label="退货检验单名称" align="center" prop="name" min-width="180" />
<!-- TODO @AI来源单据类型来源单据编号 -->
<el-table-column label="来源单据类型" align="center" prop="sourceDocType" width="120" />
<el-table-column label="来源单据编号" align="center" prop="sourceDocCode" width="140" />
<el-table-column label="产品物料编码" align="center" prop="itemCode" width="130" />
<el-table-column label="产品物料名称" align="center" prop="itemName" min-width="150" />
<!-- TODO @AI缺规格型号单位 -->
<el-table-column label="规格型号" align="center" prop="itemSpecification" width="130" />
<el-table-column label="单位" align="center" prop="unitName" width="80" />
<el-table-column label="批次号" align="center" prop="batchCode" width="130" />
<!-- TODO @AI应该是 检验类型 -->
<el-table-column label="退货类型" align="center" prop="rqcType" width="100">
<el-table-column label="检验类型" align="center" prop="rqcType" width="100">
<template #default="scope">
<dict-tag :type="DICT_TYPE.MES_RQC_TYPE" :value="scope.row.rqcType" />
</template>
@ -211,6 +228,8 @@ const queryParams = reactive({
pageNo: 1,
pageSize: 10,
code: undefined,
sourceDocType: undefined,
sourceDocCode: undefined,
itemId: undefined,
rqcType: undefined,
checkResult: undefined,