简历新页面
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
c3b7fd7072
commit
292151f7e1
|
@ -223,6 +223,11 @@ export const constantRoutes = [
|
||||||
component: () => import('@/views/reviewers/ReviewersResearch'),
|
component: () => import('@/views/reviewers/ReviewersResearch'),
|
||||||
hidden: true
|
hidden: true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: '/curriculumVitae',
|
||||||
|
component: () => import('@/views/reviewers/curriculumVitae/index'),
|
||||||
|
hidden: true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: '/ReviewersResearchForm',
|
path: '/ReviewersResearchForm',
|
||||||
component: () => import('@/views/reviewers/ReviewersResearchForm'),
|
component: () => import('@/views/reviewers/ReviewersResearchForm'),
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
const WHITELIST = ['/', 'researchDetail_m', '/researchForm', '/ReviewersResearch', '/login', '/error', '/resetpassword', '/recompose', '/email-recompose', '/trialStats', '/showdicom', '/imagesShare', '/audit', '/preview', '/researchLogin', '/researchLogin_m', '/blindResumeInfo', '/trialsResume', '/joinVerify', '/showNoneDicoms', '/noneDicomReading', '/clinicalData', '/readingDicoms', '/readingPage', '/visitDicomReview', '/visitNondicomReview', '/globalReview', '/adReview', '/oncologyReview', '/nonedicoms']
|
const WHITELIST = ['/', "/curriculumVitae", 'researchDetail_m', '/researchForm', '/ReviewersResearch', '/login', '/error', '/resetpassword', '/recompose', '/email-recompose', '/trialStats', '/showdicom', '/imagesShare', '/audit', '/preview', '/researchLogin', '/researchLogin_m', '/blindResumeInfo', '/trialsResume', '/joinVerify', '/showNoneDicoms', '/noneDicomReading', '/clinicalData', '/readingDicoms', '/readingPage', '/visitDicomReview', '/visitNondicomReview', '/globalReview', '/adReview', '/oncologyReview', '/nonedicoms']
|
||||||
export default WHITELIST
|
export default WHITELIST
|
||||||
|
|
|
@ -0,0 +1,96 @@
|
||||||
|
<template>
|
||||||
|
<div class="agreement">
|
||||||
|
<div class="title">{{ $t('curriculumVitae:agreement:title') }}</div>
|
||||||
|
<div class="fileBox">
|
||||||
|
<div class="file_title">
|
||||||
|
{{ $t('curriculumVitae:agreement:fileTitle') }}
|
||||||
|
</div>
|
||||||
|
<template v-if="true">
|
||||||
|
<div class="file" v-for="item in [1, 2]" :key="item">
|
||||||
|
<div class="name">简历1</div>
|
||||||
|
<i
|
||||||
|
class="el-icon-view"
|
||||||
|
:title="$t('common:button:preview')"
|
||||||
|
@click.stop="preview"
|
||||||
|
/>
|
||||||
|
<i class="el-icon-delete" :title="$t('common:button:delete')" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<div class="noData" v-else>{{ $t('curriculumVitae:noData') }}</div>
|
||||||
|
<div class="btnBox">
|
||||||
|
<div style="position: relative">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
size="small"
|
||||||
|
:disabled="loading"
|
||||||
|
:loading="loading"
|
||||||
|
>
|
||||||
|
{{ $t('curriculumVitae:agreement:btn:upload') }}
|
||||||
|
</el-button>
|
||||||
|
<input
|
||||||
|
type="file"
|
||||||
|
name="file"
|
||||||
|
multiple
|
||||||
|
ref="upload"
|
||||||
|
:title="$t('curriculumVitae:agreement:btn:upload')"
|
||||||
|
style="
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
opacity: 0;
|
||||||
|
cursor: pointer;
|
||||||
|
"
|
||||||
|
:accept="faccept.join(',')"
|
||||||
|
@change="($event) => beginScanFiles($event)"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<el-button type="text">{{ $t('common:button:downloadTpl') }}</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'agreement',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
faccept: ['.pdf'],
|
||||||
|
loading: false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
preview() {
|
||||||
|
this.$preview({
|
||||||
|
path: '',
|
||||||
|
type: '',
|
||||||
|
title: '',
|
||||||
|
})
|
||||||
|
},
|
||||||
|
beginScanFiles(e) {
|
||||||
|
let files = e.target.files
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
faccept: ['.pdf'],
|
||||||
|
loading: false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
preview() {
|
||||||
|
this.$preview({
|
||||||
|
path: '',
|
||||||
|
type: '',
|
||||||
|
title: '',
|
||||||
|
})
|
||||||
|
},
|
||||||
|
beginScanFiles(e) {
|
||||||
|
let files = e.target.files
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
</style>
|
|
@ -0,0 +1,129 @@
|
||||||
|
<template>
|
||||||
|
<div class="certificate">
|
||||||
|
<div class="title">{{ $t('curriculumVitae:certificate:title') }}</div>
|
||||||
|
<div class="fileBox">
|
||||||
|
<!--最高医学学位毕业证书-->
|
||||||
|
<div class="file_title">
|
||||||
|
{{ $t('curriculumVitae:certificate:fileTitle:diploma') }}
|
||||||
|
</div>
|
||||||
|
<div class="file" v-if="true">
|
||||||
|
<div class="name">简历1</div>
|
||||||
|
<i
|
||||||
|
class="el-icon-view"
|
||||||
|
:title="$t('common:button:preview')"
|
||||||
|
@click.stop="preview"
|
||||||
|
/>
|
||||||
|
<i class="el-icon-delete" :title="$t('common:button:delete')" />
|
||||||
|
</div>
|
||||||
|
<div class="noData" v-else>{{ $t('curriculumVitae:noData') }}</div>
|
||||||
|
<!--医师资格证-->
|
||||||
|
<div class="file_title" v-if="true">
|
||||||
|
{{ $t('curriculumVitae:certificate:fileTitle:certificate') }}
|
||||||
|
</div>
|
||||||
|
<div class="noData" v-else>{{ $t('curriculumVitae:noData') }}</div>
|
||||||
|
<div class="file">
|
||||||
|
<div class="name">简历1</div>
|
||||||
|
<i
|
||||||
|
class="el-icon-view"
|
||||||
|
:title="$t('common:button:preview')"
|
||||||
|
@click.stop="preview"
|
||||||
|
/>
|
||||||
|
<i class="el-icon-delete" :title="$t('common:button:delete')" />
|
||||||
|
</div>
|
||||||
|
<!--医师执业证-->
|
||||||
|
<div class="file_title" v-if="true">
|
||||||
|
{{ $t('curriculumVitae:certificate:fileTitle:license') }}
|
||||||
|
</div>
|
||||||
|
<div class="noData" v-else>{{ $t('curriculumVitae:noData') }}</div>
|
||||||
|
<div class="file">
|
||||||
|
<div class="name">简历1</div>
|
||||||
|
<i
|
||||||
|
class="el-icon-view"
|
||||||
|
:title="$t('common:button:preview')"
|
||||||
|
@click.stop="preview"
|
||||||
|
/>
|
||||||
|
<i class="el-icon-delete" :title="$t('common:button:delete')" />
|
||||||
|
</div>
|
||||||
|
<!--大型医用设备上岗证-->
|
||||||
|
<div class="file_title">
|
||||||
|
{{ $t('curriculumVitae:certificate:fileTitle:workPermit') }}
|
||||||
|
</div>
|
||||||
|
<template v-if="true">
|
||||||
|
<div v-for="item in [1, 2]" :key="item">
|
||||||
|
<div class="file_title">
|
||||||
|
{{ $t('curriculumVitae:certificate:fileTitle:CT') }}
|
||||||
|
</div>
|
||||||
|
<div class="file">
|
||||||
|
<div class="name">简历1</div>
|
||||||
|
<i
|
||||||
|
class="el-icon-view"
|
||||||
|
:title="$t('common:button:preview')"
|
||||||
|
@click.stop="preview"
|
||||||
|
/>
|
||||||
|
<i class="el-icon-delete" :title="$t('common:button:delete')" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<div class="noData" v-else>{{ $t('curriculumVitae:noData') }}</div>
|
||||||
|
<div class="btnBox">
|
||||||
|
<div style="position: relative">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
size="small"
|
||||||
|
:disabled="loading"
|
||||||
|
:loading="loading"
|
||||||
|
>
|
||||||
|
{{ $t('curriculumVitae:certificate:btn:upload') }}
|
||||||
|
</el-button>
|
||||||
|
<input
|
||||||
|
type="file"
|
||||||
|
name="file"
|
||||||
|
multiple
|
||||||
|
ref="upload"
|
||||||
|
:title="$t('curriculumVitae:certificate:btn:upload')"
|
||||||
|
style="
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
opacity: 0;
|
||||||
|
cursor: pointer;
|
||||||
|
"
|
||||||
|
:accept="faccept.join(',')"
|
||||||
|
@change="($event) => beginScanFiles($event)"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import PreviewFile from '@/components/PreviewFile/index'
|
||||||
|
export default {
|
||||||
|
name: 'certificate',
|
||||||
|
components: {
|
||||||
|
PreviewFile,
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
faccept: ['.pdf'],
|
||||||
|
loading: false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
preview() {
|
||||||
|
this.$preview({
|
||||||
|
path: '',
|
||||||
|
type: '',
|
||||||
|
title: '',
|
||||||
|
})
|
||||||
|
},
|
||||||
|
beginScanFiles(e) {
|
||||||
|
let files = e.target.files
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
</style>
|
|
@ -0,0 +1,133 @@
|
||||||
|
<template>
|
||||||
|
<div class="curriculum">
|
||||||
|
<div class="title">{{ $t('curriculumVitae:curriculum:title') }}</div>
|
||||||
|
<div class="fileBox">
|
||||||
|
<div class="file_title">
|
||||||
|
{{ $t('curriculumVitae:curriculum:fileTitle:CN') }}
|
||||||
|
</div>
|
||||||
|
<template v-if="true">
|
||||||
|
<div class="file" v-for="item in [1, 2]" :key="item">
|
||||||
|
<div class="name">简历1</div>
|
||||||
|
<i class="el-icon-download" :title="$t('common:button:download')" />
|
||||||
|
<i class="el-icon-delete" :title="$t('common:button:delete')" />
|
||||||
|
<i
|
||||||
|
class="el-icon-circle-check"
|
||||||
|
:title="$t('common:button:default')"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<div class="noData" v-else>{{ $t('curriculumVitae:noData') }}</div>
|
||||||
|
<div class="file_title">
|
||||||
|
{{ $t('curriculumVitae:curriculum:fileTitle:EN') }}
|
||||||
|
</div>
|
||||||
|
<template v-if="true">
|
||||||
|
<div class="file" v-for="item in [1, 2]" :key="item">
|
||||||
|
<div class="name">Resume</div>
|
||||||
|
<i class="el-icon-download" :title="$t('common:button:download')" />
|
||||||
|
<i class="el-icon-delete" :title="$t('common:button:delete')" />
|
||||||
|
<i
|
||||||
|
class="el-icon-circle-check"
|
||||||
|
:title="$t('common:button:default')"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<div class="noData" v-else>{{ $t('curriculumVitae:noData') }}</div>
|
||||||
|
<div class="btnBox">
|
||||||
|
<div style="position: relative">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
size="small"
|
||||||
|
:disabled="loading"
|
||||||
|
:loading="loading"
|
||||||
|
>
|
||||||
|
{{ $t('curriculumVitae:curriculum:btn:uploadCN') }}
|
||||||
|
</el-button>
|
||||||
|
<input
|
||||||
|
type="file"
|
||||||
|
name="file"
|
||||||
|
multiple
|
||||||
|
ref="uploadCN"
|
||||||
|
:title="$t('curriculumVitae:curriculum:btn:uploadCN')"
|
||||||
|
style="
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
opacity: 0;
|
||||||
|
cursor: pointer;
|
||||||
|
"
|
||||||
|
:accept="faccept.join(',')"
|
||||||
|
@change="($event) => beginScanFiles($event)"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<el-button type="text">{{ $t('common:button:downloadTpl') }}</el-button>
|
||||||
|
</div>
|
||||||
|
<div class="btnBox">
|
||||||
|
<div style="position: relative">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
size="small"
|
||||||
|
:disabled="loading"
|
||||||
|
:loading="loading"
|
||||||
|
>
|
||||||
|
{{ $t('curriculumVitae:curriculum:btn:uploadEN') }}
|
||||||
|
</el-button>
|
||||||
|
<input
|
||||||
|
type="file"
|
||||||
|
name="file"
|
||||||
|
multiple
|
||||||
|
ref="uploadEN"
|
||||||
|
:title="$t('curriculumVitae:curriculum:btn:uploadEN')"
|
||||||
|
style="
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
opacity: 0;
|
||||||
|
cursor: pointer;
|
||||||
|
"
|
||||||
|
:accept="faccept.join(',')"
|
||||||
|
@change="($event) => beginScanFiles($event)"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<el-button type="text">{{ $t('common:button:downloadTpl') }}</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'curriculum',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
faccept: ['.pdf'],
|
||||||
|
loading: false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
beginScanFiles(e) {
|
||||||
|
let files = e.target.files
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.file {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
.name {
|
||||||
|
width: 70%;
|
||||||
|
white-space: nowrap; /* 文本不会换行,会在同一行内继续,直到遇到<br>标签为止 */
|
||||||
|
text-overflow: ellipsis; /* 当文本溢出包含它的容器时,显示省略号(...)来表示被截断的文本 */
|
||||||
|
overflow: hidden; /* 隐藏溢出容器的文本 */
|
||||||
|
}
|
||||||
|
i {
|
||||||
|
cursor: pointer;
|
||||||
|
margin: 3px;
|
||||||
|
color: #409eff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,10 @@
|
||||||
|
<template>
|
||||||
|
<div class="info"></div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'info',
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
</style>
|
|
@ -0,0 +1,220 @@
|
||||||
|
<template>
|
||||||
|
<div class="curriculumVitae">
|
||||||
|
<div class="leftMenu">
|
||||||
|
<div class="title">{{ $t('curriculumVitae:menu:title') }}</div>
|
||||||
|
<el-menu
|
||||||
|
:default-active="activeIndex"
|
||||||
|
class="el-menu-demo"
|
||||||
|
mode="vertical"
|
||||||
|
@select="handleSelect"
|
||||||
|
background-color="#eee"
|
||||||
|
active-text-color="#000"
|
||||||
|
>
|
||||||
|
<el-menu-item index="info">
|
||||||
|
{{ $t('curriculumVitae:menu:info') }}
|
||||||
|
</el-menu-item>
|
||||||
|
<el-menu-item index="summarize">{{
|
||||||
|
$t('curriculumVitae:menu:summarize')
|
||||||
|
}}</el-menu-item>
|
||||||
|
<el-menu-item index="specialty">
|
||||||
|
{{ $t('curriculumVitae:menu:specialty') }}
|
||||||
|
</el-menu-item>
|
||||||
|
<el-menu-item index="EducationalExperience">{{
|
||||||
|
$t('curriculumVitae:menu:EducationalExperience')
|
||||||
|
}}</el-menu-item>
|
||||||
|
<el-menu-item index="ContinuingTraining">{{
|
||||||
|
$t('curriculumVitae:menu:ContinuingTraining')
|
||||||
|
}}</el-menu-item>
|
||||||
|
<el-menu-item index="ScientificResearchProject">{{
|
||||||
|
$t('curriculumVitae:menu:ScientificResearchProject')
|
||||||
|
}}</el-menu-item>
|
||||||
|
<el-menu-item index="clinicalTrials">{{
|
||||||
|
$t('curriculumVitae:menu:clinicalTrials')
|
||||||
|
}}</el-menu-item>
|
||||||
|
<el-menu-item index="treatise">{{
|
||||||
|
$t('curriculumVitae:menu:treatise')
|
||||||
|
}}</el-menu-item>
|
||||||
|
<el-menu-item index="other">{{
|
||||||
|
$t('curriculumVitae:menu:other')
|
||||||
|
}}</el-menu-item>
|
||||||
|
</el-menu>
|
||||||
|
</div>
|
||||||
|
<div class="main">
|
||||||
|
<div class="content">
|
||||||
|
<div class="title">
|
||||||
|
<div>{{ $t('curriculumVitae:content:title') }}</div>
|
||||||
|
<div class="btnBox">
|
||||||
|
<el-button type="text">{{
|
||||||
|
$t('common:button:downloadTpl')
|
||||||
|
}}</el-button>
|
||||||
|
<el-button type="text">{{
|
||||||
|
$t('curriculumVitae:button:importResume')
|
||||||
|
}}</el-button>
|
||||||
|
<el-button type="text">{{ $t('common:button:preview') }}</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="box" id="info" style="height: 100vh">info</div>
|
||||||
|
<div class="box" id="summarize" style="height: 100vh">summarize</div>
|
||||||
|
<div class="box" id="specialty" style="height: 100vh">specialty</div>
|
||||||
|
</div>
|
||||||
|
<div class="rightFile">
|
||||||
|
<!--简历附件-->
|
||||||
|
<curriculum />
|
||||||
|
<!--资历证书-->
|
||||||
|
<certificate />
|
||||||
|
<!--协议-->
|
||||||
|
<agreement />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import curriculum from './components/file/curriculum.vue'
|
||||||
|
import certificate from './components/file/certificate.vue'
|
||||||
|
import agreement from './components/file/agreement.vue'
|
||||||
|
export default {
|
||||||
|
components: { curriculum, certificate, agreement },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
activeIndex: 'info',
|
||||||
|
isScrollAuto: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
// 监听滚动事件
|
||||||
|
window.addEventListener('scroll', this.onScroll)
|
||||||
|
},
|
||||||
|
destroy() {
|
||||||
|
// 必须移除监听器,不然当该vue组件被销毁了,监听器还在就会出错
|
||||||
|
window.removeEventListener('scroll', this.onScroll)
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleSelect(key, keyPath) {
|
||||||
|
const navContent = document.getElementById(key)
|
||||||
|
if (navContent) {
|
||||||
|
const scrollTop = navContent.offsetTop
|
||||||
|
document.body.scrollTop = scrollTop
|
||||||
|
document.documentElement.scrollTop = scrollTop
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onScroll() {
|
||||||
|
// 获取所有锚点元素
|
||||||
|
const navContents = document.querySelectorAll('.content .box')
|
||||||
|
// 所有锚点元素的 offsetTop
|
||||||
|
const offsetTopArr = []
|
||||||
|
navContents.forEach((item) => {
|
||||||
|
offsetTopArr.push(item.offsetTop)
|
||||||
|
})
|
||||||
|
// 获取当前文档流的 scrollTop
|
||||||
|
const scrollTop =
|
||||||
|
document.documentElement.scrollTop || document.body.scrollTop
|
||||||
|
// 定义当前点亮的导航下标
|
||||||
|
let navItem = null
|
||||||
|
for (let n = 0; n < offsetTopArr.length; n++) {
|
||||||
|
// 如果 scrollTop 大于等于第 n 个元素的 offsetTop 则说明 n-1 的内容已经完全不可见
|
||||||
|
// 那么此时导航索引就应该是 n 了
|
||||||
|
if (scrollTop >= offsetTopArr[n]) {
|
||||||
|
navItem = navContents[n]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 把下标赋值给 vue 的 data
|
||||||
|
this.activeIndex = navItem.id
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.title {
|
||||||
|
line-height: 50px;
|
||||||
|
background-color: #fff;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.leftMenu {
|
||||||
|
position: fixed;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 100px;
|
||||||
|
height: 100vh;
|
||||||
|
background-color: #eee;
|
||||||
|
border-right: 1px solid #eee;
|
||||||
|
::v-deep .el-menu {
|
||||||
|
padding: 5px 5px 0;
|
||||||
|
}
|
||||||
|
::v-deep .is-active {
|
||||||
|
background-color: #fff !important;
|
||||||
|
position: relative;
|
||||||
|
&::before {
|
||||||
|
display: block;
|
||||||
|
content: '';
|
||||||
|
width: 5px;
|
||||||
|
height: 15px;
|
||||||
|
background-color: #f00;
|
||||||
|
position: absolute;
|
||||||
|
left: 8px;
|
||||||
|
top: calc(50% - 8px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.main {
|
||||||
|
width: calc(100% - 100px);
|
||||||
|
height: 100vh;
|
||||||
|
margin-left: 100px;
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-start;
|
||||||
|
}
|
||||||
|
.content {
|
||||||
|
width: calc(100% - 300px);
|
||||||
|
padding: 0 50px 0 20px;
|
||||||
|
.title {
|
||||||
|
line-height: 50px;
|
||||||
|
background-color: #fff;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.rightFile {
|
||||||
|
width: 300px;
|
||||||
|
padding-right: 10px;
|
||||||
|
::v-deep .title {
|
||||||
|
line-height: 50px;
|
||||||
|
background-color: #fff;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
::v-deep .fileBox {
|
||||||
|
background-color: #eee;
|
||||||
|
padding: 10px;
|
||||||
|
font-size: 14px;
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
|
::v-deep .file_title {
|
||||||
|
line-height: 40px;
|
||||||
|
}
|
||||||
|
::v-deep .btnBox {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
::v-deep .noData {
|
||||||
|
color: #909399;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
::v-deep .file {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
.name {
|
||||||
|
width: 70%;
|
||||||
|
white-space: nowrap; /* 文本不会换行,会在同一行内继续,直到遇到<br>标签为止 */
|
||||||
|
text-overflow: ellipsis; /* 当文本溢出包含它的容器时,显示省略号(...)来表示被截断的文本 */
|
||||||
|
overflow: hidden; /* 隐藏溢出容器的文本 */
|
||||||
|
}
|
||||||
|
i {
|
||||||
|
cursor: pointer;
|
||||||
|
margin: 3px;
|
||||||
|
color: #409eff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
Loading…
Reference in New Issue