1
continuous-integration/drone/push Build is passing Details

uat_us
wangxiaoshuang 2024-12-25 15:55:36 +08:00
parent 7ed4dd7e24
commit 9d3ba7eb57
4 changed files with 106 additions and 57 deletions

View File

@ -154,7 +154,6 @@ export default {
},
created() {
// this.isReviewer = JSON.parse(zzSessionStorage.getItem('IsReviewer'))
console.log(this.$route.path, 'this.$route.path')
this.changeRoute(this.$route)
},
methods: {

View File

@ -412,7 +412,7 @@
>
<!-- 姓名 -->
<el-table-column
prop="UserRealName"
prop="FullName"
:label="$t('trials:internalStaff:table:name')"
min-width="100"
show-overflow-tooltip

View File

@ -179,7 +179,7 @@ export default {
listQuery: getListQueryDefault(),
selectArr: [],
assignLoadStatus: false,
isAdmin: JSON.parse(zzSessionStorage.getItem('IsAdmin')),
// isAdmin: JSON.parse(zzSessionStorage.getItem('IsAdmin')),
userTypeOptions: [],
stateList: ['WaitSent', 'HasSend', 'UserConfirmed', 'UserReject', 'OverTime'],
trialId: '',

View File

@ -1,19 +1,39 @@
<template>
<el-container class="participant-container">
<el-header style="height:50px">
<el-header style="height: 50px">
<div class="filter-container">
<!-- 姓名 -->
<span>{{ $t('trials:staff:table:name') }}:</span>
<el-input v-model="listQuery.UserRealName" size="mini" class="mr" clearable />
<el-input
v-model="listQuery.UserRealName"
size="mini"
class="mr"
clearable
/>
<!-- 用户名 -->
<span>{{ $t('trials:staff:table:uid') }}:</span>
<el-input v-model="listQuery.UserName" size="mini" class="mr" clearable />
<el-input
v-model="listQuery.UserName"
size="mini"
class="mr"
clearable
/>
<!-- 单位 -->
<span>{{ $t('trials:staff:table:organization') }}:</span>
<el-input v-model="listQuery.OrganizationName" size="mini" class="mr" clearable />
<el-input
v-model="listQuery.OrganizationName"
size="mini"
class="mr"
clearable
/>
<!-- 用户类型 -->
<span>{{ $t('trials:staff:table:userType') }}:</span>
<el-select v-model="listQuery.UserTypeEnum" size="mini" clearable class="mr">
<el-select
v-model="listQuery.UserTypeEnum"
size="mini"
clearable
class="mr"
>
<el-option
v-for="item of userTypeOptions"
:key="item.Id"
@ -24,15 +44,33 @@
</el-option>
</el-select>
<!-- 查询 -->
<el-button type="primary" size="mini" icon="el-icon-search" @click="handleSearch">
<el-button
type="primary"
size="mini"
icon="el-icon-search"
@click="handleSearch"
>
{{ $t('common:button:search') }}
</el-button>
<!-- 重置 -->
<el-button size="mini" type="primary" icon="el-icon-refresh-left" @click="handleReset">
<el-button
size="mini"
type="primary"
icon="el-icon-refresh-left"
@click="handleReset"
>
{{ $t('common:button:reset') }}
</el-button>
<el-button type="primary" size="mini" style="margin-left:auto" :disabled="selectArr.length === 0" :loading="assignLoadStatus" icon="el-icon-plus" @click="handleAssign">
<el-button
type="primary"
size="mini"
style="margin-left: auto"
:disabled="selectArr.length === 0"
:loading="assignLoadStatus"
icon="el-icon-plus"
@click="handleAssign"
>
{{ $t('common:button:add') }}
</el-button>
</div>
@ -101,17 +139,25 @@
sortable="custom"
min-width="100"
/>
</el-table>
</div>
</el-main>
<div class="pagination" style="text-align: right;margin-top:5px;">
<pagination :total="total" :page.sync="listQuery.PageIndex" :limit.sync="listQuery.PageSize" @pagination="getList" />
<div class="pagination" style="text-align: right; margin-top: 5px">
<pagination
:total="total"
:page.sync="listQuery.PageIndex"
:limit.sync="listQuery.PageSize"
@pagination="getList"
/>
</div>
</el-container>
</template>
<script>
import { getTrialUserScreeningList, addTrialUsers, getUserTypeList } from '@/api/trials'
import {
getTrialUserScreeningList,
addTrialUsers,
getUserTypeList,
} from '@/api/trials'
import Pagination from '@/components/Pagination'
const getListQueryDefault = () => {
return {
@ -120,7 +166,7 @@ const getListQueryDefault = () => {
OrganizationName: '',
UserTypeEnum: '',
PageIndex: 1,
PageSize: 20
PageSize: 20,
}
}
export default {
@ -132,9 +178,9 @@ export default {
listQuery: getListQueryDefault(),
selectArr: [],
assignLoadStatus: false,
isAdmin: JSON.parse(zzSessionStorage.getItem('IsAdmin')),
// isAdmin: JSON.parse(zzSessionStorage.getItem('IsAdmin')),
userTypeOptions: [],
trialId: ''
trialId: '',
}
},
mounted() {
@ -147,36 +193,40 @@ export default {
const loading = this.$loading({
target: document.querySelector('.participant-table-list'),
fullscreen: false,
lock: true
lock: true,
})
this.listQuery.TrialId = this.trialId
getTrialUserScreeningList(this.listQuery).then(res => {
getTrialUserScreeningList(this.listQuery)
.then((res) => {
loading.close()
this.list = res.Result.CurrentPageData
this.total = res.Result.TotalCount
}).catch(() => { loading.close() })
})
.catch(() => {
loading.close()
})
},
handleAssign() {
this.$confirm(this.$t('trials:staff:message:addStaff'), {
type: 'warning',
distinguishCancelAndClose: true
})
.then(() => {
distinguishCancelAndClose: true,
}).then(() => {
const loading = this.$loading({
target: document.querySelector('.participant-table-list'),
fullscreen: false,
lock: true
lock: true,
})
this.assignLoadStatus = true
addTrialUsers(this.selectArr)
.then(res => {
.then((res) => {
this.assignLoadStatus = false
loading.close()
if (res.IsSuccess) {
this.$emit('closeDialog')
this.$message.success(this.$t('common:message:addedSuccessfully'))
}
}).catch(() => {
})
.catch(() => {
loading.close()
this.assignLoadStatus = false
})
@ -211,34 +261,34 @@ export default {
}
},
getUserType() {
getUserTypeList(2).then(res => {
getUserTypeList(2).then((res) => {
this.userTypeOptions = res.Result
})
}
}
},
},
}
</script>
<style lang="scss" scoped>
.participant-container{
.participant-container {
height: 100%;
.el-header{
.filter-container{
.el-header {
.filter-container {
display: flex;
align-items: center;
span{
font-size:13px;
margin-right:5px;
span {
font-size: 13px;
margin-right: 5px;
}
.mr{
.mr {
margin-right: 5px;
width: 120px;
}
}
}
.el-main{
.el-main {
padding: 0px;
}
.el-footer{
.el-footer {
padding: 0 20px;
}
}