✨ feat(mes): 添加来源单据编号字段,优化数据结构
parent
9959c6c5f6
commit
be159c7070
|
|
@ -41,6 +41,26 @@
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
|
<el-row :gutter="16" v-if="formData.sourceDocType">
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="来源单据类型">
|
||||||
|
<el-select v-model="formData.sourceDocType" class="!w-1/1" disabled>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in getIntDictOptions(DICT_TYPE.MES_QC_SOURCE_DOC_TYPE)"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="dict.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="来源单据编号">
|
||||||
|
<el-input v-model="formData.sourceDocCode" disabled />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
<el-divider>生产关联</el-divider>
|
<el-divider>生产关联</el-divider>
|
||||||
<el-row :gutter="16">
|
<el-row :gutter="16">
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
|
|
@ -302,6 +322,7 @@ const formData = ref({
|
||||||
templateId: undefined,
|
templateId: undefined,
|
||||||
sourceDocId: undefined,
|
sourceDocId: undefined,
|
||||||
sourceDocType: undefined,
|
sourceDocType: undefined,
|
||||||
|
sourceDocCode: undefined,
|
||||||
sourceLineId: undefined,
|
sourceLineId: undefined,
|
||||||
workOrderId: undefined,
|
workOrderId: undefined,
|
||||||
taskId: undefined,
|
taskId: undefined,
|
||||||
|
|
@ -418,6 +439,7 @@ const resetForm = () => {
|
||||||
templateId: undefined,
|
templateId: undefined,
|
||||||
sourceDocId: undefined,
|
sourceDocId: undefined,
|
||||||
sourceDocType: undefined,
|
sourceDocType: undefined,
|
||||||
|
sourceDocCode: undefined,
|
||||||
sourceLineId: undefined,
|
sourceLineId: undefined,
|
||||||
workOrderId: undefined,
|
workOrderId: undefined,
|
||||||
taskId: undefined,
|
taskId: undefined,
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,26 @@
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
|
<el-row :gutter="16" v-if="formData.sourceDocType">
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="来源单据类型">
|
||||||
|
<el-select v-model="formData.sourceDocType" class="!w-1/1" disabled>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in getIntDictOptions(DICT_TYPE.MES_QC_SOURCE_DOC_TYPE)"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="dict.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="来源单据编号">
|
||||||
|
<el-input v-model="formData.sourceDocCode" disabled />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
<el-divider>物料与供应商</el-divider>
|
<el-divider>物料与供应商</el-divider>
|
||||||
<el-row :gutter="16">
|
<el-row :gutter="16">
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
|
|
@ -251,6 +271,7 @@ const formData = ref({
|
||||||
name: undefined,
|
name: undefined,
|
||||||
sourceDocId: undefined,
|
sourceDocId: undefined,
|
||||||
sourceDocType: undefined,
|
sourceDocType: undefined,
|
||||||
|
sourceDocCode: undefined,
|
||||||
sourceLineId: undefined,
|
sourceLineId: undefined,
|
||||||
vendorId: undefined,
|
vendorId: undefined,
|
||||||
vendorBatch: undefined,
|
vendorBatch: undefined,
|
||||||
|
|
@ -345,6 +366,7 @@ const resetForm = () => {
|
||||||
name: undefined,
|
name: undefined,
|
||||||
sourceDocId: undefined,
|
sourceDocId: undefined,
|
||||||
sourceDocType: undefined,
|
sourceDocType: undefined,
|
||||||
|
sourceDocCode: undefined,
|
||||||
sourceLineId: undefined,
|
sourceLineId: undefined,
|
||||||
vendorId: undefined,
|
vendorId: undefined,
|
||||||
vendorBatch: undefined,
|
vendorBatch: undefined,
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,26 @@
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
|
<el-row :gutter="16" v-if="formData.sourceDocType">
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="来源单据类型">
|
||||||
|
<el-select v-model="formData.sourceDocType" class="!w-1/1" disabled>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in getIntDictOptions(DICT_TYPE.MES_QC_SOURCE_DOC_TYPE)"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="dict.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="来源单据编号">
|
||||||
|
<el-input v-model="formData.sourceDocCode" disabled />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
<el-divider>物料与客户</el-divider>
|
<el-divider>物料与客户</el-divider>
|
||||||
<el-row :gutter="16">
|
<el-row :gutter="16">
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
|
|
@ -256,6 +276,7 @@ const formData = ref({
|
||||||
name: undefined,
|
name: undefined,
|
||||||
sourceDocId: undefined,
|
sourceDocId: undefined,
|
||||||
sourceDocType: undefined,
|
sourceDocType: undefined,
|
||||||
|
sourceDocCode: undefined,
|
||||||
sourceLineId: undefined,
|
sourceLineId: undefined,
|
||||||
clientId: undefined,
|
clientId: undefined,
|
||||||
batchCode: undefined,
|
batchCode: undefined,
|
||||||
|
|
@ -352,6 +373,7 @@ const resetForm = () => {
|
||||||
name: undefined,
|
name: undefined,
|
||||||
sourceDocId: undefined,
|
sourceDocId: undefined,
|
||||||
sourceDocType: undefined,
|
sourceDocType: undefined,
|
||||||
|
sourceDocCode: undefined,
|
||||||
sourceLineId: undefined,
|
sourceLineId: undefined,
|
||||||
clientId: undefined,
|
clientId: undefined,
|
||||||
batchCode: undefined,
|
batchCode: undefined,
|
||||||
|
|
|
||||||
|
|
@ -205,6 +205,7 @@ const handleCreateRqc = (row: QcPendingInspectVO) => {
|
||||||
sourceDocId: row.sourceDocId,
|
sourceDocId: row.sourceDocId,
|
||||||
sourceDocType: row.sourceDocType,
|
sourceDocType: row.sourceDocType,
|
||||||
sourceLineId: row.sourceLineId,
|
sourceLineId: row.sourceLineId,
|
||||||
|
sourceDocCode: row.sourceDocCode,
|
||||||
itemId: row.itemId,
|
itemId: row.itemId,
|
||||||
checkQuantity: row.quantity,
|
checkQuantity: row.quantity,
|
||||||
inspectDate: row.recordTime,
|
inspectDate: row.recordTime,
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,25 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
<el-row :gutter="16" v-if="formData.sourceDocType">
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="来源单据类型">
|
||||||
|
<el-select v-model="formData.sourceDocType" class="!w-1/1" disabled>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in getIntDictOptions(DICT_TYPE.MES_QC_SOURCE_DOC_TYPE)"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="dict.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="来源单据编号">
|
||||||
|
<el-input v-model="formData.sourceDocCode" disabled />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
<el-divider>物料信息</el-divider>
|
<el-divider>物料信息</el-divider>
|
||||||
<el-row :gutter="16">
|
<el-row :gutter="16">
|
||||||
|
|
@ -249,6 +268,7 @@ const formData = ref({
|
||||||
sourceDocId: undefined,
|
sourceDocId: undefined,
|
||||||
sourceDocType: undefined,
|
sourceDocType: undefined,
|
||||||
sourceLineId: undefined,
|
sourceLineId: undefined,
|
||||||
|
sourceDocCode: undefined,
|
||||||
type: undefined,
|
type: undefined,
|
||||||
itemId: undefined,
|
itemId: undefined,
|
||||||
batchCode: undefined,
|
batchCode: undefined,
|
||||||
|
|
@ -344,6 +364,7 @@ const resetForm = () => {
|
||||||
sourceDocId: undefined,
|
sourceDocId: undefined,
|
||||||
sourceDocType: undefined,
|
sourceDocType: undefined,
|
||||||
sourceLineId: undefined,
|
sourceLineId: undefined,
|
||||||
|
sourceDocCode: undefined,
|
||||||
type: undefined,
|
type: undefined,
|
||||||
itemId: undefined,
|
itemId: undefined,
|
||||||
batchCode: undefined,
|
batchCode: undefined,
|
||||||
|
|
|
||||||
|
|
@ -18,8 +18,7 @@
|
||||||
class="!w-240px"
|
class="!w-240px"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- TODO @AI:应该字典处理下:来源单据类型 -->
|
<!-- DONE @AI:应该字典处理下:来源单据类型 -->
|
||||||
<!--
|
|
||||||
<el-form-item label="来源单据类型" prop="sourceDocType">
|
<el-form-item label="来源单据类型" prop="sourceDocType">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="queryParams.sourceDocType"
|
v-model="queryParams.sourceDocType"
|
||||||
|
|
@ -28,15 +27,27 @@
|
||||||
class="!w-240px"
|
class="!w-240px"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in getIntDictOptions(DICT_TYPE.MES_QC_SOURCE_DOC_TYPE)"
|
v-for="dict in getIntDictOptions(DICT_TYPE.MES_QC_SOURCE_DOC_TYPE).filter(
|
||||||
|
(dict) =>
|
||||||
|
[MesQcSourceDocTypeEnum.RETURN_ISSUE, MesQcSourceDocTypeEnum.RETURN_SALES].includes(
|
||||||
|
dict.value
|
||||||
|
)
|
||||||
|
)"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
:label="dict.label"
|
:label="dict.label"
|
||||||
:value="dict.value"
|
:value="dict.value"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
-->
|
<el-form-item label="来源单据编号" prop="sourceDocCode">
|
||||||
<!-- TODO @AI:来源单据编号;如果填写了,去相关的去查询,然后 IN 下; -->
|
<el-input
|
||||||
|
v-model="queryParams.sourceDocCode"
|
||||||
|
placeholder="请输入来源单据编号"
|
||||||
|
clearable
|
||||||
|
@keyup.enter="handleQuery"
|
||||||
|
class="!w-240px"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="产品物料" prop="itemId">
|
<el-form-item label="产品物料" prop="itemId">
|
||||||
<MdItemSelect
|
<MdItemSelect
|
||||||
v-model="queryParams.itemId"
|
v-model="queryParams.itemId"
|
||||||
|
|
@ -112,9 +123,14 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="检验单名称" align="center" prop="name" min-width="180" />
|
<el-table-column label="检验单名称" align="center" prop="name" min-width="180" />
|
||||||
<!-- TODO @AI:应该字典处理下:来源单据类型 -->
|
<!-- DONE @AI:应该字典处理下:来源单据类型 -->
|
||||||
<el-table-column label="来源单据类型" align="center" prop="sourceDocType" width="120" />
|
<el-table-column label="来源单据类型" align="center" prop="sourceDocType" width="120">
|
||||||
<!-- TODO @AI:来源单独编码,需要后端 RespVO 拼接下返回; -->
|
<template #default="scope">
|
||||||
|
<dict-tag :type="DICT_TYPE.MES_QC_SOURCE_DOC_TYPE" :value="scope.row.sourceDocType" />
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!-- DONE @AI:来源单据编码,后端 RespVO 已拼接返回 sourceDocCode -->
|
||||||
|
<el-table-column label="来源单据编码" align="center" prop="sourceDocCode" width="160" />
|
||||||
<el-table-column label="产品物料编码" align="center" prop="itemCode" width="130" />
|
<el-table-column label="产品物料编码" align="center" prop="itemCode" width="130" />
|
||||||
<el-table-column label="产品物料名称" align="center" prop="itemName" min-width="150" />
|
<el-table-column label="产品物料名称" align="center" prop="itemName" min-width="150" />
|
||||||
<el-table-column label="规格型号" align="center" prop="itemSpecification" width="130" />
|
<el-table-column label="规格型号" align="center" prop="itemSpecification" width="130" />
|
||||||
|
|
@ -191,7 +207,7 @@ import RqcForm from './RqcForm.vue'
|
||||||
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
|
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
|
||||||
import MdItemSelect from '@/views/mes/md/item/components/MdItemSelect.vue'
|
import MdItemSelect from '@/views/mes/md/item/components/MdItemSelect.vue'
|
||||||
import UserSelect from '@/views/system/user/components/UserSelect.vue'
|
import UserSelect from '@/views/system/user/components/UserSelect.vue'
|
||||||
import { MesQcStatusEnum } from '@/views/mes/utils/constants'
|
import { MesQcStatusEnum, MesQcSourceDocTypeEnum } from '@/views/mes/utils/constants'
|
||||||
|
|
||||||
defineOptions({ name: 'MesQcRqc' })
|
defineOptions({ name: 'MesQcRqc' })
|
||||||
|
|
||||||
|
|
@ -206,6 +222,7 @@ const queryParams = reactive({
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
code: undefined,
|
code: undefined,
|
||||||
sourceDocType: undefined,
|
sourceDocType: undefined,
|
||||||
|
sourceDocCode: undefined,
|
||||||
itemId: undefined,
|
itemId: undefined,
|
||||||
batchCode: undefined,
|
batchCode: undefined,
|
||||||
checkResult: undefined,
|
checkResult: undefined,
|
||||||
|
|
|
||||||
|
|
@ -139,6 +139,33 @@ export const MesQcResultValueType = {
|
||||||
FILE: 5 // 文件
|
FILE: 5 // 文件
|
||||||
} as const
|
} as const
|
||||||
|
|
||||||
|
/** MES 业务类型常量 */
|
||||||
|
export const MesBizTypeEnum = {
|
||||||
|
// WM 仓库模块 [100, 200)
|
||||||
|
WM_ARRIVAL_NOTICE: 100, // 到货通知单
|
||||||
|
WM_RETURN_ISSUE: 116, // 生产退料
|
||||||
|
WM_PRODUCT_SALES: 118, // 销售出库
|
||||||
|
WM_RETURN_SALES: 119, // 销售退货入库
|
||||||
|
WM_OUTSOURCE_RECPT: 121, // 外协入库
|
||||||
|
|
||||||
|
// PRO 生产模块 [300, 400)
|
||||||
|
PRO_FEEDBACK: 304 // 生产报工
|
||||||
|
}
|
||||||
|
|
||||||
|
/** MES 质检来源单据类型枚举 */
|
||||||
|
export const MesQcSourceDocTypeEnum = {
|
||||||
|
// IQC
|
||||||
|
ARRIVAL_NOTICE: MesBizTypeEnum.WM_ARRIVAL_NOTICE,
|
||||||
|
OUTSOURCE_RECPT: MesBizTypeEnum.WM_OUTSOURCE_RECPT,
|
||||||
|
// IPQC
|
||||||
|
PRO_FEEDBACK: MesBizTypeEnum.PRO_FEEDBACK,
|
||||||
|
// OQC
|
||||||
|
PRODUCT_SALES: MesBizTypeEnum.WM_PRODUCT_SALES,
|
||||||
|
// RQC
|
||||||
|
RETURN_ISSUE: MesBizTypeEnum.WM_RETURN_ISSUE,
|
||||||
|
RETURN_SALES: MesBizTypeEnum.WM_RETURN_SALES
|
||||||
|
}
|
||||||
|
|
||||||
/** MES 质检类型枚举 */
|
/** MES 质检类型枚举 */
|
||||||
export const MesQcTypeEnum = {
|
export const MesQcTypeEnum = {
|
||||||
IQC: 1, // 来料检验
|
IQC: 1, // 来料检验
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue