feat(mes): 重构 IQC 状态管理,使用枚举替代硬编码,简化代码并提升可维护性

pull/871/MERGE
YunaiV 2026-02-21 08:10:12 +08:00
parent 99b983f00f
commit a0ac62e0fa
2 changed files with 5 additions and 38 deletions

View File

@ -64,20 +64,9 @@
v-model="formData.itemId" v-model="formData.itemId"
placeholder="请选择产品物料" placeholder="请选择产品物料"
class="!w-1/1" class="!w-1/1"
@change="handleItemChange"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8">
<el-form-item label="物料名称">
<el-input :model-value="itemName" disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="规格型号">
<el-input :model-value="itemSpecification" disabled />
</el-form-item>
</el-col>
</el-row> </el-row>
<el-divider content-position="left">检测情况</el-divider> <el-divider content-position="left">检测情况</el-divider>
@ -278,10 +267,6 @@ const formLoading = ref(false)
const formType = ref('') const formType = ref('')
const activeTab = ref('line') const activeTab = ref('line')
//
const itemName = ref('')
const itemSpecification = ref('')
// //
const templateList = ref<any[]>([]) const templateList = ref<any[]>([])
@ -327,12 +312,6 @@ const formRules = reactive({
}) })
const formRef = ref() const formRef = ref()
/** 物料变更回调 */
const handleItemChange = (item: any) => {
itemName.value = item?.name || ''
itemSpecification.value = item?.specification || ''
}
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (type: string, id?: number) => { const open = async (type: string, id?: number) => {
dialogVisible.value = true dialogVisible.value = true
@ -348,9 +327,6 @@ const open = async (type: string, id?: number) => {
try { try {
const data = await QcIqcApi.getIqc(id) const data = await QcIqcApi.getIqc(id)
formData.value = data formData.value = data
//
itemName.value = data.itemName || ''
itemSpecification.value = data.itemSpecification || ''
} finally { } finally {
formLoading.value = false formLoading.value = false
} }
@ -432,9 +408,6 @@ const resetForm = () => {
majorQuantity: 0, majorQuantity: 0,
minorQuantity: 0 minorQuantity: 0
} }
// TODO @AI item
itemName.value = ''
itemSpecification.value = ''
formRef.value?.resetFields() formRef.value?.resetFields()
} }
</script> </script>

View File

@ -156,7 +156,7 @@
type="primary" type="primary"
@click="openForm('update', scope.row.id)" @click="openForm('update', scope.row.id)"
v-hasPermi="['mes:qc-iqc:update']" v-hasPermi="['mes:qc-iqc:update']"
v-if="scope.row.status === QC_IQC_STATUS.PREPARE" v-if="scope.row.status === MesQcIqcStatusEnum.PREPARE"
> >
编辑 编辑
</el-button> </el-button>
@ -165,7 +165,7 @@
type="success" type="success"
@click="handleComplete(scope.row.id)" @click="handleComplete(scope.row.id)"
v-hasPermi="['mes:qc-iqc:update']" v-hasPermi="['mes:qc-iqc:update']"
v-if="scope.row.status === QC_IQC_STATUS.PREPARE" v-if="scope.row.status === MesQcIqcStatusEnum.PREPARE"
> >
完成 完成
</el-button> </el-button>
@ -174,7 +174,7 @@
link link
type="primary" type="primary"
@click="openForm('update', scope.row.id)" @click="openForm('update', scope.row.id)"
v-if="scope.row.status !== QC_IQC_STATUS.PREPARE" v-if="scope.row.status !== MesQcIqcStatusEnum.PREPARE"
> >
查看报表 查看报表
</el-button> </el-button>
@ -183,7 +183,7 @@
type="danger" type="danger"
@click="handleDelete(scope.row.id)" @click="handleDelete(scope.row.id)"
v-hasPermi="['mes:qc-iqc:delete']" v-hasPermi="['mes:qc-iqc:delete']"
v-if="scope.row.status === QC_IQC_STATUS.PREPARE" v-if="scope.row.status === MesQcIqcStatusEnum.PREPARE"
> >
删除 删除
</el-button> </el-button>
@ -212,16 +212,10 @@ import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
import MdVendorSelect from '@/views/mes/md/vendor/components/MdVendorSelect.vue' import MdVendorSelect from '@/views/mes/md/vendor/components/MdVendorSelect.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 { MesQcIqcStatusEnum } from '@/views/mes/utils/constants'
defineOptions({ name: 'MesQcIqc' }) defineOptions({ name: 'MesQcIqc' })
/** IQC 状态枚举 */
// TODO @AI constants
const QC_IQC_STATUS = {
PREPARE: 0,
FINISHED: 1
}
const message = useMessage() const message = useMessage()
const { t } = useI18n() const { t } = useI18n()