style:配方管理-配方配置修改新增/编辑参数

main
黄伟杰 1 month ago
parent 9327f284dd
commit fe6a11009b

@ -6,9 +6,11 @@ export interface RecipeConfigVO {
recipeName?: string recipeName?: string
name?: string name?: string
recipeType?: string | number recipeType?: string | number
recipeTypeId?: string | number
productId?: number productId?: number
productName?: string productName?: string
machineName?: string machineName?: string
machineId?: number
deviceId?: number deviceId?: number
deviceName?: string deviceName?: string
recipeDesc?: string recipeDesc?: string
@ -120,9 +122,9 @@ export const RecipeConfigApi = {
id: data.id, id: data.id,
name: data.name ?? data.recipeName, name: data.name ?? data.recipeName,
recipeCode: data.recipeCode, recipeCode: data.recipeCode,
recipeType: data.recipeType, recipeTypeId: (data as any).recipeTypeId ?? data.recipeType,
productName: data.productName, productId: data.productId,
machineName: data.machineName ?? data.deviceName, machineId: (data as any).machineId ?? data.deviceId,
recipeDesc: data.recipeDesc ?? data.remark, recipeDesc: data.recipeDesc ?? data.remark,
isEnable: data.isEnable, isEnable: data.isEnable,
dataUnit: data.dataUnit dataUnit: data.dataUnit
@ -135,9 +137,9 @@ export const RecipeConfigApi = {
id: data.id, id: data.id,
name: data.name ?? data.recipeName, name: data.name ?? data.recipeName,
recipeCode: data.recipeCode, recipeCode: data.recipeCode,
recipeType: data.recipeType, recipeTypeId: (data as any).recipeTypeId ?? data.recipeType,
productName: data.productName, productId: data.productId,
machineName: data.machineName ?? data.deviceName, machineId: (data as any).machineId ?? data.deviceId,
recipeDesc: data.recipeDesc ?? data.remark, recipeDesc: data.recipeDesc ?? data.remark,
isEnable: data.isEnable, isEnable: data.isEnable,
dataUnit: data.dataUnit dataUnit: data.dataUnit

@ -155,9 +155,9 @@ ref="detailRef" :visible="detailVisible"
clearable clearable
/> />
</el-form-item> </el-form-item>
<el-form-item :label="t('RecipeManagement.RecipeConfig.dialogRecipeTypeLabel')" prop="recipeType"> <el-form-item :label="t('RecipeManagement.RecipeConfig.dialogRecipeTypeLabel')" prop="recipeTypeId">
<el-select <el-select
v-model="dialogForm.recipeType" v-model="dialogForm.recipeTypeId"
:placeholder="t('RecipeManagement.RecipeConfig.dialogRecipeTypePlaceholder')" :placeholder="t('RecipeManagement.RecipeConfig.dialogRecipeTypePlaceholder')"
clearable clearable
filterable filterable
@ -167,9 +167,9 @@ ref="detailRef" :visible="detailVisible"
<el-option v-for="item in recipeTypeOptions" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in recipeTypeOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="t('RecipeManagement.RecipeConfig.dialogProductNameLabel')" prop="productName"> <el-form-item :label="t('RecipeManagement.RecipeConfig.dialogProductNameLabel')" prop="productId">
<el-select <el-select
v-model="dialogForm.productName" v-model="dialogForm.productId"
:placeholder="t('RecipeManagement.RecipeConfig.dialogProductNamePlaceholder')" :placeholder="t('RecipeManagement.RecipeConfig.dialogProductNamePlaceholder')"
clearable clearable
filterable filterable
@ -179,9 +179,9 @@ ref="detailRef" :visible="detailVisible"
<el-option v-for="item in productOptions" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in productOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="t('RecipeManagement.RecipeConfig.dialogMachineNameLabel')" prop="machineName"> <el-form-item :label="t('RecipeManagement.RecipeConfig.dialogMachineNameLabel')" prop="machineId">
<el-select <el-select
v-model="dialogForm.machineName" v-model="dialogForm.machineId"
:placeholder="t('RecipeManagement.RecipeConfig.dialogMachineNamePlaceholder')" :placeholder="t('RecipeManagement.RecipeConfig.dialogMachineNamePlaceholder')"
clearable clearable
filterable filterable
@ -390,14 +390,18 @@ const recipeTypeLoading = ref(false)
const recipeTypeOptions = ref<SelectOption<string>[]>([]) const recipeTypeOptions = ref<SelectOption<string>[]>([])
const getRecipeTypeLabel = (value: unknown) => { const getRecipeTypeLabel = (value: unknown) => {
return value === undefined || value === null ? '' : String(value) if (value === undefined || value === null || value === '') return ''
const matched = recipeTypeOptions.value.find(
(item) => item.value === value || String(item.value) === String(value) || item.label === value
)
return matched?.label ?? String(value)
} }
const getProductOptions = async () => { const getProductOptions = async () => {
productLoading.value = true productLoading.value = true
try { try {
const data = await ProductApi.getProductSimpleList() const data = await ProductApi.getProductSimpleList()
productOptions.value = (data ?? []).map((item: any) => ({ label: item.name, value: item.name })) productOptions.value = (data ?? []).map((item: any) => ({ label: item.name, value: item.id }))
} finally { } finally {
productLoading.value = false productLoading.value = false
} }
@ -407,7 +411,7 @@ const getDeviceOptions = async () => {
deviceLoading.value = true deviceLoading.value = true
try { try {
const data = await DeviceApi.getDeviceList() const data = await DeviceApi.getDeviceList()
deviceOptions.value = (data ?? []).map((item: any) => ({ label: item.deviceName, value: item.deviceName })) deviceOptions.value = (data ?? []).map((item: any) => ({ label: item.deviceName, value: item.id }))
} finally { } finally {
deviceLoading.value = false deviceLoading.value = false
} }
@ -417,7 +421,7 @@ const getRecipeTypeOptions = async () => {
recipeTypeLoading.value = true recipeTypeLoading.value = true
try { try {
const data = await RecipeApi.getRecipePage({}) const data = await RecipeApi.getRecipePage({})
recipeTypeOptions.value = (data?.list ?? []).map((item: any) => ({ label: item.name, value: item.name })) recipeTypeOptions.value = (data?.list ?? []).map((item: any) => ({ label: item.name, value: item.id }))
} finally { } finally {
recipeTypeLoading.value = false recipeTypeLoading.value = false
} }
@ -443,9 +447,9 @@ const dialogForm = reactive({
id: undefined as number | undefined, id: undefined as number | undefined,
recipeCode: '', recipeCode: '',
name: '', name: '',
recipeType: '' as string | undefined, recipeTypeId: '' as string | number | undefined,
productName: '' as string | undefined, productId: '' as string | number | undefined,
machineName: '' as string | undefined, machineId: '' as string | number | undefined,
recipeDesc: '' recipeDesc: ''
}) })
@ -478,9 +482,9 @@ const openDialog = async (mode: DialogMode, row?: RecipeConfigVO) => {
dialogForm.id = undefined dialogForm.id = undefined
dialogForm.recipeCode = '' dialogForm.recipeCode = ''
dialogForm.name = '' dialogForm.name = ''
dialogForm.recipeType = '' dialogForm.recipeTypeId = ''
dialogForm.productName = '' dialogForm.productId = ''
dialogForm.machineName = '' dialogForm.machineId = ''
dialogForm.recipeDesc = '' dialogForm.recipeDesc = ''
return return
} }
@ -488,9 +492,23 @@ const openDialog = async (mode: DialogMode, row?: RecipeConfigVO) => {
dialogForm.id = row?.id dialogForm.id = row?.id
dialogForm.recipeCode = row?.recipeCode ?? '' dialogForm.recipeCode = row?.recipeCode ?? ''
dialogForm.name = row?.name ?? row?.recipeName ?? '' dialogForm.name = row?.name ?? row?.recipeName ?? ''
dialogForm.recipeType = row?.recipeType === undefined || row?.recipeType === null ? '' : String(row.recipeType) dialogForm.recipeTypeId =
dialogForm.productName = row?.productName ?? '' (row as any)?.recipeTypeId ??
dialogForm.machineName = row?.machineName ?? row?.deviceName ?? '' (row?.recipeType === undefined || row?.recipeType === null ? '' : (row as any).recipeType)
const findProductValueByName = (name: string | undefined) => {
if (!name) return ''
const matched = productOptions.value.find((o) => o.label === name || String(o.value) === String((row as any)?.productId))
return matched?.value ?? ''
}
const findDeviceValueByName = (name: string | undefined) => {
if (!name) return ''
const matched = deviceOptions.value.find((o) => o.label === name || String(o.value) === String((row as any)?.machineId ?? (row as any)?.deviceId))
return matched?.value ?? ''
}
dialogForm.productId = (row as any)?.productId ?? findProductValueByName(row?.productName)
dialogForm.machineId = (row as any)?.machineId ?? (row as any)?.deviceId ?? findDeviceValueByName(row?.machineName ?? row?.deviceName)
dialogForm.recipeDesc = row?.recipeDesc ?? row?.remark ?? '' dialogForm.recipeDesc = row?.recipeDesc ?? row?.remark ?? ''
} }
@ -503,9 +521,9 @@ const submitDialog = async () => {
id: dialogForm.id, id: dialogForm.id,
recipeCode: dialogForm.recipeCode, recipeCode: dialogForm.recipeCode,
name: dialogForm.name, name: dialogForm.name,
recipeType: dialogForm.recipeType, recipeTypeId: dialogForm.recipeTypeId,
productName: dialogForm.productName, productId: dialogForm.productId,
machineName: dialogForm.machineName, machineId: dialogForm.machineId,
recipeDesc: dialogForm.recipeDesc recipeDesc: dialogForm.recipeDesc
} }
if (dialogMode.value === 'create') { if (dialogMode.value === 'create') {

Loading…
Cancel
Save