pm简历新增tab
continuous-integration/drone/push Build is passing Details

uat_us
wangxiaoshuang 2024-10-24 11:18:03 +08:00
parent 6c46a58f15
commit a83b094a46
8 changed files with 355 additions and 96 deletions

View File

@ -23,11 +23,12 @@
<el-input style="width: 300px" v-model="form.EmailTopic" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="systemLevel !== 1">
<el-col :span="12">
<el-form-item label="邮件延时发送s数" prop="EmailDelaySeconds">
<el-input
v-model.number="form.EmailDelaySeconds"
style="width: 300px"
type="number"
clearable
>
</el-input>

View File

@ -212,96 +212,41 @@
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>-->
<!-- <el-col :span="14">-->
<!-- <el-form-item label="Physician: " prop="PhysicianId" >-->
<!-- <el-select-->
<!-- v-model="employmentForm.PhysicianId"-->
<!-- placeholder="select"-->
<!-- :disabled="$route.query.ReviewStatus === '1'"-->
<!-- @change="PhysicianChange"-->
<!-- style="width:100%;"-->
<!-- size="small"-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item of $d.PhysicianOriginal"-->
<!-- :key="item.id"-->
<!-- :label="item.raw.Value"-->
<!-- :value="item.id"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="5">-->
<!-- <el-form-item v-if="$fd('PhysicianOriginal', employmentForm.PhysicianId, 'id') === '其它' || $fd('PhysicianOriginal', employmentForm.PhysicianId, 'id') === 'Other'" class="other-item" prop="Physician">-->
<!-- <el-input-->
<!-- :disabled="$route.query.ReviewStatus === '1'"-->
<!-- v-model="employmentForm.Physician"-->
<!-- placeholder="Please specify"-->
<!-- size="small"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="5">-->
<!-- <el-form-item v-if="$fd('PhysicianOriginal', employmentForm.PhysicianId, 'id') === '其它' || $fd('PhysicianOriginal', employmentForm.PhysicianId, 'id') === 'Other'" class="other-item" prop="PhysicianCN">-->
<!-- <el-input-->
<!-- :disabled="$route.query.ReviewStatus === '1'"-->
<!-- v-model="employmentForm.PhysicianCN"-->
<!-- placeholder="请用中文注明"-->
<!-- size="small"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- <el-row>-->
<!-- <el-col :span="14">-->
<!-- <el-form-item label="Position: " prop="PositionId">-->
<!-- <el-select-->
<!-- :disabled="$route.query.ReviewStatus === '1'"-->
<!-- v-model="employmentForm.PositionId"-->
<!-- placeholder="select"-->
<!-- style="width:100%;"-->
<!-- size="small"-->
<!-- >-->
<!-- &lt;!&ndash; <el-option-->
<!-- v-for="(key,value) of dictionaryList.Position"-->
<!-- :key="key"-->
<!-- :label="key"-->
<!-- :value="value"-->
<!-- /> &ndash;&gt;-->
<!-- <el-option-->
<!-- v-for="item of dictionaryList.Position"-->
<!-- :key="item.Id"-->
<!-- :label="item.Value"-->
<!-- :value="item.Id"-->
<!-- />-->
<!-- <el-option label="Other" :value="otherId" />-->
<!-- <el-option label="None" value="f30a074b-2b47-4a92-97ec-e15086d37883" />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="5">-->
<!-- <el-form-item v-if="employmentForm.PositionId===otherId" class="other-item" prop="PositionOther">-->
<!-- <el-input-->
<!-- :disabled="$route.query.ReviewStatus === '1'"-->
<!-- v-model="employmentForm.PositionOther"-->
<!-- placeholder="Please specify"-->
<!-- size="small"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="5">-->
<!-- <el-form-item v-if="employmentForm.PositionId===otherId" class="other-item" prop="PositionOtherCN">-->
<!-- <el-input-->
<!-- :disabled="$route.query.ReviewStatus === '1'"-->
<!-- v-model="employmentForm.PositionOtherCN"-->
<!-- placeholder="请用中文注明"-->
<!-- size="small"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<el-row>
<el-col :span="14">
<el-form-item
:label="$t('system:reviewer:label:WorkPartTime')"
prop="WorkPartTime"
>
<el-input
:disabled="$route.query.ReviewStatus === '1'"
v-model="employmentForm.WorkPartTime"
type="textarea"
:rows="2"
:placeholder="
$t('curriculumVitae:info:form:placeholder:partTimeJob')
"
size="small"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="14">
<el-form-item prop="WorkPartTimeEn">
<el-input
:disabled="$route.query.ReviewStatus === '1'"
v-model="employmentForm.WorkPartTimeEn"
type="textarea"
:rows="2"
:placeholder="
$t('curriculumVitae:info:form:placeholder:partTimeJobEN')
"
size="small"
/>
</el-form-item>
</el-col>
</el-row>
<el-form-item>
<el-button
@ -363,6 +308,8 @@ export default {
Physician: '',
PhysicianCN: '',
PhysicianOriginal: null,
WorkPartTime: null,
WorkPartTimeEn: null,
},
UniversityAffiliated: '',
City: '',
@ -548,7 +495,11 @@ export default {
PositionOther,
PositionOtherCN,
HospitalId,
WorkPartTime,
WorkPartTimeEn,
} = res.Result
this.employmentForm.WorkPartTime = WorkPartTime
this.employmentForm.WorkPartTimeEn = WorkPartTimeEn
this.employmentForm.Id = id
this.employmentForm.DepartmentId =
DepartmentId === this.selectId ? '' : DepartmentId

