diff --git a/openhis-ui-vue3/favicon/site.webmanifest b/openhis-ui-vue3/favicon/site.webmanifest
index e698b5ff..68994ad4 100644
--- a/openhis-ui-vue3/favicon/site.webmanifest
+++ b/openhis-ui-vue3/favicon/site.webmanifest
@@ -1,20 +1,19 @@
{
- "name": "医院信息管理系统",
- "short_name": "HIS",
+ "name": "My Awesome App",
+ "short_name": "AwesomeApp",
"icons": [
{
- "src": "/favicon/android-chrome-192x192.png",
+ "src": "/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
- "src": "/favicon/android-chrome-512x512.png",
+ "src": "/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
],
- "theme_color": "#1890ff",
+ "theme_color": "#ffffff",
"background_color": "#ffffff",
- "display": "standalone",
- "description": "医院信息管理系统 - 提供全面的医疗信息化解决方案"
+ "display": "standalone"
}
\ No newline at end of file
diff --git a/openhis-ui-vue3/index.html b/openhis-ui-vue3/index.html
index 639db44a..003a4ea3 100644
--- a/openhis-ui-vue3/index.html
+++ b/openhis-ui-vue3/index.html
@@ -13,7 +13,7 @@
-
+
@@ -27,7 +27,7 @@
-
+
diff --git a/openhis-ui-vue3/src/action/nurseStation/temperatureSheet/datas.js b/openhis-ui-vue3/src/action/nurseStation/temperatureSheet/datas.js
index f6149c33..0e41bfd5 100644
--- a/openhis-ui-vue3/src/action/nurseStation/temperatureSheet/datas.js
+++ b/openhis-ui-vue3/src/action/nurseStation/temperatureSheet/datas.js
@@ -11,7 +11,7 @@ export default {
inDiagName: '急性上呼吸道感染',
name: '于浩',
officeName: '住院科室',
- title: '',
+ title: '长春市朝阳区中医院',
operaDays: null,
outdate: null,
sex: '女',
diff --git a/openhis-ui-vue3/src/api/monitor/operlog.js b/openhis-ui-vue3/src/api/monitor/operlog.js
index ebf948eb..a04bca84 100644
--- a/openhis-ui-vue3/src/api/monitor/operlog.js
+++ b/openhis-ui-vue3/src/api/monitor/operlog.js
@@ -24,12 +24,3 @@ export function cleanOperlog() {
method: 'delete'
})
}
-
-// 新增操作日志
-export function addLog(data) {
- return request({
- url: '/monitor/operlog',
- method: 'post',
- data
- })
-}
diff --git a/openhis-ui-vue3/src/api/surgerymanage.js b/openhis-ui-vue3/src/api/surgerymanage.js
index b29e9d76..9fff188c 100644
--- a/openhis-ui-vue3/src/api/surgerymanage.js
+++ b/openhis-ui-vue3/src/api/surgerymanage.js
@@ -78,16 +78,3 @@ export function updateSurgeryStatus(id, statusEnum) {
params: { id, statusEnum }
})
}
-
-/**
- * 根据患者ID查询就诊列表
- * @param patientId 患者ID
- * @returns {AxiosPromise}
- */
-export function getEncounterListByPatientId(patientId) {
- return request({
- url: '/clinical-manage/surgery/encounter-list',
- method: 'get',
- params: { patientId }
- })
-}
diff --git a/openhis-ui-vue3/src/api/system/lisConfig.js b/openhis-ui-vue3/src/api/system/lisConfig.js
deleted file mode 100644
index 801a4e04..00000000
--- a/openhis-ui-vue3/src/api/system/lisConfig.js
+++ /dev/null
@@ -1,33 +0,0 @@
-import request from '@/utils/request'
-
-export function getLisConfigPage(query) {
- return request({
- url: '/inspection/lisConfig/init-page',
- method: 'get',
- params: query
- })
-}
-
-export function getLisConfigDetail(id) {
- return request({
- url: '/inspection/lisConfig/info-detail',
- method: 'get',
- params: { id }
- })
-}
-
-export function getLisConfigList(searchKey, type) {
- return request({
- url: '/inspection/lisConfig/init-list',
- method: 'get',
- params: { searchKey, type }
- })
-}
-
-export function saveLisConfig(data) {
- return request({
- url: '/inspection/lisConfig/saveAll',
- method: 'post',
- data: data
- })
-}
diff --git a/openhis-ui-vue3/src/api/system/observation.js b/openhis-ui-vue3/src/api/system/observation.js
deleted file mode 100644
index 7c1443b2..00000000
--- a/openhis-ui-vue3/src/api/system/observation.js
+++ /dev/null
@@ -1,48 +0,0 @@
-import request from '@/utils/request'
-
-export function getObservationInit() {
- return request({
- url: '/inspection/observation/init',
- method: 'get'
- })
-}
-
-export function getObservationPage(query) {
- return request({
- url: '/inspection/observation/information-page',
- method: 'get',
- params: query
- })
-}
-
-export function getObservationOne(id) {
- return request({
- url: '/inspection/observation/information-one',
- method: 'get',
- params: { id }
- })
-}
-
-export function addObservation(data) {
- return request({
- url: '/inspection/observation/information',
- method: 'post',
- data: data
- })
-}
-
-export function updateObservation(data) {
- return request({
- url: '/inspection/observation/information',
- method: 'post',
- data: data
- })
-}
-
-export function deleteObservation(ids) {
- return request({
- url: '/inspection/observation/information-status',
- method: 'post',
- data: { ids, type: '停用' }
- })
-}
diff --git a/openhis-ui-vue3/src/assets/icons/svg/patient.svg b/openhis-ui-vue3/src/assets/icons/svg/patient.svg
index 0c57c683..283b9c42 100644
--- a/openhis-ui-vue3/src/assets/icons/svg/patient.svg
+++ b/openhis-ui-vue3/src/assets/icons/svg/patient.svg
@@ -1,4 +1,4 @@
diff --git a/openhis-ui-vue3/src/assets/icons/svg/redis-list.svg b/openhis-ui-vue3/src/assets/icons/svg/redis-list.svg
index 0c257379..710cdf3b 100644
--- a/openhis-ui-vue3/src/assets/icons/svg/redis-list.svg
+++ b/openhis-ui-vue3/src/assets/icons/svg/redis-list.svg
@@ -1,4 +1,4 @@
\ No newline at end of file
diff --git a/openhis-ui-vue3/src/components/Auto/printBills/exeOrderSheet.vue b/openhis-ui-vue3/src/components/Auto/printBills/exeOrderSheet.vue
index d14db5a6..c5312101 100644
--- a/openhis-ui-vue3/src/components/Auto/printBills/exeOrderSheet.vue
+++ b/openhis-ui-vue3/src/components/Auto/printBills/exeOrderSheet.vue
@@ -87,13 +87,8 @@
\ No newline at end of file
+
diff --git a/openhis-ui-vue3/src/main.js b/openhis-ui-vue3/src/main.js
index 4b846eee..bf9466cd 100644
--- a/openhis-ui-vue3/src/main.js
+++ b/openhis-ui-vue3/src/main.js
@@ -4,7 +4,6 @@ import Cookies from 'js-cookie';
// 导入 hiprint 并挂载到全局 window 对象
import {hiprint} from 'vue-plugin-hiprint';
-
import ElementPlus, {ElDialog, ElMessage} from 'element-plus';
import zhCn from 'element-plus/es/locale/lang/zh-cn';
import 'element-plus/dist/index.css';
diff --git a/openhis-ui-vue3/src/router/index.js b/openhis-ui-vue3/src/router/index.js
index dada00a9..c04ab127 100644
--- a/openhis-ui-vue3/src/router/index.js
+++ b/openhis-ui-vue3/src/router/index.js
@@ -1,123 +1,377 @@
-import {createWebHistory, createRouter} from 'vue-router'
+import {createRouter, createWebHistory} from 'vue-router';
/* Layout */
-import Layout from '@/layout'
+import Layout from '@/layout';
/**
- * Note: 路由配置项
+ * Note: 路由配置项说明
*
- * hidden: true // 当设置 true 的时候该路由不会再侧边栏出现 如401,login等页面,或者如一些编辑页面/edit/1
- * alwaysShow: true // 当你一个路由下面的 children 声明的路由大于1个时,自动会变成嵌套的模式--如组件页面
- * // 只有一个时,会将那个子路由当做根路由显示在侧边栏--如引导页面
- * // 若你想不管路由下面的 children 声明的个数都显示你的根路由
- * // 你可以设置 alwaysShow: true,这样它就会忽略之前定义的规则,一直显示根路由
- * redirect: noRedirect // 当设置 noRedirect 的时候该路由在面包屑导航中不可被点击
- * name:'router-name' // 设定路由的名字,一定要填写不然使用时会出现各种问题
+ * hidden: true // 当设置 true 时,该路由不会在侧边栏出现(如401、login等页面,或一些编辑页面/edit/1)
+ * alwaysShow: true // 当路由下的 children 声明的路由大于1个时,自动变为嵌套模式(如组件页面)
+ * // 只有一个时,会将子路由作为根路由显示在侧边栏(如引导页面)
+ * // 若想不管 children 个数都显示根路由,可设置 alwaysShow: true,忽略之前定义的规则
+ * redirect: noRedirect // 当设置 noRedirect 时,该路由在面包屑导航中不可点击
+ * name:'router-name' // 设定路由的名字,必须填写,否则使用时会出现问题
* query: '{"id": 1, "name": "ry"}' // 访问路由的默认传递参数
* roles: ['admin', 'common'] // 访问路由的角色权限
* permissions: ['a:a:a', 'b:b:b'] // 访问路由的菜单权限
- * meta : {
- noCache: true // 如果设置为true,则不会被 缓存(默认 false)
- title: 'title' // 设置该路由在侧边栏和面包屑中展示的名字
- icon: 'svg-name' // 设置该路由的图标,对应路径src/assets/icons/svg
- breadcrumb: false // 如果设置为false,则不会在breadcrumb面包屑中显示
- activeMenu: '/system/user' // 当路由设置了该属性,则会高亮相对应的侧边栏。
- }
+ * meta: {
+ noCache: true // 如果设置为true,则不会被 缓存(默认 false)
+ title: 'title' // 设置该路由在侧边栏和面包屑中展示的名字
+ icon: 'svg-name' // 设置该路由的图标,对应路径src/assets/icons/svg
+ breadcrumb: false // 如果设置为false,则不会在breadcrumb面包屑中显示
+ activeMenu: '/system/user' // 当路由设置了该属性,则会高亮对应的侧边栏
+ }
*/
-// 公共路由
+// 公共路由 - 所有用户均可访问的路由
export const constantRoutes = [
- {
- path: '/redirect',
- component: Layout,
- hidden: true,
- children: [
- {
- path: '/redirect/:path(.*)',
- component: () => import('@/views/redirect/index.vue')
- }
- ]
- },
- {
- path: '/login',
- component: () => import('@/views/login'),
- hidden: true
- },
- {
- path: '/register',
- component: () => import('@/views/register'),
- hidden: true
- },
- {
- path: '/401',
- component: () => import('@/views/error/401'),
- hidden: true
- },
- {
- path: '',
- component: Layout,
- redirect: '/index',
- children: [
- {
- path: '/index',
- component: () => import('@/views/index'),
- name: 'Index',
- meta: {title: '首页', icon: 'dashboard', affix: true}
- }
- ]
- },
- {
- path: '/user',
- component: Layout,
- hidden: true,
- redirect: 'noredirect',
- children: [
- {
- path: 'profile',
- component: () => import('@/views/system/user/profile/index'),
- name: 'Profile',
- meta: {title: '个人中心', icon: 'user'}
- }
- ]
- }
-]
+
+ // 重定向路由
+ {
+ path: '/redirect',
+ component: Layout,
+ hidden: true,
+ children: [
+ {
+ path: '/redirect/:path(.*)',
+ component: () => import('@/views/redirect/index.vue'),
+ },
+ ],
+ },
+ // 登录路由
+ {
+ path: '/login',
+ component: () => import('@/views/login'),
+ hidden: true,
+ },
+ // 注册路由
+ {
+ path: '/register',
+ component: () => import('@/views/register'),
+ hidden: true,
+ },
+ {
+ path: '/:pathMatch(.*)*',
+ component: () => import('@/views/error/404'),
+ hidden: true,
+ },
+ {
+ path: '/401',
+ component: () => import('@/views/error/401'),
+ hidden: true,
+ },
+ // 首页路由
+ {
+ path: '',
+ component: Layout,
+ redirect: '/index',
+ children: [
+ {
+ path: '/index',
+ component: () => import('@/views/index'),
+ name: 'Index',
+ meta: { title: '首页', icon: 'dashboard', affix: true },
+ },
+ ],
+ },
+ {
+ path: '/user',
+ component: Layout,
+ hidden: true,
+ redirect: 'noredirect',
+ children: [
+ {
+ path: 'profile',
+ component: () => import('@/views/system/user/profile/index'),
+ name: 'Profile',
+ meta: { title: '个人中心', icon: 'user' },
+ },
+ ],
+ },
+ {
+ path: '/tpr',
+ component: () => import('@/views/inpatientNurse/tprsheet/index.vue'),
+ },
+ // {
+ // path: '/patientmanagement',
+ // component: Layout,
+ // redirect: '/patientmanagement/patientmanagement',
+ // name: 'PatientManagement',
+ // meta: { title: '患者管理', icon: 'patient' },
+ // children: [
+ // {
+ // path: 'patientmanagement',
+ // component: () => import('@/views/patientmanagement/patientmanagement/index.vue'),
+ // name: 'PatientManagementList',
+ // meta: { title: '患者档案管理', icon: 'patient' },
+ // },
+ // {
+ // path: 'outpatienrecords',
+ // component: () => import('@/views/patientmanagement/outpatienrecords/index.vue'),
+ // name: 'OutpatientRecords',
+ // meta: { title: '门诊就诊记录', icon: 'record' },
+ // },
+ // ],
+ // },
+];
-// 动态路由,基于用户权限动态去加载
+// 动态路由 - 基于用户权限动态加载的路由
export const dynamicRoutes = [
- {
- path: '/help-center',
- component: Layout,
- hidden: true,
- children: [
- {
- path: '',
- component: () => import('@/views/helpcenter/index.vue'),
- name: 'HelpCenter',
- meta: {title: '帮助中心'},
- },
- ],
- },
+ // 基础管理路由
+ // {
+ // path: '/basicmanage',
+ // component: Layout,
+ // redirect: '/basicmanage/invoice-management',
+ // name: 'BasicManage',
+ // meta: { title: '基础管理', icon: 'component' },
+ // children: [
+ // {
+ // path: 'invoice-management',
+ // component: () => import('@/views/basicmanage/InvoiceManagement/index.vue'),
+ // name: 'invoice-management',
+ // meta: { title: '发票管理' }
+ // }
+ // ]
+ // },
+ // 兼容系统业务管理路径的发票管理路由
+ // {
+ // path: '/system/ywgz',
+ // component: Layout,
+ // redirect: '/system/ywgz/InvoiceManagement',
+ // hidden: true,
+ // children: [
+ // {
+ // path: 'InvoiceManagement',
+ // component: () => import('@/views/basicmanage/InvoiceManagement/index.vue'),
+ // name: 'SystemInvoiceManagement',
+ // meta: { title: '发票管理' }
+ // }
+ // ]
+ // },
+ // 维护系统路由
+ // {
+ // path: '/maintainSystem',
+ // component: Layout,
+ // redirect: '/maintainSystem/chargeConfig',
+ // name: 'MaintainSystem',
+ // meta: { title: '维护系统', icon: 'system' },
+ // children: [
+ // {
+ // path: '',
+ // redirect: 'chargeConfig',
+ // name: 'MaintainSystemIndex' // 添加名称以解决警告
+ // },
+ // {
+ // path: 'chargeConfig', // 收费配置路由
+ // component: () => import('@/views/maintainSystem/chargeConfig/index.vue'),
+ // name: 'ChargeConfig',
+ // meta: { title: '挂号收费系统参数维护', icon: 'config', permissions: ['maintainSystem:chargeConfig:list'] }
+ // },
+ // {
+ // path: 'Inspection', // 检验管理路由
+ // component: () => import('@/views/maintainSystem/Inspection/index.vue'),
+ // name: 'Inspection',
+ // meta: { title: '检验管理', icon: 'inspection' },
+ // children: [
+ // {
+ // path: 'PackageManagement', // 套餐管理路由
+ // component: () => import('@/views/maintainSystem/Inspection/PackageManagement.vue'),
+ // name: 'PackageManagement',
+ // meta: { title: '套餐管理' }
+ // }
+ // ]
+ // }
+ // ]
+ // },
+ // 系统管理路由
+ // {
+ // path: '/system',
+ // component: Layout,
+ // redirect: '/system/user',
+ // name: 'System',
+ // meta: { title: '系统管理', icon: 'system' },
+ // children: [
+ // {
+ // path: 'user', // 用户管理路由
+ // component: () => import('@/views/system/user/index.vue'),
+ // name: 'User',
+ // meta: { title: '用户管理', icon: 'user', permissions: ['system:user:list'] }
+ // },
+ // {
+ // path: 'role', // 角色管理路由
+ // component: () => import('@/views/system/role/index.vue'),
+ // name: 'Role',
+ // meta: { title: '角色管理', icon: 'role', permissions: ['system:role:list'] }
+ // },
+ // {
+ // path: 'menu', // 菜单管理路由
+ // component: () => import('@/views/system/menu/index.vue'),
+ // name: 'Menu',
+ // meta: { title: '菜单管理', icon: 'menu', permissions: ['system:menu:list'] }
+ // },
+ // {
+ // path: 'dept', // 部门管理路由
+ // component: () => import('@/views/system/dept/index.vue'),
+ // name: 'Dept',
+ // meta: { title: '部门管理', icon: 'dept', permissions: ['system:dept:list'] }
+ // },
+ // {
+ // path: 'post', // 岗位管理路由
+ // component: () => import('@/views/system/post/index.vue'),
+ // name: 'Post',
+ // meta: { title: '岗位管理', icon: 'post', permissions: ['system:post:list'] }
+ // },
+ // {
+ // path: 'dict', // 字典管理路由
+ // component: () => import('@/views/system/dict/index.vue'),
+ // name: 'Dict',
+ // meta: { title: '字典管理', icon: 'dict', permissions: ['system:dict:list'] }
+ // },
+ // {
+ // path: 'config', // 参数配置路由
+ // component: () => import('@/views/system/config/index.vue'),
+ // name: 'Config',
+ // meta: { title: '参数配置', icon: 'config', permissions: ['system:config:list'] }
+ // },
+ // {
+ // path: 'notice', // 通知公告路由
+ // component: () => import('@/views/system/notice/index.vue'),
+ // name: 'Notice',
+ // meta: { title: '通知公告', icon: 'notice', permissions: ['system:notice:list'] }
+ // },
+ // {
+ // path: 'tenant', // 租户管理路由
+ // component: () => import('@/views/system/tenant/index.vue'),
+ // name: 'Tenant',
+ // meta: { title: '租户管理', icon: 'tenant', permissions: ['system:tenant:list'] }
+ // }
+ // ]
+ // },
+ // 租户用户设置路由
+ {
+ path: '/system/tenant-user',
+ component: Layout,
+ hidden: true,
+ permissions: ['*:*:*'],
+ children: [
+ {
+ path: 'set/:tenantId(\\d+)',
+ component: () => import('@/views/system/tenant/setUser'),
+ name: 'SetUser',
+ meta: { title: '所属用户', activeMenu: '/system/basicmanage/tenant' },
+ },
+ ],
+ },
+ //租户合同管理路由
+ {
+ path: '/system/tenant-contract',
+ component: Layout,
+ hidden: true,
+ permissions: ['*:*:*'],
+ children: [
+ {
+ path: 'set/:tenantId(\\d+)',
+ component: () => import('@/views/system/tenant/setContract'),
+ name: 'SetContract',
+ meta: { title: '合同管理', activeMenu: '/system/basicmanage/tenant' },
+ },
+ ],
+ },
+ {
+ path: '/system/user-auth',
+ component: Layout,
+ hidden: true,
+ permissions: ['system:user:edit'],
+ children: [
+ {
+ path: 'role/:userId(\\d+)',
+ component: () => import('@/views/system/user/authRole'),
+ name: 'AuthRole',
+ meta: { title: '分配角色', activeMenu: '/system/user' },
+ },
+ ],
+ },
+ {
+ path: '/system/role-auth',
+ component: Layout,
+ hidden: true,
+ permissions: ['system:role:edit'],
+ children: [
+ {
+ path: 'user/:roleId(\\d+)',
+ component: () => import('@/views/system/role/authUser'),
+ name: 'AuthUser',
+ meta: { title: '分配用户', activeMenu: '/system/role' },
+ },
+ ],
+ },
+ {
+ path: '/system/dict-data',
+ component: Layout,
+ hidden: true,
+ permissions: ['system:dict:list'],
+ children: [
+ {
+ path: 'index/:dictId(\\d+)',
+ component: () => import('@/views/system/dict/data'),
+ name: 'Data',
+ meta: { title: '字典数据', activeMenu: '/system/dict' },
+ },
+ ],
+ },
+ {
+ path: '/monitor/job-log',
+ component: Layout,
+ hidden: true,
+ permissions: ['monitor:job:list'],
+ children: [
+ {
+ path: 'index/:jobId(\\d+)',
+ component: () => import('@/views/monitor/job/log'),
+ name: 'JobLog',
+ meta: { title: '调度日志', activeMenu: '/monitor/job' },
+ },
+ ],
+ },
+ {
+ path: '/tool/gen-edit',
+ component: Layout,
+ hidden: true,
+ permissions: ['tool:gen:edit'],
+ children: [
+ {
+ path: 'index/:tableId(\\d+)',
+ component: () => import('@/views/tool/gen/editTable'),
+ name: 'GenEdit',
+ meta: { title: '修改生成配置', activeMenu: '/tool/gen' },
+ },
+ ],
+ },
];
// 合并常量路由和动态路由,确保所有路由都能被访问
const allRoutes = [...constantRoutes, ...dynamicRoutes];
-// 添加404路由到所有路由的最后
+// 添加404路由到所有路由的最后,确保捕获所有未匹配的路由
allRoutes.push({
- path: "/:pathMatch(.*)*",
- component: () => import('@/views/error/404'),
- hidden: true
+ path: "/:pathMatch(.*)*",
+ component: () => import('@/views/error/404'),
+ hidden: true
});
+// 创建Vue Router实例
const router = createRouter({
- history: createWebHistory(),
- routes: allRoutes,
- scrollBehavior(to, from, savedPosition) {
- if (savedPosition) {
- return savedPosition
- } else {
- return {top: 0}
- }
- },
+ history: createWebHistory(), // 使用HTML5历史模式
+ routes: allRoutes, // 使用合并后的所有路由
+ scrollBehavior(to, from, savedPosition) {
+ // 页面滚动行为:如果有保存的位置则恢复,否则滚动到顶部
+ if (savedPosition) {
+ return savedPosition;
+ } else {
+ return { top: 0 };
+ }
+ },
});
-export default router;
+// 导出路由实例
+export default router;
\ No newline at end of file
diff --git a/openhis-ui-vue3/src/store/modules/user.js b/openhis-ui-vue3/src/store/modules/user.js
index 3d78ba00..b1bf55ea 100644
--- a/openhis-ui-vue3/src/store/modules/user.js
+++ b/openhis-ui-vue3/src/store/modules/user.js
@@ -4,96 +4,96 @@ import defAva from '@/assets/images/user.png'
import {defineStore} from 'pinia'
const useUserStore = defineStore(
- 'user',
- {
- state: () => ({
- token: getToken(),
- id: '',
- name: '',
- avatar: '',
- orgId: '',
- practitionerId: '',
- orgName: '',
- nickName: '',
- fixmedinsCode: '', // 医疗机构编码
- roles: [],
- permissions: [],
- tenantId: '',
- tenantName: '', // 租户名称
- hospitalName:'',
- optionMap: {} // 租户配置项Map(从sys_tenant_option表读取)
- }),
- actions: {
- // 登录
- login(userInfo) {
- const username = userInfo.username.trim()
- const password = userInfo.password
- const code = userInfo.code
- const uuid = userInfo.uuid
- const tenantId = userInfo.tenantId
- return new Promise((resolve, reject) => {
- login(username, password, code, uuid ,tenantId).then(res => {
- setToken(res.token)
- this.token = res.token
- this.tenantId = tenantId
- resolve()
- }).catch(error => {
- reject(error)
- })
+ 'user',
+ {
+ state: () => ({
+ token: getToken(),
+ id: '',
+ name: '',
+ avatar: '',
+ orgId: '',
+ practitionerId: '',
+ orgName: '',
+ nickName: '',
+ fixmedinsCode: '', // 医疗机构编码
+ roles: [],
+ permissions: [],
+ tenantId: '',
+ tenantName: '', // 租户名称
+ hospitalName:'',
+ optionMap: {} // 租户配置项Map(从sys_tenant_option表读取)
+ }),
+ actions: {
+ // 登录
+ login(userInfo) {
+ const username = userInfo.username.trim()
+ const password = userInfo.password
+ const code = userInfo.code
+ const uuid = userInfo.uuid
+ const tenantId = userInfo.tenantId
+ return new Promise((resolve, reject) => {
+ login(username, password, code, uuid ,tenantId).then(res => {
+ setToken(res.token)
+ this.token = res.token
+ this.tenantId = tenantId
+ resolve()
+ }).catch(error => {
+ reject(error)
})
- },
- // 获取用户信息
- getInfo() {
- return new Promise((resolve, reject) => {
- getInfo().then(res => {
- const user = res.user
- const avatar = (user.avatar == "" || user.avatar == null) ? defAva : import.meta.env.VITE_APP_BASE_API + user.avatar;
+ })
+ },
+ // 获取用户信息
+ getInfo() {
+ return new Promise((resolve, reject) => {
+ getInfo().then(res => {
+ const user = res.user
+ const avatar = (user.avatar == "" || user.avatar == null) ? defAva : import.meta.env.VITE_APP_BASE_API + user.avatar;
- if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
- this.roles = res.roles
- this.permissions = res.permissions
- } else {
- this.roles = ['ROLE_DEFAULT']
- }
- // console.log('user info:', user);
- this.id = user.userId
- this.name = user.userName // 用户账号(对应数据库的user_name字段,如'admin')
- this.orgId = user.orgId
- this.orgName = user.orgName
- this.nickName = user.nickName
- this.practitionerId = res.practitionerId
- this.fixmedinsCode = res.optionJson.fixmedinsCode
- this.avatar = avatar
- this.optionMap = res.optionMap || {}
- // 优先从optionMap获取配置,如果没有则从optionJson获取
- this.hospitalName = this.optionMap.hospitalName || res.optionJson.hospitalName || ''
- this.tenantName = res.tenantName || ''
+ if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
+ this.roles = res.roles
+ this.permissions = res.permissions
+ } else {
+ this.roles = ['ROLE_DEFAULT']
+ }
+ // console.log('user info:', user);
+ this.id = user.userId
+ this.name = user.userName // 用户账号(对应数据库的user_name字段,如'admin')
+ this.orgId = user.orgId
+ this.orgName = user.orgName
+ this.nickName = user.nickName
+ this.practitionerId = res.practitionerId
+ this.fixmedinsCode = res.optionJson.fixmedinsCode
+ this.avatar = avatar
+ this.optionMap = res.optionMap || {}
+ // 优先从optionMap获取配置,如果没有则从optionJson获取
+ this.hospitalName = this.optionMap.hospitalName || res.optionJson.hospitalName || ''
+ this.tenantName = res.tenantName || ''
- resolve(res)
- }).catch(error => {
- reject(error)
- })
+ resolve(res)
+ }).catch(error => {
+ reject(error)
})
- },
- // 退出系统
- logOut() {
- return new Promise((resolve, reject) => {
- logout(this.token).then(() => {
- this.token = ''
- this.roles = []
- this.permissions = []
- this.tenantId = ''
- removeToken()
- resolve()
- }).catch(error => {
- reject(error)
- })
+ })
+ },
+ // 退出系统
+ logOut() {
+ return new Promise((resolve, reject) => {
+ logout(this.token).then(() => {
+ this.token = ''
+ this.roles = []
+ this.permissions = []
+ this.tenantId = ''
+ removeToken()
+ resolve()
+ }).catch(error => {
+ reject(error)
})
- },
- removeRoles(){
- this.roles = []
- }
+ })
+ },
+ removeRoles(){
+ this.roles = []
}
- })
+ }
+ })
export default useUserStore
diff --git a/openhis-ui-vue3/src/template/DischargeDiagnosisCertificate.vue b/openhis-ui-vue3/src/template/DischargeDiagnosisCertificate.vue
index 6a523999..d2ac605b 100644
--- a/openhis-ui-vue3/src/template/DischargeDiagnosisCertificate.vue
+++ b/openhis-ui-vue3/src/template/DischargeDiagnosisCertificate.vue
@@ -5,7 +5,7 @@
patient?.busNo || '未知'
}}
- {{ userStore.hospitalName }}
+ 长春市朝阳区中医院
出院诊断病历
@@ -143,9 +143,6 @@ import {nextTick, onMounted, reactive, ref} from 'vue';
import {ElMessage} from 'element-plus';
import {previewPrint} from '../utils/printUtils';
import DisDiagnMedicalRecord from '../views/hospitalRecord/components/disDiagnMedicalRecord.vue';
-import useUserStore from '@/store/modules/user';
-
-const userStore = useUserStore();
defineOptions({
name: 'DischargeDiagnosisCertificate',
diff --git a/openhis-ui-vue3/src/template/ProgressNoteform.vue b/openhis-ui-vue3/src/template/ProgressNoteform.vue
index ff071869..2c9501fc 100644
--- a/openhis-ui-vue3/src/template/ProgressNoteform.vue
+++ b/openhis-ui-vue3/src/template/ProgressNoteform.vue
@@ -1,8 +1,5 @@
-
-
- ${printContent.innerHTML}
-
-