Browse Source

生物搜索相关接口

master
aBin 4 years ago
parent
commit
741b2d63ca
  1. 27
      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

27
src/components/BiologicalSampleSearch/SampleTable.vue

@ -12,8 +12,11 @@
bordered
class="white pa-3"
>
<template slot="id" slot-scope="text, record, index">
<span>{{ index + 1 }}</span>
<template slot="sampleType" slot-scope="text, record">
<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>
</a-table>
</div>
@ -26,17 +29,17 @@ import { mapMutations, mapState } from 'vuex';
const columns = [
{
title: '序号',
title: '患者Id',
align: 'center',
dataIndex: 'id',
key: 'id',
scopedSlots: { customRender: 'id' },
dataIndex: 'patientInformationId',
key: 'patientInformationId',
scopedSlots: { customRender: 'patientInformationId' },
},
{
title: '医院',
align: 'center',
dataIndex: 'hospital',
key: 'hospital',
dataIndex: 'name',
key: 'name',
},
{
title: '住院号',
@ -47,14 +50,14 @@ const columns = [
{
title: '类型',
align: 'center',
dataIndex: 'type',
key: 'type',
dataIndex: 'sampleType',
key: 'sampleType',
},
{
title: '采集时间',
align: 'center',
dataIndex: 'acquisitionTime',
key: 'acquisitionTime',
dataIndex: 'collectTime',
key: 'collectTime',
},
];

33
src/components/BiologicalSampleSearch/Search.vue

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

9
src/config/api.js

@ -3,7 +3,7 @@
* @email: 18603454788@163.com
* @Date: 2021-01-29 11:16:27
* @LastEditors: wally
* @LastEditTime: 2021-02-18 16:20:23
* @LastEditTime: 2021-02-19 17:32:19
*/
import axios from 'axios';
let { proxyUrl, msgUrl } = require('@/config/setting');
@ -14,6 +14,7 @@ const imp = `${tcm}/import`; // 试题相关接口
const inpatient = `${tcm}/inpatient`; // 对照组接口
const statistics = `${tcm}/statistics`; // 数据统计相关接口
const conferenceRecords = `${tcm}/conferenceRecords`; // 会议纪要相关接口
const biologicalSamples = `${tcm}/biologicalSamples`; // 生物样本相关接口
// 保存患者病例信息
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 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>
<div class="d-flex flex-column">
<search @searchPatientMes="searchPatientMes" />
@ -8,7 +15,7 @@
<script>
import Search from 'components/BiologicalSampleSearch/Search.vue';
import SampleTable from 'components/BiologicalSampleSearch/SampleTable.vue';
import { selPatientMes } from 'config/api';
import { selBiologicalSamples } from 'config/api';
import { mapState, mapActions } from 'vuex';
export default {
@ -17,8 +24,11 @@ export default {
data() {
return {
lists: { pageNum: 1, pageSize: 10, total: 1, list: [] },
hospitalization: '',
inpatientId: '',
collectTime: '', //
hospitalId: '', // id
hospitalization: '', //
pageNum: 1, //
sampleType: '', //
};
},
@ -32,24 +42,31 @@ export default {
searchPatientMes(value) {
if (value) {
this.hospitalId = value.hospital;
this.collectTime = value.acquisitionTime;
this.hospitalization = value.inpatientNumber;
this.inpatientId = value.groupValue;
this.sampleType = value.sampleType;
}
this.handleSelPatientMes();
},
async handleSelPatientMes(pageNum = 1) {
async handleSelPatientMes(current) {
try {
const { hospitalization, inpatientId } = this;
if (current) {
this.pageNum = current;
}
const { collectTime, hospitalId, hospitalization, pageNum, sampleType } = this;
const params = {
param: {
hospitalization,
inpatientId,
pageNum,
pageSize: 10,
collectTime: collectTime, //
hospitalId: hospitalId, // id
hospitalization: hospitalization, //
pageNum: pageNum, //
pageSize: 10, //
sampleType: sampleType, //
},
};
const res = await selPatientMes(params);
const res = await selBiologicalSamples(params);
const { code, msg, data } = res.data;
if (code === 200) {
this.lists = data;

Loading…
Cancel
Save