Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web into main
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
commit
dd919f123e
|
|
@ -450,6 +450,7 @@ export default {
|
||||||
let index = 0;
|
let index = 0;
|
||||||
if (seriesId) {
|
if (seriesId) {
|
||||||
index = this.seriesList.findIndex(item => item.seriesId === seriesId)
|
index = this.seriesList.findIndex(item => item.seriesId === seriesId)
|
||||||
|
this.refreshImage(this.seriesList[index])
|
||||||
}
|
}
|
||||||
this.$refs.dicomViewer.loadImageStack(this.seriesList[index], this.labels[this.tpCode])
|
this.$refs.dicomViewer.loadImageStack(this.seriesList[index], this.labels[this.tpCode])
|
||||||
this.firstInstanceId = this.seriesList[index].imageIds[0]
|
this.firstInstanceId = this.seriesList[index].imageIds[0]
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,11 @@
|
||||||
</el-upload>
|
</el-upload>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item :label="$t('dictionary:signature:form:DocLanguageType')" prop="DocLanguageType">
|
||||||
|
<el-select v-model="form.DocLanguageType" style="width: 100%">
|
||||||
|
<el-option v-for="item of $d.DocLanguageType" :key="item.id" :label="item.label" :value="item.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item :label="$t('dictionary:signature:form:NeedConfirmedUserTypeIdList')"
|
<el-form-item :label="$t('dictionary:signature:form:NeedConfirmedUserTypeIdList')"
|
||||||
prop="NeedConfirmedUserTypeIdList">
|
prop="NeedConfirmedUserTypeIdList">
|
||||||
<el-select v-model="form.NeedConfirmedUserTypeIdList" style="width: 100%" multiple>
|
<el-select v-model="form.NeedConfirmedUserTypeIdList" style="width: 100%" multiple>
|
||||||
|
|
@ -83,6 +88,7 @@ export default {
|
||||||
DocUserSignType: 0,
|
DocUserSignType: 0,
|
||||||
CurrentStaffTrainDays: 1,
|
CurrentStaffTrainDays: 1,
|
||||||
NewStaffTrainDays: 14,
|
NewStaffTrainDays: 14,
|
||||||
|
DocLanguageType: null
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
FileTypeId: [
|
FileTypeId: [
|
||||||
|
|
@ -92,6 +98,13 @@ export default {
|
||||||
trigger: ['blur'],
|
trigger: ['blur'],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
DocLanguageType: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t('common:ruleMessage:select'),
|
||||||
|
trigger: ['blur'],
|
||||||
|
},
|
||||||
|
],
|
||||||
SignViewMinimumMinutes: [
|
SignViewMinimumMinutes: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
|
|
@ -143,6 +156,9 @@ export default {
|
||||||
this.form.DocUserSignType = this.data.DocUserSignType
|
this.form.DocUserSignType = this.data.DocUserSignType
|
||||||
this.form.CurrentStaffTrainDays = this.data.CurrentStaffTrainDays
|
this.form.CurrentStaffTrainDays = this.data.CurrentStaffTrainDays
|
||||||
this.form.NewStaffTrainDays = this.data.NewStaffTrainDays
|
this.form.NewStaffTrainDays = this.data.NewStaffTrainDays
|
||||||
|
this.form.DocLanguageType = this.data.DocLanguageType
|
||||||
|
} else {
|
||||||
|
this.form.DocLanguageType = this.$i18n.locale !== 'zh' ? 1 : 0
|
||||||
}
|
}
|
||||||
this.loading = false
|
this.loading = false
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,11 @@
|
||||||
<el-form-item :label="$t('dictionary:signature:search:Name')">
|
<el-form-item :label="$t('dictionary:signature:search:Name')">
|
||||||
<el-input v-model="searchData.Name" style="width: 130px" clearable />
|
<el-input v-model="searchData.Name" style="width: 130px" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item :label="$t('dictionary:signature:search:DocLanguageType')">
|
||||||
|
<el-select v-model="searchData.DocLanguageType" style="width: 150px" clearable>
|
||||||
|
<el-option v-for="item of $d.DocLanguageType" :key="item.id" :label="item.label" :value="item.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item :label="$t('dictionary:signature:table:NeedConfirmedUserTypes')">
|
<el-form-item :label="$t('dictionary:signature:table:NeedConfirmedUserTypes')">
|
||||||
<el-select v-model="searchData.UserTypeId" style="width: 150px" clearable>
|
<el-select v-model="searchData.UserTypeId" style="width: 150px" clearable>
|
||||||
<el-option v-for="item of userTypeOptions" :key="item.Id" :label="item.UserTypeShortName"
|
<el-option v-for="item of userTypeOptions" :key="item.Id" :label="item.UserTypeShortName"
|
||||||
|
|
@ -90,6 +95,12 @@
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column prop="DocLanguageType" :label="$t('dictionary:signature:table:DocLanguageType')"
|
||||||
|
show-overflow-tooltip sortable="custom" min-width="120px">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ $fd('DocLanguageType', scope.row.DocLanguageType) }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column prop="SignViewMinimumMinutes" :label="$t('dictionary:signature:table:SignViewMinimumMinutes')"
|
<el-table-column prop="SignViewMinimumMinutes" :label="$t('dictionary:signature:table:SignViewMinimumMinutes')"
|
||||||
show-overflow-tooltip sortable="custom" min-width="200px" />
|
show-overflow-tooltip sortable="custom" min-width="200px" />
|
||||||
<el-table-column prop="CurrentStaffTrainDays" :label="$t('dictionary:signature:table:CurrentStaffTrainDays')"
|
<el-table-column prop="CurrentStaffTrainDays" :label="$t('dictionary:signature:table:CurrentStaffTrainDays')"
|
||||||
|
|
@ -161,7 +172,7 @@
|
||||||
<!-- 新增/编辑 -->
|
<!-- 新增/编辑 -->
|
||||||
<el-dialog v-if="editVisible" :visible.sync="editVisible" :close-on-click-modal="false" :title="title"
|
<el-dialog v-if="editVisible" :visible.sync="editVisible" :close-on-click-modal="false" :title="title"
|
||||||
width="600px" custom-class="base-dialog-wrapper">
|
width="600px" custom-class="base-dialog-wrapper">
|
||||||
<TemplateForm :data="currentRow" @closeDialog="closeDialog" @getList="getList" />
|
<TemplateForm :data="currentRow" @closeDialog="closeDialog" v-if="editVisible" @getList="getList" />
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
<!--附件列表-->
|
<!--附件列表-->
|
||||||
<attachmentList v-if="config.visible" :config="config" :rowData="currentRow" :SystemDocumentId="SystemDocumentId"
|
<attachmentList v-if="config.visible" :config="config" :rowData="currentRow" :SystemDocumentId="SystemDocumentId"
|
||||||
|
|
@ -200,6 +211,7 @@ const searchDataDefault = () => {
|
||||||
IsDeleted: null,
|
IsDeleted: null,
|
||||||
DocUserSignType: null,
|
DocUserSignType: null,
|
||||||
UserTypeId: null,
|
UserTypeId: null,
|
||||||
|
DocLanguageType: null,
|
||||||
Name: '',
|
Name: '',
|
||||||
PageIndex: 1,
|
PageIndex: 1,
|
||||||
PageSize: 20,
|
PageSize: 20,
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<el-form
|
<el-form ref="siteForm" v-loading="loading" :model="form" :rules="rules" class="demo-ruleForm" size="small"
|
||||||
ref="siteForm"
|
label-width="150px">
|
||||||
v-loading="loading"
|
|
||||||
:model="form"
|
|
||||||
:rules="rules"
|
|
||||||
class="demo-ruleForm"
|
|
||||||
size="small"
|
|
||||||
label-width="150px"
|
|
||||||
>
|
|
||||||
<div class="base-dialog-body">
|
<div class="base-dialog-body">
|
||||||
<!-- Site Code -->
|
<!-- Site Code -->
|
||||||
<el-form-item :label="$t('institutions:sites:label:siteCode')" v-if="form.Id" prop="SiteCode">
|
<el-form-item :label="$t('institutions:sites:label:siteCode')" v-if="form.Id" prop="SiteCode">
|
||||||
|
|
@ -15,17 +8,11 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<!-- 中心名称 -->
|
<!-- 中心名称 -->
|
||||||
<el-form-item
|
<el-form-item :label="$t('institutions:sites:label:siteName')" prop="SiteName">
|
||||||
:label="$t('institutions:sites:label:siteName')"
|
|
||||||
prop="SiteName"
|
|
||||||
>
|
|
||||||
<el-input v-model="form.SiteName" />
|
<el-input v-model="form.SiteName" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 中心名称(CN) -->
|
<!-- 中心名称(CN) -->
|
||||||
<el-form-item
|
<el-form-item :label="$t('institutions:sites:label:siteNameCN')" prop="SiteNameCN">
|
||||||
:label="$t('institutions:sites:label:siteNameCN')"
|
|
||||||
prop="SiteNameCN"
|
|
||||||
>
|
|
||||||
<el-input v-model="form.SiteNameCN" />
|
<el-input v-model="form.SiteNameCN" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- Alias Name -->
|
<!-- Alias Name -->
|
||||||
|
|
@ -38,7 +25,9 @@
|
||||||
</el-form-item> -->
|
</el-form-item> -->
|
||||||
<!-- Country -->
|
<!-- Country -->
|
||||||
<el-form-item :label="$t('institutions:sites:label:country')" prop="Country">
|
<el-form-item :label="$t('institutions:sites:label:country')" prop="Country">
|
||||||
<el-input v-model="form.Country" />
|
<el-select v-model="form.Country" style="width: 100%">
|
||||||
|
<el-option v-for="item of $d.SiteCountry" :key="item.id" :label="item.label" :value="item.label" />
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- City -->
|
<!-- City -->
|
||||||
<el-form-item :label="$t('institutions:sites:label:city')" prop="City">
|
<el-form-item :label="$t('institutions:sites:label:city')" prop="City">
|
||||||
|
|
@ -50,17 +39,8 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- Affiliated Hospital -->
|
<!-- Affiliated Hospital -->
|
||||||
<el-form-item :label="$t('institutions:sites:label:affiliatedHospital')">
|
<el-form-item :label="$t('institutions:sites:label:affiliatedHospital')">
|
||||||
<el-select
|
<el-select v-model="form.HospitalId" clearable style="width: 100%">
|
||||||
v-model="form.HospitalId"
|
<el-option v-for="item in hospitalList" :key="item.Id" :label="item.HospitalName" :value="item.Id" />
|
||||||
clearable
|
|
||||||
style="width: 100%"
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="item in hospitalList"
|
|
||||||
:key="item.Id"
|
|
||||||
:label="item.HospitalName"
|
|
||||||
:value="item.Id"
|
|
||||||
/>
|
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- Director Name -->
|
<!-- Director Name -->
|
||||||
|
|
@ -82,20 +62,10 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="base-dialog-footer" style="text-align: right; margin-top: 10px">
|
<div class="base-dialog-footer" style="text-align: right; margin-top: 10px">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button
|
<el-button :disabled="btnLoading" size="small" type="primary" @click="handleCancel">{{
|
||||||
:disabled="btnLoading"
|
$t('common:button:cancel') }}</el-button>
|
||||||
size="small"
|
<el-button size="small" type="primary" :loading="btnLoading" @click="handleSave">{{ $t('common:button:save')
|
||||||
type="primary"
|
}}</el-button>
|
||||||
@click="handleCancel"
|
|
||||||
>{{ $t('common:button:cancel') }}</el-button
|
|
||||||
>
|
|
||||||
<el-button
|
|
||||||
size="small"
|
|
||||||
type="primary"
|
|
||||||
:loading="btnLoading"
|
|
||||||
@click="handleSave"
|
|
||||||
>{{ $t('common:button:save') }}</el-button
|
|
||||||
>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
|
||||||
|
|
@ -1,44 +1,28 @@
|
||||||
<template>
|
<template>
|
||||||
<el-form
|
<el-form ref="userForm" size="small" :model="user" :rules="userFormRules" label-width="150px" style="width: 800px">
|
||||||
ref="userForm"
|
|
||||||
size="small"
|
|
||||||
:model="user"
|
|
||||||
:rules="userFormRules"
|
|
||||||
label-width="150px"
|
|
||||||
style="width: 800px"
|
|
||||||
>
|
|
||||||
<el-card class="Basic" shadow="never" size="small">
|
<el-card class="Basic" shadow="never" size="small">
|
||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span>{{ $t('system:userlist:title:Information') }}</span>
|
<span>{{ $t('system:userlist:title:Information') }}</span>
|
||||||
</div>
|
</div>
|
||||||
<el-form-item
|
<el-form-item v-if="user.UserCode" :label="$t('system:userlist:table:S/N')" prop="UserCode">
|
||||||
v-if="user.UserCode"
|
|
||||||
:label="$t('system:userlist:table:S/N')"
|
|
||||||
prop="UserCode"
|
|
||||||
>
|
|
||||||
<el-input v-model="user.UserCode" disabled />
|
<el-input v-model="user.UserCode" disabled />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item
|
<el-form-item :label="$t('system:userlist:table:UserName')" class="my_new_pwd" prop="UserName">
|
||||||
:label="$t('system:userlist:table:UserName')"
|
|
||||||
class="my_new_pwd"
|
|
||||||
prop="UserName"
|
|
||||||
>
|
|
||||||
<el-input v-model="user.UserName" />
|
<el-input v-model="user.UserName" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item
|
<el-form-item :label="$t('system:userlist:table:LastName')" prop="LastName">
|
||||||
:label="$t('system:userlist:table:LastName')"
|
|
||||||
prop="LastName"
|
|
||||||
>
|
|
||||||
<el-input v-model="user.LastName" />
|
<el-input v-model="user.LastName" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item :label="$t('system:userlist:table:FirstName')" prop="FirstName">
|
||||||
:label="$t('system:userlist:table:FirstName')"
|
|
||||||
prop="FirstName"
|
|
||||||
>
|
|
||||||
<el-input v-model="user.FirstName" />
|
<el-input v-model="user.FirstName" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item :label="$t('system:userlist:table:UserWorkLanguage')" prop="UserWorkLanguage">
|
||||||
|
<el-select v-model="user.UserWorkLanguage" style="width: 100%">
|
||||||
|
<el-option v-for="item of $d.UserWorkLanguage" :key="item.id" :label="item.label" :value="item.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
<!-- <el-form-item :label="$t('system:userlist:table:Gender')" prop="Sex" style="margin-right:40px;">
|
<!-- <el-form-item :label="$t('system:userlist:table:Gender')" prop="Sex" style="margin-right:40px;">
|
||||||
<el-radio-group v-model="user.Sex">
|
<el-radio-group v-model="user.Sex">
|
||||||
<el-radio :label="1">Male</el-radio>
|
<el-radio :label="1">Male</el-radio>
|
||||||
|
|
@ -51,105 +35,47 @@
|
||||||
<el-form-item :label="$t('system:userlist:table:Phone')" prop="Phone">
|
<el-form-item :label="$t('system:userlist:table:Phone')" prop="Phone">
|
||||||
<el-input v-model="user.Phone" />
|
<el-input v-model="user.Phone" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item v-if="type == 1" :label="$t('system:userlist:table:Disable')">
|
||||||
v-if="type == 1"
|
<el-switch v-model="user.Status" :active-value="1" :inactive-value="0" />
|
||||||
:label="$t('system:userlist:table:Disable')"
|
|
||||||
>
|
|
||||||
<el-switch
|
|
||||||
v-model="user.Status"
|
|
||||||
:active-value="1"
|
|
||||||
:inactive-value="0"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('system:userlist:table:IsTestUser')">
|
<el-form-item :label="$t('system:userlist:table:IsTestUser')">
|
||||||
<el-radio-group v-model="user.IsTestUser">
|
<el-radio-group v-model="user.IsTestUser">
|
||||||
<el-radio
|
<el-radio v-for="item of $d.YesOrNo" :key="item.id" :label="item.value">{{ item.label }}</el-radio>
|
||||||
v-for="item of $d.YesOrNo"
|
|
||||||
:key="item.id"
|
|
||||||
:label="item.value"
|
|
||||||
>{{ item.label }}</el-radio
|
|
||||||
>
|
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item :label="$t('system:userlist:table:UserType')" prop="Roles" v-if="type === 0">
|
||||||
:label="$t('system:userlist:table:UserType')"
|
|
||||||
prop="Roles"
|
|
||||||
v-if="type === 0"
|
|
||||||
>
|
|
||||||
<div style="display: flex; align-items: center">
|
<div style="display: flex; align-items: center">
|
||||||
<el-select
|
<el-select ref="userType" v-model="user.Roles" size="small" placeholder="Please select" multiple
|
||||||
ref="userType"
|
style="width: 100%" :disabled="user.CanEditUserType === false || type === 1" @change="handleChange">
|
||||||
v-model="user.Roles"
|
|
||||||
size="small"
|
|
||||||
placeholder="Please select"
|
|
||||||
multiple
|
|
||||||
style="width: 100%"
|
|
||||||
:disabled="user.CanEditUserType === false || type === 1"
|
|
||||||
@change="handleChange"
|
|
||||||
>
|
|
||||||
<template v-for="userType of userTypeOptions">
|
<template v-for="userType of userTypeOptions">
|
||||||
<el-option
|
<el-option v-if="![4, 6, 20].includes(userType.UserTypeEnum)" :key="userType.Id"
|
||||||
v-if="![4, 6, 20].includes(userType.UserTypeEnum)"
|
:label="userType.UserType" :value="userType.Id" />
|
||||||
:key="userType.Id"
|
|
||||||
:label="userType.UserType"
|
|
||||||
:value="userType.Id"
|
|
||||||
/>
|
|
||||||
</template>
|
</template>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item :label="$t('system:userlist:table:UserType')" prop="userTypeId" v-else>
|
||||||
:label="$t('system:userlist:table:UserType')"
|
|
||||||
prop="userTypeId"
|
|
||||||
v-else
|
|
||||||
>
|
|
||||||
<div style="display: flex; align-items: center">
|
<div style="display: flex; align-items: center">
|
||||||
<el-select
|
<el-select ref="userType" v-model="Roles" size="small" placeholder="Please select" multiple
|
||||||
ref="userType"
|
style="width: 100%" :disabled="user.CanEditUserType === false || type === 1" @change="handleChange">
|
||||||
v-model="Roles"
|
|
||||||
size="small"
|
|
||||||
placeholder="Please select"
|
|
||||||
multiple
|
|
||||||
style="width: 100%"
|
|
||||||
:disabled="user.CanEditUserType === false || type === 1"
|
|
||||||
@change="handleChange"
|
|
||||||
>
|
|
||||||
<template v-for="userType of userTypeOptions">
|
<template v-for="userType of userTypeOptions">
|
||||||
<el-option
|
<el-option v-if="![4, 6, 20].includes(userType.UserTypeEnum)" :key="userType.Id"
|
||||||
v-if="![4, 6, 20].includes(userType.UserTypeEnum)"
|
:label="userType.UserType" :value="userType.Id" />
|
||||||
:key="userType.Id"
|
|
||||||
:label="userType.UserType"
|
|
||||||
:value="userType.Id"
|
|
||||||
/>
|
|
||||||
</template>
|
</template>
|
||||||
</el-select>
|
</el-select>
|
||||||
<el-button
|
<el-button type="primary" size="small" style="margin-left: 5px" v-if="type === 1" @click.stop="openRoleList">
|
||||||
type="primary"
|
|
||||||
size="small"
|
|
||||||
style="margin-left: 5px"
|
|
||||||
v-if="type === 1"
|
|
||||||
@click.stop="openRoleList"
|
|
||||||
>
|
|
||||||
{{ $t('system:userlist:button:roles') }}
|
{{ $t('system:userlist:button:roles') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<el-card
|
<el-card class="Affiliation" shadow="never" style="margin-top: 10px" size="small">
|
||||||
class="Affiliation"
|
|
||||||
shadow="never"
|
|
||||||
style="margin-top: 10px"
|
|
||||||
size="small"
|
|
||||||
>
|
|
||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span>{{ $t('system:userlist:title:Affiliation') }}</span>
|
<span>{{ $t('system:userlist:title:Affiliation') }}</span>
|
||||||
</div>
|
</div>
|
||||||
<el-form-item prop="IsZhiZhun">
|
<el-form-item prop="IsZhiZhun">
|
||||||
<el-radio-group
|
<el-radio-group v-model="user.IsZhiZhun" @change="OrgnizationTypeChanged">
|
||||||
v-model="user.IsZhiZhun"
|
|
||||||
@change="OrgnizationTypeChanged"
|
|
||||||
>
|
|
||||||
<el-radio :label="true">{{
|
<el-radio :label="true">{{
|
||||||
$t('system:userlist:title:Internal')
|
$t('system:userlist:title:Internal')
|
||||||
}}</el-radio>
|
}}</el-radio>
|
||||||
|
|
@ -158,43 +84,22 @@
|
||||||
}}</el-radio>
|
}}</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item v-show="user.IsZhiZhun === false" :label="$t('system:userlist:table:OrganizationName')">
|
||||||
v-show="user.IsZhiZhun === false"
|
|
||||||
:label="$t('system:userlist:table:OrganizationName')"
|
|
||||||
>
|
|
||||||
<el-input v-model="user.OrganizationName" />
|
<el-input v-model="user.OrganizationName" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item :label="$t('system:userlist:table:Department')" prop="DepartmentName">
|
||||||
:label="$t('system:userlist:table:Department')"
|
|
||||||
prop="DepartmentName"
|
|
||||||
>
|
|
||||||
<el-input v-model="user.DepartmentName" />
|
<el-input v-model="user.DepartmentName" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item :label="$t('system:userlist:table:Position')" prop="PositionName">
|
||||||
:label="$t('system:userlist:table:Position')"
|
|
||||||
prop="PositionName"
|
|
||||||
>
|
|
||||||
<el-input v-model="user.PositionName" />
|
<el-input v-model="user.PositionName" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-card>
|
</el-card>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button
|
<el-button type="primary" size="small" :disabled="isDisabled" style="margin: 10px 15px" @click="handleSave">{{
|
||||||
type="primary"
|
$t('common:button:save') }}</el-button>
|
||||||
size="small"
|
|
||||||
:disabled="isDisabled"
|
|
||||||
style="margin: 10px 15px"
|
|
||||||
@click="handleSave"
|
|
||||||
>{{ $t('common:button:save') }}</el-button
|
|
||||||
>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<roleList
|
<roleList v-if="visible" :visible.sync="visible" :userId="userId" :list="userRoleList"
|
||||||
v-if="visible"
|
:userTypeOptions="userTypeOptions" @getRoleList="getRoleList" />
|
||||||
:visible.sync="visible"
|
|
||||||
:userId="userId"
|
|
||||||
:list="userRoleList"
|
|
||||||
:userTypeOptions="userTypeOptions"
|
|
||||||
@getRoleList="getRoleList"
|
|
||||||
/>
|
|
||||||
</el-form>
|
</el-form>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
|
|
@ -365,11 +270,11 @@ export default {
|
||||||
callback(
|
callback(
|
||||||
lang === 'zh'
|
lang === 'zh'
|
||||||
? new Error(
|
? new Error(
|
||||||
'1)新建账号,用户名字符长度最小为4个字符,最大为16个字符,只可使用字母、数字、下划线;'
|
'1)新建账号,用户名字符长度最小为4个字符,最大为16个字符,只可使用字母、数字、下划线;'
|
||||||
)
|
)
|
||||||
: new Error(
|
: new Error(
|
||||||
'For a new account, the username must have:1) At least 4 characters;2) At most 16 characters;3)Only letters, numbers, and underscores are allowed.'
|
'For a new account, the username must have:1) At least 4 characters;2) At most 16 characters;3)Only letters, numbers, and underscores are allowed.'
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
callback()
|
callback()
|
||||||
|
|
@ -379,6 +284,7 @@ export default {
|
||||||
userRoleList: [],
|
userRoleList: [],
|
||||||
Roles: [],
|
Roles: [],
|
||||||
user: {
|
user: {
|
||||||
|
UserWorkLanguage: null,
|
||||||
Roles: [],
|
Roles: [],
|
||||||
UserRoleList: [],
|
UserRoleList: [],
|
||||||
UserName: '',
|
UserName: '',
|
||||||
|
|
@ -399,6 +305,13 @@ export default {
|
||||||
UserName: [
|
UserName: [
|
||||||
{ required: true, validator: validatePassword, trigger: 'blur' },
|
{ required: true, validator: validatePassword, trigger: 'blur' },
|
||||||
],
|
],
|
||||||
|
UserWorkLanguage: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: 'Please Select',
|
||||||
|
trigger: ['blur', 'change'],
|
||||||
|
},
|
||||||
|
],
|
||||||
Roles: [
|
Roles: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
|
|
|
||||||
|
|
@ -1,67 +1,42 @@
|
||||||
<template>
|
<template>
|
||||||
<box-content>
|
<box-content>
|
||||||
<div class="search" style="position: relative">
|
<div class="search" style="position: relative">
|
||||||
<SearchForm
|
<SearchForm :that="this" :search-data="searchData" :search-form="searchForm" :search-handle="searchHandle"
|
||||||
:that="this"
|
@search="handleSearch" @reset="handleReset" @new="handleAddUser" />
|
||||||
:search-data="searchData"
|
|
||||||
:search-form="searchForm"
|
|
||||||
:search-handle="searchHandle"
|
|
||||||
@search="handleSearch"
|
|
||||||
@reset="handleReset"
|
|
||||||
@new="handleAddUser"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<base-table
|
<base-table v-loading="loading" :columns="columns" :list="users" :search-data="searchData" :total="total"
|
||||||
v-loading="loading"
|
@getList="getList" @editCb="handleEditUser" @sendCb="addNewUserSendEmail" @deleteCb="handleDeleteUser"
|
||||||
:columns="columns"
|
@sortByColumn="sortByColumn">
|
||||||
:list="users"
|
|
||||||
:search-data="searchData"
|
|
||||||
:total="total"
|
|
||||||
@getList="getList"
|
|
||||||
@editCb="handleEditUser"
|
|
||||||
@sendCb="addNewUserSendEmail"
|
|
||||||
@deleteCb="handleDeleteUser"
|
|
||||||
@sortByColumn="sortByColumn"
|
|
||||||
>
|
|
||||||
<!-- 选择自定义slot -->
|
<!-- 选择自定义slot -->
|
||||||
<template slot="tip-slot" slot-scope="{ scope }">
|
<template slot="tip-slot" slot-scope="{ scope }">
|
||||||
<i
|
<i v-if="
|
||||||
v-if="
|
diffTime(scope.row.LastLoginTime) >= 90 &&
|
||||||
diffTime(scope.row.LastLoginTime) >= 90 &&
|
diffTime(scope.row.LastChangePassWordTime) >= 90
|
||||||
diffTime(scope.row.LastChangePassWordTime) >= 90
|
" class="el-icon-warning" style="color: #f56c6c"
|
||||||
"
|
:title="$t('system:userlist:tip:overTimeAndoverTimePassWord')" />
|
||||||
class="el-icon-warning"
|
<i v-else-if="diffTime(scope.row.LastLoginTime) >= 90" class="el-icon-warning" style="color: #f56c6c"
|
||||||
style="color: #f56c6c"
|
:title="$t('system:userlist:tip:overTime')" />
|
||||||
:title="$t('system:userlist:tip:overTimeAndoverTimePassWord')"
|
<i v-else-if="diffTime(scope.row.LastChangePassWordTime) >= 90" class="el-icon-warning" style="color: #f56c6c"
|
||||||
/>
|
:title="$t('system:userlist:tip:overTimePassWord')" />
|
||||||
<i
|
|
||||||
v-else-if="diffTime(scope.row.LastLoginTime) >= 90"
|
|
||||||
class="el-icon-warning"
|
|
||||||
style="color: #f56c6c"
|
|
||||||
:title="$t('system:userlist:tip:overTime')"
|
|
||||||
/>
|
|
||||||
<i
|
|
||||||
v-else-if="diffTime(scope.row.LastChangePassWordTime) >= 90"
|
|
||||||
class="el-icon-warning"
|
|
||||||
style="color: #f56c6c"
|
|
||||||
:title="$t('system:userlist:tip:overTimePassWord')"
|
|
||||||
/>
|
|
||||||
</template>
|
</template>
|
||||||
<template slot="genderSlot" slot-scope="{ scope }">
|
<template slot="genderSlot" slot-scope="{ scope }">
|
||||||
{{ scope.row.Sex ? 'Male' : 'Female' }}
|
{{ scope.row.Sex ? 'Male' : 'Female' }}
|
||||||
</template>
|
</template>
|
||||||
|
<template slot="UserWorkLanguageSlot" slot-scope="{ scope }">
|
||||||
|
{{ $fd('UserWorkLanguage', scope.row.UserWorkLanguage) }}
|
||||||
|
</template>
|
||||||
<template slot="UserTypeSlot" slot-scope="{ scope }">
|
<template slot="UserTypeSlot" slot-scope="{ scope }">
|
||||||
{{
|
{{
|
||||||
Array.isArray(scope.row.UserRoleList) &&
|
Array.isArray(scope.row.UserRoleList) &&
|
||||||
scope.row.UserRoleList.length > 0
|
scope.row.UserRoleList.length > 0
|
||||||
? scope.row.UserRoleList.filter((item) => !item.IsUserRoleDisabled)
|
? scope.row.UserRoleList.filter((item) => !item.IsUserRoleDisabled)
|
||||||
.map((item) => item.UserTypeShortName)
|
.map((item) => item.UserTypeShortName)
|
||||||
.join(', ')
|
.join(', ')
|
||||||
: ''
|
: ''
|
||||||
}}
|
}}
|
||||||
</template>
|
</template>
|
||||||
<template slot="roleSlot" slot-scope="{ scope }">
|
<template slot="roleSlot" slot-scope="{ scope }">
|
||||||
{{ scope.row.RoleNameList.map((role) => role.RoleName).join(', ') }}
|
{{scope.row.RoleNameList.map((role) => role.RoleName).join(', ')}}
|
||||||
</template>
|
</template>
|
||||||
<template slot="isZhiZhunSlot" slot-scope="{ scope }">
|
<template slot="isZhiZhunSlot" slot-scope="{ scope }">
|
||||||
{{
|
{{
|
||||||
|
|
@ -155,6 +130,14 @@ export default {
|
||||||
sortable: 'custom',
|
sortable: 'custom',
|
||||||
showOverflowTooltip: true,
|
showOverflowTooltip: true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
// prop: 'UserWorkLanguage',
|
||||||
|
label: this.$t('system:userlist:table:UserWorkLanguage'),
|
||||||
|
minWidth: 120,
|
||||||
|
slot: 'UserWorkLanguageSlot',
|
||||||
|
sortable: 'custom',
|
||||||
|
showOverflowTooltip: true,
|
||||||
|
},
|
||||||
// {
|
// {
|
||||||
// prop: 'Sex',
|
// prop: 'Sex',
|
||||||
// label: this.$t('system:userlist:table:Gender'),
|
// label: this.$t('system:userlist:table:Gender'),
|
||||||
|
|
@ -287,6 +270,15 @@ export default {
|
||||||
width: '120px',
|
width: '120px',
|
||||||
placeholder: '',
|
placeholder: '',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
type: 'Select',
|
||||||
|
label: this.$t('system:userlist:label:UserWorkLanguage'),
|
||||||
|
prop: 'UserWorkLanguage',
|
||||||
|
width: '100px',
|
||||||
|
options: [], // 下拉选项
|
||||||
|
props: { label: 'label', value: 'value' }, // 下拉选项配置信息,必填
|
||||||
|
placeholder: '',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
type: 'Input',
|
type: 'Input',
|
||||||
label: this.$t('system:userlist:label:Phone'),
|
label: this.$t('system:userlist:label:Phone'),
|
||||||
|
|
@ -476,8 +468,10 @@ export default {
|
||||||
// 获取用户类型下拉选项信息
|
// 获取用户类型下拉选项信息
|
||||||
async getInfo() {
|
async getInfo() {
|
||||||
const res = await getUserTypeList()
|
const res = await getUserTypeList()
|
||||||
const index = this.findItemIndex('UserType')
|
let index = this.findItemIndex('UserType')
|
||||||
this.$set(this.searchForm[index], 'options', res.Result)
|
this.$set(this.searchForm[index], 'options', res.Result)
|
||||||
|
index = this.findItemIndex('UserWorkLanguage')
|
||||||
|
this.$set(this.searchForm[index], 'options', this.$d.UserWorkLanguage)
|
||||||
},
|
},
|
||||||
handleAddUser() {
|
handleAddUser() {
|
||||||
this.$router.push({ path: '/system/user/add' })
|
this.$router.push({ path: '/system/user/add' })
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,7 @@
|
||||||
</el-switch>
|
</el-switch>
|
||||||
<span style="margin-left: 5px;">{{
|
<span style="margin-left: 5px;">{{
|
||||||
$t('trials:reading:Segmentations:title:InactiveSegmentationsShow')
|
$t('trials:reading:Segmentations:title:InactiveSegmentationsShow')
|
||||||
}}</span>
|
}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<template v-if="segmentList.length > 0">
|
<template v-if="segmentList.length > 0">
|
||||||
|
|
@ -173,9 +173,9 @@
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="addSegmentBox" @click.stop="addSegment"
|
<div class="addSegmentBox"
|
||||||
style="display: flex;align-items: center;justify-content: space-between;">
|
style="display: flex;align-items: center;justify-content: space-between;">
|
||||||
<span v-if="readingTaskState < 2"><i class="el-icon-plus"></i>
|
<span v-if="readingTaskState < 2" @click.stop="addSegment"><i class="el-icon-plus"></i>
|
||||||
{{ $t('trials:reading:Segmentations:button:addSegment') }}
|
{{ $t('trials:reading:Segmentations:button:addSegment') }}
|
||||||
</span>
|
</span>
|
||||||
<span style="width: 10px;" v-else></span>
|
<span style="width: 10px;" v-else></span>
|
||||||
|
|
@ -302,7 +302,7 @@
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button type="text" @click.stop="restoreSegmentationVersion(scope.row)">{{
|
<el-button type="text" @click.stop="restoreSegmentationVersion(scope.row)">{{
|
||||||
$t('trials:reading:Segmentations:button:recovery')
|
$t('trials:reading:Segmentations:button:recovery')
|
||||||
}}</el-button>
|
}}</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
@ -797,7 +797,9 @@ export default {
|
||||||
},
|
},
|
||||||
async restoreSegmentationVersion(row) {
|
async restoreSegmentationVersion(row) {
|
||||||
try {
|
try {
|
||||||
let confirm = await this.$confirm(this.$t('trials:reading:Segmentations:confirm:CurrentDataIsLoss'))
|
this.popoverId = null
|
||||||
|
let message = this.$t('trials:reading:Segmentations:confirm:CurrentDataIsLoss').replace("xxx", row.Version)
|
||||||
|
let confirm = await this.$confirm(message)
|
||||||
if (!confirm) return false
|
if (!confirm) return false
|
||||||
let data = {
|
let data = {
|
||||||
SegmentationId: this.segmentationId,
|
SegmentationId: this.segmentationId,
|
||||||
|
|
@ -863,6 +865,7 @@ export default {
|
||||||
},
|
},
|
||||||
async recoverySegmentGroup() {
|
async recoverySegmentGroup() {
|
||||||
try {
|
try {
|
||||||
|
this.popoverId = null
|
||||||
let res = await this.getSegmentationVersionList(this.segmentationId)
|
let res = await this.getSegmentationVersionList(this.segmentationId)
|
||||||
if (!res) return this.$message.warning(this.$t("trials:reading:Segmentations:message:getSegmentationVersionFail"))
|
if (!res) return this.$message.warning(this.$t("trials:reading:Segmentations:message:getSegmentationVersionFail"))
|
||||||
this.visible = true
|
this.visible = true
|
||||||
|
|
|
||||||
|
|
@ -226,10 +226,12 @@ async function readingSegmentByConfig(series, visitInfo, viewportId, segmentatio
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
function selectSegmentation(viewportId, segmentationId) {
|
function selectSegmentation(viewportId, segmentationId) {
|
||||||
|
if (!segmentation.state.getSegmentation(segmentationId)) return false
|
||||||
segmentation.activeSegmentation.setActiveSegmentation(viewportId, segmentationId)
|
segmentation.activeSegmentation.setActiveSegmentation(viewportId, segmentationId)
|
||||||
}
|
}
|
||||||
function selectSegment(viewportId, segmentationId, segmentIndex) {
|
function selectSegment(viewportId, segmentationId, segmentIndex) {
|
||||||
if (!segmentIndex || !segmentationId) return false
|
if (!segmentIndex || !segmentationId) return false
|
||||||
|
if (!segmentation.state.getSegmentation(segmentationId)) return false
|
||||||
selectSegmentation(viewportId, segmentationId)
|
selectSegmentation(viewportId, segmentationId)
|
||||||
segmentation.segmentIndex.setActiveSegmentIndex(segmentationId, segmentIndex);
|
segmentation.segmentIndex.setActiveSegmentIndex(segmentationId, segmentIndex);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,29 +10,24 @@
|
||||||
<el-form-item :label="$t('trials:sitesList:table:siteName')">
|
<el-form-item :label="$t('trials:sitesList:table:siteName')">
|
||||||
<el-input v-model="listQuery.TrialSiteName" class="mr" clearable />
|
<el-input v-model="listQuery.TrialSiteName" class="mr" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item :label="$t('trials:sitesList:table:Country')">
|
||||||
|
<el-select v-model="listQuery.Country" clearable class="mr">
|
||||||
|
<el-option v-for="item of $d.SiteCountry" :key="item.id" :label="item.label" :value="item.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
<!-- 中心别名 -->
|
<!-- 中心别名 -->
|
||||||
<!-- <el-form-item :label="$t('trials:sitesList:table:siteAliasName')">
|
<!-- <el-form-item :label="$t('trials:sitesList:table:siteAliasName')">
|
||||||
<el-input v-model="listQuery.TrialSiteAliasName" class="mr" clearable />
|
<el-input v-model="listQuery.TrialSiteAliasName" class="mr" clearable />
|
||||||
</el-form-item> -->
|
</el-form-item> -->
|
||||||
<!-- 关键词 -->
|
<!-- 关键词 -->
|
||||||
<el-form-item :label="$t('trials:sitesList:form:keyWord')">
|
<el-form-item :label="$t('trials:sitesList:form:keyWord')">
|
||||||
<el-input
|
<el-input v-model="listQuery.UserKeyInfo" style="width: 200px" class="mr" clearable
|
||||||
v-model="listQuery.UserKeyInfo"
|
:placeholder="$t('trials:sitesList:formPlaceholder:keyWord')" />
|
||||||
style="width: 200px"
|
|
||||||
class="mr"
|
|
||||||
clearable
|
|
||||||
:placeholder="$t('trials:sitesList:formPlaceholder:keyWord')"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 状态 -->
|
<!-- 状态 -->
|
||||||
<el-form-item :label="$t('trials:sitesList:table:status')">
|
<el-form-item :label="$t('trials:sitesList:table:status')">
|
||||||
<el-select v-model="listQuery.IsDeleted" clearable class="mr">
|
<el-select v-model="listQuery.IsDeleted" clearable class="mr">
|
||||||
<el-option
|
<el-option v-for="item of $d.IsSiteDisable" :key="item.label" :label="item.label" :value="item.value" />
|
||||||
v-for="item of $d.IsSiteDisable"
|
|
||||||
:key="item.label"
|
|
||||||
:label="item.label"
|
|
||||||
:value="item.value"
|
|
||||||
/>
|
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
|
|
@ -41,114 +36,61 @@
|
||||||
{{ $t('common:button:search') }}
|
{{ $t('common:button:search') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- 重置 -->
|
<!-- 重置 -->
|
||||||
<el-button
|
<el-button type="primary" icon="el-icon-refresh-left" @click="handleReset">
|
||||||
type="primary"
|
|
||||||
icon="el-icon-refresh-left"
|
|
||||||
@click="handleReset"
|
|
||||||
>
|
|
||||||
{{ $t('common:button:reset') }}
|
{{ $t('common:button:reset') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- 中心调研 -->
|
<!-- 中心调研 -->
|
||||||
<el-button
|
<el-button v-hasPermi="[
|
||||||
v-hasPermi="[
|
'trials:trials-panel:setting:personnel-manage:questionnaire-record',
|
||||||
'trials:trials-panel:setting:personnel-manage:questionnaire-record',
|
]" type="primary" icon="el-icon-info" @click="handleResearchList">
|
||||||
]"
|
|
||||||
type="primary"
|
|
||||||
icon="el-icon-info"
|
|
||||||
@click="handleResearchList"
|
|
||||||
>
|
|
||||||
{{ $t('trials:sitesList:button:siteResearch') }}
|
{{ $t('trials:sitesList:button:siteResearch') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- 添加中心 -->
|
<!-- 添加中心 -->
|
||||||
<el-button
|
<el-button v-hasPermi="[
|
||||||
v-hasPermi="[
|
'trials:trials-panel:setting:personnel-manage:add-site',
|
||||||
'trials:trials-panel:setting:personnel-manage:add-site',
|
]" type="primary" icon="el-icon-plus" @click="handleAdd">
|
||||||
]"
|
|
||||||
type="primary"
|
|
||||||
icon="el-icon-plus"
|
|
||||||
@click="handleAdd"
|
|
||||||
>
|
|
||||||
{{ $t('trials:sitesList:dialogTitle:assignSite') }}
|
{{ $t('trials:sitesList:dialogTitle:assignSite') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button type="primary" icon="el-icon-download" :disabled="list.length === 0"
|
||||||
type="primary"
|
@click="handleResearchListExport">
|
||||||
icon="el-icon-download"
|
|
||||||
:disabled="list.length === 0"
|
|
||||||
@click="handleResearchListExport"
|
|
||||||
>
|
|
||||||
{{ $t('common:button:export') }}
|
{{ $t('common:button:export') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- 下载模板 -->
|
<!-- 下载模板 -->
|
||||||
<el-button
|
<el-button type="primary" icon="el-icon-download" v-hasPermi="[
|
||||||
type="primary"
|
'trials:trials-panel:setting:personnel-manage:download',
|
||||||
icon="el-icon-download"
|
]" @click="handleDownload">
|
||||||
v-hasPermi="[
|
|
||||||
'trials:trials-panel:setting:personnel-manage:download',
|
|
||||||
]"
|
|
||||||
@click="handleDownload"
|
|
||||||
>
|
|
||||||
{{ $t('common:button:downloadTpl') }}
|
{{ $t('common:button:downloadTpl') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button v-hasPermi="['trials:trials-panel:setting:personnel-manage:upload']" type="primary"
|
||||||
v-hasPermi="['trials:trials-panel:setting:personnel-manage:upload']"
|
icon="el-icon-upload2" @click="handleUpload">
|
||||||
type="primary"
|
|
||||||
icon="el-icon-upload2"
|
|
||||||
@click="handleUpload"
|
|
||||||
>
|
|
||||||
{{ $t('common:button:upload') }}
|
{{ $t('common:button:upload') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
<el-table
|
<el-table v-loading="listLoading" :data="list" stripe @sort-change="handleSortByColumn">
|
||||||
v-loading="listLoading"
|
|
||||||
:data="list"
|
|
||||||
stripe
|
|
||||||
@sort-change="handleSortByColumn"
|
|
||||||
>
|
|
||||||
<el-table-column type="index" width="50" />
|
<el-table-column type="index" width="50" />
|
||||||
<!-- 中心编号 -->
|
<!-- 中心编号 -->
|
||||||
<el-table-column
|
<el-table-column prop="TrialSiteCode" :label="$t('trials:sitesList:table:siteId')" show-overflow-tooltip
|
||||||
prop="TrialSiteCode"
|
sortable="custom" width="120">
|
||||||
:label="$t('trials:sitesList:table:siteId')"
|
|
||||||
show-overflow-tooltip
|
|
||||||
sortable="custom"
|
|
||||||
width="120"
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span v-if="!!scope.row.TrialSiteCode">{{
|
<span v-if="!!scope.row.TrialSiteCode">{{
|
||||||
scope.row.TrialSiteCode
|
scope.row.TrialSiteCode
|
||||||
}}</span>
|
}}</span>
|
||||||
<i
|
<i v-else class="el-icon-warning" style="color: #f44336; font-size: 14px" />
|
||||||
v-else
|
|
||||||
class="el-icon-warning"
|
|
||||||
style="color: #f44336; font-size: 14px"
|
|
||||||
/>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- 中心名称 -->
|
<!-- 中心名称 -->
|
||||||
<el-table-column
|
<el-table-column prop="TrialSiteName" :label="$t('trials:sitesList:table:siteName')" show-overflow-tooltip
|
||||||
prop="TrialSiteName"
|
sortable="custom" min-width="120" />
|
||||||
:label="$t('trials:sitesList:table:siteName')"
|
|
||||||
show-overflow-tooltip
|
|
||||||
sortable="custom"
|
|
||||||
min-width="120"
|
|
||||||
/>
|
|
||||||
<!-- 中心别名 -->
|
<!-- 中心别名 -->
|
||||||
<el-table-column
|
<el-table-column prop="TrialSiteAliasName" :label="$t('trials:sitesList:table:siteAliasName')"
|
||||||
prop="TrialSiteAliasName"
|
show-overflow-tooltip sortable="custom" min-width="120" />
|
||||||
:label="$t('trials:sitesList:table:siteAliasName')"
|
<el-table-column prop="Country" :label="$t('trials:sitesList:table:Country')" show-overflow-tooltip
|
||||||
show-overflow-tooltip
|
sortable="custom" min-width="120" />
|
||||||
sortable="custom"
|
|
||||||
min-width="120"
|
|
||||||
/>
|
|
||||||
<!-- 参与者 -->
|
<!-- 参与者 -->
|
||||||
<el-table-column
|
<el-table-column prop="UserNameList" :label="$t('trials:sitesList:table:staff')" show-overflow-tooltip
|
||||||
prop="UserNameList"
|
min-width="100">
|
||||||
:label="$t('trials:sitesList:table:staff')"
|
|
||||||
show-overflow-tooltip
|
|
||||||
min-width="100"
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button size="small" type="text" @click="getCrcList(scope.row)">
|
<el-button size="small" type="text" @click="getCrcList(scope.row)">
|
||||||
{{
|
{{
|
||||||
|
|
@ -160,29 +102,14 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- Subjects -->
|
<!-- Subjects -->
|
||||||
<el-table-column
|
<el-table-column prop="SubjectCount" min-width="100" :label="$t('trials:site:table:subjects')"
|
||||||
prop="SubjectCount"
|
show-overflow-tooltip sortable="custom" />
|
||||||
min-width="100"
|
|
||||||
:label="$t('trials:site:table:subjects')"
|
|
||||||
show-overflow-tooltip
|
|
||||||
sortable="custom"
|
|
||||||
/>
|
|
||||||
<!-- Visits -->
|
<!-- Visits -->
|
||||||
<el-table-column
|
<el-table-column prop="VisitCount" min-width="100" :label="$t('trials:site:table:visits')" show-overflow-tooltip
|
||||||
prop="VisitCount"
|
sortable="custom" />
|
||||||
min-width="100"
|
|
||||||
:label="$t('trials:site:table:visits')"
|
|
||||||
show-overflow-tooltip
|
|
||||||
sortable="custom"
|
|
||||||
/>
|
|
||||||
<!-- 状态 -->
|
<!-- 状态 -->
|
||||||
<el-table-column
|
<el-table-column prop="IsDeleted" :label="$t('trials:sitesList:table:status')" show-overflow-tooltip sortable
|
||||||
prop="IsDeleted"
|
min-width="100">
|
||||||
:label="$t('trials:sitesList:table:status')"
|
|
||||||
show-overflow-tooltip
|
|
||||||
sortable
|
|
||||||
min-width="100"
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tag v-if="scope.row.IsDeleted" type="danger">{{
|
<el-tag v-if="scope.row.IsDeleted" type="danger">{{
|
||||||
$fd('IsSiteDisable', scope.row.IsDeleted)
|
$fd('IsSiteDisable', scope.row.IsDeleted)
|
||||||
|
|
@ -193,21 +120,11 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- DICOM AE -->
|
<!-- DICOM AE -->
|
||||||
<el-table-column
|
<el-table-column v-if="isPACSConnect" prop="CallingAEList" :label="$t('trials:sitesList:table:AE')"
|
||||||
v-if="isPACSConnect"
|
show-overflow-tooltip sortable min-width="100">
|
||||||
prop="CallingAEList"
|
|
||||||
:label="$t('trials:sitesList:table:AE')"
|
|
||||||
show-overflow-tooltip
|
|
||||||
sortable
|
|
||||||
min-width="100"
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button v-if="scope.row.CallingAEList.length > 0" size="small" type="text"
|
||||||
v-if="scope.row.CallingAEList.length > 0"
|
@click="handleConfig(scope.row, 'view')">
|
||||||
size="small"
|
|
||||||
type="text"
|
|
||||||
@click="handleConfig(scope.row, 'view')"
|
|
||||||
>
|
|
||||||
{{
|
{{
|
||||||
scope.row.CallingAEList.length > 0
|
scope.row.CallingAEList.length > 0
|
||||||
? scope.row.CallingAEList.join(', ')
|
? scope.row.CallingAEList.join(', ')
|
||||||
|
|
@ -217,63 +134,32 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- 授权时间 -->
|
<!-- 授权时间 -->
|
||||||
<el-table-column
|
<el-table-column prop="EnabledTime" :label="$t('trials:sitesList:table:timeAdded')" show-overflow-tooltip sortable
|
||||||
prop="EnabledTime"
|
min-width="150" />
|
||||||
:label="$t('trials:sitesList:table:timeAdded')"
|
<el-table-column v-if="
|
||||||
show-overflow-tooltip
|
hasPermi([
|
||||||
sortable
|
'trials:trials-panel:setting:personnel-manage:edit-site',
|
||||||
min-width="150"
|
'trials:trials-panel:setting:personnel-manage:remove-site',
|
||||||
/>
|
'trials:trials-panel:setting:personnel-manage:edit-dicom',
|
||||||
<el-table-column
|
])
|
||||||
v-if="
|
" :label="$t('common:action:action')" min-width="120">
|
||||||
hasPermi([
|
|
||||||
'trials:trials-panel:setting:personnel-manage:edit-site',
|
|
||||||
'trials:trials-panel:setting:personnel-manage:remove-site',
|
|
||||||
'trials:trials-panel:setting:personnel-manage:edit-dicom',
|
|
||||||
])
|
|
||||||
"
|
|
||||||
:label="$t('common:action:action')"
|
|
||||||
min-width="120"
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button circle :title="$t('trials:sitesList:action:assign')" icon="el-icon-user"
|
||||||
circle
|
:disabled="scope.row.IsDeleted" @click="getCrcList(scope.row)" />
|
||||||
:title="$t('trials:sitesList:action:assign')"
|
|
||||||
icon="el-icon-user"
|
|
||||||
:disabled="scope.row.IsDeleted"
|
|
||||||
@click="getCrcList(scope.row)"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<!-- Edit -->
|
<!-- Edit -->
|
||||||
<el-button
|
<el-button v-hasPermi="[
|
||||||
v-hasPermi="[
|
'trials:trials-panel:setting:personnel-manage:edit-site',
|
||||||
'trials:trials-panel:setting:personnel-manage:edit-site',
|
]" circle :title="$t('common:button:edit')" icon="el-icon-edit-outline" @click="handleEdit(scope.row)" />
|
||||||
]"
|
<el-button v-if="isPACSConnect" circle :title="$t('common:button:config')" icon="el-icon-setting" v-hasPermi="[
|
||||||
circle
|
'trials:trials-panel:setting:personnel-manage:edit-dicom',
|
||||||
:title="$t('common:button:edit')"
|
]" @click="handleConfig(scope.row, 'add')" />
|
||||||
icon="el-icon-edit-outline"
|
|
||||||
@click="handleEdit(scope.row)"
|
|
||||||
/>
|
|
||||||
<el-button
|
|
||||||
v-if="isPACSConnect"
|
|
||||||
circle
|
|
||||||
:title="$t('common:button:config')"
|
|
||||||
icon="el-icon-setting"
|
|
||||||
v-hasPermi="[
|
|
||||||
'trials:trials-panel:setting:personnel-manage:edit-dicom',
|
|
||||||
]"
|
|
||||||
@click="handleConfig(scope.row, 'add')"
|
|
||||||
/>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<div class="pagination" style="text-align: right">
|
<div class="pagination" style="text-align: right">
|
||||||
<pagination
|
<pagination :total="total" :page.sync="listQuery.PageIndex" :limit.sync="listQuery.PageSize"
|
||||||
:total="total"
|
@pagination="getList" />
|
||||||
:page.sync="listQuery.PageIndex"
|
|
||||||
:limit.sync="listQuery.PageSize"
|
|
||||||
@pagination="getList"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 给site分配crc -->
|
<!-- 给site分配crc -->
|
||||||
|
|
@ -286,67 +172,37 @@
|
||||||
<!-- 修改site信息 -->
|
<!-- 修改site信息 -->
|
||||||
<base-model v-if="edit_model.visible" :config="edit_model">
|
<base-model v-if="edit_model.visible" :config="edit_model">
|
||||||
<template slot="dialog-body">
|
<template slot="dialog-body">
|
||||||
<el-form
|
<el-form ref="editForm" :model="form" label-width="100px" :rules="rules">
|
||||||
ref="editForm"
|
|
||||||
:model="form"
|
|
||||||
label-width="100px"
|
|
||||||
:rules="rules"
|
|
||||||
>
|
|
||||||
<!-- 中心编号 -->
|
<!-- 中心编号 -->
|
||||||
<el-form-item
|
<el-form-item :label="$t('trials:sitesList:table:siteId')" prop="TrialSiteCode">
|
||||||
:label="$t('trials:sitesList:table:siteId')"
|
|
||||||
prop="TrialSiteCode"
|
|
||||||
>
|
|
||||||
<el-input v-model="form.TrialSiteCode" />
|
<el-input v-model="form.TrialSiteCode" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 中心名称 -->
|
<!-- 中心名称 -->
|
||||||
<el-form-item
|
<el-form-item :label="$t('trials:sitesList:table:siteName')" prop="TrialSiteName">
|
||||||
:label="$t('trials:sitesList:table:siteName')"
|
<el-autocomplete clearable class="inline-input" style="width: 100%" v-model="form.TrialSiteName"
|
||||||
prop="TrialSiteName"
|
:fetch-suggestions="querySearch" @select="handleSelect" placeholder=""
|
||||||
>
|
@change="handleChange"></el-autocomplete>
|
||||||
<el-autocomplete
|
|
||||||
clearable
|
|
||||||
class="inline-input"
|
|
||||||
style="width: 100%"
|
|
||||||
v-model="form.TrialSiteName"
|
|
||||||
:fetch-suggestions="querySearch"
|
|
||||||
@select="handleSelect"
|
|
||||||
placeholder=""
|
|
||||||
@change="handleChange"
|
|
||||||
></el-autocomplete>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 中心别称 -->
|
<!-- 中心别称 -->
|
||||||
<el-form-item
|
<el-form-item :label="$t('trials:sitesList:table:siteAliasName')" prop="TrialSiteAliasName">
|
||||||
:label="$t('trials:sitesList:table:siteAliasName')"
|
|
||||||
prop="TrialSiteAliasName"
|
|
||||||
>
|
|
||||||
<el-input v-model="form.TrialSiteAliasName" />
|
<el-input v-model="form.TrialSiteAliasName" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item :label="$t('trials:sitesList:table:Country')" prop="Country">
|
||||||
|
<el-select v-model="form.Country" style="width: 100%">
|
||||||
|
<el-option v-for="item of $d.SiteCountry" :key="item.id" :label="item.label" :value="item.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
<!-- 状态 -->
|
<!-- 状态 -->
|
||||||
<el-form-item :label="$t('trials:sitesList:table:status')">
|
<el-form-item :label="$t('trials:sitesList:table:status')">
|
||||||
<el-switch
|
<el-switch v-model="form.IsDeleted" :active-value="false" :inactive-value="true" />
|
||||||
v-model="form.IsDeleted"
|
|
||||||
:active-value="false"
|
|
||||||
:inactive-value="true"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</template>
|
</template>
|
||||||
<template slot="dialog-footer">
|
<template slot="dialog-footer">
|
||||||
<el-button
|
<el-button type="primary" size="small" :disabled="saveBtnLoading" @click="edit_model.visible = false">
|
||||||
type="primary"
|
|
||||||
size="small"
|
|
||||||
:disabled="saveBtnLoading"
|
|
||||||
@click="edit_model.visible = false"
|
|
||||||
>
|
|
||||||
{{ $t('common:button:cancel') }}
|
{{ $t('common:button:cancel') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button type="primary" size="small" :loading="saveBtnLoading" @click="handleUpdateSiteID">
|
||||||
type="primary"
|
|
||||||
size="small"
|
|
||||||
:loading="saveBtnLoading"
|
|
||||||
@click="handleUpdateSiteID"
|
|
||||||
>
|
|
||||||
{{ $t('common:button:save') }}
|
{{ $t('common:button:save') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -357,29 +213,14 @@
|
||||||
<template slot="dialog-body">
|
<template slot="dialog-body">
|
||||||
<span style="margin-right: 5px;">{{ $t('trials:internalStaff:table:status') }}:</span>
|
<span style="margin-right: 5px;">{{ $t('trials:internalStaff:table:status') }}:</span>
|
||||||
<el-radio-group v-model="staffStatus">
|
<el-radio-group v-model="staffStatus">
|
||||||
<el-radio
|
<el-radio v-for="item of $d.IsUserExitTrial" :key="item.label" :label="item.value">{{ item.label }}</el-radio>
|
||||||
v-for="item of $d.IsUserExitTrial"
|
|
||||||
:key="item.label"
|
|
||||||
:label="item.value"
|
|
||||||
>{{ item.label }}</el-radio
|
|
||||||
>
|
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</template>
|
</template>
|
||||||
<template slot="dialog-footer">
|
<template slot="dialog-footer">
|
||||||
<el-button
|
<el-button :disabled="btnLoading" size="small" type="primary" @click="status_model.visible = false">
|
||||||
:disabled="btnLoading"
|
|
||||||
size="small"
|
|
||||||
type="primary"
|
|
||||||
@click="status_model.visible = false"
|
|
||||||
>
|
|
||||||
{{ $t('common:button:cancel') }}
|
{{ $t('common:button:cancel') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button size="small" type="primary" :loading="btnLoading" @click="saveStatus">
|
||||||
size="small"
|
|
||||||
type="primary"
|
|
||||||
:loading="btnLoading"
|
|
||||||
@click="saveStatus"
|
|
||||||
>
|
|
||||||
{{ $t('common:button:save') }}
|
{{ $t('common:button:save') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -389,72 +230,34 @@
|
||||||
<base-model v-if="siteOfcrc_model.visible" :config="siteOfcrc_model">
|
<base-model v-if="siteOfcrc_model.visible" :config="siteOfcrc_model">
|
||||||
<template slot="dialog-body">
|
<template slot="dialog-body">
|
||||||
<div style="text-align: right">
|
<div style="text-align: right">
|
||||||
<el-button
|
<el-button v-hasPermi="[
|
||||||
v-hasPermi="[
|
'trials:trials-panel:setting:personnel-manage:assign-staff',
|
||||||
'trials:trials-panel:setting:personnel-manage:assign-staff',
|
]" type="primary" icon="el-icon-plus" size="small" @click="crc_model.visible = true">
|
||||||
]"
|
|
||||||
type="primary"
|
|
||||||
icon="el-icon-plus"
|
|
||||||
size="small"
|
|
||||||
@click="crc_model.visible = true"
|
|
||||||
>
|
|
||||||
{{ $t('common:button:add') }}
|
{{ $t('common:button:add') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
<el-table
|
<el-table v-loading="userListLoading" :data="userList" height="400" size="small">
|
||||||
v-loading="userListLoading"
|
|
||||||
:data="userList"
|
|
||||||
height="400"
|
|
||||||
size="small"
|
|
||||||
>
|
|
||||||
<!-- 姓名 -->
|
<!-- 姓名 -->
|
||||||
<el-table-column
|
<el-table-column prop="FullName" :label="$t('trials:internalStaff:table:name')" min-width="100"
|
||||||
prop="FullName"
|
show-overflow-tooltip />
|
||||||
:label="$t('trials:internalStaff:table:name')"
|
|
||||||
min-width="100"
|
|
||||||
show-overflow-tooltip
|
|
||||||
/>
|
|
||||||
<!-- 用户名 -->
|
<!-- 用户名 -->
|
||||||
<el-table-column
|
<el-table-column prop="UserName" :label="$t('trials:internalStaff:table:uid')" min-width="100"
|
||||||
prop="UserName"
|
show-overflow-tooltip />
|
||||||
:label="$t('trials:internalStaff:table:uid')"
|
|
||||||
min-width="100"
|
|
||||||
show-overflow-tooltip
|
|
||||||
/>
|
|
||||||
<!-- 用户类型 -->
|
<!-- 用户类型 -->
|
||||||
<el-table-column
|
<el-table-column prop="UserType" :label="$t('trials:internalStaff:table:userType')" min-width="100"
|
||||||
prop="UserType"
|
show-overflow-tooltip />
|
||||||
:label="$t('trials:internalStaff:table:userType')"
|
|
||||||
min-width="100"
|
|
||||||
show-overflow-tooltip
|
|
||||||
/>
|
|
||||||
<!-- 电话 -->
|
<!-- 电话 -->
|
||||||
<el-table-column
|
<el-table-column prop="Phone" :label="$t('trials:internalStaff:table:phone')" show-overflow-tooltip
|
||||||
prop="Phone"
|
min-width="100" />
|
||||||
:label="$t('trials:internalStaff:table:phone')"
|
|
||||||
show-overflow-tooltip
|
|
||||||
min-width="100"
|
|
||||||
/>
|
|
||||||
<!-- 邮箱 -->
|
<!-- 邮箱 -->
|
||||||
<el-table-column
|
<el-table-column prop="EMail" :label="$t('trials:internalStaff:table:email')" show-overflow-tooltip
|
||||||
prop="EMail"
|
min-width="100" />
|
||||||
:label="$t('trials:internalStaff:table:email')"
|
|
||||||
show-overflow-tooltip
|
|
||||||
min-width="100"
|
|
||||||
/>
|
|
||||||
<!-- 单位 -->
|
<!-- 单位 -->
|
||||||
<el-table-column
|
<el-table-column prop="OrganizationName" :label="$t('trials:internalStaff:table:organization')"
|
||||||
prop="OrganizationName"
|
min-width="100" />
|
||||||
:label="$t('trials:internalStaff:table:organization')"
|
|
||||||
min-width="100"
|
|
||||||
/>
|
|
||||||
<!-- 状态 -->
|
<!-- 状态 -->
|
||||||
<el-table-column
|
<el-table-column prop="IsDeleted" :label="$t('trials:internalStaff:table:status')" show-overflow-tooltip
|
||||||
prop="IsDeleted"
|
min-width="100">
|
||||||
:label="$t('trials:internalStaff:table:status')"
|
|
||||||
show-overflow-tooltip
|
|
||||||
min-width="100"
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tag v-if="scope.row.IsDeleted" type="danger">{{
|
<el-tag v-if="scope.row.IsDeleted" type="danger">{{
|
||||||
$fd('IsUserExitTrial', scope.row.IsDeleted)
|
$fd('IsUserExitTrial', scope.row.IsDeleted)
|
||||||
|
|
@ -464,37 +267,18 @@
|
||||||
}}</el-tag>
|
}}</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column prop="CreateTime" :label="$t('trials:internalStaff:table:authorizationTime')"
|
||||||
prop="CreateTime"
|
show-overflow-tooltip sortable="custom" min-width="210" />
|
||||||
:label="$t('trials:internalStaff:table:authorizationTime')"
|
<el-table-column prop="DeletedTime" :label="$t('trials:internalStaff:table:disableTime')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip sortable min-width="210" />
|
||||||
sortable="custom"
|
<el-table-column v-hasPermi="[
|
||||||
min-width="210"
|
'trials:trials-panel:setting:personnel-manage:assign-staff',
|
||||||
/>
|
]" :label="$t('common:action:action')" width="100">
|
||||||
<el-table-column
|
|
||||||
prop="DeletedTime"
|
|
||||||
:label="$t('trials:internalStaff:table:disableTime')"
|
|
||||||
show-overflow-tooltip
|
|
||||||
sortable
|
|
||||||
min-width="210"
|
|
||||||
/>
|
|
||||||
<el-table-column
|
|
||||||
v-hasPermi="[
|
|
||||||
'trials:trials-panel:setting:personnel-manage:assign-staff',
|
|
||||||
]"
|
|
||||||
:label="$t('common:action:action')"
|
|
||||||
width="100"
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button v-hasPermi="[
|
||||||
v-hasPermi="[
|
'trials:trials-panel:setting:personnel-manage:assign-staff',
|
||||||
'trials:trials-panel:setting:personnel-manage:assign-staff',
|
]" circle :title="$t('trials:internalStaff:action:status')" icon="el-icon-edit-outline"
|
||||||
]"
|
@click="handleStatus(scope.row)" />
|
||||||
circle
|
|
||||||
:title="$t('trials:internalStaff:action:status')"
|
|
||||||
icon="el-icon-edit-outline"
|
|
||||||
@click="handleStatus(scope.row)"
|
|
||||||
/>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
@ -503,10 +287,7 @@
|
||||||
<!-- 导入 -->
|
<!-- 导入 -->
|
||||||
<base-model v-if="upload_model.visible" :config="upload_model">
|
<base-model v-if="upload_model.visible" :config="upload_model">
|
||||||
<template slot="dialog-body">
|
<template slot="dialog-body">
|
||||||
<UploadExcel
|
<UploadExcel @closeDialog="upload_model.visible = false" @getList="getList" />
|
||||||
@closeDialog="upload_model.visible = false"
|
|
||||||
@getList="getList"
|
|
||||||
/>
|
|
||||||
</template>
|
</template>
|
||||||
</base-model>
|
</base-model>
|
||||||
<!--dicom AE-->
|
<!--dicom AE-->
|
||||||
|
|
@ -583,6 +364,7 @@ export default {
|
||||||
TrialSiteCode: '',
|
TrialSiteCode: '',
|
||||||
TrialSiteName: '',
|
TrialSiteName: '',
|
||||||
TrialSiteAliasName: '',
|
TrialSiteAliasName: '',
|
||||||
|
Country: '',
|
||||||
IsDeleted: true,
|
IsDeleted: true,
|
||||||
},
|
},
|
||||||
upload_model: {
|
upload_model: {
|
||||||
|
|
@ -634,6 +416,13 @@ export default {
|
||||||
trigger: 'blur',
|
trigger: 'blur',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
Country: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t('common:ruleMessage:select'),
|
||||||
|
trigger: 'blur',
|
||||||
|
},
|
||||||
|
],
|
||||||
},
|
},
|
||||||
trialId: '',
|
trialId: '',
|
||||||
TrialSiteSelectList: [],
|
TrialSiteSelectList: [],
|
||||||
|
|
@ -656,10 +445,12 @@ export default {
|
||||||
? item.AliasName
|
? item.AliasName
|
||||||
: item.SiteName
|
: item.SiteName
|
||||||
this.form.SiteId = item.SiteId
|
this.form.SiteId = item.SiteId
|
||||||
|
this.form.Country = item.Country
|
||||||
},
|
},
|
||||||
handleChange(v) {
|
handleChange(v) {
|
||||||
if (v) return
|
if (v) return
|
||||||
this.form.TrialSiteAliasName = ''
|
this.form.TrialSiteAliasName = ''
|
||||||
|
this.form.Country = this.$i18n.locale !== 'zh' ? this.$fd("SiteCountry", 1) : this.$fd("SiteCountry", 0)
|
||||||
},
|
},
|
||||||
querySearch(queryString, cb) {
|
querySearch(queryString, cb) {
|
||||||
var TrialSiteSelectList = this.TrialSiteSelectList
|
var TrialSiteSelectList = this.TrialSiteSelectList
|
||||||
|
|
@ -728,6 +519,7 @@ export default {
|
||||||
this.form[key] = true
|
this.form[key] = true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
this.form.Country = this.$i18n.locale !== 'zh' ? this.$fd("SiteCountry", 1) : this.$fd("SiteCountry", 0)
|
||||||
this.edit_model.visible = true
|
this.edit_model.visible = true
|
||||||
},
|
},
|
||||||
// 给site分配CRC
|
// 给site分配CRC
|
||||||
|
|
@ -764,6 +556,7 @@ export default {
|
||||||
trialSiteCode: this.form.TrialSiteCode,
|
trialSiteCode: this.form.TrialSiteCode,
|
||||||
trialSiteAliasName: this.form.TrialSiteAliasName,
|
trialSiteAliasName: this.form.TrialSiteAliasName,
|
||||||
isDeleted: this.form.IsDeleted,
|
isDeleted: this.form.IsDeleted,
|
||||||
|
Country: this.form.Country,
|
||||||
}
|
}
|
||||||
if (this.edit_model.model_type === 'add') {
|
if (this.edit_model.model_type === 'add') {
|
||||||
addTrialSites([param])
|
addTrialSites([param])
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue