feat(mes): 添加来料检验单编码规则和优化界面元素

新增来料检验单编码规则,支持自动生成检验单编号。优化了多个表单中的分隔符样式,提升用户体验。
pull/871/MERGE
YunaiV 2026-03-23 23:03:50 +08:00
parent 251dd5b720
commit ec48c03486
7 changed files with 30 additions and 19 deletions

View File

@ -30,7 +30,7 @@
</el-row>
<!-- 检测值列表 -->
<el-divider content-position="left">检测值</el-divider>
<el-divider>检测值</el-divider>
<div v-for="(item, index) in formData.items" :key="index">
<el-row :gutter="16">
<el-col :span="12">

View File

@ -36,7 +36,7 @@
</el-col>
</el-row>
<el-divider content-position="left">生产关联</el-divider>
<el-divider>生产关联</el-divider>
<el-row :gutter="16">
<el-col :span="8">
<el-form-item label="生产工单" prop="workOrderId">
@ -63,7 +63,7 @@
</el-col>
</el-row>
<el-divider content-position="left">检测情况</el-divider>
<el-divider>检测情况</el-divider>
<el-row :gutter="16">
<el-col :span="8">
<el-form-item label="检测数量" prop="checkQuantity">
@ -184,7 +184,7 @@
<!-- 缺陷统计只读 -->
<template v-if="formType === 'update' && formData.id">
<el-divider content-position="left">缺陷情况</el-divider>
<el-divider>缺陷情况</el-divider>
<el-row :gutter="16">
<el-col :span="8">
<el-form-item label="致命缺陷数">

View File

@ -29,7 +29,7 @@
</el-col>
</el-row>
<el-divider content-position="left">物料与供应商</el-divider>
<el-divider>物料与供应商</el-divider>
<el-row :gutter="16">
<el-col :span="8">
<el-form-item label="产品物料" prop="itemId">
@ -58,7 +58,7 @@
</el-col>
</el-row>
<el-divider content-position="left">检测情况</el-divider>
<el-divider>检测情况</el-divider>
<el-row :gutter="16">
<el-col :span="8">
<el-form-item label="本次接收数量" prop="receivedQuantity">
@ -107,6 +107,7 @@
<el-row :gutter="16">
<el-col :span="8">
<el-form-item label="检测人员" prop="inspectorUserId">
<!-- TODO @AI需要 import -->
<UserSelect
v-model="formData.inspectorUserId"
placeholder="请选择检测人员"
@ -152,7 +153,7 @@
</el-row>
<!-- 缺陷统计只读 -->
<el-divider content-position="left">缺陷情况</el-divider>
<el-divider>缺陷情况</el-divider>
<el-row :gutter="16">
<el-col :span="8">
<el-form-item label="致命缺陷数">
@ -213,13 +214,13 @@
<script setup lang="ts">
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
import { generateRandomStr } from '@/utils'
import { AutoCodeRecordApi } from '@/api/mes/md/autocode/record'
import { QcIqcApi, QcIqcVO } from '@/api/mes/qc/iqc'
import MdVendorSelect from '@/views/mes/md/vendor/components/MdVendorSelect.vue'
import MdItemSelect from '@/views/mes/md/item/components/MdItemSelect.vue'
import IqcLineList from './IqcLineList.vue'
import QcIndicatorResultList from '@/views/mes/qc/indicatorresult/components/QcIndicatorResultList.vue'
import { MesQcTypeEnum } from '@/views/mes/utils/constants'
import { MesQcTypeEnum, MesAutoCodeRuleCode } from '@/views/mes/utils/constants'
defineOptions({ name: 'IqcForm' })
@ -284,8 +285,8 @@ const formRules = reactive({
const formRef = ref() // Ref
/** 生成检验单编号 */
const generateCode = () => {
formData.value.code = 'IQC' + generateRandomStr(10)
const generateCode = async () => {
formData.value.code = await AutoCodeRecordApi.generateAutoCode(MesAutoCodeRuleCode.QC_IQC_CODE)
}
/** 打开弹窗 */

View File

@ -28,7 +28,7 @@
</el-col>
</el-row>
<el-divider content-position="left">物料与客户</el-divider>
<el-divider>物料与客户</el-divider>
<el-row :gutter="16">
<el-col :span="8">
<el-form-item label="产品物料" prop="itemId">
@ -47,7 +47,7 @@
</el-col>
</el-row>
<el-divider content-position="left">检测情况</el-divider>
<el-divider>检测情况</el-divider>
<el-row :gutter="16">
<el-col :span="8">
<el-form-item label="发货数量" prop="outQuantity">
@ -150,7 +150,7 @@
</el-row>
<!-- 缺陷统计只读 -->
<el-divider content-position="left">缺陷情况</el-divider>
<el-divider>缺陷情况</el-divider>
<el-row :gutter="16">
<el-col :span="8">
<el-form-item label="致命缺陷数">

View File

@ -29,7 +29,7 @@
</el-col>
</el-row>
<el-divider content-position="left">物料信息</el-divider>
<el-divider>物料信息</el-divider>
<el-row :gutter="16">
<el-col :span="8">
<el-form-item label="检验类型" prop="type">
@ -67,7 +67,7 @@
</el-col>
</el-row>
<el-divider content-position="left">检测情况</el-divider>
<el-divider>检测情况</el-divider>
<el-row :gutter="16">
<el-col :span="8">
<el-form-item label="检测数量" prop="checkQuantity">
@ -151,7 +151,7 @@
</el-row>
<!-- 缺陷统计只读 -->
<el-divider content-position="left">缺陷情况</el-divider>
<el-divider>缺陷情况</el-divider>
<el-row :gutter="16">
<el-col :span="8">
<el-form-item label="致命缺陷数">

View File

@ -383,6 +383,15 @@ export const MesAutoCodePaddedMethodEnum = {
RIGHT: 2 // 右补齐
}
/** MES 自动编码规则 Code 枚举 */
export const MesAutoCodeRuleCode = {
SN_CODE: 'WM_SN_CODE', // SN 码
PACKAGE_CODE: 'WM_PACKAGE_CODE', // 装箱单编码
BATCH_CODE: 'WM_BATCH_CODE', // 批次编码
TASK_CODE: 'PRO_TASK_CODE', // 生产任务编码
QC_IQC_CODE: 'QC_IQC_CODE' // 来料检验单编码
} as const
/** 获取物料/产品标识的标签 */
export const getItemOrProductLabel = (value: string): string => {
for (const item of Object.values(MesItemOrProductEnum)) {

View File

@ -159,6 +159,7 @@ import MdUnitMeasureSelect from '@/views/mes/md/unitmeasure/components/MdUnitMea
import UserSelect from '@/views/system/user/components/UserSelect.vue'
import SubPackageList from './SubPackageList.vue'
import PackageLineList from './PackageLineList.vue'
import { MesAutoCodeRuleCode } from '@/views/mes/utils/constants'
defineOptions({ name: 'PackageForm' })
@ -203,8 +204,8 @@ const formRef = ref()
/** 生成装箱单编号 */
const generateCode = async () => {
// TODO @AI mes constants
formData.value.code = await AutoCodeRecordApi.generateAutoCode('PACKAGE_CODE')
// DONE @AI mes constants
formData.value.code = await AutoCodeRecordApi.generateAutoCode(MesAutoCodeRuleCode.PACKAGE_CODE)
}
/** 打开弹窗 */