style:检验模板-新增/编辑-检验方案添加productId传参

pull/1/head
黄伟杰 4 weeks ago
parent 90403a88a6
commit f39ce1aec2

@ -439,7 +439,7 @@ const handleInspectExpand = (row: PlanVO) => {
const zjTaskFormRef = ref()
const openZjTaskForm = (row: PlanVO) => {
zjTaskFormRef.value.open('create', undefined, { ticketType: 1, ticket: row.id, ticketName: row.code })
zjTaskFormRef.value.open('create', undefined, { ticketType: 1, ticket: row.id, ticketName: row.code, productId: row.productId })
}
const setInspectable = (id: number | undefined, hasPending: boolean) => {

@ -19,7 +19,7 @@
</el-form-item>
<el-form-item :label="t('QualityManagement.ZjTask.formTicket')" prop="ticket">
<el-select v-model="formData.ticket" clearable filterable :disabled="lockedFields.ticket"
:placeholder="t('QualityManagement.ZjTask.placeholderFormTicket')">
:placeholder="t('QualityManagement.ZjTask.placeholderFormTicket')" @change="fetchProductIdByTicket">
<el-option v-for="item in planList" :key="item.id" :label="item.code" :value="item.id" />
</el-select>
</el-form-item>
@ -30,7 +30,7 @@
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item :label="t('QualityManagement.ZjTask.formSchema')" prop="schemaId">
<el-form-item v-if="formData.ticket" :label="t('QualityManagement.ZjTask.formSchema')" prop="schemaId">
<el-row :gutter="8" class="w-full">
<el-col :span="22">
<el-input v-model="formData.schemaName" :placeholder="t('QualityManagement.ZjTask.placeholderFormSchema')"
@ -166,6 +166,7 @@ const schemaDialogVisible = ref(false)
const schemaLoading = ref(false)
const schemaList = ref<ZjSchemaVO[]>([])
const selectedSchemaId = ref<number | undefined>(undefined)
const currentProductId = ref<number | undefined>(undefined)
const orgTypeOptions = getStrDictOptions(DICT_TYPE.MES_ORG_TYPE)
const userList = ref<UserApi.UserVO[]>([])
@ -193,10 +194,13 @@ const formatSchemaVal = (val: string | number | null | undefined) => {
}
const loadSchemaList = async () => {
if (schemaList.value.length) return
schemaLoading.value = true
try {
const data = await ZjSchemaApi.getZjSchemaList()
const params: any = {}
if (formData.value.ticketType === 1 && currentProductId.value) {
params.productId = currentProductId.value
}
const data = await ZjSchemaApi.getZjSchemaList(params)
schemaList.value = data || []
} finally {
schemaLoading.value = false
@ -205,6 +209,7 @@ const loadSchemaList = async () => {
const openSchemaDialog = async () => {
schemaDialogVisible.value = true
schemaList.value = []
await loadSchemaList()
}
@ -245,10 +250,11 @@ const resetForm = () => {
}
selectedSchemaId.value = undefined
lockedFields.value = {}
currentProductId.value = undefined
formRef.value?.resetFields()
}
const open = async (type: string, record?: ZjTaskVO, preset?: { ticketType?: number; ticket?: number; ticketName?: string }) => {
const open = async (type: string, record?: ZjTaskVO, preset?: { ticketType?: number; ticket?: number; ticketName?: string; productId?: number }) => {
dialogVisible.value = true
dialogTitle.value = t('action.' + type)
formType.value = type
@ -281,6 +287,9 @@ const open = async (type: string, record?: ZjTaskVO, preset?: { ticketType?: num
lockedFields.value.ticket = true
planList.value = [{ id: preset.ticket, code: preset.ticketName || '' }] as PlanVO[]
}
if (preset.productId !== undefined) {
currentProductId.value = preset.productId
}
}
}
@ -317,10 +326,20 @@ const submitForm = async () => {
}
const ticketTypeChange = async () => {
formData.value.ticket = undefined
currentProductId.value = undefined
if (formData.value.ticketType != undefined) {
const type = formData.value.ticketType === 1 ? 8 : formData.value.ticketType
const data = await PlanApi.getPlanByTicketType(type)
planList.value = data || []
}
}
const fetchProductIdByTicket = async () => {
if (!formData.value.ticket) return
const plan = planList.value.find((item: any) => item.id === formData.value.ticket)
if (plan?.productId) {
currentProductId.value = plan.productId
}
}
</script>

Loading…
Cancel
Save