uat_us
caiyiling 2024-03-04 17:56:22 +08:00
commit 2ba19fd395
27 changed files with 597 additions and 542 deletions

View File

@ -14,8 +14,8 @@
:on-exceed="handleExceed"
accept=".pdf"
>
<el-button size="small" type="primary" :disabled="btnDisabled || $route.query.ReviewStatus === '1'" >Upload</el-button>
<span slot="tip" class="el-upload__tip">(must be in pdf format. 1/2 pages, please confirm information integrity)</span>
<el-button size="small" type="primary" :disabled="btnDisabled || $route.query.ReviewStatus === '1'" >{{ $t('system:GcpCertificate:upload:Upload') }}</el-button>
<span slot="tip" class="el-upload__tip">{{$t('system:GcpCertificate:tap:must2') }}</span>
</el-upload>
</div>
</template>

View File

@ -40,6 +40,7 @@
</el-dropdown-menu>
</el-dropdown>
</div>
<TopLang></TopLang>
</div>
</div>
</div>
@ -50,12 +51,15 @@ import {mapGetters, mapMutations} from 'vuex'
import Breadcrumb from '@/components/Breadcrumb'
import Hamburger from '@/components/Hamburger'
import Screenfull from '@/components/Screenfull'
import TopLang from './topLang'
export default {
components: {
Breadcrumb,
Hamburger,
Screenfull
Screenfull,
TopLang
},
data() {
return {

View File

@ -0,0 +1,54 @@
<template>
<el-dropdown
style="height:50px;line-height: 60px;"
@command="handleSetLanguage"
>
<span class="el-dropdown-link">
<svg-icon icon-class="language" style="font-size:25px;margin:0 10px;" />
<!-- {{ language==='zh'?'语言:中文':'Language: English' }} -->
<!-- <i class="el-icon-arrow-down el-icon--right" /> -->
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item
:disabled="language==='zh'"
command="zh"
>中文
</el-dropdown-item>
<el-dropdown-item
:disabled="language==='en'"
command="en"
>English
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
<script>
import { mapGetters, mapMutations } from 'vuex'
export default {
name: 'TopLang',
data() {
return {}
},
computed: {
...mapGetters({
language: 'language'
})
},
methods: {
...mapMutations({ setLanguage: 'lang/setLanguage' }),
handleSetLanguage(lang) {
this.$i18n.locale = lang
this.setLanguage(lang)
this.$updateDictionary()
window.location.reload()
}
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@ -1,21 +1,21 @@
<template>
<div v-loading="loading" class="resumes-container">
<div class="resume-content" v-if="!$route.query.ReviewStatus">
<p>Consultant Agreement</p>
<p>{{$t('system:Agreements:title:Consultant Agreement')}}</p>
<div class="upload-content">
<upload-files ref="uploadAgreement" :disabled="$route.query.ReviewStatus === '1'" :doctor-id="doctorId" type="Consultant Agreement" accept=".pdf" @getFileList="getFileList" />
</div>
<p>(must be in pdf format)</p>
<p>{{ $t('system:GcpCertificate:tap:must') }}</p>
</div>
<div v-if="!$route.query.ReviewStatus">
<el-table :data="agreementList" size="small">
<el-table-column type="index" width="40" />
<el-table-column prop="FileName" label="Consultant Agreement" width="300" />
<el-table-column prop="CreateTime" label="Upload Time" width="150" />
<el-table-column label="Action" width="400">
<el-table-column prop="FileName" :label="$t('system:Agreements:table:Consultant Agreement')" width="300" />
<el-table-column prop="CreateTime" :label="$t('system:Agreements:table:Upload Time')" width="150" />
<el-table-column :label="$t('common:action:action')" width="400">
<template slot-scope="scope">
<el-button type="text" size="small" @click="handlePreview(scope.row)">View</el-button>
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleRemoveFile(scope.row)">Delete</el-button>
<el-button type="text" size="small" @click="handlePreview(scope.row)">{{$t('trials:enrolledReviews:button:view')}}</el-button>
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleRemoveFile(scope.row)">{{$t('common:button:delete')}}</el-button>
</template>
</el-table-column>
</el-table>
@ -24,21 +24,22 @@
<span style="margin-right: 20px">
{{$t('trials:enrolledReviews:message:SOW')}}
</span>
<el-button size="small" type="primary" :disabled="$route.query.ReviewStatus === '1'" @click="addCol(0, $t('trials:enrolledReviews:message:SOW'))">Upload</el-button>
<el-button size="small" type="primary" :disabled="$route.query.ReviewStatus === '1'" @click="addCol(0, $t('trials:enrolledReviews:message:SOW'))">
{{ $t('common:button:upload') }}</el-button>
<el-button size="small" type="primary" @click="handleDownload('Reviewer_SOW_Template')">
<i class="el-icon-view el-icon-download"></i>
Template
{{ $t('common:button:template') }}
</el-button>
</div>
<el-table :data="sowList" size="small">
<el-table-column type="index" width="40" />
<el-table-column label="Criterion Type" width="120">
<el-table-column :label="$t('system:Agreements:table:Criterion Type')" width="120">
<template slot-scope="scope">
{{ scope.row.CriterionName }}
</template>
</el-table-column>
<el-table-column prop="FileName" label="Statement of Work" width="400" />
<el-table-column prop="IsEnable" label="Is Enable" width="100">
<el-table-column prop="FileName" :label="$t('system:Agreements:table:Statement of Work')" width="400" />
<el-table-column prop="IsEnable" :label="$t('system:Agreements:table:Is Enable')" width="100">
<template slot-scope="scope">
<el-switch
v-model="scope.row.IsEnable"
@ -48,13 +49,14 @@
/>
</template>
</el-table-column>
<el-table-column prop="Remark" label="Remark" width="200" />
<el-table-column prop="CreateTime" label="Upload Time" width="150" />
<el-table-column label="Action" width="400">
<el-table-column prop="Remark" :label="$t('system:Agreements:Remark')" width="200" />
<el-table-column prop="CreateTime" :label="$t('system:Agreements:Upload Time')" width="150" />
<el-table-column :label="$t('common:action:action')" width="400">
<template slot-scope="scope">
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handlePreview3(scope.row)">View</el-button>
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleEditCol(scope.row, 0, $t('trials:enrolledReviews:message:SOW'))">Edit</el-button>
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleRemoveFile3(scope.row)">Delete</el-button>
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handlePreview3(scope.row)">{{$t('trials:enrolledReviews:button:view')}}</el-button>
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleEditCol(scope.row, 0, $t('trials:enrolledReviews:message:SOW'))">
{{ $t('common:button:edit') }}</el-button>
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleRemoveFile3(scope.row)">{{ $t('common:button:delete') }}</el-button>
</template>
</el-table-column>
</el-table>
@ -66,13 +68,13 @@
</div>
<el-table :data="ackSowList" size="small" v-if="!$route.query.ReviewStatus">
<el-table-column type="index" width="40" />
<el-table-column label="Criterion Type" width="120">
<el-table-column :label="$t('system:Agreements:table:Criterion Type')" width="120">
<template slot-scope="scope">
{{ scope.row.CriterionName }}
</template>
</el-table-column>
<el-table-column prop="FileName" label="Acknowledgement of SOW" width="400" />
<el-table-column prop="IsEnable" label="Is Enable" width="100">
<el-table-column prop="FileName" :label="$t('system:Agreements:table:Acknowledgement of SOW')" width="400" />
<el-table-column prop="IsEnable" :label="$t('system:Agreements:table:Is Enable')" width="100">
<template slot-scope="scope">
<el-switch
v-model="scope.row.IsEnable"
@ -82,13 +84,13 @@
/>
</template>
</el-table-column>
<el-table-column prop="Remark" label="Remark" width="200" />
<el-table-column prop="CreateTime" label="Upload Time" width="150" />
<el-table-column prop="Remark" :label="$t('system:Agreements:table:Remark')" width="200" />
<el-table-column prop="CreateTime" :label="$t('system:Agreements:table:Upload Time')" width="150" />
<el-table-column label="Action" width="400">
<template slot-scope="scope">
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handlePreview3(scope.row)">View</el-button>
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleEditCol(scope.row, 1, $t('trials:enrolledReviews:message:EQC'))">Edit</el-button>
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleRemoveFile3(scope.row)">Delete</el-button>
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handlePreview3(scope.row)">{{$t('common:button:view')}}</el-button>
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleEditCol(scope.row, 1, $t('trials:enrolledReviews:message:EQC'))">{{$t('common:button:edit')}}</el-button>
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleRemoveFile3(scope.row)">{{$t('common:button:delete')}}</el-button>
</template>
</el-table-column>
</el-table>
@ -101,7 +103,7 @@
label-width="120px"
size="small"
>
<el-form-item label="Criterion Type " prop="CriterionType">
<el-form-item :label="$t('system:Agreements:label:Criterion Type')" prop="CriterionType">
<el-select v-model="form.CriterionType">
<el-option
v-for="item of $d.CriterionType"
@ -111,7 +113,7 @@
/>
</el-select>
</el-form-item>
<el-form-item label="File" prop="FilePath">
<el-form-item :label="$t('system:Agreements:label:File')" prop="FilePath">
<el-upload
class="upload-demo"
action
@ -126,11 +128,11 @@
<el-button size="small" type="primary" :disabled="fileList.length > 0">{{$t('common:button:upload')}}</el-button>
</el-upload>
</el-form-item>
<el-form-item label="Remark">
<el-form-item :label="$t('system:Agreements:label:Remark')">
<el-input v-model="form.Remark" type="textarea"
:autosize="{ minRows: 2, maxRows: 4}"></el-input>
</el-form-item>
<el-form-item label="Is Enable">
<el-form-item :label="$t('system:Agreements:label:Is Enable')">
<el-switch
v-model="form.IsEnable"
:active-value="true"
@ -140,8 +142,8 @@
</el-form>
</template>
<template slot="dialog-footer">
<el-button :disabled="btnLoading" size="small" type="primary" @click="handleCancle">Cancel</el-button>
<el-button size="small" type="primary" :loading="btnLoading" @click="handleSave">Save</el-button>
<el-button :disabled="btnLoading" size="small" type="primary" @click="handleCancle">{{ $t('common:button:cancel') }}</el-button>
<el-button size="small" type="primary" :loading="btnLoading" @click="handleSave">{{ $t('common:button:save') }}</el-button>
</template>
</BaseModel>
</div>

View File

@ -15,31 +15,31 @@
>
<el-row>
<el-col :span="12">
<el-form-item v-if="basicInfo.ReviewerCode" label="ID: ">
<el-form-item v-if="basicInfo.ReviewerCode" :label="$t('system:reviewer:label:Id')">
<el-input v-model="basicInfo.ReviewerCode" disabled size="small" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="Last Name: " prop="LastName">
<el-form-item :label="$t('system:reviewer:label:LastName')" prop="LastName">
<el-input v-model="basicInfo.LastName" :disabled="$route.query.ReviewStatus === '1'" size="small" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="First Name: " prop="FirstName">
<el-form-item :label="$t('system:reviewer:label:FirstName')" prop="FirstName">
<el-input v-model="basicInfo.FirstName" :disabled="$route.query.ReviewStatus === '1'" size="small" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="Name CN: " prop="ChineseName">
<el-form-item :label="$t('system:reviewer:label:NameCN')" prop="ChineseName">
<el-input v-model="basicInfo.ChineseName" :disabled="$route.query.ReviewStatus === '1'" size="small" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="Gender: " prop="Sex">
<el-form-item :label="$t('system:reviewer:label:Gender')" prop="Sex">
<el-select
v-model="basicInfo.Sex"
prop="Sex"
@ -59,12 +59,12 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="Phone: " prop="Phone">
<el-form-item :label="$t('system:reviewer:label:Phone')" prop="Phone">
<el-input :disabled="$route.query.ReviewStatus === '1'" v-model="basicInfo.Phone" size="small" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="Title: " prop="TitleIds">
<el-form-item :label="$t('system:reviewer:label:Title')" prop="TitleIds">
<el-select
:disabled="$route.query.ReviewStatus === '1'"
v-model="basicInfo.TitleIds[0]"
@ -89,7 +89,7 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="EMail: " prop="EMail">
<el-form-item :label="$t('system:reviewer:label:Email')" prop="EMail">
<el-input v-model="basicInfo.EMail" :disabled="$route.query.ReviewStatus === '1'" size="small" />
</el-form-item>
</el-col>
@ -106,7 +106,7 @@
</el-radio-group>
</el-form-item> -->
<el-form-item label="Country: " prop="Nation">
<el-form-item :label="$t('system:reviewer:label:Country')" prop="Nation">
<el-select
:disabled="$route.query.ReviewStatus === '1'"
v-model="basicInfo.Nation"
@ -129,7 +129,7 @@
:loading="isDisabled"
size="small"
@click="handleSave"
>Save</el-button>
> {{ $t('common:button:save') }}</el-button>
</el-form-item>
</el-row>
</el-form>

View File

@ -2,7 +2,7 @@
<div class="credentials-container">
<div class="clearfix">
<el-card class="e-card">
<p class="title">Diploma of the highest medical degree 最高医学学位毕业证书
<p class="title">{{$t('system:Credentials:title:Diploma of the highest medical degree')}}
</p>
<upload-file :doctor-id="doctorId" type="Diploma of the highest medical degree" />
<!-- <el-button size="mini" type="primary" style="position: absolute;bottom:10px;right: 10px;" @click="handleDownload('Reviewer_DiplomaOfTheHighestMedicalDegree_Template')">-->
@ -12,7 +12,7 @@
</el-card>
<el-card class="e-card">
<p class="title">Medical Qualification Certificate 医师资格证
<p class="title">{{$t('system:Credentials:title:Medical Qualification Certificate')}}
<!-- <el-button size="mini" type="primary" style="position: absolute;bottom:10px;right: 10px;" @click="handleDownload('Reviewer_MedicalQualificationCertificate_Template')">-->
<!-- <i class="el-icon-view el-icon-download"></i>-->
<!-- Template-->
@ -22,7 +22,7 @@
</el-card>
<el-card class="e-card">
<p class="title">Practice License 医师执业证
<p class="title">{{$t('system:Credentials:title:Practice License')}}
<!-- <el-button size="mini" type="primary" style="position: absolute;bottom:10px;right: 10px;" @click="handleDownload('Reviewer_PracticeLicense_Template')">-->
<!-- <i class="el-icon-view el-icon-download"></i>-->
<!-- Template-->
@ -31,7 +31,7 @@
<upload-file :doctor-id="doctorId" type="Practice License" />
</el-card>
</div>
<h6 style="line-height:30px;font-size:13px;">Modality Certificate 大型医用设备上岗证</h6>
<h6 style="line-height:30px;font-size:13px;">{{$t('system:Credentials:title:Modality Certificate')}}</h6>
<div class="clearfix">
<el-card class="e-card">
<p class="title">CT

View File

@ -1,8 +1,9 @@
<template>
<div v-loading="loading" class="form-container">
<div class="title-wrapper">
<p>Education (in chronological order)</p>
<el-button class="add" :disabled="$route.query.ReviewStatus === '1'" size="small" @click="handleAddEducation">Add</el-button>
<p>{{ $t('system:reviewer:title:Education') }}</p>
<el-button class="add" :disabled="$route.query.ReviewStatus === '1'" size="small" @click="handleAddEducation">
{{ $t('common:button:add') }}</el-button>
</div>
<el-table
ref="educationTbl"
@ -14,29 +15,29 @@
<el-table-column type="index" width="30" />
<el-table-column
prop="BeginDateStr"
label="Start"
:label="$t('system:EducationTraining:table:Start')"
min-width="55"
show-overflow-tooltip
/>
<el-table-column
prop="EndDateStr"
label="End"
:label="$t('system:EducationTraining:table:End')"
min-width="55"
show-overflow-tooltip
/>
<el-table-column prop="Degree" label="Degree" min-width="70" show-overflow-tooltip>
<el-table-column prop="Degree" :label="$t('system:EducationTraining:table:Degree')" min-width="70" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.DegreeCN?`${scope.row.Degree} / ${scope.row.DegreeCN}`:scope.row.Degree }}
</template>
</el-table-column>
<el-table-column prop="Major" label="Major" min-width="120" show-overflow-tooltip>
<el-table-column prop="Major" :label="$t('system:EducationTraining:table:Major')" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.MajorCN?`${scope.row.Major} / ${scope.row.MajorCN}`:scope.row.Major }}
</template>
</el-table-column>
<el-table-column
prop="Organization"
label="Institution"
:label="$t('system:EducationTraining:table:Institution')"
min-width="150"
show-overflow-tooltip
>
@ -44,32 +45,35 @@
{{ scope.row.OrganizationCN?`${scope.row.Organization} / ${scope.row.OrganizationCN}`:scope.row.Organization }}
</template>
</el-table-column>
<el-table-column prop="City" label="City" min-width="90" show-overflow-tooltip>
<el-table-column prop="City" :label="$t('system:EducationTraining:table:City')" min-width="90" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.CityCN?`${scope.row.City} / ${scope.row.CityCN}`:scope.row.City }}
</template>
</el-table-column>
<el-table-column prop="Province" label="State/Province" min-width="90" show-overflow-tooltip>
<el-table-column prop="Province" :label="$t('system:EducationTraining:table:State/Province')" min-width="90" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.ProvinceCN?`${scope.row.Province} / ${scope.row.ProvinceCN}`:scope.row.Province }}
</template>
</el-table-column>
<el-table-column prop="Country" label="Country" min-width="80" show-overflow-tooltip>
<el-table-column prop="Country" :label="$t('system:EducationTraining:table:Country')" min-width="80" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.CountryCN?`${scope.row.Country} / ${scope.row.CountryCN}`:scope.row.Country }}
</template>
</el-table-column>
<el-table-column label="Operation" min-width="120">
<el-table-column :label="$t('system:EducationTraining:table:Operation')" min-width="120">
<template slot-scope="scope">
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleEducationEdit(scope.row)">Edit</el-button>
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleEducationDelete(scope.row)">Delete</el-button>
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleEducationEdit(scope.row)">
{{ $t('common:button:edit') }}</el-button>
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleEducationDelete(scope.row)">
{{ $t('common:button:delete') }}</el-button>
</template>
</el-table-column>
</el-table>
<div class="title-wrapper" style="margin-top:40px;">
<p>Postgraduate Training (in chronological order)</p>
<el-button class="add" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleAddPostgraduate">Add</el-button>
<p>{{ $t('system:reviewer:title:Postgraduate') }}</p>
<el-button class="add" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleAddPostgraduate">
{{ $t('common:button:add') }}</el-button>
</div>
<el-table
ref="postgraduateTbl"
@ -81,24 +85,24 @@
<el-table-column type="index" width="30" />
<el-table-column
prop="BeginDateStr"
label="Start"
:label="$t('system:EducationTraining:table:Start')"
min-width="55"
show-overflow-tooltip
/>
<el-table-column
prop="EndDateStr"
label="End"
:label="$t('system:EducationTraining:table:End')"
min-width="55"
show-overflow-tooltip
/>
<el-table-column prop="Training" label="Training" min-width="70" show-overflow-tooltip>
<el-table-column prop="Training" :label="$t('system:EducationTraining:table:Training')" min-width="70" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.TrainingCN?`${scope.row.Training} / ${scope.row.TrainingCN}`:scope.row.Training }}
</template>
</el-table-column>
<el-table-column
prop="Major"
label="Specialty/Research Field"
:label="$t('system:EducationTraining:table:Specialty/Research Field')"
min-width="155"
show-overflow-tooltip
>
@ -106,32 +110,32 @@
{{ scope.row.MajorCN?`${scope.row.Major} / ${scope.row.MajorCN}`:scope.row.Major }}
</template>
</el-table-column>
<el-table-column prop="Hospital" label="Hospital" min-width="120" show-overflow-tooltip>
<el-table-column prop="Hospital" :label="$t('system:EducationTraining:table:Hospital')" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.HospitalCN?`${scope.row.Hospital} / ${scope.row.HospitalCN}`:scope.row.Hospital }}
</template>
</el-table-column>
<el-table-column prop="School" label="University" min-width="120" show-overflow-tooltip>
<el-table-column prop="School" :label="$t('system:EducationTraining:table:University')" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.SchoolCN?`${scope.row.School} / ${scope.row.SchoolCN}`:scope.row.School }}
</template>
</el-table-column>
<el-table-column prop="City" label="City" min-width="100" show-overflow-tooltip>
<el-table-column prop="City" :label="$t('system:EducationTraining:table:City')" min-width="100" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.CityCN?`${scope.row.City} / ${scope.row.CityCN}`:scope.row.City }}
</template>
</el-table-column>
<el-table-column prop="Province" label="State/Province" min-width="100" show-overflow-tooltip>
<el-table-column prop="Province" :label="$t('system:EducationTraining:table:State/Province')" min-width="100" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.ProvinceCN?`${scope.row.Province} / ${scope.row.ProvinceCN}`:scope.row.Province }}
</template>
</el-table-column>
<el-table-column prop="Country" label="Country" min-width="90" show-overflow-tooltip>
<el-table-column prop="Country" :label="$t('system:EducationTraining:table:Country')" min-width="90" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.CountryCN?`${scope.row.Country} / ${scope.row.CountryCN}`:scope.row.Country }}
</template>
</el-table-column>
<el-table-column label="Operation" min-width="120">
<el-table-column :label="$t('system:EducationTraining:table:Operation')" min-width="120">
<template slot-scope="scope">
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handlePostgraduateEdit(scope.row)">Edit</el-button>
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handlePostgraduateDelete(scope.row)">Delete</el-button>
@ -147,7 +151,7 @@
:close-on-click-modal="false"
>
<el-form v-if="educationDialogVisible" ref="educationForm" size="small" label-width="120px" :model="educationForm" :rules="educationRules">
<el-form-item label="Start" prop="BeginDate">
<el-form-item :label="$t('system:EducationTraining:table:Start')" prop="BeginDate">
<el-date-picker
v-model="educationForm.BeginDate"
type="month"
@ -158,7 +162,7 @@
:picker-options="beginPickerOption"
/>
</el-form-item>
<el-form-item label="End" prop="EndDate">
<el-form-item :label="$t('system:EducationTraining:table:End')" prop="EndDate">
<el-date-picker
v-model="educationForm.EndDate"
type="month"
@ -169,8 +173,8 @@
:picker-options="endpickerOption"
/>
</el-form-item>
<el-form-item label="Degree" prop="Degree">
<el-select v-model="educationForm.Degree" placeholder="Please select" size="small">
<el-form-item :label="$t('system:EducationTraining:table:Degree')" prop="Degree">
<el-select v-model="educationForm.Degree" size="small">
<el-option
v-for="item in degreeOptions"
:key="item.value"
@ -180,7 +184,7 @@
</el-select>
</el-form-item>
<el-form-item label="Major" prop="Major">
<el-form-item :label="$t('system:EducationTraining:table:Major')" prop="Major">
<el-row type="flex" justify="space-between">
<el-col :span="11">
<el-input v-model="educationForm.Major" placeholder="Please specify in English" size="small" />
@ -190,7 +194,7 @@
</el-col>
</el-row>
</el-form-item>
<el-form-item label="Institution" prop="Organization">
<el-form-item :label="$t('system:EducationTraining:table:Institution')" prop="Organization">
<el-row type="flex" justify="space-between">
<el-col :span="11">
<el-input v-model="educationForm.Organization" placeholder="Please specify in English" size="small" />
@ -200,7 +204,7 @@
</el-col>
</el-row>
</el-form-item>
<el-form-item label="City" prop="City">
<el-form-item :label="$t('system:EducationTraining:table:City')" prop="City">
<el-row type="flex" justify="space-between">
<el-col :span="11">
<el-input v-model="educationForm.City" placeholder="Please specify in English" size="small" />
@ -211,7 +215,7 @@
</el-row>
</el-form-item>
<el-form-item label="State/Province" prop="Province">
<el-form-item :label="$t('system:EducationTraining:table:State/Province')" prop="Province">
<el-row type="flex" justify="space-between">
<el-col :span="11">
<el-input v-model="educationForm.Province" placeholder="Please specify in English" size="small" />
@ -221,7 +225,7 @@
</el-col>
</el-row>
</el-form-item>
<el-form-item label="Country" prop="Country">
<el-form-item :label="$t('system:EducationTraining:table:Country')" prop="Country">
<el-row type="flex" justify="space-between">
<el-col :span="11">
<el-input v-model="educationForm.Country" placeholder="Please specify in English" size="small" />
@ -233,7 +237,7 @@
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button type="primary" size="small" :loading="isDisabled" @click="handleEducationSave">Save</el-button>
<el-button type="primary" size="small" :loading="isDisabled" @click="handleEducationSave">{{ $t('common:button:save') }}</el-button>
</span>
</el-dialog>
@ -245,7 +249,7 @@
:close-on-click-modal="false"
>
<el-form v-if="postgraduateDialogVisible" ref="postgraduateForm" size="small" label-width="190px" :model="postgraduateForm" :rules="postgraduateRules">
<el-form-item label="Start" prop="BeginDate">
<el-form-item :label="$t('system:EducationTraining:table:Start')" prop="BeginDate">
<el-date-picker
v-model="postgraduateForm.BeginDate"
type="month"
@ -256,7 +260,7 @@
size="small"
/>
</el-form-item>
<el-form-item label="End" prop="EndDate">
<el-form-item :label="$t('system:EducationTraining:table:End')" prop="EndDate">
<el-date-picker
v-model="postgraduateForm.EndDate"
type="month"
@ -267,7 +271,7 @@
size="small"
/>
</el-form-item>
<el-form-item label="Training" prop="Training">
<el-form-item :label="$t('system:EducationTraining:table:Training')" prop="Training">
<el-select v-model="postgraduateForm.Training" placeholder="Please select" size="small">
<el-option
v-for="item in TrainingOptions"
@ -277,7 +281,7 @@
/>
</el-select>
</el-form-item>
<el-form-item label="Specialty / Research Field" prop="Major">
<el-form-item :label="$t('system:EducationTraining:table:Specialty/Research Field')" prop="Major">
<el-row type="flex" justify="space-between">
<el-col :span="11">
<el-input v-model="postgraduateForm.Major" placeholder="Please specify in English" size="small" />
@ -287,7 +291,7 @@
</el-col>
</el-row>
</el-form-item>
<el-form-item label="Hospital" prop="Hospital">
<el-form-item :label="$t('system:EducationTraining:table:Hospital')" prop="Hospital">
<el-row type="flex" justify="space-between">
<el-col :span="11">
<el-input v-model="postgraduateForm.Hospital" placeholder="Please specify in English" size="small" />
@ -297,7 +301,7 @@
</el-col>
</el-row>
</el-form-item>
<el-form-item label="University" prop="School">
<el-form-item :label="$t('system:EducationTraining:table:University')" prop="School">
<el-row type="flex" justify="space-between">
<el-col :span="11">
<el-input v-model="postgraduateForm.School" placeholder="Please specify in English" size="small" />
@ -308,7 +312,7 @@
</el-row>
</el-form-item>
<el-form-item label="City" prop="City">
<el-form-item :label="$t('system:EducationTraining:table:City')" prop="City">
<el-row type="flex" justify="space-between">
<el-col :span="11">
<el-input v-model="postgraduateForm.City" placeholder="Please specify in English" size="small" />
@ -318,7 +322,7 @@
</el-col>
</el-row>
</el-form-item>
<el-form-item label="State/Province" prop="Province">
<el-form-item :label="$t('system:EducationTraining:table:State/Province')" prop="Province">
<el-row type="flex" justify="space-between">
<el-col :span="11">
<el-input v-model="postgraduateForm.Province" placeholder="Please specify in English" size="small" />
@ -328,7 +332,7 @@
</el-col>
</el-row>
</el-form-item>
<el-form-item label="Country" prop="Country">
<el-form-item :label="$t('system:EducationTraining:table:Country')" prop="Country">
<el-row type="flex" justify="space-between">
<el-col :span="11">
<el-input v-model="postgraduateForm.Country" placeholder="Please specify in English" size="small" />
@ -340,7 +344,7 @@
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button size="small" type="primary" :loading="isDisabled" @click="handlePostgraduateSave">Save</el-button>
<el-button size="small" type="primary" :loading="isDisabled" @click="handlePostgraduateSave">{{ $t('common:button:save') }}</el-button>
</span>
</el-dialog>
</div>
@ -528,7 +532,6 @@ export default {
if (valid) {
this.isDisabled = true
this.educationForm.DoctorId = this.$route.query.Id
if (this.educationForm.Degree === 'Bachelor') {
this.educationForm.DegreeCN = '学士'
} else if (this.educationForm.Degree === 'Master') {

View File

@ -13,7 +13,7 @@
<el-row>
<el-col :span="14">
<el-form-item label="Hospital: " prop="HospitalId">
<el-form-item :label="$t('system:reviewer:label:Hospital')" prop="HospitalId">
<el-select
v-model="employmentForm.HospitalId"
placeholder="select"
@ -39,7 +39,7 @@
<el-row>
<el-col :span="14">
<el-form-item label="Affiliated University: ">
<el-form-item :label="$t('system:reviewer:label:AffiliatedUniversity')">
<el-input
:disabled="$route.query.ReviewStatus === '1'"
v-model="UniversityAffiliated"
@ -53,21 +53,21 @@
</el-row>
<el-row>
<el-col :span="14">
<el-form-item label="City: ">
<el-form-item :label="$t('system:reviewer:label:City')">
<el-input :disabled="$route.query.ReviewStatus === '1'" v-model="City" disabled size="small" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="14">
<el-form-item label="State/Province: ">
<el-form-item :label="$t('system:reviewer:label:State/Province')">
<el-input :disabled="$route.query.ReviewStatus === '1'" v-model="Province" disabled size="small" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="14">
<el-form-item label="Country: ">
<el-form-item :label="$t('system:reviewer:label:Country')">
<el-input :disabled="$route.query.ReviewStatus === '1'" v-model="Country" disabled size="small" />
</el-form-item>
</el-col>
@ -75,7 +75,7 @@
<el-row>
<el-col :span="14">
<el-form-item label="Department: " prop="DepartmentId">
<el-form-item :label="$t('system:reviewer:label:Department')" prop="DepartmentId">
<el-select
v-model="employmentForm.DepartmentId"
placeholder="select"
@ -123,7 +123,7 @@
<el-row>
<el-col :span="14">
<el-form-item label="Rank: " prop="RankId">
<el-form-item :label="$t('system:reviewer:label:Rank')" prop="RankId">
<el-select
:disabled="$route.query.ReviewStatus === '1'"
v-model="employmentForm.RankId"
@ -261,7 +261,7 @@
<!-- </el-row>-->
<el-form-item>
<el-button type="primary" :disabled="isDisabled || $route.query.ReviewStatus === '1'" size="small" @click="handleSave">Save</el-button>
<el-button type="primary" :disabled="isDisabled || $route.query.ReviewStatus === '1'" size="small" @click="handleSave">{{ $t('common:button:save') }}</el-button>
</el-form-item>
</el-form>
</div>
@ -376,9 +376,9 @@ export default {
this.loading = true
this.isDisabled = true
const param = {}
var o = this.$d.PhysicianOriginal.find(v => {
return v.id === this.employmentForm.PhysicianId
})
// var o = this.$d.PhysicianOriginal.find(v => {
// return v.id === this.employmentForm.PhysicianId
// })
param.Id = this.$route.query.Id
param.DepartmentId = this.employmentForm.DepartmentId
param.DepartmentOther = this.employmentForm.DepartmentId === this.otherId ? this.employmentForm.DepartmentOther : ''
@ -386,9 +386,9 @@ export default {
param.RankId = this.employmentForm.RankId
param.RankOther = this.employmentForm.RankId === this.otherId ? this.employmentForm.RankOther : ''
param.RankOtherCN = this.employmentForm.RankId === this.otherId ? this.employmentForm.RankOtherCN : ''
param.PhysicianId = this.employmentForm.PhysicianId
param.Physician = o.label !== '其它' && o.label !== 'Other' ? o.raw.Value : this.employmentForm.Physician
param.PhysicianCN = o.label !== '其它' && o.label !== 'Other' ? o.raw.ValueCN : this.employmentForm.PhysicianCN
// param.PhysicianId = this.employmentForm.PhysicianId
// param.Physician = o.label !== '' && o.label !== 'Other' ? o.raw.Value : this.employmentForm.Physician
// param.PhysicianCN = o.label !== '' && o.label !== 'Other' ? o.raw.ValueCN : this.employmentForm.PhysicianCN
param.PositionId = this.employmentForm.PositionId
param.PositionOther = this.employmentForm.PositionId === this.otherId ? this.employmentForm.PositionOther : ''
param.PositionOtherCN = this.employmentForm.PositionId === this.otherId ? this.employmentForm.PositionOtherCN : ''

View File

@ -1,8 +1,8 @@
<template>
<div class="gcp-container">
<el-radio-group v-model="GCP" style="margin-bottom:20px">
<el-radio :label="1">Yes</el-radio>
<el-radio :label="0">No</el-radio>
<el-radio :label="1">{{ $t('system:GcpCertificate:radio:Yes') }}</el-radio>
<el-radio :label="0">{{ $t('system:GcpCertificate:radio:No') }}</el-radio>
</el-radio-group>
<div v-if="GCP" class="upload-container">
<!-- <upload-file :doctor-id="doctorId" type="GCP" />-->
@ -19,13 +19,13 @@
:on-exceed="handleExceed"
accept=".pdf"
>
<el-button size="small" type="primary" :loading="btnDisabled">Upload</el-button>
<span slot="tip" style="margin-left:10px;" class="el-upload__tip">(must be in pdf format)</span>
<el-button size="small" type="primary" :loading="btnDisabled">{{ $t('system:GcpCertificate:upload:Upload') }}</el-button>
<span slot="tip" style="margin-left:10px;" class="el-upload__tip">{{ $t('system:GcpCertificate:tap:must') }}</span>
</el-upload>
</div>
<div>
<el-button :loading="saveBtnLoading" :disabled="(fileList.length === 0 && GCP === 1)" type="primary" size="small" style="margin-top:20px" @click="handleSaveGCP">
Save
{{ $t('common:button:save') }}
</el-button>
</div>
</div>

View File

@ -1,7 +1,7 @@
<template>
<div class="form-container" style="width:80%;">
<el-form ref="researchForm" v-loading="loading" label-width="140px" :model="researchForm" size="small">
<el-form-item label="Field of Research: ">
<el-form-item :label="$t('system:reviewer:label:Field of Research')">
<el-row type="flex" justify="space-between">
<el-col :span="11">
<el-input :disabled="$route.query.ReviewStatus === '1'" v-model="researchForm.Research" type="textarea" rows="5" placeholder="Please specify in English" size="small" />
@ -11,7 +11,7 @@
</el-col>
</el-row>
</el-form-item>
<el-form-item label="Grants: ">
<el-form-item :label="$t('system:reviewer:label:Grants')">
<el-row type="flex" justify="space-between">
<el-col :span="11">
<el-input :disabled="$route.query.ReviewStatus === '1'" v-model="researchForm.Grants" type="textarea" rows="5" placeholder="Please specify in English" size="small" />
@ -21,7 +21,7 @@
</el-col>
</el-row>
</el-form-item>
<el-form-item label="Publications: ">
<el-form-item :label="$t('system:reviewer:label:Publications')">
<el-row type="flex" justify="space-between">
<el-col :span="11">
<el-input :disabled="$route.query.ReviewStatus === '1'" v-model="researchForm.Publications" type="textarea" rows="5" placeholder="Please specify in English" size="small" />
@ -31,7 +31,7 @@
</el-col>
</el-row>
</el-form-item>
<el-form-item label="Awards & Honors: ">
<el-form-item :label="$t('system:reviewer:label:Awards & Honors')">
<el-row type="flex" justify="space-between">
<el-col :span="11">
<el-input :disabled="$route.query.ReviewStatus === '1'" v-model="researchForm.AwardsHonors" type="textarea" rows="5" placeholder="Please specify in English" size="small" />
@ -42,7 +42,8 @@
</el-row>
</el-form-item>
<el-form-item>
<el-button :disabled="$route.query.ReviewStatus === '1'" type="primary" :loading="isDisabled" @click="handleSave">Save</el-button>
<el-button :disabled="$route.query.ReviewStatus === '1'" type="primary" :loading="isDisabled" @click="handleSave">
{{ $t('common:button:save') }}</el-button>
</el-form-item>
</el-form>
</div>

View File

@ -1,7 +1,7 @@
<template>
<div v-loading="loading" class="resumes-container">
<div class="resume-content">
<p>Resume</p>
<p>{{ $t('system:Resumes:title:Resume') }}</p>
<div class="upload-content">
<!-- <upload-files ref="uploadResume" :doctor-id="doctorId" :data-list="resumeList" :language="2" btn-name="Upload(English)" type="Resume" accept=".doc, .docx" @getFileList="getFileList" /> -->
<div class="uploadFile-container">
@ -14,21 +14,21 @@
:file-list="resumeList"
accept=".doc,.docx"
>
<el-button size="small" type="primary" :disabled="isDisabled || $route.query.ReviewStatus === '1'">Upload</el-button>
<el-button size="small" type="primary" :disabled="isDisabled || $route.query.ReviewStatus === '1'">{{ $t('system:GcpCertificate:upload:Upload') }}</el-button>
</el-upload>
</div>
</div>
<p>(must be in doc,docx format)</p>
<p>{{ $t('system:GcpCertificate:tap:must') }}</p>
</div>
<div class="resumeTbl">
<el-table :data="resumeListEN" size="small">
<el-table-column type="index" width="40" />
<el-table-column prop="FileName" label="Resume" width="180" show-overflow-tooltip />
<el-table-column prop="CreateTime" label="Upload Time" width="150" show-overflow-tooltip />
<el-table-column prop="FileName" :label="$t('system:Resumes:table:Resume')" width="180" show-overflow-tooltip />
<el-table-column prop="CreateTime" :label="$t('system:Resumes:table:Upload Time')" width="150" show-overflow-tooltip />
<el-table-column
prop="IsOfficial"
label="Official"
:label="$t('system:Resumes:table:Official')"
width="100"
>
<template slot-scope="scope">
@ -37,7 +37,7 @@
</el-table-column>
<el-table-column
prop="Language"
label="Language"
:label="$t('system:Resumes:table:Language')"
width="100"
show-overflow-tooltip
>
@ -46,23 +46,23 @@
<!-- <el-button size="small" type="text" @click="handleLanguageClick(scope.row)">{{ scope.row.Language===1?'CH':scope.row.Language===2?'EN':'Setting' }}</el-button> -->
</template>
</el-table-column>
<el-table-column label="Action" width="400">
<el-table-column :label="$t('common:action:action')" width="400">
<template slot-scope="scope">
<el-button type="text" size="small" @click="handlePreview(scope.row)">Download</el-button>
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleRemoveFile(scope.row)">Delete</el-button>
<el-button type="text" size="small" @click="handlePreview(scope.row)">{{ $t('common:button:download') }}</el-button>
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleRemoveFile(scope.row)">{{ $t('common:button:delete') }}</el-button>
<el-button
type="text"
size="small"
:disabled="scope.row.IsOfficial || $route.query.ReviewStatus === '1'"
@click="handleSetOfiical(scope.row)"
>Set as Official</el-button>
>{{ $t('system:Resumes:button:Set as Official') }}</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="resume-content" style="margin-top:10px;">
<p>中文简历</p>
<p>{{ $t('system:Resumes:title:ResumeCN') }}</p>
<div class="upload-content">
<div class="uploadFile-container">
<el-upload
@ -74,20 +74,20 @@
:file-list="resumeList"
accept=".doc, .docx"
>
<el-button size="small" type="primary" :disabled="isDisabled || $route.query.ReviewStatus === '1'">上传</el-button>
<el-button size="small" type="primary" :disabled="isDisabled || $route.query.ReviewStatus === '1'">{{ $t('system:GcpCertificate:upload:Upload') }}</el-button>
</el-upload>
</div>
</div>
<p>(必须是 doc,docx 格式)</p>
<p>{{ $t('system:GcpCertificate:tap:must') }}</p>
</div>
<div class="resumeTbl">
<el-table :data="resumeListCN" size="small">
<el-table-column type="index" width="40" />
<el-table-column prop="FileName" label="Resume" width="180" show-overflow-tooltip />
<el-table-column prop="CreateTime" label="Upload Time" width="150" show-overflow-tooltip />
<el-table-column prop="FileName" :label="$t('system:Resumes:table:Resume')" width="180" show-overflow-tooltip />
<el-table-column prop="CreateTime" :label="$t('system:Resumes:table:Upload Time')" width="150" show-overflow-tooltip />
<el-table-column
prop="IsOfficial"
label="Official"
:label="$t('system:Resumes:table:Official')"
width="100"
>
<template slot-scope="scope">
@ -96,7 +96,7 @@
</el-table-column>
<el-table-column
prop="Language"
label="Language"
:label="$t('system:Resumes:table:Language')"
width="100"
show-overflow-tooltip
>
@ -105,16 +105,16 @@
<!-- <el-button size="small" type="text" @click="handleLanguageClick(scope.row)">{{ scope.row.Language===1?'CH':scope.row.Language===2?'EN':'Setting' }}</el-button> -->
</template>
</el-table-column>
<el-table-column label="Action" width="400">
<el-table-column :label="$t('common:action:action')" width="400">
<template slot-scope="scope">
<el-button type="text" size="small" @click="handlePreview(scope.row)">Download</el-button>
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleRemoveFile(scope.row)">Delete</el-button>
<el-button type="text" size="small" @click="handlePreview(scope.row)">{{ $t('common:button:download') }}</el-button>
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleRemoveFile(scope.row)">{{ $t('common:button:delete') }}</el-button>
<el-button
type="text"
size="small"
:disabled="scope.row.IsOfficial"
:disabled="scope.row.IsOfficial || $route.query.ReviewStatus === '1'"
@click="handleSetOfiical(scope.row)"
>Set as Official</el-button>
>{{ $t('system:Resumes:button:Set as Official') }}</el-button>
</template>
</el-table-column>
</el-table>

View File

@ -2,68 +2,68 @@
<div v-loading="loading" class="check-container form-container">
<el-form ref="checkForm" :model="checkForm" label-width="200px" size="small" :rules="rules">
<div class="title-wrapper">
<p>盲化信息</p>
<p>{{$t('system:Setting:title:Blinded information') }}</p>
</div>
<div class="check-content">
<el-form-item label="Blind Name" prop="BlindName">
<el-form-item :label="$t('system:Setting:label:Blind Name')" prop="BlindName">
<el-input
v-model="checkForm.BlindName"
style="width:300px"
/>
</el-form-item>
<el-form-item label="Blind NameCN" prop="BlindNameCN">
<el-form-item :label="$t('system:Setting:label:Blind NameCN')" prop="BlindNameCN">
<el-input
v-model="checkForm.BlindNameCN"
style="width:300px"
/>
</el-form-item>
<el-form-item label="Blind Publications" prop="BlindPublications">
<el-form-item :label="$t('system:Setting:label:Blind Publications')" prop="BlindPublications">
<el-input v-model="checkForm.BlindPublications" type="textarea" rows="8" style="width:60%;" size="small" />
</el-form-item>
</div>
<div class="title-wrapper">
<p>Setting</p>
<p>{{$t('system:Setting:title:Blinded Setting') }}</p>
</div>
<div class="check-content">
<el-form-item label="Information Confirmed?">
<el-form-item :label="$t('system:Setting:label:Information Confirmed?')">
<el-radio-group v-model="checkForm.ReviewStatus" @change="handleChange">
<el-radio :label="1">Yes</el-radio>
<el-radio :label="2">No</el-radio>
<el-radio :label="1">{{$t('system:Setting:label:Information Confirmed?:Yes')}}</el-radio>
<el-radio :label="2">{{$t('system:Setting:label:Information Confirmed?:No')}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="Contractor Status?">
<el-form-item :label="$t('system:Setting:label:Contractor Status?')">
<el-radio-group v-model="checkForm.CooperateStatus" @change="handleChange">
<el-radio :label="1">Yes</el-radio>
<el-radio :label="2">No</el-radio>
<el-radio :label="1">{{$t('system:Setting:label:Information Confirmed?:Yes')}}</el-radio>
<el-radio :label="2">{{$t('system:Setting:label:Information Confirmed?:No')}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="Accepting New Trials?">
<el-form-item :label="$t('system:Setting:label:Accepting New Trials?')">
<el-radio-group v-model="checkForm.AcceptingNewTrial" :disabled="radioDisabled">
<el-radio :label="true">Yes</el-radio>
<el-radio :label="false">No</el-radio>
<el-radio :label="true">{{$t('system:Setting:label:Information Confirmed?:Yes')}}</el-radio>
<el-radio :label="false">{{$t('system:Setting:label:Information Confirmed?:No')}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="Actively Reading?">
<el-form-item :label="$t('system:Setting:label:Actively Reading?')">
<el-radio-group v-model="checkForm.ActivelyReading" :disabled="radioDisabled">
<el-radio :label="true">Yes</el-radio>
<el-radio :label="false">No</el-radio>
<el-radio :label="true">{{$t('system:Setting:label:Information Confirmed?:Yes')}}</el-radio>
<el-radio :label="false">{{$t('system:Setting:label:Information Confirmed?:No')}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="Is Virtual?">
<el-form-item :label="$t('system:Setting:label:Is Virtual?')">
<el-radio-group v-model="checkForm.IsVirtual" :disabled="radioDisabled">
<el-radio :label="true">Yes</el-radio>
<el-radio :label="false">No</el-radio>
<el-radio :label="true">{{$t('system:Setting:label:Information Confirmed?:Yes')}}</el-radio>
<el-radio :label="false">{{$t('system:Setting:label:Information Confirmed?:No')}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="On Vacation: ">
<el-form-item :label="$t('system:Setting:label:On Vacation:')">
<span style="font-size:12px;margin-right:20px;">{{ checkForm.InHoliday }}</span>
<el-button type="text" @click="handleView">Planned Vacation</el-button>
<el-button type="text" @click="handleView">{{ $t('system:Setting:Planned Vacation') }}</el-button>
</el-form-item>
<el-form-item label="Comment: " prop="AdminComment">
<el-form-item :label="$t('system:Setting:label:Comment:')" prop="AdminComment">
<el-input
v-model="checkForm.AdminComment"
type="textarea"
@ -73,12 +73,12 @@
</el-form-item>
<el-form-item style="margin-top:20px">
<el-button type="primary" :disabled="isDisabled" @click="handleSave">Save</el-button>
<el-button type="primary" :disabled="isDisabled" @click="handleSave">{{ $t('common:button:save') }}</el-button>
</el-form-item>
</div>
</el-form>
<el-dialog
title="Vacation"
:label="$t('system:Setting:title:Vacation')"
:visible.sync="dialogVisible"
width="50%"
:close-on-click-modal="false"
@ -91,29 +91,29 @@
format="yyyy-MM-dd"
type="daterange"
range-separator="to"
start-placeholder="Beginning Date"
end-placeholder="End Date"
:start-placeholder="$t('system:Setting:label:Beginning Date')"
:end-placeholder="$t('system:Setting:label:End Date')"
size="small"
/>
<el-button style="margin-left:10px;" type="primary" size="small" @click="handleAddHoliday">Add</el-button>
<el-button style="margin-left:10px;" type="primary" size="small" @click="handleAddHoliday">{{ $t('common:button:add') }}</el-button>
</div>
<el-table v-loading="loading2" :data="gridData" size="small">
<el-table-column type="index" />
<el-table-column
property="StartDate"
label="Beginning Date"
:label="$t('system:Setting:table:Beginning Date')"
min-width="120"
:formatter="beginTimeFormatter"
/>
<el-table-column
property="EndDate"
label="End Date"
:label="$t('system:Setting:table:End Date')"
min-width="120"
:formatter="endTimeFormatter"
/>
<el-table-column label="Action" fixed="right" min-width="200">
<el-table-column :label="$t('common:action:action')" fixed="right" min-width="200">
<template slot-scope="scope">
<el-button type="text" @click="handleDelete(scope.row)">Delete</el-button>
<el-button type="text" @click="handleDelete(scope.row)">{{ $t('common:button:delete') }}</el-button>
</template>
</el-table-column>
</el-table>
@ -204,7 +204,7 @@ export default {
if (res.IsSuccess) {
if (res.Result) { this.checkForm.Id = res.Result }
this.isDisabled = false
this.$message.success('Saved successfully')
this.$message.success(this.$t('common:message:savedSuccessfully'))
}
})
.catch(() => {
@ -261,8 +261,6 @@ export default {
this.$confirm('Sure to delete?', {
type: 'warning',
distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
})
.then(() => {
this.loading2 = true

View File

@ -12,7 +12,7 @@
>
<el-row>
<el-col :span="12">
<el-form-item label="Specialty: " prop="SpecialityId">
<el-form-item :label="$t('system:reviewer:label:Specialty')" prop="SpecialityId">
<el-select
v-model="specialtyForm.SpecialityId"
:disabled="$route.query.ReviewStatus === '1'"
@ -59,7 +59,7 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="Subspeciality: " prop="SubspecialityIds">
<el-form-item :label="$t('system:reviewer:label:Subspeciality')" prop="SubspecialityIds">
<el-select
v-model="specialtyForm.SubspecialityIds"
:disabled="$route.query.ReviewStatus === '1'"
@ -116,7 +116,7 @@
<el-row>
<el-col :span="12">
<el-form-item label="Modality: " prop="ReadingTypeIds">
<el-form-item :label="$t('system:reviewer:label:Modality')" prop="ReadingTypeIds">
<el-select
:disabled="$route.query.ReviewStatus === '1'"
v-model="specialtyForm.ReadingTypeIds"
@ -171,7 +171,8 @@
</el-col>
</el-row>
<el-form-item>
<el-button type="primary" :disabled="isDisabled || $route.query.ReviewStatus === '1'" size="small" @click="handleSave">Save</el-button>
<el-button type="primary" :disabled="isDisabled || $route.query.ReviewStatus === '1'" size="small" @click="handleSave">
{{ $t('common:button:save') }}</el-button>
</el-form-item>
</el-form>
</div>

View File

@ -1,7 +1,7 @@
<template>
<div class="form-container">
<div class="title-wrapper">
<p>Clinical Trial Experience</p>
<p>{{$t('system:TrialExperience:title:Clinical Trial Experience')}}</p>
<el-button :disabled="$route.query.ReviewStatus === '1'" class="add" size="small" @click="handleAddClinicalTrial">Add</el-button>
</div>
<div style="padding:0 40px;">
@ -13,36 +13,37 @@
size="small"
>
<el-table-column type="index" width="40" />
<el-table-column prop="Phase" label="Phase" min-width="50" />
<el-table-column prop="EvaluationCriteriaList" label="Review Criteria" min-width="100">
<el-table-column prop="Phase" :label="$t('system:TrialExperience:title:Phase')" min-width="50" />
<el-table-column prop="EvaluationCriteriaList" :label="$t('system:TrialExperience:title:Review Criteria')" min-width="100">
<template slot-scope="scope">
{{ scope.row.EvaluationCriteriaList.length>0? scope.row.EvaluationCriteriaList.join(', '):'' }}
</template>
</el-table-column>
<el-table-column prop="EvaluationCriteriaList" label="Starting And Ending Date" min-width="100">
<el-table-column prop="EvaluationCriteriaList" :label="$t('system:TrialExperience:title:Starting And Ending Date')" min-width="100">
<template slot-scope="scope">
<span v-if="scope.row.StartTime">{{ scope.row.StartTime.split('-')[0] }}-{{scope.row.EndTime ? scope.row.EndTime.split('-')[0] : ''}}</span>
</template>
</el-table-column>
<el-table-column prop="VisitReadingCount" label="Visit Reading Count" min-width="70" />
<el-table-column prop="EvaluationContent" label="Indication" min-width="70" />
<el-table-column label="Operation" min-width="200">
<el-table-column prop="VisitReadingCount" :label="$t('system:TrialExperience:title:Visit Reading Count')" min-width="70" />
<el-table-column prop="EvaluationContent" :label="$t('system:TrialExperience:Indication')" min-width="70" />
<el-table-column :label="$t('system:TrialExperience:Operation')" min-width="200">
<template slot-scope="scope">
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleEdit(scope.row)">Edit</el-button>
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleDel(scope.row)">Delete</el-button>
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleEdit(scope.row)">
{{ $t('common:button:edit') }}</el-button>
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleDel(scope.row)">{{ $t('common:button:delete') }}</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="title-wrapper" style="margin-top:10px;">
<p>GCP Certificate</p>
<p>{{$t('system:TrialExperience:title:GCP Certificate')}}</p>
</div>
<div style="margin-left:40px;width:40%">
<gcp-certificate :doctor-id="doctorId" :gcp="GCP" :gcp-id="GCPID" />
</div>
<div class="title-wrapper" style="margin-top:10px;">
<p>Other Relevant Experience</p>
<p>{{$t('system:TrialExperience:title:Other Relevant Experience')}}</p>
</div>
<div style="padding:0 40px;">
<el-row type="flex" justify="space-between">
@ -59,7 +60,8 @@
<el-input v-model="OtherClinicalExperienceCN" :disabled="$route.query.ReviewStatus === '1'" type="textarea" rows="5" placeholder="请用中文注明" size="small" />
</el-col>
</el-row>
<el-button type="primary" size="small" style="margin-top:20px" :disabled="isBtnDisabled || $route.query.ReviewStatus === '1'" @click="handleSaveOtherClinical">Save</el-button>
<el-button type="primary" size="small" style="margin-top:20px" :disabled="isBtnDisabled || $route.query.ReviewStatus === '1'" @click="handleSaveOtherClinical">
{{ $t('common:button:save') }}</el-button>
</div>
<el-dialog v-if="clinicalTrialDialogVisible" :title="clinicalTrialDialogTitle" :visible.sync="clinicalTrialDialogVisible" width="480px" :close-on-click-modal="false">
<el-form
@ -70,7 +72,7 @@
:model="clinicalTrialForm"
size="small"
>
<el-form-item label="Phase" prop="PhaseId">
<el-form-item :label="$t('system:TrialExperience:label:Phase')" prop="PhaseId">
<el-select v-model="clinicalTrialForm.PhaseId" placeholder="Please select">
<!-- <el-option
v-for="(key,value) of dictionaryList.Phase"
@ -86,7 +88,7 @@
/>
</el-select>
</el-form-item>
<el-form-item label="Review Criteria" prop="EvaluationCriteriaIdList">
<el-form-item :label="$t('system:TrialExperience:label:Review Criteria')" prop="EvaluationCriteriaIdList">
<el-select
v-model="clinicalTrialForm.EvaluationCriteriaIdList"
placeholder="Please select"
@ -101,29 +103,29 @@
/>
</el-select>
</el-form-item>
<el-form-item label="Start Time" prop="StartTime">
<el-form-item :label="$t('system:TrialExperience:label:Start Time')" prop="StartTime">
<el-date-picker
v-model="clinicalTrialForm.StartTime"
type="year"
placeholder="Select Start Time">
>
</el-date-picker>
</el-form-item>
<el-form-item label="End Time" prop="EndTime">
<el-form-item :label="$t('system:TrialExperience:label:End Time')" prop="EndTime">
<el-date-picker
v-model="clinicalTrialForm.EndTime"
type="year"
placeholder="Select End Time">
>
</el-date-picker>
</el-form-item>
<el-form-item label="Visit Reading Count" prop="VisitReadingCount">
<el-form-item :label="$t('system:TrialExperience:Visit Reading Count')" prop="VisitReadingCount">
<el-input style="width: 100%" oninput="value=value.replace(/[^\d]/g,'')" v-model="clinicalTrialForm.VisitReadingCount" controls-position="right" :min="0" />
</el-form-item>
<el-form-item label="Indication" prop="EvaluationContent">
<el-form-item :label="$t('system:TrialExperience:Indication')" prop="EvaluationContent">
<el-input v-model="clinicalTrialForm.EvaluationContent" />
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button type="primary" size="small" :loading="isDisabled" @click="handleSave">Save</el-button>
<el-button type="primary" size="small" :loading="isDisabled" @click="handleSave">{{ $t('common:button:save') }}</el-button>
</span>
</el-dialog>
</div>

View File

@ -1,39 +1,34 @@
<template>
<div class="app-container">
<el-tabs v-model="active" @tab-click="clickTab">
<el-tab-pane label="Basic Info" name="BasicInfo">
<el-tab-pane :label="$t('system:reviewer:tab:BasicInfo')" name="BasicInfo">
<basic-info v-if="load.BasicInfo" />
</el-tab-pane>
<el-tab-pane label="Employment" name="Employment">
<el-tab-pane :label="$t('system:reviewer:tab:Employment')" name="Employment">
<Employment v-if="load.Employment" />
</el-tab-pane>
<el-tab-pane label="Specialty" name="Specialty">
<el-tab-pane :label="$t('system:reviewer:tab:Specialty')" name="Specialty">
<specialty v-if="load.Specialty" />
</el-tab-pane>
<el-tab-pane label="Education & Training" name="EducationTraining">
<el-tab-pane :label="$t('system:reviewer:tab:Education&Training')" name="EducationTraining">
<education-training v-if="load.EducationTraining" />
</el-tab-pane>
<el-tab-pane label="Research & Publication" name="ResearchPublication">
<el-tab-pane :label="$t('system:reviewer:tab:Research&Publication')" name="ResearchPublication">
<research-publication v-if="load.ResearchPublication" />
</el-tab-pane>
<el-tab-pane label="Trial Experience" name="TrialExperience">
<el-tab-pane :label="$t('system:reviewer:tab:TrialExperience')" name="TrialExperience">
<trial-experience v-if="load.TrialExperience" />
</el-tab-pane>
<el-tab-pane label="Credentials" name="Credentials">
<el-tab-pane :label="$t('system:reviewer:tab:Credentials')" name="Credentials">
<Credentials v-if="load.Credentials" />
</el-tab-pane>
<el-tab-pane label="Resumes" name="Resumes">
<el-tab-pane :label="$t('system:reviewer:tab:Resumes')" name="Resumes">
<Resumes v-if="load.Resumes" />
</el-tab-pane>
<el-tab-pane label="Agreements" name="Agreements">
<el-tab-pane :label="$t('system:reviewer:tab:Agreements')" name="Agreements">
<Agreements v-if="load.Agreements" />
</el-tab-pane>
<el-tab-pane label="Setting" name="Setting">
<el-tab-pane :label="$t('system:reviewer:tab:Setting')" name="Setting">
<Setting v-if="load.Setting" />
</el-tab-pane>
</el-tabs>

View File

@ -3,7 +3,7 @@
<div ref="leftContainer" class="left">
<el-form :inline="true">
<el-form-item
label="操作类型"
:label="$t('system:loginLog:label:OptType')"
prop="OptType"
>
<el-select v-model="searchData.OptType" clearable style="width:120px;">
@ -27,7 +27,7 @@
/>
</el-form-item>
<el-form-item
label="错误用户名"
:label="$t('system:loginLog:label:LoginFaildName')"
prop="LoginFaildName"
>
<el-input
@ -38,7 +38,7 @@
/>
</el-form-item>
<el-form-item
label="创建时间"
:label="$t('system:loginLog:label:CreateTime')"
>
<el-date-picker
v-model="datetimerange"
@ -58,7 +58,7 @@
size="mini"
@click="getList"
>
查询
{{ $t('common:button:search') }}
</el-button>
</el-form-item>
</el-form>
@ -75,7 +75,7 @@
width="50"
/>
<el-table-column
label="操作类型"
:label="$t('system:loginLog:table:OptType')"
prop="OptType"
min-width="90"
show-overflow-tooltip
@ -93,21 +93,21 @@
show-overflow-tooltip
/>
<el-table-column
label="错误用户名"
:label="$t('system:loginLog:table:LoginFaildName')"
prop="LoginFaildName"
min-width="90"
show-overflow-tooltip
sortable="custom"
/>
<el-table-column
label="用户名"
:label="$t('system:loginLog:table:LoginUserName')"
prop="LoginUserName"
min-width="90"
show-overflow-tooltip
sortable="custom"
/>
<el-table-column
label="用户类型"
:label="$t('system:loginLog:table:LoginUserType')"
prop="LoginUserTypeEnum"
min-width="90"
sortable="custom"
@ -119,6 +119,7 @@
</el-table-column>
<el-table-column
label="操作用户名"
:label="$t('system:loginLog:table:OptUserName')"
prop="OptUserName"
min-width="90"
sortable="custom"
@ -126,6 +127,7 @@
/>
<el-table-column
label="操作用户类型"
:label="$t('system:loginLog:table:OptUserType')"
prop="OptUserTypeEnum"
min-width="90"
sortable="custom"
@ -137,6 +139,7 @@
</el-table-column>
<el-table-column
label="创建时间"
:label="$t('system:loginLog:table:CreateTime')"
prop="CreateTime"
min-width="90"
sortable="custom"

View File

@ -8,8 +8,8 @@
label-width="120px"
size="small"
>
<el-form-item label="通知级别: " prop="NoticeLevelEnum">
<el-select v-model="form.NoticeLevelEnum" placeholder="通知级别" clearable size="small">
<el-form-item :label="$t('system:notice:label:NoticeLevel')" prop="NoticeLevelEnum">
<el-select v-model="form.NoticeLevelEnum" clearable size="small">
<el-option
v-for="item of dict.type.NoteLevel"
:key="item.value"
@ -18,8 +18,8 @@
/>
</el-select>
</el-form-item>
<el-form-item label="通知类型: " prop="NoticeTypeEnum">
<el-select v-model="form.NoticeTypeEnum" placeholder="通知类型" clearable size="small">
<el-form-item :label="$t('system:notice:label:NoticeType')" prop="NoticeTypeEnum">
<el-select v-model="form.NoticeTypeEnum" clearable size="small">
<el-option
v-for="item of dict.type.NoteType"
:key="item.value"
@ -28,8 +28,8 @@
/>
</el-select>
</el-form-item>
<el-form-item label="适用项目: " prop="ApplicableProjectEnum">
<el-select v-model="form.ApplicableProjectEnum" placeholder="适用项目" clearable size="small">
<el-form-item :label="$t('system:notice:label:ApplicableProject')" prop="ApplicableProjectEnum">
<el-select v-model="form.ApplicableProjectEnum" clearable size="small">
<el-option
v-for="item of dict.type.NoticeApplicableTrial"
:key="item.value"
@ -38,8 +38,8 @@
/>
</el-select>
</el-form-item>
<el-form-item label="适用角色: " prop="NoticeUserTypeIdList">
<el-select v-model="form.NoticeUserTypeIdList" multiple placeholder="使用角色" clearable size="small">
<el-form-item :label="$t('system:notice:label:NoticeUserTypeIdList')" prop="NoticeUserTypeIdList">
<el-select v-model="form.NoticeUserTypeIdList" multiple clearable size="small">
<el-option
v-for="item of roleList"
:key="item.Id"
@ -48,8 +48,8 @@
/>
</el-select>
</el-form-item>
<el-form-item label="提醒方式: " prop="NoticeModeEnum">
<el-select v-model="form.NoticeModeEnum" placeholder="提醒方式" clearable size="small">
<el-form-item :label="$t('system:notice:label:NoticeMode')" prop="NoticeModeEnum">
<el-select v-model="form.NoticeModeEnum" clearable size="small">
<el-option
v-for="item of dict.type.NoticeMode"
:key="item.value"
@ -58,35 +58,33 @@
/>
</el-select>
</el-form-item>
<el-form-item label="开始时间: " prop="Code">
<el-form-item :label="$t('system:notice:label:StartDate')" prop="StartDate">
<el-date-picker
v-model="form.StartDate"
type="datetime"
placeholder="选择开始时间"
/>
</el-form-item>
<el-form-item label="结束时间: " prop="Code">
<el-form-item :label="$t('system:notice:label:EndDate')" prop="EndDate">
<el-date-picker
v-model="form.EndDate"
type="datetime"
placeholder="选择结束时间"
/>
</el-form-item>
<el-form-item v-if="!form.Id" label="是否发布: " prop="Code">
<el-form-item v-if="!form.Id" :label="$t('system:notice:label:IsPush')" prop="IsPush">
<el-switch
v-model="form.IsPush"
:active-value="true"
:inactive-value="false"
/>
</el-form-item>
<el-form-item label="通知内容: " prop="NoticeContent">
<el-form-item :label="$t('system:notice:label:NoticeContent')" prop="NoticeContent">
<el-input
v-model="form.NoticeContent"
type="textarea"
:autosize="{ minRows: 2, maxRows: 4}"
/>
</el-form-item>
<el-form-item label="附件: ">
<el-form-item :label="$t('system:notice:label:file')">
<el-upload
class="upload-demo"
action
@ -104,8 +102,8 @@
</el-form>
</template>
<template slot="dialog-footer">
<el-button :disabled="btnLoading" size="small" type="primary" @click="handleCancle">Cancel</el-button>
<el-button size="small" type="primary" :loading="btnLoading" @click="handleSave">Save</el-button>
<el-button :disabled="btnLoading" size="small" type="primary" @click="handleCancle">{{ $t('common:button:cancel') }}</el-button>
<el-button size="small" type="primary" :loading="btnLoading" @click="handleSave">{{ $t('common:button:save') }}</el-button>
</template>
</base-model>
</template>
@ -167,7 +165,7 @@ export default {
},
beforeUpload() {
if (this.fileList.length > 0) {
this.$alert('最多只能传一个附件')
this.$alert(this.$t('system:notice:msg:message1'))
return
}
},

View File

@ -2,38 +2,38 @@
<div class="role">
<div ref="leftContainer" class="left">
<el-form :inline="true">
<el-form-item label="通知级别: " prop="NoticeLevelEnum">
<el-select v-model="searchData.NoticeLevelEnum" placeholder="通知级别" clearable size="small">
<el-form-item :label="$t('system:notice:label:NoticeLevel')" prop="NoticeLevelEnum">
<el-select v-model="searchData.NoticeLevelEnum" clearable size="small">
<el-option
v-for="item of dict.type.NoteLevel"
v-for="item of $d.NoteLevel"
:key="item.value"
:label="item.label"
:value="item.raw.Code * 1"
/>
</el-select>
</el-form-item>
<el-form-item label="通知类型: " prop="NoticeTypeEnum">
<el-select v-model="searchData.NoticeTypeEnum" placeholder="通知类型" clearable size="small">
<el-form-item :label="$t('system:notice:label:NoticeType')" prop="NoticeTypeEnum">
<el-select v-model="searchData.NoticeTypeEnum" clearable size="small">
<el-option
v-for="item of dict.type.NoteType"
v-for="item of $d.NoteType"
:key="item.value"
:label="item.label"
:value="item.raw.Code * 1"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="适用项目: " prop="ApplicableProjectEnum">
<el-select v-model="searchData.ApplicableProjectEnum" placeholder="适用项目" clearable size="small">
<el-form-item :label="$t('system:notice:label:ApplicableProject')" prop="ApplicableProjectEnum">
<el-select v-model="searchData.ApplicableProjectEnum" clearable size="small">
<el-option
v-for="item of dict.type.NoticeApplicableTrial"
v-for="item of $d.NoticeApplicableTrial"
:key="item.value"
:label="item.label"
:value="item.raw.Code * 1"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="使用角色: " prop="NoticeUserTypeIdList">
<el-select v-model="searchData.NoticeUserTypeIdList" multiple placeholder="使用角色" clearable size="small">
<el-form-item :label="$t('system:notice:label:NoticeUserTypeIdList')" prop="NoticeUserTypeIdList">
<el-select v-model="searchData.NoticeUserTypeIdList" multiple clearable size="small">
<el-option
v-for="item of roleList"
:key="item.Id"
@ -42,99 +42,99 @@
/>
</el-select>
</el-form-item>
<el-form-item label="提醒方式: " prop="NoticeModeEnum">
<el-select v-model="searchData.NoticeModeEnum" placeholder="提醒方式" clearable size="small">
<el-form-item :label="$t('system:notice:label:NoticeMode')" prop="NoticeModeEnum">
<el-select v-model="searchData.NoticeModeEnum" clearable size="small">
<el-option
v-for="item of dict.type.NoticeMode"
v-for="item of $d.NoticeMode"
:key="item.value"
:label="item.label"
:value="item.raw.Code * 1"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList"></el-button>
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd"></el-button>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList">{{ $t('common:button:search') }}</el-button>
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd">{{ $t('common:button:add') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="loading" v-adaptive="{bottomOffset:45}" height="100" :data="list" class="table">
<el-table-column type="index" width="50" />
<el-table-column label="通知级别" prop="NoticeLevelEnum" min-width="120" show-overflow-tooltip>
<el-table-column :label="$t('system:notice:table:NoticeLevel')" label="通知级别" prop="NoticeLevelEnum" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
{{ dict.type.NoteLevel.find(v => {return v.raw.Code * 1 === scope.row.NoticeLevelEnum}) ? dict.type.NoteLevel.find(v => {return v.raw.Code * 1 === scope.row.NoticeLevelEnum}).label : '' }}
{{ $d.NoteLevel.find(v => {return v.raw.Code * 1 === scope.row.NoticeLevelEnum}) ? $d.NoteLevel.find(v => {return v.raw.Code * 1 === scope.row.NoticeLevelEnum}).label : '' }}
</template>
</el-table-column>
<el-table-column label="通知类型" prop="NoticeTypeEnum" min-width="100" show-overflow-tooltip>
<el-table-column :label="$t('system:notice:table:NoticeType')" label="通知类型" prop="NoticeTypeEnum" min-width="100" show-overflow-tooltip>
<template slot-scope="scope">
{{ dict.type.NoteType.find(v => {return v.raw.Code * 1 === scope.row.NoticeTypeEnum}) ? dict.type.NoteType.find(v => {return v.raw.Code * 1 === scope.row.NoticeTypeEnum}).label : '' }}
{{ $d.NoteType.find(v => {return v.raw.Code * 1 === scope.row.NoticeTypeEnum}) ? $d.NoteType.find(v => {return v.raw.Code * 1 === scope.row.NoticeTypeEnum}).label : '' }}
</template>
</el-table-column>
<el-table-column label="通知内容" prop="NoticeContent" min-width="100" show-overflow-tooltip>
<el-table-column :label="$t('system:notice:table:NoticeContent')" label="通知内容" prop="NoticeContent" min-width="100" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.NoticeContent }}
</template>
</el-table-column>
<el-table-column label="通知状态" prop="NoticeStateEnum" min-width="100" show-overflow-tooltip>
<el-table-column :label="$t('system:notice:table:NoticeState')" label="通知状态" prop="NoticeStateEnum" min-width="100" show-overflow-tooltip>
<template slot-scope="scope">
<el-tag :type="scope.row.ActualNoticeStateEnum === 0 ? 'info' : scope.row.ActualNoticeStateEnum === 1 ? 'success' : 'danger'">
{{ dict.type.NoticeState.find(v => {return v.raw.Code * 1 === scope.row.ActualNoticeStateEnum}) ? dict.type.NoticeState.find(v => {return v.raw.Code * 1 === scope.row.ActualNoticeStateEnum}).label : '' }}
{{ $d.NoticeState.find(v => {return v.raw.Code * 1 === scope.row.ActualNoticeStateEnum}) ? $d.NoticeState.find(v => {return v.raw.Code * 1 === scope.row.ActualNoticeStateEnum}).label : '' }}
</el-tag>
</template>
</el-table-column>
<el-table-column label="适用项目" prop="ApplicableProjectEnum" min-width="100" show-overflow-tooltip>
<el-table-column :label="$t('system:notice:table:ApplicableProject')" label="适用项目" prop="ApplicableProjectEnum" min-width="100" show-overflow-tooltip>
<template slot-scope="scope">
{{ dict.type.NoticeApplicableTrial.find(v => {return v.raw.Code * 1 === scope.row.ApplicableProjectEnum}) ? dict.type.NoticeApplicableTrial.find(v => {return v.raw.Code * 1 === scope.row.ApplicableProjectEnum}).label : '' }}
{{ $d.NoticeApplicableTrial.find(v => {return v.raw.Code * 1 === scope.row.ApplicableProjectEnum}) ? $d.NoticeApplicableTrial.find(v => {return v.raw.Code * 1 === scope.row.ApplicableProjectEnum}).label : '' }}
</template>
</el-table-column>
<el-table-column label="适用角色" prop="NoticeUserTypeList" min-width="80" show-overflow-tooltip>
<el-table-column :label="$t('system:notice:table:NoticeUserTypeList')" label="适用角色" prop="NoticeUserTypeList" min-width="80" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.NoticeUserTypeList.map(v => v.UserTypeShortName).toString() }}
</template>
</el-table-column>
<el-table-column label="提示方式" prop="NoticeModeEnum" min-width="100" show-overflow-tooltip>
<el-table-column :label="$t('system:notice:table:NoticeMode')" label="提示方式" prop="NoticeModeEnum" min-width="100" show-overflow-tooltip>
<template slot-scope="scope">
{{ dict.type.NoticeMode.find(v => {return v.raw.Code * 1 === scope.row.NoticeModeEnum}) ? dict.type.NoticeMode.find(v => {return v.raw.Code * 1 === scope.row.NoticeModeEnum}).label : '' }}
{{ dict.type.NoticeMode.find(v => {return v.raw.Code * 1 === scope.row.NoticeModeEnum}) ? $d.NoticeMode.find(v => {return v.raw.Code * 1 === scope.row.NoticeModeEnum}).label : '' }}
</template>
</el-table-column>
<el-table-column label="保留时长" prop="StartDate" min-width="240" show-overflow-tooltip>
<el-table-column :label="$t('system:notice:table:StartDate')" label="保留时长" prop="StartDate" min-width="240" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.StartDate }}-{{ scope.row.EndDate }}
</template>
</el-table-column>
<el-table-column label="发布人" prop="PublishUserName" min-width="100" show-overflow-tooltip />
<el-table-column label="发布时间" prop="PublishedTime" min-width="160" show-overflow-tooltip />
<el-table-column label="更新时间" prop="UpdateTime" min-width="160" show-overflow-tooltip>
<el-table-column :label="$t('system:notice:table:PublishUserName')" label="发布人" prop="PublishUserName" min-width="100" show-overflow-tooltip />
<el-table-column :label="$t('system:notice:table:PublishedTime')" label="发布时间" prop="PublishedTime" min-width="160" show-overflow-tooltip />
<el-table-column :label="$t('system:notice:table:UpdateTime')" label="更新时间" prop="UpdateTime" min-width="160" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.StartDate ? scope.row.StartDate: scope.row.CreateTime }}
</template>
</el-table-column>
<el-table-column label="附件" fixed="right" prop="FileName" min-width="120" show-overflow-tooltip>
<el-table-column :label="$t('system:notice:table:FileName')" label="附件" fixed="right" prop="FileName" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<a :href="OSSclientConfig.basePath + scope.row.FullFilePath" target="_blank" style="color:#428bca">{{ scope.row.FileName }}</a>
</template>
</el-table-column>
<el-table-column label="操作" fixed="right" prop="UserTypeShortName" min-width="200" show-overflow-tooltip>
<el-table-column :label="$t('common:action:action')" fixed="right" prop="UserTypeShortName" min-width="200" show-overflow-tooltip>
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit-outline"
@click="handleEdit(scope.row)"
>编辑</el-button>
>{{$t('common:action:edit')}}</el-button>
<el-button
v-if="scope.row.NoticeStateEnum === 0"
size="mini"
type="text"
icon="el-icon-s-promotion"
@click="handlePush(scope.row)"
>发布</el-button>
>{{$t('common:action:push')}}</el-button>
<el-button
v-if="scope.row.NoticeStateEnum === 1"
size="mini"
type="text"
icon="el-icon-s-release"
@click="handleGet(scope.row)"
>撤回</el-button>
>{{$t('common:action:pull')}}</el-button>
</template>
</el-table-column>
</el-table>
@ -219,12 +219,12 @@ export default {
},
handleEdit(row) {
this.$nextTick(() => {
this.$refs['NoticeForm'].openDialog('编辑', row)
this.$refs['NoticeForm'].openDialog(this.$t('common:button:edit'), row)
})
},
handleAdd() {
this.$nextTick(() => {
this.$refs['NoticeForm'].openDialog('新增', {})
this.$refs['NoticeForm'].openDialog(this.$t('common:button:add'), {})
})
},
getUserTypeRoleList() {

View File

@ -197,8 +197,9 @@ export default {
getMenuList({}).then(res => {
const menu = this.toTree(res.Result, '00000000-0000-0000-0000-000000000000')
this.menuOptions = menu
this.form.MenuIds.forEach(v => {
console.log(this.menuOptions)
this.$nextTick(() => {
this.form.MenuIds.forEach(v => {
this.$refs.menu.setChecked(v, true, false)
})
})

View File

@ -2,17 +2,16 @@
<div class="role">
<div ref="leftContainer" class="left">
<el-form :inline="true">
<el-form-item label="关键字">
<el-form-item :label="$t('system:role:title:SearchFilter')">
<el-input
v-model="queryParams.SearchFilter"
placeholder="请输入关键字"
clearable
size="small"
@keyup.enter.native="getList"
/>
</el-form-item>
<el-form-item label="状态">
<el-select v-model="queryParams.GroupId" placeholder="角色组" clearable size="small">
<el-form-item :label="$t('system:role:title:Group')">
<el-select v-model="queryParams.GroupId" clearable size="small">
<el-option
v-for="item of dict.type.UserTypeGroup"
:key="item.value"
@ -22,27 +21,27 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList"></el-button>
<el-button v-hasPermi="['system:role:add']" type="primary" icon="el-icon-plus" size="mini" @click="handleAddRole"></el-button>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList">{{ $t('common:button:search') }}</el-button>
<el-button v-hasPermi="['system:role:add']" type="primary" icon="el-icon-plus" size="mini" @click="handleAddRole">{{ $t('common:button:add') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="loading" v-adaptive="{bottomOffset:30}" size="small" height="100" :data="list" class="table">
<el-table-column type="index" width="50" />
<el-table-column label="User Type" prop="UserTypeName" min-width="220" show-overflow-tooltip />
<el-table-column label="Shortname" prop="UserTypeShortName" min-width="120" show-overflow-tooltip />
<el-table-column label="Group" prop="Note" min-width="80" show-overflow-tooltip>
<el-table-column :label="$t('system:role:table:User Type')" prop="UserTypeName" min-width="220" show-overflow-tooltip />
<el-table-column :label="$t('system:role:table:Shortname')" prop="UserTypeShortName" min-width="120" show-overflow-tooltip />
<el-table-column :label="$t('system:role:table:Group')" prop="Note" min-width="80" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.UserTypeGroupList.map(v => {return v.GroupName}).toString() }}
</template>
</el-table-column>
<el-table-column label="PermissionStr" prop="PermissionStr" min-width="100" show-overflow-tooltip />
<el-table-column label="User Type Enum" prop="UserTypeEnum" min-width="100" show-overflow-tooltip>
<el-table-column :label="$t('system:role:table:PermissionStr')" prop="PermissionStr" min-width="100" show-overflow-tooltip />
<el-table-column :label="$t('system:role:table:User Type Enum')" prop="UserTypeEnum" min-width="100" show-overflow-tooltip>
<template slot-scope="scope">
{{ $fd('UserType',scope.row.UserTypeEnum) }}
</template>
</el-table-column>
<el-table-column label="Description" prop="Description" min-width="220" show-overflow-tooltip />
<el-table-column label="Action" width="280">
<el-table-column :label="$t('system:role:table:Description')" prop="Description" min-width="220" show-overflow-tooltip />
<el-table-column :label="$t('common:action:action')" width="280">
<template slot-scope="scope">
<el-button
v-hasPermi="['system:role:edit']"
@ -50,14 +49,14 @@
type="text"
icon="el-icon-edit"
@click="handleEditRole(scope.row)"
>Edit</el-button>
>{{ $t('common:button:edit') }}</el-button>
<el-button
v-hasPermi="['system:role:delete']"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDeleteRole(scope.row)"
>Delete</el-button>
>{{ $t('common:button:delete') }}</el-button>
</template>
</el-table-column>
</el-table>
@ -69,12 +68,11 @@
</div>
</template>
<script>
import { role_columns, model_cfg } from './role'
import { getUserTypeRoleList, deleteUserTypeRole } from '@/api/admin'
// import { getDictionary } from '@/api/dictionary/dictionary'
import RoleForm from './components/RoleForm'
import tableMixins from '@/mixins/table'
import { model_cfg } from './role'
export default {
name: 'Role',
components: { RoleForm },
@ -82,7 +80,6 @@ export default {
mixins: [tableMixins],
data() {
return {
role_columns,
model_cfg,
list: [],
total: 0,
@ -124,12 +121,12 @@ export default {
handleAddRole() {
this.editRow = {}
this.model_cfg.visible = true
this.model_cfg.title = 'Add'
this.model_cfg.title = this.$t('common:button:add')
},
handleEditRole(row) {
this.editRow = row
this.model_cfg.visible = true
this.model_cfg.title = 'Edit'
this.model_cfg.title = this.$t('common:button:edit')
},
//
handlePermission(row) {

View File

@ -1,7 +1,6 @@
// 角色列表配置信息
export const role_columns = [
{ type: 'index' },
{
prop: 'UserType',
label: 'User Type',

View File

@ -4,7 +4,7 @@
<span>Security</span>
</div> -->
<div>
<el-button type="danger" @click="handleReset">Reset Password</el-button>
<el-button type="danger" @click="handleReset">{{$t('system:userlist:button:ResetPassword')}}</el-button>
</div>
</el-card>
</template>

View File

@ -9,41 +9,41 @@
>
<el-card class="Basic" shadow="never" size="small">
<div slot="header" class="clearfix">
<span>Basic Information</span>
<span>{{ $t('system:userlist:title:Information') }}</span>
</div>
<el-form-item v-if="user.UserCode" label="S/N: " prop="UserCode">
<el-form-item v-if="user.UserCode" :label="$t('system:userlist:table:S/N')" prop="UserCode">
<el-input v-model="user.UserCode" disabled />
</el-form-item>
<el-form-item label="User ID: " class="my_new_pwd" prop="UserName">
<el-form-item :label="$t('system:userlist:table:UserName')" class="my_new_pwd" prop="UserName">
<el-input v-model="user.UserName" />
</el-form-item>
<el-form-item label="Surname: " prop="LastName">
<el-form-item :label="$t('system:userlist:table:LastName')" prop="LastName">
<el-input v-model="user.LastName" />
</el-form-item>
<el-form-item label="Given Name: " prop="FirstName">
<el-form-item :label="$t('system:userlist:table:FirstName')" prop="FirstName">
<el-input v-model="user.FirstName" />
</el-form-item>
<el-form-item label="Gender: " prop="Sex" style="margin-right:40px;">
<el-form-item :label="$t('system:userlist:table:Gender')" prop="Sex" style="margin-right:40px;">
<el-radio-group v-model="user.Sex">
<el-radio :label="1">Male</el-radio>
<el-radio :label="0">Female</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="Email: " prop="EMail">
<el-form-item :label="$t('system:userlist:table:Email')" prop="EMail">
<el-input v-model="user.EMail" />
</el-form-item>
<el-form-item label="Phone: " prop="Phone">
<el-form-item :label="$t('system:userlist:table:Phone')" prop="Phone">
<el-input v-model="user.Phone" />
</el-form-item>
<el-form-item v-if="type==1" label="Disable:">
<el-form-item v-if="type==1" :label="$t('system:userlist:table:Disable')">
<el-switch v-model="user.Status" :active-value="0" :inactive-value="1" />
</el-form-item>
<el-form-item label="IsTestUser:">
<el-form-item :label="$t('system:userlist:table:IsTestUser')">
<el-switch v-model="user.IsTestUser" />
</el-form-item>
<el-form-item label="User Type: " prop="UserTypeId">
<el-form-item :label="$t('system:userlist:table:UserType')" prop="UserTypeId">
<el-select ref="userType" v-model="user.UserTypeId" size="small" placeholder="Please select" style="width:100%;" :disabled="user.CanEditUserType === false">
<el-option
v-for="(userType,key) of userTypeOptions"
@ -58,22 +58,21 @@
<el-card class="Affiliation" shadow="never" style="margin-top:10px;" size="small">
<div slot="header" class="clearfix">
<span>Affiliation</span>
<span>{{ $t('system:userlist:title:Affiliation') }}</span>
</div>
<el-form-item prop="IsZhiZhun">
<el-radio-group v-model="user.IsZhiZhun" @change="OrgnizationTypeChanged">
<el-radio :label="true">Internal</el-radio>
<el-radio :label="false">External</el-radio>
<el-radio :label="true">{{ $t('system:userlist:title:Internal') }}</el-radio>
<el-radio :label="false">{{ $t('system:userlist:title:External') }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-show="user.IsZhiZhun === false" label="Organization Name: ">
<el-form-item v-show="user.IsZhiZhun === false" :label="$t('system:userlist:table:OrganizationName')">
<el-input v-model="user.OrganizationName" />
</el-form-item>
<el-form-item label="Department: " prop="DepartmentName">
<el-form-item :label="$t('system:userlist:table:Department')" prop="DepartmentName">
<el-input v-model="user.DepartmentName" />
</el-form-item>
<el-form-item label="Position: " prop="PositionName">
<el-form-item :label="$t('system:userlist:table:Position')" prop="PositionName">
<el-input v-model="user.PositionName" />
</el-form-item>
</el-card>

View File

@ -1,10 +1,10 @@
<template>
<div class="edit-container">
<el-tabs v-model="activeTab" @tab-click="clickTab">
<el-tab-pane label="User " name="user">
<el-tab-pane :label="$t('system:userlist:tab:User')" name="user">
<user-info :user-id="userId" />
</el-tab-pane>
<el-tab-pane label="Password " name="account">
<el-tab-pane :label="$t('system:userlist:tab:Password')" name="account">
<Account v-if="load.account" :user-id="userId" />
</el-tab-pane>
</el-tabs>

View File

@ -15,7 +15,7 @@
size="mini"
style="margin-left:auto;height: 28px;position: absolute;bottom: 0;right: 10px"
@click="handleAddUser"
>New</el-button>
>{{$t('common:button:new')}}</el-button>
</div>
<base-table
v-loading="loading"
@ -120,7 +120,7 @@ export default {
},
{
prop: 'EMail',
label: this.$t('system:userlist:table:EMail'),
label: this.$t('system:userlist:table:Email'),
minWidth: 150,
sortable: 'custom',
showOverflowTooltip: true

View File

@ -286,7 +286,7 @@ export default {
})
},
handleAdd() {
this.row = { TrialId: this.trialId, Id: '', IsBaseLine: false, BlindName: '', VisitWindowLeft: 0, VisitWindowRight: 0, Description: '' }
this.row = { TrialId: this.trialId, Id: '', IsBaseLine: false, BlindName: '', VisitWindowLeft: -3, VisitWindowRight: 3, Description: '' }
this.timer = new Date().getTime()
if (this.list.length === 0) {
this.row.VisitName = 'Baseline'

View File

@ -9,127 +9,125 @@
<!-- PM/APM -->
<!-- 阅片期 -->
<el-tab-pane v-if="hasPermi(['trials:trials-panel:subject:readingPeriod:edit'])" :label="`${$t('trials:crcUpload:label:clinicalData')} (${tabList.PM_ClinicalDataCount})`">
<el-card :body-style="{ padding: '10px'}" style="height:100%">
<clinicalDataPM :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
</el-card>
</el-tab-pane>
<el-tab-pane v-if="hasPermi(['trials:trials-workbench:consistencyCheck'])" :label="`${$t('trials:tab:consistencyCheck')} (${tabList.PM_CheckCount})`">
<el-card :body-style="{ padding: '10px'}" style="height:100%">
<consistencyCheck :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
</el-card>
</el-tab-pane>
<!-- 重阅审批 -->
<el-tab-pane v-if="hasPermi(['trials:trials-workbench:rereadApproval'])" :label="`${$t('trials:trials-panel:attachments:reReadingTracking')} (${tabList.PM_ReReadingApprovalCount})`">
<el-card :body-style="{ padding: '10px'}" style="height:100%">
<RereadApproval :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
</el-card>
</el-tab-pane>
<!-- 阅片人筛选 -->
<el-tab-pane v-if="hasPermi(['trials:trials-workbench:reviewerScreen'])" :label="`${$t('trials:trials-list:PendingDetails:ReviewerSelection')} (${tabList.PM_ReviewerSelectCount})`">
<el-card :body-style="{ padding: '10px'}" style="height:100%">
<ReviewerScreen :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
</el-card>
</el-tab-pane>
<!-- 中心调研 -->
<el-tab-pane v-if="hasPermi(['trials:trials-workbench:reviewerScreen'])" :label="`${$t('trials:workbench:title:pendingSiteResearch')} (${tabList.PM_SiteSurveryCount})`">
<el-card :body-style="{ padding: '10px'}" style="height:100%">
<SiteResearch :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
</el-card>
</el-tab-pane>
<!-- SPM/CPM -->
<!-- 阅片人审批 -->
<el-tab-pane v-if="hasPermi(['trials:trials-workbench:reviewerApproval'])" :label="`${$t('trials:sysDocBeSigned:table:reviewerApproval')} (${tabList.SPM_ReviewerApprovalCount})`">
<el-card :body-style="{ padding: '10px'}" style="height:100%">
<ReviewerApproval :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
</el-card>
</el-tab-pane>
<!-- 重阅审批 -->
<el-tab-pane v-if="hasPermi(['trials:trials-workbench:spmRereadApproval'])" :label="`${$t('trials:trials-panel:attachments:reReadingTracking')} (${tabList.SPM_ReReadingApprovalCount})`">
<el-card :body-style="{ padding: '10px'}" style="height:100%">
<SpmRereadApproval :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
</el-card>
</el-tab-pane>
<!-- CRC -->
<!-- 临床数据录入 -->
<el-tab-pane v-if="hasPermi(['trials:trials-workbench:clinicalDataEntry'])" :label="`${$t('trials:workbench:title:ClinicalDataEnter')} (${tabList.CRC_ClinicalDataTobeDoneCount})`">
<el-card :body-style="{ padding: '10px'}" style="height:100%">
<clinicalData :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
</el-card>
</el-tab-pane>
<!-- 临床数据确认 -->
<el-tab-pane v-if="hasPermi(['trials:trials-workbench:clinicalDataEntry'])" :label="`${$t('trials:audit:tab:clinicalDataconfirm')} (${tabList.CRC_ClinialDataTobeConfirmCount})`">
<el-card :body-style="{ padding: '10px'}" style="height:100%">
<clinicalDataConfirm :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
</el-card>
</el-tab-pane>
<!-- 影像质疑 -->
<el-tab-pane v-if="hasPermi(['trials:trials-workbench:imageQuestion'])" :label="`${$t('trials:tab:crcQuality')} (${tabList.CRC_ImageQuestionCount})`">
<el-card :body-style="{ padding: '10px'}" style="height:100%">
<ImageQuestion :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
</el-card>
</el-tab-pane>
<!-- 核查质疑 -->
<el-tab-pane v-if="hasPermi(['trials:trials-workbenck:imageVerification'])" :label="`${$t('trials:sysDocBeSigned:table:ImageCheck')} (${tabList.CRC_CheckQuestionCount})`">
<el-card :body-style="{ padding: '10px'}" style="height:100%">
<ImageVerification :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
</el-card>
</el-tab-pane>
<!-- 影像重传 -->
<el-tab-pane v-if="hasPermi(['trials:trials-workbenck:imageReupload'])" :label="`${$t('trials:workbench:title:ImageRetransmission')} (${tabList.CRC_ImageReUploadCount})`">
<el-card :body-style="{ padding: '10px'}" style="height:100%">
<ImageReupload :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
</el-card>
</el-tab-pane>
<!-- 加急影像提交 -->
<el-tab-pane v-if="hasPermi(['trials:trials-workbenck:imageSubmission'])" :label="`${$t('trials:workbench:title:ExpeditedImageSubmission')} (${tabList.CRC_ImageSubmitCount})`">
<el-card :body-style="{ padding: '10px'}" style="height:100%">
<ImageSubmission :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
</el-card>
</el-tab-pane>
<!-- IQC -->
<!-- 影像质控 -->
<el-tab-pane v-if="hasPermi(['trials:trials-workbenck:imageQC'])" :label="`${$t('trials:tab:dicomsQuality')} (${tabList.IQC_IamgeQCCount})`">
<el-card :body-style="{ padding: '10px'}" style="height:100%">
<ImageQualityControl :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
</el-card>
</el-tab-pane>
<!-- QC质疑 -->
<el-tab-pane v-if="hasPermi(['trials:trials-workbenck:qcQuestion'])" :label="`${$t('trials:tab:qcQuality')} (${tabList.IQC_QCQuestionCount})`">
<el-card :body-style="{ padding: '10px'}" style="height:100%">
<QcQuestion :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
</el-card>
</el-tab-pane>
<!-- IR -->
<!-- 影像待阅 -->
<el-tab-pane v-if="hasPermi(['trials:trials-workbenck:imagesToRead'])" :label="`${$t('trials:tab:pendingReadingTasks')} (${tabList.IR_IamgeWaitReadingCount})`">
<el-card :body-style="{ padding: '10px'}" style="height:100%">
<ImagesToRead :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
</el-card>
</el-tab-pane>
<!-- 医学反馈 -->
<el-tab-pane v-if="hasPermi(['trials:trials-workbenck:medicalFeedback'])" :label="`${$t('trials:trials-panel:tab:medicalFeedback')} (${tabList.IR_MedicalReviewCount})`">
<el-card :body-style="{ padding: '10px'}" style="height:100%">
<MedicalFeedback :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
</el-card>
</el-tab-pane>
<!-- MIM -->
<!-- 医学审核 -->
<el-tab-pane v-if="hasPermi(['trials:trials-workbenck:medicalAudit'])" :label="`${$t('trials:trials-panel:tab:pmMedicalFeedback')} (${tabList.MIM_MedicalReviewCount})`">
<el-card :body-style="{ padding: '10px'}" style="height:100%">
<MedicalAudit :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
</el-card>
</el-tab-pane>
<!-- 项目签署文件 -->
<el-tab-pane v-if="!hasPermi(['role:zys'])" :label="`${$t('trials:workbench:title:trialDocBeSigned')} (${tabList.TrialWaitSignDocCount})`">
<el-card :body-style="{ padding: '10px'}" style="height:100%">
<NeedSignTrialDoc :is-sign-system-doc="isSignSystemDoc" />
</el-card>
</el-tab-pane>
<!-- 系统签署文件 -->
<el-tab-pane v-if="!hasPermi(['role:zys'])" :label="`${$t('trials:workbench:title:sysDocBeSigned')} (${tabList.SysWaitSignDocCount})`">
<el-card :body-style="{ padding: '10px'}" style="height:100%">
<NeedSignSysDoc @refreshStats="refreshStats" />
</el-card>
</el-tab-pane>
</el-tabs>
</div>
@ -141,80 +139,80 @@
<!-- &lt;!&ndash; CRC &ndash;&gt;-->
<!-- &lt;!&ndash; 临床数据录入 &ndash;&gt;-->
<!-- <div v-if="!isSignSystemDoc && hasPermi(['trials:trials-workbench:clinicalDataEntry'])" class="item">-->
<!-- <el-card :body-style="{ padding: '10px'}" style="height:100%">-->
<!-- -->
<!-- <clinicalData :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />-->
<!-- </el-card>-->
<!-- </div>-->
<!-- &lt;!&ndash; 临床数据确认 &ndash;&gt;-->
<!-- <div v-if="!isSignSystemDoc && hasPermi(['trials:trials-workbench:clinicalDataEntry'])" class="item">-->
<!-- <el-card :body-style="{ padding: '10px'}" style="height:100%">-->
<!-- -->
<!-- <clinicalDataConfirm :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />-->
<!-- </el-card>-->
<!-- </div>-->
<!-- &lt;!&ndash; 影像质疑 &ndash;&gt;-->
<!-- <div v-if="!isSignSystemDoc && hasPermi(['trials:trials-workbench:imageQuestion'])" class="item">-->
<!-- <el-card :body-style="{ padding: '10px'}" style="height:100%">-->
<!-- -->
<!-- <ImageQuestion :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />-->
<!-- </el-card>-->
<!-- </div>-->
<!-- &lt;!&ndash; 核查质疑 &ndash;&gt;-->
<!-- <div v-if="!isSignSystemDoc && hasPermi(['trials:trials-workbenck:imageVerification'])" class="item">-->
<!-- <el-card :body-style="{ padding: '10px'}" style="height:100%">-->
<!-- -->
<!-- <ImageVerification :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />-->
<!-- </el-card>-->
<!-- </div>-->
<!-- &lt;!&ndash; 影像重传 &ndash;&gt;-->
<!-- <div v-if="!isSignSystemDoc && hasPermi(['trials:trials-workbenck:imageReupload'])" class="item">-->
<!-- <el-card :body-style="{ padding: '10px'}" style="height:100%">-->
<!-- -->
<!-- <ImageReupload :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />-->
<!-- </el-card>-->
<!-- </div>-->
<!-- &lt;!&ndash; 加急影像提交 &ndash;&gt;-->
<!-- <div v-if="!isSignSystemDoc && hasPermi(['trials:trials-workbenck:imageSubmission'])" class="item">-->
<!-- <el-card :body-style="{ padding: '10px'}" style="height:100%">-->
<!-- -->
<!-- <ImageSubmission :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />-->
<!-- </el-card>-->
<!-- </div>-->
<!-- &lt;!&ndash; IQC &ndash;&gt;-->
<!-- &lt;!&ndash; 影像质控 &ndash;&gt;-->
<!-- <div v-if="!isSignSystemDoc && hasPermi(['trials:trials-workbenck:imageQC'])" class="item">-->
<!-- <el-card :body-style="{ padding: '10px'}" style="height:100%">-->
<!-- -->
<!-- <ImageQualityControl :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />-->
<!-- </el-card>-->
<!-- </div>-->
<!-- &lt;!&ndash; QC质疑 &ndash;&gt;-->
<!-- <div v-if="!isSignSystemDoc && hasPermi(['trials:trials-workbenck:qcQuestion'])" class="item">-->
<!-- <el-card :body-style="{ padding: '10px'}" style="height:100%">-->
<!-- -->
<!-- <QcQuestion :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />-->
<!-- </el-card>-->
<!-- </div>-->
<!-- &lt;!&ndash; IR &ndash;&gt;-->
<!-- &lt;!&ndash; 影像待阅 &ndash;&gt;-->
<!-- <div v-if="!isSignSystemDoc && hasPermi(['trials:trials-workbenck:imagesToRead'])" class="item">-->
<!-- <el-card :body-style="{ padding: '10px'}" style="height:100%">-->
<!-- -->
<!-- <ImagesToRead :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />-->
<!-- </el-card>-->
<!-- </div>-->
<!-- &lt;!&ndash; 医学反馈 &ndash;&gt;-->
<!-- <div v-if="!isSignSystemDoc && hasPermi(['trials:trials-workbenck:medicalFeedback'])" class="item">-->
<!-- <el-card :body-style="{ padding: '10px'}" style="height:100%">-->
<!-- -->
<!-- <MedicalFeedback :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />-->
<!-- </el-card>-->
<!-- </div>-->
<!-- &lt;!&ndash; MIM &ndash;&gt;-->
<!-- &lt;!&ndash; 医学审核 &ndash;&gt;-->
<!-- <div v-if="!isSignSystemDoc && hasPermi(['trials:trials-workbenck:medicalAudit'])" class="item">-->
<!-- <el-card :body-style="{ padding: '10px'}" style="height:100%">-->
<!-- -->
<!-- <MedicalAudit :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />-->
<!-- </el-card>-->
<!-- </div>-->
<!-- <div v-if="!isSignSystemDoc && !hasPermi(['role:zys'])" class="item">-->
<!-- <el-card :body-style="{ padding: '10px'}" style="height:100%">-->
<!-- -->
<!-- <NeedSignTrialDoc />-->
<!-- </el-card>-->
<!-- </div>-->
<!-- <div v-if="isSignSystemDoc || hasPermi(['role:zys'])" class="item">-->
<!-- <el-card :body-style="{ padding: '10px'}" style="height:100%">-->
<!-- -->
<!-- <NeedSignSysDoc @refreshStats="refreshStats" />-->
<!-- </el-card>-->
<!-- </div>-->