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

View File

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

View File

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

View File

@ -2,7 +2,7 @@
<div class="credentials-container"> <div class="credentials-container">
<div class="clearfix"> <div class="clearfix">
<el-card class="e-card"> <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> </p>
<upload-file :doctor-id="doctorId" type="Diploma of the highest medical degree" /> <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')">--> <!-- <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>
<el-card class="e-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')">--> <!-- <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>--> <!-- <i class="el-icon-view el-icon-download"></i>-->
<!-- Template--> <!-- Template-->
@ -22,7 +22,7 @@
</el-card> </el-card>
<el-card class="e-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')">--> <!-- <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>--> <!-- <i class="el-icon-view el-icon-download"></i>-->
<!-- Template--> <!-- Template-->
@ -31,7 +31,7 @@
<upload-file :doctor-id="doctorId" type="Practice License" /> <upload-file :doctor-id="doctorId" type="Practice License" />
</el-card> </el-card>
</div> </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"> <div class="clearfix">
<el-card class="e-card"> <el-card class="e-card">
<p class="title">CT <p class="title">CT

View File

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

View File

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

View File

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

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="form-container" style="width:80%;"> <div class="form-container" style="width:80%;">
<el-form ref="researchForm" v-loading="loading" label-width="140px" :model="researchForm" size="small"> <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-row type="flex" justify="space-between">
<el-col :span="11"> <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" /> <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-col>
</el-row> </el-row>
</el-form-item> </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-row type="flex" justify="space-between">
<el-col :span="11"> <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" /> <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-col>
</el-row> </el-row>
</el-form-item> </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-row type="flex" justify="space-between">
<el-col :span="11"> <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" /> <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-col>
</el-row> </el-row>
</el-form-item> </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-row type="flex" justify="space-between">
<el-col :span="11"> <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" /> <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-row>
</el-form-item> </el-form-item>
<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-item>
</el-form> </el-form>
</div> </div>

View File

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

View File

