简历设置更改为菜单、预览部分title无数据显示暂无
continuous-integration/drone/push Build is passing Details

uat_us
wangxiaoshuang 2024-11-25 11:48:14 +08:00
parent ac33e9268d
commit 12e93fbd15
3 changed files with 290 additions and 166 deletions

View File

@ -1,144 +1,238 @@
<template> <template>
<el-dialog <div class="setting">
:title="$t('system:Setting:title:Blinded Setting')" <div class="title">
:visible.sync="visible" <span>{{ $t('curriculumVitae:setting:title') }}</span>
width="50%" <el-button
:close-on-click-modal="false" type="text"
:before-close="closeDialog" class="editBtn"
top="8vh" :disabled="!reviewerId"
append-to-body @click.stop="openEdit"
>
<div class="base-modal-body">
<el-form
ref="settingFrom"
v-loading="loading"
:model="form"
:rules="rules"
label-width="120px"
size="small"
> >
<div class="form_title"> {{ $t('common:button:edit') }}
{{ $t('system:Setting:title:Blinded information') }} </el-button>
</div> </div>
<el-row> <div class="message">
<el-col :span="12"> <el-form :inline="true" class="demo-form-inline">
<el-form-item
:label="$t('system:Setting:label:Blind Name')"
prop="BlindName"
>
<el-input
v-model="form.BlindName"
clearable
:maxlength="400"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
:label="$t('system:Setting:label:Blind NameCN')"
prop="BlindNameCN"
>
<el-input
v-model="form.BlindNameCN"
clearable
:maxlength="400"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item <el-form-item
:label="$t('system:Setting:label:Blind Publications')" :label="$t('system:Setting:label:Blind Name')"
prop="BlindPublications" style="width: 45%"
> >
<el-input {{ DATA.BlindName }}
v-model="form.BlindPublications"
type="textarea"
rows="8"
size="small"
:maxlength="4000"
/>
</el-form-item> </el-form-item>
<div class="form_title"> <el-form-item
{{ $t('system:Setting:title:Blinded Setting') }} :label="$t('system:Setting:label:Blind NameCN')"
style="width: 45%"
>
{{ DATA.BlindNameCN }}
</el-form-item>
<div style="display: flex; font-size: 14px; margin-bottom: 22px">
<span style="display: inline-block; width: 120px; color: #606266">{{
$t('system:Setting:label:Blind Publications')
}}</span>
<span
class="break-word"
style="white-space: pre-wrap; width: calc(100% - 120px)"
v-html="DATA.BlindPublications"
></span>
</div> </div>
<el-form-item <el-form-item
:label="$t('system:Setting:label:Information Confirmed?')" :label="$t('system:Setting:label:Information Confirmed?')"
style="width: 24%"
> >
<el-radio-group v-model="form.ReviewStatus" @change="handleChange"> {{
<el-radio :label="1">{{ DATA.ReviewStatus === 1
$t('system:Setting:label:Information Confirmed?:Yes') ? $t('system:Setting:label:Information Confirmed?:Yes')
}}</el-radio> : $t('system:Setting:label:Information Confirmed?:No')
<el-radio :label="2">{{ }}
$t('system:Setting:label:Information Confirmed?:No')
}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item :label="$t('system:Setting:label:Contractor Status?')">
<el-radio-group v-model="form.CooperateStatus" @change="handleChange">
<el-radio :label="1">{{
$t('system:Setting:label:Information Confirmed?:Yes')
}}</el-radio>
<el-radio :label="2">{{
$t('system:Setting:label:Information Confirmed?:No')
}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item :label="$t('system:Setting:label:Accepting New Trials?')">
<el-radio-group
v-model="form.AcceptingNewTrial"
:disabled="radioDisabled"
>
<el-radio :label="true">{{
$t('system:Setting:label:Information Confirmed?:Yes')
}}</el-radio>
<el-radio :label="false">{{
$t('system:Setting:label:Information Confirmed?:No')
}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item :label="$t('system:Setting:label:Actively Reading?')">
<el-radio-group
v-model="form.ActivelyReading"
:disabled="radioDisabled"
>
<el-radio :label="true">{{
$t('system:Setting:label:Information Confirmed?:Yes')
}}</el-radio>
<el-radio :label="false">{{
$t('system:Setting:label:Information Confirmed?:No')
}}</el-radio>
</el-radio-group>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
:label="$t('system:Setting:label:Comment:')" :label="$t('system:Setting:label:Contractor Status?')"
prop="AdminComment" style="width: 24%"
> >
<el-input {{
v-model="form.AdminComment" DATA.CooperateStatus === 1
type="textarea" ? $t('system:Setting:label:Information Confirmed?:Yes')
rows="8" : $t('system:Setting:label:Information Confirmed?:No')
:maxlength="4000" }}
/>
</el-form-item> </el-form-item>
<el-form-item
:label="$t('system:Setting:label:Accepting New Trials?')"
style="width: 24%"
>
{{
DATA.AcceptingNewTrial
? $t('system:Setting:label:Information Confirmed?:Yes')
: $t('system:Setting:label:Information Confirmed?:No')
}}
</el-form-item>
<el-form-item
:label="$t('system:Setting:label:Actively Reading?')"
style="width: 24%"
>
{{
DATA.ActivelyReading
? $t('system:Setting:label:Information Confirmed?:Yes')
: $t('system:Setting:label:Information Confirmed?:No')
}}
</el-form-item>
<div style="display: flex; font-size: 14px; margin-bottom: 22px">
<span style="display: inline-block; width: 80px; color: #606266">{{
$t('system:Setting:label:Comment:')
}}</span>
<span
class="break-word"
style="white-space: pre-wrap; width: calc(100% - 80px)"
v-html="DATA.AdminComment"
></span>
</div>
</el-form> </el-form>
</div> </div>
<el-dialog
:title="$t('system:Setting:title:Blinded Setting')"
:visible.sync="visible"
width="50%"
:close-on-click-modal="false"
:before-close="closeDialog"
top="8vh"
append-to-body
>
<div class="base-modal-body">
<el-form
ref="settingFrom"
v-loading="loading"
:model="form"
:rules="rules"
label-width="120px"
size="small"
>
<div class="form_title">
{{ $t('system:Setting:title:Blinded information') }}
</div>
<el-row>
<el-col :span="12">
<el-form-item
:label="$t('system:Setting:label:Blind Name')"
prop="BlindName"
>
<el-input
v-model="form.BlindName"
clearable
:maxlength="400"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
:label="$t('system:Setting:label:Blind NameCN')"
prop="BlindNameCN"
>
<el-input
v-model="form.BlindNameCN"
clearable
:maxlength="400"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item
:label="$t('system:Setting:label:Blind Publications')"
prop="BlindPublications"
>
<el-input
v-model="form.BlindPublications"
type="textarea"
rows="8"
size="small"
:maxlength="4000"
/>
</el-form-item>
<div class="form_title">
{{ $t('system:Setting:title:Blinded Setting') }}
</div>
<el-form-item
:label="$t('system:Setting:label:Information Confirmed?')"
>
<el-radio-group v-model="form.ReviewStatus" @change="handleChange">
<el-radio :label="1">{{
$t('system:Setting:label:Information Confirmed?:Yes')
}}</el-radio>
<el-radio :label="2">{{
$t('system:Setting:label:Information Confirmed?:No')
}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item :label="$t('system:Setting:label:Contractor Status?')">
<el-radio-group
v-model="form.CooperateStatus"
@change="handleChange"
>
<el-radio :label="1">{{
$t('system:Setting:label:Information Confirmed?:Yes')
}}</el-radio>
<el-radio :label="2">{{
$t('system:Setting:label:Information Confirmed?:No')
}}</el-radio>
</el-radio-group>
</el-form-item>
<span slot="footer" class="dialog-footer"> <el-form-item
<el-button size="small" type="primary" @click="closeDialog"> :label="$t('system:Setting:label:Accepting New Trials?')"
{{ $t('common:button:cancel') }} >
</el-button> <el-radio-group
<el-button v-model="form.AcceptingNewTrial"
size="small" :disabled="radioDisabled"
type="primary" >
@click="handleSave" <el-radio :label="true">{{
:loading="loading" $t('system:Setting:label:Information Confirmed?:Yes')
> }}</el-radio>
{{ $t('common:button:save') }} <el-radio :label="false">{{
</el-button> $t('system:Setting:label:Information Confirmed?:No')
</span> }}</el-radio>
</el-dialog> </el-radio-group>
</el-form-item>
<el-form-item :label="$t('system:Setting:label:Actively Reading?')">
<el-radio-group
v-model="form.ActivelyReading"
:disabled="radioDisabled"
>
<el-radio :label="true">{{
$t('system:Setting:label:Information Confirmed?:Yes')
}}</el-radio>
<el-radio :label="false">{{
$t('system:Setting:label:Information Confirmed?:No')
}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
:label="$t('system:Setting:label:Comment:')"
prop="AdminComment"
>
<el-input
v-model="form.AdminComment"
type="textarea"
rows="8"
:maxlength="4000"
/>
</el-form-item>
</el-form>
</div>
<span slot="footer" class="dialog-footer">
<el-button size="small" type="primary" @click="closeDialog">
{{ $t('common:button:cancel') }}
</el-button>
<el-button
size="small"
type="primary"
@click="handleSave"
:loading="loading"
>
{{ $t('common:button:save') }}
</el-button>
</span>
</el-dialog>
</div>
</template> </template>
<script> <script>
import { getAuditState, updateAuditResume } from '@/api/reviewers' import { getAuditState, updateAuditResume } from '@/api/reviewers'
@ -160,10 +254,6 @@ const defaultForm = () => {
export default { export default {
name: 'setting', name: 'setting',
props: { props: {
visible: {
type: Boolean,
default: false,
},
reviewerId: { reviewerId: {
type: String, type: String,
default: '', default: '',
@ -171,6 +261,7 @@ export default {
}, },
data() { data() {
return { return {
DATA: defaultForm(),
form: defaultForm(), form: defaultForm(),
loading: false, loading: false,
rules: { rules: {
@ -209,13 +300,24 @@ export default {
], ],
}, },
radioDisabled: false, radioDisabled: false,
visible: false,
} }
}, },
created() { created() {
this.getData() // this.getData()
this.handleChange() this.handleChange()
}, },
watch: {
reviewerId() {
if (this.reviewerId) {
this.getData()
}
},
},
methods: { methods: {
openEdit() {
this.visible = true
},
handleChange() { handleChange() {
if (this.form.ReviewStatus === 2 || this.form.CooperateStatus === 2) { if (this.form.ReviewStatus === 2 || this.form.CooperateStatus === 2) {
this.form.ActivelyReading = false this.form.ActivelyReading = false
@ -226,7 +328,7 @@ export default {
} }
}, },
closeDialog() { closeDialog() {
this.$emit('update:visible', false) this.visible = false
}, },
async handleSave() { async handleSave() {
try { try {
@ -241,6 +343,7 @@ export default {
if (res.IsSuccess) { if (res.IsSuccess) {
this.$message.success(this.$t('common:message:savedSuccessfully')) this.$message.success(this.$t('common:message:savedSuccessfully'))
this.closeDialog() this.closeDialog()
this.getData()
} }
} catch (err) { } catch (err) {
this.loading = false this.loading = false
@ -254,6 +357,9 @@ export default {
Object.keys(this.form).forEach((key) => { Object.keys(this.form).forEach((key) => {
this.form[key] = res.Result[key] this.form[key] = res.Result[key]
}) })
Object.keys(this.DATA).forEach((key) => {
this.DATA[key] = res.Result[key]
})
if (res.Result.Id) { if (res.Result.Id) {
this.form.Id = res.Result.Id this.form.Id = res.Result.Id
} }
@ -291,4 +397,22 @@ export default {
flex: 1; flex: 1;
} }
} }
.setting {
min-height: 100px;
.title {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 10px;
font-weight: bold;
}
.message {
margin: auto;
min-height: 100px;
background-color: #eee;
padding: 10px;
line-height: 30px;
border-radius: 5px;
}
}
</style> </style>

View File

@ -40,6 +40,9 @@
<el-menu-item index="pay">{{ <el-menu-item index="pay">{{
$t('curriculumVitae:menu:pay') $t('curriculumVitae:menu:pay')
}}</el-menu-item> }}</el-menu-item>
<el-menu-item index="setting" v-if="isPM">{{
$t('curriculumVitae:button:seeting')
}}</el-menu-item>
</el-menu> </el-menu>
</div> </div>
<div class="main" id="main"> <div class="main" id="main">
@ -47,9 +50,9 @@
<div class="title"> <div class="title">
<div>{{ $t('curriculumVitae:content:title') }}</div> <div>{{ $t('curriculumVitae:content:title') }}</div>
<div class="btnBox"> <div class="btnBox">
<el-button type="text" @click.stop="openSetting" v-if="isPM"> <!-- <el-button type="text" @click.stop="openSetting" v-if="isPM">
{{ $t('curriculumVitae:button:seeting') }} {{ $t('curriculumVitae:button:seeting') }}
</el-button> </el-button> -->
<el-button type="text" @click.stop="openHoliday"> <el-button type="text" @click.stop="openHoliday">
{{ $t('curriculumVitae:button:holiday') }} {{ $t('curriculumVitae:button:holiday') }}
</el-button> </el-button>
@ -155,6 +158,9 @@
@getInfo="getDetail" @getInfo="getDetail"
/> />
</div> </div>
<div class="box" id="setting" v-if="isPM">
<setting :isEN="isEN" :reviewerId.sync="reviewerId" />
</div>
</div> </div>
<div class="rightFile"> <div class="rightFile">
<!--简历附件--> <!--简历附件-->
@ -191,11 +197,11 @@
:reviewerId.sync="reviewerId" :reviewerId.sync="reviewerId"
:visible.sync="holidayVisible" :visible.sync="holidayVisible"
/> />
<setting <!-- <setting
v-if="settingVisible" v-if="settingVisible"
:reviewerId.sync="reviewerId" :reviewerId.sync="reviewerId"
:visible.sync="settingVisible" :visible.sync="settingVisible"
/> /> -->
</div> </div>
</template> </template>
<script> <script>
@ -264,7 +270,7 @@ export default {
holidayVisible: false, holidayVisible: false,
settingVisible: false, // settingVisible: false,
IndicationList: [], IndicationList: [],
} }
@ -380,9 +386,9 @@ export default {
this.holidayVisible = true this.holidayVisible = true
}, },
// //
openSetting() { // openSetting() {
this.settingVisible = true // this.settingVisible = true
}, // },
}, },
} }
</script> </script>

View File

@ -80,16 +80,15 @@
}}</span> }}</span>
</div> </div>
</div> </div>
<div <div class="message break-word">
class="message break-word"
v-if="mainSummarize.SummarizeEn || mainSummarize.Summarize"
>
<div class="title">{{ $t('curriculumVitae:summarize:title') }}</div> <div class="title">{{ $t('curriculumVitae:summarize:title') }}</div>
<span <span
class="" class=""
style="white-space: pre-wrap" style="white-space: pre-wrap"
v-html="isEN ? mainSummarize.SummarizeEn : mainSummarize.Summarize" v-html="isEN ? mainSummarize.SummarizeEn : mainSummarize.Summarize"
v-if="mainSummarize.SummarizeEn || mainSummarize.Summarize"
></span> ></span>
<div class="noData" v-else>{{ $t('curriculumVitae:noData') }}</div>
</div> </div>
<div class="message" v-if="isAll"> <div class="message" v-if="isAll">
<el-form class="demo-form-inline"> <el-form class="demo-form-inline">
@ -454,13 +453,7 @@
</el-table> </el-table>
</template> </template>
<!--其他相关经历--> <!--其他相关经历-->
<div <div class="title">
class="title"
v-if="
reviewerData.TrialExperienceView.OtherClinicalExperience ||
reviewerData.TrialExperienceView.OtherClinicalExperienceCN
"
>
{{ $t('curriculumVitae:clinicalTrials:otherTitle') }} {{ $t('curriculumVitae:clinicalTrials:otherTitle') }}
</div> </div>
<template <template
@ -479,41 +472,33 @@
" "
></div> ></div>
</template> </template>
<div class="noData" v-else>{{ $t('curriculumVitae:noData') }}</div>
</div> </div>
<template v-if="isAll"> <template v-if="isAll">
<div <div class="message">
class="message"
v-if="reviewerData.ResearchPublicationView.Publications"
>
<div class="title">{{ $t('curriculumVitae:treatise:title') }}</div> <div class="title">{{ $t('curriculumVitae:treatise:title') }}</div>
<div <div
class="message break-word" class="message break-word"
style="white-space: pre-wrap" style="white-space: pre-wrap"
v-html="reviewerData.ResearchPublicationView.Publications" v-html="reviewerData.ResearchPublicationView.Publications"
v-if="reviewerData.ResearchPublicationView.Publications"
></div> ></div>
<div class="noData" v-else>{{ $t('curriculumVitae:noData') }}</div>
</div> </div>
</template> </template>
<template v-else> <template v-else>
<div <div class="message">
class="message"
v-if="reviewerData.BasicInfoView.BlindPublications"
>
<div class="title">{{ $t('curriculumVitae:treatise:title') }}</div> <div class="title">{{ $t('curriculumVitae:treatise:title') }}</div>
<div <div
class="message break-word" class="message break-word"
style="white-space: pre-wrap" style="white-space: pre-wrap"
v-html="reviewerData.BasicInfoView.BlindPublications" v-html="reviewerData.BasicInfoView.BlindPublications"
v-if="reviewerData.BasicInfoView.BlindPublications"
></div> ></div>
<div class="noData" v-else>{{ $t('curriculumVitae:noData') }}</div>
</div> </div>
</template> </template>
<div <div class="message break-word" v-if="isAll">
class="message break-word"
v-if="
(reviewerData.ResearchPublicationView.AwardsHonors ||
reviewerData.ResearchPublicationView.AwardsHonorsCN) &&
isAll
"
>
<div class="title">{{ $t('curriculumVitae:other:AH') }}</div> <div class="title">{{ $t('curriculumVitae:other:AH') }}</div>
<div class="message"> <div class="message">
<span <span
@ -523,7 +508,12 @@
? reviewerData.ResearchPublicationView.AwardsHonors ? reviewerData.ResearchPublicationView.AwardsHonors
: reviewerData.ResearchPublicationView.AwardsHonorsCN : reviewerData.ResearchPublicationView.AwardsHonorsCN
" "
v-if="
reviewerData.ResearchPublicationView.AwardsHonors ||
reviewerData.ResearchPublicationView.AwardsHonorsCN
"
></span> ></span>
<div class="noData" v-else>{{ $t('curriculumVitae:noData') }}</div>
</div> </div>
</div> </div>
<div class="message" v-if="isAll"> <div class="message" v-if="isAll">
@ -1137,4 +1127,8 @@ break-word {
width: 100%; width: 100%;
word-wrap: break-word; word-wrap: break-word;
} }
.noData {
color: #909399;
text-align: center;
}
</style> </style>