|
|
|
|
@ -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>
|
|
|
|
|
|