修复类型字典问题

This commit is contained in:
微微一笑
2025-08-20 13:47:12 +08:00
parent d96b28a0b9
commit 1cfb5581c8
10 changed files with 104 additions and 48 deletions

View File

@ -42,7 +42,7 @@
<el-table-column label="型号名称" align="center" prop="typeName" />
<el-table-column label="类型code" align="center" prop="modelDictionary">
<template #default="scope">
{{ modelDictionaryOptions.find(item => item.dictValue == scope.row.modelDictionary)?.dictLabel }}
{{ modelDictionaryOptions.find(item => item.dictValue === String(scope.row.modelDictionary))?.dictLabel }}
</template>
</el-table-column>
<el-table-column label="是否支持蓝牙" align="center" prop="isSupportBle">
@ -119,11 +119,11 @@
<el-col :span="24">
<el-form-item label="定位方式" prop="locateMode">
<el-select v-model="form.locateMode" placeholder="请选择">
<el-option label="无" value="0" />
<el-option label="GPS" value="1" />
<el-option label="基站" value="2" />
<el-option label="wifi" value="3" />
<el-option label="北斗" value="4" />
<el-option label="无" :value="0" />
<el-option label="GPS" :value="1" />
<el-option label="基站" :value="2" />
<el-option label="wifi" :value="3" />
<el-option label="北斗" :value="4" />
</el-select>
</el-form-item>
</el-col>
@ -132,8 +132,8 @@
<el-col :span="24">
<el-form-item label="通讯方式" prop="communicationMode">
<el-select v-model="form.communicationMode" placeholder="请选择">
<el-option label="4G" value="0" />
<el-option label="蓝牙" value="1" />
<el-option label="4G" :value="0" />
<el-option label="蓝牙" :value="1" />
</el-select>
</el-form-item>
</el-col>
@ -160,9 +160,9 @@ interface deviceTypeVO {
id: string | number;
typeName: string;
isSupportBle: boolean;
locateMode: string;
locateMode: number;
modelDictionary: string;
communicationMode: string;
communicationMode: number;
createTime: string;
createByName: string;
}
@ -188,9 +188,9 @@ const dialog = reactive<DialogOption>({
const initFormData: DeviceTypeForm = {
typeName: '',
isSupportBle: false,
locateMode: '',
locateMode: 0,
modelDictionary: '',
communicationMode: '',
communicationMode: 0,
id: '',
createTime: '',
createByName: '',
@ -300,9 +300,10 @@ const handleUpdate = async (row?: DeviceTypeForm) => {
try {
const deviceData = row || ids.value[0];
Object.assign(form.value, deviceData);
if (form.value.modelDictionary) {
form.value.modelDictionary = String(form.value.modelDictionary);
}
// 确保数据类型正确
form.value.modelDictionary = String(form.value.modelDictionary || '');
form.value.locateMode = Number(form.value.locateMode) || 0;
form.value.communicationMode = Number(form.value.communicationMode) || 0;
} catch (error) {
dialog.visible = false;
}
@ -316,7 +317,9 @@ const submitForm = () => {
try {
const payload = {
...form.value,
modelDictionary: Number(form.value.modelDictionary)
modelDictionary: form.value.modelDictionary,
locateMode: Number(form.value.locateMode),
communicationMode: Number(form.value.communicationMode)
};
form.value.id ? await api.updateDeviceType(payload) : await api.addDeviceType(payload);
proxy?.$modal.msgSuccess('操作成功');