中心列表添加快捷跳转入口
continuous-integration/drone/push Build is passing Details

uat_us
caiyiling 2025-01-23 18:18:29 +08:00
parent c08d701143
commit d3afa7b676
3 changed files with 62 additions and 5 deletions

View File

@ -83,7 +83,18 @@
:label="$t('trials:site:table:subjects')" :label="$t('trials:site:table:subjects')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> >
<template slot-scope="scope">
<el-button
v-if="scope.row.SubjectCount > 0 && hasSubjectRoute"
type="text"
@click="jumpToSubjectList(scope.row.TrialSiteId)"
>
{{ scope.row.SubjectCount }}
</el-button>
<span v-else> {{ scope.row.SubjectCount }}</span>
</template>
</el-table-column>
<!-- Visits --> <!-- Visits -->
<el-table-column <el-table-column
prop="VisitCount" prop="VisitCount"
@ -91,7 +102,18 @@
:label="$t('trials:site:table:visits')" :label="$t('trials:site:table:visits')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> >
<template slot-scope="scope">
<el-button
v-if="scope.row.VisitCount > 0 && hasVisitRoute"
type="text"
@click="jumpToVisitList(scope.row.TrialSiteId)"
>
{{ scope.row.VisitCount }}
</el-button>
<span v-else> {{ scope.row.VisitCount }}</span>
</template>
</el-table-column>
<!-- Staff --> <!-- Staff -->
<el-table-column <el-table-column
prop="UserCount" prop="UserCount"
@ -220,11 +242,16 @@ export default {
userListLoading: '', userListLoading: '',
userList: [], userList: [],
trialId: '', trialId: '',
hasSubjectRoute: false,
hasVisitRoute: false
} }
}, },
mounted() { mounted() {
this.trialId = this.$route.query.trialId this.trialId = this.$route.query.trialId
const trialsRouter = this.$store.getters.routes.find(r => { return r.name === 'Trials' })
const trialsPanelRouter = trialsRouter.children.find(r => { return r.name === 'TrialsPanel' }).children
this.hasSubjectRoute = this.hasRoute('subject-list', trialsPanelRouter)
this.hasVisitRoute = this.hasRoute('crc-upload', trialsPanelRouter)
this.getList() this.getList()
}, },
methods: { methods: {
@ -273,6 +300,26 @@ export default {
this.searchData.PageIndex = 1 this.searchData.PageIndex = 1
this.getList() this.getList()
}, },
jumpToSubjectList(trialSiteId) {
this.$router.push({ path: `/trials/trials-panel/subject/subject-list?trialId=${this.$route.query.trialId}&trialCode=${this.$route.query.trialCode}&researchProgramNo=${this.$route.query.researchProgramNo}&trialSiteId=${trialSiteId}` })
},
jumpToVisitList(trialSiteId) {
this.$router.push({ path: `/trials/trials-panel/visit/crc-upload?trialId=${this.$route.query.trialId}&trialCode=${this.$route.query.trialCode}&researchProgramNo=${this.$route.query.researchProgramNo}&trialSiteId=${trialSiteId}` })
},
hasRoute(name, routeList) {
for (let i = 0; i < routeList.length; i++) {
if (routeList[i].name === name) {
return true
}
if (routeList[i].children) {
const flag = this.hasRoute(name, routeList[i].children)
if (flag) {
return flag
}
}
}
return false
}
}, },
} }
</script> </script>

View File

@ -291,6 +291,7 @@ import SubjectsForm from './components/SubjectsForm'
import SubjectStatusForm from './components/SubjectStatusForm' import SubjectStatusForm from './components/SubjectStatusForm'
import MessageTable from './components/MessageTable' import MessageTable from './components/MessageTable'
import moment from 'moment' import moment from 'moment'
import { changeURLStatic } from '@/utils/history.js'
const searchDataDefault = () => { const searchDataDefault = () => {
return { return {
Code: '', Code: '',
@ -339,6 +340,10 @@ export default {
this.hasCrcRoute = this.hasRoute('crc-upload', trialsPanelRouter) this.hasCrcRoute = this.hasRoute('crc-upload', trialsPanelRouter)
this.hasQCRoute = this.hasRoute('qc-check', trialsPanelRouter) this.hasQCRoute = this.hasRoute('qc-check', trialsPanelRouter)
this.trialId = this.$route.query.trialId this.trialId = this.$route.query.trialId
if (this.$route.query.trialSiteId) {
this.searchData.TrialSiteId = this.$route.query.trialSiteId
changeURLStatic('trialSiteId', '')
}
this.getSite() this.getSite()
this.getList() this.getList()
}, },

View File

@ -1680,8 +1680,13 @@ export default {
this.getSite() this.getSite()
if (this.$route.query.subjectCode) { if (this.$route.query.subjectCode) {
this.searchData.SubjectInfo = this.$route.query.subjectCode this.searchData.SubjectInfo = this.$route.query.subjectCode
changeURLStatic('subjectCode', '')
}
if (this.$route.query.trialSiteId) {
this.searchData.TrialSiteId = this.$route.query.trialSiteId
changeURLStatic('trialSiteId', '')
} }
changeURLStatic('subjectCode', '')
this.TrialCode = this.$route.query.trialCode this.TrialCode = this.$route.query.trialCode
this.getList() this.getList()
this.getVisitPlanOptions() this.getVisitPlanOptions()