Compare commits

..

No commits in common. '1110c22a037b04c37a8102b97728b1ac77078b99' and '71d91b1afb66aa7f316e56191275c2ba836f0fde' have entirely different histories.

@ -72,7 +72,7 @@
<ContentWrap>
<el-table
ref="tableRef" v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true" row-key="id"
@selection-change="handleSelectionChange" @row-click="handleShowAttribute">
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" reserve-selection />
<el-table-column :label="t('DataCollection.Device.deviceCode')" align="left" prop="deviceCode" />
<el-table-column :label="t('DataCollection.Device.deviceName')" align="left" prop="deviceName" />

@ -76,7 +76,7 @@ type="success" plain @click="handleExport" :loading="exportLoading"
<ContentWrap>
<el-table
ref="tableRef" v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true"
highlight-current-row row-key="id" @selection-change="handleSelectionChange" @row-click="handleShowAttribute">
highlight-current-row row-key="id" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" reserve-selection />
<el-table-column :label="t('DataCollection.DeviceModel.code')" align="center" prop="code" />
<el-table-column :label="t('DataCollection.DeviceModel.name')" align="center" prop="name" />

@ -22,9 +22,6 @@
<el-form-item v-if="showDeviceSelect" :label="t('EquipmentManagement.RepairItems.device')" prop="deviceId">
<el-select
v-model="formData.deviceId"
multiple
collapse-tags
collapse-tags-tooltip
filterable
remote
reserve-keyword
@ -116,7 +113,7 @@ const formData = ref({
subjectCode: undefined as string | undefined,
subjectName: undefined as string | undefined,
deviceType: undefined as number | undefined,
deviceId: undefined as number | number[] | undefined,
deviceId: undefined as number | undefined,
componentId: undefined as number | undefined,
inspectionMethod: undefined as string | undefined,
valueType: undefined as string | undefined,
@ -182,7 +179,7 @@ watch(
async () => {
if (isInitializing.value) return
isSwitchingDeviceType.value = true
formData.value.deviceId = formData.value.deviceType === 1 ? [] : undefined
formData.value.deviceId = undefined
deviceOptions.value = []
formData.value.componentId = undefined
componentOptions.value = []
@ -198,9 +195,8 @@ watch(
if (formData.value.deviceType !== 2) return
formData.value.componentId = undefined
componentOptions.value = []
const selectedId = typeof deviceId === 'number' ? deviceId : undefined
if (typeof selectedId !== 'number') return
await loadComponentOptionsByDeviceId(selectedId)
if (typeof deviceId !== 'number') return
await loadComponentOptionsByDeviceId(deviceId)
}
)
@ -210,16 +206,7 @@ const validateDeviceId = (_: any, value: any, callback: any) => {
return
}
const dt = formData.value.deviceType
if (dt === 1) {
const ids = Array.isArray(value) ? value : []
if (!ids.length) {
callback(new Error(t('EquipmentManagement.RepairItems.validatorDeviceRequired')))
return
}
callback()
return
}
if (dt === 2 && (value === undefined || value === null || value === '')) {
if ((dt === 1 || dt === 2) && (value === undefined || value === null || value === '')) {
callback(new Error(t('EquipmentManagement.RepairItems.validatorDeviceRequired')))
return
}
@ -259,24 +246,12 @@ const open = async (type: string, row?: any) => {
dictReady.value = true
}
if (type === 'update' && row) {
const parseDeviceIds = (input: unknown) => {
if (input === undefined || input === null || input === '') return []
if (Array.isArray(input)) return input.map((v) => Number(v)).filter((v) => !Number.isNaN(v))
if (typeof input === 'number') return [input]
return String(input)
.split(',')
.map((v) => Number(v.trim()))
.filter((v) => !Number.isNaN(v))
}
const deviceIds = parseDeviceIds(row.deviceId)
formData.value = {
id: row.id,
subjectCode: row.subjectCode,
subjectName: row.subjectName,
deviceType: row.deviceType !== undefined && row.deviceType !== null ? Number(row.deviceType) : undefined,
deviceId: (row.deviceType !== undefined && row.deviceType !== null ? Number(row.deviceType) : undefined) === 1
? deviceIds
: deviceIds[0],
deviceId: row.deviceId !== undefined && row.deviceId !== null ? Number(row.deviceId) : undefined,
componentId: row.componentId !== undefined && row.componentId !== null ? Number(row.componentId) : undefined,
inspectionMethod: row.inspectionMethod !== undefined && row.inspectionMethod !== null ? String(row.inspectionMethod) : undefined,
valueType: row.valueType !== undefined && row.valueType !== null ? String(row.valueType) : undefined,
@ -285,14 +260,7 @@ const open = async (type: string, row?: any) => {
isEnable: row.isEnable !== undefined && row.isEnable !== null ? String(row.isEnable) : undefined
}
if (formData.value.deviceType === 1) {
const ids = Array.isArray(formData.value.deviceId) ? formData.value.deviceId : []
const nameParts = row.deviceName ? String(row.deviceName).split(/[,]/).map((v) => v.trim()).filter(Boolean) : []
ids.forEach((id, idx) => {
const label = nameParts[idx] ? String(nameParts[idx]) : `ID:${id}`
deviceOptions.value = upsertOption(deviceOptions.value, { label, value: id })
})
} else if (typeof formData.value.deviceId === 'number') {
if (typeof formData.value.deviceId === 'number') {
const label = row.deviceName ? String(row.deviceName) : `ID:${formData.value.deviceId}`
deviceOptions.value = upsertOption(deviceOptions.value, { label, value: formData.value.deviceId })
}
@ -316,16 +284,12 @@ const submitForm = async () => {
await formRef.value.validate()
formLoading.value = true
try {
const buildDeviceIdParam = () => {
if (Array.isArray(formData.value.deviceId)) return formData.value.deviceId.join(',')
return formData.value.deviceId
}
const data = {
id: formType.value === 'update' ? formData.value.id : undefined,
subjectCode: formData.value.subjectCode,
subjectName: formData.value.subjectName,
deviceType: formData.value.deviceType,
deviceId: buildDeviceIdParam(),
deviceId: formData.value.deviceId,
componentId: formData.value.componentId,
inspectionMethod: formData.value.inspectionMethod,
valueType: formData.value.valueType,

Loading…
Cancel
Save