View File

@ -0,0 +1,136 @@
<template>
<div class="form-container basic-form">
<el-card class="box-card">
<div style="width: 1000px">
<!-- v-loading="loading" -->
<el-form
ref="payForm"
v-loading="loading"
:inline="true"
:rules="rules"
:model="form"
class="demo-ruleForm"
label-width="120px"
size="small"
>
<div>{{ $t('system:reviewer:title:pay') }}</div>
<el-row>
<el-col :span="12">
<el-form-item
:label="$t('system:reviewer:label:BankNum')"
prop="BankNum"
>
<el-input v-model="form.BankNum" clearable size="small" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
:label="$t('system:reviewer:label:BankName')"
prop="BankName"
>
<el-input v-model="form.BankName" clearable size="small" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
:label="$t('system:reviewer:label:OpeningBank')"
prop="OpeningBank"
>
<el-input v-model="form.OpeningBank" clearable size="small" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
:label="$t('system:reviewer:label:IdCard')"
prop="IdCard"
>
<el-input v-model="form.IdCard" clearable size="small" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
:label="$t('system:reviewer:label:BankPhoneNum')"
prop="BankPhoneNum"
>
<el-input v-model="form.BankPhoneNum" clearable size="small" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-form-item style="margin-left: 120px">
<el-button
:disabled="$route.query.ReviewStatus === '1'"
type="primary"
:loading="loading"
size="small"
@click="handleSave"
>
{{ $t('common:button:save') }}</el-button
>
</el-form-item>
</el-row>
</el-form>
</div>
</el-card>
</div>
</template>
<script>
import { getDetail, updatePaymentMode } from '@/api/reviewers'
export default {
data() {
return {
loading: false,
form: {
BankNum: '',
BankName: '',
OpeningBank: '',
IdCard: '',
BankPhoneNum: '',
},
rules: {},
}
},
mounted() {
this.getDetail()
},
methods: {
async handleSave() {
try {
let validate = await this.$refs.payForm.validate()
if (!validate) return false
this.form.Id = this.$route.query.Id || this.reviewerId
this.loading = true
let res = await updatePaymentMode(this.form)
this.loading = false
if (res.IsSuccess) {
}
} catch (err) {
this.loading = false
console.log(err)
}
},
//
async getDetail() {
try {
let id = this.$route.query.Id || this.reviewerId
if (!id) return false
this.loading = true
let res = await getDetail(id)
this.loading = false
if (res.IsSuccess) {
Object.keys(this.form).forEach((key) => {
this.form[key] = res.Result.PaymentModeInfo[key]
})
}
} catch (err) {
this.loading = false
console.log(err)
}
},
},
}
</script>

View File

