refactor(mes-qc): 优化 OQC 出货检验单表单
- 删除质检方案(templateId)选择字段 - 恢复合格品数量(qualifiedQuantity)字段 - 优化表单布局(每行 3 个字段) - 新增数量字段、日期字段、检测人员必填校验 - 删除出货日期、检测日期搜索字段pull/871/MERGE
parent
7df0785818
commit
44aa77e79f
|
|
@ -26,12 +26,6 @@
|
||||||
<el-input v-model="formData.name" placeholder="请输入检验单名称" />
|
<el-input v-model="formData.name" placeholder="请输入检验单名称" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<!-- TODO @AI:不用前端选择,后端自己计算出来! -->
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="质检方案" prop="templateId">
|
|
||||||
<QcTemplateSelect v-model="formData.templateId" class="!w-1/1" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-divider content-position="left">物料与客户</el-divider>
|
<el-divider content-position="left">物料与客户</el-divider>
|
||||||
|
|
@ -61,7 +55,7 @@
|
||||||
v-model="formData.outQuantity"
|
v-model="formData.outQuantity"
|
||||||
:min="0"
|
:min="0"
|
||||||
:precision="2"
|
:precision="2"
|
||||||
placeholder="请输入"
|
placeholder="请输入发货数量"
|
||||||
class="!w-1/1"
|
class="!w-1/1"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
@ -71,54 +65,29 @@
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model="formData.checkQuantity"
|
v-model="formData.checkQuantity"
|
||||||
:min="0"
|
:min="0"
|
||||||
placeholder="请输入"
|
placeholder="请输入检测数量"
|
||||||
|
class="!w-1/1"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="合格品数量" prop="qualifiedQuantity">
|
||||||
|
<el-input-number
|
||||||
|
v-model="formData.qualifiedQuantity"
|
||||||
|
:min="0"
|
||||||
|
placeholder="请输入合格品数量"
|
||||||
class="!w-1/1"
|
class="!w-1/1"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="16">
|
<el-row :gutter="16">
|
||||||
<el-col :span="8">
|
|
||||||
<!-- TODO @AI:不需要 qualifiedQuantity 参数 -->
|
|
||||||
<el-form-item label="合格品数量" prop="qualifiedQuantity">
|
|
||||||
<el-input-number
|
|
||||||
v-model="formData.qualifiedQuantity"
|
|
||||||
:min="0"
|
|
||||||
placeholder="请输入"
|
|
||||||
class="!w-1/1"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="不合格品数量" prop="unqualifiedQuantity">
|
<el-form-item label="不合格品数量" prop="unqualifiedQuantity">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model="formData.unqualifiedQuantity"
|
v-model="formData.unqualifiedQuantity"
|
||||||
:min="0"
|
:min="0"
|
||||||
placeholder="请输入"
|
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="outDate">
|
|
||||||
<el-date-picker
|
|
||||||
v-model="formData.outDate"
|
|
||||||
type="datetime"
|
|
||||||
value-format="YYYY-MM-DD HH:mm:ss"
|
|
||||||
placeholder="请选择发货日期"
|
|
||||||
class="!w-1/1"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="检测日期" prop="inspectDate">
|
|
||||||
<el-date-picker
|
|
||||||
v-model="formData.inspectDate"
|
|
||||||
type="datetime"
|
|
||||||
value-format="YYYY-MM-DD HH:mm:ss"
|
|
||||||
placeholder="请选择检测日期"
|
|
||||||
class="!w-1/1"
|
class="!w-1/1"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
@ -132,8 +101,30 @@
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="出货日期" prop="outDate">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="formData.outDate"
|
||||||
|
type="datetime"
|
||||||
|
value-format="YYYY-MM-DD HH:mm:ss"
|
||||||
|
placeholder="请选择出货日期"
|
||||||
|
class="!w-1/1"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="16">
|
<el-row :gutter="16">
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="检测日期" prop="inspectDate">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="formData.inspectDate"
|
||||||
|
type="datetime"
|
||||||
|
value-format="YYYY-MM-DD HH:mm:ss"
|
||||||
|
placeholder="请选择检测日期"
|
||||||
|
class="!w-1/1"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="检测结果" prop="checkResult">
|
<el-form-item label="检测结果" prop="checkResult">
|
||||||
<el-select
|
<el-select
|
||||||
|
|
@ -151,7 +142,7 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="16">
|
<el-col :span="24">
|
||||||
<el-form-item label="备注" prop="remark">
|
<el-form-item label="备注" prop="remark">
|
||||||
<el-input type="textarea" v-model="formData.remark" placeholder="请输入备注" />
|
<el-input type="textarea" v-model="formData.remark" placeholder="请输入备注" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
@ -159,43 +150,41 @@
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<!-- 缺陷统计(只读) -->
|
<!-- 缺陷统计(只读) -->
|
||||||
<template>
|
<el-divider content-position="left">缺陷情况</el-divider>
|
||||||
<el-divider content-position="left">缺陷情况</el-divider>
|
<el-row :gutter="16">
|
||||||
<el-row :gutter="16">
|
<el-col :span="8">
|
||||||
<el-col :span="8">
|
<el-form-item label="致命缺陷数">
|
||||||
<el-form-item label="致命缺陷数">
|
<el-input :model-value="formData.criticalQuantity" disabled />
|
||||||
<el-input :model-value="formData.criticalQuantity" disabled />
|
</el-form-item>
|
||||||
</el-form-item>
|
</el-col>
|
||||||
</el-col>
|
<el-col :span="8">
|
||||||
<el-col :span="8">
|
<el-form-item label="严重缺陷数">
|
||||||
<el-form-item label="严重缺陷数">
|
<el-input :model-value="formData.majorQuantity" disabled />
|
||||||
<el-input :model-value="formData.majorQuantity" disabled />
|
</el-form-item>
|
||||||
</el-form-item>
|
</el-col>
|
||||||
</el-col>
|
<el-col :span="8">
|
||||||
<el-col :span="8">
|
<el-form-item label="轻微缺陷数">
|
||||||
<el-form-item label="轻微缺陷数">
|
<el-input :model-value="formData.minorQuantity" disabled />
|
||||||
<el-input :model-value="formData.minorQuantity" disabled />
|
</el-form-item>
|
||||||
</el-form-item>
|
</el-col>
|
||||||
</el-col>
|
</el-row>
|
||||||
</el-row>
|
<el-row :gutter="16">
|
||||||
<el-row :gutter="16">
|
<el-col :span="8">
|
||||||
<el-col :span="8">
|
<el-form-item label="致命缺陷率">
|
||||||
<el-form-item label="致命缺陷率">
|
<el-input :model-value="formData.criticalRate + '%'" disabled />
|
||||||
<el-input :model-value="formData.criticalRate + '%'" disabled />
|
</el-form-item>
|
||||||
</el-form-item>
|
</el-col>
|
||||||
</el-col>
|
<el-col :span="8">
|
||||||
<el-col :span="8">
|
<el-form-item label="严重缺陷率">
|
||||||
<el-form-item label="严重缺陷率">
|
<el-input :model-value="formData.majorRate + '%'" disabled />
|
||||||
<el-input :model-value="formData.majorRate + '%'" disabled />
|
</el-form-item>
|
||||||
</el-form-item>
|
</el-col>
|
||||||
</el-col>
|
<el-col :span="8">
|
||||||
<el-col :span="8">
|
<el-form-item label="轻微缺陷率">
|
||||||
<el-form-item label="轻微缺陷率">
|
<el-input :model-value="formData.minorRate + '%'" disabled />
|
||||||
<el-input :model-value="formData.minorRate + '%'" disabled />
|
</el-form-item>
|
||||||
</el-form-item>
|
</el-col>
|
||||||
</el-col>
|
</el-row>
|
||||||
</el-row>
|
|
||||||
</template>
|
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<!-- 子表标签页(编辑模式下显示) -->
|
<!-- 子表标签页(编辑模式下显示) -->
|
||||||
|
|
@ -225,7 +214,6 @@ import { QcOqcApi, QcOqcVO } from '@/api/mes/qc/oqc'
|
||||||
import MdClientSelect from '@/views/mes/md/client/components/MdClientSelect.vue'
|
import MdClientSelect from '@/views/mes/md/client/components/MdClientSelect.vue'
|
||||||
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 QcTemplateSelect from '@/views/mes/qc/template/components/QcTemplateSelect.vue'
|
|
||||||
import OqcLineList from './OqcLineList.vue'
|
import OqcLineList from './OqcLineList.vue'
|
||||||
import QcIndicatorResultList from '@/views/mes/qc/indicatorresult/components/QcIndicatorResultList.vue'
|
import QcIndicatorResultList from '@/views/mes/qc/indicatorresult/components/QcIndicatorResultList.vue'
|
||||||
import { MesQcTypeEnum } from '@/views/mes/utils/constants'
|
import { MesQcTypeEnum } from '@/views/mes/utils/constants'
|
||||||
|
|
@ -245,7 +233,6 @@ const formData = ref({
|
||||||
id: undefined as number | undefined,
|
id: undefined as number | undefined,
|
||||||
code: undefined,
|
code: undefined,
|
||||||
name: undefined,
|
name: undefined,
|
||||||
templateId: undefined,
|
|
||||||
sourceDocId: undefined,
|
sourceDocId: undefined,
|
||||||
sourceDocType: undefined,
|
sourceDocType: undefined,
|
||||||
sourceDocCode: undefined,
|
sourceDocCode: undefined,
|
||||||
|
|
@ -253,8 +240,6 @@ const formData = ref({
|
||||||
clientId: undefined,
|
clientId: undefined,
|
||||||
batchCode: undefined,
|
batchCode: undefined,
|
||||||
itemId: undefined,
|
itemId: undefined,
|
||||||
minCheckQuantity: undefined,
|
|
||||||
maxUnqualifiedQuantity: undefined,
|
|
||||||
outQuantity: undefined,
|
outQuantity: undefined,
|
||||||
checkQuantity: undefined,
|
checkQuantity: undefined,
|
||||||
qualifiedQuantity: undefined,
|
qualifiedQuantity: undefined,
|
||||||
|
|
@ -272,15 +257,18 @@ const formData = ref({
|
||||||
majorQuantity: 0,
|
majorQuantity: 0,
|
||||||
minorQuantity: 0
|
minorQuantity: 0
|
||||||
})
|
})
|
||||||
// TODO @AI:检测数量、发货数量;必填;
|
|
||||||
// TODO @AI:发货日期、检测日期、检测人员;必填
|
|
||||||
const formRules = reactive({
|
const formRules = reactive({
|
||||||
code: [{ required: true, message: '检验单编号不能为空', trigger: 'blur' }],
|
code: [{ required: true, message: '检验单编号不能为空', trigger: 'blur' }],
|
||||||
name: [{ required: true, message: '检验单名称不能为空', trigger: 'blur' }],
|
name: [{ required: true, message: '检验单名称不能为空', trigger: 'blur' }],
|
||||||
templateId: [{ required: true, message: '检验模板不能为空', trigger: 'change' }],
|
|
||||||
clientId: [{ required: true, message: '客户不能为空', trigger: 'change' }],
|
clientId: [{ required: true, message: '客户不能为空', trigger: 'change' }],
|
||||||
itemId: [{ required: true, message: '产品物料不能为空', trigger: 'change' }],
|
itemId: [{ required: true, message: '产品物料不能为空', trigger: 'change' }],
|
||||||
outQuantity: [{ required: true, message: '发货数量不能为空', trigger: 'blur' }]
|
outQuantity: [{ required: true, message: '发货数量不能为空', trigger: 'blur' }],
|
||||||
|
checkQuantity: [{ required: true, message: '检测数量不能为空', trigger: 'blur' }],
|
||||||
|
qualifiedQuantity: [{ required: true, message: '合格品数量不能为空', trigger: 'blur' }],
|
||||||
|
unqualifiedQuantity: [{ required: true, message: '不合格品数量不能为空', trigger: 'blur' }],
|
||||||
|
inspectorUserId: [{ required: true, message: '检测人员不能为空', trigger: 'change' }],
|
||||||
|
outDate: [{ required: true, message: '出货日期不能为空', trigger: 'change' }],
|
||||||
|
inspectDate: [{ required: true, message: '检测日期不能为空', trigger: 'change' }]
|
||||||
})
|
})
|
||||||
const formRef = ref() // 表单 Ref
|
const formRef = ref() // 表单 Ref
|
||||||
|
|
||||||
|
|
@ -340,7 +328,6 @@ const resetForm = () => {
|
||||||
id: undefined,
|
id: undefined,
|
||||||
code: undefined,
|
code: undefined,
|
||||||
name: undefined,
|
name: undefined,
|
||||||
templateId: undefined,
|
|
||||||
sourceDocId: undefined,
|
sourceDocId: undefined,
|
||||||
sourceDocType: undefined,
|
sourceDocType: undefined,
|
||||||
sourceDocCode: undefined,
|
sourceDocCode: undefined,
|
||||||
|
|
@ -348,8 +335,6 @@ const resetForm = () => {
|
||||||
clientId: undefined,
|
clientId: undefined,
|
||||||
batchCode: undefined,
|
batchCode: undefined,
|
||||||
itemId: undefined,
|
itemId: undefined,
|
||||||
minCheckQuantity: undefined,
|
|
||||||
maxUnqualifiedQuantity: undefined,
|
|
||||||
outQuantity: undefined,
|
outQuantity: undefined,
|
||||||
checkQuantity: undefined,
|
checkQuantity: undefined,
|
||||||
qualifiedQuantity: undefined,
|
qualifiedQuantity: undefined,
|
||||||
|
|
|
||||||
|
|
@ -58,29 +58,6 @@
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- TODO @AI:前后端,去掉 outDate、inspectDate 的校验逻辑; -->
|
|
||||||
<el-form-item label="发货日期" prop="outDate">
|
|
||||||
<el-date-picker
|
|
||||||
v-model="queryParams.outDate"
|
|
||||||
value-format="YYYY-MM-DD HH:mm:ss"
|
|
||||||
type="daterange"
|
|
||||||
start-placeholder="开始日期"
|
|
||||||
end-placeholder="结束日期"
|
|
||||||
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
|
|
||||||
class="!w-240px"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="检测日期" prop="inspectDate">
|
|
||||||
<el-date-picker
|
|
||||||
v-model="queryParams.inspectDate"
|
|
||||||
value-format="YYYY-MM-DD HH:mm:ss"
|
|
||||||
type="daterange"
|
|
||||||
start-placeholder="开始日期"
|
|
||||||
end-placeholder="结束日期"
|
|
||||||
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
|
|
||||||
class="!w-240px"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="检测人员" prop="inspectorUserId">
|
<el-form-item label="检测人员" prop="inspectorUserId">
|
||||||
<UserSelect
|
<UserSelect
|
||||||
v-model="queryParams.inspectorUserId"
|
v-model="queryParams.inspectorUserId"
|
||||||
|
|
@ -224,8 +201,6 @@ const queryParams = reactive({
|
||||||
batchCode: undefined,
|
batchCode: undefined,
|
||||||
itemId: undefined,
|
itemId: undefined,
|
||||||
checkResult: undefined,
|
checkResult: undefined,
|
||||||
outDate: undefined,
|
|
||||||
inspectDate: undefined,
|
|
||||||
inspectorUserId: undefined
|
inspectorUserId: undefined
|
||||||
})
|
})
|
||||||
const queryFormRef = ref() // 搜索的表单
|
const queryFormRef = ref() // 搜索的表单
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue