初始化项目

main
wangxiaoshuang 2025-11-18 10:08:05 +08:00
parent d7744131ba
commit 2fc01017bb
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) => {
NProgress.start()
// 设置页面标题
document.title = 'IRCIS'
document.title = 'MIRS'
// 确定用户是否已登录
const hasToken = getToken()

View File

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

View File

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

View File

@ -6,8 +6,7 @@
<div class="login-body">
<div class="login-l">
<div class="login-logo">
<img src="@/assets/zzlogo2.png" v-if="language === 'zh'" alt="">
<img src="@/assets/zzlogo3.png" v-else alt="">
<img src="@/assets/HTlogo.png" alt="">
</div>
<div class="login-image">
<img src="@/assets/login-bg.png">
@ -16,16 +15,10 @@
<div class="login-r">
<div class="title-container">
<!-- IRC Management System -->
<div class="title">EI Image Viewer</div>
<div class="title">医学影像管理与判读系统</div>
</div>
<el-form
ref="loginForm"
:model="loginForm"
:rules="loginRules"
class="login-form"
auto-complete="on"
label-position="left"
>
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form" auto-complete="on"
label-position="left">
<el-form-item prop="username" :rules="[
{ required: true, message: this.$t('login:formRule:userName'), trigger: 'blur' }
@ -34,51 +27,31 @@
<svg-icon icon-class="user" />
</span>
<!-- User Name -->
<el-input :maxLength="20"
ref="username"
v-model="loginForm.username"
size="small"
:placeholder="$t('login:form:userName')"
name="username"
type="text"
tabindex="1"
/>
<el-input :maxLength="20" ref="username" v-model="loginForm.username" size="small"
:placeholder="$t('login:form:userName')" name="username" type="text" tabindex="1" />
</el-form-item>
<el-form-item prop="password" :rules="[
{ required: true, message: this.$t('login:formRule:password'), trigger: 'blur' }
{ required: true, message: this.$t('login:formRule:password'), trigger: 'blur' }
]">
<span class="svg-container">
<svg-icon icon-class="password" />
</span>
<!-- password -->
<el-input :maxLength="32"
:key="passwordType"
ref="password"
v-model="loginForm.password"
size="small"
:type="passwordType"
:placeholder="$t('login:form:password')"
name="password"
tabindex="2"
@keyup.enter.native="handleLogin"
/>
<el-input :maxLength="32" :key="passwordType" ref="password" 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">
<svg-icon :icon-class="passwordType === 'password' ? 'eye' : 'eye-open'" />
</span>
</el-form-item>
<!-- Login -->
<el-button
:loading="loading"
type="primary"
style="width:100%;margin-bottom:10px;"
size="medium"
@click.native.prevent="handleLogin"
>
<el-button :loading="loading" type="primary" style="width:100%;margin-bottom:10px;" size="medium"
@click.native.prevent="handleLogin">
{{ $t('login:button:login') }}
</el-button>
<div style="text-align: right;">
<!-- <TopLang v-if="VUE_APP_OSS_CONFIG_REGION !== 'oss-us-west-1'"></TopLang>-->
<!-- <TopLang v-if="VUE_APP_OSS_CONFIG_REGION !== 'oss-us-west-1'"></TopLang>-->
<!-- Forget password? -->
<el-button type="text" size="medium" @click.native.prevent="handleResetPwd">
{{ $t('login:button:forgetPassword') }}
@ -88,65 +61,45 @@
</div>
</div>
<div class="login-footer" v-if="language === 'zh'">
<span>Copyright © 2023 武汉行藏科技有限公司 版权所有</span>
<span>Copyright © {{ new Date().getFullYear() }} 北京胡桃计算机技术有限公司
版权所有</span>
<span> | </span>
<a @click="openAbout">
<a @click="openAbout">
<span style="color:#00D1B2">关于</span>
</a>
</div>
<el-dialog
v-if="aboutVisible"
:visible.sync="aboutVisible"
width="680px"
style="margin-top: 0;"
:close-on-click-modal="false"
size="small"
>
<div style="margin: 0 auto;width: 600px;line-height: 28px">
<h1 style="text-align: center;margin-bottom: 20px">关于</h1>
<p>
产品名称医学影像处理软件
<el-dialog v-if="aboutVisible" :visible.sync="aboutVisible" width="680px" style="margin-top: 0"
:close-on-click-modal="false" size="small">
<div style="
margin: 0 auto;
width: 600px;
line-height: 28px;
text-align: center;
">
<h1 style="text-align: center; margin-bottom: 30px">关于</h1>
<p style="margin-bottom: 0px">医学影像管理与判读系统</p>
<p style="margin-bottom: 20px; margin-top: 0">
V1.0.0.1
</p>
<p>
型号规格EI Image Viewer
</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 style="margin-bottom: 20px">
Copyright © {{ new Date().getFullYear() }} 北京胡桃计算机技术有限公司
版权所有
</p>
<div style="margin-bottom: 20px">
<img style="width: 180px" src="@/assets/HTlogo.png" alt="" />
</div>
</div>
<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>
</el-dialog>
</div>
</template>
<script>
import {mapGetters, mapMutations} from 'vuex'
import { mapGetters, mapMutations } from 'vuex'
import TopLang from './topLang'
import NoticeMarquee from "../trials/trials-layout/components/noticeMarquee";
export default {
@ -325,28 +278,32 @@ $cursor: #fff;
</style>
<style lang="scss" scoped>
$bg:#2d3a4b;
$dark_gray:#889aa4;
$light_gray:#606266;
$bg: #2d3a4b;
$dark_gray: #889aa4;
$light_gray: #606266;
.login-container {
position: relative;
width: 100%;
height: 100%;
overflow: auto;
background: rgb(249, 249, 249);
.login-header {
margin: 10px 0px 20px 10px;
height: 3rem;
width: 720px;
.login-logo {
height: 100%;
}
}
.login-body {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
transform: translate(-50%, -50%);
// margin-top: -230px;
// margin-left: -400px;
width: 1200px;
@ -355,31 +312,37 @@ $light_gray:#606266;
box-sizing: border-box;
background: rgb(255, 255, 255);
border-radius: 10px 0px 0px 10px;
.login-l {
position: relative;
float: left;
width: 50%;
height: 100%;
.login-logo{
.login-logo {
position: absolute;
top:35px;
top: 35px;
left: 50px;
img{
img {
height: 40px;
}
}
.login-image{
.login-image {
position: absolute;
top:10px;
top: 10px;
left: 0px;
// transform: translateY(-50%);
height: 100%;
img {
height: 100%;
}
height: 100%;
}
}
}
.login-r {
position: relative;
float: left;
@ -391,16 +354,18 @@ $light_gray:#606266;
top: 50%;
// transform: translateY(-50%);
left: 50%;
transform:translate(-50%,-50%);
transform: translate(-50%, -50%);
width: 80%;
padding: 10px;
margin: 0 auto;
overflow: hidden;
}
.title-container {
// margin-bottom: 50px;
margin-top: 15%;
.title {
font-size: 35px;
color: $light_gray;
@ -440,7 +405,8 @@ $light_gray:#606266;
}
}
}
.login-footer{
.login-footer {
position: absolute;
bottom: 50px;
left: 0px;
@ -453,22 +419,26 @@ $light_gray:#606266;
align-items: center;
// color: rgb(180, 190, 199);
color: #909399;
a{
display:inline-block;
text-decoration:none;
height:20px;
line-height:20px;
a {
display: inline-block;
text-decoration: none;
height: 20px;
line-height: 20px;
display: flex;
justify-content: center;
}
span{
span {
margin: 0 2px;
}
img{
height:20px;
line-height:20px;
img {
height: 20px;
line-height: 20px;
}
// p{
// display: inline-block;
// height:20px;
@ -478,5 +448,4 @@ $light_gray:#606266;
// }
}
}
</style>

View File

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