Browse Source

受试者管理

360view
bianyaqi 2 years ago
parent
commit
b24fc7cd26
  1. 1
      src/components/patient-search/index.vue
  2. 10
      src/page-subspecialty/views/modules/scientificManagement/subjectMgt/index.vue
  3. 70
      src/page-subspecialty/views/modules/scientificManagement/subjectMgt/patient-subject/index.vue

1
src/components/patient-search/index.vue

@ -150,7 +150,6 @@ export default {
this.retrieval() this.retrieval()
}, },
viewDetail(val) { viewDetail(val) {
console.log(val)
this.patientId = val this.patientId = val
this.detailViewVisible = true this.detailViewVisible = true
}, },

10
src/page-subspecialty/views/modules/scientificManagement/subjectMgt/index.vue

@ -2,19 +2,19 @@
<div class="template-container"> <div class="template-container">
<el-tabs v-model="activeName" @tab-click="handleClick"> <el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="样本库" name="first"> <el-tab-pane label="样本库" name="first">
<search />
<search v-if="activeName==='first'" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="医生管理" name="second"> <el-tab-pane label="医生管理" name="second">
<doctor />
<doctor v-if="activeName==='second'" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="eCRF管理" name="third"> <el-tab-pane label="eCRF管理" name="third">
<eCrf />
<eCrf v-if="activeName==='third'" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="受试者管理" name="fourth"> <el-tab-pane label="受试者管理" name="fourth">
<patientSubject />
<patientSubject v-if="activeName==='fourth'" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="日志" name="five"> <el-tab-pane label="日志" name="five">
<operateLog />
<operateLog v-if="activeName==='five'" />
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</div> </div>

70
src/page-subspecialty/views/modules/scientificManagement/subjectMgt/patient-subject/index.vue

