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() { created() {
// this.isReviewer = JSON.parse(zzSessionStorage.getItem('IsReviewer')) // this.isReviewer = JSON.parse(zzSessionStorage.getItem('IsReviewer'))
console.log(this.$route.path, 'this.$route.path')
this.changeRoute(this.$route) this.changeRoute(this.$route)
}, },
methods: { methods: {

View File

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

View File

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

View File

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