Browse Source

summary

master
pengjun 2 years ago
parent
commit
740f947eb0
  1. 19
      src/components/doctorCheck/ButtonList.vue
  2. 7
      src/components/doctorCheck/CheckItemList.vue
  3. 13
      src/components/doctorCheck/CheckSumSug.vue
  4. 22
      src/components/doctorCheck/PatientRegisterList.vue
  5. 118
      src/components/sumDoctorCheck/ButtonList.vue
  6. 3
      src/components/sumDoctorCheck/SumPREdit.vue
  7. 18
      src/components/sumDoctorCheck/SumSug.vue
  8. 2
      src/store/index.js

19
src/components/doctorCheck/ButtonList.vue

@ -1,7 +1,7 @@
<template>
<div>
<div class="listBtn">
<el-button type="primary" @click="doctorCheck.doctorCheckDialogVisible=true">人员列表</el-button>
<el-button type="primary" @click="prList">人员列表</el-button>
</div>
<div class="listBtn">
<el-button type="primary" @click="save">保存结果</el-button>
@ -40,13 +40,8 @@
<el-button type="primary" @click="addSummary">新增小结</el-button>
</div>
<!-- 人员档案列表 -->
<el-dialog
title="人员档案列表"
:visible.sync="doctorCheck.doctorCheckDialogVisible"
width="1000px"
:append-to-body="true"
>
<PatientRegisterList/>
<el-dialog title="人员档案列表" :visible.sync="doctorCheck.doctorCheckDialogVisible" width="1000px" >
<PatientRegisterList win="doctorCheck"/>
</el-dialog>
</div>
</template>
@ -80,7 +75,13 @@ export default {
methods: {
...mapActions(["getCustomerOrgGroup"]),
prList(){
console.log('this.doctorCheck.doctorCheckDialogVisible',this.doctorCheck.doctorCheckDialogVisible)
this.doctorCheck.doctorCheckDialogVisible = true
console.log('this.doctorCheck.doctorCheckDialogVisible2',this.doctorCheck.doctorCheckDialogVisible)
},
//
optGrant(optType){
let ret = ''

7
src/components/doctorCheck/CheckItemList.vue

@ -1,6 +1,6 @@
<template>
<div>
<el-table :data="doctorCheck.checkItemList" style="width: 100%" height="350" border @row-click="rowClick">
<el-table :data="doctorCheck.checkItemList" style="width: 100%" height="350" :row-style="{ height: '60px' }" border @row-click="rowClick">
<el-table-column prop="itemName" label="项目" width="180" />
<el-table-column prop="result" label="结果" width="500">
<template slot-scope="scope">
@ -102,6 +102,10 @@ export default {
};
</script>
<style scoped>
::v-deep .el-table td.el-table__cell,
.el-table th.el-table__cell.is-leaf {
padding: 0;
}
.el-table .warning-row {
background: rgb(240, 125, 125);
}
@ -110,4 +114,3 @@ export default {
background: rgb(192, 192, 192);
}
</style>

13
src/components/doctorCheck/CheckSumSug.vue

@ -1,7 +1,8 @@
<template>
<div style="display: flex;">
<div style="width:50%;">
<el-table id="tableSummary" row-key="id" :data="doctorCheck.checkSummaryList" width="100%" height="350" border @row-click="rowClick">
<el-table id="tableSummary" row-key="id" :data="doctorCheck.checkSummaryList" :row-style="{ height: '60px' }"
width="100%" height="350" border @row-click="rowClick">
<el-table-column prop="summary" label="小结" width="460" >
<template slot-scope="scope">
<el-input type="textarea" v-model="scope.row.summary"
@ -12,7 +13,8 @@
</el-table>
</div>
<div style="width:50%;">
<el-table id="tableSuggestion" row-key="id" :data="doctorCheck.checkSuggestionList" width="100%" height="350" border @row-click="rowClick">
<el-table id="tableSuggestion" row-key="id" :data="doctorCheck.checkSuggestionList" :row-style="{ height: '60px' }"
width="100%" height="350" border @row-click="rowClick">
<el-table-column prop="suggestion" label="建议" width="460" >
<template slot-scope="scope">
<el-input type="textarea" v-model="scope.row.suggestion"
@ -135,5 +137,10 @@ export default {
},
};
</script>
<style></style>
<style scoped>
::v-deep .el-table td.el-table__cell,
.el-table th.el-table__cell.is-leaf {
padding: 0;
}
</style>

22
src/components/doctorCheck/PatientRegisterList.vue

@ -222,7 +222,7 @@
<el-button type="primary" @click="query">查询</el-button>
</div>
<div class="listBtn">
<el-button type="danger" @click="doctorCheck.doctorCheckDialogVisible=false">关闭</el-button>
<el-button type="danger" @click="close">关闭</el-button>
</div>
</div>
</div>
@ -238,11 +238,12 @@ import { dddw, objCopy, arrayReduce } from "@/utlis/proFunc";
import PatientRegisterEdit from "../../components/patientRegister/PatientRegisterEdit.vue";
import Camera from "../../components/patientRegister/Camera.vue";
export default {
export default {
components: {
PatientRegisterEdit,
Camera,
},
props:['win'],
data() {
return {
dataList: [], //
@ -292,7 +293,7 @@ export default {
...mapState(["dict", "patientRegister", "customerOrg","doctorCheck","sumDoctorCheck"]),
},
methods: {
...mapMutations(['doctorCheckPrBaseInit']),
...mapMutations(['doctorCheckPrBaseInit','sumPREditInit']),
//
@ -300,6 +301,8 @@ export default {
this.doctorCheckPrBaseInit()
this.doctorCheck.prBase.patientRegisterNo = row.patientRegisterNo
objCopy(row,this.doctorCheck.prBase) //
this.sumPREditInit()
objCopy(row,this.sumDoctorCheck.sumPREdit) //
},
@ -348,9 +351,16 @@ export default {
});
},
//
choose(){
console.log('choose')
//
close(){
//console.log('this.win',this.win)
if(this.win == 'doctorCheck'){
this.doctorCheck.doctorCheckDialogVisible=false
}else{
this.sumDoctorCheck.sumDoctorCheckDialogVisible=false
}
},
},

118
src/components/sumDoctorCheck/ButtonList.vue

@ -1,7 +1,7 @@
<template>
<div>
<div class="listBtn">
<el-button type="primary" @click="doctorCheck.doctorCheckDialogVisible = true">人员列表</el-button>
<el-button type="primary" @click="prList">人员列表</el-button>
</div>
<div class="listBtn">
<el-button type="primary" @click="toDoctorCheck">医生诊台</el-button>
@ -21,6 +21,9 @@
<div class="listBtn">
<el-button type="primary" @click="unAudit">取消审核</el-button>
</div>
<div class="listBtn">
<el-button type="primary" @click="addSuggtion">新增建议</el-button>
</div>
<div class="listBtn">
<el-button type="primary" @click="report">体检报告</el-button>
</div>
@ -31,13 +34,14 @@
<el-button type="primary" @click="intervene">干预措施</el-button>
</div>
<!-- 人员档案列表 -->
<el-dialog title="人员档案列表" :visible.sync="doctorCheck.doctorCheckDialogVisible" width="1000px"
:append-to-body="true">
<PatientRegisterList />
</el-dialog>
<el-dialog title="人员档案列表" :visible.sync="sumDoctorCheck.sumDoctorCheckDialogVisible" width="1000px">
<PatientRegisterList win="sumDoctorCheck"/>
</el-dialog>
</div>
</template>
<script>
import { mapState } from "vuex";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { arrayExistObj } from "../../utlis/proFunc";
@ -71,8 +75,10 @@ export default {
},
methods: {
//
prList(){
this.sumDoctorCheck.sumDoctorCheckDialogVisible = true
},
//to
toDoctorCheck() {
this.$router.push({ path: "/doctorCheck" });
},
@ -84,7 +90,7 @@ export default {
if (this.sumDoctorCheck.sumPREdit.isLock == 'Y') return '人员已锁定,不可执行此操作'
if (optType == 'save') {
if (!this.sumDoctorCheck.sumPREdit.summaryDoctor) return "请选择总检医生"
//if (!this.sumDoctorCheck.sumPREdit.summaryDoctor) return ""
if (this.sumDoctorCheck.sumPREdit.completeFlag == '3') return "该人员已总检,不可再执行此操作,如需操作请点【修改】"
if (this.sumDoctorCheck.sumPREdit.isAudit == 'Y') return '该人员检查已审核,请先取消审核,方可执行此操作!'
}
@ -124,10 +130,10 @@ export default {
this.updateSumDoctorCheck();
//
this.saveCheckSummary();
this.saveSummary();
//
this.saveCheckSuggestion();
this.saveSuggestion();
},
//
@ -144,7 +150,7 @@ export default {
del() {
let body = {
patientRegisterId: this.sumDoctorCheck.sumPREdit.id,
//summaryDate: this.sumDoctorCheck.sumPREdit.summaryDate,
//summaryDoctor: this.sumDoctorCheck.sumPREdit.summaryDoctor,
//summaryDate: this.sumDoctorCheck.sumPREdit.summaryDate,
completeFlag: '2'
}
@ -165,6 +171,12 @@ export default {
return postapi(`/api/app/sumsuggestionheader/deletesumsuggestionmany?PatientRegisterId=${this.sumDoctorCheck.sumPREdit.id}`)
}
})
.then((res) => {
console.log("deletesumsuggestionmany", res.data);
if (res.code != -1) {
this.$message({ type: "success", message: `取消总检成功!` });
}
})
.catch((err) => {
this.$message({ type: "error", message: `取消总检失败,原因:${err}` });
});
@ -236,6 +248,22 @@ export default {
}
},
//
addSuggtion(){
let id = new Date()
let pojo = {
id,
patientRegisterId: this.sumDoctorCheck.sumPREdit.id,
details: [
{
sumSuggestionHeaderId: id,
suggestionContent: '',
}
]
}
this.sumDoctorCheck.suggestionList.push(pojo);
},
//
reCheck() {
let ret = this.optGrant('reCheck')
@ -259,70 +287,82 @@ export default {
updateSumDoctorCheck() {
let body = {
patientRegisterId: this.sumDoctorCheck.sumPREdit.id,
summaryDate: this.sumDoctorCheck.sumPREdit.summaryDate,
summaryDate: this.sumDoctorCheck.sumPREdit.summaryDate,
//summaryDoctor:this.sumDoctorCheck.sumPREdit.summaryDoctor,
//summaryDate: this.sumDoctorCheck.sumPREdit.summaryDate,
completeFlag: '3'
}
console.log(`/api/app/patientregister/updatepatientregistersummarydoctor`, body)
console.log(`/api/app/patientregister/updatepatientregistersummarydoctor`, body)
postapi(`/api/app/patientregister/updatepatientregistersummarydoctor`, body)
.then((res) => {
console.log("updateCheckItemList", res.data);
console.log("updateSumDoctorCheck", res.data);
if (res.code != -1) {
this.sumDoctorCheck.sumPREdit.completeFlag = '3';
this.$message({ type: "success", message: `总检保存成功!` });
}
})
.catch((err) => {
this.$message({ type: "error", message: `项目明细保存失败,原因:${err}` });
this.$message({ type: "error", message: `总检保存失败,原因:${err}` });
});
},
//
saveCheckSummary() {
//
saveSummary() {
let body = []
this.doctorCheck.checkSummaryList.forEach(item => {
body.push({
registerCheckId: item.registerCheckId,
summary: item.summary,
summaryFlag: item.summaryFlag,
this.sumDoctorCheck.summaryList.forEach(item => {
delete item.id;
delete item.summaryFlag;
delete item.displayOrder;
item.details.forEach(e => {
delete e.sumSummaryHeaderId;
delete e.displayOrder;
})
});
console.log(`/api/app/registerchecksummary/createregisterchecksummarymany`, body)
postapi(`/api/app/registerchecksummary/createregisterchecksummarymany`, body)
body.push(item)
});
console.log(`/api/app/sumsummaryheader/createsumsummary`, body)
if(body.length > 0) return
postapi(`/api/app/sumsummaryheader/createsumsummary`, body)
.then((res) => {
console.log("saveCheckSummary", res.data);
console.log("saveSummary", res.data);
if (res.code != -1) {
//this.sumDoctorCheck.sumPREdit.completeFlag = '1';
}
})
.catch((err) => {
this.$message({ type: "error", message: `项目明细保存失败,原因:${err}` });
this.$message({ type: "error", message: `综述保存失败,原因:${err}` });
});
},
//
saveCheckSuggestion() {
saveSuggestion() {
let body = []
this.doctorCheck.checkSuggestionList.forEach(item => {
body.push({
registerCheckId: item.registerCheckId,
suggestion: item.suggestion
this.sumDoctorCheck.suggestionList.forEach(item => {
delete item.id;
delete item.suggestionFlag;
delete item.displayOrder;
item.details.forEach(e => {
delete e.sumSuggestionHeaderId;
delete e.displayOrder;
})
});
console.log(`/api/app/registerchecksuggestion/createregisterchecksuggestionmany`, body)
postapi(`/api/app/registerchecksuggestion/createregisterchecksuggestionmany`, body)
body.push(item)
});
console.log(`/api/app/sumsuggestionheader/createsumsuggestion`, body)
if(body.length > 0) return
postapi(`/api/app/sumsuggestionheader/createsumsuggestion`, body)
.then((res) => {
console.log("saveCheckSuggestion", res.data);
console.log("saveSuggestion", res.data);
if (res.code != -1) {
//this.sumDoctorCheck.sumPREdit.completeFlag = '1';
}
})
.catch((err) => {
this.$message({ type: "error", message: `项目明细保存失败,原因:${err}` });
this.$message({ type: "error", message: `建议保存失败,原因:${err}` });
});
},

3
src/components/sumDoctorCheck/SumPREdit.vue

@ -7,7 +7,8 @@
</div>
<div class="query">
<span>总检日期</span>
<el-date-picker v-model="sumDoctorCheck.sumPREdit.summaryDate" type="date" style="width: 130px" size="small" />
<el-date-picker v-model="sumDoctorCheck.sumPREdit.summaryDate" value-format="yyyy-MM-dd"
type="date" style="width: 130px" size="small" />
</div>
<div class="query" style="margin-top: 10px;">
<span>总检</span>

18
src/components/sumDoctorCheck/SumSug.vue

@ -1,7 +1,7 @@
<template>
<div style="display: flex;">
<div style="width:50%;">
<el-table id="tableSummary" row-key="id" :data="sumDoctorCheck.summaryList" width="100%" height="650" border >
<el-table id="tableSummary" row-key="id" :data="sumDoctorCheck.summaryList" width="100%" height="680" border >
<el-table-column prop="summaryTitle" label="综述" >
<template slot-scope="scope">
<div>
@ -22,14 +22,14 @@
</el-table>
</div>
<div style="width:50%;">
<el-table id="tableSuggestion" row-key="id" :data="sumDoctorCheck.suggestionList" width="100%" height="650" border>
<el-table id="tableSuggestion" row-key="id" :data="sumDoctorCheck.suggestionList" width="100%" height="680" border>
<el-table-column prop="suggestionTitle" label="建议" >
<template slot-scope="scope">
<div>
<el-input v-model="scope.row.suggestionTitle" placeholder="请输入建议"
<el-input v-model="scope.row.suggestionTitle" placeholder="请输入建议标题"
:disabled="sumDoctorCheck.sumPREdit.completeFlag=='3' || sumDoctorCheck.sumPREdit.isAudit=='Y'"
>
<el-button slot="append" icon="el-icon-plus" @click="addSug(scope.$index)" placeholder="请输入建议"
<el-button slot="append" icon="el-icon-plus" @click="addSug(scope.$index)"
:disabled="sumDoctorCheck.sumPREdit.completeFlag=='3' || sumDoctorCheck.sumPREdit.isAudit=='Y'"></el-button>
<!--
<el-button slot="append" icon="el-icon-d-caret"></el-button>
@ -39,7 +39,7 @@
:data="scope.row.details" border @row-click="rowClickSug" :show-header="false">
<el-table-column prop="suggestionContent" label="建议" >
<template slot-scope="scope2">
<el-input type="textarea" v-model="scope2.row.suggestionContent" placeholder="请输入综述" style="width: 95%"
<el-input type="textarea" v-model="scope2.row.suggestionContent" placeholder="请输入建议内容" style="width: 95%"
:disabled="sumDoctorCheck.sumPREdit.completeFlag=='3' || sumDoctorCheck.sumPREdit.isAudit=='Y'">
</el-input>
</template>
@ -75,7 +75,7 @@ export default {
},
computed: {
...mapState(['dict', 'sumDoctorCheck']),
...mapState(['dict', 'doctorCheck', 'sumDoctorCheck']),
},
methods: {
@ -149,12 +149,6 @@ export default {
})
},
blur(e){
console.log('blur e',e)
e.target.focus()
e.srcElement.focus()
},
//
rowClick(row) {
console.log('rowClick row',row)

2
src/store/index.js

@ -117,6 +117,7 @@ export default new Vuex.Store({
auditorUserId: null,
auditTime: '',
}, //组合项目详情
doctorCheckDialogVisible:false,
RegisterCheckList:[], //人员体检 组合项目列表
RegisterCheck:{}, //单组合项目记录
RegisterCheckId:'', //
@ -128,6 +129,7 @@ export default new Vuex.Store({
//总检医生
sumDoctorCheck:{
sumDoctorCheckDialogVisible:false,
sumPREdit:{}, //总检医生时间等相关信息(sumPREditInit)
summaryList:[], //综述
suggestionList:[], //建议

Loading…
Cancel
Save