@ -1,5 +1,6 @@
<template> <template>
<div class="subject-management">
<div class="subject">
<div v-if="!detailViewVisible" class="subject-management">
<div class="subject-left"> <div class="subject-left">
<el-scrollbar style="height: 100%"> <el-scrollbar style="height: 100%">
<div class="photo-groups"> <div class="photo-groups">
@ -36,10 +37,10 @@
placeholder="姓名" placeholder="姓名"
class="input-with-select" class="input-with-select"
clearable clearable
@clear="getDataList()"
@change="getDataList()"
@clear="getDataListInitial()"
@change="getDataListInitial()"
> >
<el-button slot="append" icon="el-icon-search" @click="getDataList()" />
<el-button slot="append" icon="el-icon-search" @click="getDataListInitial()" />
</el-input> </el-input>
</div> </div>
@ -147,7 +148,7 @@
</span> </span>
</el-button> </el-button>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item command="export">导出</el-dropdown-item>
<!-- <el-dropdown-item command="export">导出</el-dropdown-item>-->
<el-dropdown-item command="remove">移除</el-dropdown-item> <el-dropdown-item command="remove">移除</el-dropdown-item>
<el-dropdown-item command="group">分组</el-dropdown-item> <el-dropdown-item command="group">分组</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
@ -160,7 +161,7 @@
</span> </span>
</el-button> </el-button>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item command="export">导出</el-dropdown-item>
<!-- <el-dropdown-item command="export">导出</el-dropdown-item>-->
<el-dropdown-item command="remove">移除</el-dropdown-item> <el-dropdown-item command="remove">移除</el-dropdown-item>
<el-dropdown-item command="group">分组</el-dropdown-item> <el-dropdown-item command="group">分组</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
@ -169,6 +170,7 @@
</checked-footer> </checked-footer>
</div> </div>
</div> </div>
</div>
<!-- 分组 --> <!-- 分组 -->
<el-dialog <el-dialog
@ -192,25 +194,6 @@
</span> </span>
</el-dialog> </el-dialog>
<!-- 详情页 -->
<el-dialog
class="dialog-360"
:visible.sync="dialogVisible"
:title="'患者360'"
:close-on-click-modal="false"
:close-on-press-escape="false"
:fullscreen="true"
append-to-body
>
<patient-view
v-if="dialogVisible"
ref="detailView"
:patient-id-number="patient.patientIdNumber"
:project-id="patient.projectId"
:is-subject="true"
/>
</el-dialog>
<!-- 添加分组弹框 --> <!-- 添加分组弹框 -->
<el-dialog title="添加分组" :visible.sync="dialogFormVisible" @close="CloseDialog"> <el-dialog title="添加分组" :visible.sync="dialogFormVisible" @close="CloseDialog">
<el-form ref="addGroupRuleForm" :model="formGroup" :rules="addGroupRules" @submit.native.prevent> <el-form ref="addGroupRuleForm" :model="formGroup" :rules="addGroupRules" @submit.native.prevent>
@ -249,9 +232,12 @@
<el-button type="primary" @click="exportOK()"> </el-button> <el-button type="primary" @click="exportOK()"> </el-button>
</span> </span>
</el-dialog> </el-dialog>
<!-- 详情页 -->
<detail-view v-if="detailViewVisible" ref="viewRef" :only-read="onlyRead" :is-search="'1'" :patient-id="patientId" @detailViewVisible="detailViewVisible=false" />
</div> </div>
</template> </template>
<script> <script>
import detailView from '@/components/360View/index' // 360
import checked from '@/mixins/checked' import checked from '@/mixins/checked'
import patientView from '@/components/patient-view' import patientView from '@/components/patient-view'
import checkedFooter from '@/components/checked-footer' import checkedFooter from '@/components/checked-footer'
@ -262,7 +248,7 @@ import { formatDate } from '@/utils/index.js'
import eventBus from '@/page-subspecialty/utils/eventBus' import eventBus from '@/page-subspecialty/utils/eventBus'
export default { export default {
components: { patientView, checkedFooter, kpiSelect, deviceSelect },
components: { patientView, checkedFooter, kpiSelect, deviceSelect, detailView },
mixins: [checked], mixins: [checked],
data() { data() {
return { return {
@ -313,8 +299,10 @@ export default {
patient: { patient: {
patientIdNumber: '', patientIdNumber: '',
projectId: '' projectId: ''
}
},
detailViewVisible: false,
patientId: '',
onlyRead: true
} }
}, },
computed: { computed: {
@ -327,38 +315,37 @@ export default {
}, },
created() { created() {
this.formGroup.projectId = this.$route.query.projectId this.formGroup.projectId = this.$route.query.projectId
this.getDataList()
this.projectId = this.$route.query.projectId
this.getDataListInitial()
this.getGroupList() this.getGroupList()
}, },
mounted() { mounted() {
eventBus.$off('getSubjectSuccess') eventBus.$off('getSubjectSuccess')
eventBus.$on('getSubjectSuccess', () => { eventBus.$on('getSubjectSuccess', () => {
this.getGroupList() this.getGroupList()
this.getDataList()
this.getDataListInitial()
}) })
}, },
methods: { methods: {
refresh() { refresh() {
this.getGroupList() this.getGroupList()
this.grouplistClick(this.groupId, this.currentIndex) this.grouplistClick(this.groupId, this.currentIndex)
}, },
// //
showDetail(row) { showDetail(row) {
// console.log(row)
this.dialogVisible = true
this.patient.patientIdNumber = row.patientIdNumber
this.patient.projectId = this.projectId
this.patientId = row.patientId
console.log(this.patientId)
this.detailViewVisible = true
}, },
// //
grouplistClick(id, index) { grouplistClick(id, index) {
this.groupId = id this.groupId = id
this.currentIndex = index this.currentIndex = index
this.page = 1 this.page = 1
this.getDataList()
this.getDataListInitial()
}, },
// //
getDataList() {
getDataListInitial() {
this.tabelLoading = true this.tabelLoading = true
this.$http.get('/project/patient/page', { this.$http.get('/project/patient/page', {
params: { params: {
@ -443,6 +430,7 @@ export default {
}).then(({ data: res }) => { }).then(({ data: res }) => {
this.groupList = [{ name: '全部', id: '' }, { name: '未分组', id: 0 }, ...res.data.list] this.groupList = [{ name: '全部', id: '' }, { name: '未分组', id: 0 }, ...res.data.list]
this.groupListAll = res.data this.groupListAll = res.data
console.log(this.groupList)
}) })
}, },
// //
@ -505,6 +493,7 @@ export default {
// //
handleGroup(type) { handleGroup(type) {
this.dialogVisible_group = true this.dialogVisible_group = true
console.log(type)
this.dialogGroup.type = type this.dialogGroup.type = type
}, },
handleGroup_OK() { handleGroup_OK() {
@ -610,13 +599,13 @@ export default {
// , // ,
pageCurrentChangeHandle(val) { pageCurrentChangeHandle(val) {
this.page = val this.page = val
this.getDataList()
this.getDataListInitial()
}, },
// , // ,
pageSizeChangeHandle(val) { pageSizeChangeHandle(val) {
this.page = 1 this.page = 1
this.limit = val this.limit = val
this.getDataList()
this.getDataListInitial()
}, },
// //
async handleGroupCommand(e) { async handleGroupCommand(e) {
@ -753,6 +742,9 @@ export default {
font-size: 12px; font-size: 12px;
} }
} }
.subject{
height: 100%;
}
.subject-management .detail-view { .subject-management .detail-view {
.el-dialog { .el-dialog {
background: #000; background: #000;

Loading…
Cancel
Save