he 2025-11-18 11:20:57 +08:00
commit 50a5a2ca35
8 changed files with 101 additions and 114 deletions

19
src/web/.gitignore vendored Normal file
View File

@ -0,0 +1,19 @@
.DS_Store
node_modules/
dist/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
package-lock.json
tests/**/coverage/
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
.eslintignore
/.eslintignore
*.svn

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

View File

@ -13,7 +13,7 @@ const whiteList = ['/about', '/ReviewersResearch', '/login', '/error', '/resetpa
router.beforeEach(async(to, from, next) => { router.beforeEach(async(to, from, next) => {
NProgress.start() NProgress.start()
// 设置页面标题 // 设置页面标题
document.title = 'IRCIS' document.title = 'MIRS'
// 确定用户是否已登录 // 确定用户是否已登录
const hasToken = getToken() const hasToken = getToken()

View File

@ -1,7 +1,7 @@
// eslint-disable-next-line no-undef // eslint-disable-next-line no-undef
module.exports = { module.exports = {
title: 'IRCIS', title: 'MIRS',
/** /**
* @type {boolean} true | false * @type {boolean} true | false

View File

@ -1,6 +1,6 @@
import defaultSettings from '@/settings' import defaultSettings from '@/settings'
const title = defaultSettings.title || 'IRCIS' const title = defaultSettings.title || 'MIRS'
export default function getPageTitle(pageTitle) { export default function getPageTitle(pageTitle) {
if (pageTitle) { if (pageTitle) {

View File

@ -6,8 +6,7 @@
<div class="login-body"> <div class="login-body">
<div class="login-l"> <div class="login-l">
<div class="login-logo"> <div class="login-logo">
<img src="@/assets/zzlogo2.png" v-if="language === 'zh'" alt=""> <img src="@/assets/HTlogo.png" alt="">
<img src="@/assets/zzlogo3.png" v-else alt="">
</div> </div>
<div class="login-image"> <div class="login-image">
<img src="@/assets/login-bg.png"> <img src="@/assets/login-bg.png">
@ -16,16 +15,10 @@
<div class="login-r"> <div class="login-r">
<div class="title-container"> <div class="title-container">
<!-- IRC Management System --> <!-- IRC Management System -->
<div class="title">EI Image Viewer</div> <div class="title">医学影像管理与判读系统</div>
</div> </div>
<el-form <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form" auto-complete="on"
ref="loginForm" label-position="left">
:model="loginForm"
:rules="loginRules"
class="login-form"
auto-complete="on"
label-position="left"
>
<el-form-item prop="username" :rules="[ <el-form-item prop="username" :rules="[
{ required: true, message: this.$t('login:formRule:userName'), trigger: 'blur' } { required: true, message: this.$t('login:formRule:userName'), trigger: 'blur' }
@ -34,15 +27,8 @@
<svg-icon icon-class="user" /> <svg-icon icon-class="user" />
</span> </span>
<!-- User Name --> <!-- User Name -->
<el-input :maxLength="20" <el-input :maxLength="20" ref="username" v-model="loginForm.username" size="small"
ref="username" :placeholder="$t('login:form:userName')" name="username" type="text" tabindex="1" />
v-model="loginForm.username"
size="small"
:placeholder="$t('login:form:userName')"
name="username"
type="text"
tabindex="1"
/>
</el-form-item> </el-form-item>
<el-form-item prop="password" :rules="[ <el-form-item prop="password" :rules="[
@ -52,29 +38,16 @@
<svg-icon icon-class="password" /> <svg-icon icon-class="password" />
</span> </span>
<!-- password --> <!-- password -->
<el-input :maxLength="32" <el-input :maxLength="32" :key="passwordType" ref="password" v-model="loginForm.password" size="small"
:key="passwordType" :type="passwordType" :placeholder="$t('login:form:password')" name="password" tabindex="2"
ref="password" @keyup.enter.native="handleLogin" />
v-model="loginForm.password"
size="small"
:type="passwordType"
:placeholder="$t('login:form:password')"
name="password"
tabindex="2"
@keyup.enter.native="handleLogin"
/>
<span class="show-pwd" @click="showPwd"> <span class="show-pwd" @click="showPwd">
<svg-icon :icon-class="passwordType === 'password' ? 'eye' : 'eye-open'" /> <svg-icon :icon-class="passwordType === 'password' ? 'eye' : 'eye-open'" />
</span> </span>
</el-form-item> </el-form-item>
<!-- Login --> <!-- Login -->
<el-button <el-button :loading="loading" type="primary" style="width:100%;margin-bottom:10px;" size="medium"
:loading="loading" @click.native.prevent="handleLogin">
type="primary"
style="width:100%;margin-bottom:10px;"
size="medium"
@click.native.prevent="handleLogin"
>
{{ $t('login:button:login') }} {{ $t('login:button:login') }}
</el-button> </el-button>
<div style="text-align: right;"> <div style="text-align: right;">
@ -88,58 +61,38 @@
</div> </div>
</div> </div>
<div class="login-footer" v-if="language === 'zh'"> <div class="login-footer" v-if="language === 'zh'">
<span>Copyright © 2023 武汉行藏科技有限公司 版权所有</span> <span>Copyright © {{ new Date().getFullYear() }} 北京胡桃计算机技术有限公司
版权所有</span>
<span> | </span> <span> | </span>
<a @click="openAbout"> <a @click="openAbout">
<span style="color:#00D1B2">关于</span> <span style="color:#00D1B2">关于</span>
</a> </a>
</div> </div>
<el-dialog <el-dialog v-if="aboutVisible" :visible.sync="aboutVisible" width="680px" style="margin-top: 0"
v-if="aboutVisible" :close-on-click-modal="false" size="small">
:visible.sync="aboutVisible" <div style="
width="680px" margin: 0 auto;
style="margin-top: 0;" width: 600px;
:close-on-click-modal="false" line-height: 28px;
size="small" text-align: center;
> ">
<div style="margin: 0 auto;width: 600px;line-height: 28px"> <h1 style="text-align: center; margin-bottom: 30px">关于</h1>
<h1 style="text-align: center;margin-bottom: 20px">关于</h1> <p style="margin-bottom: 0px">医学影像管理与判读系统</p>
<p> <p style="margin-bottom: 20px; margin-top: 0">
产品名称医学影像处理软件 V1.0.0.1
</p> </p>
<p> <p style="margin-bottom: 20px">
型号规格EI Image Viewer Copyright © {{ new Date().getFullYear() }} 北京胡桃计算机技术有限公司
</p> 版权所有
<p>
发布版本V1
</p>
<p>
完整版本V1.0.2.001
</p>
<p>
使用期限10
</p>
<p>
医疗器械注册证编号鄂械注准20232214626
</p>
<p>
医疗器械生产许可证编号鄂药监械生产许20231284号
</p>
<p>
注册人/生产企业名称武汉行藏科技有限公司
</p>
<p>
住所武汉东湖新技术开发区高新大道666号光谷生物城生物创新园B5栋K409号
</p>
<p>
生产地址武汉东湖新技术开发区高新大道666号光谷生物城生物创新园B6栋C033C室
</p>
<p>
其他内容详见说明书
</p> </p>
<div style="margin-bottom: 20px">
<img style="width: 180px" src="@/assets/HTlogo.png" alt="" />
</div>
</div> </div>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" size="mini" @click="aboutVisible = false">关闭</el-button> <el-button type="primary" size="mini" @click="aboutVisible = false">
{{ $t('common:button:close') }}
</el-button>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
@ -328,20 +281,24 @@ $cursor: #fff;
$bg: #2d3a4b; $bg: #2d3a4b;
$dark_gray: #889aa4; $dark_gray: #889aa4;
$light_gray: #606266; $light_gray: #606266;
.login-container { .login-container {
position: relative; position: relative;
width: 100%; width: 100%;
height: 100%; height: 100%;
overflow: auto; overflow: auto;
background: rgb(249, 249, 249); background: rgb(249, 249, 249);
.login-header { .login-header {
margin: 10px 0px 20px 10px; margin: 10px 0px 20px 10px;
height: 3rem; height: 3rem;
width: 720px; width: 720px;
.login-logo { .login-logo {
height: 100%; height: 100%;
} }
} }
.login-body { .login-body {
position: absolute; position: absolute;
left: 50%; left: 50%;
@ -355,31 +312,37 @@ $light_gray:#606266;
box-sizing: border-box; box-sizing: border-box;
background: rgb(255, 255, 255); background: rgb(255, 255, 255);
border-radius: 10px 0px 0px 10px; border-radius: 10px 0px 0px 10px;
.login-l { .login-l {
position: relative; position: relative;
float: left; float: left;
width: 50%; width: 50%;
height: 100%; height: 100%;
.login-logo { .login-logo {
position: absolute; position: absolute;
top: 35px; top: 35px;
left: 50px; left: 50px;
img { img {
height: 40px; height: 40px;
} }
} }
.login-image { .login-image {
position: absolute; position: absolute;
top: 10px; top: 10px;
left: 0px; left: 0px;
// transform: translateY(-50%); // transform: translateY(-50%);
height: 100%; height: 100%;
img { img {
height: 100%; height: 100%;
} }
} }
} }
.login-r { .login-r {
position: relative; position: relative;
float: left; float: left;
@ -398,9 +361,11 @@ $light_gray:#606266;
overflow: hidden; overflow: hidden;
} }
.title-container { .title-container {
// margin-bottom: 50px; // margin-bottom: 50px;
margin-top: 15%; margin-top: 15%;
.title { .title {
font-size: 35px; font-size: 35px;
color: $light_gray; color: $light_gray;
@ -440,6 +405,7 @@ $light_gray:#606266;
} }
} }
} }
.login-footer { .login-footer {
position: absolute; position: absolute;
bottom: 50px; bottom: 50px;
@ -453,6 +419,7 @@ $light_gray:#606266;
align-items: center; align-items: center;
// color: rgb(180, 190, 199); // color: rgb(180, 190, 199);
color: #909399; color: #909399;
a { a {
display: inline-block; display: inline-block;
text-decoration: none; text-decoration: none;
@ -461,14 +428,17 @@ $light_gray:#606266;
display: flex; display: flex;
justify-content: center; justify-content: center;
} }
span { span {
margin: 0 2px; margin: 0 2px;
} }
img { img {
height: 20px; height: 20px;
line-height: 20px; line-height: 20px;
} }
// p{ // p{
// display: inline-block; // display: inline-block;
// height:20px; // height:20px;
@ -478,5 +448,4 @@ $light_gray:#606266;
// } // }
} }
} }
</style> </style>

View File

@ -1,10 +1,9 @@
<template> <template>
<div class="trials-navbar" style="position: relative"> <div class="trials-navbar" style="position: relative">
<div class="leftMenu"> <div class="leftMenu">
<img v-if="language === 'zh'" src="@/assets/zzlogo2.png" alt=""> <img src="@/assets/HTlogo.png" alt="">
<img v-else src="@/assets/zzlogo3.png" alt="">
<span> <span>
EI Image Viewer 医学影像管理与判读系统
</span> </span>
</div> </div>
<div class="center-menu"> <div class="center-menu">