Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web into main
commit
2ba19fd395
|
@ -14,8 +14,8 @@
|
|||
:on-exceed="handleExceed"
|
||||
accept=".pdf"
|
||||
>
|
||||
<el-button size="small" type="primary" :disabled="btnDisabled || $route.query.ReviewStatus === '1'" >Upload</el-button>
|
||||
<span slot="tip" class="el-upload__tip">(must be in pdf format. 1/2 pages, please confirm information integrity)</span>
|
||||
<el-button size="small" type="primary" :disabled="btnDisabled || $route.query.ReviewStatus === '1'" >{{ $t('system:GcpCertificate:upload:Upload') }}</el-button>
|
||||
<span slot="tip" class="el-upload__tip">{{$t('system:GcpCertificate:tap:must2') }}</span>
|
||||
</el-upload>
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
@ -40,6 +40,7 @@
|
|||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
<TopLang></TopLang>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -50,12 +51,15 @@ import {mapGetters, mapMutations} from 'vuex'
|
|||
import Breadcrumb from '@/components/Breadcrumb'
|
||||
import Hamburger from '@/components/Hamburger'
|
||||
import Screenfull from '@/components/Screenfull'
|
||||
import TopLang from './topLang'
|
||||
|
||||
|
||||
export default {
|
||||
components: {
|
||||
Breadcrumb,
|
||||
Hamburger,
|
||||
Screenfull
|
||||
Screenfull,
|
||||
TopLang
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
|
|
@ -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>
|
|
@ -1,21 +1,21 @@
|
|||
<template>
|
||||
<div v-loading="loading" class="resumes-container">
|
||||
<div class="resume-content" v-if="!$route.query.ReviewStatus">
|
||||
<p>Consultant Agreement</p>
|
||||
<p>{{$t('system:Agreements:title:Consultant Agreement')}}</p>
|
||||
<div class="upload-content">
|
||||
<upload-files ref="uploadAgreement" :disabled="$route.query.ReviewStatus === '1'" :doctor-id="doctorId" type="Consultant Agreement" accept=".pdf" @getFileList="getFileList" />
|
||||
</div>
|
||||
<p>(must be in pdf format)</p>
|
||||
<p>{{ $t('system:GcpCertificate:tap:must') }}</p>
|
||||
</div>
|
||||
<div v-if="!$route.query.ReviewStatus">
|
||||
<el-table :data="agreementList" size="small">
|
||||
<el-table-column type="index" width="40" />
|
||||
<el-table-column prop="FileName" label="Consultant Agreement" width="300" />
|
||||
<el-table-column prop="CreateTime" label="Upload Time" width="150" />
|
||||
<el-table-column label="Action" width="400">
|
||||
<el-table-column prop="FileName" :label="$t('system:Agreements:table:Consultant Agreement')" width="300" />
|
||||
<el-table-column prop="CreateTime" :label="$t('system:Agreements:table:Upload Time')" width="150" />
|
||||
<el-table-column :label="$t('common:action:action')" width="400">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="small" @click="handlePreview(scope.row)">View</el-button>
|
||||
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleRemoveFile(scope.row)">Delete</el-button>
|
||||
<el-button type="text" size="small" @click="handlePreview(scope.row)">{{$t('trials:enrolledReviews:button:view')}}</el-button>
|
||||
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleRemoveFile(scope.row)">{{$t('common:button:delete')}}</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
@ -24,21 +24,22 @@
|
|||
<span style="margin-right: 20px">
|
||||
{{$t('trials:enrolledReviews:message:SOW')}}
|
||||
</span>
|
||||
<el-button size="small" type="primary" :disabled="$route.query.ReviewStatus === '1'" @click="addCol(0, $t('trials:enrolledReviews:message:SOW'))">Upload</el-button>
|
||||
<el-button size="small" type="primary" :disabled="$route.query.ReviewStatus === '1'" @click="addCol(0, $t('trials:enrolledReviews:message:SOW'))">
|
||||
{{ $t('common:button:upload') }}</el-button>
|
||||
<el-button size="small" type="primary" @click="handleDownload('Reviewer_SOW_Template')">
|
||||
<i class="el-icon-view el-icon-download"></i>
|
||||
Template
|
||||
{{ $t('common:button:template') }}
|
||||
</el-button>
|
||||
</div>
|
||||
<el-table :data="sowList" size="small">
|
||||
<el-table-column type="index" width="40" />
|
||||
<el-table-column label="Criterion Type" width="120">
|
||||
<el-table-column :label="$t('system:Agreements:table:Criterion Type')" width="120">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.CriterionName }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="FileName" label="Statement of Work" width="400" />
|
||||
<el-table-column prop="IsEnable" label="Is Enable" width="100">
|
||||
<el-table-column prop="FileName" :label="$t('system:Agreements:table:Statement of Work')" width="400" />
|
||||
<el-table-column prop="IsEnable" :label="$t('system:Agreements:table:Is Enable')" width="100">
|
||||
<template slot-scope="scope">
|
||||
<el-switch
|
||||
v-model="scope.row.IsEnable"
|
||||
|
@ -48,13 +49,14 @@
|
|||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="Remark" label="Remark" width="200" />
|
||||
<el-table-column prop="CreateTime" label="Upload Time" width="150" />
|
||||
<el-table-column label="Action" width="400">
|
||||
<el-table-column prop="Remark" :label="$t('system:Agreements:Remark')" width="200" />
|
||||
<el-table-column prop="CreateTime" :label="$t('system:Agreements:Upload Time')" width="150" />
|
||||
<el-table-column :label="$t('common:action:action')" width="400">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handlePreview3(scope.row)">View</el-button>
|
||||
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleEditCol(scope.row, 0, $t('trials:enrolledReviews:message:SOW'))">Edit</el-button>
|
||||
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleRemoveFile3(scope.row)">Delete</el-button>
|
||||
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handlePreview3(scope.row)">{{$t('trials:enrolledReviews:button:view')}}</el-button>
|
||||
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleEditCol(scope.row, 0, $t('trials:enrolledReviews:message:SOW'))">
|
||||
{{ $t('common:button:edit') }}</el-button>
|
||||
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleRemoveFile3(scope.row)">{{ $t('common:button:delete') }}</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
@ -66,13 +68,13 @@
|
|||
</div>
|
||||
<el-table :data="ackSowList" size="small" v-if="!$route.query.ReviewStatus">
|
||||
<el-table-column type="index" width="40" />
|
||||
<el-table-column label="Criterion Type" width="120">
|
||||
<el-table-column :label="$t('system:Agreements:table:Criterion Type')" width="120">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.CriterionName }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="FileName" label="Acknowledgement of SOW" width="400" />
|
||||
<el-table-column prop="IsEnable" label="Is Enable" width="100">
|
||||
<el-table-column prop="FileName" :label="$t('system:Agreements:table:Acknowledgement of SOW')" width="400" />
|
||||
<el-table-column prop="IsEnable" :label="$t('system:Agreements:table:Is Enable')" width="100">
|
||||
<template slot-scope="scope">
|
||||
<el-switch
|
||||
v-model="scope.row.IsEnable"
|
||||
|
@ -82,13 +84,13 @@
|
|||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="Remark" label="Remark" width="200" />
|
||||
<el-table-column prop="CreateTime" label="Upload Time" width="150" />
|
||||
<el-table-column prop="Remark" :label="$t('system:Agreements:table:Remark')" width="200" />
|
||||
<el-table-column prop="CreateTime" :label="$t('system:Agreements:table:Upload Time')" width="150" />
|
||||
<el-table-column label="Action" width="400">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handlePreview3(scope.row)">View</el-button>
|
||||
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleEditCol(scope.row, 1, $t('trials:enrolledReviews:message:EQC'))">Edit</el-button>
|
||||
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleRemoveFile3(scope.row)">Delete</el-button>
|
||||
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handlePreview3(scope.row)">{{$t('common:button:view')}}</el-button>
|
||||
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleEditCol(scope.row, 1, $t('trials:enrolledReviews:message:EQC'))">{{$t('common:button:edit')}}</el-button>
|
||||
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleRemoveFile3(scope.row)">{{$t('common:button:delete')}}</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
@ -101,7 +103,7 @@
|
|||
label-width="120px"
|
||||
size="small"
|
||||
>
|
||||
<el-form-item label="Criterion Type " prop="CriterionType">
|
||||
<el-form-item :label="$t('system:Agreements:label:Criterion Type')" prop="CriterionType">
|
||||
<el-select v-model="form.CriterionType">
|
||||
<el-option
|
||||
v-for="item of $d.CriterionType"
|
||||
|
@ -111,7 +113,7 @@
|
|||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="File" prop="FilePath">
|
||||
<el-form-item :label="$t('system:Agreements:label:File')" prop="FilePath">
|
||||
<el-upload
|
||||
class="upload-demo"
|
||||
action
|
||||
|
@ -126,11 +128,11 @@
|
|||
<el-button size="small" type="primary" :disabled="fileList.length > 0">{{$t('common:button:upload')}}</el-button>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<el-form-item label="Remark">
|
||||
<el-form-item :label="$t('system:Agreements:label:Remark')">
|
||||
<el-input v-model="form.Remark" type="textarea"
|
||||
:autosize="{ minRows: 2, maxRows: 4}"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="Is Enable">
|
||||
<el-form-item :label="$t('system:Agreements:label:Is Enable')">
|
||||
<el-switch
|
||||
v-model="form.IsEnable"
|
||||
:active-value="true"
|
||||
|
@ -140,8 +142,8 @@
|
|||
</el-form>
|
||||
</template>
|
||||
<template slot="dialog-footer">
|
||||
<el-button :disabled="btnLoading" size="small" type="primary" @click="handleCancle">Cancel</el-button>
|
||||
<el-button size="small" type="primary" :loading="btnLoading" @click="handleSave">Save</el-button>
|
||||
<el-button :disabled="btnLoading" size="small" type="primary" @click="handleCancle">{{ $t('common:button:cancel') }}</el-button>
|
||||
<el-button size="small" type="primary" :loading="btnLoading" @click="handleSave">{{ $t('common:button:save') }}</el-button>
|
||||
</template>
|
||||
</BaseModel>
|
||||
</div>
|
||||
|
|
|
@ -15,31 +15,31 @@
|
|||
>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item v-if="basicInfo.ReviewerCode" label="ID: ">
|
||||
<el-form-item v-if="basicInfo.ReviewerCode" :label="$t('system:reviewer:label:Id')">
|
||||
<el-input v-model="basicInfo.ReviewerCode" disabled size="small" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="Last Name: " prop="LastName">
|
||||
<el-form-item :label="$t('system:reviewer:label:LastName')" prop="LastName">
|
||||
<el-input v-model="basicInfo.LastName" :disabled="$route.query.ReviewStatus === '1'" size="small" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="First Name: " prop="FirstName">
|
||||
<el-form-item :label="$t('system:reviewer:label:FirstName')" prop="FirstName">
|
||||
<el-input v-model="basicInfo.FirstName" :disabled="$route.query.ReviewStatus === '1'" size="small" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="Name CN: " prop="ChineseName">
|
||||
<el-form-item :label="$t('system:reviewer:label:NameCN')" prop="ChineseName">
|
||||
<el-input v-model="basicInfo.ChineseName" :disabled="$route.query.ReviewStatus === '1'" size="small" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="Gender: " prop="Sex">
|
||||
<el-form-item :label="$t('system:reviewer:label:Gender')" prop="Sex">
|
||||
<el-select
|
||||
v-model="basicInfo.Sex"
|
||||
prop="Sex"
|
||||
|
@ -59,12 +59,12 @@
|
|||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="Phone: " prop="Phone">
|
||||
<el-form-item :label="$t('system:reviewer:label:Phone')" prop="Phone">
|
||||
<el-input :disabled="$route.query.ReviewStatus === '1'" v-model="basicInfo.Phone" size="small" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="Title: " prop="TitleIds">
|
||||
<el-form-item :label="$t('system:reviewer:label:Title')" prop="TitleIds">
|
||||
<el-select
|
||||
:disabled="$route.query.ReviewStatus === '1'"
|
||||
v-model="basicInfo.TitleIds[0]"
|
||||
|
@ -89,7 +89,7 @@
|
|||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="EMail: " prop="EMail">
|
||||
<el-form-item :label="$t('system:reviewer:label:Email')" prop="EMail">
|
||||
<el-input v-model="basicInfo.EMail" :disabled="$route.query.ReviewStatus === '1'" size="small" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -106,7 +106,7 @@
|
|||
</el-radio-group>
|
||||
</el-form-item> -->
|
||||
|
||||
<el-form-item label="Country: " prop="Nation">
|
||||
<el-form-item :label="$t('system:reviewer:label:Country')" prop="Nation">
|
||||
<el-select
|
||||
:disabled="$route.query.ReviewStatus === '1'"
|
||||
v-model="basicInfo.Nation"
|
||||
|
@ -129,7 +129,7 @@
|
|||
:loading="isDisabled"
|
||||
size="small"
|
||||
@click="handleSave"
|
||||
>Save</el-button>
|
||||
> {{ $t('common:button:save') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<div class="credentials-container">
|
||||
<div class="clearfix">
|
||||
<el-card class="e-card">
|
||||
<p class="title">Diploma of the highest medical degree 最高医学学位毕业证书
|
||||
<p class="title">{{$t('system:Credentials:title:Diploma of the highest medical degree')}}
|
||||
</p>
|
||||
<upload-file :doctor-id="doctorId" type="Diploma of the highest medical degree" />
|
||||
<!-- <el-button size="mini" type="primary" style="position: absolute;bottom:10px;right: 10px;" @click="handleDownload('Reviewer_DiplomaOfTheHighestMedicalDegree_Template')">-->
|
||||
|
@ -12,7 +12,7 @@
|
|||
</el-card>
|
||||
|
||||
<el-card class="e-card">
|
||||
<p class="title">Medical Qualification Certificate 医师资格证
|
||||
<p class="title">{{$t('system:Credentials:title:Medical Qualification Certificate')}}
|
||||
<!-- <el-button size="mini" type="primary" style="position: absolute;bottom:10px;right: 10px;" @click="handleDownload('Reviewer_MedicalQualificationCertificate_Template')">-->
|
||||
<!-- <i class="el-icon-view el-icon-download"></i>-->
|
||||
<!-- Template-->
|
||||
|
@ -22,7 +22,7 @@
|
|||
</el-card>
|
||||
|
||||
<el-card class="e-card">
|
||||
<p class="title">Practice License 医师执业证
|
||||
<p class="title">{{$t('system:Credentials:title:Practice License')}}
|
||||
<!-- <el-button size="mini" type="primary" style="position: absolute;bottom:10px;right: 10px;" @click="handleDownload('Reviewer_PracticeLicense_Template')">-->
|
||||
<!-- <i class="el-icon-view el-icon-download"></i>-->
|
||||
<!-- Template-->
|
||||
|
@ -31,7 +31,7 @@
|
|||
<upload-file :doctor-id="doctorId" type="Practice License" />
|
||||
</el-card>
|
||||
</div>
|
||||
<h6 style="line-height:30px;font-size:13px;">Modality Certificate 大型医用设备上岗证</h6>
|
||||
<h6 style="line-height:30px;font-size:13px;">{{$t('system:Credentials:title:Modality Certificate')}}</h6>
|
||||
<div class="clearfix">
|
||||
<el-card class="e-card">
|
||||
<p class="title">CT
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
<template>
|
||||
<div v-loading="loading" class="form-container">
|
||||
<div class="title-wrapper">
|
||||
<p>Education (in chronological order)</p>
|
||||
<el-button class="add" :disabled="$route.query.ReviewStatus === '1'" size="small" @click="handleAddEducation">Add</el-button>
|
||||
<p>{{ $t('system:reviewer:title:Education') }}</p>
|
||||
<el-button class="add" :disabled="$route.query.ReviewStatus === '1'" size="small" @click="handleAddEducation">
|
||||
{{ $t('common:button:add') }}</el-button>
|
||||
</div>
|
||||
<el-table
|
||||
ref="educationTbl"
|
||||
|
@ -14,29 +15,29 @@
|
|||
<el-table-column type="index" width="30" />
|
||||
<el-table-column
|
||||
prop="BeginDateStr"
|
||||
label="Start"
|
||||
:label="$t('system:EducationTraining:table:Start')"
|
||||
min-width="55"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column
|
||||
prop="EndDateStr"
|
||||
label="End"
|
||||
:label="$t('system:EducationTraining:table:End')"
|
||||
min-width="55"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column prop="Degree" label="Degree" min-width="70" show-overflow-tooltip>
|
||||
<el-table-column prop="Degree" :label="$t('system:EducationTraining:table:Degree')" min-width="70" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.DegreeCN?`${scope.row.Degree} / ${scope.row.DegreeCN}`:scope.row.Degree }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="Major" label="Major" min-width="120" show-overflow-tooltip>
|
||||
<el-table-column prop="Major" :label="$t('system:EducationTraining:table:Major')" min-width="120" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.MajorCN?`${scope.row.Major} / ${scope.row.MajorCN}`:scope.row.Major }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="Organization"
|
||||
label="Institution"
|
||||
:label="$t('system:EducationTraining:table:Institution')"
|
||||
min-width="150"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
|
@ -44,32 +45,35 @@
|
|||
{{ scope.row.OrganizationCN?`${scope.row.Organization} / ${scope.row.OrganizationCN}`:scope.row.Organization }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="City" label="City" min-width="90" show-overflow-tooltip>
|
||||
<el-table-column prop="City" :label="$t('system:EducationTraining:table:City')" min-width="90" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.CityCN?`${scope.row.City} / ${scope.row.CityCN}`:scope.row.City }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="Province" label="State/Province" min-width="90" show-overflow-tooltip>
|
||||
<el-table-column prop="Province" :label="$t('system:EducationTraining:table:State/Province')" min-width="90" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.ProvinceCN?`${scope.row.Province} / ${scope.row.ProvinceCN}`:scope.row.Province }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="Country" label="Country" min-width="80" show-overflow-tooltip>
|
||||
<el-table-column prop="Country" :label="$t('system:EducationTraining:table:Country')" min-width="80" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.CountryCN?`${scope.row.Country} / ${scope.row.CountryCN}`:scope.row.Country }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="Operation" min-width="120">
|
||||
<el-table-column :label="$t('system:EducationTraining:table:Operation')" min-width="120">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleEducationEdit(scope.row)">Edit</el-button>
|
||||
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleEducationDelete(scope.row)">Delete</el-button>
|
||||
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleEducationEdit(scope.row)">
|
||||
{{ $t('common:button:edit') }}</el-button>
|
||||
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleEducationDelete(scope.row)">
|
||||
{{ $t('common:button:delete') }}</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<div class="title-wrapper" style="margin-top:40px;">
|
||||
<p>Postgraduate Training (in chronological order)</p>
|
||||
<el-button class="add" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleAddPostgraduate">Add</el-button>
|
||||
<p>{{ $t('system:reviewer:title:Postgraduate') }}</p>
|
||||
<el-button class="add" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleAddPostgraduate">
|
||||
{{ $t('common:button:add') }}</el-button>
|
||||
</div>
|
||||
<el-table
|
||||
ref="postgraduateTbl"
|
||||
|
@ -81,24 +85,24 @@
|
|||
<el-table-column type="index" width="30" />
|
||||
<el-table-column
|
||||
prop="BeginDateStr"
|
||||
label="Start"
|
||||
:label="$t('system:EducationTraining:table:Start')"
|
||||
min-width="55"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column
|
||||
prop="EndDateStr"
|
||||
label="End"
|
||||
:label="$t('system:EducationTraining:table:End')"
|
||||
min-width="55"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column prop="Training" label="Training" min-width="70" show-overflow-tooltip>
|
||||
<el-table-column prop="Training" :label="$t('system:EducationTraining:table:Training')" min-width="70" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.TrainingCN?`${scope.row.Training} / ${scope.row.TrainingCN}`:scope.row.Training }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="Major"
|
||||
label="Specialty/Research Field"
|
||||
:label="$t('system:EducationTraining:table:Specialty/Research Field')"
|
||||
min-width="155"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
|
@ -106,32 +110,32 @@
|
|||
{{ scope.row.MajorCN?`${scope.row.Major} / ${scope.row.MajorCN}`:scope.row.Major }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="Hospital" label="Hospital" min-width="120" show-overflow-tooltip>
|
||||
<el-table-column prop="Hospital" :label="$t('system:EducationTraining:table:Hospital')" min-width="120" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.HospitalCN?`${scope.row.Hospital} / ${scope.row.HospitalCN}`:scope.row.Hospital }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="School" label="University" min-width="120" show-overflow-tooltip>
|
||||
<el-table-column prop="School" :label="$t('system:EducationTraining:table:University')" min-width="120" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.SchoolCN?`${scope.row.School} / ${scope.row.SchoolCN}`:scope.row.School }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="City" label="City" min-width="100" show-overflow-tooltip>
|
||||
<el-table-column prop="City" :label="$t('system:EducationTraining:table:City')" min-width="100" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.CityCN?`${scope.row.City} / ${scope.row.CityCN}`:scope.row.City }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="Province" label="State/Province" min-width="100" show-overflow-tooltip>
|
||||
<el-table-column prop="Province" :label="$t('system:EducationTraining:table:State/Province')" min-width="100" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.ProvinceCN?`${scope.row.Province} / ${scope.row.ProvinceCN}`:scope.row.Province }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="Country" label="Country" min-width="90" show-overflow-tooltip>
|
||||
<el-table-column prop="Country" :label="$t('system:EducationTraining:table:Country')" min-width="90" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.CountryCN?`${scope.row.Country} / ${scope.row.CountryCN}`:scope.row.Country }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="Operation" min-width="120">
|
||||
<el-table-column :label="$t('system:EducationTraining:table:Operation')" min-width="120">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handlePostgraduateEdit(scope.row)">Edit</el-button>
|
||||
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handlePostgraduateDelete(scope.row)">Delete</el-button>
|
||||
|
@ -147,7 +151,7 @@
|
|||
:close-on-click-modal="false"
|
||||
>
|
||||
<el-form v-if="educationDialogVisible" ref="educationForm" size="small" label-width="120px" :model="educationForm" :rules="educationRules">
|
||||
<el-form-item label="Start" prop="BeginDate">
|
||||
<el-form-item :label="$t('system:EducationTraining:table:Start')" prop="BeginDate">
|
||||
<el-date-picker
|
||||
v-model="educationForm.BeginDate"
|
||||
type="month"
|
||||
|
@ -158,7 +162,7 @@
|
|||
:picker-options="beginPickerOption"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="End" prop="EndDate">
|
||||
<el-form-item :label="$t('system:EducationTraining:table:End')" prop="EndDate">
|
||||
<el-date-picker
|
||||
v-model="educationForm.EndDate"
|
||||
type="month"
|
||||
|
@ -169,8 +173,8 @@
|
|||
:picker-options="endpickerOption"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="Degree" prop="Degree">
|
||||
<el-select v-model="educationForm.Degree" placeholder="Please select" size="small">
|
||||
<el-form-item :label="$t('system:EducationTraining:table:Degree')" prop="Degree">
|
||||
<el-select v-model="educationForm.Degree" size="small">
|
||||
<el-option
|
||||
v-for="item in degreeOptions"
|
||||
:key="item.value"
|
||||
|
@ -180,7 +184,7 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="Major" prop="Major">
|
||||
<el-form-item :label="$t('system:EducationTraining:table:Major')" prop="Major">
|
||||
<el-row type="flex" justify="space-between">
|
||||
<el-col :span="11">
|
||||
<el-input v-model="educationForm.Major" placeholder="Please specify in English" size="small" />
|
||||
|
@ -190,7 +194,7 @@
|
|||
</el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
<el-form-item label="Institution" prop="Organization">
|
||||
<el-form-item :label="$t('system:EducationTraining:table:Institution')" prop="Organization">
|
||||
<el-row type="flex" justify="space-between">
|
||||
<el-col :span="11">
|
||||
<el-input v-model="educationForm.Organization" placeholder="Please specify in English" size="small" />
|
||||
|
@ -200,7 +204,7 @@
|
|||
</el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
<el-form-item label="City" prop="City">
|
||||
<el-form-item :label="$t('system:EducationTraining:table:City')" prop="City">
|
||||
<el-row type="flex" justify="space-between">
|
||||
<el-col :span="11">
|
||||
<el-input v-model="educationForm.City" placeholder="Please specify in English" size="small" />
|
||||
|
@ -211,7 +215,7 @@
|
|||
</el-row>
|
||||
|
||||
</el-form-item>
|
||||
<el-form-item label="State/Province" prop="Province">
|
||||
<el-form-item :label="$t('system:EducationTraining:table:State/Province')" prop="Province">
|
||||
<el-row type="flex" justify="space-between">
|
||||
<el-col :span="11">
|
||||
<el-input v-model="educationForm.Province" placeholder="Please specify in English" size="small" />
|
||||
|
@ -221,7 +225,7 @@
|
|||
</el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
<el-form-item label="Country" prop="Country">
|
||||
<el-form-item :label="$t('system:EducationTraining:table:Country')" prop="Country">
|
||||
<el-row type="flex" justify="space-between">
|
||||
<el-col :span="11">
|
||||
<el-input v-model="educationForm.Country" placeholder="Please specify in English" size="small" />
|
||||
|
@ -233,7 +237,7 @@
|
|||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" size="small" :loading="isDisabled" @click="handleEducationSave">Save</el-button>
|
||||
<el-button type="primary" size="small" :loading="isDisabled" @click="handleEducationSave">{{ $t('common:button:save') }}</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
|
@ -245,7 +249,7 @@
|
|||
:close-on-click-modal="false"
|
||||
>
|
||||
<el-form v-if="postgraduateDialogVisible" ref="postgraduateForm" size="small" label-width="190px" :model="postgraduateForm" :rules="postgraduateRules">
|
||||
<el-form-item label="Start" prop="BeginDate">
|
||||
<el-form-item :label="$t('system:EducationTraining:table:Start')" prop="BeginDate">
|
||||
<el-date-picker
|
||||
v-model="postgraduateForm.BeginDate"
|
||||
type="month"
|
||||
|
@ -256,7 +260,7 @@
|
|||
size="small"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="End" prop="EndDate">
|
||||
<el-form-item :label="$t('system:EducationTraining:table:End')" prop="EndDate">
|
||||
<el-date-picker
|
||||
v-model="postgraduateForm.EndDate"
|
||||
type="month"
|
||||
|
@ -267,7 +271,7 @@
|
|||
size="small"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="Training" prop="Training">
|
||||
<el-form-item :label="$t('system:EducationTraining:table:Training')" prop="Training">
|
||||
<el-select v-model="postgraduateForm.Training" placeholder="Please select" size="small">
|
||||
<el-option
|
||||
v-for="item in TrainingOptions"
|
||||
|
@ -277,7 +281,7 @@
|
|||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="Specialty / Research Field" prop="Major">
|
||||
<el-form-item :label="$t('system:EducationTraining:table:Specialty/Research Field')" prop="Major">
|
||||
<el-row type="flex" justify="space-between">
|
||||
<el-col :span="11">
|
||||
<el-input v-model="postgraduateForm.Major" placeholder="Please specify in English" size="small" />
|
||||
|
@ -287,7 +291,7 @@
|
|||
</el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
<el-form-item label="Hospital" prop="Hospital">
|
||||
<el-form-item :label="$t('system:EducationTraining:table:Hospital')" prop="Hospital">
|
||||
<el-row type="flex" justify="space-between">
|
||||
<el-col :span="11">
|
||||
<el-input v-model="postgraduateForm.Hospital" placeholder="Please specify in English" size="small" />
|
||||
|
@ -297,7 +301,7 @@
|
|||
</el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
<el-form-item label="University" prop="School">
|
||||
<el-form-item :label="$t('system:EducationTraining:table:University')" prop="School">
|
||||
<el-row type="flex" justify="space-between">
|
||||
<el-col :span="11">
|
||||
<el-input v-model="postgraduateForm.School" placeholder="Please specify in English" size="small" />
|
||||
|
@ -308,7 +312,7 @@
|
|||
</el-row>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="City" prop="City">
|
||||
<el-form-item :label="$t('system:EducationTraining:table:City')" prop="City">
|
||||
<el-row type="flex" justify="space-between">
|
||||
<el-col :span="11">
|
||||
<el-input v-model="postgraduateForm.City" placeholder="Please specify in English" size="small" />
|
||||
|
@ -318,7 +322,7 @@
|
|||
</el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
<el-form-item label="State/Province" prop="Province">
|
||||
<el-form-item :label="$t('system:EducationTraining:table:State/Province')" prop="Province">
|
||||
<el-row type="flex" justify="space-between">
|
||||
<el-col :span="11">
|
||||
<el-input v-model="postgraduateForm.Province" placeholder="Please specify in English" size="small" />
|
||||
|
@ -328,7 +332,7 @@
|
|||
</el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
<el-form-item label="Country" prop="Country">
|
||||
<el-form-item :label="$t('system:EducationTraining:table:Country')" prop="Country">
|
||||
<el-row type="flex" justify="space-between">
|
||||
<el-col :span="11">
|
||||
<el-input v-model="postgraduateForm.Country" placeholder="Please specify in English" size="small" />
|
||||
|
@ -340,7 +344,7 @@
|
|||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button size="small" type="primary" :loading="isDisabled" @click="handlePostgraduateSave">Save</el-button>
|
||||
<el-button size="small" type="primary" :loading="isDisabled" @click="handlePostgraduateSave">{{ $t('common:button:save') }}</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
|
@ -528,7 +532,6 @@ export default {
|
|||
if (valid) {
|
||||
this.isDisabled = true
|
||||
this.educationForm.DoctorId = this.$route.query.Id
|
||||
|
||||
if (this.educationForm.Degree === 'Bachelor') {
|
||||
this.educationForm.DegreeCN = '学士'
|
||||
} else if (this.educationForm.Degree === 'Master') {
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
<el-row>
|
||||
<el-col :span="14">
|
||||
<el-form-item label="Hospital: " prop="HospitalId">
|
||||
<el-form-item :label="$t('system:reviewer:label:Hospital')" prop="HospitalId">
|
||||
<el-select
|
||||
v-model="employmentForm.HospitalId"
|
||||
placeholder="select"
|
||||
|
@ -39,7 +39,7 @@
|
|||
|
||||
<el-row>
|
||||
<el-col :span="14">
|
||||
<el-form-item label="Affiliated University: ">
|
||||
<el-form-item :label="$t('system:reviewer:label:AffiliatedUniversity')">
|
||||
<el-input
|
||||
:disabled="$route.query.ReviewStatus === '1'"
|
||||
v-model="UniversityAffiliated"
|
||||
|
@ -53,21 +53,21 @@
|
|||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="14">
|
||||
<el-form-item label="City: ">
|
||||
<el-form-item :label="$t('system:reviewer:label:City')">
|
||||
<el-input :disabled="$route.query.ReviewStatus === '1'" v-model="City" disabled size="small" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="14">
|
||||
<el-form-item label="State/Province: ">
|
||||
<el-form-item :label="$t('system:reviewer:label:State/Province')">
|
||||
<el-input :disabled="$route.query.ReviewStatus === '1'" v-model="Province" disabled size="small" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="14">
|
||||
<el-form-item label="Country: ">
|
||||
<el-form-item :label="$t('system:reviewer:label:Country')">
|
||||
<el-input :disabled="$route.query.ReviewStatus === '1'" v-model="Country" disabled size="small" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -75,7 +75,7 @@
|
|||
|
||||
<el-row>
|
||||
<el-col :span="14">
|
||||
<el-form-item label="Department: " prop="DepartmentId">
|
||||
<el-form-item :label="$t('system:reviewer:label:Department')" prop="DepartmentId">
|
||||
<el-select
|
||||
v-model="employmentForm.DepartmentId"
|
||||
placeholder="select"
|
||||
|
@ -123,7 +123,7 @@
|
|||
|
||||
<el-row>
|
||||
<el-col :span="14">
|
||||
<el-form-item label="Rank: " prop="RankId">
|
||||
<el-form-item :label="$t('system:reviewer:label:Rank')" prop="RankId">
|
||||
<el-select
|
||||
:disabled="$route.query.ReviewStatus === '1'"
|
||||
v-model="employmentForm.RankId"
|
||||
|
@ -261,7 +261,7 @@
|
|||
<!-- </el-row>-->
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="primary" :disabled="isDisabled || $route.query.ReviewStatus === '1'" size="small" @click="handleSave">Save</el-button>
|
||||
<el-button type="primary" :disabled="isDisabled || $route.query.ReviewStatus === '1'" size="small" @click="handleSave">{{ $t('common:button:save') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
|
@ -376,9 +376,9 @@ export default {
|
|||
this.loading = true
|
||||
this.isDisabled = true
|
||||
const param = {}
|
||||
var o = this.$d.PhysicianOriginal.find(v => {
|
||||
return v.id === this.employmentForm.PhysicianId
|
||||
})
|
||||
// var o = this.$d.PhysicianOriginal.find(v => {
|
||||
// return v.id === this.employmentForm.PhysicianId
|
||||
// })
|
||||
param.Id = this.$route.query.Id
|
||||
param.DepartmentId = this.employmentForm.DepartmentId
|
||||
param.DepartmentOther = this.employmentForm.DepartmentId === this.otherId ? this.employmentForm.DepartmentOther : ''
|
||||
|
@ -386,9 +386,9 @@ export default {
|
|||
param.RankId = this.employmentForm.RankId
|
||||
param.RankOther = this.employmentForm.RankId === this.otherId ? this.employmentForm.RankOther : ''
|
||||
param.RankOtherCN = this.employmentForm.RankId === this.otherId ? this.employmentForm.RankOtherCN : ''
|
||||
param.PhysicianId = this.employmentForm.PhysicianId
|
||||
param.Physician = o.label !== '其它' && o.label !== 'Other' ? o.raw.Value : this.employmentForm.Physician
|
||||
param.PhysicianCN = o.label !== '其它' && o.label !== 'Other' ? o.raw.ValueCN : this.employmentForm.PhysicianCN
|
||||
// param.PhysicianId = this.employmentForm.PhysicianId
|
||||
// param.Physician = o.label !== '其它' && o.label !== 'Other' ? o.raw.Value : this.employmentForm.Physician
|
||||
// param.PhysicianCN = o.label !== '其它' && o.label !== 'Other' ? o.raw.ValueCN : this.employmentForm.PhysicianCN
|
||||
param.PositionId = this.employmentForm.PositionId
|
||||
param.PositionOther = this.employmentForm.PositionId === this.otherId ? this.employmentForm.PositionOther : ''
|
||||
param.PositionOtherCN = this.employmentForm.PositionId === this.otherId ? this.employmentForm.PositionOtherCN : ''
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<template>
|
||||
<div class="gcp-container">
|
||||
<el-radio-group v-model="GCP" style="margin-bottom:20px">
|
||||
<el-radio :label="1">Yes</el-radio>
|
||||
<el-radio :label="0">No</el-radio>
|
||||
<el-radio :label="1">{{ $t('system:GcpCertificate:radio:Yes') }}</el-radio>
|
||||
<el-radio :label="0">{{ $t('system:GcpCertificate:radio:No') }}</el-radio>
|
||||
</el-radio-group>
|
||||
<div v-if="GCP" class="upload-container">
|
||||
<!-- <upload-file :doctor-id="doctorId" type="GCP" />-->
|
||||
|
@ -19,13 +19,13 @@
|
|||
:on-exceed="handleExceed"
|
||||
accept=".pdf"
|
||||
>
|
||||
<el-button size="small" type="primary" :loading="btnDisabled">Upload</el-button>
|
||||
<span slot="tip" style="margin-left:10px;" class="el-upload__tip">(must be in pdf format)</span>
|
||||
<el-button size="small" type="primary" :loading="btnDisabled">{{ $t('system:GcpCertificate:upload:Upload') }}</el-button>
|
||||
<span slot="tip" style="margin-left:10px;" class="el-upload__tip">{{ $t('system:GcpCertificate:tap:must') }}</span>
|
||||
</el-upload>
|
||||
</div>
|
||||
<div>
|
||||
<el-button :loading="saveBtnLoading" :disabled="(fileList.length === 0 && GCP === 1)" type="primary" size="small" style="margin-top:20px" @click="handleSaveGCP">
|
||||
Save
|
||||
{{ $t('common:button:save') }}
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div class="form-container" style="width:80%;">
|
||||
<el-form ref="researchForm" v-loading="loading" label-width="140px" :model="researchForm" size="small">
|
||||
<el-form-item label="Field of Research: ">
|
||||
<el-form-item :label="$t('system:reviewer:label:Field of Research')">
|
||||
<el-row type="flex" justify="space-between">
|
||||
<el-col :span="11">
|
||||
<el-input :disabled="$route.query.ReviewStatus === '1'" v-model="researchForm.Research" type="textarea" rows="5" placeholder="Please specify in English" size="small" />
|
||||
|
@ -11,7 +11,7 @@
|
|||
</el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
<el-form-item label="Grants: ">
|
||||
<el-form-item :label="$t('system:reviewer:label:Grants')">
|
||||
<el-row type="flex" justify="space-between">
|
||||
<el-col :span="11">
|
||||
<el-input :disabled="$route.query.ReviewStatus === '1'" v-model="researchForm.Grants" type="textarea" rows="5" placeholder="Please specify in English" size="small" />
|
||||
|
@ -21,7 +21,7 @@
|
|||
</el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
<el-form-item label="Publications: ">
|
||||
<el-form-item :label="$t('system:reviewer:label:Publications')">
|
||||
<el-row type="flex" justify="space-between">
|
||||
<el-col :span="11">
|
||||
<el-input :disabled="$route.query.ReviewStatus === '1'" v-model="researchForm.Publications" type="textarea" rows="5" placeholder="Please specify in English" size="small" />
|
||||
|
@ -31,7 +31,7 @@
|
|||
</el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
<el-form-item label="Awards & Honors: ">
|
||||
<el-form-item :label="$t('system:reviewer:label:Awards & Honors')">
|
||||
<el-row type="flex" justify="space-between">
|
||||
<el-col :span="11">
|
||||
<el-input :disabled="$route.query.ReviewStatus === '1'" v-model="researchForm.AwardsHonors" type="textarea" rows="5" placeholder="Please specify in English" size="small" />
|
||||
|
@ -42,7 +42,8 @@
|
|||
</el-row>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button :disabled="$route.query.ReviewStatus === '1'" type="primary" :loading="isDisabled" @click="handleSave">Save</el-button>
|
||||
<el-button :disabled="$route.query.ReviewStatus === '1'" type="primary" :loading="isDisabled" @click="handleSave">
|
||||
{{ $t('common:button:save') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div v-loading="loading" class="resumes-container">
|
||||
<div class="resume-content">
|
||||
<p>Resume</p>
|
||||
<p>{{ $t('system:Resumes:title:Resume') }}</p>
|
||||
<div class="upload-content">
|
||||
<!-- <upload-files ref="uploadResume" :doctor-id="doctorId" :data-list="resumeList" :language="2" btn-name="Upload(English)" type="Resume" accept=".doc, .docx" @getFileList="getFileList" /> -->
|
||||
<div class="uploadFile-container">
|
||||
|
@ -14,21 +14,21 @@
|
|||
:file-list="resumeList"
|
||||
accept=".doc,.docx"
|
||||
>
|
||||
<el-button size="small" type="primary" :disabled="isDisabled || $route.query.ReviewStatus === '1'">Upload</el-button>
|
||||
<el-button size="small" type="primary" :disabled="isDisabled || $route.query.ReviewStatus === '1'">{{ $t('system:GcpCertificate:upload:Upload') }}</el-button>
|
||||
</el-upload>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p>(must be in doc,docx format)</p>
|
||||
<p>{{ $t('system:GcpCertificate:tap:must') }}</p>
|
||||
</div>
|
||||
<div class="resumeTbl">
|
||||
<el-table :data="resumeListEN" size="small">
|
||||
<el-table-column type="index" width="40" />
|
||||
<el-table-column prop="FileName" label="Resume" width="180" show-overflow-tooltip />
|
||||
<el-table-column prop="CreateTime" label="Upload Time" width="150" show-overflow-tooltip />
|
||||
<el-table-column prop="FileName" :label="$t('system:Resumes:table:Resume')" width="180" show-overflow-tooltip />
|
||||
<el-table-column prop="CreateTime" :label="$t('system:Resumes:table:Upload Time')" width="150" show-overflow-tooltip />
|
||||
<el-table-column
|
||||
prop="IsOfficial"
|
||||
label="Official"
|
||||
:label="$t('system:Resumes:table:Official')"
|
||||
width="100"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
|
@ -37,7 +37,7 @@
|
|||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="Language"
|
||||
label="Language"
|
||||
:label="$t('system:Resumes:table:Language')"
|
||||
width="100"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
|
@ -46,23 +46,23 @@
|
|||
<!-- <el-button size="small" type="text" @click="handleLanguageClick(scope.row)">{{ scope.row.Language===1?'CH':scope.row.Language===2?'EN':'Setting' }}</el-button> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="Action" width="400">
|
||||
<el-table-column :label="$t('common:action:action')" width="400">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="small" @click="handlePreview(scope.row)">Download</el-button>
|
||||
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleRemoveFile(scope.row)">Delete</el-button>
|
||||
<el-button type="text" size="small" @click="handlePreview(scope.row)">{{ $t('common:button:download') }}</el-button>
|
||||
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleRemoveFile(scope.row)">{{ $t('common:button:delete') }}</el-button>
|
||||
<el-button
|
||||
type="text"
|
||||
size="small"
|
||||
:disabled="scope.row.IsOfficial || $route.query.ReviewStatus === '1'"
|
||||
@click="handleSetOfiical(scope.row)"
|
||||
>Set as Official</el-button>
|
||||
>{{ $t('system:Resumes:button:Set as Official') }}</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
</div>
|
||||
<div class="resume-content" style="margin-top:10px;">
|
||||
<p>中文简历</p>
|
||||
<p>{{ $t('system:Resumes:title:ResumeCN') }}</p>
|
||||
<div class="upload-content">
|
||||
<div class="uploadFile-container">
|
||||
<el-upload
|
||||
|
@ -74,20 +74,20 @@
|
|||
:file-list="resumeList"
|
||||
accept=".doc, .docx"
|
||||
>
|
||||
<el-button size="small" type="primary" :disabled="isDisabled || $route.query.ReviewStatus === '1'">上传</el-button>
|
||||
<el-button size="small" type="primary" :disabled="isDisabled || $route.query.ReviewStatus === '1'">{{ $t('system:GcpCertificate:upload:Upload') }}</el-button>
|
||||
</el-upload>
|
||||
</div>
|
||||
</div>
|
||||
<p>(必须是 doc,docx 格式)</p>
|
||||
<p>{{ $t('system:GcpCertificate:tap:must') }}</p>
|
||||
</div>
|
||||
<div class="resumeTbl">
|
||||
<el-table :data="resumeListCN" size="small">
|
||||
<el-table-column type="index" width="40" />
|
||||
<el-table-column prop="FileName" label="Resume" width="180" show-overflow-tooltip />
|
||||
<el-table-column prop="CreateTime" label="Upload Time" width="150" show-overflow-tooltip />
|
||||
<el-table-column prop="FileName" :label="$t('system:Resumes:table:Resume')" width="180" show-overflow-tooltip />
|
||||
<el-table-column prop="CreateTime" :label="$t('system:Resumes:table:Upload Time')" width="150" show-overflow-tooltip />
|
||||
<el-table-column
|
||||
prop="IsOfficial"
|
||||
label="Official"
|
||||
:label="$t('system:Resumes:table:Official')"
|
||||
width="100"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
|
@ -96,7 +96,7 @@
|
|||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="Language"
|
||||
label="Language"
|
||||
:label="$t('system:Resumes:table:Language')"
|
||||
width="100"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
|
@ -105,16 +105,16 @@
|
|||
<!-- <el-button size="small" type="text" @click="handleLanguageClick(scope.row)">{{ scope.row.Language===1?'CH':scope.row.Language===2?'EN':'Setting' }}</el-button> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="Action" width="400">
|
||||
<el-table-column :label="$t('common:action:action')" width="400">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="small" @click="handlePreview(scope.row)">Download</el-button>
|
||||
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleRemoveFile(scope.row)">Delete</el-button>
|
||||
<el-button type="text" size="small" @click="handlePreview(scope.row)">{{ $t('common:button:download') }}</el-button>
|
||||
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleRemoveFile(scope.row)">{{ $t('common:button:delete') }}</el-button>
|
||||
<el-button
|
||||
type="text"
|
||||
size="small"
|
||||
:disabled="scope.row.IsOfficial"
|
||||
:disabled="scope.row.IsOfficial || $route.query.ReviewStatus === '1'"
|
||||
@click="handleSetOfiical(scope.row)"
|
||||
>Set as Official</el-button>
|
||||
>{{ $t('system:Resumes:button:Set as Official') }}</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
|
@ -2,68 +2,68 @@
|
|||
<div v-loading="loading" class="check-container form-container">
|
||||
<el-form ref="checkForm" :model="checkForm" label-width="200px" size="small" :rules="rules">
|
||||
<div class="title-wrapper">
|
||||
<p>盲化信息</p>
|
||||
<p>{{$t('system:Setting:title:Blinded information') }}</p>
|
||||
</div>
|
||||
<div class="check-content">
|
||||
<el-form-item label="Blind Name" prop="BlindName">
|
||||
<el-form-item :label="$t('system:Setting:label:Blind Name')" prop="BlindName">
|
||||
<el-input
|
||||
v-model="checkForm.BlindName"
|
||||
style="width:300px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="Blind NameCN" prop="BlindNameCN">
|
||||
<el-form-item :label="$t('system:Setting:label:Blind NameCN')" prop="BlindNameCN">
|
||||
<el-input
|
||||
v-model="checkForm.BlindNameCN"
|
||||
style="width:300px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="Blind Publications" prop="BlindPublications">
|
||||
<el-form-item :label="$t('system:Setting:label:Blind Publications')" prop="BlindPublications">
|
||||
<el-input v-model="checkForm.BlindPublications" type="textarea" rows="8" style="width:60%;" size="small" />
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="title-wrapper">
|
||||
<p>Setting</p>
|
||||
<p>{{$t('system:Setting:title:Blinded Setting') }}</p>
|
||||
</div>
|
||||
<div class="check-content">
|
||||
<el-form-item label="Information Confirmed?">
|
||||
<el-form-item :label="$t('system:Setting:label:Information Confirmed?')">
|
||||
<el-radio-group v-model="checkForm.ReviewStatus" @change="handleChange">
|
||||
<el-radio :label="1">Yes</el-radio>
|
||||
<el-radio :label="2">No</el-radio>
|
||||
<el-radio :label="1">{{$t('system:Setting:label:Information Confirmed?:Yes')}}</el-radio>
|
||||
<el-radio :label="2">{{$t('system:Setting:label:Information Confirmed?:No')}}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="Contractor Status?">
|
||||
<el-form-item :label="$t('system:Setting:label:Contractor Status?')">
|
||||
<el-radio-group v-model="checkForm.CooperateStatus" @change="handleChange">
|
||||
<el-radio :label="1">Yes</el-radio>
|
||||
<el-radio :label="2">No</el-radio>
|
||||
<el-radio :label="1">{{$t('system:Setting:label:Information Confirmed?:Yes')}}</el-radio>
|
||||
<el-radio :label="2">{{$t('system:Setting:label:Information Confirmed?:No')}}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="Accepting New Trials?">
|
||||
<el-form-item :label="$t('system:Setting:label:Accepting New Trials?')">
|
||||
<el-radio-group v-model="checkForm.AcceptingNewTrial" :disabled="radioDisabled">
|
||||
<el-radio :label="true">Yes</el-radio>
|
||||
<el-radio :label="false">No</el-radio>
|
||||
<el-radio :label="true">{{$t('system:Setting:label:Information Confirmed?:Yes')}}</el-radio>
|
||||
<el-radio :label="false">{{$t('system:Setting:label:Information Confirmed?:No')}}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="Actively Reading?">
|
||||
<el-form-item :label="$t('system:Setting:label:Actively Reading?')">
|
||||
<el-radio-group v-model="checkForm.ActivelyReading" :disabled="radioDisabled">
|
||||
<el-radio :label="true">Yes</el-radio>
|
||||
<el-radio :label="false">No</el-radio>
|
||||
<el-radio :label="true">{{$t('system:Setting:label:Information Confirmed?:Yes')}}</el-radio>
|
||||
<el-radio :label="false">{{$t('system:Setting:label:Information Confirmed?:No')}}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="Is Virtual?">
|
||||
<el-form-item :label="$t('system:Setting:label:Is Virtual?')">
|
||||
<el-radio-group v-model="checkForm.IsVirtual" :disabled="radioDisabled">
|
||||
<el-radio :label="true">Yes</el-radio>
|
||||
<el-radio :label="false">No</el-radio>
|
||||
<el-radio :label="true">{{$t('system:Setting:label:Information Confirmed?:Yes')}}</el-radio>
|
||||
<el-radio :label="false">{{$t('system:Setting:label:Information Confirmed?:No')}}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="On Vacation: ">
|
||||
<el-form-item :label="$t('system:Setting:label:On Vacation:')">
|
||||
<span style="font-size:12px;margin-right:20px;">{{ checkForm.InHoliday }}</span>
|
||||
<el-button type="text" @click="handleView">Planned Vacation</el-button>
|
||||
<el-button type="text" @click="handleView">{{ $t('system:Setting:Planned Vacation') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item label="Comment: " prop="AdminComment">
|
||||
<el-form-item :label="$t('system:Setting:label:Comment:')" prop="AdminComment">
|
||||
<el-input
|
||||
v-model="checkForm.AdminComment"
|
||||
type="textarea"
|
||||
|
@ -73,12 +73,12 @@
|
|||
</el-form-item>
|
||||
|
||||
<el-form-item style="margin-top:20px">
|
||||
<el-button type="primary" :disabled="isDisabled" @click="handleSave">Save</el-button>
|
||||
<el-button type="primary" :disabled="isDisabled" @click="handleSave">{{ $t('common:button:save') }}</el-button>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-form>
|
||||
<el-dialog
|
||||
title="Vacation"
|
||||
:label="$t('system:Setting:title:Vacation')"
|
||||
:visible.sync="dialogVisible"
|
||||
width="50%"
|
||||
:close-on-click-modal="false"
|
||||
|
@ -91,29 +91,29 @@
|
|||
format="yyyy-MM-dd"
|
||||
type="daterange"
|
||||
range-separator="to"
|
||||
start-placeholder="Beginning Date"
|
||||
end-placeholder="End Date"
|
||||
:start-placeholder="$t('system:Setting:label:Beginning Date')"
|
||||
:end-placeholder="$t('system:Setting:label:End Date')"
|
||||
size="small"
|
||||
/>
|
||||
<el-button style="margin-left:10px;" type="primary" size="small" @click="handleAddHoliday">Add</el-button>
|
||||
<el-button style="margin-left:10px;" type="primary" size="small" @click="handleAddHoliday">{{ $t('common:button:add') }}</el-button>
|
||||
</div>
|
||||
<el-table v-loading="loading2" :data="gridData" size="small">
|
||||
<el-table-column type="index" />
|
||||
<el-table-column
|
||||
property="StartDate"
|
||||
label="Beginning Date"
|
||||
:label="$t('system:Setting:table:Beginning Date')"
|
||||
min-width="120"
|
||||
:formatter="beginTimeFormatter"
|
||||
/>
|
||||
<el-table-column
|
||||
property="EndDate"
|
||||
label="End Date"
|
||||
:label="$t('system:Setting:table:End Date')"
|
||||
min-width="120"
|
||||
:formatter="endTimeFormatter"
|
||||
/>
|
||||
<el-table-column label="Action" fixed="right" min-width="200">
|
||||
<el-table-column :label="$t('common:action:action')" fixed="right" min-width="200">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" @click="handleDelete(scope.row)">Delete</el-button>
|
||||
<el-button type="text" @click="handleDelete(scope.row)">{{ $t('common:button:delete') }}</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
@ -204,7 +204,7 @@ export default {
|
|||
if (res.IsSuccess) {
|
||||
if (res.Result) { this.checkForm.Id = res.Result }
|
||||
this.isDisabled = false
|
||||
this.$message.success('Saved successfully')
|
||||
this.$message.success(this.$t('common:message:savedSuccessfully'))
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
|
@ -261,8 +261,6 @@ export default {
|
|||
this.$confirm('Sure to delete?', {
|
||||
type: 'warning',
|
||||
distinguishCancelAndClose: true,
|
||||
confirmButtonText: 'Ok',
|
||||
cancelButtonText: 'Cancel'
|
||||
})
|
||||
.then(() => {
|
||||
this.loading2 = true
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="Specialty: " prop="SpecialityId">
|
||||
<el-form-item :label="$t('system:reviewer:label:Specialty')" prop="SpecialityId">
|
||||
<el-select
|
||||
v-model="specialtyForm.SpecialityId"
|
||||
:disabled="$route.query.ReviewStatus === '1'"
|
||||
|
@ -59,7 +59,7 @@
|
|||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="Subspeciality: " prop="SubspecialityIds">
|
||||
<el-form-item :label="$t('system:reviewer:label:Subspeciality')" prop="SubspecialityIds">
|
||||
<el-select
|
||||
v-model="specialtyForm.SubspecialityIds"
|
||||
:disabled="$route.query.ReviewStatus === '1'"
|
||||
|
@ -116,7 +116,7 @@
|
|||
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="Modality: " prop="ReadingTypeIds">
|
||||
<el-form-item :label="$t('system:reviewer:label:Modality')" prop="ReadingTypeIds">
|
||||
<el-select
|
||||
:disabled="$route.query.ReviewStatus === '1'"
|
||||
v-model="specialtyForm.ReadingTypeIds"
|
||||
|
@ -171,7 +171,8 @@
|
|||
</el-col>
|
||||
</el-row>
|
||||
<el-form-item>
|
||||
<el-button type="primary" :disabled="isDisabled || $route.query.ReviewStatus === '1'" size="small" @click="handleSave">Save</el-button>
|
||||
<el-button type="primary" :disabled="isDisabled || $route.query.ReviewStatus === '1'" size="small" @click="handleSave">
|
||||
{{ $t('common:button:save') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div class="form-container">
|
||||
<div class="title-wrapper">
|
||||
<p>Clinical Trial Experience</p>
|
||||
<p>{{$t('system:TrialExperience:title:Clinical Trial Experience')}}</p>
|
||||
<el-button :disabled="$route.query.ReviewStatus === '1'" class="add" size="small" @click="handleAddClinicalTrial">Add</el-button>
|
||||
</div>
|
||||
<div style="padding:0 40px;">
|
||||
|
@ -13,36 +13,37 @@
|
|||
size="small"
|
||||
>
|
||||
<el-table-column type="index" width="40" />
|
||||
<el-table-column prop="Phase" label="Phase" min-width="50" />
|
||||
<el-table-column prop="EvaluationCriteriaList" label="Review Criteria" min-width="100">
|
||||
<el-table-column prop="Phase" :label="$t('system:TrialExperience:title:Phase')" min-width="50" />
|
||||
<el-table-column prop="EvaluationCriteriaList" :label="$t('system:TrialExperience:title:Review Criteria')" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.EvaluationCriteriaList.length>0? scope.row.EvaluationCriteriaList.join(', '):'' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="EvaluationCriteriaList" label="Starting And Ending Date" min-width="100">
|
||||
<el-table-column prop="EvaluationCriteriaList" :label="$t('system:TrialExperience:title:Starting And Ending Date')" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.StartTime">{{ scope.row.StartTime.split('-')[0] }}-{{scope.row.EndTime ? scope.row.EndTime.split('-')[0] : '至今'}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="VisitReadingCount" label="Visit Reading Count" min-width="70" />
|
||||
<el-table-column prop="EvaluationContent" label="Indication" min-width="70" />
|
||||
<el-table-column label="Operation" min-width="200">
|
||||
<el-table-column prop="VisitReadingCount" :label="$t('system:TrialExperience:title:Visit Reading Count')" min-width="70" />
|
||||
<el-table-column prop="EvaluationContent" :label="$t('system:TrialExperience:Indication')" min-width="70" />
|
||||
<el-table-column :label="$t('system:TrialExperience:Operation')" min-width="200">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleEdit(scope.row)">Edit</el-button>
|
||||
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleDel(scope.row)">Delete</el-button>
|
||||
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleEdit(scope.row)">
|
||||
{{ $t('common:button:edit') }}</el-button>
|
||||
<el-button type="text" size="small" :disabled="$route.query.ReviewStatus === '1'" @click="handleDel(scope.row)">{{ $t('common:button:delete') }}</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
|
||||
<div class="title-wrapper" style="margin-top:10px;">
|
||||
<p>GCP Certificate</p>
|
||||
<p>{{$t('system:TrialExperience:title:GCP Certificate')}}</p>
|
||||
</div>
|
||||
<div style="margin-left:40px;width:40%">
|
||||
<gcp-certificate :doctor-id="doctorId" :gcp="GCP" :gcp-id="GCPID" />
|
||||
</div>
|
||||
<div class="title-wrapper" style="margin-top:10px;">
|
||||
<p>Other Relevant Experience</p>
|
||||
<p>{{$t('system:TrialExperience:title:Other Relevant Experience')}}</p>
|
||||
</div>
|
||||
<div style="padding:0 40px;">
|
||||
<el-row type="flex" justify="space-between">
|
||||
|
@ -59,7 +60,8 @@
|
|||
<el-input v-model="OtherClinicalExperienceCN" :disabled="$route.query.ReviewStatus === '1'" type="textarea" rows="5" placeholder="请用中文注明" size="small" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-button type="primary" size="small" style="margin-top:20px" :disabled="isBtnDisabled || $route.query.ReviewStatus === '1'" @click="handleSaveOtherClinical">Save</el-button>
|
||||
<el-button type="primary" size="small" style="margin-top:20px" :disabled="isBtnDisabled || $route.query.ReviewStatus === '1'" @click="handleSaveOtherClinical">
|
||||
{{ $t('common:button:save') }}</el-button>
|
||||
</div>
|
||||
<el-dialog v-if="clinicalTrialDialogVisible" :title="clinicalTrialDialogTitle" :visible.sync="clinicalTrialDialogVisible" width="480px" :close-on-click-modal="false">
|
||||
<el-form
|
||||
|
@ -70,7 +72,7 @@
|
|||
:model="clinicalTrialForm"
|
||||
size="small"
|
||||
>
|
||||
<el-form-item label="Phase" prop="PhaseId">
|
||||
<el-form-item :label="$t('system:TrialExperience:label:Phase')" prop="PhaseId">
|
||||
<el-select v-model="clinicalTrialForm.PhaseId" placeholder="Please select">
|
||||
<!-- <el-option
|
||||
v-for="(key,value) of dictionaryList.Phase"
|
||||
|
@ -86,7 +88,7 @@
|
|||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="Review Criteria" prop="EvaluationCriteriaIdList">
|
||||
<el-form-item :label="$t('system:TrialExperience:label:Review Criteria')" prop="EvaluationCriteriaIdList">
|
||||
<el-select
|
||||
v-model="clinicalTrialForm.EvaluationCriteriaIdList"
|
||||
placeholder="Please select"
|
||||
|
@ -101,29 +103,29 @@
|
|||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="Start Time" prop="StartTime">
|
||||
<el-form-item :label="$t('system:TrialExperience:label:Start Time')" prop="StartTime">
|
||||
<el-date-picker
|
||||
v-model="clinicalTrialForm.StartTime"
|
||||
type="year"
|
||||
placeholder="Select Start Time">
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="End Time" prop="EndTime">
|
||||
<el-form-item :label="$t('system:TrialExperience:label:End Time')" prop="EndTime">
|
||||
<el-date-picker
|
||||
v-model="clinicalTrialForm.EndTime"
|
||||
type="year"
|
||||
placeholder="Select End Time">
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="Visit Reading Count" prop="VisitReadingCount">
|
||||
<el-form-item :label="$t('system:TrialExperience:Visit Reading Count')" prop="VisitReadingCount">
|
||||
<el-input style="width: 100%" oninput="value=value.replace(/[^\d]/g,'')" v-model="clinicalTrialForm.VisitReadingCount" controls-position="right" :min="0" />
|
||||
</el-form-item>
|
||||
<el-form-item label="Indication" prop="EvaluationContent">
|
||||
<el-form-item :label="$t('system:TrialExperience:Indication')" prop="EvaluationContent">
|
||||
<el-input v-model="clinicalTrialForm.EvaluationContent" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" size="small" :loading="isDisabled" @click="handleSave">Save</el-button>
|
||||
<el-button type="primary" size="small" :loading="isDisabled" @click="handleSave">{{ $t('common:button:save') }}</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
|
|
|
@ -1,39 +1,34 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-tabs v-model="active" @tab-click="clickTab">
|
||||
<el-tab-pane label="Basic Info" name="BasicInfo">
|
||||
<el-tab-pane :label="$t('system:reviewer:tab:BasicInfo')" name="BasicInfo">
|
||||
<basic-info v-if="load.BasicInfo" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="Employment" name="Employment">
|
||||
|
||||
<el-tab-pane :label="$t('system:reviewer:tab:Employment')" name="Employment">
|
||||
<Employment v-if="load.Employment" />
|
||||
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="Specialty" name="Specialty">
|
||||
|
||||
<el-tab-pane :label="$t('system:reviewer:tab:Specialty')" name="Specialty">
|
||||
<specialty v-if="load.Specialty" />
|
||||
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane label="Education & Training" name="EducationTraining">
|
||||
<el-tab-pane :label="$t('system:reviewer:tab:Education&Training')" name="EducationTraining">
|
||||
<education-training v-if="load.EducationTraining" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="Research & Publication" name="ResearchPublication">
|
||||
<el-tab-pane :label="$t('system:reviewer:tab:Research&Publication')" name="ResearchPublication">
|
||||
<research-publication v-if="load.ResearchPublication" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="Trial Experience" name="TrialExperience">
|
||||
<el-tab-pane :label="$t('system:reviewer:tab:TrialExperience')" name="TrialExperience">
|
||||
<trial-experience v-if="load.TrialExperience" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="Credentials" name="Credentials">
|
||||
<el-tab-pane :label="$t('system:reviewer:tab:Credentials')" name="Credentials">
|
||||
<Credentials v-if="load.Credentials" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="Resumes" name="Resumes">
|
||||
<el-tab-pane :label="$t('system:reviewer:tab:Resumes')" name="Resumes">
|
||||
<Resumes v-if="load.Resumes" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="Agreements" name="Agreements">
|
||||
<el-tab-pane :label="$t('system:reviewer:tab:Agreements')" name="Agreements">
|
||||
<Agreements v-if="load.Agreements" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="Setting" name="Setting">
|
||||
<el-tab-pane :label="$t('system:reviewer:tab:Setting')" name="Setting">
|
||||
<Setting v-if="load.Setting" />
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<div ref="leftContainer" class="left">
|
||||
<el-form :inline="true">
|
||||
<el-form-item
|
||||
label="操作类型"
|
||||
:label="$t('system:loginLog:label:OptType')"
|
||||
prop="OptType"
|
||||
>
|
||||
<el-select v-model="searchData.OptType" clearable style="width:120px;">
|
||||
|
@ -27,7 +27,7 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="错误用户名"
|
||||
:label="$t('system:loginLog:label:LoginFaildName')"
|
||||
prop="LoginFaildName"
|
||||
>
|
||||
<el-input
|
||||
|
@ -38,7 +38,7 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="创建时间"
|
||||
:label="$t('system:loginLog:label:CreateTime')"
|
||||
>
|
||||
<el-date-picker
|
||||
v-model="datetimerange"
|
||||
|
@ -58,7 +58,7 @@
|
|||
size="mini"
|
||||
@click="getList"
|
||||
>
|
||||
查询
|
||||
{{ $t('common:button:search') }}
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
@ -75,7 +75,7 @@
|
|||
width="50"
|
||||
/>
|
||||
<el-table-column
|
||||
label="操作类型"
|
||||
:label="$t('system:loginLog:table:OptType')"
|
||||
prop="OptType"
|
||||
min-width="90"
|
||||
show-overflow-tooltip
|
||||
|
@ -93,21 +93,21 @@
|
|||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column
|
||||
label="错误用户名"
|
||||
:label="$t('system:loginLog:table:LoginFaildName')"
|
||||
prop="LoginFaildName"
|
||||
min-width="90"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
/>
|
||||
<el-table-column
|
||||
label="用户名"
|
||||
:label="$t('system:loginLog:table:LoginUserName')"
|
||||
prop="LoginUserName"
|
||||
min-width="90"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
/>
|
||||
<el-table-column
|
||||
label="用户类型"
|
||||
:label="$t('system:loginLog:table:LoginUserType')"
|
||||
prop="LoginUserTypeEnum"
|
||||
min-width="90"
|
||||
sortable="custom"
|
||||
|
@ -119,6 +119,7 @@
|
|||
</el-table-column>
|
||||
<el-table-column
|
||||
label="操作用户名"
|
||||
:label="$t('system:loginLog:table:OptUserName')"
|
||||
prop="OptUserName"
|
||||
min-width="90"
|
||||
sortable="custom"
|
||||
|
@ -126,6 +127,7 @@
|
|||
/>
|
||||
<el-table-column
|
||||
label="操作用户类型"
|
||||
:label="$t('system:loginLog:table:OptUserType')"
|
||||
prop="OptUserTypeEnum"
|
||||
min-width="90"
|
||||
sortable="custom"
|
||||
|
@ -137,6 +139,7 @@
|
|||
</el-table-column>
|
||||
<el-table-column
|
||||
label="创建时间"
|
||||
:label="$t('system:loginLog:table:CreateTime')"
|
||||
prop="CreateTime"
|
||||
min-width="90"
|
||||
sortable="custom"
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
label-width="120px"
|
||||
size="small"
|
||||
>
|
||||
<el-form-item label="通知级别: " prop="NoticeLevelEnum">
|
||||
<el-select v-model="form.NoticeLevelEnum" placeholder="通知级别" clearable size="small">
|
||||
<el-form-item :label="$t('system:notice:label:NoticeLevel')" prop="NoticeLevelEnum">
|
||||
<el-select v-model="form.NoticeLevelEnum" clearable size="small">
|
||||
<el-option
|
||||
v-for="item of dict.type.NoteLevel"
|
||||
:key="item.value"
|
||||
|
@ -18,8 +18,8 @@
|
|||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="通知类型: " prop="NoticeTypeEnum">
|
||||
<el-select v-model="form.NoticeTypeEnum" placeholder="通知类型" clearable size="small">
|
||||
<el-form-item :label="$t('system:notice:label:NoticeType')" prop="NoticeTypeEnum">
|
||||
<el-select v-model="form.NoticeTypeEnum" clearable size="small">
|
||||
<el-option
|
||||
v-for="item of dict.type.NoteType"
|
||||
:key="item.value"
|
||||
|
@ -28,8 +28,8 @@
|
|||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="适用项目: " prop="ApplicableProjectEnum">
|
||||
<el-select v-model="form.ApplicableProjectEnum" placeholder="适用项目" clearable size="small">
|
||||
<el-form-item :label="$t('system:notice:label:ApplicableProject')" prop="ApplicableProjectEnum">
|
||||
<el-select v-model="form.ApplicableProjectEnum" clearable size="small">
|
||||
<el-option
|
||||
v-for="item of dict.type.NoticeApplicableTrial"
|
||||
:key="item.value"
|
||||
|
@ -38,8 +38,8 @@
|
|||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="适用角色: " prop="NoticeUserTypeIdList">
|
||||
<el-select v-model="form.NoticeUserTypeIdList" multiple placeholder="使用角色" clearable size="small">
|
||||
<el-form-item :label="$t('system:notice:label:NoticeUserTypeIdList')" prop="NoticeUserTypeIdList">
|
||||
<el-select v-model="form.NoticeUserTypeIdList" multiple clearable size="small">
|
||||
<el-option
|
||||
v-for="item of roleList"
|
||||
:key="item.Id"
|
||||
|
@ -48,8 +48,8 @@
|
|||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="提醒方式: " prop="NoticeModeEnum">
|
||||
<el-select v-model="form.NoticeModeEnum" placeholder="提醒方式" clearable size="small">
|
||||
<el-form-item :label="$t('system:notice:label:NoticeMode')" prop="NoticeModeEnum">
|
||||
<el-select v-model="form.NoticeModeEnum" clearable size="small">
|
||||
<el-option
|
||||
v-for="item of dict.type.NoticeMode"
|
||||
:key="item.value"
|
||||
|
@ -58,35 +58,33 @@
|
|||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="开始时间: " prop="Code">
|
||||
<el-form-item :label="$t('system:notice:label:StartDate')" prop="StartDate">
|
||||
<el-date-picker
|
||||
v-model="form.StartDate"
|
||||
type="datetime"
|
||||
placeholder="选择开始时间"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="结束时间: " prop="Code">
|
||||
<el-form-item :label="$t('system:notice:label:EndDate')" prop="EndDate">
|
||||
<el-date-picker
|
||||
v-model="form.EndDate"
|
||||
type="datetime"
|
||||
placeholder="选择结束时间"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="!form.Id" label="是否发布: " prop="Code">
|
||||
<el-form-item v-if="!form.Id" :label="$t('system:notice:label:IsPush')" prop="IsPush">
|
||||
<el-switch
|
||||
v-model="form.IsPush"
|
||||
:active-value="true"
|
||||
:inactive-value="false"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="通知内容: " prop="NoticeContent">
|
||||
<el-form-item :label="$t('system:notice:label:NoticeContent')" prop="NoticeContent">
|
||||
<el-input
|
||||
v-model="form.NoticeContent"
|
||||
type="textarea"
|
||||
:autosize="{ minRows: 2, maxRows: 4}"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="附件: ">
|
||||
<el-form-item :label="$t('system:notice:label:file')">
|
||||
<el-upload
|
||||
class="upload-demo"
|
||||
action
|
||||
|
@ -104,8 +102,8 @@
|
|||
</el-form>
|
||||
</template>
|
||||
<template slot="dialog-footer">
|
||||
<el-button :disabled="btnLoading" size="small" type="primary" @click="handleCancle">Cancel</el-button>
|
||||
<el-button size="small" type="primary" :loading="btnLoading" @click="handleSave">Save</el-button>
|
||||
<el-button :disabled="btnLoading" size="small" type="primary" @click="handleCancle">{{ $t('common:button:cancel') }}</el-button>
|
||||
<el-button size="small" type="primary" :loading="btnLoading" @click="handleSave">{{ $t('common:button:save') }}</el-button>
|
||||
</template>
|
||||
</base-model>
|
||||
</template>
|
||||
|
@ -167,7 +165,7 @@ export default {
|
|||
},
|
||||
beforeUpload() {
|
||||
if (this.fileList.length > 0) {
|
||||
this.$alert('最多只能传一个附件')
|
||||
this.$alert(this.$t('system:notice:msg:message1'))
|
||||
return
|
||||
}
|
||||
},
|
||||
|
|
|
@ -2,38 +2,38 @@
|
|||
<div class="role">
|
||||
<div ref="leftContainer" class="left">
|
||||
<el-form :inline="true">
|
||||
<el-form-item label="通知级别: " prop="NoticeLevelEnum">
|
||||
<el-select v-model="searchData.NoticeLevelEnum" placeholder="通知级别" clearable size="small">
|
||||
<el-form-item :label="$t('system:notice:label:NoticeLevel')" prop="NoticeLevelEnum">
|
||||
<el-select v-model="searchData.NoticeLevelEnum" clearable size="small">
|
||||
<el-option
|
||||
v-for="item of dict.type.NoteLevel"
|
||||
v-for="item of $d.NoteLevel"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.raw.Code * 1"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="通知类型: " prop="NoticeTypeEnum">
|
||||
<el-select v-model="searchData.NoticeTypeEnum" placeholder="通知类型" clearable size="small">
|
||||
<el-form-item :label="$t('system:notice:label:NoticeType')" prop="NoticeTypeEnum">
|
||||
<el-select v-model="searchData.NoticeTypeEnum" clearable size="small">
|
||||
<el-option
|
||||
v-for="item of dict.type.NoteType"
|
||||
v-for="item of $d.NoteType"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.raw.Code * 1"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="适用项目: " prop="ApplicableProjectEnum">
|
||||
<el-select v-model="searchData.ApplicableProjectEnum" placeholder="适用项目" clearable size="small">
|
||||
<el-form-item :label="$t('system:notice:label:ApplicableProject')" prop="ApplicableProjectEnum">
|
||||
<el-select v-model="searchData.ApplicableProjectEnum" clearable size="small">
|
||||
<el-option
|
||||
v-for="item of dict.type.NoticeApplicableTrial"
|
||||
v-for="item of $d.NoticeApplicableTrial"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.raw.Code * 1"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="使用角色: " prop="NoticeUserTypeIdList">
|
||||
<el-select v-model="searchData.NoticeUserTypeIdList" multiple placeholder="使用角色" clearable size="small">
|
||||
<el-form-item :label="$t('system:notice:label:NoticeUserTypeIdList')" prop="NoticeUserTypeIdList">
|
||||
<el-select v-model="searchData.NoticeUserTypeIdList" multiple clearable size="small">
|
||||
<el-option
|
||||
v-for="item of roleList"
|
||||
:key="item.Id"
|
||||
|
@ -42,99 +42,99 @@
|
|||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="提醒方式: " prop="NoticeModeEnum">
|
||||
<el-select v-model="searchData.NoticeModeEnum" placeholder="提醒方式" clearable size="small">
|
||||
<el-form-item :label="$t('system:notice:label:NoticeMode')" prop="NoticeModeEnum">
|
||||
<el-select v-model="searchData.NoticeModeEnum" clearable size="small">
|
||||
<el-option
|
||||
v-for="item of dict.type.NoticeMode"
|
||||
v-for="item of $d.NoticeMode"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.raw.Code * 1"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList">搜索</el-button>
|
||||
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList">{{ $t('common:button:search') }}</el-button>
|
||||
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd">{{ $t('common:button:add') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="loading" v-adaptive="{bottomOffset:45}" height="100" :data="list" class="table">
|
||||
<el-table-column type="index" width="50" />
|
||||
<el-table-column label="通知级别" prop="NoticeLevelEnum" min-width="120" show-overflow-tooltip>
|
||||
<el-table-column :label="$t('system:notice:table:NoticeLevel')" label="通知级别" prop="NoticeLevelEnum" min-width="120" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
{{ dict.type.NoteLevel.find(v => {return v.raw.Code * 1 === scope.row.NoticeLevelEnum}) ? dict.type.NoteLevel.find(v => {return v.raw.Code * 1 === scope.row.NoticeLevelEnum}).label : '' }}
|
||||
{{ $d.NoteLevel.find(v => {return v.raw.Code * 1 === scope.row.NoticeLevelEnum}) ? $d.NoteLevel.find(v => {return v.raw.Code * 1 === scope.row.NoticeLevelEnum}).label : '' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="通知类型" prop="NoticeTypeEnum" min-width="100" show-overflow-tooltip>
|
||||
<el-table-column :label="$t('system:notice:table:NoticeType')" label="通知类型" prop="NoticeTypeEnum" min-width="100" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
{{ dict.type.NoteType.find(v => {return v.raw.Code * 1 === scope.row.NoticeTypeEnum}) ? dict.type.NoteType.find(v => {return v.raw.Code * 1 === scope.row.NoticeTypeEnum}).label : '' }}
|
||||
{{ $d.NoteType.find(v => {return v.raw.Code * 1 === scope.row.NoticeTypeEnum}) ? $d.NoteType.find(v => {return v.raw.Code * 1 === scope.row.NoticeTypeEnum}).label : '' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="通知内容" prop="NoticeContent" min-width="100" show-overflow-tooltip>
|
||||
<el-table-column :label="$t('system:notice:table:NoticeContent')" label="通知内容" prop="NoticeContent" min-width="100" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.NoticeContent }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="通知状态" prop="NoticeStateEnum" min-width="100" show-overflow-tooltip>
|
||||
<el-table-column :label="$t('system:notice:table:NoticeState')" label="通知状态" prop="NoticeStateEnum" min-width="100" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
<el-tag :type="scope.row.ActualNoticeStateEnum === 0 ? 'info' : scope.row.ActualNoticeStateEnum === 1 ? 'success' : 'danger'">
|
||||
{{ dict.type.NoticeState.find(v => {return v.raw.Code * 1 === scope.row.ActualNoticeStateEnum}) ? dict.type.NoticeState.find(v => {return v.raw.Code * 1 === scope.row.ActualNoticeStateEnum}).label : '' }}
|
||||
{{ $d.NoticeState.find(v => {return v.raw.Code * 1 === scope.row.ActualNoticeStateEnum}) ? $d.NoticeState.find(v => {return v.raw.Code * 1 === scope.row.ActualNoticeStateEnum}).label : '' }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="适用项目" prop="ApplicableProjectEnum" min-width="100" show-overflow-tooltip>
|
||||
<el-table-column :label="$t('system:notice:table:ApplicableProject')" label="适用项目" prop="ApplicableProjectEnum" min-width="100" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
{{ dict.type.NoticeApplicableTrial.find(v => {return v.raw.Code * 1 === scope.row.ApplicableProjectEnum}) ? dict.type.NoticeApplicableTrial.find(v => {return v.raw.Code * 1 === scope.row.ApplicableProjectEnum}).label : '' }}
|
||||
{{ $d.NoticeApplicableTrial.find(v => {return v.raw.Code * 1 === scope.row.ApplicableProjectEnum}) ? $d.NoticeApplicableTrial.find(v => {return v.raw.Code * 1 === scope.row.ApplicableProjectEnum}).label : '' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="适用角色" prop="NoticeUserTypeList" min-width="80" show-overflow-tooltip>
|
||||
<el-table-column :label="$t('system:notice:table:NoticeUserTypeList')" label="适用角色" prop="NoticeUserTypeList" min-width="80" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.NoticeUserTypeList.map(v => v.UserTypeShortName).toString() }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="提示方式" prop="NoticeModeEnum" min-width="100" show-overflow-tooltip>
|
||||
<el-table-column :label="$t('system:notice:table:NoticeMode')" label="提示方式" prop="NoticeModeEnum" min-width="100" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
{{ dict.type.NoticeMode.find(v => {return v.raw.Code * 1 === scope.row.NoticeModeEnum}) ? dict.type.NoticeMode.find(v => {return v.raw.Code * 1 === scope.row.NoticeModeEnum}).label : '' }}
|
||||
{{ dict.type.NoticeMode.find(v => {return v.raw.Code * 1 === scope.row.NoticeModeEnum}) ? $d.NoticeMode.find(v => {return v.raw.Code * 1 === scope.row.NoticeModeEnum}).label : '' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="保留时长" prop="StartDate" min-width="240" show-overflow-tooltip>
|
||||
<el-table-column :label="$t('system:notice:table:StartDate')" label="保留时长" prop="StartDate" min-width="240" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.StartDate }}-{{ scope.row.EndDate }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="发布人" prop="PublishUserName" min-width="100" show-overflow-tooltip />
|
||||
<el-table-column label="发布时间" prop="PublishedTime" min-width="160" show-overflow-tooltip />
|
||||
<el-table-column label="更新时间" prop="UpdateTime" min-width="160" show-overflow-tooltip>
|
||||
<el-table-column :label="$t('system:notice:table:PublishUserName')" label="发布人" prop="PublishUserName" min-width="100" show-overflow-tooltip />
|
||||
<el-table-column :label="$t('system:notice:table:PublishedTime')" label="发布时间" prop="PublishedTime" min-width="160" show-overflow-tooltip />
|
||||
<el-table-column :label="$t('system:notice:table:UpdateTime')" label="更新时间" prop="UpdateTime" min-width="160" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.StartDate ? scope.row.StartDate: scope.row.CreateTime }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="附件" fixed="right" prop="FileName" min-width="120" show-overflow-tooltip>
|
||||
<el-table-column :label="$t('system:notice:table:FileName')" label="附件" fixed="right" prop="FileName" min-width="120" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
<a :href="OSSclientConfig.basePath + scope.row.FullFilePath" target="_blank" style="color:#428bca">{{ scope.row.FileName }}</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" prop="UserTypeShortName" min-width="200" show-overflow-tooltip>
|
||||
<el-table-column :label="$t('common:action:action')" fixed="right" prop="UserTypeShortName" min-width="200" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit-outline"
|
||||
@click="handleEdit(scope.row)"
|
||||
>编辑</el-button>
|
||||
>{{$t('common:action:edit')}}</el-button>
|
||||
<el-button
|
||||
v-if="scope.row.NoticeStateEnum === 0"
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-s-promotion"
|
||||
@click="handlePush(scope.row)"
|
||||
>发布</el-button>
|
||||
>{{$t('common:action:push')}}</el-button>
|
||||
<el-button
|
||||
v-if="scope.row.NoticeStateEnum === 1"
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-s-release"
|
||||
@click="handleGet(scope.row)"
|
||||
>撤回</el-button>
|
||||
>{{$t('common:action:pull')}}</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
@ -219,12 +219,12 @@ export default {
|
|||
},
|
||||
handleEdit(row) {
|
||||
this.$nextTick(() => {
|
||||
this.$refs['NoticeForm'].openDialog('编辑', row)
|
||||
this.$refs['NoticeForm'].openDialog(this.$t('common:button:edit'), row)
|
||||
})
|
||||
},
|
||||
handleAdd() {
|
||||
this.$nextTick(() => {
|
||||
this.$refs['NoticeForm'].openDialog('新增', {})
|
||||
this.$refs['NoticeForm'].openDialog(this.$t('common:button:add'), {})
|
||||
})
|
||||
},
|
||||
getUserTypeRoleList() {
|
||||
|
|
|
@ -197,8 +197,9 @@ export default {
|
|||
getMenuList({}).then(res => {
|
||||
const menu = this.toTree(res.Result, '00000000-0000-0000-0000-000000000000')
|
||||
this.menuOptions = menu
|
||||
this.form.MenuIds.forEach(v => {
|
||||
this.$nextTick(() => {
|
||||
console.log(this.menuOptions)
|
||||
this.$nextTick(() => {
|
||||
this.form.MenuIds.forEach(v => {
|
||||
this.$refs.menu.setChecked(v, true, false)
|
||||
})
|
||||
})
|
||||
|
|
|
@ -2,17 +2,16 @@
|
|||
<div class="role">
|
||||
<div ref="leftContainer" class="left">
|
||||
<el-form :inline="true">
|
||||
<el-form-item label="关键字">
|
||||
<el-form-item :label="$t('system:role:title:SearchFilter')">
|
||||
<el-input
|
||||
v-model="queryParams.SearchFilter"
|
||||
placeholder="请输入关键字"
|
||||
clearable
|
||||
size="small"
|
||||
@keyup.enter.native="getList"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态">
|
||||
<el-select v-model="queryParams.GroupId" placeholder="角色组" clearable size="small">
|
||||
<el-form-item :label="$t('system:role:title:Group')">
|
||||
<el-select v-model="queryParams.GroupId" clearable size="small">
|
||||
<el-option
|
||||
v-for="item of dict.type.UserTypeGroup"
|
||||
:key="item.value"
|
||||
|
@ -22,27 +21,27 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList">搜索</el-button>
|
||||
<el-button v-hasPermi="['system:role:add']" type="primary" icon="el-icon-plus" size="mini" @click="handleAddRole">新增</el-button>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList">{{ $t('common:button:search') }}</el-button>
|
||||
<el-button v-hasPermi="['system:role:add']" type="primary" icon="el-icon-plus" size="mini" @click="handleAddRole">{{ $t('common:button:add') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="loading" v-adaptive="{bottomOffset:30}" size="small" height="100" :data="list" class="table">
|
||||
<el-table-column type="index" width="50" />
|
||||
<el-table-column label="User Type" prop="UserTypeName" min-width="220" show-overflow-tooltip />
|
||||
<el-table-column label="Shortname" prop="UserTypeShortName" min-width="120" show-overflow-tooltip />
|
||||
<el-table-column label="Group" prop="Note" min-width="80" show-overflow-tooltip>
|
||||
<el-table-column :label="$t('system:role:table:User Type')" prop="UserTypeName" min-width="220" show-overflow-tooltip />
|
||||
<el-table-column :label="$t('system:role:table:Shortname')" prop="UserTypeShortName" min-width="120" show-overflow-tooltip />
|
||||
<el-table-column :label="$t('system:role:table:Group')" prop="Note" min-width="80" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.UserTypeGroupList.map(v => {return v.GroupName}).toString() }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="PermissionStr" prop="PermissionStr" min-width="100" show-overflow-tooltip />
|
||||
<el-table-column label="User Type Enum" prop="UserTypeEnum" min-width="100" show-overflow-tooltip>
|
||||
<el-table-column :label="$t('system:role:table:PermissionStr')" prop="PermissionStr" min-width="100" show-overflow-tooltip />
|
||||
<el-table-column :label="$t('system:role:table:User Type Enum')" prop="UserTypeEnum" min-width="100" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
{{ $fd('UserType',scope.row.UserTypeEnum) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="Description" prop="Description" min-width="220" show-overflow-tooltip />
|
||||
<el-table-column label="Action" width="280">
|
||||
<el-table-column :label="$t('system:role:table:Description')" prop="Description" min-width="220" show-overflow-tooltip />
|
||||
<el-table-column :label="$t('common:action:action')" width="280">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
v-hasPermi="['system:role:edit']"
|
||||
|
@ -50,14 +49,14 @@
|
|||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleEditRole(scope.row)"
|
||||
>Edit</el-button>
|
||||
>{{ $t('common:button:edit') }}</el-button>
|
||||
<el-button
|
||||
v-hasPermi="['system:role:delete']"
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDeleteRole(scope.row)"
|
||||
>Delete</el-button>
|
||||
>{{ $t('common:button:delete') }}</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
@ -69,12 +68,11 @@
|
|||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { role_columns, model_cfg } from './role'
|
||||
import { getUserTypeRoleList, deleteUserTypeRole } from '@/api/admin'
|
||||
// import { getDictionary } from '@/api/dictionary/dictionary'
|
||||
import RoleForm from './components/RoleForm'
|
||||
import tableMixins from '@/mixins/table'
|
||||
|
||||
import { model_cfg } from './role'
|
||||
export default {
|
||||
name: 'Role',
|
||||
components: { RoleForm },
|
||||
|
@ -82,7 +80,6 @@ export default {
|
|||
mixins: [tableMixins],
|
||||
data() {
|
||||
return {
|
||||
role_columns,
|
||||
model_cfg,
|
||||
list: [],
|
||||
total: 0,
|
||||
|
@ -124,12 +121,12 @@ export default {
|
|||
handleAddRole() {
|
||||
this.editRow = {}
|
||||
this.model_cfg.visible = true
|
||||
this.model_cfg.title = 'Add'
|
||||
this.model_cfg.title = this.$t('common:button:add')
|
||||
},
|
||||
handleEditRole(row) {
|
||||
this.editRow = row
|
||||
this.model_cfg.visible = true
|
||||
this.model_cfg.title = 'Edit'
|
||||
this.model_cfg.title = this.$t('common:button:edit')
|
||||
},
|
||||
// 分配权限,获取菜单树,并勾选已有菜单权限
|
||||
handlePermission(row) {
|
||||
|
|
|
@ -1,80 +1,79 @@
|
|||
// 角色列表配置信息
|
||||
export const role_columns = [
|
||||
{ type: 'index' },
|
||||
|
||||
{
|
||||
prop: 'UserType',
|
||||
label: 'User Type',
|
||||
minWidth: 120,
|
||||
showOverflowTooltip: true
|
||||
},
|
||||
{
|
||||
prop: 'UserTypeShortName',
|
||||
label: 'Shortname',
|
||||
minWidth: 100,
|
||||
showOverflowTooltip: true
|
||||
},
|
||||
{
|
||||
prop: 'Type',
|
||||
label: 'Group',
|
||||
hidden: true,
|
||||
minWidth: 100,
|
||||
showOverflowTooltip: true,
|
||||
slot: 'TypeSlot'
|
||||
},
|
||||
|
||||
{
|
||||
prop: 'Description',
|
||||
label: 'Description',
|
||||
minWidth: 100,
|
||||
showOverflowTooltip: true },
|
||||
{
|
||||
type: 'operate',
|
||||
label: 'Action',
|
||||
minWidth: 100,
|
||||
operates: [
|
||||
// { name: 'Permission', type: 'primary', emitKey: 'permission' },
|
||||
{ name: 'Edit', type: 'primary', emitKey: 'edit' },
|
||||
{ name: 'Delete', type: 'danger', emitKey: 'delete' }
|
||||
] }
|
||||
]
|
||||
export const model_cfg = {
|
||||
visible: false,
|
||||
title: '',
|
||||
width: '600px',
|
||||
showClose: true
|
||||
}
|
||||
export const editRoleForm = [
|
||||
{
|
||||
type: 'Input',
|
||||
label: 'Role Name',
|
||||
prop: 'RoleName',
|
||||
width: '100%',
|
||||
placeholder: ''
|
||||
},
|
||||
{
|
||||
type: 'Input',
|
||||
label: 'Description',
|
||||
prop: 'RoleDescription',
|
||||
width: '100%',
|
||||
placeholder: ''
|
||||
}
|
||||
]
|
||||
export const editData = {
|
||||
RoleName: null,
|
||||
RoleDescription: null
|
||||
}
|
||||
export const editRules = {
|
||||
RoleName: [
|
||||
{ required: true, message: 'Please specify', trigger: 'blur' },
|
||||
{ max: 50, message: 'The maximum length is 50' }
|
||||
],
|
||||
RoleDescription: [
|
||||
{ max: 500, message: 'The maximum length is 500' }
|
||||
]
|
||||
|
||||
}
|
||||
export const editHandle = [
|
||||
{ label: 'Cancel', type: 'primary', emitKey: 'cancel' },
|
||||
{ label: 'Save', type: 'primary', emitKey: 'save' }
|
||||
]
|
||||
// 角色列表配置信息
|
||||
export const role_columns = [
|
||||
{ type: 'index' },
|
||||
{
|
||||
prop: 'UserType',
|
||||
label: 'User Type',
|
||||
minWidth: 120,
|
||||
showOverflowTooltip: true
|
||||
},
|
||||
{
|
||||
prop: 'UserTypeShortName',
|
||||
label: 'Shortname',
|
||||
minWidth: 100,
|
||||
showOverflowTooltip: true
|
||||
},
|
||||
{
|
||||
prop: 'Type',
|
||||
label: 'Group',
|
||||
hidden: true,
|
||||
minWidth: 100,
|
||||
showOverflowTooltip: true,
|
||||
slot: 'TypeSlot'
|
||||
},
|
||||
|
||||
{
|
||||
prop: 'Description',
|
||||
label: 'Description',
|
||||
minWidth: 100,
|
||||
showOverflowTooltip: true },
|
||||
{
|
||||
type: 'operate',
|
||||
label: 'Action',
|
||||
minWidth: 100,
|
||||
operates: [
|
||||
// { name: 'Permission', type: 'primary', emitKey: 'permission' },
|
||||
{ name: 'Edit', type: 'primary', emitKey: 'edit' },
|
||||
{ name: 'Delete', type: 'danger', emitKey: 'delete' }
|
||||
] }
|
||||
]
|
||||
export const model_cfg = {
|
||||
visible: false,
|
||||
title: '',
|
||||
width: '600px',
|
||||
showClose: true
|
||||
}
|
||||
export const editRoleForm = [
|
||||
{
|
||||
type: 'Input',
|
||||
label: 'Role Name',
|
||||
prop: 'RoleName',
|
||||
width: '100%',
|
||||
placeholder: ''
|
||||
},
|
||||
{
|
||||
type: 'Input',
|
||||
label: 'Description',
|
||||
prop: 'RoleDescription',
|
||||
width: '100%',
|
||||
placeholder: ''
|
||||
}
|
||||
]
|
||||
export const editData = {
|
||||
RoleName: null,
|
||||
RoleDescription: null
|
||||
}
|
||||
export const editRules = {
|
||||
RoleName: [
|
||||
{ required: true, message: 'Please specify', trigger: 'blur' },
|
||||
{ max: 50, message: 'The maximum length is 50' }
|
||||
],
|
||||
RoleDescription: [
|
||||
{ max: 500, message: 'The maximum length is 500' }
|
||||
]
|
||||
|
||||
}
|
||||
export const editHandle = [
|
||||
{ label: 'Cancel', type: 'primary', emitKey: 'cancel' },
|
||||
{ label: 'Save', type: 'primary', emitKey: 'save' }
|
||||
]
|
||||
|
|
|
@ -1,39 +1,39 @@
|
|||
<template>
|
||||
<el-card class="box-card" style="width:800px;" size="small">
|
||||
<!-- <div slot="header" class="clearfix">
|
||||
<span>Security</span>
|
||||
</div> -->
|
||||
<div>
|
||||
<el-button type="danger" @click="handleReset">Reset Password</el-button>
|
||||
</div>
|
||||
</el-card>
|
||||
</template>
|
||||
<script>
|
||||
import { resetPassword } from '@/api/admin'
|
||||
export default {
|
||||
name: 'Account',
|
||||
props: {
|
||||
userId: { type: String, default: '' }
|
||||
},
|
||||
methods: {
|
||||
handleReset() {
|
||||
this.$confirm('Sure to reset password?', {
|
||||
type: 'warning',
|
||||
distinguishCancelAndClose: true,
|
||||
confirmButtonText: 'Ok',
|
||||
cancelButtonText: 'Cancel'
|
||||
})
|
||||
.then(() => {
|
||||
resetPassword(this.userId).then(res => {
|
||||
if (res.IsSuccess) {
|
||||
this.$message({
|
||||
message: 'Reset password successfully',
|
||||
type: 'success'
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<template>
|
||||
<el-card class="box-card" style="width:800px;" size="small">
|
||||
<!-- <div slot="header" class="clearfix">
|
||||
<span>Security</span>
|
||||
</div> -->
|
||||
<div>
|
||||
<el-button type="danger" @click="handleReset">{{$t('system:userlist:button:ResetPassword')}}</el-button>
|
||||
</div>
|
||||
</el-card>
|
||||
</template>
|
||||
<script>
|
||||
import { resetPassword } from '@/api/admin'
|
||||
export default {
|
||||
name: 'Account',
|
||||
props: {
|
||||
userId: { type: String, default: '' }
|
||||
},
|
||||
methods: {
|
||||
handleReset() {
|
||||
this.$confirm('Sure to reset password?', {
|
||||
type: 'warning',
|
||||
distinguishCancelAndClose: true,
|
||||
confirmButtonText: 'Ok',
|
||||
cancelButtonText: 'Cancel'
|
||||
})
|
||||
.then(() => {
|
||||
resetPassword(this.userId).then(res => {
|
||||
if (res.IsSuccess) {
|
||||
this.$message({
|
||||
message: 'Reset password successfully',
|
||||
type: 'success'
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -9,41 +9,41 @@
|
|||
>
|
||||
<el-card class="Basic" shadow="never" size="small">
|
||||
<div slot="header" class="clearfix">
|
||||
<span>Basic Information</span>
|
||||
<span>{{ $t('system:userlist:title:Information') }}</span>
|
||||
</div>
|
||||
<el-form-item v-if="user.UserCode" label="S/N: " prop="UserCode">
|
||||
<el-form-item v-if="user.UserCode" :label="$t('system:userlist:table:S/N')" prop="UserCode">
|
||||
<el-input v-model="user.UserCode" disabled />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="User ID: " class="my_new_pwd" prop="UserName">
|
||||
<el-form-item :label="$t('system:userlist:table:UserName')" class="my_new_pwd" prop="UserName">
|
||||
<el-input v-model="user.UserName" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="Surname: " prop="LastName">
|
||||
<el-form-item :label="$t('system:userlist:table:LastName')" prop="LastName">
|
||||
<el-input v-model="user.LastName" />
|
||||
</el-form-item>
|
||||
<el-form-item label="Given Name: " prop="FirstName">
|
||||
<el-form-item :label="$t('system:userlist:table:FirstName')" prop="FirstName">
|
||||
<el-input v-model="user.FirstName" />
|
||||
</el-form-item>
|
||||
<el-form-item label="Gender: " prop="Sex" style="margin-right:40px;">
|
||||
<el-form-item :label="$t('system:userlist:table:Gender')" prop="Sex" style="margin-right:40px;">
|
||||
<el-radio-group v-model="user.Sex">
|
||||
<el-radio :label="1">Male</el-radio>
|
||||
<el-radio :label="0">Female</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="Email: " prop="EMail">
|
||||
<el-form-item :label="$t('system:userlist:table:Email')" prop="EMail">
|
||||
<el-input v-model="user.EMail" />
|
||||
</el-form-item>
|
||||
<el-form-item label="Phone: " prop="Phone">
|
||||
<el-form-item :label="$t('system:userlist:table:Phone')" prop="Phone">
|
||||
<el-input v-model="user.Phone" />
|
||||
</el-form-item>
|
||||
<el-form-item v-if="type==1" label="Disable:">
|
||||
<el-form-item v-if="type==1" :label="$t('system:userlist:table:Disable')">
|
||||
<el-switch v-model="user.Status" :active-value="0" :inactive-value="1" />
|
||||
</el-form-item>
|
||||
<el-form-item label="IsTestUser:">
|
||||
<el-form-item :label="$t('system:userlist:table:IsTestUser')">
|
||||
<el-switch v-model="user.IsTestUser" />
|
||||
</el-form-item>
|
||||
<el-form-item label="User Type: " prop="UserTypeId">
|
||||
<el-form-item :label="$t('system:userlist:table:UserType')" prop="UserTypeId">
|
||||
<el-select ref="userType" v-model="user.UserTypeId" size="small" placeholder="Please select" style="width:100%;" :disabled="user.CanEditUserType === false">
|
||||
<el-option
|
||||
v-for="(userType,key) of userTypeOptions"
|
||||
|
@ -58,22 +58,21 @@
|
|||
|
||||
<el-card class="Affiliation" shadow="never" style="margin-top:10px;" size="small">
|
||||
<div slot="header" class="clearfix">
|
||||
<span>Affiliation</span>
|
||||
<span>{{ $t('system:userlist:title:Affiliation') }}</span>
|
||||
</div>
|
||||
<el-form-item prop="IsZhiZhun">
|
||||
<el-radio-group v-model="user.IsZhiZhun" @change="OrgnizationTypeChanged">
|
||||
<el-radio :label="true">Internal</el-radio>
|
||||
<el-radio :label="false">External</el-radio>
|
||||
<el-radio :label="true">{{ $t('system:userlist:title:Internal') }}</el-radio>
|
||||
<el-radio :label="false">{{ $t('system:userlist:title:External') }}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item v-show="user.IsZhiZhun === false" label="Organization Name: ">
|
||||
<el-form-item v-show="user.IsZhiZhun === false" :label="$t('system:userlist:table:OrganizationName')">
|
||||
<el-input v-model="user.OrganizationName" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="Department: " prop="DepartmentName">
|
||||
<el-form-item :label="$t('system:userlist:table:Department')" prop="DepartmentName">
|
||||
<el-input v-model="user.DepartmentName" />
|
||||
</el-form-item>
|
||||
<el-form-item label="Position: " prop="PositionName">
|
||||
<el-form-item :label="$t('system:userlist:table:Position')" prop="PositionName">
|
||||
<el-input v-model="user.PositionName" />
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
|
|
|
@ -1,40 +1,40 @@
|
|||
<template>
|
||||
<div class="edit-container">
|
||||
<el-tabs v-model="activeTab" @tab-click="clickTab">
|
||||
<el-tab-pane label="User " name="user">
|
||||
<user-info :user-id="userId" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="Password " name="account">
|
||||
<Account v-if="load.account" :user-id="userId" />
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import UserInfo from '../components/UserInfo'
|
||||
import Account from '../components/Account'
|
||||
export default {
|
||||
name: 'EditUser',
|
||||
components: { UserInfo, Account },
|
||||
data() {
|
||||
return {
|
||||
activeTab: 'user',
|
||||
userId: '',
|
||||
load: {
|
||||
role: false,
|
||||
account: false
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.userId = this.$router.currentRoute.query.Id
|
||||
},
|
||||
methods: {
|
||||
clickTab(tab, event) {
|
||||
if (this.load[tab.name] === false) {
|
||||
this.load[tab.name] = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<template>
|
||||
<div class="edit-container">
|
||||
<el-tabs v-model="activeTab" @tab-click="clickTab">
|
||||
<el-tab-pane :label="$t('system:userlist:tab:User')" name="user">
|
||||
<user-info :user-id="userId" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane :label="$t('system:userlist:tab:Password')" name="account">
|
||||
<Account v-if="load.account" :user-id="userId" />
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import UserInfo from '../components/UserInfo'
|
||||
import Account from '../components/Account'
|
||||
export default {
|
||||
name: 'EditUser',
|
||||
components: { UserInfo, Account },
|
||||
data() {
|
||||
return {
|
||||
activeTab: 'user',
|
||||
userId: '',
|
||||
load: {
|
||||
role: false,
|
||||
account: false
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.userId = this.$router.currentRoute.query.Id
|
||||
},
|
||||
methods: {
|
||||
clickTab(tab, event) {
|
||||
if (this.load[tab.name] === false) {
|
||||
this.load[tab.name] = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
size="mini"
|
||||
style="margin-left:auto;height: 28px;position: absolute;bottom: 0;right: 10px"
|
||||
@click="handleAddUser"
|
||||
>New</el-button>
|
||||
>{{$t('common:button:new')}}</el-button>
|
||||
</div>
|
||||
<base-table
|
||||
v-loading="loading"
|
||||
|
@ -120,7 +120,7 @@ export default {
|
|||
},
|
||||
{
|
||||
prop: 'EMail',
|
||||
label: this.$t('system:userlist:table:EMail'),
|
||||
label: this.$t('system:userlist:table:Email'),
|
||||
minWidth: 150,
|
||||
sortable: 'custom',
|
||||
showOverflowTooltip: true
|
||||
|
|
|
@ -286,7 +286,7 @@ export default {
|
|||
})
|
||||
},
|
||||
handleAdd() {
|
||||
this.row = { TrialId: this.trialId, Id: '', IsBaseLine: false, BlindName: '', VisitWindowLeft: 0, VisitWindowRight: 0, Description: '' }
|
||||
this.row = { TrialId: this.trialId, Id: '', IsBaseLine: false, BlindName: '', VisitWindowLeft: -3, VisitWindowRight: 3, Description: '' }
|
||||
this.timer = new Date().getTime()
|
||||
if (this.list.length === 0) {
|
||||
this.row.VisitName = 'Baseline'
|
||||
|
|
|
@ -9,127 +9,125 @@
|
|||
<!-- PM/APM -->
|
||||
<!-- 阅片期 -->
|
||||
<el-tab-pane v-if="hasPermi(['trials:trials-panel:subject:readingPeriod:edit'])" :label="`${$t('trials:crcUpload:label:clinicalData')} (${tabList.PM_ClinicalDataCount})`">
|
||||
<el-card :body-style="{ padding: '10px'}" style="height:100%">
|
||||
<clinicalDataPM :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
|
||||
</el-card>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane v-if="hasPermi(['trials:trials-workbench:consistencyCheck'])" :label="`${$t('trials:tab:consistencyCheck')} (${tabList.PM_CheckCount})`">
|
||||
<el-card :body-style="{ padding: '10px'}" style="height:100%">
|
||||
|
||||
<consistencyCheck :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
|
||||
</el-card>
|
||||
|
||||
</el-tab-pane>
|
||||
<!-- 重阅审批 -->
|
||||
<el-tab-pane v-if="hasPermi(['trials:trials-workbench:rereadApproval'])" :label="`${$t('trials:trials-panel:attachments:reReadingTracking')} (${tabList.PM_ReReadingApprovalCount})`">
|
||||
<el-card :body-style="{ padding: '10px'}" style="height:100%">
|
||||
|
||||
<RereadApproval :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
|
||||
</el-card>
|
||||
|
||||
</el-tab-pane>
|
||||
<!-- 阅片人筛选 -->
|
||||
<el-tab-pane v-if="hasPermi(['trials:trials-workbench:reviewerScreen'])" :label="`${$t('trials:trials-list:PendingDetails:ReviewerSelection')} (${tabList.PM_ReviewerSelectCount})`">
|
||||
<el-card :body-style="{ padding: '10px'}" style="height:100%">
|
||||
|
||||
<ReviewerScreen :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
|
||||
</el-card>
|
||||
|
||||
</el-tab-pane>
|
||||
<!-- 中心调研 -->
|
||||
<el-tab-pane v-if="hasPermi(['trials:trials-workbench:reviewerScreen'])" :label="`${$t('trials:workbench:title:pendingSiteResearch')} (${tabList.PM_SiteSurveryCount})`">
|
||||
<el-card :body-style="{ padding: '10px'}" style="height:100%">
|
||||
|
||||
<SiteResearch :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
|
||||
</el-card>
|
||||
|
||||
</el-tab-pane>
|
||||
<!-- SPM/CPM -->
|
||||
<!-- 阅片人审批 -->
|
||||
<el-tab-pane v-if="hasPermi(['trials:trials-workbench:reviewerApproval'])" :label="`${$t('trials:sysDocBeSigned:table:reviewerApproval')} (${tabList.SPM_ReviewerApprovalCount})`">
|
||||
<el-card :body-style="{ padding: '10px'}" style="height:100%">
|
||||
|
||||
<ReviewerApproval :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
|
||||
</el-card>
|
||||
|
||||
</el-tab-pane>
|
||||
<!-- 重阅审批 -->
|
||||
<el-tab-pane v-if="hasPermi(['trials:trials-workbench:spmRereadApproval'])" :label="`${$t('trials:trials-panel:attachments:reReadingTracking')} (${tabList.SPM_ReReadingApprovalCount})`">
|
||||
<el-card :body-style="{ padding: '10px'}" style="height:100%">
|
||||
|
||||
<SpmRereadApproval :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
|
||||
</el-card>
|
||||
|
||||
</el-tab-pane>
|
||||
<!-- CRC -->
|
||||
<!-- 临床数据录入 -->
|
||||
<el-tab-pane v-if="hasPermi(['trials:trials-workbench:clinicalDataEntry'])" :label="`${$t('trials:workbench:title:ClinicalDataEnter')} (${tabList.CRC_ClinicalDataTobeDoneCount})`">
|
||||
<el-card :body-style="{ padding: '10px'}" style="height:100%">
|
||||
|
||||
<clinicalData :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
|
||||
</el-card>
|
||||
|
||||
</el-tab-pane>
|
||||
<!-- 临床数据确认 -->
|
||||
<el-tab-pane v-if="hasPermi(['trials:trials-workbench:clinicalDataEntry'])" :label="`${$t('trials:audit:tab:clinicalDataconfirm')} (${tabList.CRC_ClinialDataTobeConfirmCount})`">
|
||||
<el-card :body-style="{ padding: '10px'}" style="height:100%">
|
||||
|
||||
<clinicalDataConfirm :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
|
||||
</el-card>
|
||||
|
||||
</el-tab-pane>
|
||||
<!-- 影像质疑 -->
|
||||
<el-tab-pane v-if="hasPermi(['trials:trials-workbench:imageQuestion'])" :label="`${$t('trials:tab:crcQuality')} (${tabList.CRC_ImageQuestionCount})`">
|
||||
<el-card :body-style="{ padding: '10px'}" style="height:100%">
|
||||
|
||||
<ImageQuestion :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
|
||||
</el-card>
|
||||
|
||||
</el-tab-pane>
|
||||
<!-- 核查质疑 -->
|
||||
<el-tab-pane v-if="hasPermi(['trials:trials-workbenck:imageVerification'])" :label="`${$t('trials:sysDocBeSigned:table:ImageCheck')} (${tabList.CRC_CheckQuestionCount})`">
|
||||
<el-card :body-style="{ padding: '10px'}" style="height:100%">
|
||||
|
||||
<ImageVerification :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
|
||||
</el-card>
|
||||
|
||||
</el-tab-pane>
|
||||
<!-- 影像重传 -->
|
||||
<el-tab-pane v-if="hasPermi(['trials:trials-workbenck:imageReupload'])" :label="`${$t('trials:workbench:title:ImageRetransmission')} (${tabList.CRC_ImageReUploadCount})`">
|
||||
<el-card :body-style="{ padding: '10px'}" style="height:100%">
|
||||
|
||||
<ImageReupload :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
|
||||
</el-card>
|
||||
|
||||
</el-tab-pane>
|
||||
<!-- 加急影像提交 -->
|
||||
<el-tab-pane v-if="hasPermi(['trials:trials-workbenck:imageSubmission'])" :label="`${$t('trials:workbench:title:ExpeditedImageSubmission')} (${tabList.CRC_ImageSubmitCount})`">
|
||||
<el-card :body-style="{ padding: '10px'}" style="height:100%">
|
||||
|
||||
<ImageSubmission :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
|
||||
</el-card>
|
||||
|
||||
</el-tab-pane>
|
||||
<!-- IQC -->
|
||||
<!-- 影像质控 -->
|
||||
<el-tab-pane v-if="hasPermi(['trials:trials-workbenck:imageQC'])" :label="`${$t('trials:tab:dicomsQuality')} (${tabList.IQC_IamgeQCCount})`">
|
||||
<el-card :body-style="{ padding: '10px'}" style="height:100%">
|
||||
|
||||
<ImageQualityControl :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
|
||||
</el-card>
|
||||
|
||||
</el-tab-pane>
|
||||
<!-- QC质疑 -->
|
||||
<el-tab-pane v-if="hasPermi(['trials:trials-workbenck:qcQuestion'])" :label="`${$t('trials:tab:qcQuality')} (${tabList.IQC_QCQuestionCount})`">
|
||||
<el-card :body-style="{ padding: '10px'}" style="height:100%">
|
||||
|
||||
<QcQuestion :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
|
||||
</el-card>
|
||||
|
||||
</el-tab-pane>
|
||||
<!-- IR -->
|
||||
<!-- 影像待阅 -->
|
||||
<el-tab-pane v-if="hasPermi(['trials:trials-workbenck:imagesToRead'])" :label="`${$t('trials:tab:pendingReadingTasks')} (${tabList.IR_IamgeWaitReadingCount})`">
|
||||
<el-card :body-style="{ padding: '10px'}" style="height:100%">
|
||||
|
||||
<ImagesToRead :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
|
||||
</el-card>
|
||||
|
||||
</el-tab-pane>
|
||||
<!-- 医学反馈 -->
|
||||
<el-tab-pane v-if="hasPermi(['trials:trials-workbenck:medicalFeedback'])" :label="`${$t('trials:trials-panel:tab:medicalFeedback')} (${tabList.IR_MedicalReviewCount})`">
|
||||
<el-card :body-style="{ padding: '10px'}" style="height:100%">
|
||||
|
||||
<MedicalFeedback :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
|
||||
</el-card>
|
||||
|
||||
</el-tab-pane>
|
||||
<!-- MIM -->
|
||||
<!-- 医学审核 -->
|
||||
<el-tab-pane v-if="hasPermi(['trials:trials-workbenck:medicalAudit'])" :label="`${$t('trials:trials-panel:tab:pmMedicalFeedback')} (${tabList.MIM_MedicalReviewCount})`">
|
||||
<el-card :body-style="{ padding: '10px'}" style="height:100%">
|
||||
|
||||
<MedicalAudit :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />
|
||||
</el-card>
|
||||
|
||||
</el-tab-pane>
|
||||
<!-- 项目签署文件 -->
|
||||
<el-tab-pane v-if="!hasPermi(['role:zys'])" :label="`${$t('trials:workbench:title:trialDocBeSigned')} (${tabList.TrialWaitSignDocCount})`">
|
||||
<el-card :body-style="{ padding: '10px'}" style="height:100%">
|
||||
|
||||
<NeedSignTrialDoc :is-sign-system-doc="isSignSystemDoc" />
|
||||
</el-card>
|
||||
|
||||
</el-tab-pane>
|
||||
<!-- 系统签署文件 -->
|
||||
<el-tab-pane v-if="!hasPermi(['role:zys'])" :label="`${$t('trials:workbench:title:sysDocBeSigned')} (${tabList.SysWaitSignDocCount})`">
|
||||
<el-card :body-style="{ padding: '10px'}" style="height:100%">
|
||||
|
||||
<NeedSignSysDoc @refreshStats="refreshStats" />
|
||||
</el-card>
|
||||
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
|
@ -141,80 +139,80 @@
|
|||
<!-- <!– CRC –>-->
|
||||
<!-- <!– 临床数据录入 –>-->
|
||||
<!-- <div v-if="!isSignSystemDoc && hasPermi(['trials:trials-workbench:clinicalDataEntry'])" class="item">-->
|
||||
<!-- <el-card :body-style="{ padding: '10px'}" style="height:100%">-->
|
||||
<!-- -->
|
||||
<!-- <clinicalData :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />-->
|
||||
<!-- </el-card>-->
|
||||
<!-- </div>-->
|
||||
<!-- <!– 临床数据确认 –>-->
|
||||
<!-- <div v-if="!isSignSystemDoc && hasPermi(['trials:trials-workbench:clinicalDataEntry'])" class="item">-->
|
||||
<!-- <el-card :body-style="{ padding: '10px'}" style="height:100%">-->
|
||||
<!-- -->
|
||||
<!-- <clinicalDataConfirm :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />-->
|
||||
<!-- </el-card>-->
|
||||
<!-- </div>-->
|
||||
<!-- <!– 影像质疑 –>-->
|
||||
<!-- <div v-if="!isSignSystemDoc && hasPermi(['trials:trials-workbench:imageQuestion'])" class="item">-->
|
||||
<!-- <el-card :body-style="{ padding: '10px'}" style="height:100%">-->
|
||||
<!-- -->
|
||||
<!-- <ImageQuestion :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />-->
|
||||
<!-- </el-card>-->
|
||||
<!-- </div>-->
|
||||
<!-- <!– 核查质疑 –>-->
|
||||
<!-- <div v-if="!isSignSystemDoc && hasPermi(['trials:trials-workbenck:imageVerification'])" class="item">-->
|
||||
<!-- <el-card :body-style="{ padding: '10px'}" style="height:100%">-->
|
||||
<!-- -->
|
||||
<!-- <ImageVerification :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />-->
|
||||
<!-- </el-card>-->
|
||||
<!-- </div>-->
|
||||
<!-- <!– 影像重传 –>-->
|
||||
<!-- <div v-if="!isSignSystemDoc && hasPermi(['trials:trials-workbenck:imageReupload'])" class="item">-->
|
||||
<!-- <el-card :body-style="{ padding: '10px'}" style="height:100%">-->
|
||||
<!-- -->
|
||||
<!-- <ImageReupload :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />-->
|
||||
<!-- </el-card>-->
|
||||
<!-- </div>-->
|
||||
<!-- <!– 加急影像提交 –>-->
|
||||
<!-- <div v-if="!isSignSystemDoc && hasPermi(['trials:trials-workbenck:imageSubmission'])" class="item">-->
|
||||
<!-- <el-card :body-style="{ padding: '10px'}" style="height:100%">-->
|
||||
<!-- -->
|
||||
<!-- <ImageSubmission :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />-->
|
||||
<!-- </el-card>-->
|
||||
<!-- </div>-->
|
||||
<!-- <!– IQC –>-->
|
||||
<!-- <!– 影像质控 –>-->
|
||||
<!-- <div v-if="!isSignSystemDoc && hasPermi(['trials:trials-workbenck:imageQC'])" class="item">-->
|
||||
<!-- <el-card :body-style="{ padding: '10px'}" style="height:100%">-->
|
||||
<!-- -->
|
||||
<!-- <ImageQualityControl :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />-->
|
||||
<!-- </el-card>-->
|
||||
<!-- </div>-->
|
||||
<!-- <!– QC质疑 –>-->
|
||||
<!-- <div v-if="!isSignSystemDoc && hasPermi(['trials:trials-workbenck:qcQuestion'])" class="item">-->
|
||||
<!-- <el-card :body-style="{ padding: '10px'}" style="height:100%">-->
|
||||
<!-- -->
|
||||
<!-- <QcQuestion :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />-->
|
||||
<!-- </el-card>-->
|
||||
<!-- </div>-->
|
||||
<!-- <!– IR –>-->
|
||||
<!-- <!– 影像待阅 –>-->
|
||||
<!-- <div v-if="!isSignSystemDoc && hasPermi(['trials:trials-workbenck:imagesToRead'])" class="item">-->
|
||||
<!-- <el-card :body-style="{ padding: '10px'}" style="height:100%">-->
|
||||
<!-- -->
|
||||
<!-- <ImagesToRead :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />-->
|
||||
<!-- </el-card>-->
|
||||
<!-- </div>-->
|
||||
<!-- <!– 医学反馈 –>-->
|
||||
<!-- <div v-if="!isSignSystemDoc && hasPermi(['trials:trials-workbenck:medicalFeedback'])" class="item">-->
|
||||
<!-- <el-card :body-style="{ padding: '10px'}" style="height:100%">-->
|
||||
<!-- -->
|
||||
<!-- <MedicalFeedback :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />-->
|
||||
<!-- </el-card>-->
|
||||
<!-- </div>-->
|
||||
<!-- <!– MIM –>-->
|
||||
<!-- <!– 医学审核 –>-->
|
||||
<!-- <div v-if="!isSignSystemDoc && hasPermi(['trials:trials-workbenck:medicalAudit'])" class="item">-->
|
||||
<!-- <el-card :body-style="{ padding: '10px'}" style="height:100%">-->
|
||||
<!-- -->
|
||||
<!-- <MedicalAudit :trial-id-list="trialIdList" :is-sign-system-doc="isSignSystemDoc" />-->
|
||||
<!-- </el-card>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div v-if="!isSignSystemDoc && !hasPermi(['role:zys'])" class="item">-->
|
||||
<!-- <el-card :body-style="{ padding: '10px'}" style="height:100%">-->
|
||||
<!-- -->
|
||||
<!-- <NeedSignTrialDoc />-->
|
||||
<!-- </el-card>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div v-if="isSignSystemDoc || hasPermi(['role:zys'])" class="item">-->
|
||||
<!-- <el-card :body-style="{ padding: '10px'}" style="height:100%">-->
|
||||
<!-- -->
|
||||
<!-- <NeedSignSysDoc @refreshStats="refreshStats" />-->
|
||||
<!-- </el-card>-->
|
||||
<!-- </div>-->
|
||||
|
|
Loading…
Reference in New Issue