@ -2,68 +2,68 @@
<div v-loading="loading" class="check-container form-container"> <div v-loading="loading" class="check-container form-container">
<el-form ref="checkForm" :model="checkForm" label-width="200px" size="small" :rules="rules"> <el-form ref="checkForm" :model="checkForm" label-width="200px" size="small" :rules="rules">
<div class="title-wrapper"> <div class="title-wrapper">
<p>盲化信息</p> <p>{{$t('system:Setting:title:Blinded information') }}</p>
</div> </div>
<div class="check-content"> <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 <el-input
v-model="checkForm.BlindName" v-model="checkForm.BlindName"
style="width:300px" style="width:300px"
/> />
</el-form-item> </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 <el-input
v-model="checkForm.BlindNameCN" v-model="checkForm.BlindNameCN"
style="width:300px" style="width:300px"
/> />
</el-form-item> </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-input v-model="checkForm.BlindPublications" type="textarea" rows="8" style="width:60%;" size="small" />
</el-form-item> </el-form-item>
</div> </div>
<div class="title-wrapper"> <div class="title-wrapper">
<p>Setting</p> <p>{{$t('system:Setting:title:Blinded Setting') }}</p>
</div> </div>
<div class="check-content"> <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-group v-model="checkForm.ReviewStatus" @change="handleChange">
<el-radio :label="1">Yes</el-radio> <el-radio :label="1">{{$t('system:Setting:label:Information Confirmed?:Yes')}}</el-radio>
<el-radio :label="2">No</el-radio> <el-radio :label="2">{{$t('system:Setting:label:Information Confirmed?:No')}}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </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-group v-model="checkForm.CooperateStatus" @change="handleChange">
<el-radio :label="1">Yes</el-radio> <el-radio :label="1">{{$t('system:Setting:label:Information Confirmed?:Yes')}}</el-radio>
<el-radio :label="2">No</el-radio> <el-radio :label="2">{{$t('system:Setting:label:Information Confirmed?:No')}}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </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-group v-model="checkForm.AcceptingNewTrial" :disabled="radioDisabled">
<el-radio :label="true">Yes</el-radio> <el-radio :label="true">{{$t('system:Setting:label:Information Confirmed?:Yes')}}</el-radio>
<el-radio :label="false">No</el-radio> <el-radio :label="false">{{$t('system:Setting:label:Information Confirmed?:No')}}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </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-group v-model="checkForm.ActivelyReading" :disabled="radioDisabled">
<el-radio :label="true">Yes</el-radio> <el-radio :label="true">{{$t('system:Setting:label:Information Confirmed?:Yes')}}</el-radio>
<el-radio :label="false">No</el-radio> <el-radio :label="false">{{$t('system:Setting:label:Information Confirmed?:No')}}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </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-group v-model="checkForm.IsVirtual" :disabled="radioDisabled">
<el-radio :label="true">Yes</el-radio> <el-radio :label="true">{{$t('system:Setting:label:Information Confirmed?:Yes')}}</el-radio>
<el-radio :label="false">No</el-radio> <el-radio :label="false">{{$t('system:Setting:label:Information Confirmed?:No')}}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </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> <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>
<el-form-item label="Comment: " prop="AdminComment"> <el-form-item :label="$t('system:Setting:label:Comment:')" prop="AdminComment">
<el-input <el-input
v-model="checkForm.AdminComment" v-model="checkForm.AdminComment"
type="textarea" type="textarea"
@ -73,12 +73,12 @@
</el-form-item> </el-form-item>
<el-form-item style="margin-top:20px"> <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> </el-form-item>
</div> </div>
</el-form> </el-form>
<el-dialog <el-dialog
title="Vacation" :label="$t('system:Setting:title:Vacation')"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
width="50%" width="50%"
:close-on-click-modal="false" :close-on-click-modal="false"
@ -91,29 +91,29 @@
format="yyyy-MM-dd" format="yyyy-MM-dd"
type="daterange" type="daterange"
range-separator="to" range-separator="to"
start-placeholder="Beginning Date" :start-placeholder="$t('system:Setting:label:Beginning Date')"
end-placeholder="End Date" :end-placeholder="$t('system:Setting:label:End Date')"
size="small" 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> </div>
<el-table v-loading="loading2" :data="gridData" size="small"> <el-table v-loading="loading2" :data="gridData" size="small">
<el-table-column type="index" /> <el-table-column type="index" />
<el-table-column <el-table-column
property="StartDate" property="StartDate"
label="Beginning Date" :label="$t('system:Setting:table:Beginning Date')"
min-width="120" min-width="120"
:formatter="beginTimeFormatter" :formatter="beginTimeFormatter"
/> />
<el-table-column <el-table-column
property="EndDate" property="EndDate"
label="End Date" :label="$t('system:Setting:table:End Date')"
min-width="120" min-width="120"
:formatter="endTimeFormatter" :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"> <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> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -204,7 +204,7 @@ export default {
if (res.IsSuccess) { if (res.IsSuccess) {
if (res.Result) { this.checkForm.Id = res.Result } if (res.Result) { this.checkForm.Id = res.Result }
this.isDisabled = false this.isDisabled = false
this.$message.success('Saved successfully') this.$message.success(this.$t('common:message:savedSuccessfully'))
} }
}) })
.catch(() => { .catch(() => {
@ -261,8 +261,6 @@ export default {
this.$confirm('Sure to delete?', { this.$confirm('Sure to delete?', {
type: 'warning', type: 'warning',
distinguishCancelAndClose: true, distinguishCancelAndClose: true,
confirmButtonText: 'Ok',
cancelButtonText: 'Cancel'
}) })
.then(() => { .then(() => {
this.loading2 = true this.loading2 = true

View File

@ -12,7 +12,7 @@
> >
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="Specialty: " prop="SpecialityId"> <el-form-item :label="$t('system:reviewer:label:Specialty')" prop="SpecialityId">
<el-select <el-select
v-model="specialtyForm.SpecialityId" v-model="specialtyForm.SpecialityId"
:disabled="$route.query.ReviewStatus === '1'" :disabled="$route.query.ReviewStatus === '1'"
@ -59,7 +59,7 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="Subspeciality: " prop="SubspecialityIds"> <el-form-item :label="$t('system:reviewer:label:Subspeciality')" prop="SubspecialityIds">
<el-select <el-select
v-model="specialtyForm.SubspecialityIds" v-model="specialtyForm.SubspecialityIds"
:disabled="$route.query.ReviewStatus === '1'" :disabled="$route.query.ReviewStatus === '1'"
@ -116,7 +116,7 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="Modality: " prop="ReadingTypeIds"> <el-form-item :label="$t('system:reviewer:label:Modality')" prop="ReadingTypeIds">
<el-select <el-select
:disabled="$route.query.ReviewStatus === '1'" :disabled="$route.query.ReviewStatus === '1'"
v-model="specialtyForm.ReadingTypeIds" v-model="specialtyForm.ReadingTypeIds"
@ -171,7 +171,8 @@
</el-col> </el-col>
</el-row> </el-row>
<el-form-item> <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-item>
</el-form> </el-form>
</div> </div>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -4,7 +4,7 @@
<span>Security</span> <span>Security</span>
</div> --> </div> -->
<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> </div>
</el-card> </el-card>
</template> </template>

View File

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

View File

@ -1,10 +1,10 @@
<template> <template>
<div class="edit-container"> <div class="edit-container">
<el-tabs v-model="activeTab" @tab-click="clickTab"> <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" /> <user-info :user-id="userId" />
</el-tab-pane> </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" /> <Account v-if="load.account" :user-id="userId" />
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>

View File

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

View File

@ -286,7 +286,7 @@ export default {
}) })
}, },
handleAdd() { 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() this.timer = new Date().getTime()
if (this.list.length === 0) { if (this.list.length === 0) {
this.row.VisitName = 'Baseline' this.row.VisitName = 'Baseline'

View File

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