feat(mes): 新增质检方案编码生成与详情模式支持

pull/871/MERGE
YunaiV 2026-04-04 22:37:49 +08:00
parent 98714fde0c
commit 4e964e2eea
3 changed files with 20 additions and 6 deletions

View File

@ -8,6 +8,7 @@
:rules="formRules"
label-width="100px"
v-loading="formLoading"
:disabled="isDetail"
>
<el-row :gutter="16">
<el-col :span="8">
@ -67,7 +68,7 @@
</el-form>
<!-- 子表标签页编辑模式下显示 -->
<template v-if="formType === 'update' && formData.id">
<template v-if="formData.id">
<el-divider />
<el-tabs v-model="activeTab">
<el-tab-pane label="检测指标项" name="indicator">
@ -80,7 +81,9 @@
</template>
<template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button>
<el-button @click="submitForm" type="primary" :disabled="formLoading" v-if="!isDetail">
</el-button>
<el-button @click="dialogVisible = false"> </el-button>
</template>
</Dialog>
@ -90,8 +93,9 @@
import type { FormRules } from 'element-plus'
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict'
import { CommonStatusEnum } from '@/utils/constants'
import { generateRandomStr } from '@/utils'
import { QcTemplateApi, QcTemplateVO } from '@/api/mes/qc/template'
import { AutoCodeRecordApi } from '@/api/mes/md/autocode/record'
import { MesAutoCodeRuleCode } from '@/views/mes/utils/constants'
import TemplateIndicatorList from './TemplateIndicatorList.vue'
import TemplateItemList from './TemplateItemList.vue'
@ -122,10 +126,13 @@ const formRules = reactive<FormRules>({
status: [{ required: true, message: '状态不能为空', trigger: 'change' }]
})
const formRef = ref() // Ref
const isDetail = computed(() => formType.value === 'detail') //
/** 生成方案编号 */
const generateCode = () => {
formData.value.code = 'QCT' + generateRandomStr(10)
const generateCode = async () => {
formData.value.code = await AutoCodeRecordApi.generateAutoCode(
MesAutoCodeRuleCode.QC_TEMPLATE_CODE
)
}
/** 打开弹窗 */

View File

@ -79,7 +79,13 @@
<!-- 列表 -->
<ContentWrap>
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="方案编号" align="center" prop="code" width="150" />
<el-table-column label="方案编号" align="center" prop="code" width="150">
<template #default="scope">
<el-link type="primary" @click="openForm('detail', scope.row.id)">
{{ scope.row.code }}
</el-link>
</template>
</el-table-column>
<el-table-column label="方案名称" align="center" prop="name" min-width="200" />
<el-table-column label="检测种类" align="center" prop="types" min-width="200">
<template #default="scope">

View File

@ -467,6 +467,7 @@ export const MesAutoCodeRuleCode = {
PRO_FEEDBACK_CODE: 'PRO_FEEDBACK_CODE', // 生产报工单编码
PRO_WORK_ORDER_CODE: 'PRO_WORK_ORDER_CODE', // 生产工单编码
QC_DEFECT_CODE: 'QC_DEFECT_CODE', // 缺陷类型编码
QC_TEMPLATE_CODE: 'QC_TEMPLATE_CODE', // 质检方案编码
QC_INDICATOR_CODE: 'QC_INDICATOR_CODE', // 检测项编码
PRO_CARD_CODE: 'PRO_CARD_CODE' // 流转卡编码
} as const