检查项目设置->套餐设置->套餐管理

This commit is contained in:
2025-11-27 08:44:32 +08:00
parent 1bd2089047
commit 4120d4e001
5 changed files with 980 additions and 45 deletions

View File

@@ -35,8 +35,23 @@
<!-- 主内容区域 -->
<div class="content">
<!-- 套餐设置组件 -->
<PackageSettings v-if="activeMenu === '套餐设置'" />
<!-- 套餐管理和套餐设置 -->
<template v-if="activeMenu === '套餐设置'">
<!-- 套餐设置界面默认显示 -->
<PackageSettings
v-if="packageView === 'settings'"
:mode="packageMode"
:package-data="currentPackageData"
@switch-to-management="handleSwitchToManagement"
@save-success="handleSaveSuccess"
/>
<!-- 套餐管理界面列表 -->
<PackageManagement
v-else
@switch-to-settings="handleSwitchToSettings"
/>
</template>
<!-- 检查类型/方法/部位的表格视图 -->
<template v-else>
@@ -194,14 +209,23 @@
<script setup>
import { ref, reactive, onMounted } from 'vue';
import { ElMessage } from 'element-plus';
import { getDicts } from '@/api/system/dict/data';
import { listCheckType, listCheckMethod, listCheckPart, listCheckPackage, addCheckType, updateCheckType, delCheckType } from '@/api/system/checkType';
import PackageSettings from './components/PackageSettings.vue';
import PackageManagement from './components/PackageManagement.vue';
// 菜单数据
const menus = ['检查类型', '检查方法', '检查部位', '套餐设置'];
const activeMenu = ref('检查类型');
// 套餐视图状态: management-套餐管理列表, settings-套餐设置
const packageView = ref('management')
// 套餐设置模式: add-新增, edit-编辑, view-查看
const packageMode = ref('add')
// 当前编辑的套餐数据
const currentPackageData = ref(null)
// 检查类型和科室选项
const checkTypes = ref([]);
const checkMethods = ref([]);
@@ -291,14 +315,38 @@ function handleMenuClick(menu) {
}
});
// 如果不是套餐设置,才加载表格数据
if (menu !== '套餐设置') {
loadMenuData(menu);
// 如果点击套餐设置,默认显示套餐设置界面
if (menu === '套餐设置') {
packageView.value = 'settings'
packageMode.value = 'add'
currentPackageData.value = null
console.log('显示套餐设置界面')
} else {
console.log('显示套餐设置组件');
loadMenuData(menu);
}
}
// 从套餐设置切换到套餐管理界面
function handleSwitchToManagement() {
console.log('切换到套餐管理界面')
packageView.value = 'management'
}
// 从套餐管理切换到套餐设置界面(新增/编辑/查看)
function handleSwitchToSettings(params) {
console.log('切换到套餐设置界面:', params)
packageView.value = 'settings'
packageMode.value = params.mode
currentPackageData.value = params.data
}
// 保存成功后保持在套餐设置界面
function handleSaveSuccess() {
console.log('保存成功')
// 保存成功后保持在套餐设置界面,可以继续编辑或返回管理界面
ElMessage.success('保存成功')
}
// 根据菜单加载对应数据
async function loadMenuData(menu) {
try {