@ -7,6 +7,7 @@
:model="researchForm"
size="small"
>
<div class="title">{{ $t('system:reviewer:title:Research') }}</div>
<el-form-item :label="$t('system:reviewer:label:Field of Research')">
<el-row type="flex" justify="space-between">
<el-col :span="11">
@ -55,9 +56,10 @@
</el-col>
</el-row>
</el-form-item>
<div class="title">{{ $t('system:reviewer:title:Publications') }}</div>
<el-form-item :label="$t('system:reviewer:label:Publications')">
<el-row type="flex" justify="space-between">
<el-col :span="11">
<el-col :span="24">
<el-input
:disabled="$route.query.ReviewStatus === '1'"
v-model="researchForm.Publications"
@ -67,11 +69,9 @@
size="small"
/>
</el-col>
<el-col :span="11">
<!-- <el-input v-model="researchForm.PublicationsCN" type="textarea" rows="5" placeholder="请用中文注明" size="small" /> -->
</el-col>
</el-row>
</el-form-item>
<div class="title">{{ $t('system:reviewer:title:AH') }}</div>
<el-form-item :label="$t('system:reviewer:label:Awards & Honors')">
<el-row type="flex" justify="space-between">
<el-col :span="11">
@ -184,3 +184,13 @@ export default {
},
}
</script>
<style lang="scss" scoped>
.title {
width: 100%;
background-color: #eee;
line-height: 30px;
padding-left: 10px;
border-radius: 3px;
margin-bottom: 20px;
}
</style>

View File

@ -0,0 +1,132 @@
<template>
<div class="form-container">
<el-card class="box-card">
<div style="width: 80%">
<el-form
ref="summarizeFrom"
v-loading="loading"
:rules="rules"
:model="form"
class="demo-ruleForm"
label-width="150px"
>
<el-row>
<el-col :span="14">
<el-form-item
:label="$t('system:reviewer:label:Summarize')"
prop="Summarize"
>
<el-input
:disabled="$route.query.ReviewStatus === '1'"
v-model="form.Summarize"
type="textarea"
:rows="2"
:placeholder="
$t('curriculumVitae:summarize:form:placeholder:summarize')
"
size="small"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="14">
<el-form-item prop="SummarizeEn">
<el-input
:disabled="$route.query.ReviewStatus === '1'"
v-model="form.SummarizeEn"
type="textarea"
:rows="2"
:placeholder="
$t('curriculumVitae:summarize:form:placeholder:summarizeEN')
"
size="small"
/>
</el-form-item>
</el-col>
</el-row>
<el-form-item>
<el-button
type="primary"
:disabled="$route.query.ReviewStatus === '1'"
size="small"
:loading="loading"
@click="handleSave"
>
{{ $t('common:button:save') }}
</el-button>
</el-form-item>
</el-form>
</div>
</el-card>
</div>
</template>
<script>
import { getDetail, updateGneralSituation } from '@/api/reviewers'
export default {
props: {
reviewerId: {
type: String,
},
},
data() {
return {
loading: false,
form: {
Summarize: null,
SummarizeEn: null,
},
rules: {},
}
},
mounted() {
this.getDetail()
},
methods: {
async handleSave() {
try {
let validate = await this.$refs.summarizeFrom.validate()
if (!validate) return false
this.form.Id = this.$route.query.Id || this.reviewerId
this.loading = true
let res = await updateGneralSituation(this.form)
this.loading = false
if (res.IsSuccess) {
}
} catch (err) {
this.loading = false
console.log(err)
}
},
//
async getDetail() {
try {
let id = this.$route.query.Id || this.reviewerId
if (!id) return false
this.loading = true
let res = await getDetail(id)
this.loading = false
if (res.IsSuccess) {
Object.keys(this.form).forEach((key) => {
this.form[key] = res.Result.SummarizeInfo[key]
})
}
} catch (err) {
this.loading = false
console.log(err)
}
},
},
}
</script>
<style lang="scss" scoped>
.basic-form {
.el-input--small {
width: 220px !important;
}
.el-select--small {
width: 220px !important;
}
}
</style>

View File

