简历新页面
continuous-integration/drone/push Build is passing Details

uat_us
DESKTOP-6C3NK6N\WXS 2024-10-15 17:50:15 +08:00
parent 4f1e951a83
commit 4c1ed950e5
11 changed files with 1865 additions and 13 deletions

View File

@ -37,7 +37,7 @@
height="100" height="100"
style="width: 100%" style="width: 100%"
> >
<el-table-column prop="Code" label="标签" width="300"> <el-table-column prop="Code" label="标签" width="300" show-overflow-tooltip>
</el-table-column> </el-table-column>
<!-- <el-table-column--> <!-- <el-table-column-->
<!-- prop="Description"--> <!-- prop="Description"-->

View File

@ -0,0 +1,427 @@
<template>
<div class="clinicalTrials">
<!--临床试验-->
<div class="title">
<span>{{ $t('curriculumVitae:clinicalTrials:title') }}</span>
<el-button
type="text"
class="editBtn"
@click.stop="openEdit('', 'clinicalTrials')"
>
{{ $t('common:button:add') }}
</el-button>
</div>
<el-table
:data="tableData"
style="width: 100%"
:header-cell-style="{ background: '#eee', color: '#606266' }"
>
<el-table-column
prop="date"
:label="$t('curriculumVitae:clinicalTrials:table:byStages')"
>
</el-table-column>
<el-table-column
prop="date"
:label="$t('curriculumVitae:clinicalTrials:table:criterion')"
>
</el-table-column>
<el-table-column
prop="date"
:label="$t('curriculumVitae:clinicalTrials:table:indication')"
>
</el-table-column>
<el-table-column
prop="date"
:label="$t('curriculumVitae:clinicalTrials:table:viewingVolumeNum')"
>
</el-table-column>
<el-table-column
prop="date"
:label="$t('curriculumVitae:clinicalTrials:table:year')"
>
</el-table-column>
<el-table-column prop="date" :label="$t('common:action:action')">
<template slot-scope="scope">
<el-button
type="text"
class="editBtn"
@click.stop="openEdit(scope, 'clinicalTrials')"
>
{{ $t('common:button:edit') }}
</el-button>
<el-button type="text" class="editBtn" @click.stop="openEdit">
{{ $t('common:button:delete') }}
</el-button>
</template>
</el-table-column>
</el-table>
<!--GCP证书-->
<div class="title" style="margin-top: 20px">
<span>{{ $t('curriculumVitae:clinicalTrials:GCPtitle') }}</span>
</div>
<el-table
:data="GCPData"
style="width: 100%"
:header-cell-style="{ background: '#eee', color: '#606266' }"
>
<el-table-column
prop="has"
:label="$t('curriculumVitae:clinicalTrials:table:hasCertificate')"
>
</el-table-column>
<el-table-column
prop="time"
:label="$t('curriculumVitae:clinicalTrials:table:certificateTime')"
>
</el-table-column>
<el-table-column
prop="adress"
:label="$t('curriculumVitae:clinicalTrials:table:certificateHospital')"
>
</el-table-column>
<el-table-column :label="$t('common:action:action')">
<template slot-scope="scope">
<el-button
type="text"
class="editBtn"
@click.stop="openEdit(scope, 'certificate')"
>
{{ $t('common:button:edit') }}
</el-button>
</template>
</el-table-column>
</el-table>
<!--其他相关经历-->
<div class="title" style="margin-top: 20px">
<span>{{ $t('curriculumVitae:clinicalTrials:otherTitle') }}</span>
<el-button
type="text"
class="editBtn"
@click.stop="openEdit('', 'other')"
>
{{ $t('common:button:edit') }}
</el-button>
</div>
<template v-if="true">
<div class="message">三的卡上不能打卡上班打卡</div>
</template>
<div class="noData" v-else>{{ $t('curriculumVitae:noData') }}</div>
<!--临床试验-->
<base-model :config="model_cfg_clinicalTrials">
<template slot="dialog-body">
<el-form
ref="clinicalTrialsFrom"
v-loading="loading"
:model="form"
:rules="rules"
label-width="80px"
size="small"
>
<el-form-item
:label="$t('curriculumVitae:clinicalTrials:form:byStages')"
prop="InternationalizationType"
>
<el-select v-model="form.Sex" clearable placeholder="">
<el-option
v-for="item in $d.sex"
:key="item.id"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item
:label="$t('curriculumVitae:clinicalTrials:form:criterion')"
prop="InternationalizationType"
>
<el-select v-model="form.Sex" clearable placeholder="">
<el-option
v-for="item in $d.sex"
:key="item.id"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item
:label="$t('curriculumVitae:clinicalTrials:form:startTime')"
prop="InternationalizationType"
>
<el-input clearable></el-input>
</el-form-item>
<el-form-item
:label="$t('curriculumVitae:clinicalTrials:form:endTime')"
prop="InternationalizationType"
>
<el-input clearable></el-input>
</el-form-item>
<el-form-item
:label="$t('curriculumVitae:clinicalTrials:form:viewingVolumeNum')"
prop="InternationalizationType"
>
<el-input clearable></el-input>
</el-form-item>
<el-form-item
:label="$t('curriculumVitae:clinicalTrials:form:indication')"
prop="InternationalizationType"
>
<el-input clearable></el-input>
</el-form-item>
</el-form>
</template>
<template slot="dialog-footer">
<el-button
size="small"
type="primary"
@click="handleCancle('clinicalTrials')"
>
{{ $t('common:button:cancel') }}
</el-button>
<el-button
size="small"
type="primary"
@click="handleSave('clinicalTrials')"
>
{{ $t('common:button:save') }}
</el-button>
</template>
</base-model>
<!--GCP证书-->
<base-model :config="model_cfg_certificate">
<template slot="dialog-body">
<el-form
ref="certificateFrom"
v-loading="loading"
:model="certificateForm"
:rules="certificateRules"
label-width="80px"
size="small"
>
<el-form-item
:label="$t('curriculumVitae:clinicalTrials:form:hasCertificate')"
prop="InternationalizationType"
>
<el-radio-group v-model="certificateForm.radio">
<el-radio
v-for="item in hasOrNo"
:key="item.id"
:label="item.value"
>{{ item.label }}</el-radio
>
</el-radio-group>
</el-form-item>
<el-form-item
:label="$t('curriculumVitae:clinicalTrials:form:CertificateTime')"
prop="InternationalizationType"
>
<el-date-picker
v-model="certificateForm.time"
type="date"
placeholder=""
>
</el-date-picker>
</el-form-item>
<el-form-item
:label="
$t('curriculumVitae:clinicalTrials:form:certificateHospital')
"
prop="InternationalizationType"
>
<el-input clearable></el-input>
</el-form-item>
<el-form-item
:label="$t('curriculumVitae:clinicalTrials:form:attachments')"
prop="InternationalizationType"
>
<div class="upload-container">
<el-upload
class="upload-demo"
action
accept=".xls,.xlsx,.doc,.docx"
:before-upload="beforeUpload"
:http-request="handleUploadFile"
:on-preview="handlePreview"
:on-remove="handleRemoveFile"
:show-file-list="true"
:file-list="fileList"
:limit="1"
:on-exceed="handleExceed"
>
<el-button size="small" type="primary" :loading="btnLoading">
{{ $t('common:button:upload') }}
</el-button>
<span
slot="tip"
style="margin-left: 10px"
class="el-upload__tip"
>
(must be in xlsx/xls/doc/docx format)
</span>
</el-upload>
</div>
</el-form-item>
</el-form>
</template>
<template slot="dialog-footer">
<el-button
size="small"
type="primary"
@click="handleCancle('certificate')"
>
{{ $t('common:button:cancel') }}
</el-button>
<el-button
size="small"
type="primary"
@click="handleSave('certificate')"
>
{{ $t('common:button:save') }}
</el-button>
</template>
</base-model>
<!--其他相关经历-->
<base-model :config="model_cfg_other">
<template slot="dialog-body">
<el-form
ref="certificateFrom"
v-loading="loading"
:model="otherForm"
:rules="otherRules"
label-width="80px"
size="small"
>
<el-form-item
:label="$t('curriculumVitae:clinicalTrials:form:other')"
prop="InternationalizationType"
>
<el-input
clearable
type="textarea"
:rows="2"
style="margin-bottom: 20px"
:placeholder="
$t('curriculumVitae:clinicalTrials:placeholder:other')
"
></el-input>
<el-input
clearable
type="textarea"
:rows="2"
:placeholder="
$t('curriculumVitae:clinicalTrials:placeholder:otherEN')
"
></el-input>
</el-form-item>
</el-form>
</template>
<template slot="dialog-footer">
<el-button size="small" type="primary" @click="handleCancle('other')">
{{ $t('common:button:cancel') }}
</el-button>
<el-button size="small" type="primary" @click="handleSave('other')">
{{ $t('common:button:save') }}
</el-button>
</template>
</base-model>
</div>
</template>
<script>
import BaseModel from '@/components/BaseModel'
export default {
name: 'clinicalTrials',
components: { BaseModel },
data() {
return {
tableData: [],
model_cfg_clinicalTrials: {
visible: false,
showClose: true,
width: '600px',
title: this.$t('curriculumVitae:clinicalTrials:form:title'),
appendToBody: true,
},
form: {},
rules: {},
loading: false,
daterange: [],
GCPData: [
{
has: false,
time: '2023.06',
adress: 'xxxx医院',
},
],
certificateForm: {},
certificateRules: {},
fileList: [],
btnLoading: false,
model_cfg_certificate: {
visible: false,
showClose: true,
width: '600px',
title: this.$t('curriculumVitae:clinicalTrials:form:certificateTitle'),
appendToBody: true,
},
otherForm: {},
otherRules: {},
model_cfg_other: {
visible: false,
showClose: true,
width: '600px',
title: this.$t('curriculumVitae:clinicalTrials:form:otherTitle'),
appendToBody: true,
},
}
},
methods: {
openEdit(row, key) {
this[`model_cfg_${key}`].visible = true
},
handleCancle(key) {
this[`model_cfg_${key}`].visible = false
},
handleSave(key) {
this[`model_cfg_${key}`].visible = false
},
beforeUpload(file) {},
async handleUploadFile(param) {},
handleRemoveFile() {
this.fileList = []
this.form.Path = ''
this.form.NameCN = ''
this.form.Name = ''
},
handlePreview(file) {},
handleExceed(files, fileList) {
this.$message.warning(`Upload is currently limited to 1 file`)
},
checkFileSuffix(fileName) {},
},
}
</script>
<style lang="scss" scoped>
.clinicalTrials {
min-height: 100px;
.title {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 10px;
}
.message {
margin: auto;
min-height: 100px;
background-color: #eee;
padding: 10px;
line-height: 30px;
border-radius: 5px;
}
}
.el-select,
.el-date-editor {
width: 100%;
}
</style>

