diff --git a/openhis-ui-vue3/src/main.js b/openhis-ui-vue3/src/main.js index 5e288b493..b9e307ac1 100755 --- a/openhis-ui-vue3/src/main.js +++ b/openhis-ui-vue3/src/main.js @@ -1,10 +1,10 @@ -import {createApp, nextTick} from 'vue'; +import {createApp, nextTick} from 'vue'; import VxeUIAll from 'vxe-table'; import 'vxe-table/lib/style.css'; import Cookies from 'js-cookie'; -// 导入 hiprint 并挂载到全局 window 对象 +// 导入 hiprint 并挂载到全局 window 对象 import {hiprint, defaultElementTypeProvider} from 'vue-plugin-hiprint'; import ElementPlus, {ElDialog, ElMessage} from 'element-plus'; @@ -16,11 +16,11 @@ import App from './App'; import store from './store'; import router from './router'; import directive from './directive'; // directive -// 注册指令 +// 注册指令 import plugins from './plugins'; // plugins import {download, downloadGet} from '@/utils/request'; -// svg图标 +// svg图标 import 'virtual:svg-icons-register'; import SvgIcon from '@/components/SvgIcon'; import elementIcons from '@/components/SvgIcon/svgicon'; @@ -31,54 +31,34 @@ import {addDateRange, handleTree, parseTime, resetForm, selectDictLabel, selectD import {formatDateStr} from '@/utils/index'; -// 分页组件 +// 分页组件 import Pagination from '@/components/Pagination'; -// 自定义表格工具组件 +// 自定义表格工具组件 import RightToolbar from '@/components/RightToolbar'; -// 富文本组件 +// 富文本组件 import Editor from '@/components/Editor'; -// 文件上传组件 +// 文件上传组件 import FileUpload from '@/components/FileUpload'; -// 图片上传组件 +// 图片上传组件 import ImageUpload from '@/components/ImageUpload'; -// 图片预览组件 +// 图片预览组件 import ImagePreview from '@/components/ImagePreview'; -// 自定义树选择组件 +// 自定义树选择组件 import TreeSelect from '@/components/TreeSelect'; -// 字典标签组件 +// 字典标签组件 import DictTag from '@/components/DictTag'; -// 导入请求工具 +// 导入请求工具 import {registerComponents} from './template'; window.hiprint = hiprint; -// 初始化 hiprint,使用默认元素类型提供器(支持 table、text、image 等元素) +// 初始化 hiprint,使用默认元素类型提供器(支持 table、text、image 等元素) hiprint.init({ providers: [new defaultElementTypeProvider()] }); -// 延迟连接,确保 hiwebSocket 已初始化 -setTimeout(() => { - if (hiprint.hiwebSocket) { - // 设置连接地址和 token - hiprint.hiwebSocket.setHost('http://localhost:17521', 'hiprint-test'); - console.log('hiprint 连接地址:', hiprint.hiwebSocket.host); - - // 等待连接建立 - setTimeout(() => { - console.log('hiprint 连接状态:', hiprint.hiwebSocket.connected); - if (hiprint.hiwebSocket.connected) { - console.log('hiprint 客户端连接成功'); - } else { - console.warn('hiprint 客户端未连接,请检查客户端是否运行'); - } - }, 2000); - } else { - console.warn('hiprint.hiwebSocket 未初始化'); - } -}, 500); // Suppress Element Plus ElForm NaN width warning during vxe-table expand row teardown @@ -106,7 +86,7 @@ console.error = (...args) => { const app = createApp(App); -// 全局方法挂载 +// 全局方法挂载 app.config.globalProperties.useDict = useDict; app.config.globalProperties.download = download; app.config.globalProperties.downloadGet = downloadGet; @@ -117,7 +97,7 @@ app.config.globalProperties.addDateRange = addDateRange; app.config.globalProperties.selectDictLabel = selectDictLabel; app.config.globalProperties.selectDictLabels = selectDictLabels; app.config.globalProperties.formatDateStr = formatDateStr; -// 全局组件挂载 +// 全局组件挂载 app.component('DictTag', DictTag); app.component('Pagination', Pagination); app.component('TreeSelect', TreeSelect); @@ -127,24 +107,23 @@ app.component('ImagePreview', ImagePreview); app.component('RightToolbar', RightToolbar); app.component('Editor', Editor); app.use(registerComponents); -app.use(ElMessage); app.use(router); app.use(store); app.use(plugins); app.use(elementIcons); app.component('SvgIcon', SvgIcon); directive(app); -// 全局禁止点击遮罩层关闭弹窗 +// 全局禁止点击遮罩层关闭弹窗 ElDialog.props.closeOnClickModal.default = false; -// 使用element-plus 并且设置全局的大小 -app.use(VxeUIAll); +// 使用element-plus 并且设置全局的大小 app.use(ElementPlus, { locale: zhCn, - // 支持 large、default、small + // 支持 large、default、small size: Cookies.get('size') || 'default', }); +app.use(VxeUIAll); -// 导入公告帮助工具 +// 导入公告帮助工具 import { initNoticePopupAfterLogin } from '@/utils/noticeHelper' // Global error handler: suppress el-form teardown errors from vxe-table expand rows @@ -166,7 +145,7 @@ window.addEventListener("error", (e) => { if (stack.includes("form-label") || stack.includes("LabelWrap") || stack.includes("ElForm") || stack.includes("FormItem") || stack.includes("deregisterLabel")) { e.preventDefault(); return true; } }, true); -// 应用启动后初始化公告弹窗功能 +// 应用启动后初始化公告弹窗功能 nextTick(() => { initNoticePopupAfterLogin() }) diff --git a/openhis-ui-vue3/src/settings.js b/openhis-ui-vue3/src/settings.js index 97632df8a..ed047d92f 100755 --- a/openhis-ui-vue3/src/settings.js +++ b/openhis-ui-vue3/src/settings.js @@ -19,7 +19,7 @@ export default { /** * 菜单导航模式 1、纯左侧 2、混合(左侧+顶部) 3、纯顶部 */ - navType: 1, + topNav: 1, /** * 是否显示 tagsView diff --git a/openhis-ui-vue3/src/store/modules/settings.js b/openhis-ui-vue3/src/store/modules/settings.js index 02b659064..d43711021 100755 --- a/openhis-ui-vue3/src/store/modules/settings.js +++ b/openhis-ui-vue3/src/store/modules/settings.js @@ -2,7 +2,7 @@ import defaultSettings from '@/settings' import {useDynamicTitle} from '@/utils/dynamicTitle' const { - sideTheme, showSettings, navType, tagsView, tagsViewPersist, + sideTheme, showSettings, topNav, tagsView, tagsViewPersist, tagsIcon, tagsViewStyle, fixedHeader, sidebarLogo, dynamicTitle, footerVisible, footerContent } = defaultSettings @@ -29,14 +29,14 @@ const useSettingsStore = defineStore( footerContent: storageSetting.footerContent === undefined ? footerContent : storageSetting.footerContent }), actions: { - // 修改布局设置 + // ?????? changeSetting(data) { const { key, value } = data if (this.hasOwnProperty(key)) { this[key] = value } }, - // 设置网页标题 + // ?????? setTitle(title) { this.title = title useDynamicTitle(); diff --git a/package-lock.json b/package-lock.json index f668dad59..f3d2269d6 100755 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "his-repo", + "name": "his", "lockfileVersion": 3, "requires": true, "packages": { @@ -12,6 +12,18 @@ "husky": "^9.1.7" } }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", @@ -19,14 +31,15 @@ "license": "MIT" }, "node_modules/axios": { - "version": "1.13.2", - "resolved": "https://registry.npmmirror.com/axios/-/axios-1.13.2.tgz", - "integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==", + "version": "1.17.0", + "resolved": "https://registry.npmmirror.com/axios/-/axios-1.17.0.tgz", + "integrity": "sha512-J8SwNxprqqpbfenehxWYXE7CW+wM1BB4w3+N+g+/Wx40xM4rsLrfPmHHxSWIxJLYDgSY/HqlFPIYb2/S3rxafw==", "license": "MIT", "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.4", - "proxy-from-env": "^1.1.0" + "follow-redirects": "^1.16.0", + "form-data": "^4.0.5", + "https-proxy-agent": "^5.0.1", + "proxy-from-env": "^2.1.0" } }, "node_modules/bignumber.js": { @@ -63,6 +76,23 @@ "node": ">= 0.8" } }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -105,9 +135,9 @@ } }, "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0" @@ -132,9 +162,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.11", - "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.11.tgz", - "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "version": "1.16.0", + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.16.0.tgz", + "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", "funding": [ { "type": "individual", @@ -253,9 +283,9 @@ } }, "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", "license": "MIT", "dependencies": { "function-bind": "^1.1.2" @@ -264,9 +294,22 @@ "node": ">= 0.4" } }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/husky": { "version": "9.1.7", - "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz", + "resolved": "https://registry.npmmirror.com/husky/-/husky-9.1.7.tgz", "integrity": "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==", "dev": true, "license": "MIT", @@ -319,11 +362,20 @@ "node": ">= 0.6" } }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" + }, + "node_modules/proxy-from-env": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-2.1.0.tgz", + "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==", + "license": "MIT", + "engines": { + "node": ">=10" + } } } }