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()
},
viewDetail(val) {
console.log(val)
this.patientId = val
this.detailViewVisible = true
},

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

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

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

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

Loading…
Cancel
Save