View File

@ -0,0 +1,213 @@
<template>
<div class="continuingTraining">
<div class="title">
<span>{{ $t('curriculumVitae:continuingTraining:title') }}</span>
<el-button type="text" class="editBtn" @click.stop="openEdit">
{{ $t('common:button:add') }}
</el-button>
</div>
<el-table
:data="tableData"
style="width: 100%"
:header-cell-style="{ background: '#eee', color: '#606266' }"
>
<el-table-column
prop="date"
:label="$t('curriculumVitae:continuingTraining:table:time')"
>
</el-table-column>
<el-table-column
prop="date"
:label="$t('curriculumVitae:continuingTraining:table:type')"
>
</el-table-column>
<el-table-column
prop="date"
:label="$t('curriculumVitae:continuingTraining:table:direction')"
>
</el-table-column>
<el-table-column
prop="date"
:label="$t('curriculumVitae:continuingTraining:table:school')"
>
</el-table-column>
<el-table-column
prop="date"
:label="$t('curriculumVitae:continuingTraining:table:city')"
>
</el-table-column>
<el-table-column prop="date" :label="$t('common:action:action')">
<template slot-scope="scope">
<el-button type="text" class="editBtn" @click.stop="openEdit(scope)">
{{ $t('common:button:edit') }}
</el-button>
<el-button type="text" class="editBtn" @click.stop="openEdit">
{{ $t('common:button:delete') }}
</el-button>
</template>
</el-table-column>
</el-table>
<base-model :config="model_cfg">
<template slot="dialog-body">
<el-form
ref="continuingTrainingFrom"
v-loading="loading"
:model="form"
:rules="rules"
label-width="80px"
size="small"
>
<el-form-item
:label="$t('curriculumVitae:continuingTraining:form:time')"
prop="InternationalizationType"
>
<el-date-picker
clearable
v-model="daterange"
type="daterange"
:range-separator="$t('curriculumVitae:daterange:rangeSeparator')"
:start-placeholder="$t('curriculumVitae:daterange:startTime')"
:end-placeholder="$t('curriculumVitae:daterange:endTime')"
>
</el-date-picker>
</el-form-item>
<el-form-item
:label="$t('curriculumVitae:continuingTraining:form:type')"
prop="InternationalizationType"
>
<el-select v-model="form.Sex" clearable placeholder="">
<el-option
v-for="item in $d.sex"
:key="item.id"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item
:label="$t('curriculumVitae:continuingTraining:form:direction')"
prop="InternationalizationType"
>
<el-row>
<el-col :span="12" style="margin-right: 5px">
<el-input
clearable
:placeholder="
$t(
'curriculumVitae:continuingTraining:placeholder:direction'
)
"
></el-input>
</el-col>
<el-col :span="11">
<el-input
clearable
:placeholder="
$t(
'curriculumVitae:continuingTraining:placeholder:directionEN'
)
"
></el-input>
</el-col>
</el-row>
</el-form-item>
<el-form-item
:label="$t('curriculumVitae:continuingTraining:form:school')"
prop="InternationalizationType"
>
<el-row>
<el-col :span="12" style="margin-right: 5px">
<el-input
clearable
:placeholder="
$t('curriculumVitae:continuingTraining:placeholder:school')
"
></el-input>
</el-col>
<el-col :span="11">
<el-input
clearable
:placeholder="
$t(
'curriculumVitae:continuingTraining:placeholder:schoolEN'
)
"
></el-input>
</el-col>
</el-row>
</el-form-item>
<el-form-item
:label="$t('curriculumVitae:continuingTraining:form:city')"
prop="InternationalizationType"
>
<el-select v-model="form.Sex" clearable placeholder="">
<el-option
v-for="item in $d.sex"
:key="item.id"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-form>
</template>
<template slot="dialog-footer">
<el-button size="small" type="primary" @click="handleCancle">
{{ $t('common:button:cancel') }}
</el-button>
<el-button size="small" type="primary" @click="handleSave">
{{ $t('common:button:save') }}
</el-button>
</template>
</base-model>
</div>
</template>
<script>
import BaseModel from '@/components/BaseModel'
export default {
name: 'continuingTraining',
components: { BaseModel },
data() {
return {
tableData: [],
model_cfg: {
visible: false,
showClose: true,
width: '600px',
title: this.$t('curriculumVitae:continuingTraining:form:title'),
appendToBody: true,
},
form: {},
rules: {},
loading: false,
daterange: [],
}
},
methods: {
openEdit() {
this.model_cfg.visible = true
},
handleCancle() {
this.model_cfg.visible = false
},
handleSave() {
this.model_cfg.visible = false
},
},
}
</script>
<style lang="scss" scoped>
.continuingTraining {
min-height: 100px;
.title {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 10px;
}
}
.el-select,
.el-date-editor {
width: 97%;
}
</style>

