Browse Source

细节修改

master
aBin 4 years ago
parent
commit
d70e20017c
  1. 16
      src/App.vue
  2. 2
      src/common/portrait.styl
  3. 4
      src/components/BtnCom/BtnCon.vue
  4. 2
      src/components/CaseTable/CaseTable.vue
  5. 7
      src/components/Echarts/PatientProgress.vue
  6. 141
      src/components/PatientInfo/PatientTable.vue
  7. 10
      src/components/PatientInfo/Search.vue
  8. 20
      src/config/api.js
  9. 4
      src/router/index.js
  10. 2
      src/store/modules/home/mutations.js
  11. 9
      src/store/modules/home/state.js
  12. 4
      src/views/BiologicalSampleSearch/BiologicalSampleSearch.vue
  13. 34
      src/views/BiologicalSamples/BiologicalSamples.vue
  14. 20
      src/views/CaseAnalysis/CaseAnalysis.vue
  15. 16
      src/views/CaseSearch/CaseSearch.vue
  16. 49
      src/views/PatientInfo/PatientInfo.vue
  17. 89
      src/views/ProjectAssistant/Examine.vue
  18. 97
      src/views/ProjectAssistant/General.vue
  19. 4
      src/views/SelectPatient/SelectPatient.vue

16
src/App.vue

