维护系统->检查部位前端接口缺少导入。
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user