维护系统->检查部位前端接口缺少导入。

This commit is contained in:
qk123
2025-12-04 09:21:35 +08:00
parent 7407562ec5
commit c636e77fd0

View File

@@ -506,7 +506,7 @@
import { ref, reactive, onMounted } from 'vue';
import { ElMessage, ElMessageBox } from 'element-plus';
import { getDicts } from '@/api/system/dict/data';
import { listCheckType, listCheckMethod, listCheckPart, listCheckPackage, addCheckType, updateCheckType, delCheckType, addCheckMethod, updateCheckMethod, delCheckMethod } from '@/api/system/checkType';
import { listCheckType, listCheckMethod, listCheckPart, listCheckPackage, addCheckType, updateCheckType, delCheckType, addCheckMethod, updateCheckMethod, delCheckMethod,addCheckPart, updateCheckPart, delCheckPart } from '@/api/system/checkType';
import PackageSettings from './components/PackageSettings.vue';
import PackageManagement from './components/PackageManagement.vue';
@@ -585,19 +585,28 @@ onMounted(async () => {
// 获取检查方法数据
const methodResponse = await listCheckMethod();
if (methodResponse && methodResponse.data) {
checkMethods.value = methodResponse.data;
// 确保data是数组类型
checkMethods.value = Array.isArray(methodResponse.data) ? methodResponse.data : [];
} else {
checkMethods.value = [];
}
// 获取检查部位数据
const partResponse = await listCheckPart();
if (partResponse && partResponse.data) {
checkParts.value = partResponse.data;
// 确保data是数组类型
checkParts.value = Array.isArray(partResponse.data) ? partResponse.data : [];
} else {
checkParts.value = [];
}
// 获取检查套餐数据
const packageResponse = await listCheckPackage();
if (packageResponse && packageResponse.data) {
checkPackages.value = packageResponse.data;
// 确保data是数组类型
checkPackages.value = Array.isArray(packageResponse.data) ? packageResponse.data : [];
} else {
checkPackages.value = [];
}
} catch (error) {
@@ -666,10 +675,13 @@ async function loadMenuData(menu) {
case '检查类型':
const typeResponse = await listCheckType();
if (typeResponse && typeResponse.data) {
// 获取所有不重复的检查类型
checkTypes.value = [...new Set(typeResponse.data.map(item => item.type))];
// 确保data是数组类型
const typeData = Array.isArray(typeResponse.data) ? typeResponse.data : [];
typeResponse.data.forEach((item, index) => {
// 获取所有不重复的检查类型值
checkTypes.value = [...new Set(typeData.map(item => item.type))];
typeData.forEach((item, index) => {
// 直接使用数据库中的department值不进行转换
tableData.push({
id: item.id, // 保存id字段用于判断是新增还是修改
@@ -739,25 +751,48 @@ async function loadMenuData(menu) {
packageName: searchParams.packageName,
visible: searchParams.visible
};
const partResponse = await listCheckPart(partSearchParams);
if (partResponse && partResponse.data) {
partResponse.data.forEach((item, index) => {
tableData.push({
id: item.id, // 保存id字段用于判断是新增还是修改
row: (index + 1).toString(),
code: item.code,
name: item.name,
checkType: item.checkType || '',
exposureNum: item.exposureNum || 0,
packageName: item.packageName || '',
price: item.price || 0,
number: item.number || '999999',
serviceScope: item.serviceScope || '',
subType: item.subType || '',
remark: item.remark || '',
actions: true
try {
const partResponse = await listCheckPart(partSearchParams);
// 确保data是数组适配不同的后端返回格式
let partData = [];
if (partResponse) {
if (Array.isArray(partResponse)) {
// 如果整个响应就是数组
partData = partResponse;
} else if (partResponse.data && Array.isArray(partResponse.data)) {
// 如果响应对象的data属性是数组
partData = partResponse.data;
} else if (partResponse.data && partResponse.data.data && Array.isArray(partResponse.data.data)) {
// 如果响应对象的data.data属性是数组可能是后端包装了两层
partData = partResponse.data.data;
}
}
// 处理数组数据
if (partData.length > 0) {
partData.forEach((item, index) => {
tableData.push({
id: item.id, // 保存id字段用于判断是新增还是修改
row: (index + 1).toString(),
code: item.code,
name: item.name,
checkType: item.checkType || '',
exposureNum: item.exposureNum || 0,
packageName: item.packageName || '',
price: item.price || 0,
number: item.number || '999999',
serviceScope: item.serviceScope || '',
subType: item.subType || '',
remark: item.remark || '',
actions: true
});
});
});
} else {
ElMessage.warning('未获取到检查部位数据');
}
} catch (error) {
ElMessage.error(`加载检查部位数据失败: ${error.message || '未知错误'}`);
}
break;
@@ -787,22 +822,102 @@ async function handleConfirm(index) {
if (activeMenu.value === '检查方法') {
// 检查方法的保存逻辑
if (item.id) {
// 修改操作
await updateCheckMethod(item);
// 修改操作:只传递必要字段
const updateData = {
id: item.id,
code: item.code,
name: item.name,
checkType: item.checkType,
packageName: item.packageName,
exposureNum: item.exposureNum,
orderNum: item.orderNum,
remark: item.remark
};
await updateCheckMethod(updateData);
} else {
// 新增操作
const newItem = await addCheckMethod(item);
// 新增操作:只传递必要字段
const addData = {
code: item.code,
name: item.name,
checkType: item.checkType,
packageName: item.packageName,
exposureNum: item.exposureNum,
orderNum: item.orderNum,
remark: item.remark
};
console.log('准备新增检查方法:', addData);
const newItem = await addCheckMethod(addData);
console.log('新增检查方法返回结果:', newItem);
// 将新增的id赋值给本地数据
item.id = newItem.id;
}
} else if (activeMenu.value === '检查部位') {
// 检查部位的保存逻辑
if (item.id) {
// 修改操作:只传递必要字段
const updateData = {
id: item.id,
code: item.code,
name: item.name,
checkType: item.checkType,
exposureNum: item.exposureNum,
packageName: item.packageName,
price: item.price,
number: item.number,
serviceScope: item.serviceScope,
subType: item.subType,
remark: item.remark
};
await updateCheckPart(updateData);
} else {
// 新增操作:只传递必要字段
const addData = {
code: item.code,
name: item.name,
checkType: item.checkType,
exposureNum: item.exposureNum,
packageName: item.packageName,
price: item.price,
number: item.number,
serviceScope: item.serviceScope,
subType: item.subType,
remark: item.remark
};
console.log('准备新增检查部位:', addData);
const newItem = await addCheckPart(addData);
console.log('新增检查部位返回结果:', newItem);
// 将新增的id赋值给本地数据
item.id = newItem.id;
}
} else {
// 检查类型的保存逻辑
if (item.id) {
// 修改操作
await updateCheckType(item);
// 修改操作:只传递必要字段
const updateData = {
id: item.id,
code: item.code,
name: item.name,
type: item.type,
selected: item.selected,
department: item.department,
number: item.number,
remark: item.remark
};
await updateCheckType(updateData);
} else {
// 新增操作
const newItem = await addCheckType(item);
// 新增操作:只传递必要字段
const addData = {
code: item.code,
name: item.name,
type: item.type,
selected: item.selected,
department: item.department,
number: item.number,
remark: item.remark
};
console.log('准备新增检查类型:', addData);
const newItem = await addCheckType(addData);
console.log('新增检查类型返回结果:', newItem);
// 将新增的id赋值给本地数据
item.id = newItem.id;
}
@@ -812,6 +927,8 @@ async function handleConfirm(index) {
// 显示保存成功提示
ElMessage.success(`${item.row} 行数据已保存`);
} catch (error) {
console.error('保存失败,错误信息:', error);
console.error('保存失败,错误详情:', error.response ? error.response.data : error);
ElMessage.error('保存失败,请稍后重试');
}
}
@@ -829,6 +946,8 @@ async function handleDelete(index) {
if (item.id) {
if (activeMenu.value === '检查方法') {
await delCheckMethod(item.id);
} else if (activeMenu.value === '检查部位') {
await delCheckPart(item.id);
} else {
await delCheckType(item.id);
}