Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web into main
continuous-integration/drone/push Build is passing Details

uat_us
caiyiling 2024-10-22 15:10:17 +08:00
commit 0633e775d4
15 changed files with 1053 additions and 275 deletions

View File

@ -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
})
}

View File

@ -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
})
}

View File

@ -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}`

View File

@ -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: [],

View File

@ -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
}
}, },
}, },
} }

View File

@ -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()

View File

@ -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()

View File

@ -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)
}
}, },
}, },
} }

View File

@ -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)
}
}, },
}, },
} }

View File

@ -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)
}
}, },
}, },
} }

View File

@ -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()

View File

@ -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)
}
}, },
}, },
} }

View File

@ -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>

View File

@ -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() {

View File

@ -1,23 +1,27 @@
<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>
</el-table-column> </el-table-column>
<!-- 文件名称 --> <!-- 文件名称 -->
@ -52,73 +56,120 @@
</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
this.getTrialCriterionList() this.getTrialCriterionList()
}, },
methods: { methods: {
handleExport(type) { handleExport(type) {
var searchData = {...this.data} var searchData = { ...this.data }
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>