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