View File

@ -0,0 +1,217 @@
<template>
<div class="EducationalExperience">
<div class="title">
<span>{{ $t('curriculumVitae:EducationalExperience:title') }}</span>
<el-button type="text" class="editBtn" @click.stop="openEdit">
{{ $t('common:button:add') }}
</el-button>
</div>
<el-table
:data="tableData"
style="width: 100%"
:header-cell-style="{ background: '#eee', color: '#606266' }"
>
<el-table-column
prop="date"
:label="$t('curriculumVitae:EducationalExperience:table:time')"
>
</el-table-column>
<el-table-column
prop="date"
:label="$t('curriculumVitae:EducationalExperience:table:specialy')"
>
</el-table-column>
<el-table-column
prop="date"
:label="$t('curriculumVitae:EducationalExperience:table:degree')"
>
</el-table-column>
<el-table-column
prop="date"
:label="$t('curriculumVitae:EducationalExperience:table:school')"
>
</el-table-column>
<el-table-column
prop="date"
:label="$t('curriculumVitae:EducationalExperience:table:city')"
>
</el-table-column>
<el-table-column prop="date" :label="$t('common:action:action')">
<template slot-scope="scope">
<el-button type="text" class="editBtn" @click.stop="openEdit(scope)">
{{ $t('common:button:edit') }}
</el-button>
<el-button type="text" class="editBtn" @click.stop="openEdit">
{{ $t('common:button:delete') }}
</el-button>
</template>
</el-table-column>
</el-table>
<base-model :config="model_cfg">
<template slot="dialog-body">
<el-form
ref="EducationalExperienceFrom"
v-loading="loading"
:model="form"
:rules="rules"
label-width="80px"
size="small"
>
<el-form-item
:label="$t('curriculumVitae:EducationalExperience:form:time')"
prop="InternationalizationType"
>
<el-date-picker
clearable
v-model="daterange"
type="daterange"
:range-separator="$t('curriculumVitae:daterange:rangeSeparator')"
:start-placeholder="$t('curriculumVitae:daterange:startTime')"
:end-placeholder="$t('curriculumVitae:daterange:endTime')"
>
</el-date-picker>
</el-form-item>
<el-form-item
:label="$t('curriculumVitae:EducationalExperience:form:specialy')"
prop="InternationalizationType"
>
<el-row>
<el-col :span="12" style="margin-right: 5px">
<el-input
clearable
:placeholder="
$t(
'curriculumVitae:EducationalExperience:placeholder:specialy'
)
"
></el-input>
</el-col>
<el-col :span="11">
<el-input
clearable
:placeholder="
$t(
'curriculumVitae:EducationalExperience:placeholder:specialyEN'
)
"
></el-input>
</el-col>
</el-row>
</el-form-item>
<el-form-item
:label="$t('curriculumVitae:EducationalExperience:form:degree')"
prop="InternationalizationType"
>
<el-select v-model="form.Sex" clearable placeholder="">
<el-option
v-for="item in $d.sex"
:key="item.id"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item
:label="$t('curriculumVitae:EducationalExperience:form:school')"
prop="InternationalizationType"
>
<el-row>
<el-col :span="12" style="margin-right: 5px">
<el-input
clearable
:placeholder="
$t(
'curriculumVitae:EducationalExperience:placeholder:school'
)
"
></el-input>
</el-col>
<el-col :span="11">
<el-input
clearable
:placeholder="
$t(
'curriculumVitae:EducationalExperience:placeholder:schoolEN'
)
"
></el-input>
</el-col>
</el-row>
</el-form-item>
<el-form-item
:label="$t('curriculumVitae:EducationalExperience:form:city')"
prop="InternationalizationType"
>
<el-select v-model="form.Sex" clearable placeholder="">
<el-option
v-for="item in $d.sex"
:key="item.id"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-form>
</template>
<template slot="dialog-footer">
<el-button size="small" type="primary" @click="handleCancle">
{{ $t('common:button:cancel') }}
</el-button>
<el-button size="small" type="primary" @click="handleSave">
{{ $t('common:button:save') }}
</el-button>
</template>
</base-model>
</div>
</template>
<script>
import BaseModel from '@/components/BaseModel'
export default {
name: 'EducationalExperience',
components: { BaseModel },
data() {
return {
tableData: [],
model_cfg: {
visible: false,
showClose: true,
width: '600px',
title: this.$t('curriculumVitae:EducationalExperience:form:title'),
appendToBody: true,
},
form: {},
rules: {},
loading: false,
daterange: [],
}
},
methods: {
openEdit() {
this.model_cfg.visible = true
},
handleCancle() {
this.model_cfg.visible = false
},
handleSave() {
this.model_cfg.visible = false
},
},
}
</script>
<style lang="scss" scoped>
.EducationalExperience {
min-height: 100px;
.title {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 10px;
}
}
.el-select,
.el-date-editor {
width: 97%;
}
</style>

View File

@ -1,10 +1,315 @@
<template> <template>
<div class="info"></div> <div class="info">
<el-button type="text" class="editBtn" @click.stop="openEdit">
{{ $t('common:button:edit') }}
</el-button>
<template v-if="true">
<div class="userInfo">
<span>张三</span>
<span>医学博士</span>
<span>广州医院</span>
<span>社会兼职中华医学会XXXXXX</span>
</div>
<div class="userTitle">
<span class="el-icon-first-aid-kit">放射科</span>
<span class="el-icon-user">主任</span>
<span class="el-icon-medal">副主任医师</span>
<span class="el-icon-trophy">副教授</span>
</div>
<div class="userTel">
<span class="el-icon-phone-outline">18616815282</span>
<span class="el-icon-message">sicauzhangye@sina.com</span>
<span class="el-icon-chat-dot-round">wechat666</span>
</div>
</template>
<div class="noData" v-else>{{ $t('curriculumVitae:noData') }}</div>
<base-model :config="model_cfg">
<template slot="dialog-body">
<el-form
ref="infoFrom"
v-loading="loading"
:model="form"
:rules="rules"
label-width="80px"
size="small"
>
<el-row>
<el-col :span="12">
<el-form-item
:label="$t('curriculumVitae:info:form:surname')"
prop="InternationalizationType"
>
<el-input v-model="form.surname" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
:label="$t('curriculumVitae:info:form:name')"
prop="InternationalizationType"
>
<el-input clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
:label="$t('curriculumVitae:info:form:userNameCN')"
prop="InternationalizationType"
>
<el-input clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
:label="$t('curriculumVitae:info:form:sex')"
prop="InternationalizationType"
>
<el-select v-model="form.Sex" clearable placeholder="">
<el-option
v-for="item in $d.sex"
:key="item.id"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
:label="$t('curriculumVitae:info:form:education')"
prop="InternationalizationType"
>
<el-select v-model="form.Sex" clearable placeholder="">
<el-option
v-for="item in $d.sex"
:key="item.id"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
:label="$t('curriculumVitae:info:form:phone')"
prop="InternationalizationType"
>
<el-input clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
:label="$t('curriculumVitae:info:form:email')"
prop="InternationalizationType"
>
<el-input clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
:label="$t('curriculumVitae:info:form:wechat')"
prop="InternationalizationType"
>
<el-input clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
:label="$t('curriculumVitae:info:form:payType')"
prop="InternationalizationType"
>
<el-select v-model="form.Sex" clearable placeholder="">
<el-option
v-for="item in $d.sex"
:key="item.id"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-form-item
:label="$t('curriculumVitae:info:form:hospital')"
prop="InternationalizationType"
>
<el-select v-model="form.Sex" clearable placeholder="">
<el-option
v-for="item in $d.sex"
:key="item.id"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item
:label="$t('curriculumVitae:info:form:department')"
prop="InternationalizationType"
>
<el-select v-model="form.Sex" clearable placeholder="">
<el-option
v-for="item in $d.sex"
:key="item.id"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item
:label="$t('curriculumVitae:info:form:rank')"
prop="InternationalizationType"
>
<el-select v-model="form.Sex" clearable placeholder="">
<el-option
v-for="item in $d.sex"
:key="item.id"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item
:label="$t('curriculumVitae:info:form:physician')"
prop="InternationalizationType"
>
<el-select v-model="form.Sex" clearable placeholder="">
<el-option
v-for="item in $d.sex"
:key="item.id"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item
:label="$t('curriculumVitae:info:form:position')"
prop="InternationalizationType"
>
<el-select v-model="form.Sex" clearable placeholder="">
<el-option
v-for="item in $d.sex"
:key="item.id"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item
:label="$t('curriculumVitae:info:form:partTimeJob')"
prop="InternationalizationType"
>
<el-input
:placeholder="
$t('curriculumVitae:info:form:placeholder:partTimeJob')
"
type="textarea"
:rows="2"
clearable
></el-input>
</el-form-item>
<el-form-item prop="InternationalizationType">
<el-input
:placeholder="
$t('curriculumVitae:info:form:placeholder:partTimeJobEN')
"
type="textarea"
:rows="2"
clearable
></el-input>
</el-form-item>
</el-form>
</template>
<template slot="dialog-footer">
<el-button size="small" type="primary" @click="handleCancle">
{{ $t('common:button:cancel') }}
</el-button>
<el-button size="small" type="primary" @click="handleSave">
{{ $t('common:button:save') }}
</el-button>
</template>
</base-model>
</div>
</template> </template>
<script> <script>
import BaseModel from '@/components/BaseModel'
export default { export default {
name: 'info', name: 'info',
components: { BaseModel },
data() {
return {
model_cfg: {
visible: false,
showClose: true,
width: '600px',
title: this.$t('curriculumVitae:info:form:title'),
appendToBody: true,
},
form: {},
rules: {},
loading: false,
}
},
methods: {
openEdit() {
this.model_cfg.visible = true
},
handleCancle() {
this.model_cfg.visible = false
},
handleSave() {
this.model_cfg.visible = false
},
},
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.info {
position: relative;
min-height: 100px;
.editBtn {
position: absolute;
right: 0;
top: 0px;
}
.userInfo,
.userTitle,
.userTel {
line-height: 30px;
margin-bottom: 15px;
span {
margin-right: 20px;
&:last-child {
margin: 0;
}
}
&:last-child {
margin-bottom: 0;
}
}
.userTitle,
.userTel {
span {
display: inline-block;
min-width: 80px;
border-right: 1px solid #ddd;
padding-right: 10px;
&::before {
margin-right: 5px;
}
&:last-child {
border: none;
}
}
}
}
.el-select {
width: 100%;
}
</style> </style>

View File

@ -0,0 +1,108 @@
<template>
<div class="other">
<div class="title">
<span>{{ $t('curriculumVitae:other:title') }}</span>
<el-button type="text" class="editBtn" @click.stop="openEdit">
{{ $t('common:button:edit') }}
</el-button>
</div>
<div class="message">
<div>{{ $t('curriculumVitae:other:AH') }}</div>
<p>a诺夫卡刷积分八九十快点把手里的v八路军那是的健康蓝色的艰苦拉萨的</p>
</div>
<base-model :config="model_cfg">
<template slot="dialog-body">
<el-form
ref="continuingTrainingFrom"
v-loading="loading"
:model="form"
:rules="rules"
label-width="80px"
size="small"
>
<el-form-item
:label="$t('curriculumVitae:other:form:AH')"
prop="InternationalizationType"
>
<el-input
clearable
style="margin-bottom: 10px"
type="textarea"
:rows="2"
:placeholder="$t('curriculumVitae:other:placeholder:AH')"
></el-input>
<el-input
clearable
type="textarea"
:rows="2"
:placeholder="$t('curriculumVitae:other:placeholder:AHEN')"
></el-input>
</el-form-item>
</el-form>
</template>
<template slot="dialog-footer">
<el-button size="small" type="primary" @click="handleCancle">
{{ $t('common:button:cancel') }}
</el-button>
<el-button size="small" type="primary" @click="handleSave">
{{ $t('common:button:save') }}
</el-button>
</template>
</base-model>
</div>
</template>
<script>
import BaseModel from '@/components/BaseModel'
export default {
name: 'scientificResearchProject',
components: { BaseModel },
data() {
return {
model_cfg: {
visible: false,
showClose: true,
width: '600px',
title: this.$t('curriculumVitae:scientificResearchProject:form:title'),
appendToBody: true,
},
form: {},
rules: {},
loading: false,
}
},
methods: {
openEdit() {
this.model_cfg.visible = true
},
handleCancle() {
this.model_cfg.visible = false
},
handleSave() {
this.model_cfg.visible = false
},
},
}
</script>
<style lang="scss" scoped>
.other {
min-height: 100px;
.title {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 10px;
}
.message {
margin: auto;
min-height: 100px;
background-color: #eee;
padding: 10px;
line-height: 30px;
border-radius: 5px;
}
}
.el-select,
.el-date-editor {
width: 97%;
}
</style>

View File

@ -0,0 +1,152 @@
<template>
<div class="scientificResearchProject">
<div class="title">
<span>{{ $t('curriculumVitae:scientificResearchProject:title') }}</span>
<el-button type="text" class="editBtn" @click.stop="openEdit">
{{ $t('common:button:edit') }}
</el-button>
</div>
<div class="message">
<el-form class="demo-form-inline">
<el-form-item
:label="$t('curriculumVitae:scientificResearchProject:direction')"
>
<div>direction</div>
</el-form-item>
<el-form-item
:label="$t('curriculumVitae:scientificResearchProject:subject')"
>
<div>subject</div>
</el-form-item>
</el-form>
</div>
<base-model :config="model_cfg">
<template slot="dialog-body">
<el-form
ref="continuingTrainingFrom"
v-loading="loading"
:model="form"
:rules="rules"
label-width="80px"
size="small"
>
<el-form-item
:label="
$t('curriculumVitae:scientificResearchProject:form:direction')
"
prop="InternationalizationType"
>
<el-input
clearable
style="margin-bottom: 10px"
:placeholder="
$t(
'curriculumVitae:scientificResearchProject:placeholder:direction'
)
"
></el-input>
<el-input
clearable
:placeholder="
$t(
'curriculumVitae:scientificResearchProject:placeholder:directionEN'
)
"
></el-input>
</el-form-item>
<el-form-item
:label="
$t('curriculumVitae:scientificResearchProject:form:subject')
"
prop="InternationalizationType"
>
<el-input
clearable
style="margin-bottom: 10px"
type="textarea"
:rows="2"
:placeholder="
$t(
'curriculumVitae:scientificResearchProject:placeholder:subject'
)
"
></el-input>
<el-input
clearable
type="textarea"
:rows="2"
:placeholder="
$t(
'curriculumVitae:scientificResearchProject:placeholder:subjectEN'
)
"
></el-input>
</el-form-item>
</el-form>
</template>
<template slot="dialog-footer">
<el-button size="small" type="primary" @click="handleCancle">
{{ $t('common:button:cancel') }}
</el-button>
<el-button size="small" type="primary" @click="handleSave">
{{ $t('common:button:save') }}
</el-button>
</template>
</base-model>
</div>
</template>
<script>
import BaseModel from '@/components/BaseModel'
export default {
name: 'scientificResearchProject',
components: { BaseModel },
data() {
return {
model_cfg: {
visible: false,
showClose: true,
width: '600px',
title: this.$t('curriculumVitae:scientificResearchProject:form:title'),
appendToBody: true,
},
form: {},
rules: {},
loading: false,
}
},
methods: {
openEdit() {
this.model_cfg.visible = true
},
handleCancle() {
this.model_cfg.visible = false
},
handleSave() {
this.model_cfg.visible = false
},
},
}
</script>
<style lang="scss" scoped>
.scientificResearchProject {
min-height: 100px;
.title {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 10px;
}
.message {
margin: auto;
min-height: 100px;
background-color: #eee;
padding: 10px;
line-height: 30px;
border-radius: 5px;
}
}
.el-select,
.el-date-editor {
width: 97%;
}
</style>

View File

@ -0,0 +1,138 @@
<template>
<div class="specialty">
<el-button type="text" class="editBtn" @click.stop="openEdit">
{{ $t('common:button:edit') }}
</el-button>
<template v-if="true">
<el-form class="demo-form-inline">
<el-form-item :label="$t('curriculumVitae:specialty:specialty')">
<span>放射科</span>
</el-form-item>
<el-form-item :label="$t('curriculumVitae:specialty:submajor')">
<el-tag type="info" v-for="item in ['1', '2', '3']" :key="item">
标签三
</el-tag>
</el-form-item>
<el-form-item :label="$t('curriculumVitae:specialty:equipment')">
<el-tag type="info" v-for="item in ['1', '2', '3']" :key="item">
标签三
</el-tag>
</el-form-item>
</el-form>
</template>
<div class="noData" v-else>{{ $t('curriculumVitae:noData') }}</div>
<base-model :config="model_cfg">
<template slot="dialog-body">
<el-form
ref="specialtyFrom"
v-loading="loading"
:model="form"
:rules="rules"
label-width="170px"
size="small"
>
<el-form-item
:label="$t('curriculumVitae:specialty:form:specialty')"
prop="InternationalizationType"
>
<el-select v-model="form.Sex" clearable placeholder="">
<el-option
v-for="item in $d.sex"
:key="item.id"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item
:label="$t('curriculumVitae:specialty:form:submajor')"
prop="InternationalizationType"
>
<el-select v-model="form.Sex" clearable placeholder="">
<el-option
v-for="item in $d.sex"
:key="item.id"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item
:label="$t('curriculumVitae:specialty:form:equipment')"
prop="InternationalizationType"
>
<el-select v-model="form.Sex" clearable placeholder="">
<el-option
v-for="item in $d.sex"
:key="item.id"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-form>
</template>
<template slot="dialog-footer">
<el-button size="small" type="primary" @click="handleCancle">
{{ $t('common:button:cancel') }}
</el-button>
<el-button size="small" type="primary" @click="handleSave">
{{ $t('common:button:save') }}
</el-button>
</template>
</base-model>
</div>
</template>
<script>
import BaseModel from '@/components/BaseModel'
export default {
name: 'specialty',
components: { BaseModel },
data() {
return {
model_cfg: {
visible: false,
showClose: true,
width: '600px',
title: this.$t('curriculumVitae:specialty:form:title'),
appendToBody: true,
},
form: {},
rules: {},
loading: false,
}
},
methods: {
openEdit() {
this.model_cfg.visible = true
},
handleCancle() {
this.model_cfg.visible = false
},
handleSave() {
this.model_cfg.visible = false
},
},
}
</script>
<style lang="scss" scoped>
.specialty {
position: relative;
min-height: 100px;
.editBtn {
position: absolute;
right: 0;
top: 0px;
z-index: 99;
}
}
::v-deep .el-tag {
margin-right: 10px;
&:last-child {
margin-right: 0;
}
}
.el-select {
width: 100%;
}
</style>

View File

@ -0,0 +1,109 @@
<template>
<div class="summarize">
<div class="title">
<span>{{ $t('curriculumVitae:summarize:title') }}</span>
<el-button type="text" class="editBtn" @click.stop="openEdit">
{{ $t('common:button:edit') }}
</el-button>
</div>
<template v-if="true">
<div class="message"></div>
</template>
<div class="noData" v-else>{{ $t('curriculumVitae:noData') }}</div>
<base-model :config="model_cfg">
<template slot="dialog-body">
<el-form
ref="summarizeFrom"
v-loading="loading"
:model="form"
:rules="rules"
label-width="80px"
size="small"
>
<el-form-item
:label="$t('curriculumVitae:summarize:form:summarize')"
prop="InternationalizationType"
>
<el-input
:placeholder="
$t('curriculumVitae:summarize:form:placeholder:summarize')
"
type="textarea"
:rows="2"
clearable
></el-input>
</el-form-item>
<el-form-item prop="InternationalizationType">
<el-input
:placeholder="
$t('curriculumVitae:summarize:form:placeholder:summarizeEN')
"
type="textarea"
:rows="2"
clearable
></el-input>
</el-form-item>
</el-form>
</template>
<template slot="dialog-footer">
<el-button size="small" type="primary" @click="handleCancle">
{{ $t('common:button:cancel') }}
</el-button>
<el-button size="small" type="primary" @click="handleSave">
{{ $t('common:button:save') }}
</el-button>
</template>
</base-model>
</div>
</template>
<script>
import BaseModel from '@/components/BaseModel'
export default {
name: 'summarize',
components: { BaseModel },
data() {
return {
model_cfg: {
visible: false,
showClose: true,
width: '600px',
title: this.$t('curriculumVitae:summarize:form:title'),
appendToBody: true,
},
form: {},
rules: {},
loading: false,
}
},
methods: {
openEdit() {
this.model_cfg.visible = true
},
handleCancle() {
this.model_cfg.visible = false
},
handleSave() {
this.model_cfg.visible = false
},
},
}
</script>
<style lang="scss" scoped>
.summarize {
min-height: 100px;
.title {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 10px;
}
.message {
margin: auto;
min-height: 100px;
background-color: #eee;
padding: 10px;
line-height: 30px;
border-radius: 5px;
}
}
</style>

View File

@ -0,0 +1,130 @@
<template>
<div class="treatise">
<div class="title">
<span>{{ $t('curriculumVitae:treatise:title') }}</span>
<el-button type="text" class="editBtn" @click.stop="openEdit">
{{ $t('common:button:add') }}
</el-button>
</div>
<el-table
:data="tableData"
style="width: 100%"
:header-cell-style="{ background: '#eee', color: '#606266' }"
>
<el-table-column
prop="date"
:label="$t('curriculumVitae:treatise:table:author')"
>
</el-table-column>
<el-table-column
prop="date"
:label="$t('curriculumVitae:treatise:table:name')"
>
</el-table-column>
<el-table-column
prop="date"
:label="$t('curriculumVitae:treatise:table:publish')"
>
</el-table-column>
<el-table-column prop="date" :label="$t('common:action:action')">
<template slot-scope="scope">
<el-button type="text" class="editBtn" @click.stop="openEdit(scope)">
{{ $t('common:button:edit') }}
</el-button>
<el-button type="text" class="editBtn" @click.stop="openEdit">
{{ $t('common:button:delete') }}
</el-button>
</template>
</el-table-column>
</el-table>
<base-model :config="model_cfg">
<template slot="dialog-body">
<el-form
ref="treatiseFrom"
v-loading="loading"
:model="form"
:rules="rules"
label-width="80px"
size="small"
>
<el-form-item
:label="$t('curriculumVitae:treatise:form:author')"
prop="InternationalizationType"
>
<el-input clearable></el-input>
</el-form-item>
<el-form-item
:label="$t('curriculumVitae:treatise:form:name')"
prop="InternationalizationType"
>
<el-input clearable type="textarea" :rows="2"></el-input>
</el-form-item>
<el-form-item
:label="$t('curriculumVitae:treatise:form:publish')"
prop="InternationalizationType"
>
<el-input clearable type="textarea" :rows="2"></el-input>
</el-form-item>
</el-form>
</template>
<template slot="dialog-footer">
<el-button size="small" type="primary" @click="handleCancle">
{{ $t('common:button:cancel') }}
</el-button>
<el-button size="small" type="primary" @click="handleSave">
{{ $t('common:button:save') }}
</el-button>
</template>
</base-model>
</div>
</template>
<script>
import BaseModel from '@/components/BaseModel'
export default {
name: 'treatise',
components: { BaseModel },
data() {
return {
tableData: [],
model_cfg: {
visible: false,
showClose: true,
width: '600px',
title: this.$t('curriculumVitae:treatise:form:title'),
appendToBody: true,
},
form: {},
rules: {},
loading: false,
daterange: [],
}
},
methods: {
openEdit() {
this.model_cfg.visible = true
},
handleCancle() {
this.model_cfg.visible = false
},
handleSave() {
this.model_cfg.visible = false
},
},
}
</script>
<style lang="scss" scoped>
.treatise {
min-height: 100px;
.title {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 10px;
}
}
.el-select,
.el-date-editor {
width: 97%;
}
</style>

View File

@ -19,13 +19,13 @@
<el-menu-item index="specialty"> <el-menu-item index="specialty">
{{ $t('curriculumVitae:menu:specialty') }} {{ $t('curriculumVitae:menu:specialty') }}
</el-menu-item> </el-menu-item>
<el-menu-item index="EducationalExperience">{{ <el-menu-item index="educationalExperience">{{
$t('curriculumVitae:menu:EducationalExperience') $t('curriculumVitae:menu:EducationalExperience')
}}</el-menu-item> }}</el-menu-item>
<el-menu-item index="ContinuingTraining">{{ <el-menu-item index="continuingTraining">{{
$t('curriculumVitae:menu:ContinuingTraining') $t('curriculumVitae:menu:ContinuingTraining')
}}</el-menu-item> }}</el-menu-item>
<el-menu-item index="ScientificResearchProject">{{ <el-menu-item index="scientificResearchProject">{{
$t('curriculumVitae:menu:ScientificResearchProject') $t('curriculumVitae:menu:ScientificResearchProject')
}}</el-menu-item> }}</el-menu-item>
<el-menu-item index="clinicalTrials">{{ <el-menu-item index="clinicalTrials">{{
@ -53,9 +53,33 @@
<el-button type="text">{{ $t('common:button:preview') }}</el-button> <el-button type="text">{{ $t('common:button:preview') }}</el-button>
</div> </div>
</div> </div>
<div class="box" id="info" style="height: 100vh">info</div> <div class="box" id="info">
<div class="box" id="summarize" style="height: 100vh">summarize</div> <info />
<div class="box" id="specialty" style="height: 100vh">specialty</div> </div>
<div class="box" id="summarize">
<summarize />
</div>
<div class="box" id="specialty">
<specialty />
</div>
<div class="box" id="educationalExperience">
<educationalExperience />
</div>
<div class="box" id="continuingTraining">
<continuingTraining />
</div>
<div class="box" id="scientificResearchProject">
<scientificResearchProject />
</div>
<div class="box" id="clinicalTrials">
<clinicalTrials />
</div>
<div class="box" id="treatise">
<treatise />
</div>
<div class="box" id="other">
<other />
</div>
</div> </div>
<div class="rightFile"> <div class="rightFile">
<!--简历附件--> <!--简历附件-->
@ -72,8 +96,30 @@
import curriculum from './components/file/curriculum.vue' import curriculum from './components/file/curriculum.vue'
import certificate from './components/file/certificate.vue' import certificate from './components/file/certificate.vue'
import agreement from './components/file/agreement.vue' import agreement from './components/file/agreement.vue'
import info from './components/info/info.vue'
import summarize from './components/info/summarize.vue'
import specialty from './components/info/specialty.vue'
import educationalExperience from './components/info/educationalExperience.vue'
import continuingTraining from './components/info/continuingTraining.vue'
import scientificResearchProject from './components/info/scientificResearchProject.vue'
import clinicalTrials from './components/info/clinicalTrials.vue'
import treatise from './components/info/treatise.vue'
import other from './components/info/other.vue'
export default { export default {
components: { curriculum, certificate, agreement }, components: {
curriculum,
certificate,
agreement,
info,
summarize,
specialty,
educationalExperience,
continuingTraining,
scientificResearchProject,
clinicalTrials,
treatise,
other,
},
data() { data() {
return { return {
activeIndex: 'info', activeIndex: 'info',
@ -173,6 +219,16 @@ export default {
justify-content: space-between; justify-content: space-between;
} }
} }
.box {
border: 1px solid #ddd;
border-radius: 3px;
padding: 15px;
margin-bottom: 20px;
}
::v-deep .noData {
color: #909399;
text-align: center;
}
.rightFile { .rightFile {
width: 300px; width: 300px;
padding-right: 10px; padding-right: 10px;
@ -196,10 +252,7 @@ export default {
justify-content: center; justify-content: center;
margin-bottom: 10px; margin-bottom: 10px;
} }
::v-deep .noData {
color: #909399;
text-align: center;
}
::v-deep .file { ::v-deep .file {
width: 100%; width: 100%;
display: flex; display: flex;