From a7137a22d1967b4c10dcc0755d7ffd9bf1367d55 Mon Sep 17 00:00:00 2001 From: pengjun <158915633@qq.com> Date: Fri, 20 Mar 2026 10:49:32 +0800 Subject: [PATCH] seo --- src/api/api.js | 55 ++++++++++--- src/api/request.js | 36 +-------- src/components/doctorCheck/PacsImgPreview.vue | 81 +------------------ src/components/occDisease/occReport.vue | 74 ++++++++--------- src/views/login/Login.vue | 23 +++--- 5 files changed, 102 insertions(+), 167 deletions(-) diff --git a/src/api/api.js b/src/api/api.js index 4684a61..52fcde8 100644 --- a/src/api/api.js +++ b/src/api/api.js @@ -1,5 +1,6 @@ -import request, { showFullScreenLoading, tryHideFullScreenLoading } from "@/api/request"; +import request from "@/api/request"; import store from "../store/index"; +import { Message, Loading } from "element-ui"; const sysConfig = getSysConfig() @@ -13,8 +14,33 @@ function getSysConfig(){ } } +function startLoading() { + let loading = Loading.service({ + lock: true, + text: "正在加载中,请稍后", + spinner: "el-icon-loading", + background: "rgba(0, 0, 0, 0)", + customClass: "boxStyle" + }); + + // 调用接口 5秒 没结束,关闭锁屏 + setTimeout(() => { + endLoading(loading) + }, 5000); + return loading +} + +function endLoading(loading) { + try { + loading.close() + } catch (error) { + console.error('关闭锁屏',error) + } +} + export async function getapi(url, params = {}, config) { return new Promise((resolve, reject) => { + let loading = startLoading() request .get(`${sysConfig.apiurl}${url}`, { params: params, @@ -26,13 +52,16 @@ export async function getapi(url, params = {}, config) { .catch((err) => { reject(err.data); }) - .finally(() => {}); + .finally(() => { + endLoading(loading) + }); }); } //axios封装post export async function postapi(url, paramsdata = {}, config) { return new Promise((resolve, reject) => { + let loading = startLoading() request .post(`${sysConfig.apiurl}${url}`, paramsdata, config) .then((res) => { @@ -41,12 +70,15 @@ export async function postapi(url, paramsdata = {}, config) { .catch((err) => { reject(err.data); }) - .finally(() => {}); + .finally(() => { + endLoading(loading) + }); }); } //axios封装deleteapi export async function deletapi(url, params = {}, config) { return new Promise((resolve, reject) => { + let loading = startLoading() request .delete(`${sysConfig.apiurl}${url}`, { params: params, @@ -58,12 +90,15 @@ export async function deletapi(url, params = {}, config) { .catch((err) => { reject(err.data); }) - .finally(() => {}); + .finally(() => { + endLoading(loading) + }); }); } //axios封装Put方法 export async function putapi(url, params = {}, config) { return new Promise((resolve, reject) => { + let loading = startLoading() request .put(`${sysConfig.apiurl}${url}`, params, config) .then((res) => { @@ -72,14 +107,16 @@ export async function putapi(url, params = {}, config) { .catch((err) => { reject(err.data); }) - .finally(() => {}); + .finally(() => { + endLoading(loading) + }); }); } // 浏览器端 fetch 流式读取(用于增量处理服务器 chunked/text-stream 响应) export async function fetchStream(url, params = {}, onChunk = (chunk) => {}) { const fullUrl = `${sysConfig.apiurl}${url}`; - showFullScreenLoading(); + let loading = startLoading() try { const token = window.sessionStorage.getItem('token'); let tokentype = window.sessionStorage.getItem("tokentype"); @@ -104,7 +141,7 @@ export async function fetchStream(url, params = {}, onChunk = (chunk) => {}) { const text = await resp.text(); try { onChunk(text); } catch (e) { /* ignore */ } // 已经拿到首个数据,先隐藏 loading - tryHideFullScreenLoading(); + endLoading(loading) return text; } @@ -120,7 +157,7 @@ export async function fetchStream(url, params = {}, onChunk = (chunk) => {}) { // 在收到第一个 chunk 时立即隐藏 loading if (!firstChunkSeen) { firstChunkSeen = true; - tryHideFullScreenLoading(); + endLoading(loading) } try { onChunk(chunk); } catch (e) { /* 忽略回调内部错误 */ } } @@ -128,6 +165,6 @@ export async function fetchStream(url, params = {}, onChunk = (chunk) => {}) { } catch (err) { throw err; } finally { - tryHideFullScreenLoading(); + endLoading(loading) } } \ No newline at end of file diff --git a/src/api/request.js b/src/api/request.js index 32f0efb..d5cc2ce 100644 --- a/src/api/request.js +++ b/src/api/request.js @@ -3,7 +3,7 @@ import router from "@/router"; import axios from "axios"; // import Promise from 'promise' import { yztoken } from "@/utlis/istoken"; -import { Message, Loading } from "element-ui"; +import { Message } from "element-ui"; import store from "../store/index"; @@ -24,42 +24,14 @@ const instance = axios.create({ //timeout: 500000, withCredentials: true, // 允许跨域 }); -let loading = null -let needLoadingRequestCount = 0 -function startLoading() { - loading = Loading.service({ - lock: true, - text: "正在加载中,请稍后", - spinner: "el-icon-loading", - background: "rgba(0, 0, 0, 0)", - customClass: "boxStyle" - }); -} - -function endLoading() { - loading.close() -} -export function showFullScreenLoading() { - if (needLoadingRequestCount === 0) { - startLoading() - } - needLoadingRequestCount++ -} -export function tryHideFullScreenLoading() { - if (needLoadingRequestCount <= 0) return - needLoadingRequestCount-- - if (needLoadingRequestCount === 0) { - endLoading() - } -} //请求拦截 instance.interceptors.request.use( async function(config) { //console.log('old token:',window.sessionStorage.getItem("token")) //console.log('old expires_in',window.sessionStorage.getItem("expires_in")) await yztoken(); - showFullScreenLoading() + let token = window.sessionStorage.getItem("token"); let tokentype = window.sessionStorage.getItem("tokentype"); @@ -76,7 +48,7 @@ instance.interceptors.request.use( //响应拦截 instance.interceptors.response.use( (res) => { - tryHideFullScreenLoading() + // console.log(res); if (res.data.code < 0) { Message.error({ showClose: true, message: res.data.message }); @@ -92,7 +64,7 @@ instance.interceptors.response.use( // Message.error('状态失效请重新登录') // console.log('token失效返回登录'); // } - tryHideFullScreenLoading() + Message.error({ showClose: true, message: err.message }); return Promise.reject(err); } diff --git a/src/components/doctorCheck/PacsImgPreview.vue b/src/components/doctorCheck/PacsImgPreview.vue index e7f5394..af70d8d 100644 --- a/src/components/doctorCheck/PacsImgPreview.vue +++ b/src/components/doctorCheck/PacsImgPreview.vue @@ -233,86 +233,7 @@ export default { } }, - // 采图 - btnGetPic() { - if (!this.doctorCheck.RegisterCheckId) { - this.$message.warning({ showClose: true, message: "未选中组合项目!" }); - return; - } - if (!this.$peisAPI) { - this.$message.info({ showClose: true, message: "此功能,需要在壳客户端才可运行!" }) - return - } - - let toOutShell = { - barCode: this.doctorCheck.checkRequestNo, - patientName: this.dataTransOpts.tableS.patient_register.patientName, - sexName: this.dataTransOpts.tableS.patient_register.sexName, - age: (this.dataTransOpts.tableS.patient_register.age || '') + '', - asbitemName: this.doctorCheck.asbitemName - } - // console.log('this.$peisAPI.imageAcquisition', JSON.stringify(toOutShell)) - - let loading = Loading.service({ - lock: true, - text: "正在加载中,请稍后", - spinner: "el-icon-loading", - background: "rgba(0, 0, 0, 0)", - customClass: "boxStyle" - }); - - this.$peisAPI.imageAcquisition(JSON.stringify(toOutShell)) - .then(async (res) => { - let lres = JSON.parse(res) - console.log('this.$peisAPI.imageAcquisition', lres) - if (lres.code > -1) { - for (let i = 0; i < lres.data.length; i++) { - let item = lres.data[i]; - - // FilePath: - // Image - // ImageFormat - let baseHead = 'data:image/jpeg;base64,' - switch (item.ImageFormat) { - case 'png': - case 'bmp': - baseHead = `data:image/${item.ImageFormat};base64,` - break; - default: - break; - } - this.checkPictures.push({ pictureFilename: baseHead + item.Image }) - let fileName = item.FilePath - let dotIndex = fileName.lastIndexOf('\\'); - if (dotIndex > -1) fileName = fileName.substring(dotIndex, fileName.length); - - let body = { - registerCheckId: this.dataTransOpts.tableS.register_check.id, - pictureBaseStrs: [{ - fileName, - localPathName: item.FilePath, - pictureBaseStr: baseHead + item.Image - }], - pictureFileType: '0' //采图暂定图0,上传暂定报告1 this.pictureFileType - } - try { - //await postapi('/api/app/RegisterCheckPicture/InstrumentMapping', body) - await hadoopPost('pacsApi', '/api/app/RegisterCheckPicture/InstrumentMapping', body) - } catch (error) { - console.log('btnGetPic err', error) - } - } - this.getCheckPictures(this.dataTransOpts.tableS.register_check.id) - } else { - console.log('this.$peisAPI.imageAcquisition', lres.message) - } - }).catch(err => { - this.$message.error(err) - }).finally(() => { - loading.close() - }); - - }, + // 显示tab标签名称,过长处理 dispLabel(itemName) { diff --git a/src/components/occDisease/occReport.vue b/src/components/occDisease/occReport.vue index 488dcb5..524eef1 100644 --- a/src/components/occDisease/occReport.vue +++ b/src/components/occDisease/occReport.vue @@ -35,19 +35,20 @@
- 预览 + 预览 打印
查询
- 导出excel + 导出excel
- +
@@ -57,18 +58,18 @@ : window.pageHeight - 185 - 25 : '' " :data="tableData" id="standardTableData" ref="standardTableData" style="width: 100%"> - - - - - - - - - - - - + + + + + + + + + + + +
@@ -98,7 +99,6 @@