@ -1,16 +1,15 @@
<!-- <!--
* @Author: wally * @Author: wally
* @email: 18603454788@163.com * @email: 18603454788@163.com
* @Date: 2021-02-22 09:20:03 * @Date: 2021-04-19 10:23:19
* @LastEditors: wally * @LastEditors: wally
* @LastEditTime: 2021-05-09 21:17:03 * @LastEditTime: 2021-05-11 18:45:33
--> -->
<template> <template>
<a-config-provider :locale="zh_CN"> <a-config-provider :locale="zh_CN">
<div class="d-flex flex-row flex-nowrap" id="app"> <div class="d-flex flex-row flex-nowrap" id="app">
<!-- <btn-con /> --> <!-- <btn-con /> -->
<router-view class="flex-1 bg pa-3"></router-view> <router-view class="flex-1 bg" style="padding: 6px"></router-view>
</div> </div>
</a-config-provider> </a-config-provider>
</template> </template>
@ -40,10 +39,11 @@ export default {
}, },
}, },
created() { created() {
// const userId = '1210049212671201280'; // async created() {
// const params = { userId }; // const userId = '1210049212671201280';
// await this.getUserId(params); // const params = { userId };
// await this.getToken(); // await this.getUserId(params);
// await this.getToken();
if (localStorage.getItem('patientId')) { if (localStorage.getItem('patientId')) {
this.setPatientId(localStorage.getItem('patientId')); this.setPatientId(localStorage.getItem('patientId'));
} }

2
src/common/portrait.styl

@ -202,7 +202,7 @@
position: fixed; position: fixed;
height: 40px; height: 40px;
right: 50px; right: 50px;
bottom: 50px; bottom: 150px;
} }
.bot-right-tips { .bot-right-tips {
position: fixed; position: fixed;

4
src/components/BtnCom/BtnCon.vue

@ -3,8 +3,8 @@
<div @click="jump('/')" class="btn">首页数据统计</div> <div @click="jump('/')" class="btn">首页数据统计</div>
<div @click="jump('/meeting')" class="btn">会议纪要</div> <div @click="jump('/meeting')" class="btn">会议纪要</div>
<div @click="jump('/MeetingPreview')" class="btn">会议查看</div> <div @click="jump('/MeetingPreview')" class="btn">会议查看</div>
<div @click="jump('/selectPatient')" class="btn">选择患者信息</div> <div @click="jump('/selectPatient')" class="btn">选择病例信息</div>
<div @click="jump('/patientInfo')" class="btn">患者信息录入</div> <div @click="jump('/patientInfo')" class="btn">病例信息录入</div>
<div @click="jump('/caseSearch')" class="btn">病例搜索</div> <div @click="jump('/caseSearch')" class="btn">病例搜索</div>
<div @click="jump('/caseAnalysis')" class="btn">病例分析</div> <div @click="jump('/caseAnalysis')" class="btn">病例分析</div>
<div @click="jump('/biologicalSamples')" class="btn">生物样本</div> <div @click="jump('/biologicalSamples')" class="btn">生物样本</div>

2
src/components/CaseTable/CaseTable.vue

@ -21,6 +21,8 @@
<span v-else-if="record.inputStatus === 2">数据收集按时完成</span> <span v-else-if="record.inputStatus === 2">数据收集按时完成</span>
<span v-else-if="record.inputStatus === 3">数据收集超时中</span> <span v-else-if="record.inputStatus === 3">数据收集超时中</span>
<span v-else-if="record.inputStatus === 4">废弃</span> <span v-else-if="record.inputStatus === 4">废弃</span>
<span v-else-if="record.inputStatus === 5">审核通过</span>
<span v-else-if="record.inputStatus === 6">已结算</span>
</template> </template>
<template slot="id" slot-scope="text, record"> <template slot="id" slot-scope="text, record">
<a-icon @click="showEditModal(record.id, record.inputStatus)" class="pointer pointerEdit" theme="twoTone" type="edit" /> <a-icon @click="showEditModal(record.id, record.inputStatus)" class="pointer pointerEdit" theme="twoTone" type="edit" />

7
src/components/Echarts/PatientProgress.vue

@ -27,6 +27,7 @@ export default {
dataList: [], dataList: [],
series: [], // series: [], //
colorList: ['#5470C6', '#91CC75', '#FAC858', '#EE6666', '#73C0DE'], colorList: ['#5470C6', '#91CC75', '#FAC858', '#EE6666', '#73C0DE'],
fullwidth: '',
}; };
}, },
watch: { watch: {
@ -94,6 +95,12 @@ export default {
}, },
mounted() { mounted() {
this.init(this.drawLine); this.init(this.drawLine);
const that = this;
window.onresize = () => {
return (() => {
that.init(this.drawLine);
})();
};
}, },
methods: { methods: {
drawLine() { drawLine() {

141
src/components/PatientInfo/PatientTable.vue

@ -37,68 +37,89 @@
</template> </template>
<template slot="edit" slot-scope="text, record"> <template slot="edit" slot-scope="text, record">
<a-button @click="showModal(record.id, record.hospitalization, record.code)" class="mr-4" size="small" type="primary"> <div class="d-flex flex-column">
<a-popconfirm placement="left" ok-text="确定" cancel-text="取消" @confirm="handleOk">
<a-icon slot="icon" type="question-circle" />
<template slot="title">
<div style="width: auto">
您是否要为<br />住院号为{{ hospitalization }} , 研究编号为: {{ recordCode }}<br />的病例进行信息录入
</div>
</template>
<a-button @click="showModal(record.id, record.hospitalization, record.code)" size="small" type="primary"> 选择 </a-button>
</a-popconfirm>
<!-- <a-button @click="showModal(record.id, record.hospitalization, record.code)" class="mr-4" size="small" type="primary">
选择 选择
</a-button> </a-button> -->
<a-button type="primary" size="small" class="mr-4" @click="details(record.id, record.hospitalization, record.code)"> <a-button type="primary" size="small" class="mt-4" @click="details(record.id, record.hospitalization, record.code)">
查看详情 查看详情
</a-button> </a-button>
<a-button v-if="record.inputStatus < 5" size="small" type="primary" @click="showStatus(record.id, record.inputStatus)"> <a-popconfirm placement="left" ok-text="确定" cancel-text="取消" @confirm="submit(record.id)">
修改状态 <!-- <a-icon slot="icon" type="none" /> -->
</a-button> <a-icon slot="icon" type="exclamation-circle" />
<template slot="title">
<div>修改状态:</div>
<a-radio-group v-model="recordStatus">
<a-radio :style="radioStyle" v-for="(a, b) in status" :value="b" :key="b"> {{ a }} </a-radio>
</a-radio-group>
</template>
<a-button class="mt-4" v-if="record.inputStatus < 5" size="small" type="primary" @click="handleChange(record.inputStatus)">
修改状态
</a-button>
</a-popconfirm>
</div>
</template> </template>
</a-table> </a-table>
</div> </div>
<a-empty v-else /> <a-empty v-else />
<a-modal title="选择患者" width="600px" v-model="visible" @ok="handleOk" @cancel="handleCancel"> <!-- <a-modal title="选择病例" width="600px" v-model="visible" @ok="handleOk" @cancel="handleCancel">
是否要录入住院号为 是否要录入住院号为
<span style="color: green">{{ hospitalization }}</span> <span style="color: green">{{ hospitalization }}</span>
, 研究编号为: , 研究编号为:
<span style="color: green">{{ recordCode }}</span> <span style="color: green">{{ recordCode }}</span>
, 的患者的相关数据 , 的病例的相关数据
</a-modal> </a-modal> -->
<a-modal title="修改状态" width="600px" v-model="statusModal" @ok="submit">
<a-select :default-value="recordStatus" style="width: 240px" @change="handleChange">
<a-select-option v-for="(item, index) in status" :value="index" :key="index"> {{ item }} </a-select-option>
</a-select>
</a-modal>
</div> </div>
</template> </template>
<script> <script>
import { mapMutations, mapState } from 'vuex'; import { mapMutations, mapState } from 'vuex';
import { generatePatientReport, upPatientMes } from 'config/api'; import { checkPatientComplete, upPatientMes } from 'config/api';
const columns = [ const columns = [
{ // {
title: '序号', // title: '',
align: 'center', // align: 'center',
dataIndex: 'id', // dataIndex: 'id',
key: 'id', // width: 60,
scopedSlots: { customRender: 'id' }, // key: 'id',
}, // scopedSlots: { customRender: 'id' },
// },
{ {
title: '研究编号', title: '研究编号',
align: 'center', align: 'center',
dataIndex: 'code', dataIndex: 'code',
width: 100,
key: 'code', key: 'code',
}, },
{ {
title: '住院号', title: '住院号',
align: 'center', align: 'center',
dataIndex: 'hospitalization', dataIndex: 'hospitalization',
width: 160,
key: 'hospitalization', key: 'hospitalization',
}, },
{ {
title: '主治医生', title: '主治医生',
align: 'center', align: 'center',
dataIndex: 'doctorName', dataIndex: 'doctorName',
width: 100,
key: 'doctorName', key: 'doctorName',
}, },
{ {
title: '组别', title: '组别',
align: 'center', align: 'center',
dataIndex: 'name', dataIndex: 'name',
width: 160,
key: 'name', key: 'name',
}, },
{ {
@ -106,6 +127,7 @@ const columns = [
align: 'center', align: 'center',
dataIndex: 'inputStatus', dataIndex: 'inputStatus',
key: 'inputStatus', key: 'inputStatus',
width: 120,
scopedSlots: { customRender: 'inputStatus' }, scopedSlots: { customRender: 'inputStatus' },
}, },
{ {
@ -113,7 +135,8 @@ const columns = [
align: 'center', align: 'center',
dataIndex: 'edit', dataIndex: 'edit',
key: 'edit', key: 'edit',
width: 300, width: 80,
textAlign: 'center',
scopedSlots: { customRender: 'edit' }, scopedSlots: { customRender: 'edit' },
}, },
]; ];
@ -127,15 +150,20 @@ export default {
return { return {
columns, columns,
loading: false, loading: false,
visible: false,
hasPatientId: false, hasPatientId: false,
patientId: '', // Id patientId: '', // Id
hospitalization: '', // hospitalization: '', //
recordCode: '', // recordCode: '', //
status: ['新建', '数据搜集中', '数据搜集完成', '数据搜集超时', '废弃'], status: ['新建', '数据搜集中', '数据搜集完成', '数据搜集超时', '废弃'],
statusModal: false, statusModal: false,
recordStatus: 0, recordStatus: 0,
recordId: '', recordId: '',
radioStyle: {
width: '200px',
display: 'block',
height: '30px',
lineHeight: '30px',
},
}; };
}, },
@ -156,26 +184,21 @@ export default {
this.patientId = id; this.patientId = id;
this.hospitalization = hospitalization; this.hospitalization = hospitalization;
this.recordCode = recordCode; this.recordCode = recordCode;
this.visible = true;
},
handleCancel(e) {
this.visible = false;
this.visible1 = false;
}, },
handleOk() { handleOk() {
this.chooseItem(this.patientId, this.hospitalization, this.recordCode); this.chooseItem(this.patientId, this.hospitalization, this.recordCode);
this.visible1 = true;
}, },
handleChange(e) { handleChange(e) {
this.recordType = e; this.recordStatus = e;
}, },
// //
async submit() { async submit(id) {
try { try {
const params = { const params = {
param: { param: {
id: this.recordId, id,
inputStatus: this.recordType, inputStatus: typeof this.recordStatus === 'number' ? this.recordStatus : this.recordStatus.target.value,
}, },
}; };
const res = await upPatientMes(params); const res = await upPatientMes(params);
@ -192,23 +215,32 @@ export default {
} }
}, },
// //
async chooseItem(id, hospitalization, recordCode) { chooseItem(id, hospitalization, recordCode) {
this.setPatientId(id);
this.setHospitalization(hospitalization);
this.setRecordCode(recordCode);
localStorage.setItem('patientId', id);
localStorage.setItem('hospitalization', hospitalization);
localStorage.setItem('recordCode', recordCode);
this.generator(id, hospitalization);
},
//
async generator(patientId, serialNumber) {
try { try {
this.setPatientId(id); const params = {
this.setHospitalization(hospitalization); param: {
this.setRecordCode(recordCode); patientId,
localStorage.setItem('patientId', id); serialNumber,
localStorage.setItem('hospitalization', hospitalization); },
localStorage.setItem('recordCode', recordCode); };
const params = { param: { patientId: id } }; const res = await checkPatientComplete(params);
const res = await generatePatientReport(params);
const { code, msg, data } = res.data; const { code, msg, data } = res.data;
console.log(data);
if (code === 200) { if (code === 200) {
console.log(data); console.log(data);
localStorage.setItem('reportId', data.id); localStorage.setItem('reportId', data.id);
} }
if (localStorage.getItem('patientId') && localStorage.getItem('hospitalization')) { if (localStorage.getItem('patientId') && localStorage.getItem('hospitalization')) {
this.visible = false;
this.$message.success('选择成功'); this.$message.success('选择成功');
this.setShowTable(1); this.setShowTable(1);
} }
@ -216,13 +248,13 @@ export default {
console.log(error); console.log(error);
} }
}, },
//
handleTableChange(pagination) { handleTableChange(pagination) {
const { current } = pagination; const { current } = pagination;
this.$emit('handleSelPatientMes', current); this.$emit('handleSelPatientMes', current);
}, },
// //
details(Id, hospitalization, code) { details(Id, hospitalization, code) {
this.setPatientId(Id); this.setPatientId(Id);
this.setHospitalization(hospitalization); this.setHospitalization(hospitalization);
@ -232,13 +264,6 @@ export default {
localStorage.setItem('recordCode', code); localStorage.setItem('recordCode', code);
this.$router.push('/patientInfo'); this.$router.push('/patientInfo');
}, },
//
showStatus(id, inputStatus) {
this.recordId = id;
this.recordStatus = inputStatus;
this.statusModal = true;
},
}, },
}; };
</script> </script>

10
src/components/PatientInfo/Search.vue

@ -3,7 +3,7 @@
* @email: 18603454788@163.com * @email: 18603454788@163.com
* @Date: 2021-04-19 10:23:19 * @Date: 2021-04-19 10:23:19
* @LastEditors: wally * @LastEditors: wally
* @LastEditTime: 2021-05-06 14:55:47 * @LastEditTime: 2021-05-11 11:14:47
--> -->
<template> <template>
<!-- search --> <!-- search -->
@ -11,17 +11,17 @@
<div class="d-flex flex-row flex-nowrap"> <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-form-item>
<a-input placeholder="研究编号" style="width: 14em" v-decorator="['code']" /> <a-input placeholder="研究编号" style="width: 10em" v-decorator="['code']" />
</a-form-item> </a-form-item>
<a-form-item> <a-form-item>
<a-input placeholder="住院号" style="width: 14em" v-decorator="['hospitalization']" /> <a-input placeholder="住院号" style="width: 10em" v-decorator="['hospitalization']" />
</a-form-item> </a-form-item>
<a-form-item> <a-form-item>
<a-select placeholder="请选择组别" style="min-width: 450px" v-decorator="['groupValue']" allow-clear> <a-select placeholder="请选择组别" style="min-width: 160px" v-decorator="['groupValue']" allow-clear>
<a-select-option :key="item.id" :value="item.id" v-for="item in controlGroups">{{ item.name }}</a-select-option> <a-select-option :key="item.id" :value="item.id" v-for="item in controlGroups">{{ item.name }}</a-select-option>
</a-select> </a-select>
</a-form-item> </a-form-item>
<a-button class="mr-4" html-type="submit" icon="search" type="primary">搜索</a-button> <a-button class="mr-2" html-type="submit" icon="search" type="primary">搜索</a-button>
</a-form> </a-form>
<div class="flex-1"></div> <div class="flex-1"></div>
<a-button @click="showModal" class="mt-1" html-type="submit" icon="plus" type="primary">新增</a-button> <a-button @click="showModal" class="mt-1" html-type="submit" icon="plus" type="primary">新增</a-button>

20
src/config/api.js

@ -3,14 +3,14 @@
* @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-05-08 19:25:11 * @LastEditTime: 2021-05-11 18:33:24
*/ */
import axios from 'axios'; import axios from 'axios';
let { proxyUrl } = require('@/config/setting'); let { proxyUrl } = require('@/config/setting');
const tcm = `${proxyUrl}/tcm`; const tcm = `${proxyUrl}/tcm`;
const question = `${proxyUrl}/question`; const question = `${proxyUrl}/question`;
const patient = `${tcm}/patient`; // 患者相关接口 const patient = `${tcm}/patient`; // 病例相关接口
const imp = `${tcm}/import`; // 试题相关接口 const imp = `${tcm}/import`; // 试题相关接口
const inpatient = `${tcm}/inpatient`; // 组别接口 const inpatient = `${tcm}/inpatient`; // 组别接口
const statistics = `${tcm}/statistics`; // 数据统计相关接口 const statistics = `${tcm}/statistics`; // 数据统计相关接口
@ -28,19 +28,19 @@ export const getHId = params => axios.get(`${hospatil}/byProjectId?projectId=${p
// 查询医院列表 // 查询医院列表
export const getHList = params => axios.get(`${hospatil}/selHospatil`); export const getHList = params => axios.get(`${hospatil}/selHospatil`);
// 保存患者病例信息 // 保存病例病例信息
export const saveCaseMes = params => axios.post(`${patient}/saveCaseMes`, params); export const saveCaseMes = params => axios.post(`${patient}/saveCaseMes`, params);
// 添加患者基本信息 // 添加病例基本信息
export const savePatientMes = params => axios.post(`${patient}/savePatientMes`, params); export const savePatientMes = params => axios.post(`${patient}/savePatientMes`, params);
// 修改患者录入状态 // 修改病例录入状态
export const upPatientMes = params => axios.post(`${patient}/upPatientMes`, params); export const upPatientMes = params => axios.post(`${patient}/upPatientMes`, params);
// 查询患者基本信息 // 查询病例基本信息
export const selPatientMes = params => axios.post(`${patient}/selPatientMes`, params); export const selPatientMes = params => axios.post(`${patient}/selPatientMes`, params);
// 通过搜索条件查询患者病例的信息 // 通过搜索条件查询病例病例的信息
export const selPatientMesList = params => axios.post(`${patient}/selPatientMesList`, params); export const selPatientMesList = params => axios.post(`${patient}/selPatientMesList`, params);
// 通过查询搜索条件 // 通过查询搜索条件
@ -70,7 +70,7 @@ export const countCase = params => axios.post(`${statistics}/countCase`, params)
// 统计生物样本数量 // 统计生物样本数量
export const selAllYBS = params => axios.get(`${biologicalSamples}/selAllYBS`); export const selAllYBS = params => axios.get(`${biologicalSamples}/selAllYBS`);
// 获取某个患者的生物样本 // 获取某个病例的生物样本
export const queryByPatient = params => axios.post(`${biologicalSamples}/queryByPatient`, params); export const queryByPatient = params => axios.post(`${biologicalSamples}/queryByPatient`, params);
// 添加会议记录 // 添加会议记录
@ -91,14 +91,14 @@ export const selBiologicalSamples = params => axios.post(`${biologicalSamples}/s
// 搜索某个医院的病例完成情况 // 搜索某个医院的病例完成情况
export const selByHosAllYBS = params => axios.post(`${biologicalSamples}/selByHosAllYBS`, params); export const selByHosAllYBS = params => axios.post(`${biologicalSamples}/selByHosAllYBS`, params);
// 进行中的患者进度 // 进行中的病例进度
export const patientProgress = params => axios.post(`${statistics}/selPatientProgress`, params); export const patientProgress = params => axios.post(`${statistics}/selPatientProgress`, params);
// 临近任务统计 // 临近任务统计
export const adjacentTasks = params => axios.post(`${statistics}/adjacentTasks`, params); export const adjacentTasks = params => axios.post(`${statistics}/adjacentTasks`, params);
// 生成报告单 // 生成报告单
export const generatePatientReport = params => axios.post(`${question}/generatePatientReport`, params); export const checkPatientComplete = params => axios.post(`${question}/checkPatientComplete`, params);
// 查询认知量表的搜索条件 // 查询认知量表的搜索条件
export const searchParam = params => axios.post(`${question}/patientReport/searchParam`, params); export const searchParam = params => axios.post(`${question}/patientReport/searchParam`, params);

4
src/router/index.js

@ -23,13 +23,13 @@ const routes = [
name: 'MeetingPreview', name: 'MeetingPreview',
component: () => import('@/views/Meeting/MeetingPreview.vue'), component: () => import('@/views/Meeting/MeetingPreview.vue'),
}, },
// 选择患者信息 // 选择病例信息
{ {
path: '/selectPatient', path: '/selectPatient',
name: 'SelectPatient', name: 'SelectPatient',
component: () => import('@/views/SelectPatient/SelectPatient.vue'), component: () => import('@/views/SelectPatient/SelectPatient.vue'),
}, },
// 患者信息录入 // 病例信息录入
{ {
path: '/patientInfo', path: '/patientInfo',
name: 'PatientInfo', name: 'PatientInfo',

2
src/store/modules/home/mutations.js

@ -98,7 +98,7 @@ const mutations = {
}, },
/** /**
* 设置选择患者信息界面是否显示列表 * 设置选择病例信息界面是否显示列表
* @param {object} state * @param {object} state
* @param {object} data * @param {object} data
*/ */

9
src/store/modules/home/state.js

@ -1,17 +1,10 @@
/*
* @Author: wally
* @email: 18603454788@163.com
* @Date: 2021-02-22 09:20:03
* @LastEditors: wally
* @LastEditTime: 2021-05-09 21:10:40
*/
const state = { const state = {
anyringToken: '', anyringToken: '',
user: { id: '', phone: '', account: '' }, user: { id: '', phone: '', account: '' },
controlGroups: [], // 组别 controlGroups: [], // 组别
patientId: '', // 病患id patientId: '', // 病患id
hospitalization: '', // 病患住院号 hospitalization: '', // 病患住院号
recordCode: '', // 患者研究编号 recordCode: '', // 病例研究编号
previewInfo: { host: '', place: '', startTime: '', endTime: '', participants: '', meetingMinutes: '', discussionContent: '' }, // 预览信息 previewInfo: { host: '', place: '', startTime: '', endTime: '', participants: '', meetingMinutes: '', discussionContent: '' }, // 预览信息
ptProps: { userId: '1' }, // 接受PT传过来的 pluginId,projectId,roleId,taskId,userId ptProps: { userId: '1' }, // 接受PT传过来的 pluginId,projectId,roleId,taskId,userId
hospitalId: '', // 医院Id hospitalId: '', // 医院Id

4
src/views/BiologicalSampleSearch/BiologicalSampleSearch.vue

@ -26,7 +26,7 @@ export default {
lists: { pageNum: 1, pageSize: 10, total: 1, list: [] }, lists: { pageNum: 1, pageSize: 10, total: 1, list: [] },
collectTime: '', // collectTime: '', //
hospitalId: '', // id hospitalId: '', // id
hospitalization: '', // hospitalization: '', //
pageNum: 1, // pageNum: 1, //
sampleType: '', // sampleType: '', //
codes: '', codes: '',
@ -62,7 +62,7 @@ export default {
param: { param: {
collectTime, // collectTime, //
hospitalId, // id hospitalId, // id
hospitalization, // hospitalization, //
pageNum, // pageNum, //
pageSize: 10, // pageSize: 10, //
sampleTypes, // sampleTypes, //

34
src/views/BiologicalSamples/BiologicalSamples.vue

@ -4,10 +4,10 @@
<div class="metting"> <div class="metting">
<a-card :bordered="false" title="生物样本"> <a-card :bordered="false" title="生物样本">
<a-form :form="form" @submit="handleSubmit"> <a-form :form="form" @submit="handleSubmit">
<!-- 患者编号 --> <!-- 病例编号 -->
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="研究编号"> <a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="研究编号" required>
<a-input <!-- <a-input
:disabled="showrzlb" v-if="!showrzlb"
placeholder="研究编号" placeholder="研究编号"
v-decorator="[ v-decorator="[
'inpatientNumber', 'inpatientNumber',
@ -20,7 +20,8 @@
initialValue: recordCode, initialValue: recordCode,
}, },
]" ]"
/> /> -->
<span>{{ recordCode }}</span>
</a-form-item> </a-form-item>
<!-- 样本类型 --> <!-- 样本类型 -->
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="样本类型" required> <a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="样本类型" required>
@ -32,13 +33,13 @@
</a-checkbox-group> </a-checkbox-group>
</a-form-item> </a-form-item>
<!-- 样本类型 --> <!-- 样本类型 -->
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="采集时间" required> <a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="采集时间">
<a-select placeholder="请选择采集时间" style="min-width: 150px" v-decorator="['acquisitionTime']" allow-clear> <!-- <a-select placeholder="请选择采集时间" style="min-width: 150px" v-decorator="['acquisitionTime']" allow-clear>
<!-- {
initialValue: callback,
}, -->
<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-radio-group name="radioGroup" v-decorator="['acquisitionTime', { initialValue: 0 }]">
<a-radio :key="t.id" :value="t.id" v-for="t in acquisitionTime"> {{ t.title }} </a-radio>
</a-radio-group>
</a-form-item> </a-form-item>
<a-form-item class="d-flex flex-row-reverse"> <a-form-item class="d-flex flex-row-reverse">
@ -121,15 +122,12 @@ export default {
this.$message.error('请填写完整信息'); this.$message.error('请填写完整信息');
return; return;
} }
if (!values.acquisitionTime && values.acquisitionTime !== 0) {
this.$message.error('请填写完整信息');
return;
}
try { try {
const { sampleType, recordCode } = this;
const param = { const param = {
sampleTypes: this.sampleType, sampleTypes: sampleType,
code: values.inpatientNumber, code: recordCode,
collectTime: values.acquisitionTime, collectTime: values.acquisitionTime ? values.acquisitionTime : 0,
}; };
const params = { param }; const params = { param };
const res = await addBiologicalSamples(params); const res = await addBiologicalSamples(params);

20
src/views/CaseAnalysis/CaseAnalysis.vue

@ -15,7 +15,7 @@
</a-select> </a-select>
</a-form-item> </a-form-item>
<a-form-item> <a-form-item>
<a-input placeholder="患者患者编号" style="width: 14em" v-model="setObj.hospitalization" /> <a-input placeholder="病例病例编号" style="width: 14em" v-model="setObj.hospitalization" />
</a-form-item> </a-form-item>
<a-form-item> <a-form-item>
<a-select @change="chooseHos($event, 3)" allow-clear placeholder="请选择录入状态" style="min-width: 150px"> <a-select @change="chooseHos($event, 3)" allow-clear placeholder="请选择录入状态" style="min-width: 150px">
@ -64,6 +64,7 @@
:default-file-list="fileList" :default-file-list="fileList"
:headers="headers" :headers="headers"
@change="fileChange($event, a.id)" @change="fileChange($event, a.id)"
:before-upload="beforeUpload1"
list-type="picture" list-type="picture"
name="files" name="files"
v-else-if="a.type === 7" v-else-if="a.type === 7"
@ -191,6 +192,7 @@
:headers="headers" :headers="headers"
@change="fileChange($event, h.id)" @change="fileChange($event, h.id)"
list-type="picture" list-type="picture"
:before-upload="beforeUpload1"
name="files" name="files"
v-else-if="h.type === 7" v-else-if="h.type === 7"
> >
@ -453,6 +455,7 @@
:headers="headers" :headers="headers"
@change="fileChange($event, h.id)" @change="fileChange($event, h.id)"
list-type="picture" list-type="picture"
:before-upload="beforeUpload1"
name="files" name="files"
v-else-if="h.type === 7" v-else-if="h.type === 7"
> >
@ -726,6 +729,7 @@
:default-file-list="fileList" :default-file-list="fileList"
:headers="headers" :headers="headers"
@change="fileChange($event, e.id, e.recordId)" @change="fileChange($event, e.id, e.recordId)"
:before-upload="beforeUpload1"
list-type="picture" list-type="picture"
name="files" name="files"
v-else-if="e.type === 7" v-else-if="e.type === 7"
@ -856,6 +860,7 @@
:headers="headers" :headers="headers"
@change="fileChange($event, h.id)" @change="fileChange($event, h.id)"
list-type="picture" list-type="picture"
:before-upload="beforeUpload1"
name="files" name="files"
v-else-if="h.type === 7" v-else-if="h.type === 7"
> >
@ -1117,6 +1122,7 @@
:headers="headers" :headers="headers"
@change="fileChange($event, h.id)" @change="fileChange($event, h.id)"
list-type="picture" list-type="picture"
:before-upload="beforeUpload1"
name="files" name="files"
v-else-if="h.type === 7" v-else-if="h.type === 7"
> >
@ -1396,6 +1402,12 @@ export default {
tailItemLayout, tailItemLayout,
form: this.$form.createForm(this, { name: 'page-add' }), form: this.$form.createForm(this, { name: 'page-add' }),
form1: this.$form.createForm(this, { name: 'search' }), form1: this.$form.createForm(this, { name: 'search' }),
beforeUpload1: file => {
if (file.size > 10 * 1024 * 1024) {
this.$message.error('图片最大不得大于10M');
return false;
}
},
hospitals: [], hospitals: [],
value: 1, value: 1,
radioStyle: { radioStyle: {
@ -1409,7 +1421,7 @@ export default {
numList: [1, 2, 3, 4, 5], numList: [1, 2, 3, 4, 5],
setObj: { setObj: {
hospitalId: '', // Id hospitalId: '', // Id
hospitalization: '', // hospitalization: '', //
inpatientId: '', // Id inpatientId: '', // Id
inputStatus: '', // inputStatus: '', //
}, },
@ -1943,7 +1955,7 @@ export default {
const objList = list[indexA].subReportCodes[indexB]; const objList = list[indexA].subReportCodes[indexB];
const params = { const params = {
param: { param: {
hospitalId: this.hospitalId, patientId: this.patientId,
code: title, code: title,
url: info.file.response.data[0].visitUrl, url: info.file.response.data[0].visitUrl,
}, },
@ -2093,7 +2105,7 @@ export default {
conditionList: this.contentList, conditionList: this.contentList,
conditionListDate: this.conditionListDate, conditionListDate: this.conditionListDate,
hospitalId: this.setObj.hospitalId, // id hospitalId: this.setObj.hospitalId, // id
hospitalization: this.setObj.hospitalization, // hospitalization: this.setObj.hospitalization, //
inpatientId: this.inpatientList, // id inpatientId: this.inpatientList, // id
inputStatus: this.setObj.inputStatus, // inputStatus: this.setObj.inputStatus, //
reportParams: this.caseAnswer, // reportParams: this.caseAnswer, //

16
src/views/CaseSearch/CaseSearch.vue

@ -8,7 +8,7 @@
</a-select> </a-select>
</a-form-item> </a-form-item>
<a-form-item> <a-form-item>
<a-input placeholder="患者编号" style="width: 14em" v-model="setObj.hospitalization" /> <a-input placeholder="病例编号" style="width: 14em" v-model="setObj.hospitalization" />
</a-form-item> </a-form-item>
<a-form-item> <a-form-item>
<a-select @change="chooseHos($event, 2)" allow-clear placeholder="请选择组别" style="min-width: 450px"> <a-select @change="chooseHos($event, 2)" allow-clear placeholder="请选择组别" style="min-width: 450px">
@ -61,6 +61,7 @@
:default-file-list="fileList" :default-file-list="fileList"
:headers="headers" :headers="headers"
@change="fileChange($event, a.id)" @change="fileChange($event, a.id)"
:before-upload="beforeUpload1"
list-type="picture" list-type="picture"
name="files" name="files"
v-else-if="a.type === 7" v-else-if="a.type === 7"
@ -188,6 +189,7 @@
:headers="headers" :headers="headers"
@change="fileChange($event, h.id)" @change="fileChange($event, h.id)"
list-type="picture" list-type="picture"
:before-upload="beforeUpload1"
name="files" name="files"
v-else-if="h.type === 7" v-else-if="h.type === 7"
> >
@ -450,6 +452,7 @@
:headers="headers" :headers="headers"
@change="fileChange($event, h.id)" @change="fileChange($event, h.id)"
list-type="picture" list-type="picture"
:before-upload="beforeUpload1"
name="files" name="files"
v-else-if="h.type === 7" v-else-if="h.type === 7"
> >
@ -724,6 +727,7 @@
:headers="headers" :headers="headers"
@change="fileChange($event, e.id, e.recordId)" @change="fileChange($event, e.id, e.recordId)"
list-type="picture" list-type="picture"
:before-upload="beforeUpload1"
name="files" name="files"
v-else-if="e.type === 7" v-else-if="e.type === 7"
> >
@ -853,6 +857,7 @@
:headers="headers" :headers="headers"
@change="fileChange($event, h.id)" @change="fileChange($event, h.id)"
list-type="picture" list-type="picture"
:before-upload="beforeUpload1"
name="files" name="files"
v-else-if="h.type === 7" v-else-if="h.type === 7"
> >
@ -1114,6 +1119,7 @@
:headers="headers" :headers="headers"
@change="fileChange($event, h.id)" @change="fileChange($event, h.id)"
list-type="picture" list-type="picture"
:before-upload="beforeUpload1"
name="files" name="files"
v-else-if="h.type === 7" v-else-if="h.type === 7"
> >
@ -1375,6 +1381,12 @@ export default {
tailItemLayout, tailItemLayout,
form: this.$form.createForm(this, { name: 'page-add' }), form: this.$form.createForm(this, { name: 'page-add' }),
form1: this.$form.createForm(this, { name: 'search' }), form1: this.$form.createForm(this, { name: 'search' }),
beforeUpload1: file => {
if (file.size > 10 * 1024 * 1024) {
this.$message.error('图片最大不得大于10M');
return false;
}
},
hospitals: [], hospitals: [],
value: 1, value: 1,
radioStyle: { radioStyle: {
@ -1889,7 +1901,7 @@ export default {
const objList = list[indexA].subReportCodes[indexB]; const objList = list[indexA].subReportCodes[indexB];
const params = { const params = {
param: { param: {
hospitalId: this.hospitalId, patientId: this.patientId,
code: title, code: title,
url: info.file.response.data[0].visitUrl, url: info.file.response.data[0].visitUrl,
}, },

49
src/views/PatientInfo/PatientInfo.vue

@ -42,6 +42,7 @@
:default-file-list="fileList" :default-file-list="fileList"
:headers="headers" :headers="headers"
@change="fileChange($event, a.id)" @change="fileChange($event, a.id)"
:before-upload="beforeUpload1"
list-type="picture" list-type="picture"
name="files" name="files"
v-if="code || showrzlb" v-if="code || showrzlb"
@ -167,6 +168,7 @@
:headers="headers" :headers="headers"
@change="fileChange($event, h.id)" @change="fileChange($event, h.id)"
list-type="picture" list-type="picture"
:before-upload="beforeUpload1"
name="files" name="files"
v-if="code || showrzlb" v-if="code || showrzlb"
> >
@ -428,6 +430,7 @@
:default-file-list="fileList" :default-file-list="fileList"
:headers="headers" :headers="headers"
@change="fileChange($event, h.id)" @change="fileChange($event, h.id)"
:before-upload="beforeUpload1"
list-type="picture" list-type="picture"
name="files" name="files"
v-if="code || showrzlb" v-if="code || showrzlb"
@ -644,6 +647,7 @@
<a-upload <a-upload
v-if="w.recordType && (getCode || code || showrzlb)" v-if="w.recordType && (getCode || code || showrzlb)"
name="files" name="files"
:before-upload="beforeUpload"
:multiple="true" :multiple="true"
:action="action" :action="action"
:headers="headers" :headers="headers"
@ -700,6 +704,7 @@
:default-file-list="fileList" :default-file-list="fileList"
:headers="headers" :headers="headers"
@change="fileChange($event, e.id, e.recordId)" @change="fileChange($event, e.id, e.recordId)"
:before-upload="beforeUpload1"
list-type="picture" list-type="picture"
name="files" name="files"
v-if="code || showrzlb" v-if="code || showrzlb"
@ -827,6 +832,7 @@
:default-file-list="fileList" :default-file-list="fileList"
:headers="headers" :headers="headers"
@change="fileChange($event, h.id)" @change="fileChange($event, h.id)"
:before-upload="beforeUpload1"
list-type="picture" list-type="picture"
name="files" name="files"
v-if="code || showrzlb" v-if="code || showrzlb"
@ -1093,6 +1099,7 @@
:default-file-list="fileList" :default-file-list="fileList"
:headers="headers" :headers="headers"
@change="fileChange($event, h.id)" @change="fileChange($event, h.id)"
:before-upload="beforeUpload1"
list-type="picture" list-type="picture"
name="files" name="files"
v-if="code || showrzlb" v-if="code || showrzlb"
@ -1332,14 +1339,14 @@
@change="changeDate" @change="changeDate"
/>--> />-->
<div class="bot-right-tips"> <div class="bot-right-tips">
当前选择患者的住院号为 当前选择病例的住院号为
<span style="color: green">{{ hospitalization }}</span> <span style="color: green">{{ hospitalization }}</span>
,研究编号为 ,研究编号为
<span style="color: green">{{ recordCode }}</span> <span style="color: green">{{ recordCode }}</span>
</div> </div>
<a-button @click="choosePatient" class="choose-btn" type="primary"> <a-button @click="choosePatient" class="choose-btn" type="primary">
<a-icon type="retweet" /> <a-icon type="retweet" />
重新选择患者 重新选择病例
</a-button> </a-button>
<a-button <a-button
v-if="list.length > 0 && typeof tabNums === 'number' && (getCode || code || showrzlb)" v-if="list.length > 0 && typeof tabNums === 'number' && (getCode || code || showrzlb)"
@ -1352,8 +1359,11 @@
</a-button> </a-button>
<a-modal :confirm-loading="confirmLoading" :visible="visible" @cancel="handleCancel" @ok="setData" title="提示"> <a-modal :confirm-loading="confirmLoading" :visible="visible" @cancel="handleCancel" @ok="setData" title="提示">
<p> <p>
是否提交患者编号为 是否提交病例编号为
<span style="color: green">{{ hospitalization }}</span> 的患者的信息 <span style="color: green">{{ hospitalization }}</span>
,研究编号为
<span style="color: green">{{ recordCode }}</span>
的病例的信息
</p> </p>
</a-modal> </a-modal>
</div> </div>
@ -1395,6 +1405,33 @@ export default {
formItemLayout1, formItemLayout1,
tailItemLayout, tailItemLayout,
form: this.$form.createForm(this, { name: 'page-add' }), form: this.$form.createForm(this, { name: 'page-add' }),
beforeUpload: file => {
let reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = () => {
const image = new Image();
image.src = reader.result;
image.onload = () => {
let w = image.width;
let h = image.height;
// if (w < 15 || h < 15) {
// this.$message.error('15px');
// return false;
// }
// if (w > 4096 || h > 4096) {
// this.$message.error('4096px');
// return false;
// }
// console.log('', w, h);
};
};
},
beforeUpload1: file => {
if (file.size > 10 * 1024 * 1024) {
this.$message.error('图片最大不得大于10M');
return false;
}
},
value: 1, value: 1,
checked: true, checked: true,
radioStyle: { radioStyle: {
@ -1468,7 +1505,7 @@ export default {
methods: { methods: {
...mapMutations('home', ['setCallback']), ...mapMutations('home', ['setCallback']),
/** /**
* 重新选择患者 * 重新选择病例
*/ */
choosePatient() { choosePatient() {
this.$router.push('/selectPatient'); this.$router.push('/selectPatient');
@ -1867,7 +1904,7 @@ export default {
param: { param: {
patientId: this.patientId, patientId: this.patientId,
code: title, code: title,
url: info.file.response.data[0].visitUrl, fileId: info.file.response.data[0].id,
}, },
}; };
const res = await basic(params); const res = await basic(params);

89
src/views/ProjectAssistant/Examine.vue

@ -1,32 +1,38 @@
<template> <template>
<div class="flex-1 flex-wrap"> <div class="flex-1 flex-wrap">
<div style="width: 100%"> <div style="width: 100%">
<a-form :form="form" class="d-flex flex-nowrap align-center" layout="inline"> <a-form :form="form" class="d-flex flex-wrap align-center" layout="inline">
<a-form-item> <div class="fill-width d-flex">
<a-select placeholder="请选择医生" style="min-width: 120px" @change="changeDoctorId" allow-clear> <a-form-item>
<a-select-option :key="item.id" :value="item.id" v-for="item in doctorList">{{ item.name }}</a-select-option> <a-select placeholder="请选择医生" style="width: 260px" @change="changeDoctorId" allow-clear>
</a-select> <a-select-option :key="item.id" :value="item.id" v-for="item in doctorList">{{ item.name }}</a-select-option>
</a-form-item> </a-select>
<a-form-item> </a-form-item>
<a-range-picker @change="changeTime"> <a-form-item>
<template slot="dateRender" slot-scope="current"> <a-range-picker @change="changeTime" style="width: 358px" class="mt-1">
<div class="ant-calendar-date" :style="getCurrentStyle(current)"> <template slot="dateRender" slot-scope="current">
{{ current.date() }} <div class="ant-calendar-date" :style="getCurrentStyle(current)">
</div> {{ current.date() }}
</template> </div>
</a-range-picker> </template>
</a-form-item> </a-range-picker>
<a-form-item> </a-form-item>
<a-select placeholder="请选择状态" :default-value="recordStatus" style="min-width: 120px" @change="changeStatus" allow-clear> </div>
<a-select-option :key="index" :value="index" v-for="(item, index) in status">{{ item }}</a-select-option> <div class="fill-width d-flex">
</a-select> <a-form-item>
</a-form-item> <a-select placeholder="请选择状态" :default-value="recordStatus" style="width: 260px" @change="changeStatus" allow-clear>
<a-form-item> <a-select-option :key="index" :value="index" v-for="(item, index) in status">{{ item }}</a-select-option>
<a-select placeholder="请选择组别" style="min-width: 360px" @change="changeInpatientId" allow-clear> </a-select>
<a-select-option :key="item.id" :value="item.id" v-for="item in controlGroups">{{ item.name }}</a-select-option> </a-form-item>
</a-select> <a-form-item>
</a-form-item> <a-select placeholder="请选择组别" style="width: 260px" @change="changeInpatientId" allow-clear>
<a-button @click="handleSearch" class="mr-4" html-type="submit" icon="search" type="primary">搜索</a-button> <a-select-option :key="item.id" :value="item.id" v-for="item in controlGroups">
{{ item.name }}
</a-select-option>
</a-select>
</a-form-item>
<a-button @click="handleSearch" class="mt-1" html-type="submit" icon="search" type="primary">搜索</a-button>
</div>
</a-form> </a-form>
<a-table <a-table
v-if="lists && lists.list && lists.list.length > 0" v-if="lists && lists.list && lists.list.length > 0"
@ -63,16 +69,18 @@
</template> </template>
<template slot="edit" slot-scope="text, record"> <template slot="edit" slot-scope="text, record">
<a-popconfirm placement="left" ok-text="确定" cancel-text="取消" @confirm="changeRecordStatus(record.id)"> <div class="d-flex flex-column">
<template slot="title"> <a-popconfirm placement="left" ok-text="确定" cancel-text="取消" @confirm="changeRecordStatus(record.id)">
<p>是否确定通过该患者记录</p> <template slot="title">
</template> <p>是否确定通过该病例记录</p>
<a-button v-if="record.inputStatus === 2" size="small" type="primary">审核通过</a-button> </template>
</a-popconfirm> <a-button v-if="record.inputStatus === 2" size="small" type="primary">审核通过</a-button>
</a-popconfirm>
<a-button type="primary" size="small" class="ml-4" @click="details(record.id, record.hospitalization, record.code)"> <a-button type="primary" size="small" class="mt-4" @click="details(record.id, record.hospitalization, record.code)">
查看详情 查看详情
</a-button> </a-button>
</div>
</template> </template>
</a-table> </a-table>
<a-empty v-else /> <a-empty v-else />
@ -83,13 +91,6 @@
import { mapState, mapActions, mapMutations } from 'vuex'; import { mapState, mapActions, mapMutations } from 'vuex';
import { selPatientMes, upPatientMes } from 'config/api'; import { selPatientMes, upPatientMes } from 'config/api';
const columns = [ const columns = [
{
title: '序号',
align: 'center',
dataIndex: 'id',
key: 'id',
scopedSlots: { customRender: 'id' },
},
{ {
title: '研究编号', title: '研究编号',
align: 'center', align: 'center',
@ -126,7 +127,7 @@ const columns = [
align: 'center', align: 'center',
dataIndex: 'edit', dataIndex: 'edit',
key: 'edit', key: 'edit',
width: 250, width: 80,
scopedSlots: { customRender: 'edit' }, scopedSlots: { customRender: 'edit' },
}, },
]; ];
@ -201,7 +202,7 @@ export default {
throw new Error(error); throw new Error(error);
} }
}, },
// //
details(Id, hospitalization, code) { details(Id, hospitalization, code) {
this.setPatientId(Id); this.setPatientId(Id);
this.setHospitalization(hospitalization); this.setHospitalization(hospitalization);

97
src/views/ProjectAssistant/General.vue

@ -1,37 +1,41 @@
<template> <template>
<div class="flex-1 flex-wrap"> <div class="flex-1 flex-wrap">
<div style="width: 100%"> <div style="width: 100%">
<a-form :form="form" class="d-flex flex-nowrap align-center" layout="inline"> <a-form :form="form" class="d-flex flex-wrap align-center" layout="inline">
<a-form-item> <div class="fill-width">
<a-select placeholder="请选择医院" style="min-width: 240px" @change="changeHospitalId" allow-clear> <a-form-item>
<a-select-option :key="item.id" :value="item.id" v-for="item in hospitals">{{ item.name }}</a-select-option> <a-select placeholder="请选择医院" style="width: 200px" @change="changeHospitalId" allow-clear>
</a-select> <a-select-option :key="item.id" :value="item.id" v-for="item in hospitals">{{ item.name }}</a-select-option>
</a-form-item> </a-select>
<a-form-item> </a-form-item>
<a-select placeholder="请选择医生" style="min-width: 120px" @change="changeDoctorId" allow-clear> <a-form-item>
<a-select-option :key="item.id" :value="item.id" v-for="item in doctorList">{{ item.name }}</a-select-option> <a-select placeholder="请选择医生" style="width: 200px" @change="changeDoctorId" allow-clear>
</a-select> <a-select-option :key="item.id" :value="item.id" v-for="item in doctorList">{{ item.name }}</a-select-option>
</a-form-item> </a-select>
<a-form-item> </a-form-item>
<a-range-picker @change="changeTime" style="width: 300px"> <a-form-item>
<template slot="dateRender" slot-scope="current"> <a-select placeholder="请选择组别" style="width: 200px" @change="changeInpatientId" allow-clear>
<div class="ant-calendar-date" :style="getCurrentStyle(current)"> <a-select-option :key="item.id" :value="item.id" v-for="item in controlGroups">{{ item.name }}</a-select-option>
{{ current.date() }} </a-select>
</div> </a-form-item>
</template> </div>
</a-range-picker> <div class="fill-width">
</a-form-item> <a-form-item>
<a-form-item> <a-range-picker @change="changeTime" style="width: 318px">
<a-select placeholder="请选择状态" :default-value="recordStatus" style="min-width: 120px" @change="changeStatus" allow-clear> <template slot="dateRender" slot-scope="current">
<a-select-option :key="index" :value="index" v-for="(item, index) in status">{{ item }}</a-select-option> <div class="ant-calendar-date" :style="getCurrentStyle(current)">
</a-select> {{ current.date() }}
</a-form-item> </div>
<a-form-item> </template>
<a-select placeholder="请选择组别" style="min-width: 360px" @change="changeInpatientId" allow-clear> </a-range-picker>
<a-select-option :key="item.id" :value="item.id" v-for="item in controlGroups">{{ item.name }}</a-select-option> </a-form-item>
</a-select> <a-form-item>
</a-form-item> <a-select placeholder="请选择状态" :default-value="recordStatus" style="width: 200px" @change="changeStatus" allow-clear>
<a-button @click="handleSearch" class="mr-4" html-type="submit" icon="search" type="primary">搜索</a-button> <a-select-option :key="index" :value="index" v-for="(item, index) in status">{{ item }}</a-select-option>
</a-select>
</a-form-item>
<a-button @click="handleSearch" class="mt-1" html-type="submit" icon="search" type="primary">搜索</a-button>
</div>
</a-form> </a-form>
<a-table <a-table
v-if="lists && lists.list && lists.list.length > 0" v-if="lists && lists.list && lists.list.length > 0"
@ -68,16 +72,18 @@
</template> </template>
<template slot="edit" slot-scope="text, record"> <template slot="edit" slot-scope="text, record">
<a-popconfirm placement="left" ok-text="确定" cancel-text="取消" @confirm="changeRecordStatus(record.id)"> <div class="d-flex flex-column">
<template slot="title"> <a-popconfirm placement="left" ok-text="确定" cancel-text="取消" @confirm="changeRecordStatus(record.id)">
<p>是否确定通过该患者记录</p> <template slot="title">
</template> <p>是否确定通过该病例记录</p>
<a-button v-if="record.inputStatus === 5" size="small" type="primary">审核通过</a-button> </template>
</a-popconfirm> <a-button v-if="record.inputStatus === 5" size="small" type="primary">审核通过</a-button>
</a-popconfirm>
<a-button type="primary" size="small" class="ml-4" @click="details(record.id, record.hospitalization, record.code)"> <a-button type="primary" size="small" class="mt-4" @click="details(record.id, record.hospitalization, record.code)">
查看详情 查看详情
</a-button> </a-button>
</div>
</template> </template>
</a-table> </a-table>
<a-empty v-else /> <a-empty v-else />
@ -88,13 +94,6 @@
import { mapState, mapActions, mapMutations } from 'vuex'; import { mapState, mapActions, mapMutations } from 'vuex';
import { selPatientMes, upPatientMes, getHList } from 'config/api'; import { selPatientMes, upPatientMes, getHList } from 'config/api';
const columns = [ const columns = [
{
title: '序号',
align: 'center',
dataIndex: 'id',
key: 'id',
scopedSlots: { customRender: 'id' },
},
{ {
title: '研究编号', title: '研究编号',
align: 'center', align: 'center',
@ -131,7 +130,7 @@ const columns = [
align: 'center', align: 'center',
dataIndex: 'edit', dataIndex: 'edit',
key: 'edit', key: 'edit',
width: 250, width: 80,
scopedSlots: { customRender: 'edit' }, scopedSlots: { customRender: 'edit' },
}, },
]; ];
@ -234,7 +233,7 @@ export default {
throw new Error(error); throw new Error(error);
} }
}, },
// //
details(Id, hospitalization, code) { details(Id, hospitalization, code) {
this.setPatientId(Id); this.setPatientId(Id);
this.setHospitalization(hospitalization); this.setHospitalization(hospitalization);

4
src/views/SelectPatient/SelectPatient.vue

@ -32,7 +32,7 @@
</a-tabs> --> </a-tabs> -->
<a-button @click="choosePatient" class="choose-btn" type="primary"> <a-button @click="choosePatient" class="choose-btn" type="primary">
<a-icon type="retweet" /> <a-icon type="retweet" />
重新选择患者 重新选择病例
</a-button> </a-button>
</div> </div>
</div> </div>
@ -127,7 +127,7 @@ export default {
}, },
/** /**
* 重新选择患者 * 重新选择病例
*/ */
choosePatient() { choosePatient() {
this.setPatientId(''); this.setPatientId('');

Loading…
Cancel
Save