Fix Bug #550: AI修复

This commit is contained in:
2026-05-27 03:00:08 +08:00
parent 8e6cb5c79f
commit 16c42ca108
5433 changed files with 171 additions and 778731 deletions

View File

@@ -1,140 +0,0 @@
import {createApp} from 'vue';
import Cookies from 'js-cookie';
// 导入 hiprint 并挂载到全局 window 对象
import {hiprint, defaultElementTypeProvider} 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';
import '@/assets/styles/index.scss'; // global css
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图标
import 'virtual:svg-icons-register';
import SvgIcon from '@/components/SvgIcon';
import elementIcons from '@/components/SvgIcon/svgicon';
import './permission'; // permission control
import {useDict} from '@/utils/dict';
import {addDateRange, handleTree, parseTime, resetForm, selectDictLabel, selectDictLabels,} from '@/utils/openhis';
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.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);
const app = createApp(App);
// 检查是否在 WebView 环境中(使用可选链避免 ReferenceError
if (typeof window !== 'undefined' && window.chrome?.webview !== undefined) {
// 如果是 webview 环境,挂载 CSharpAccessor 对象到 vue 实例上
try {
const csAccessor = window.chrome.webview.hostObjects.CSharpAccessor;
app.config.globalProperties.csAccessor = csAccessor;
} catch (e) {
console.warn('WebView CSharpAccessor 不可用:', e);
}
}
// 全局方法挂载
app.config.globalProperties.useDict = useDict;
app.config.globalProperties.download = download;
app.config.globalProperties.downloadGet = downloadGet;
app.config.globalProperties.parseTime = parseTime;
app.config.globalProperties.resetForm = resetForm;
app.config.globalProperties.handleTree = handleTree;
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);
app.component('FileUpload', FileUpload);
app.component('ImageUpload', ImageUpload);
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('svg-icon', SvgIcon);
directive(app);
// 全局禁止点击遮罩层关闭弹窗
ElDialog.props.closeOnClickModal.default = false;
// 使用element-plus 并且设置全局的大小
app.use(ElementPlus, {
locale: zhCn,
// 支持 large、default、small
size: Cookies.get('size') || 'default',
});
// 导入公告帮助工具
import { initNoticePopupAfterLogin } from '@/utils/noticeHelper'
app.mount('#app');
// 应用启动后初始化公告弹窗功能
import { nextTick } from 'vue'
nextTick(() => {
initNoticePopupAfterLogin()
})