@ -284,7 +284,6 @@ export default {
// offsetTop
const offsetTopArr = []
navContents.forEach((item) => {
console.log(item.offsetTop)
offsetTopArr.push(item.offsetTop)
})
// scrollTop

View File

@ -13,6 +13,12 @@
>
<Employment v-if="load.Employment" :reviewerId.sync="reviewerId" />
</el-tab-pane>
<el-tab-pane
:label="$t('system:reviewer:tab:Summarize')"
name="Summarize"
>
<Summarize v-if="load.Summarize" :reviewerId.sync="reviewerId" />
</el-tab-pane>
<el-tab-pane
:label="$t('system:reviewer:tab:Specialty')"
name="Specialty"
@ -61,6 +67,9 @@
>
<Agreements v-if="load.Agreements" :reviewerId.sync="reviewerId" />
</el-tab-pane>
<el-tab-pane :label="$t('system:reviewer:tab:Pay')" name="Pay">
<Pay v-if="load.Pay" :reviewerId.sync="reviewerId" />
</el-tab-pane>
<el-tab-pane :label="$t('system:reviewer:tab:Setting')" name="Setting">
<Setting v-if="load.Setting" :reviewerId.sync="reviewerId" />
</el-tab-pane>
@ -70,6 +79,7 @@
<script>
import BasicInfo from './components/BasicInfo'
import Employment from './components/Employment'
import Summarize from './components/Summarize'
import Specialty from './components/Specialty'
import EducationTraining from './components/EducationTraining'
import ResearchPublication from './components/ResearchPublication'
@ -77,12 +87,14 @@ import TrialExperience from './components/TrialExperience'
import Credentials from './components/Credentials'
import Resumes from './components/Resumes'
import Agreements from './components/Agreements'
import Pay from './components/Pay'
import Setting from './components/Setting'
import { changeURLStatic, getQueryString } from '@/utils/history.js'
export default {
components: {
BasicInfo,
Employment,
Summarize,
Specialty,
EducationTraining,
ResearchPublication,
@ -90,6 +102,7 @@ export default {
Credentials,
Resumes,
Agreements,
Pay,
Setting,
},
props: {
@ -108,6 +121,7 @@ export default {
load: {
BasicInfo: true,
Employment: false,
Summarize: false,
Specialty: false,
EducationTraining: false,
ResearchPublication: false,
@ -115,6 +129,7 @@ export default {
Credentials: false,
Resumes: false,
Agreements: false,
Pay,
Setting: false,
},
}

View File

@ -17,6 +17,12 @@
>
<Employment v-if="load.Employment" :reviewerId.sync="reviewerId" />
</el-tab-pane>
<el-tab-pane
:label="$t('system:reviewer:tab:Summarize')"
name="Summarize"
>
<Summarize v-if="load.Summarize" :reviewerId.sync="reviewerId" />
</el-tab-pane>
<el-tab-pane
:label="$t('system:reviewer:tab:Specialty')"
name="Specialty"
@ -66,6 +72,9 @@
>
<Agreements v-if="load.Agreements" :reviewerId.sync="reviewerId" />
</el-tab-pane>
<el-tab-pane :label="$t('system:reviewer:tab:Pay')" name="Pay">
<Pay v-if="load.Pay" :reviewerId.sync="reviewerId" />
</el-tab-pane>
<el-tab-pane :label="$t('system:reviewer:tab:Setting')" name="Setting">
<Setting v-if="load.Setting" :reviewerId.sync="reviewerId" />
</el-tab-pane>
@ -75,6 +84,7 @@
<script>
import BasicInfo from './components/BasicInfo'
import Employment from './components/Employment'
import Summarize from './components/Summarize'
import Specialty from './components/Specialty'
import EducationTraining from './components/EducationTraining'
import ResearchPublication from './components/ResearchPublication'
@ -82,12 +92,14 @@ import TrialExperience from './components/TrialExperience'
import Credentials from './components/Credentials'
import Resumes from './components/Resumes'
import Agreements from './components/Agreements'
import Pay from './components/Pay'
import Setting from './components/Setting'
import { changeURLStatic, getQueryString } from '@/utils/history.js'
export default {
components: {
BasicInfo,
Employment,
Summarize,
Specialty,
EducationTraining,
ResearchPublication,
@ -95,6 +107,7 @@ export default {
Credentials,
Resumes,
Agreements,
Pay,
Setting,
},
props: {
@ -109,6 +122,7 @@ export default {
load: {
BasicInfo: true,
Employment: false,
Summarize: false,
Specialty: false,
EducationTraining: false,
ResearchPublication: false,
@ -116,6 +130,7 @@ export default {
Credentials: false,
Resumes: false,
Agreements: false,
Pay,
Setting: false,
},
reviewerId: null,