Browse Source

生物搜索相关接口

master
aBin 4 years ago
parent
commit
741b2d63ca
  1. 29
      src/components/BiologicalSampleSearch/SampleTable.vue
  2. 33
      src/components/BiologicalSampleSearch/Search.vue
  3. 9
      src/config/api.js
  4. 39
      src/views/BiologicalSampleSearch/BiologicalSampleSearch.vue

29
src/components/BiologicalSampleSearch/SampleTable.vue

@ -1,7 +1,7 @@
<template> <template>
<div> <div>
<!-- search --> <!-- search -->
<div style="width:100%" v-if="lists && lists.list && lists.list.length > 0"> <div style="width: 100%" v-if="lists && lists.list && lists.list.length > 0">
<a-table <a-table
:columns="columns" :columns="columns"
:data-source="lists.list" :data-source="lists.list"
@ -12,8 +12,11 @@
bordered bordered
class="white pa-3" class="white pa-3"
> >
<template slot="id" slot-scope="text, record, index"> <template slot="sampleType" slot-scope="text, record">
<span>{{ index + 1 }}</span> <span v-if="record.sampleType === 0">抗血凝10ml</span>
<span v-else-if="record.sampleType === 1">促凝血5ml</span>
<span v-else-if="record.sampleType === 2">晨尿10ml</span>
<span v-else-if="record.sampleType === 3">24小时尿10ml</span>
</template> </template>
</a-table> </a-table>
</div> </div>
@ -26,17 +29,17 @@ import { mapMutations, mapState } from 'vuex';
const columns = [ const columns = [
{ {
title: '序号', title: '患者Id',
align: 'center', align: 'center',
dataIndex: 'id', dataIndex: 'patientInformationId',
key: 'id', key: 'patientInformationId',
scopedSlots: { customRender: 'id' }, scopedSlots: { customRender: 'patientInformationId' },
}, },
{ {
title: '医院', title: '医院',
align: 'center', align: 'center',
dataIndex: 'hospital', dataIndex: 'name',
key: 'hospital', key: 'name',
}, },
{ {
title: '住院号', title: '住院号',
@ -47,14 +50,14 @@ const columns = [
{ {
title: '类型', title: '类型',
align: 'center', align: 'center',
dataIndex: 'type', dataIndex: 'sampleType',
key: 'type', key: 'sampleType',
}, },
{ {
title: '采集时间', title: '采集时间',
align: 'center', align: 'center',
dataIndex: 'acquisitionTime', dataIndex: 'collectTime',
key: 'acquisitionTime', key: 'collectTime',
}, },
]; ];

33
src/components/BiologicalSampleSearch/Search.vue

@ -2,19 +2,10 @@
<!-- search --> <!-- search -->
<div> <div>
<div class="d-flex flex-row flex-nowrap"> <div class="d-flex flex-row flex-nowrap">
<a-form <a-form :form="form" @submit="handleSubmit" class="d-flex flex-nowrap align-center" layout="inline">
:form="form"
@submit="handleSubmit"
class="d-flex flex-nowrap align-center"
layout="inline"
>
<a-form-item> <a-form-item>
<a-select placeholder="请选择医院" style="min-width: 150px" v-decorator="['hospital']"> <a-select placeholder="请选择医院" style="min-width: 150px" v-decorator="['hospital']">
<a-select-option <a-select-option :key="item.id" :value="item.id" v-for="item in hospitals">{{ item.title }}</a-select-option>
:key="item.id"
:value="item.id"
v-for="item in hospitals"
>{{ item.title }}</a-select-option>
</a-select> </a-select>
</a-form-item> </a-form-item>
<a-form-item> <a-form-item>
@ -26,11 +17,7 @@
<a-input placeholder="患者住院号" style="width: 14em" v-decorator="['inpatientNumber']" /> <a-input placeholder="患者住院号" style="width: 14em" v-decorator="['inpatientNumber']" />
</a-form-item> </a-form-item>
<a-form-item> <a-form-item>
<a-select <a-select placeholder="请选择采集时间" style="min-width: 150px" v-decorator="['acquisitionTime']">
placeholder="请选择采集时间"
style="min-width: 150px"
v-decorator="['acquisitionTime']"
>
<a-select-option :key="t.id" :value="t.id" v-for="t in acquisitionTime">{{ t.title }}</a-select-option> <a-select-option :key="t.id" :value="t.id" v-for="t in acquisitionTime">{{ t.title }}</a-select-option>
</a-select> </a-select>
</a-form-item> </a-form-item>
@ -67,33 +54,33 @@ export default {
], ],
types: [ types: [
{ {
id: 1, id: 0,
title: '抗血凝10ml', title: '抗血凝10ml',
}, },
{ {
id: 2, id: 1,
title: '促凝血5ml', title: '促凝血5ml',
}, },
{ {
id: 3, id: 2,
title: '晨尿10ml', title: '晨尿10ml',
}, },
{ {
id: 4, id: 3,
title: '24小时尿10ml', title: '24小时尿10ml',
}, },
], ],
acquisitionTime: [ acquisitionTime: [
{ {
id: 1, id: 0,
title: '0天', title: '0天',
}, },
{ {
id: 2, id: 14,
title: '14天', title: '14天',
}, },
{ {
id: 3, id: 90,
title: '90天', title: '90天',
}, },
], ],

9
src/config/api.js

@ -3,7 +3,7 @@
* @email: 18603454788@163.com * @email: 18603454788@163.com
* @Date: 2021-01-29 11:16:27 * @Date: 2021-01-29 11:16:27
* @LastEditors: wally * @LastEditors: wally
* @LastEditTime: 2021-02-18 16:20:23 * @LastEditTime: 2021-02-19 17:32:19
*/ */
import axios from 'axios'; import axios from 'axios';
let { proxyUrl, msgUrl } = require('@/config/setting'); let { proxyUrl, msgUrl } = require('@/config/setting');
@ -14,6 +14,7 @@ const imp = `${tcm}/import`; // 试题相关接口
const inpatient = `${tcm}/inpatient`; // 对照组接口 const inpatient = `${tcm}/inpatient`; // 对照组接口
const statistics = `${tcm}/statistics`; // 数据统计相关接口 const statistics = `${tcm}/statistics`; // 数据统计相关接口
const conferenceRecords = `${tcm}/conferenceRecords`; // 会议纪要相关接口 const conferenceRecords = `${tcm}/conferenceRecords`; // 会议纪要相关接口
const biologicalSamples = `${tcm}/biologicalSamples`; // 生物样本相关接口
// 保存患者病例信息 // 保存患者病例信息
export const saveCaseMes = params => axios.post(`${patient}/saveCaseMes`, params); export const saveCaseMes = params => axios.post(`${patient}/saveCaseMes`, params);
@ -46,3 +47,9 @@ export const countCase = params => axios.post(`${statistics}/countCase`, params)
// 添加会议记录 // 添加会议记录
export const saveConferenceRecords = params => axios.post(`${conferenceRecords}/save`, params); export const saveConferenceRecords = params => axios.post(`${conferenceRecords}/save`, params);
// 添加生物样本
export const addBiologicalSamples = params => axios.post(`${biologicalSamples}/addBiologicalSamples`, params);
// 搜索生物样本
export const selBiologicalSamples = params => axios.post(`${biologicalSamples}/selBiologicalSamples`, params);

39
src/views/BiologicalSampleSearch/BiologicalSampleSearch.vue

@ -1,3 +1,10 @@
<!--
* @Author: wally
* @email: 18603454788@163.com
* @Date: 2021-02-19 16:04:48
* @LastEditors: wally
* @LastEditTime: 2021-02-19 17:59:27
-->
<template> <template>
<div class="d-flex flex-column"> <div class="d-flex flex-column">
<search @searchPatientMes="searchPatientMes" /> <search @searchPatientMes="searchPatientMes" />
@ -8,7 +15,7 @@
<script> <script>
import Search from 'components/BiologicalSampleSearch/Search.vue'; import Search from 'components/BiologicalSampleSearch/Search.vue';
import SampleTable from 'components/BiologicalSampleSearch/SampleTable.vue'; import SampleTable from 'components/BiologicalSampleSearch/SampleTable.vue';
import { selPatientMes } from 'config/api'; import { selBiologicalSamples } from 'config/api';
import { mapState, mapActions } from 'vuex'; import { mapState, mapActions } from 'vuex';
export default { export default {
@ -17,8 +24,11 @@ export default {
data() { data() {
return { return {
lists: { pageNum: 1, pageSize: 10, total: 1, list: [] }, lists: { pageNum: 1, pageSize: 10, total: 1, list: [] },
hospitalization: '', collectTime: '', //
inpatientId: '', hospitalId: '', // id
hospitalization: '', //
pageNum: 1, //
sampleType: '', //
}; };
}, },
@ -32,24 +42,31 @@ export default {
searchPatientMes(value) { searchPatientMes(value) {
if (value) { if (value) {
this.hospitalId = value.hospital;
this.collectTime = value.acquisitionTime;
this.hospitalization = value.inpatientNumber; this.hospitalization = value.inpatientNumber;
this.inpatientId = value.groupValue; this.sampleType = value.sampleType;
} }
this.handleSelPatientMes(); this.handleSelPatientMes();
}, },
async handleSelPatientMes(pageNum = 1) { async handleSelPatientMes(current) {
try { try {
const { hospitalization, inpatientId } = this; if (current) {
this.pageNum = current;
}
const { collectTime, hospitalId, hospitalization, pageNum, sampleType } = this;
const params = { const params = {
param: { param: {
hospitalization, collectTime: collectTime, //
inpatientId, hospitalId: hospitalId, // id
pageNum, hospitalization: hospitalization, //
pageSize: 10, pageNum: pageNum, //
pageSize: 10, //
sampleType: sampleType, //
}, },
}; };
const res = await selPatientMes(params); const res = await selBiologicalSamples(params);
const { code, msg, data } = res.data; const { code, msg, data } = res.data;
if (code === 200) { if (code === 200) {
this.lists = data; this.lists = data;

Loading…
Cancel
Save