Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web into main
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
commit
0633e775d4
|
@ -214,3 +214,19 @@ export function getPatientList_Export(data) {
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
export function getCommonEvaluationList_Export(data) {
|
||||||
|
return requestDownload({
|
||||||
|
url: `/ExcelExport/getCommonEvaluationList_Export`,
|
||||||
|
responseType: 'blob',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
export function getCommonJudgeRatioList_Export(data) {
|
||||||
|
return requestDownload({
|
||||||
|
url: `/ExcelExport/getCommonJudgeRatioList_Export`,
|
||||||
|
responseType: 'blob',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
|
@ -298,3 +298,27 @@ export function addOrUpdateDoctorBasicInfoAndEmployment(param) {
|
||||||
data: param
|
data: param
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 新增或编辑概述
|
||||||
|
export function updateGneralSituation(param) {
|
||||||
|
return request({
|
||||||
|
url: `/Doctor/updateGneralSituation`,
|
||||||
|
method: 'post',
|
||||||
|
data: param
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 新增或编辑支付方式
|
||||||
|
export function updatePaymentMode(param) {
|
||||||
|
return request({
|
||||||
|
url: `/Doctor/updatePaymentMode`,
|
||||||
|
method: 'post',
|
||||||
|
data: param
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 新增或编辑Publication
|
||||||
|
export function addOrUpdateResearchPublicationInfo(param) {
|
||||||
|
return request({
|
||||||
|
url: `/ResearchPublication/addOrUpdateResearchPublicationInfo`,
|
||||||
|
method: 'post',
|
||||||
|
data: param
|
||||||
|
})
|
||||||
|
}
|
|
@ -37,8 +37,11 @@
|
||||||
min-width="70"
|
min-width="70"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
>
|
>
|
||||||
<template slot-scope="scope" v-if="$fd('Degree', scope.row.Degree)">
|
<template
|
||||||
{{ $fd('Degree', scope.row.Degree) }}
|
slot-scope="scope"
|
||||||
|
v-if="$fd('Degree', Number(scope.row.Degree))"
|
||||||
|
>
|
||||||
|
{{ $fd('Degree', Number(scope.row.Degree)) }}
|
||||||
</template>
|
</template>
|
||||||
<template slot-scope="scope" v-else>
|
<template slot-scope="scope" v-else>
|
||||||
{{
|
{{
|
||||||
|
@ -180,7 +183,13 @@
|
||||||
min-width="70"
|
min-width="70"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template
|
||||||
|
slot-scope="scope"
|
||||||
|
v-if="$fd('Training', Number(scope.row.Training))"
|
||||||
|
>
|
||||||
|
{{ $fd('Training', Number(scope.row.Training)) }}
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope" v-else>
|
||||||
{{
|
{{
|
||||||
scope.row.TrainingCN
|
scope.row.TrainingCN
|
||||||
? `${scope.row.Training} / ${scope.row.TrainingCN}`
|
? `${scope.row.Training} / ${scope.row.TrainingCN}`
|
||||||
|
|
|
@ -331,6 +331,25 @@ import BaseModel from '@/components/BaseModel'
|
||||||
export default {
|
export default {
|
||||||
name: 'clinicalTrials',
|
name: 'clinicalTrials',
|
||||||
components: { BaseModel },
|
components: { BaseModel },
|
||||||
|
props: {
|
||||||
|
DATA: {
|
||||||
|
type: Object,
|
||||||
|
required: true,
|
||||||
|
default: () => {
|
||||||
|
return {
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
reviewerId: {
|
||||||
|
type: String,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
|
isEN: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
tableData: [],
|
tableData: [],
|
||||||
|
|
|
@ -2,12 +2,18 @@
|
||||||
<div class="continuingTraining">
|
<div class="continuingTraining">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
<span>{{ $t('curriculumVitae:continuingTraining:title') }}</span>
|
<span>{{ $t('curriculumVitae:continuingTraining:title') }}</span>
|
||||||
<el-button type="text" class="editBtn" @click.stop="openEdit">
|
<el-button
|
||||||
|
type="text"
|
||||||
|
class="editBtn"
|
||||||
|
@click.stop="openEdit"
|
||||||
|
:disabled="!reviewerId"
|
||||||
|
>
|
||||||
{{ $t('common:button:add') }}
|
{{ $t('common:button:add') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
<el-table
|
<el-table
|
||||||
:data="tableData"
|
:data="DATA"
|
||||||
|
v-loading="loading"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
:header-cell-style="{ background: '#eee', color: '#606266' }"
|
:header-cell-style="{ background: '#eee', color: '#606266' }"
|
||||||
>
|
>
|
||||||
|
@ -15,33 +21,56 @@
|
||||||
prop="date"
|
prop="date"
|
||||||
:label="$t('curriculumVitae:continuingTraining:table:time')"
|
:label="$t('curriculumVitae:continuingTraining:table:time')"
|
||||||
>
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ scope.row.BeginDateStr }}-{{ scope.row.EndDateStr }}</span>
|
||||||
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="date"
|
prop="Training"
|
||||||
:label="$t('curriculumVitae:continuingTraining:table:type')"
|
:label="$t('curriculumVitae:continuingTraining:table:type')"
|
||||||
>
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ $fd('Training', Number(scope.row.Training)) }}</span>
|
||||||
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="date"
|
prop="Major"
|
||||||
:label="$t('curriculumVitae:continuingTraining:table:direction')"
|
:label="$t('curriculumVitae:continuingTraining:table:direction')"
|
||||||
>
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ isEN ? scope.row.Major : scope.row.MajorCN }}</span>
|
||||||
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="date"
|
prop="school"
|
||||||
:label="$t('curriculumVitae:continuingTraining:table:school')"
|
:label="$t('curriculumVitae:continuingTraining:table:school')"
|
||||||
>
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ isEN ? scope.row.School : scope.row.SchoolCN }}</span>
|
||||||
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="date"
|
prop="City"
|
||||||
:label="$t('curriculumVitae:continuingTraining:table:city')"
|
:label="$t('curriculumVitae:continuingTraining:table:city')"
|
||||||
>
|
>
|
||||||
</el-table-column>
|
|
||||||
<el-table-column prop="date" :label="$t('common:action:action')">
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button type="text" class="editBtn" @click.stop="openEdit(scope)">
|
<span>{{ isEN ? scope.row.City : scope.row.CityCN }}</span>
|
||||||
|
</template>
|
||||||
|
</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.row)"
|
||||||
|
>
|
||||||
{{ $t('common:button:edit') }}
|
{{ $t('common:button:edit') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button type="text" class="editBtn" @click.stop="openEdit">
|
<el-button
|
||||||
|
type="text"
|
||||||
|
class="editBtn"
|
||||||
|
@click.stop="handleDel(scope.row)"
|
||||||
|
>
|
||||||
{{ $t('common:button:delete') }}
|
{{ $t('common:button:delete') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
@ -59,25 +88,28 @@
|
||||||
>
|
>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('curriculumVitae:continuingTraining:form:time')"
|
:label="$t('curriculumVitae:continuingTraining:form:time')"
|
||||||
prop="InternationalizationType"
|
prop="BeginDate"
|
||||||
>
|
>
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
clearable
|
clearable
|
||||||
v-model="daterange"
|
v-model="daterange"
|
||||||
type="daterange"
|
type="daterange"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
format="yyyy-MM-dd"
|
||||||
:range-separator="$t('curriculumVitae:daterange:rangeSeparator')"
|
:range-separator="$t('curriculumVitae:daterange:rangeSeparator')"
|
||||||
:start-placeholder="$t('curriculumVitae:daterange:startTime')"
|
:start-placeholder="$t('curriculumVitae:daterange:startTime')"
|
||||||
:end-placeholder="$t('curriculumVitae:daterange:endTime')"
|
:end-placeholder="$t('curriculumVitae:daterange:endTime')"
|
||||||
|
@change="changeTimeList"
|
||||||
>
|
>
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('curriculumVitae:continuingTraining:form:type')"
|
:label="$t('curriculumVitae:continuingTraining:form:type')"
|
||||||
prop="InternationalizationType"
|
prop="Training"
|
||||||
>
|
>
|
||||||
<el-select v-model="form.Sex" clearable placeholder="">
|
<el-select v-model="form.Training" clearable placeholder="">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in $d.sex"
|
v-for="item in $d.Training"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
:label="item.label"
|
:label="item.label"
|
||||||
:value="item.value"
|
:value="item.value"
|
||||||
|
@ -86,46 +118,56 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('curriculumVitae:continuingTraining:form:direction')"
|
:label="$t('curriculumVitae:continuingTraining:form:direction')"
|
||||||
prop="InternationalizationType"
|
prop="Major"
|
||||||
>
|
>
|
||||||
<el-row>
|
|
||||||
<el-col :span="12" style="margin-right: 5px">
|
|
||||||
<el-input
|
<el-input
|
||||||
|
style="width: 97%"
|
||||||
|
v-model="form.Major"
|
||||||
|
type="textarea"
|
||||||
|
:rows="2"
|
||||||
clearable
|
clearable
|
||||||
:placeholder="
|
:placeholder="
|
||||||
$t(
|
$t('curriculumVitae:continuingTraining:placeholder:directionEN')
|
||||||
'curriculumVitae:continuingTraining:placeholder:direction'
|
|
||||||
)
|
|
||||||
"
|
"
|
||||||
></el-input>
|
></el-input>
|
||||||
</el-col>
|
</el-form-item>
|
||||||
<el-col :span="11">
|
<el-form-item prop="MajorCN">
|
||||||
<el-input
|
<el-input
|
||||||
|
style="width: 97%"
|
||||||
|
type="textarea"
|
||||||
|
:rows="2"
|
||||||
|
v-model="form.MajorCN"
|
||||||
clearable
|
clearable
|
||||||
:placeholder="
|
:placeholder="
|
||||||
$t(
|
$t('curriculumVitae:continuingTraining:placeholder:direction')
|
||||||
'curriculumVitae:continuingTraining:placeholder:directionEN'
|
|
||||||
)
|
|
||||||
"
|
"
|
||||||
></el-input>
|
></el-input>
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('curriculumVitae:continuingTraining:form:school')"
|
:label="$t('curriculumVitae:continuingTraining:form:hospital')"
|
||||||
prop="InternationalizationType"
|
prop="HospitalId"
|
||||||
>
|
>
|
||||||
|
<el-select v-model="form.HospitalId" filterable placeholder="">
|
||||||
|
<el-option
|
||||||
|
v-for="(item, index) in hospitalList"
|
||||||
|
:key="index"
|
||||||
|
:label="item.HospitalName"
|
||||||
|
:value="item.Id"
|
||||||
|
>
|
||||||
|
<span>
|
||||||
|
{{ item.HospitalName }}
|
||||||
|
</span>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12" style="margin-right: 5px">
|
<el-col :span="12" style="margin-right: 5px">
|
||||||
|
<el-form-item
|
||||||
|
:label="$t('curriculumVitae:continuingTraining:form:school')"
|
||||||
|
prop="School"
|
||||||
|
>
|
||||||
<el-input
|
<el-input
|
||||||
clearable
|
v-model="form.School"
|
||||||
:placeholder="
|
|
||||||
$t('curriculumVitae:continuingTraining:placeholder:school')
|
|
||||||
"
|
|
||||||
></el-input>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="11">
|
|
||||||
<el-input
|
|
||||||
clearable
|
clearable
|
||||||
:placeholder="
|
:placeholder="
|
||||||
$t(
|
$t(
|
||||||
|
@ -133,29 +175,88 @@
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
></el-input>
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="11">
|
||||||
|
<el-form-item prop="SchoolCN" label-width="10px">
|
||||||
|
<el-input
|
||||||
|
v-model="form.SchoolCN"
|
||||||
|
clearable
|
||||||
|
:placeholder="
|
||||||
|
$t('curriculumVitae:continuingTraining:placeholder:school')
|
||||||
|
"
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-form-item>
|
<el-row>
|
||||||
|
<el-col :span="12" style="margin-right: 5px">
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('curriculumVitae:continuingTraining:form:city')"
|
:label="$t('curriculumVitae:continuingTraining:form:city')"
|
||||||
prop="InternationalizationType"
|
prop="City"
|
||||||
>
|
>
|
||||||
<el-select v-model="form.Sex" clearable placeholder="">
|
<el-input
|
||||||
<el-option
|
v-model="form.City"
|
||||||
v-for="item in $d.sex"
|
clearable
|
||||||
:key="item.id"
|
:placeholder="
|
||||||
:label="item.label"
|
$t('curriculumVitae:continuingTraining:placeholder:City')
|
||||||
:value="item.value"
|
"
|
||||||
/>
|
></el-input>
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="11">
|
||||||
|
<el-form-item prop="CityCN" label-width="10px">
|
||||||
|
<el-input
|
||||||
|
v-model="form.CityCN"
|
||||||
|
clearable
|
||||||
|
:placeholder="
|
||||||
|
$t('curriculumVitae:continuingTraining:placeholder:CityCN')
|
||||||
|
"
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12" style="margin-right: 5px">
|
||||||
|
<el-form-item
|
||||||
|
:label="$t('curriculumVitae:continuingTraining:form:Country')"
|
||||||
|
prop="Country"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
v-model="form.Country"
|
||||||
|
clearable
|
||||||
|
:placeholder="
|
||||||
|
$t('curriculumVitae:continuingTraining:placeholder:Country')
|
||||||
|
"
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="11">
|
||||||
|
<el-form-item prop="CountryCN" label-width="10px">
|
||||||
|
<el-input
|
||||||
|
v-model="form.CountryCN"
|
||||||
|
clearable
|
||||||
|
:placeholder="
|
||||||
|
$t(
|
||||||
|
'curriculumVitae:continuingTraining:placeholder:CountryCN'
|
||||||
|
)
|
||||||
|
"
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
</el-form>
|
</el-form>
|
||||||
</template>
|
</template>
|
||||||
<template slot="dialog-footer">
|
<template slot="dialog-footer">
|
||||||
<el-button size="small" type="primary" @click="handleCancle">
|
<el-button size="small" type="primary" @click="handleCancle">
|
||||||
{{ $t('common:button:cancel') }}
|
{{ $t('common:button:cancel') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button size="small" type="primary" @click="handleSave">
|
<el-button
|
||||||
|
size="small"
|
||||||
|
type="primary"
|
||||||
|
:loading="loading"
|
||||||
|
@click="handleSave"
|
||||||
|
>
|
||||||
{{ $t('common:button:save') }}
|
{{ $t('common:button:save') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
@ -164,12 +265,50 @@
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import BaseModel from '@/components/BaseModel'
|
import BaseModel from '@/components/BaseModel'
|
||||||
|
import {
|
||||||
|
addOrUpdatePostgraduateInfo,
|
||||||
|
deletePostgraduateInfo,
|
||||||
|
} from '@/api/reviewers'
|
||||||
|
import store from '@/store'
|
||||||
|
import { mapGetters } from 'vuex'
|
||||||
|
const defaultForm = () => {
|
||||||
|
return {
|
||||||
|
BeginDate: '',
|
||||||
|
EndDate: '',
|
||||||
|
Training: '',
|
||||||
|
Major: '',
|
||||||
|
MajorCN: '',
|
||||||
|
HospitalId: null,
|
||||||
|
School: '',
|
||||||
|
SchoolCN: '',
|
||||||
|
City: '',
|
||||||
|
CityCN: '',
|
||||||
|
Country: '',
|
||||||
|
CountryCN: '',
|
||||||
|
}
|
||||||
|
}
|
||||||
export default {
|
export default {
|
||||||
name: 'continuingTraining',
|
name: 'continuingTraining',
|
||||||
components: { BaseModel },
|
components: { BaseModel },
|
||||||
|
props: {
|
||||||
|
DATA: {
|
||||||
|
type: Array,
|
||||||
|
required: true,
|
||||||
|
default: () => {
|
||||||
|
return []
|
||||||
|
},
|
||||||
|
},
|
||||||
|
reviewerId: {
|
||||||
|
type: String,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
|
isEN: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
tableData: [],
|
|
||||||
model_cfg: {
|
model_cfg: {
|
||||||
visible: false,
|
visible: false,
|
||||||
showClose: true,
|
showClose: true,
|
||||||
|
@ -177,21 +316,150 @@ export default {
|
||||||
title: this.$t('curriculumVitae:continuingTraining:form:title'),
|
title: this.$t('curriculumVitae:continuingTraining:form:title'),
|
||||||
appendToBody: true,
|
appendToBody: true,
|
||||||
},
|
},
|
||||||
form: {},
|
form: defaultForm(),
|
||||||
rules: {},
|
rules: {
|
||||||
|
BeginDate: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: 'Please select a start date',
|
||||||
|
trigger: 'blur',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
EndDate: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: 'Please select a valid date',
|
||||||
|
trigger: 'blur',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
Training: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: 'Please select degree',
|
||||||
|
trigger: 'blur',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
Major: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: 'Please enter the major',
|
||||||
|
trigger: 'blur',
|
||||||
|
},
|
||||||
|
{ max: 100, message: 'The maximum length is 100' },
|
||||||
|
],
|
||||||
|
MajorCN: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: 'Please enter the major',
|
||||||
|
trigger: 'blur',
|
||||||
|
},
|
||||||
|
{ max: 100, message: 'The maximum length is 100' },
|
||||||
|
],
|
||||||
|
City: [
|
||||||
|
{ required: true, message: 'Please enter the city', trigger: 'blur' },
|
||||||
|
{ max: 50, message: 'The maximum length is 50' },
|
||||||
|
],
|
||||||
|
CityCN: [
|
||||||
|
{ required: true, message: 'Please enter the city', trigger: 'blur' },
|
||||||
|
{ max: 50, message: 'The maximum length is 50' },
|
||||||
|
],
|
||||||
|
Country: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: 'Please enter the country',
|
||||||
|
trigger: 'blur',
|
||||||
|
},
|
||||||
|
{ max: 50, message: 'The maximum length is 50' },
|
||||||
|
],
|
||||||
|
CountryCN: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: 'Please enter the country',
|
||||||
|
trigger: 'blur',
|
||||||
|
},
|
||||||
|
{ max: 50, message: 'The maximum length is 50' },
|
||||||
|
],
|
||||||
|
},
|
||||||
loading: false,
|
loading: false,
|
||||||
daterange: [],
|
daterange: [],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
computed: {
|
||||||
|
...mapGetters(['hospitalList']),
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
store.dispatch('global/getHospital')
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
openEdit() {
|
openEdit(row) {
|
||||||
|
this.form = defaultForm()
|
||||||
|
this.daterange = []
|
||||||
|
if (row) {
|
||||||
|
Object.keys(this.form).forEach((key) => {
|
||||||
|
if (row[key]) {
|
||||||
|
this.form[key] = row[key]
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if (this.form.BeginDate && this.form.EndDate) {
|
||||||
|
this.daterange = [this.form.BeginDate, this.form.EndDate]
|
||||||
|
}
|
||||||
|
if (this.form.Degree) {
|
||||||
|
this.form.Degree = Number(this.form.Degree)
|
||||||
|
}
|
||||||
|
this.form.Id = row.Id
|
||||||
|
}
|
||||||
this.model_cfg.visible = true
|
this.model_cfg.visible = true
|
||||||
},
|
},
|
||||||
handleCancle() {
|
handleCancle() {
|
||||||
|
this.form = defaultForm()
|
||||||
|
this.daterange = []
|
||||||
this.model_cfg.visible = false
|
this.model_cfg.visible = false
|
||||||
},
|
},
|
||||||
handleSave() {
|
async handleSave() {
|
||||||
|
try {
|
||||||
|
let validate = await this.$refs.continuingTrainingFrom.validate()
|
||||||
|
if (!validate) return false
|
||||||
|
if (this.reviewerId) {
|
||||||
|
this.form.DoctorId = this.reviewerId
|
||||||
|
}
|
||||||
|
this.loading = true
|
||||||
|
let res = await addOrUpdatePostgraduateInfo(this.form)
|
||||||
|
this.loading = false
|
||||||
|
if (res.IsSuccess) {
|
||||||
|
this.$emit('getInfo')
|
||||||
this.model_cfg.visible = false
|
this.model_cfg.visible = false
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
this.loading = false
|
||||||
|
console.log(err)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async handleDel(row) {
|
||||||
|
try {
|
||||||
|
let confirm = await this.$confirm(
|
||||||
|
this.$t('trials:trials-list:table:isDeleted')
|
||||||
|
)
|
||||||
|
if (!confirm) return false
|
||||||
|
this.loading = true
|
||||||
|
let res = await deletePostgraduateInfo(row.Id)
|
||||||
|
this.loading = false
|
||||||
|
if (res.IsSuccess) {
|
||||||
|
this.$message.success(this.$t('common:message:deletedSuccessfully'))
|
||||||
|
this.$emit('getInfo')
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
this.loading = false
|
||||||
|
console.log(err)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
changeTimeList() {
|
||||||
|
if (this.daterange && this.daterange.length === 2) {
|
||||||
|
this.form.BeginDate = this.daterange[0]
|
||||||
|
this.form.EndDate = this.daterange[1]
|
||||||
|
} else {
|
||||||
|
this.form.BeginDate = null
|
||||||
|
this.form.EndDate = null
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -305,6 +305,10 @@ export default {
|
||||||
type: String,
|
type: String,
|
||||||
default: '',
|
default: '',
|
||||||
},
|
},
|
||||||
|
isEN: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
@ -399,11 +403,6 @@ export default {
|
||||||
daterange: [],
|
daterange: [],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
|
||||||
isEN() {
|
|
||||||
return this.$i18n.locale !== 'zh'
|
|
||||||
},
|
|
||||||
},
|
|
||||||
methods: {
|
methods: {
|
||||||
openEdit(row) {
|
openEdit(row) {
|
||||||
this.form = defaultForm()
|
this.form = defaultForm()
|
||||||
|
|
|
@ -26,7 +26,6 @@
|
||||||
<span v-if="isEN">{{ DATA.HospitalName }}</span>
|
<span v-if="isEN">{{ DATA.HospitalName }}</span>
|
||||||
<span v-else>{{ DATA.HospitalNameCN }}</span>
|
<span v-else>{{ DATA.HospitalNameCN }}</span>
|
||||||
</span>
|
</span>
|
||||||
<span> </span>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="userTitle">
|
<div class="userTitle">
|
||||||
<span
|
<span
|
||||||
|
@ -146,7 +145,7 @@
|
||||||
:label="$t('curriculumVitae:info:form:email')"
|
:label="$t('curriculumVitae:info:form:email')"
|
||||||
prop="EMail"
|
prop="EMail"
|
||||||
>
|
>
|
||||||
<el-input v-model="form.EMail" clearable></el-input>
|
<el-input v-model="form.EMail" clearable disabled></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
|
@ -388,6 +387,10 @@ export default {
|
||||||
type: String,
|
type: String,
|
||||||
default: '',
|
default: '',
|
||||||
},
|
},
|
||||||
|
isEN: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
@ -486,9 +489,6 @@ export default {
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapGetters(['hospitalList']),
|
...mapGetters(['hospitalList']),
|
||||||
isEN() {
|
|
||||||
return this.$i18n.locale !== 'zh'
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.getDicData()
|
this.getDicData()
|
||||||
|
|
|
@ -1,15 +1,21 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="other">
|
<div class="other">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
<span>{{ $t('curriculumVitae:other:title') }}</span>
|
<span>{{ $t('curriculumVitae:other:AH') }}</span>
|
||||||
<el-button type="text" class="editBtn" @click.stop="openEdit">
|
<el-button
|
||||||
|
type="text"
|
||||||
|
class="editBtn"
|
||||||
|
:disabled="!reviewerId"
|
||||||
|
@click.stop="openEdit"
|
||||||
|
>
|
||||||
{{ $t('common:button:edit') }}
|
{{ $t('common:button:edit') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
<div class="message">
|
<div class="message" v-if="DATA.AwardsHonors || DATA.AwardsHonorsCN">
|
||||||
<div>{{ $t('curriculumVitae:other:AH') }}</div>
|
<span v-if="isEN">{{ DATA.AwardsHonors }}</span>
|
||||||
<p>a诺夫卡刷积分八九十快点把手里的v八路军那是的健康蓝色的艰苦拉萨的</p>
|
<span v-else>{{ DATA.AwardsHonorsCN }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="noData" v-else>{{ $t('curriculumVitae:noData') }}</div>
|
||||||
<base-model :config="model_cfg">
|
<base-model :config="model_cfg">
|
||||||
<template slot="dialog-body">
|
<template slot="dialog-body">
|
||||||
<el-form
|
<el-form
|
||||||
|
@ -22,21 +28,26 @@
|
||||||
>
|
>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('curriculumVitae:other:form:AH')"
|
:label="$t('curriculumVitae:other:form:AH')"
|
||||||
prop="InternationalizationType"
|
prop="AwardsHonors"
|
||||||
>
|
>
|
||||||
<el-input
|
<el-input
|
||||||
clearable
|
clearable
|
||||||
|
v-model="form.AwardsHonors"
|
||||||
|
style="margin-bottom: 10px"
|
||||||
|
type="textarea"
|
||||||
|
:rows="2"
|
||||||
|
:placeholder="$t('curriculumVitae:other:placeholder:AHEN')"
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item prop="AwardsHonorsCN">
|
||||||
|
<el-input
|
||||||
|
clearable
|
||||||
|
v-model="form.AwardsHonorsCN"
|
||||||
style="margin-bottom: 10px"
|
style="margin-bottom: 10px"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
:rows="2"
|
:rows="2"
|
||||||
:placeholder="$t('curriculumVitae:other:placeholder:AH')"
|
:placeholder="$t('curriculumVitae:other:placeholder:AH')"
|
||||||
></el-input>
|
></el-input>
|
||||||
<el-input
|
|
||||||
clearable
|
|
||||||
type="textarea"
|
|
||||||
:rows="2"
|
|
||||||
:placeholder="$t('curriculumVitae:other:placeholder:AHEN')"
|
|
||||||
></el-input>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</template>
|
</template>
|
||||||
|
@ -44,7 +55,12 @@
|
||||||
<el-button size="small" type="primary" @click="handleCancle">
|
<el-button size="small" type="primary" @click="handleCancle">
|
||||||
{{ $t('common:button:cancel') }}
|
{{ $t('common:button:cancel') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button size="small" type="primary" @click="handleSave">
|
<el-button
|
||||||
|
size="small"
|
||||||
|
type="primary"
|
||||||
|
:loading="loading"
|
||||||
|
@click="handleSave"
|
||||||
|
>
|
||||||
{{ $t('common:button:save') }}
|
{{ $t('common:button:save') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
@ -53,9 +69,34 @@
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import BaseModel from '@/components/BaseModel'
|
import BaseModel from '@/components/BaseModel'
|
||||||
|
import { addOrUpdateResearchPublicationInfo } from '@/api/reviewers'
|
||||||
|
const defaultForm = () => {
|
||||||
|
return {
|
||||||
|
Id: null,
|
||||||
|
AwardsHonors: '',
|
||||||
|
AwardsHonorsCN: '',
|
||||||
|
}
|
||||||
|
}
|
||||||
export default {
|
export default {
|
||||||
name: 'other',
|
name: 'other',
|
||||||
components: { BaseModel },
|
components: { BaseModel },
|
||||||
|
props: {
|
||||||
|
DATA: {
|
||||||
|
type: Object,
|
||||||
|
required: true,
|
||||||
|
default: () => {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
reviewerId: {
|
||||||
|
type: String,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
|
isEN: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
model_cfg: {
|
model_cfg: {
|
||||||
|
@ -65,20 +106,43 @@ export default {
|
||||||
title: this.$t('curriculumVitae:scientificResearchProject:form:title'),
|
title: this.$t('curriculumVitae:scientificResearchProject:form:title'),
|
||||||
appendToBody: true,
|
appendToBody: true,
|
||||||
},
|
},
|
||||||
form: {},
|
form: defaultForm(),
|
||||||
rules: {},
|
rules: {},
|
||||||
loading: false,
|
loading: false,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
openEdit() {
|
openEdit() {
|
||||||
|
this.form = defaultForm()
|
||||||
|
Object.keys(this.form).forEach((key) => {
|
||||||
|
if (this.DATA[key]) {
|
||||||
|
this.form[key] = this.DATA[key]
|
||||||
|
}
|
||||||
|
})
|
||||||
this.model_cfg.visible = true
|
this.model_cfg.visible = true
|
||||||
},
|
},
|
||||||
handleCancle() {
|
handleCancle() {
|
||||||
|
this.form = defaultForm()
|
||||||
this.model_cfg.visible = false
|
this.model_cfg.visible = false
|
||||||
},
|
},
|
||||||
handleSave() {
|
async handleSave() {
|
||||||
|
try {
|
||||||
|
let validate = await this.$refs.otherFrom.validate()
|
||||||
|
if (!validate) return false
|
||||||
|
if (this.reviewerId) {
|
||||||
|
this.form.DoctorId = this.reviewerId
|
||||||
|
}
|
||||||
|
this.loading = true
|
||||||
|
let res = await addOrUpdateResearchPublicationInfo(this.form)
|
||||||
|
this.loading = false
|
||||||
|
if (res.IsSuccess) {
|
||||||
|
this.$emit('getInfo')
|
||||||
this.model_cfg.visible = false
|
this.model_cfg.visible = false
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
this.loading = false
|
||||||
|
console.log(err)
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,12 @@
|
||||||
<div class="pay">
|
<div class="pay">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
<span>{{ $t('curriculumVitae:pay:title') }}</span>
|
<span>{{ $t('curriculumVitae:pay:title') }}</span>
|
||||||
<el-button type="text" class="editBtn" @click.stop="openEdit">
|
<el-button
|
||||||
|
type="text"
|
||||||
|
class="editBtn"
|
||||||
|
:disabled="!reviewerId"
|
||||||
|
@click.stop="openEdit"
|
||||||
|
>
|
||||||
{{ $t('common:button:edit') }}
|
{{ $t('common:button:edit') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -11,25 +16,33 @@
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('curriculumVitae:pay:form:payCardId')"
|
:label="$t('curriculumVitae:pay:form:payCardId')"
|
||||||
style="width: 45%"
|
style="width: 45%"
|
||||||
>21323123123123123213123123213123</el-form-item
|
|
||||||
>
|
>
|
||||||
|
{{ DATA.BankNum }}
|
||||||
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('curriculumVitae:pay:form:username')"
|
:label="$t('curriculumVitae:pay:form:username')"
|
||||||
style="width: 45%"
|
style="width: 45%"
|
||||||
>wangxiaoshuang</el-form-item
|
|
||||||
>
|
>
|
||||||
|
{{ DATA.BankName }}
|
||||||
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('curriculumVitae:pay:form:bank')"
|
:label="$t('curriculumVitae:pay:form:bank')"
|
||||||
style="width: 45%"
|
style="width: 45%"
|
||||||
></el-form-item>
|
>
|
||||||
|
{{ DATA.OpeningBank }}
|
||||||
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('curriculumVitae:pay:form:idCard')"
|
:label="$t('curriculumVitae:pay:form:idCard')"
|
||||||
style="width: 45%"
|
style="width: 45%"
|
||||||
></el-form-item>
|
>
|
||||||
|
{{ DATA.IdCard }}
|
||||||
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('curriculumVitae:pay:form:phone')"
|
:label="$t('curriculumVitae:pay:form:phone')"
|
||||||
style="width: 45%"
|
style="width: 45%"
|
||||||
></el-form-item>
|
>
|
||||||
|
{{ DATA.BankPhoneNum }}
|
||||||
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
<base-model :config="model_cfg">
|
<base-model :config="model_cfg">
|
||||||
|
@ -47,37 +60,53 @@
|
||||||
<el-form-item
|
<el-form-item
|
||||||
style="width: 45%"
|
style="width: 45%"
|
||||||
:label="$t('curriculumVitae:pay:form:payCardId')"
|
:label="$t('curriculumVitae:pay:form:payCardId')"
|
||||||
prop="InternationalizationType"
|
prop="BankNum"
|
||||||
>
|
>
|
||||||
<el-input clearable placeholder=""></el-input>
|
<el-input
|
||||||
|
clearable
|
||||||
|
placeholder=""
|
||||||
|
v-model="form.BankNum"
|
||||||
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
style="width: 45%"
|
style="width: 45%"
|
||||||
:label="$t('curriculumVitae:pay:form:username')"
|
:label="$t('curriculumVitae:pay:form:username')"
|
||||||
prop="InternationalizationType"
|
prop="BankName"
|
||||||
>
|
>
|
||||||
<el-input clearable placeholder=""></el-input>
|
<el-input
|
||||||
|
clearable
|
||||||
|
placeholder=""
|
||||||
|
v-model="form.BankName"
|
||||||
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
style="width: 45%"
|
style="width: 45%"
|
||||||
:label="$t('curriculumVitae:pay:form:bank')"
|
:label="$t('curriculumVitae:pay:form:bank')"
|
||||||
prop="InternationalizationType"
|
prop="OpeningBank"
|
||||||
>
|
>
|
||||||
<el-input clearable placeholder=""></el-input>
|
<el-input
|
||||||
|
clearable
|
||||||
|
placeholder=""
|
||||||
|
v-model="form.OpeningBank"
|
||||||
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
style="width: 45%"
|
style="width: 45%"
|
||||||
:label="$t('curriculumVitae:pay:form:idCard')"
|
:label="$t('curriculumVitae:pay:form:idCard')"
|
||||||
prop="InternationalizationType"
|
prop="IdCard"
|
||||||
>
|
>
|
||||||
<el-input clearable placeholder=""></el-input>
|
<el-input clearable placeholder="" v-model="form.IdCard"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
style="width: 45%"
|
style="width: 45%"
|
||||||
:label="$t('curriculumVitae:pay:form:phone')"
|
:label="$t('curriculumVitae:pay:form:phone')"
|
||||||
prop="InternationalizationType"
|
prop="BankPhoneNum"
|
||||||
>
|
>
|
||||||
<el-input clearable placeholder=""></el-input>
|
<el-input
|
||||||
|
clearable
|
||||||
|
placeholder=""
|
||||||
|
v-model="form.BankPhoneNum"
|
||||||
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</template>
|
</template>
|
||||||
|
@ -85,7 +114,12 @@
|
||||||
<el-button size="small" type="primary" @click="handleCancle">
|
<el-button size="small" type="primary" @click="handleCancle">
|
||||||
{{ $t('common:button:cancel') }}
|
{{ $t('common:button:cancel') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button size="small" type="primary" @click="handleSave">
|
<el-button
|
||||||
|
size="small"
|
||||||
|
type="primary"
|
||||||
|
:loading="loading"
|
||||||
|
@click="handleSave"
|
||||||
|
>
|
||||||
{{ $t('common:button:save') }}
|
{{ $t('common:button:save') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
@ -94,32 +128,82 @@
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import BaseModel from '@/components/BaseModel'
|
import BaseModel from '@/components/BaseModel'
|
||||||
|
import { updatePaymentMode } from '@/api/reviewers'
|
||||||
|
const defaultForm = () => {
|
||||||
|
return {
|
||||||
|
BankNum: '',
|
||||||
|
BankName: '',
|
||||||
|
OpeningBank: '',
|
||||||
|
IdCard: '',
|
||||||
|
BankPhoneNum: '',
|
||||||
|
}
|
||||||
|
}
|
||||||
export default {
|
export default {
|
||||||
name: 'pay',
|
name: 'pay',
|
||||||
components: { BaseModel },
|
components: { BaseModel },
|
||||||
|
props: {
|
||||||
|
DATA: {
|
||||||
|
type: Object,
|
||||||
|
required: true,
|
||||||
|
default: () => {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
reviewerId: {
|
||||||
|
type: String,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
|
isEN: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
model_cfg: {
|
model_cfg: {
|
||||||
visible: false,
|
visible: false,
|
||||||
showClose: true,
|
showClose: true,
|
||||||
width: '800px',
|
width: '800px',
|
||||||
title: this.$t('curriculumVitae:scientificResearchProject:form:title'),
|
title: this.$t('curriculumVitae:pay:form:title'),
|
||||||
appendToBody: true,
|
appendToBody: true,
|
||||||
},
|
},
|
||||||
form: {},
|
form: defaultForm(),
|
||||||
rules: {},
|
rules: {},
|
||||||
loading: false,
|
loading: false,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
openEdit() {
|
openEdit() {
|
||||||
|
this.form = defaultForm()
|
||||||
|
Object.keys(this.form).forEach((key) => {
|
||||||
|
if (this.DATA[key]) {
|
||||||
|
this.form[key] = this.DATA[key]
|
||||||
|
}
|
||||||
|
})
|
||||||
this.model_cfg.visible = true
|
this.model_cfg.visible = true
|
||||||
},
|
},
|
||||||
handleCancle() {
|
handleCancle() {
|
||||||
|
this.form = defaultForm()
|
||||||
this.model_cfg.visible = false
|
this.model_cfg.visible = false
|
||||||
},
|
},
|
||||||
handleSave() {
|
async handleSave() {
|
||||||
|
try {
|
||||||
|
let validate = await this.$refs.payFrom.validate()
|
||||||
|
if (!validate) return false
|
||||||
|
if (this.reviewerId) {
|
||||||
|
this.form.Id = this.reviewerId
|
||||||
|
}
|
||||||
|
this.loading = true
|
||||||
|
let res = await updatePaymentMode(this.form)
|
||||||
|
this.loading = false
|
||||||
|
if (res.IsSuccess) {
|
||||||
|
this.$emit('getInfo')
|
||||||
this.model_cfg.visible = false
|
this.model_cfg.visible = false
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
this.loading = false
|
||||||
|
console.log(err)
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,28 +2,43 @@
|
||||||
<div class="scientificResearchProject">
|
<div class="scientificResearchProject">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
<span>{{ $t('curriculumVitae:scientificResearchProject:title') }}</span>
|
<span>{{ $t('curriculumVitae:scientificResearchProject:title') }}</span>
|
||||||
<el-button type="text" class="editBtn" @click.stop="openEdit">
|
<el-button
|
||||||
|
type="text"
|
||||||
|
class="editBtn"
|
||||||
|
:disabled="!reviewerId"
|
||||||
|
@click.stop="openEdit"
|
||||||
|
>
|
||||||
{{ $t('common:button:edit') }}
|
{{ $t('common:button:edit') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
<div class="message">
|
<div
|
||||||
|
class="message"
|
||||||
|
v-if="DATA.Research || DATA.ResearchCN || DATA.Grants || DATA.GrantsCN"
|
||||||
|
>
|
||||||
<el-form class="demo-form-inline">
|
<el-form class="demo-form-inline">
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('curriculumVitae:scientificResearchProject:direction')"
|
:label="$t('curriculumVitae:scientificResearchProject:direction')"
|
||||||
>
|
>
|
||||||
<div>direction</div>
|
<div>
|
||||||
|
<span v-if="isEN">{{ DATA.Research }}</span>
|
||||||
|
<span v-else>{{ DATA.ResearchCN }}</span>
|
||||||
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('curriculumVitae:scientificResearchProject:subject')"
|
:label="$t('curriculumVitae:scientificResearchProject:subject')"
|
||||||
>
|
>
|
||||||
<div>subject</div>
|
<div>
|
||||||
|
<span v-if="isEN">{{ DATA.Grants }}</span>
|
||||||
|
<span v-else>{{ DATA.GrantsCN }}</span>
|
||||||
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="noData" v-else>{{ $t('curriculumVitae:noData') }}</div>
|
||||||
<base-model :config="model_cfg">
|
<base-model :config="model_cfg">
|
||||||
<template slot="dialog-body">
|
<template slot="dialog-body">
|
||||||
<el-form
|
<el-form
|
||||||
ref="continuingTrainingFrom"
|
ref="scientificResearchProjectFrom"
|
||||||
v-loading="loading"
|
v-loading="loading"
|
||||||
:model="form"
|
:model="form"
|
||||||
:rules="rules"
|
:rules="rules"
|
||||||
|
@ -34,22 +49,26 @@
|
||||||
:label="
|
:label="
|
||||||
$t('curriculumVitae:scientificResearchProject:form:direction')
|
$t('curriculumVitae:scientificResearchProject:form:direction')
|
||||||
"
|
"
|
||||||
prop="InternationalizationType"
|
prop="Research"
|
||||||
>
|
>
|
||||||
<el-input
|
<el-input
|
||||||
clearable
|
clearable
|
||||||
|
v-model="form.Research"
|
||||||
style="margin-bottom: 10px"
|
style="margin-bottom: 10px"
|
||||||
:placeholder="
|
:placeholder="
|
||||||
$t(
|
$t(
|
||||||
'curriculumVitae:scientificResearchProject:placeholder:direction'
|
'curriculumVitae:scientificResearchProject:placeholder:directionEN'
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
></el-input>
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item prop="ResearchCN">
|
||||||
<el-input
|
<el-input
|
||||||
|
v-model="form.ResearchCN"
|
||||||
clearable
|
clearable
|
||||||
:placeholder="
|
:placeholder="
|
||||||
$t(
|
$t(
|
||||||
'curriculumVitae:scientificResearchProject:placeholder:directionEN'
|
'curriculumVitae:scientificResearchProject:placeholder:direction'
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
></el-input>
|
></el-input>
|
||||||
|
@ -58,26 +77,30 @@
|
||||||
:label="
|
:label="
|
||||||
$t('curriculumVitae:scientificResearchProject:form:subject')
|
$t('curriculumVitae:scientificResearchProject:form:subject')
|
||||||
"
|
"
|
||||||
prop="InternationalizationType"
|
prop="Grants"
|
||||||
>
|
>
|
||||||
<el-input
|
<el-input
|
||||||
|
v-model="form.Grants"
|
||||||
clearable
|
clearable
|
||||||
style="margin-bottom: 10px"
|
style="margin-bottom: 10px"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
:rows="2"
|
:rows="2"
|
||||||
:placeholder="
|
:placeholder="
|
||||||
$t(
|
$t(
|
||||||
'curriculumVitae:scientificResearchProject:placeholder:subject'
|
'curriculumVitae:scientificResearchProject:placeholder:subjectEN'
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
></el-input>
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item prop="GrantsCN">
|
||||||
<el-input
|
<el-input
|
||||||
clearable
|
clearable
|
||||||
|
v-model="form.GrantsCN"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
:rows="2"
|
:rows="2"
|
||||||
:placeholder="
|
:placeholder="
|
||||||
$t(
|
$t(
|
||||||
'curriculumVitae:scientificResearchProject:placeholder:subjectEN'
|
'curriculumVitae:scientificResearchProject:placeholder:subject'
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
></el-input>
|
></el-input>
|
||||||
|
@ -88,7 +111,12 @@
|
||||||
<el-button size="small" type="primary" @click="handleCancle">
|
<el-button size="small" type="primary" @click="handleCancle">
|
||||||
{{ $t('common:button:cancel') }}
|
{{ $t('common:button:cancel') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button size="small" type="primary" @click="handleSave">
|
<el-button
|
||||||
|
size="small"
|
||||||
|
type="primary"
|
||||||
|
:loading="loading"
|
||||||
|
@click="handleSave"
|
||||||
|
>
|
||||||
{{ $t('common:button:save') }}
|
{{ $t('common:button:save') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
@ -97,9 +125,36 @@
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import BaseModel from '@/components/BaseModel'
|
import BaseModel from '@/components/BaseModel'
|
||||||
|
import { addOrUpdateResearchPublicationInfo } from '@/api/reviewers'
|
||||||
|
const defaultForm = () => {
|
||||||
|
return {
|
||||||
|
Id: null,
|
||||||
|
Research: '',
|
||||||
|
ResearchCN: '',
|
||||||
|
Grants: '',
|
||||||
|
GrantsCN: '',
|
||||||
|
}
|
||||||
|
}
|
||||||
export default {
|
export default {
|
||||||
name: 'scientificResearchProject',
|
name: 'scientificResearchProject',
|
||||||
components: { BaseModel },
|
components: { BaseModel },
|
||||||
|
props: {
|
||||||
|
DATA: {
|
||||||
|
type: Object,
|
||||||
|
required: true,
|
||||||
|
default: () => {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
reviewerId: {
|
||||||
|
type: String,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
|
isEN: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
model_cfg: {
|
model_cfg: {
|
||||||
|
@ -109,20 +164,43 @@ export default {
|
||||||
title: this.$t('curriculumVitae:scientificResearchProject:form:title'),
|
title: this.$t('curriculumVitae:scientificResearchProject:form:title'),
|
||||||
appendToBody: true,
|
appendToBody: true,
|
||||||
},
|
},
|
||||||
form: {},
|
form: defaultForm(),
|
||||||
rules: {},
|
rules: {},
|
||||||
loading: false,
|
loading: false,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
openEdit() {
|
openEdit() {
|
||||||
|
this.form = defaultForm()
|
||||||
|
Object.keys(this.form).forEach((key) => {
|
||||||
|
if (this.DATA[key]) {
|
||||||
|
this.form[key] = this.DATA[key]
|
||||||
|
}
|
||||||
|
})
|
||||||
this.model_cfg.visible = true
|
this.model_cfg.visible = true
|
||||||
},
|
},
|
||||||
handleCancle() {
|
handleCancle() {
|
||||||
|
this.form = defaultForm()
|
||||||
this.model_cfg.visible = false
|
this.model_cfg.visible = false
|
||||||
},
|
},
|
||||||
handleSave() {
|
async handleSave() {
|
||||||
|
try {
|
||||||
|
let validate = await this.$refs.scientificResearchProjectFrom.validate()
|
||||||
|
if (!validate) return false
|
||||||
|
if (this.reviewerId) {
|
||||||
|
this.form.DoctorId = this.reviewerId
|
||||||
|
}
|
||||||
|
this.loading = true
|
||||||
|
let res = await addOrUpdateResearchPublicationInfo(this.form)
|
||||||
|
this.loading = false
|
||||||
|
if (res.IsSuccess) {
|
||||||
|
this.$emit('getInfo')
|
||||||
this.model_cfg.visible = false
|
this.model_cfg.visible = false
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
this.loading = false
|
||||||
|
console.log(err)
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -128,13 +128,7 @@
|
||||||
@change="(a) => selectOther(a, 'Subspeciality')"
|
@change="(a) => selectOther(a, 'Subspeciality')"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item of [
|
v-for="item of Subspeciality"
|
||||||
...dictionaryList.Subspeciality,
|
|
||||||
{
|
|
||||||
Id: otherId,
|
|
||||||
Value: 'Other',
|
|
||||||
},
|
|
||||||
]"
|
|
||||||
:key="item.Id"
|
:key="item.Id"
|
||||||
:label="item.Value"
|
:label="item.Value"
|
||||||
:value="item.Id"
|
:value="item.Id"
|
||||||
|
@ -184,13 +178,7 @@
|
||||||
@change="(a) => selectOther(a, 'ReadingType')"
|
@change="(a) => selectOther(a, 'ReadingType')"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item of [
|
v-for="item of ReadingType"
|
||||||
...dictionaryList.ReadingType,
|
|
||||||
{
|
|
||||||
Id: otherId,
|
|
||||||
Value: 'Other',
|
|
||||||
},
|
|
||||||
]"
|
|
||||||
:key="item.Id"
|
:key="item.Id"
|
||||||
:label="item.Value"
|
:label="item.Value"
|
||||||
:value="item.Id"
|
:value="item.Id"
|
||||||
|
@ -270,13 +258,24 @@ export default {
|
||||||
type: Object,
|
type: Object,
|
||||||
required: true,
|
required: true,
|
||||||
default: () => {
|
default: () => {
|
||||||
return {}
|
return {
|
||||||
|
ReadingTypeCNList: [],
|
||||||
|
ReadingTypeIds: [],
|
||||||
|
ReadingTypeList: [],
|
||||||
|
SubspecialityCNList: [],
|
||||||
|
SubspecialityIds: [],
|
||||||
|
SubspecialityList: [],
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
reviewerId: {
|
reviewerId: {
|
||||||
type: String,
|
type: String,
|
||||||
default: '',
|
default: '',
|
||||||
},
|
},
|
||||||
|
isEN: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
@ -330,17 +329,36 @@ export default {
|
||||||
},
|
},
|
||||||
loading: false,
|
loading: false,
|
||||||
otherId: 'ef84e9cb-f1a6-49d7-b6da-34be2c12abd5',
|
otherId: 'ef84e9cb-f1a6-49d7-b6da-34be2c12abd5',
|
||||||
dictionaryList: {},
|
dictionaryList: {
|
||||||
|
Subspeciality: [],
|
||||||
|
Department: [],
|
||||||
|
ReadingType: [],
|
||||||
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
|
||||||
isEN() {
|
|
||||||
return this.$i18n.locale !== 'zh'
|
|
||||||
},
|
|
||||||
},
|
|
||||||
mounted() {
|
mounted() {
|
||||||
this.getDicData()
|
this.getDicData()
|
||||||
},
|
},
|
||||||
|
computed: {
|
||||||
|
Subspeciality() {
|
||||||
|
return [
|
||||||
|
...this.dictionaryList.Subspeciality,
|
||||||
|
{
|
||||||
|
Id: this.otherId,
|
||||||
|
Value: 'Other',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
},
|
||||||
|
ReadingType() {
|
||||||
|
return [
|
||||||
|
...this.dictionaryList.ReadingType,
|
||||||
|
{
|
||||||
|
Id: this.otherId,
|
||||||
|
Value: 'Other',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
},
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
openEdit() {
|
openEdit() {
|
||||||
this.form = defaultForm()
|
this.form = defaultForm()
|
||||||
|
|
|
@ -2,13 +2,18 @@
|
||||||
<div class="summarize">
|
<div class="summarize">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
<span>{{ $t('curriculumVitae:summarize:title') }}</span>
|
<span>{{ $t('curriculumVitae:summarize:title') }}</span>
|
||||||
<el-button type="text" class="editBtn" @click.stop="openEdit">
|
<el-button
|
||||||
|
type="text"
|
||||||
|
class="editBtn"
|
||||||
|
:disabled="!reviewerId"
|
||||||
|
@click.stop="openEdit"
|
||||||
|
>
|
||||||
{{ $t('common:button:edit') }}
|
{{ $t('common:button:edit') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
<template v-if="true">
|
<div class="message" v-if="DATA.SummarizeEn || DATA.Summarize">
|
||||||
<div class="message"></div>
|
{{ isEN ? DATA.SummarizeEn : DATA.Summarize }}
|
||||||
</template>
|
</div>
|
||||||
<div class="noData" v-else>{{ $t('curriculumVitae:noData') }}</div>
|
<div class="noData" v-else>{{ $t('curriculumVitae:noData') }}</div>
|
||||||
<base-model :config="model_cfg">
|
<base-model :config="model_cfg">
|
||||||
<template slot="dialog-body">
|
<template slot="dialog-body">
|
||||||
|
@ -22,19 +27,21 @@
|
||||||
>
|
>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('curriculumVitae:summarize:form:summarize')"
|
:label="$t('curriculumVitae:summarize:form:summarize')"
|
||||||
prop="InternationalizationType"
|
prop="Summarize"
|
||||||
>
|
>
|
||||||
<el-input
|
<el-input
|
||||||
:placeholder="
|
:placeholder="
|
||||||
$t('curriculumVitae:summarize:form:placeholder:summarize')
|
$t('curriculumVitae:summarize:form:placeholder:summarize')
|
||||||
"
|
"
|
||||||
|
v-model="form.Summarize"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
:rows="2"
|
:rows="2"
|
||||||
clearable
|
clearable
|
||||||
></el-input>
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="InternationalizationType">
|
<el-form-item prop="SummarizeEn">
|
||||||
<el-input
|
<el-input
|
||||||
|
v-model="form.SummarizeEn"
|
||||||
:placeholder="
|
:placeholder="
|
||||||
$t('curriculumVitae:summarize:form:placeholder:summarizeEN')
|
$t('curriculumVitae:summarize:form:placeholder:summarizeEN')
|
||||||
"
|
"
|
||||||
|
@ -49,7 +56,12 @@
|
||||||
<el-button size="small" type="primary" @click="handleCancle">
|
<el-button size="small" type="primary" @click="handleCancle">
|
||||||
{{ $t('common:button:cancel') }}
|
{{ $t('common:button:cancel') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button size="small" type="primary" @click="handleSave">
|
<el-button
|
||||||
|
size="small"
|
||||||
|
type="primary"
|
||||||
|
:loading="loading"
|
||||||
|
@click="handleSave"
|
||||||
|
>
|
||||||
{{ $t('common:button:save') }}
|
{{ $t('common:button:save') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
@ -58,9 +70,33 @@
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import BaseModel from '@/components/BaseModel'
|
import BaseModel from '@/components/BaseModel'
|
||||||
|
import { updateGneralSituation } from '@/api/reviewers'
|
||||||
|
const defaultForm = () => {
|
||||||
|
return {
|
||||||
|
SummarizeEn: '',
|
||||||
|
Summarize: '',
|
||||||
|
}
|
||||||
|
}
|
||||||
export default {
|
export default {
|
||||||
name: 'summarize',
|
name: 'summarize',
|
||||||
components: { BaseModel },
|
components: { BaseModel },
|
||||||
|
props: {
|
||||||
|
DATA: {
|
||||||
|
type: Object,
|
||||||
|
required: true,
|
||||||
|
default: () => {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
reviewerId: {
|
||||||
|
type: String,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
|
isEN: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
model_cfg: {
|
model_cfg: {
|
||||||
|
@ -70,20 +106,43 @@ export default {
|
||||||
title: this.$t('curriculumVitae:summarize:form:title'),
|
title: this.$t('curriculumVitae:summarize:form:title'),
|
||||||
appendToBody: true,
|
appendToBody: true,
|
||||||
},
|
},
|
||||||
form: {},
|
form: defaultForm(),
|
||||||
rules: {},
|
rules: {},
|
||||||
loading: false,
|
loading: false,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
openEdit() {
|
openEdit() {
|
||||||
|
this.form = defaultForm()
|
||||||
|
Object.keys(this.form).forEach((key) => {
|
||||||
|
if (this.DATA[key]) {
|
||||||
|
this.form[key] = this.DATA[key]
|
||||||
|
}
|
||||||
|
})
|
||||||
this.model_cfg.visible = true
|
this.model_cfg.visible = true
|
||||||
},
|
},
|
||||||
handleCancle() {
|
handleCancle() {
|
||||||
|
this.form = defaultForm()
|
||||||
this.model_cfg.visible = false
|
this.model_cfg.visible = false
|
||||||
},
|
},
|
||||||
handleSave() {
|
async handleSave() {
|
||||||
|
try {
|
||||||
|
let validate = await this.$refs.summarizeFrom.validate()
|
||||||
|
if (!validate) return false
|
||||||
|
if (this.reviewerId) {
|
||||||
|
this.form.Id = this.reviewerId
|
||||||
|
}
|
||||||
|
this.loading = true
|
||||||
|
let res = await updateGneralSituation(this.form)
|
||||||
|
this.loading = false
|
||||||
|
if (res.IsSuccess) {
|
||||||
|
this.$emit('getInfo')
|
||||||
this.model_cfg.visible = false
|
this.model_cfg.visible = false
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
this.loading = false
|
||||||
|
console.log(err)
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,41 +2,19 @@
|
||||||
<div class="treatise">
|
<div class="treatise">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
<span>{{ $t('curriculumVitae:treatise:title') }}</span>
|
<span>{{ $t('curriculumVitae:treatise:title') }}</span>
|
||||||
<el-button type="text" class="editBtn" @click.stop="openEdit">
|
<el-button
|
||||||
{{ $t('common:button:add') }}
|
type="text"
|
||||||
</el-button>
|
class="editBtn"
|
||||||
</div>
|
:disabled="!reviewerId"
|
||||||
<el-table
|
@click.stop="openEdit"
|
||||||
: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') }}
|
{{ $t('common:button:edit') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button type="text" class="editBtn" @click.stop="openEdit">
|
</div>
|
||||||
{{ $t('common:button:delete') }}
|
<div class="message" v-if="DATA.Publications">
|
||||||
</el-button>
|
{{ DATA.Publications }}
|
||||||
</template>
|
</div>
|
||||||
</el-table-column>
|
<div class="noData" v-else>{{ $t('curriculumVitae:noData') }}</div>
|
||||||
</el-table>
|
|
||||||
<base-model :config="model_cfg">
|
<base-model :config="model_cfg">
|
||||||
<template slot="dialog-body">
|
<template slot="dialog-body">
|
||||||
<el-form
|
<el-form
|
||||||
|
@ -47,24 +25,16 @@
|
||||||
label-width="80px"
|
label-width="80px"
|
||||||
size="small"
|
size="small"
|
||||||
>
|
>
|
||||||
<el-form-item
|
|
||||||
:label="$t('curriculumVitae:treatise:form:author')"
|
|
||||||
prop="InternationalizationType"
|
|
||||||
>
|
|
||||||
<el-input clearable></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
|
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('curriculumVitae:treatise:form:name')"
|
:label="$t('curriculumVitae:treatise:form:name')"
|
||||||
prop="InternationalizationType"
|
prop="Publications"
|
||||||
>
|
>
|
||||||
<el-input clearable type="textarea" :rows="2"></el-input>
|
<el-input
|
||||||
</el-form-item>
|
v-model="form.Publications"
|
||||||
<el-form-item
|
clearable
|
||||||
:label="$t('curriculumVitae:treatise:form:publish')"
|
type="textarea"
|
||||||
prop="InternationalizationType"
|
:rows="6"
|
||||||
>
|
></el-input>
|
||||||
<el-input clearable type="textarea" :rows="2"></el-input>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</template>
|
</template>
|
||||||
|
@ -72,7 +42,12 @@
|
||||||
<el-button size="small" type="primary" @click="handleCancle">
|
<el-button size="small" type="primary" @click="handleCancle">
|
||||||
{{ $t('common:button:cancel') }}
|
{{ $t('common:button:cancel') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button size="small" type="primary" @click="handleSave">
|
<el-button
|
||||||
|
size="small"
|
||||||
|
type="primary"
|
||||||
|
:loading="loading"
|
||||||
|
@click="handleSave"
|
||||||
|
>
|
||||||
{{ $t('common:button:save') }}
|
{{ $t('common:button:save') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
@ -81,12 +56,35 @@
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import BaseModel from '@/components/BaseModel'
|
import BaseModel from '@/components/BaseModel'
|
||||||
|
import { addOrUpdateResearchPublicationInfo } from '@/api/reviewers'
|
||||||
|
const defaultForm = () => {
|
||||||
|
return {
|
||||||
|
Id: null,
|
||||||
|
Publications: '',
|
||||||
|
}
|
||||||
|
}
|
||||||
export default {
|
export default {
|
||||||
name: 'treatise',
|
name: 'treatise',
|
||||||
components: { BaseModel },
|
components: { BaseModel },
|
||||||
|
props: {
|
||||||
|
DATA: {
|
||||||
|
type: Object,
|
||||||
|
required: true,
|
||||||
|
default: () => {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
reviewerId: {
|
||||||
|
type: String,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
|
isEN: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
tableData: [],
|
|
||||||
model_cfg: {
|
model_cfg: {
|
||||||
visible: false,
|
visible: false,
|
||||||
showClose: true,
|
showClose: true,
|
||||||
|
@ -94,7 +92,7 @@ export default {
|
||||||
title: this.$t('curriculumVitae:treatise:form:title'),
|
title: this.$t('curriculumVitae:treatise:form:title'),
|
||||||
appendToBody: true,
|
appendToBody: true,
|
||||||
},
|
},
|
||||||
form: {},
|
form: defaultForm(),
|
||||||
rules: {},
|
rules: {},
|
||||||
loading: false,
|
loading: false,
|
||||||
daterange: [],
|
daterange: [],
|
||||||
|
@ -102,13 +100,36 @@ export default {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
openEdit() {
|
openEdit() {
|
||||||
|
this.form = defaultForm()
|
||||||
|
Object.keys(this.form).forEach((key) => {
|
||||||
|
if (this.DATA[key]) {
|
||||||
|
this.form[key] = this.DATA[key]
|
||||||
|
}
|
||||||
|
})
|
||||||
this.model_cfg.visible = true
|
this.model_cfg.visible = true
|
||||||
},
|
},
|
||||||
handleCancle() {
|
handleCancle() {
|
||||||
|
this.form = defaultForm()
|
||||||
this.model_cfg.visible = false
|
this.model_cfg.visible = false
|
||||||
},
|
},
|
||||||
handleSave() {
|
async handleSave() {
|
||||||
|
try {
|
||||||
|
let validate = await this.$refs.treatiseFrom.validate()
|
||||||
|
if (!validate) return false
|
||||||
|
if (this.reviewerId) {
|
||||||
|
this.form.DoctorId = this.reviewerId
|
||||||
|
}
|
||||||
|
this.loading = true
|
||||||
|
let res = await addOrUpdateResearchPublicationInfo(this.form)
|
||||||
|
this.loading = false
|
||||||
|
if (res.IsSuccess) {
|
||||||
|
this.$emit('getInfo')
|
||||||
this.model_cfg.visible = false
|
this.model_cfg.visible = false
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
this.loading = false
|
||||||
|
console.log(err)
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -127,4 +148,13 @@ export default {
|
||||||
.el-date-editor {
|
.el-date-editor {
|
||||||
width: 97%;
|
width: 97%;
|
||||||
}
|
}
|
||||||
|
.message {
|
||||||
|
margin: auto;
|
||||||
|
min-height: 100px;
|
||||||
|
background-color: #eee;
|
||||||
|
padding: 10px;
|
||||||
|
line-height: 30px;
|
||||||
|
border-radius: 5px;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
|
@ -65,17 +65,26 @@
|
||||||
...reviewerData.EmploymentView,
|
...reviewerData.EmploymentView,
|
||||||
}"
|
}"
|
||||||
:reviewerId.sync="reviewerId"
|
:reviewerId.sync="reviewerId"
|
||||||
|
:isEN="isEN"
|
||||||
@getInfo="getDetail"
|
@getInfo="getDetail"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="box" id="summarize">
|
<div class="box" id="summarize">
|
||||||
<summarize />
|
<summarize
|
||||||
|
:DATA="{
|
||||||
|
...reviewerData.SummarizeInfo,
|
||||||
|
}"
|
||||||
|
:reviewerId.sync="reviewerId"
|
||||||
|
:isEN="isEN"
|
||||||
|
@getInfo="getDetail"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="box" id="specialty">
|
<div class="box" id="specialty">
|
||||||
<specialty
|
<specialty
|
||||||
:DATA="{
|
:DATA="{
|
||||||
...reviewerData.SpecialtyView,
|
...reviewerData.SpecialtyView,
|
||||||
}"
|
}"
|
||||||
|
:isEN="isEN"
|
||||||
:reviewerId.sync="reviewerId"
|
:reviewerId.sync="reviewerId"
|
||||||
@getInfo="getDetail"
|
@getInfo="getDetail"
|
||||||
/>
|
/>
|
||||||
|
@ -83,27 +92,58 @@
|
||||||
<div class="box" id="educationalExperience">
|
<div class="box" id="educationalExperience">
|
||||||
<educationalExperience
|
<educationalExperience
|
||||||
:DATA="reviewerData.EducationList"
|
:DATA="reviewerData.EducationList"
|
||||||
|
:isEN="isEN"
|
||||||
:reviewerId.sync="reviewerId"
|
:reviewerId.sync="reviewerId"
|
||||||
@getInfo="getDetail"
|
@getInfo="getDetail"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="box" id="continuingTraining">
|
<div class="box" id="continuingTraining">
|
||||||
<continuingTraining />
|
<continuingTraining
|
||||||
|
:DATA="reviewerData.PostgraduateList"
|
||||||
|
:isEN="isEN"
|
||||||
|
:reviewerId.sync="reviewerId"
|
||||||
|
@getInfo="getDetail"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="box" id="scientificResearchProject">
|
<div class="box" id="scientificResearchProject">
|
||||||
<scientificResearchProject />
|
<scientificResearchProject
|
||||||
|
:DATA="{ ...reviewerData.ResearchPublicationView }"
|
||||||
|
:isEN="isEN"
|
||||||
|
:reviewerId.sync="reviewerId"
|
||||||
|
@getInfo="getDetail"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="box" id="clinicalTrials">
|
<div class="box" id="clinicalTrials">
|
||||||
<clinicalTrials />
|
<clinicalTrials
|
||||||
|
:DATA="{ ...reviewerData.TrialExperienceView }"
|
||||||
|
:isEN="isEN"
|
||||||
|
:reviewerId.sync="reviewerId"
|
||||||
|
@getInfo="getDetail"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="box" id="treatise">
|
<div class="box" id="treatise">
|
||||||
<treatise />
|
<treatise
|
||||||
|
:DATA="{ ...reviewerData.ResearchPublicationView }"
|
||||||
|
:isEN="isEN"
|
||||||
|
:reviewerId.sync="reviewerId"
|
||||||
|
@getInfo="getDetail"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="box" id="other">
|
<div class="box" id="other">
|
||||||
<other />
|
<other
|
||||||
|
:DATA="{ ...reviewerData.ResearchPublicationView }"
|
||||||
|
:isEN="isEN"
|
||||||
|
:reviewerId.sync="reviewerId"
|
||||||
|
@getInfo="getDetail"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="box" id="pay">
|
<div class="box" id="pay">
|
||||||
<pay />
|
<pay
|
||||||
|
:DATA="{ ...reviewerData.PaymentModeInfo }"
|
||||||
|
:isEN="isEN"
|
||||||
|
:reviewerId.sync="reviewerId"
|
||||||
|
@getInfo="getDetail"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="rightFile">
|
<div class="rightFile">
|
||||||
|
@ -164,9 +204,26 @@ export default {
|
||||||
reviewerData: {
|
reviewerData: {
|
||||||
BasicInfoView: {},
|
BasicInfoView: {},
|
||||||
EmploymentView: {},
|
EmploymentView: {},
|
||||||
|
AckSowList: [],
|
||||||
|
AttachmentList: [],
|
||||||
|
AuditView: {},
|
||||||
|
EducationList: [],
|
||||||
|
IntoGroupInfo: {},
|
||||||
|
PaymentModeInfo: {},
|
||||||
|
PostgraduateList: [],
|
||||||
|
ResearchPublicationView: {},
|
||||||
|
SowList: [],
|
||||||
|
SpecialtyView: {},
|
||||||
|
SummarizeInfo: {},
|
||||||
|
TrialExperienceView: {},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
computed: {
|
||||||
|
isEN() {
|
||||||
|
return this.$i18n.locale !== 'zh'
|
||||||
|
},
|
||||||
|
},
|
||||||
async created() {
|
async created() {
|
||||||
this.$i18n.locale = this.$route.query.lang
|
this.$i18n.locale = this.$route.query.lang
|
||||||
await this.setLanguage(this.$route.query.lang)
|
await this.setLanguage(this.$route.query.lang)
|
||||||
|
@ -229,7 +286,9 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 把下标赋值给 vue 的 data
|
// 把下标赋值给 vue 的 data
|
||||||
|
if (navItem) {
|
||||||
this.activeIndex = navItem.id
|
this.activeIndex = navItem.id
|
||||||
|
}
|
||||||
},
|
},
|
||||||
// 预览简历
|
// 预览简历
|
||||||
openPreview() {
|
openPreview() {
|
||||||
|
|
|
@ -1,21 +1,25 @@
|
||||||
<template>
|
<template>
|
||||||
<div style="text-align: right">
|
<div style="text-align: right">
|
||||||
<!--导出-->
|
<!--导出-->
|
||||||
<el-button type="primary" :disabled="!(trialCriterionList.length>0)" icon="el-icon-download" size="mini" @click="handleExport(0)" style="margin-bottom: 10px">
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
:disabled="!(trialCriterionList.length > 0)"
|
||||||
|
icon="el-icon-download"
|
||||||
|
size="mini"
|
||||||
|
@click="handleExport(0)"
|
||||||
|
style="margin-bottom: 10px"
|
||||||
|
>
|
||||||
{{ $t('common:button:export') }}
|
{{ $t('common:button:export') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-tabs type="border-card" v-model="TrialReadingCriterionId">
|
<el-tabs type="border-card" v-model="TrialReadingCriterionId">
|
||||||
<el-tab-pane :label="i.TrialReadingCriterionName" :name="i.TrialReadingCriterionId" v-for="i of trialCriterionList" :key="i.TrialReadingCriterionId">
|
<el-tab-pane
|
||||||
<el-table
|
:label="i.TrialReadingCriterionName"
|
||||||
v-loading="loading"
|
:name="i.TrialReadingCriterionId"
|
||||||
:data="list"
|
v-for="i of trialCriterionList"
|
||||||
border
|
:key="i.TrialReadingCriterionId"
|
||||||
stripe
|
|
||||||
>
|
|
||||||
<el-table-column
|
|
||||||
label=""
|
|
||||||
:min-width="50"
|
|
||||||
>
|
>
|
||||||
|
<el-table v-loading="loading" :data="list" border stripe>
|
||||||
|
<el-table-column label="" :min-width="50">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ scope.$index + 1 }}
|
{{ scope.$index + 1 }}
|
||||||
</template>
|
</template>
|
||||||
|
@ -52,35 +56,51 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getReadingTaskList_Export, getTrialReadingCriterionCanExportDocumentList, getOverallTumorEvaluationList_Export, getEvaluationOfTumorEfficacy_Export, getDetailedOfEvaluatedLesion_Export } from '@/api/export'
|
import {
|
||||||
|
getCommonEvaluationList_Export,
|
||||||
|
getCommonJudgeRatioList_Export,
|
||||||
|
getReadingTaskList_Export,
|
||||||
|
getTrialReadingCriterionCanExportDocumentList,
|
||||||
|
getOverallTumorEvaluationList_Export,
|
||||||
|
getEvaluationOfTumorEfficacy_Export,
|
||||||
|
getDetailedOfEvaluatedLesion_Export,
|
||||||
|
} from '@/api/export'
|
||||||
import { getTrialCriterionList } from '@/api/trials/reading'
|
import { getTrialCriterionList } from '@/api/trials/reading'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "exportList",
|
name: 'exportList',
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loading: false,
|
loading: false,
|
||||||
trialCriterionList: [],
|
trialCriterionList: [],
|
||||||
TrialReadingCriterionId: null,
|
TrialReadingCriterionId: null,
|
||||||
trialId: null,
|
trialId: null,
|
||||||
list: []
|
list: [],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
data: {
|
data: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default() { return {} }
|
default() {
|
||||||
}
|
return {}
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
TrialReadingCriterionId(v) {
|
TrialReadingCriterionId(v) {
|
||||||
if (v === '0') return
|
if (v === '0') return
|
||||||
this.loading = true
|
this.loading = true
|
||||||
getTrialReadingCriterionCanExportDocumentList({TrialReadingCriterionId: v}).then(res => {
|
getTrialReadingCriterionCanExportDocumentList({
|
||||||
|
TrialReadingCriterionId: v,
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
this.list = res.Result
|
this.list = res.Result
|
||||||
this.loading = false
|
this.loading = false
|
||||||
}).catch(() => { this.loading = true })
|
})
|
||||||
}
|
.catch(() => {
|
||||||
|
this.loading = true
|
||||||
|
})
|
||||||
|
},
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.trialId = this.$route.query.trialId
|
this.trialId = this.$route.query.trialId
|
||||||
|
@ -92,33 +112,64 @@ name: "exportList",
|
||||||
searchData.TrialReadingCriterionId = this.TrialReadingCriterionId
|
searchData.TrialReadingCriterionId = this.TrialReadingCriterionId
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case 0:
|
case 0:
|
||||||
getReadingTaskList_Export(searchData).then(res => {
|
getReadingTaskList_Export(searchData)
|
||||||
}).catch(() => { this.loading = false })
|
.then((res) => {})
|
||||||
break;
|
.catch(() => {
|
||||||
case 1:
|
this.loading = false
|
||||||
getOverallTumorEvaluationList_Export(searchData).then(res => {
|
})
|
||||||
}).catch(() => { this.loading = false })
|
break
|
||||||
break;
|
case 4:
|
||||||
case 2:
|
searchData.ReadingExportType = 0
|
||||||
getEvaluationOfTumorEfficacy_Export(searchData).then(res => {
|
getCommonEvaluationList_Export(searchData)
|
||||||
}).catch(() => { this.loading = false })
|
.then((res) => {})
|
||||||
|
.catch(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
break
|
||||||
|
case 5:
|
||||||
|
searchData.ReadingExportType = 1
|
||||||
|
getCommonEvaluationList_Export(searchData)
|
||||||
|
.then((res) => {})
|
||||||
|
.catch(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
break
|
||||||
|
case 6:
|
||||||
|
searchData.ReadingExportType = 2
|
||||||
|
getCommonEvaluationList_Export(searchData)
|
||||||
|
.then((res) => {})
|
||||||
|
.catch(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
break
|
||||||
|
case 7:
|
||||||
|
getCommonJudgeRatioList_Export(searchData)
|
||||||
|
.then((res) => {})
|
||||||
|
.catch(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
break
|
||||||
|
case 8:
|
||||||
|
getCommonJudgeRatioList_Export(searchData)
|
||||||
|
.then((res) => {})
|
||||||
|
.catch(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
break
|
break
|
||||||
case 3:
|
|
||||||
getDetailedOfEvaluatedLesion_Export(searchData).then(res => {
|
|
||||||
}).catch(() => { this.loading = false })
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
getTrialCriterionList() {
|
getTrialCriterionList() {
|
||||||
getTrialCriterionList(this.trialId).then(res => {
|
getTrialCriterionList(this.trialId)
|
||||||
|
.then((res) => {
|
||||||
this.trialCriterionList = res.Result
|
this.trialCriterionList = res.Result
|
||||||
this.TrialReadingCriterionId = this.trialCriterionList[0].TrialReadingCriterionId
|
this.TrialReadingCriterionId =
|
||||||
}).catch(() => {})
|
this.trialCriterionList[0].TrialReadingCriterionId
|
||||||
}
|
})
|
||||||
}
|
.catch(() => {})
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
Loading…
Reference in New Issue