Browse Source

doctor

master
pengjun 2 years ago
parent
commit
93666e6276
  1. 392
      src/components/doctorCheck/ButtonList.vue
  2. 31
      src/components/doctorCheck/CheckItemList.vue
  3. 81
      src/components/doctorCheck/CheckPicture.vue
  4. 25
      src/components/doctorCheck/CheckSumSug.vue
  5. 4
      src/components/doctorCheck/PatientRegisterBase.vue
  6. 7
      src/components/doctorCheck/PatientRegisterList.vue
  7. 68
      src/components/doctorCheck/RegisterCheckEdit.vue
  8. 21
      src/components/doctorCheck/RegisterCheckList.vue
  9. 8
      src/components/patientRegister/PatientRegisterItem.vue
  10. 4
      src/components/report/CusOrgOCX.vue
  11. 21
      src/views/doctorCheck/doctorCheck.vue

392
src/components/doctorCheck/ButtonList.vue

@ -16,10 +16,10 @@
<el-button type="primary" class="btnClass" @click="btnDelPr">删除人员</el-button>
</div>
<div>
<el-button type="primary" class="btnClass" >上一人</el-button>
<el-button type="primary" class="btnClass" @click="btnPrev">上一人</el-button>
</div>
<div>
<el-button type="primary" class="btnClass" >下一人</el-button>
<el-button type="primary" class="btnClass" @click="btnNext">下一人</el-button>
</div>
<div>
<el-button type="primary" class="btnClass" @click="save">保存结果</el-button>
@ -31,7 +31,10 @@
<el-button type="primary" class="btnClass" @click="del">删除结果</el-button>
</div>
<div>
<el-button type="primary" class="btnClass" @click="delItem">删除项目</el-button>
<el-button type="primary" class="btnClass" @click="refuseItem" style="font-size:11px;">放弃明细项目检查</el-button>
</div>
<div>
<el-button type="primary" class="btnClass" @click="delItem">删除明细项目</el-button>
</div>
<div>
<el-button type="primary" class="btnClass">历次结果</el-button>
@ -40,7 +43,7 @@
<el-button type="primary" class="btnClass">体检报告</el-button>
</div>
<div>
<el-button type="primary" class="btnClass">生成小结</el-button>
<el-button type="primary" class="btnClass" @click="btnMakeDiagnosis">生成小结</el-button>
</div>
<div>
<el-button type="primary" class="btnClass" @click="toSumDoctorCheck">总检</el-button>
@ -95,9 +98,7 @@
<el-button @click="dialogVisibleSetStartDate = false"> </el-button>
<el-button type="primary" @click="btnSetStartDate"> </el-button>
</span>
</el-dialog>
</el-dialog>
</div>
</template>
<script>
@ -107,6 +108,7 @@ import { arrayExistObj,objCopy } from "../../utlis/proFunc";
import PatientRegisterEdit from "../../components/patientRegister/PatientRegisterEdit.vue";
import PatientRegisterList from "./PatientRegisterList.vue";
import moment from 'moment';
export default {
components: {
@ -117,7 +119,7 @@ export default {
return {
medicalStartDate:'', //
medicalStartDateTemp:'', //
medicalStartDateDatas:[], //
medicalStartDateDatas:[], // ()
dialogVisibleSetStartDate:false, //
editTimes:0,
@ -176,12 +178,14 @@ export default {
medicalStartDate:null,
}, //
formInitData:{},
medicalStartDateLoadOpts:{ //
totalCount:0,
skipCount:0,
maxResultCount:50000,
},
clickQueryBtn:false, //
};
},
@ -222,7 +226,7 @@ export default {
btnAddPr(){
// debugger
if(this.medicalStartDate){
this.formData = Object.assign({},this.formInitData,{medicalStartDate:this.medicalStartDate})
this.formData = Object.assign({},this.formInitData,{medicalStartDate:moment(this.medicalStartDate).format('yyyy-MM-DD')})
this.dialogVisible = true
this.patientRegister.photo = ''
setTimeout(() =>{
@ -240,16 +244,30 @@ export default {
this.$message.warning("未选中要删除的人员记录")
return
}
postapi(`/api/app/patient-register/delete-many`, {patientRegisterIds:[this.doctorCheck.prBase.id]
}).then(res =>{
let id = this.doctorCheck.prBase.id
this.$confirm("此操作将永久删除该记录, 是否继续?", "提示", {
confirmButtonText: "是",
cancelButtonText: "否",
type: "warning",
}).then(() => {
//console.log('{patientRegisterIds}',{patientRegisterIds})
return postapi(`/api/app/patient-register/delete-many`, {patientRegisterIds:[id]})
}).then((res) => {
if(res.code != -1){
this.$message.success("操作成功!")
this.doctorCheckPrBaseInit();
let lfind = arrayExistObj(this.medicalStartDateDatas,'id',id)
if(lfind > -1) this.medicalStartDateDatas.splice(lfind,1)
}
}).catch((err) => {
if (err == "cancel") {
this.$message.info("已取消删除");
}
});
},
//
btnEditPr() {
if(!this.doctorCheck.prBase.id){
@ -265,6 +283,72 @@ export default {
this.editTimes++; //
},
//
btnPrev(){
if(!this.medicalStartDate){
this.$message.warning("请先设置体检日期")
return
}
if(this.medicalStartDateDatas.length == 0) {
this.$message.warning("当前设置的体检日期,无体检人员信息")
return
}
let lfind = -1
if(this.doctorCheck.prBase.id){
lfind = arrayExistObj(this.medicalStartDateDatas,'id',this.doctorCheck.prBase.id)
if(lfind == 0){
this.$message.warning("已是第一个人")
return
}
if(lfind > - 1) lfind--
}
//
if(lfind < 0){
if(this.medicalStartDateDatas && this.medicalStartDateDatas.length > 0){
this.findPR(this.medicalStartDateDatas[0])
}
}else{
if(this.medicalStartDateDatas && this.medicalStartDateDatas.length > 0){
this.findPR(this.medicalStartDateDatas[lfind])
}
}
},
//
btnNext(){
if(!this.medicalStartDate){
this.$message.warning("请先设置体检日期")
return
}
if(this.medicalStartDateDatas.length == 0) {
this.$message.warning("当前设置的体检日期,无体检人员信息")
return
}
let lfind = 0
if(this.doctorCheck.prBase.id){
lfind = arrayExistObj(this.medicalStartDateDatas,'id',this.doctorCheck.prBase.id)
lfind++
}
//
if(this.medicalStartDateDatas.length > lfind){
this.findPR(this.medicalStartDateDatas[lfind])
}else{
this.$message.warning("已是最后一人")
}
},
//
findPR(rd){
this.doctorCheck.prBase = Object.assign({},this.doctorCheck.prBase,rd)
this.patientRegister.photo = rd.photo
},
//
refreshRegister(patientRegister){
@ -281,7 +365,7 @@ export default {
if (this.doctorCheck.RegisterCheckEdit.isLock == 'Y') return '组合项目已锁定,不可执行此操作'
if (this.doctorCheck.RegisterCheckEdit.completeFlag == '2') return '组合项目已弃检,不可执行此操作'
if (optType == 'save') {
if (!this.doctorCheck.RegisterCheckEdit.checkDoctorId) return "请选择检查医生"
// if (!this.doctorCheck.RegisterCheckEdit.checkDoctorId) return ""
if (this.doctorCheck.RegisterCheckEdit.completeFlag == '1') return "该项目项目已保存,不可再执行此操作,如需操作请点【修改结果】"
if (this.doctorCheck.RegisterCheckEdit.isAudit == 'Y') return '组合项目已审核,请先取消审核,方可执行此操作!'
}
@ -301,11 +385,12 @@ export default {
if (this.doctorCheck.RegisterCheckEdit.completeFlag == '0') return "该检查项目尚未保存,无需执行此操作"
if (this.doctorCheck.RegisterCheckEdit.isAudit == 'N') return "该检查项目尚未审核,无需执行此操作"
}
if (optType == 'delItem') {
if (optType == 'delItem' || optType == 'refuseItem' || optType == 'makeDiagnosis' ) {
if (this.doctorCheck.RegisterCheckEdit.completeFlag == '1') return "该项目项目已保存,不可再执行此操作,如需操作请点【修改结果】"
if (this.doctorCheck.RegisterCheckEdit.isAudit == 'Y') return "该检查项目已审核,请先取消审核"
}
return ret
},
@ -313,7 +398,7 @@ export default {
save() {
let ret = this.optGrant('save')
if (ret) {
alert(ret)
this.$message.warning(ret)
return
}
@ -327,14 +412,14 @@ export default {
this.saveCheckSummary();
//
this.saveCheckSuggestion();
this.saveCheckSuggestion(true);
},
//
edit() {
let ret = this.optGrant('edit')
if (ret) {
alert(ret)
this.$message.warning(ret)
return
}
this.doctorCheck.RegisterCheckEdit.completeFlag = '0'
@ -344,7 +429,7 @@ export default {
del() {
let ret = this.optGrant('del')
if (ret) {
alert(ret)
this.$message.warning(ret)
return
}
@ -353,40 +438,90 @@ export default {
console.log("del", res.data);
if (res.code != -1) {
this.doctorCheck.RegisterCheckEdit.completeFlag = '0';
let lfind = arrayExistObj(this.doctorCheck.RegisterCheckList,'id',this.doctorCheck.RegisterCheckEdit.id)
if(lfind > -1) this.doctorCheck.RegisterCheckList[lfind].completeFlag = '0'
this.$message.success("操作成功!");
}
});
},
//
//
refuseItem() {
let ret = this.optGrant('refuseItem')
if (ret) {
this.$message.warning(ret)
return
}
// console.log('this.doctorCheck.checkItem',this.doctorCheck.checkItem)
if(!this.doctorCheck.checkItem){
this.$message.warning("请选择要操作的明细项目")
return
}
if(!this.doctorCheck.checkItem.itemId){
this.$message.warning("请选择要操作的明细项目")
return
}
let lfind = arrayExistObj(this.doctorCheck.checkItemList, 'itemId', this.doctorCheck.checkItem.itemId)
if (lfind == -1) {
this.$message.warning("请选择要操作的明细项目")
return
}
this.doctorCheck.checkItemList[lfind].result = "放弃检查"
},
//
delItem() {
let ret = this.optGrant('delItem')
if (ret) {
alert(ret)
this.$message.warning(ret)
return
}
let lfind = arrayExistObj(this.doctorCheck.CheckItemList, 'itemId', this.doctorCheck.checkItem.itemId)
if (lfind == -1) return
console.log(`/api/app/registercheckitem/deleteregistercheckitem?RegisterCheckId=${this.doctorCheck.checkItem.registerCheckId}&ItemId=${this.doctorCheck.checkItem.itemId}`)
postapi(`/api/app/registercheckitem/deleteregistercheckitem?RegisterCheckId=${this.doctorCheck.checkItem.registerCheckId}&ItemId=${this.doctorCheck.checkItem.itemId}`)
.then((res) => {
console.log("delItem", res.data);
if (res.code != -1) {
this.doctorCheck.CheckItemList.splice(lfind, 1);
this.doctorCheck.checkItem.itemId = ''
}
})
.catch((err) => {
if(!this.doctorCheck.checkItem){
this.$message.warning("请选择要删除的明细项目")
return
}
if(!this.doctorCheck.checkItem.itemId){
this.$message.warning("请选择要删除的明细项目")
return
}
let lfind = arrayExistObj(this.doctorCheck.checkItemList, 'itemId', this.doctorCheck.checkItem.itemId)
if (lfind == -1) {
this.$message.warning("请选择要删除的明细项目")
return
}
this.$confirm("此操作将永久删除该记录, 是否继续?", "提示", {
confirmButtonText: "是",
cancelButtonText: "否",
type: "warning",
}).then(() => {
return postapi(`/api/app/registercheckitem/deleteregistercheckitem?RegisterCheckId=${this.doctorCheck.checkItem.registerCheckId}&ItemId=${this.doctorCheck.checkItem.itemId}`)
}).then(res => {
if (res.code != -1) {
this.doctorCheck.checkItemList.splice(lfind, 1);
this.doctorCheck.checkItem.itemId = ''
}
}).catch((err) => {
if (err == "cancel") {
this.$message.info("已取消");
}else{
this.$message({ type: "error", message: `项目明细删除失败,原因:${err}` });
});
}
});
},
//
audit() {
let ret = this.optGrant('audit')
if (ret) {
alert(ret)
this.$message.warning(ret)
return
}
let body = {
@ -413,7 +548,7 @@ export default {
unAudit() {
let ret = this.optGrant('unAudit')
if (ret) {
alert(ret)
this.$message.warning(ret)
return
}
@ -431,17 +566,127 @@ export default {
});
},
//
btnMakeDiagnosis(){
let ret = this.optGrant('makeDiagnosis')
if (ret) {
this.$message.warning(ret)
return
}
console.log('生成小结');
let back = false
if(this.doctorCheck.checkSummaryList.length > 0){
this.$confirm("已经有小结,是否重新生成小结?", "提示", {
confirmButtonText: "是",
cancelButtonText: "否",
type: "warning",
}).then(() => {
back = false
}).catch((err) => {
if (err == "cancel") {
this.$message.info("已取消");
back = true
}
});
}
if(back) return
// /api/app/diagnosisfunction/getdiagnosisresult
// {
// "registerCheckId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
// "items": [
// {
// "itemId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
// "result": "string"
// }
// ]
// }
if(this.doctorCheck.checkItemList.length == 0){
this.$message.warning("系统错误,组合项目没有明细")
return
}
let registerCheckId = this.doctorCheck.checkItemList
let body = {
registerCheckId:'',
items:[]
}
this.doctorCheck.checkItemList.forEach((e,index) =>{
if(index == 0) body.registerCheckId = e.registerCheckId
body.items.push({
itemId:e.itemId,
result:e.result
})
})
console.log(`/api/app/diagnosisfunction/getdiagnosisresult`, body)
this.doctorCheck.checkSummaryList = []
this.doctorCheck.checkSuggestionList = []
postapi(`/api/app/diagnosisfunction/getdiagnosisresult`, body)
.then((res) => {
if (res.code != -1) {
// console.log(res.data)
// {
// "diagnosisResultDetails": [
// {
// "diagnosisResult": ""
// }
// ],
// "diagnosisSuggestionDetails": [
// {
// "diagnosisSuggestion": ""
// },
// {
// "diagnosisSuggestion": ""
// }
// ]
// }
//
res.data.diagnosisResultDetails.forEach(e =>{
this.doctorCheck.checkSummaryList.push({
id:Math.random(),
registerCheckId:body.registerCheckId,
summary:e.diagnosisResult,
summaryFlag:'Y'
})
})
//
res.data.diagnosisSuggestionDetails.forEach(e =>{
this.doctorCheck.checkSuggestionList.push({
id:Math.random(),
registerCheckId:body.registerCheckId,
suggestion:e.diagnosisSuggestion
})
})
this.$message.success("操作成功!")
}
})
.catch((err) => {
this.$message({ type: "error", message: `生成小结失败,原因:${err}` });
});
},
//
toSumDoctorCheck() {
this.$router.push({ path: "/sumDoctorCheck" });
},
//
updateDoctorCheck() {
updateDoctorCheck(successTip) {
let checkDate = this.doctorCheck.RegisterCheckEdit.checkDate||new Date();
checkDate = moment(new Date(checkDate)).format('yyyy-MM-DD'); //yyyy-MM-DD HH:mm:ss
let checkDoctorId = this.doctorCheck.RegisterCheckEdit.checkDoctorId||window.sessionStorage.getItem("user");
let body = {
registerCheckId: this.doctorCheck.RegisterCheckEdit.id,
checkDoctorId: this.doctorCheck.RegisterCheckEdit.checkDoctorId,
checkDate: this.doctorCheck.RegisterCheckEdit.checkDate
checkDoctorId,
checkDate
}
console.log(`/api/app/registercheck/updatecheckdoctor`, body)
postapi(`/api/app/registercheck/updatecheckdoctor`, body)
@ -449,6 +694,10 @@ export default {
console.log("updateCheckItemList", res.data);
if (res.code != -1) {
this.doctorCheck.RegisterCheckEdit.completeFlag = '1';
//
let lfind = arrayExistObj(this.doctorCheck.RegisterCheckList,'id',body.registerCheckId)
if(lfind > -1) this.doctorCheck.RegisterCheckList[lfind].completeFlag = '1'
if(successTip) this.$message.success("操作成功!")
}
})
.catch((err) => {
@ -458,15 +707,18 @@ export default {
},
//
updateCheckItemList() {
updateCheckItemList(successTip) {
let checkDate = this.doctorCheck.RegisterCheckEdit.checkDate||new Date();
checkDate = moment(new Date(checkDate)).format('yyyy-MM-DD'); //yyyy-MM-DD HH:mm:ss
let checkDoctorId = this.doctorCheck.RegisterCheckEdit.checkDoctorId||window.sessionStorage.getItem("user");
let body = []
for (let i = 0; i < this.doctorCheck.checkItemList.length; i++) {
body.push({
registerCheckId: this.doctorCheck.checkItemList[i].registerCheckId,
itemId: this.doctorCheck.checkItemList[i].itemId,
result: this.doctorCheck.checkItemList[i].result,
checkDoctorName: this.doctorCheck.RegisterCheckEdit.checkDoctorId,
checkDate: this.doctorCheck.RegisterCheckEdit.checkDate,
checkDoctorName: checkDoctorId,
checkDate,
})
}
console.log(`/api/app/registercheckitem/updateregistercheckitemmany`, body)
@ -474,7 +726,7 @@ export default {
.then((res) => {
console.log("updateCheckItemList", res.data);
if (res.code != -1) {
//
if(successTip) this.$message.success("操作成功!")
}
})
.catch((err) => {
@ -483,22 +735,26 @@ export default {
},
//
saveCheckSummary() {
let body = []
saveCheckSummary(successTip) {
let details = []
this.doctorCheck.checkSummaryList.forEach(item => {
body.push({
details.push({
registerCheckId: item.registerCheckId,
summary: item.summary,
summaryFlag: item.summaryFlag,
})
});
let body = {
registerCheckId:this.doctorCheck.RegisterCheckEdit.id,
details
}
console.log(`/api/app/registerchecksummary/createregisterchecksummarymany`, body)
postapi(`/api/app/registerchecksummary/createregisterchecksummarymany`, body)
.then((res) => {
console.log("saveCheckSummary", res.data);
if (res.code != -1) {
//this.doctorCheck.RegisterCheckEdit.completeFlag = '1';
if(successTip) this.$message.success("操作成功!")
}
})
.catch((err) => {
@ -508,21 +764,27 @@ export default {
},
//
saveCheckSuggestion() {
let body = []
saveCheckSuggestion(successTip) {
let details = []
this.doctorCheck.checkSuggestionList.forEach(item => {
body.push({
details.push({
registerCheckId: item.registerCheckId,
suggestion: item.suggestion
})
});
let body = {
registerCheckId:this.doctorCheck.RegisterCheckEdit.id,
details
}
console.log(`/api/app/registerchecksuggestion/createregisterchecksuggestionmany`, body)
postapi(`/api/app/registerchecksuggestion/createregisterchecksuggestionmany`, body)
.then((res) => {
console.log("saveCheckSuggestion", res.data);
if (res.code != -1) {
//this.doctorCheck.RegisterCheckEdit.completeFlag = '1';
if(successTip) this.$message.success("操作成功!")
}
})
.catch((err) => {
@ -533,7 +795,7 @@ export default {
addSummary() {
if (!this.doctorCheck.RegisterCheckEdit.id) {
alert("请选择检查项目")
this.$message.warning("请选择检查项目")
return
}
this.doctorCheck.checkSummaryList.push({
@ -564,6 +826,32 @@ export default {
this.getCustomerOrgGroup(newVal);
}
},
//
"medicalStartDate":{
immediate:true,
handler(newVal,oldVal){
if(newVal){
let body = {
customerOrgs: [
{
startDate: moment(this.medicalStartDate).format('yyyy-MM-DD'),
endDate: moment(this.medicalStartDate).format('yyyy-MM-DD'),
dateType: '2' //
}
],
maxResultCount: 1000
}
postapi('/api/patientregister/getpeisrecordlist',body).then(res => {
if(res.code != -1) this.medicalStartDateDatas = res.data.items
})
}else{
this.medicalStartDateDatas = []
}
}
},
},
};
</script>

31
src/components/doctorCheck/CheckItemList.vue

@ -5,11 +5,11 @@
style="width: 100%"
:height="
window.pageHeight < 600
? Math.floor(((420 - 40) * 3) / 5)
: Math.floor(((window.pageHeight - 260 - 40) * 3) / 5)
? Math.floor(((420 - 40 - (isCheckPicture ? 100:0)) * 3) / 5)
: Math.floor(((window.pageHeight - 260 - 40 - (isCheckPicture ? 100:0)) * 3) / 5)
"
:row-style="{ height: '30px' }"
border
border highlight-current-row
@row-click="rowClick"
>
<el-table-column prop="itemName" label="项目" width="180" />
@ -49,6 +49,7 @@ import { getapi, postapi, putapi, deletapi } from "@/api/api";
export default {
components: {},
props:["isCheckPicture"],
data() {
return {
restaurants: [], //
@ -74,6 +75,11 @@ export default {
//
checkItemList(RegisterCheckId) {
this.doctorCheck.checkItem = null
if(!RegisterCheckId){
this.doctorCheck.checkItemList = []
return
}
console.log(
`/api/app/registercheckitem/getlistinregistercheckid?RegisterCheckId=${RegisterCheckId}`
);
@ -120,16 +126,17 @@ export default {
//
watch: {
//
"doctorCheck.RegisterCheckId"(newVal, oldVal) {
console.log(
"watch doctorCheck.RegisterCheckId newVal:",
newVal,
" oldVal:",
oldVal
);
if (newVal != oldVal && newVal != "") {
"doctorCheck.RegisterCheckId":{
immediate:true,
handler(newVal, oldVal) {
console.log(
"watch doctorCheck.RegisterCheckId newVal:",
newVal,
" oldVal:",
oldVal
);
this.checkItemList(newVal);
}
}
},
},
};

81
src/components/doctorCheck/CheckPicture.vue

@ -0,0 +1,81 @@
<template>
<div style="display: flex;">
<div class="demo-image__preview" v-for="item in checkPictures" :key="item.id" style="padding: 0 0 0 2px;">
<el-image
style="width: 80px; height: 80px;border-radius:5px;"
:src="item.pictureFilename"
:preview-src-list="[item.pictureFilename]">
</el-image>
<div style="margin: -6px 0 0 15px;">
<el-checkbox v-model="item.isPrintTrans">打印</el-checkbox>
</div>
</div>
</div>
</template>
<script>
import moment from "moment";
import { mapState } from "vuex";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
export default {
components: {},
data() {
return {
checkPictures:[{
id:'1',
registerCheckId:'registerCheckId',
isPrint:'Y',
isPrintTrans:true,
pictureFilename:'https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg'
},{
id:'2',
registerCheckId:'registerCheckId',
isPrint:'Y',
isPrintTrans:true,
pictureFilename:'https://fuss10.elemecdn.com/1/8e/aeffeb4de74e2fde4bd74fc7b4486jpeg.jpeg'
}],
};
},
created() {},
//
mounted() {},
computed: {
...mapState(["dict", "doctorCheck","patientRegister", "customerOrg"]),
lmoment(date, forMat) {
return moment(new Date(date)).format(forMat);
},
},
methods: {
getCheckPictures(registerCheckId){
if(!registerCheckId){
this.checkPictures = []
return
}
},
},
//
watch: {
//
"doctorCheck.prBase.id":{
immediate:true,
handler(newVal, oldVal) {
console.log("watch doctorCheck.prBase.id newVal:", newVal, " oldVal:", oldVal);
this.getCheckPictures(newVal)
}
},
}
};
</script>
<style scoped>
.query {
margin-left: 10px;
margin-right: 2px;
padding: 1px 1px;
}
</style>

25
src/components/doctorCheck/CheckSumSug.vue

@ -2,7 +2,7 @@
<div style="display: flex;">
<div :style="'width:'+Math.floor((window.pageWidth - 200 - 110 - 45 - 4)/2) + 'px;'">
<el-table id="tableSummary" row-key="id" :data="doctorCheck.checkSummaryList" size="samll"
:height="window.pageHeight < 600 ? Math.floor(395*2/5):Math.floor((window.pageHeight - 205)*2/5)"
:height="window.pageHeight < 600 ? Math.floor((395 - (isCheckPicture ? 100:0))*2/5):Math.floor((window.pageHeight - 205 - (isCheckPicture ? 100:0))*2/5)"
width="100%" border @row-click="rowClick">
<el-table-column prop="summary" label="小结" >
<template slot-scope="scope">
@ -15,7 +15,7 @@
</div>
<div :style="'margin-left:2px;width:'+Math.floor((window.pageWidth - 200 - 110 - 45 - 4)/2) + 'px;'">
<el-table id="tableSuggestion" row-key="id" :data="doctorCheck.checkSuggestionList" size="samll"
:height="window.pageHeight < 600 ? Math.floor(395*2/5):Math.floor((window.pageHeight - 205)*2/5)"
:height="window.pageHeight < 600 ? Math.floor((395 - (isCheckPicture ? 100:0))*2/5):Math.floor((window.pageHeight - 205 - (isCheckPicture ? 100:0))*2/5)"
width="100%" border @row-click="rowClick">
<el-table-column prop="suggestion" label="建议" >
<template slot-scope="scope">
@ -34,6 +34,7 @@ import Sortable from "sortablejs";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
export default {
components: {},
props:["isCheckPicture"],
data() {
return {
@ -55,7 +56,11 @@ export default {
methods: {
//
checkSummaryList(RegisterCheckId) {
console.log(`/api/app/registerchecksummary/getregisterchecksummarylist?RegisterCheckId=${RegisterCheckId}`)
if(!RegisterCheckId){
this.doctorCheck.checkSummaryList = [];
return;
}
// console.log(`/api/app/registerchecksummary/getregisterchecksummarylist?RegisterCheckId=${RegisterCheckId}`)
getapi(`/api/app/registerchecksummary/getregisterchecksummarylist?RegisterCheckId=${RegisterCheckId}`)
.then((res) => {
console.log("checkSummaryList", res.data);
@ -70,7 +75,11 @@ export default {
//
checkSuggestionList(RegisterCheckId) {
console.log(`/api/app/registerchecksuggestion/getregisterchecksuggestionlist?RegisterCheckId=${RegisterCheckId}`)
if(!RegisterCheckId){
this.doctorCheck.checkSuggestionList = [];
return;
}
// console.log(`/api/app/registerchecksuggestion/getregisterchecksuggestionlist?RegisterCheckId=${RegisterCheckId}`)
getapi(`/api/app/registerchecksuggestion/getregisterchecksuggestionlist?RegisterCheckId=${RegisterCheckId}`)
.then((res) => {
console.log("checkSuggestionList", res.data);
@ -131,11 +140,9 @@ export default {
watch: {
//
"doctorCheck.RegisterCheckId"(newVal, oldVal) {
console.log("watch doctorCheck.RegisterCheckId newVal:", newVal, " oldVal:", oldVal);
if (newVal != oldVal && newVal != '') {
this.checkSummaryList(newVal)
this.checkSuggestionList(newVal)
}
console.log("watch doctorCheck.RegisterCheckId newVal:", newVal, " oldVal:", oldVal);
this.checkSummaryList(newVal)
this.checkSuggestionList(newVal)
},
},
};

4
src/components/doctorCheck/PatientRegisterBase.vue

@ -34,7 +34,7 @@
</div>
<div>
<span class="query">体检日期</span>
<el-input :value="prBase.creationTime ? lmoment(doctorCheck.prBase.creationTime, 'yyyy-MM-DD') : ''"
<el-input :value="prBase.medicalStartDate ? lmoment(doctorCheck.prBase.medicalStartDate, 'yyyy-MM-DD') : ''"
style="width: 100px;" size="small" disabled></el-input>
</div>
<div>
@ -234,7 +234,7 @@ export default {
sexId: '', //
medicalTimes: '', //
maritalStatusId: '', //
creationTime: '', //
medicalStartDate: '', //
customerOrgParentName: '', //
customerOrgName: '', //
medicalTypeId: '', //

7
src/components/doctorCheck/PatientRegisterList.vue

@ -31,9 +31,9 @@
<el-option label="未审核" value="N"/>
<el-option label="已审核" value="Y"/>
</el-select>
<el-checkbox v-model="local.query.haveImage">有图</el-checkbox>
<el-checkbox v-if="win == 'doctorCheck' ? true:false" v-model="local.query.haveImage">有图</el-checkbox>
</div>
<div class="query">
<div class="query" v-if="win == 'doctorCheck' ? true:false">
<span>组合项目</span>
<el-select v-model="local.query.checkAsb" placeholder="快速选择组合项目" size="small"
filterable :filter-method="filterMethod"
@ -311,6 +311,9 @@ export default {
if(this.patientRegister.query.sex) body.sexId = this.patientRegister.query.sex
if(this.patientRegister.query.isAudit) body.isAudit = this.patientRegister.query.isAudit
if(this.patientRegister.query.completeFlag) body.completeFlag = this.patientRegister.query.completeFlag
if(this.local.query.checkAsb) body.asbitems = [this.local.query.checkAsb]
if(this.local.query.haveImage) body.isPicture = 'Y'
body.maxResultCount = 500
// "patientName": "string",
// "sexId": "string",

68
src/components/doctorCheck/RegisterCheckEdit.vue

@ -36,38 +36,6 @@ export default {
data() {
return {
dialogVisible: false,
pickerOptions: {
shortcuts: [
{
text: "最近一周",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit("pick", [start, end]);
},
},
{
text: "最近一个月",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit("pick", [start, end]);
},
},
{
text: "最近三个月",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit("pick", [start, end]);
},
},
],
},
};
},
@ -83,17 +51,37 @@ export default {
},
},
methods: {
//
btnQuery() {
this.doctorCheck.RegisterCheckEdit.times++;
console.log("this.doctorCheck.RegisterCheckEdit", this.doctorCheck.RegisterCheckEdit);
},
getRegisterCheck(id){
if(id){
getapi(`/api/app/registercheck/getregistercheck?id=${id}`).then(res =>{
if(res.code != -1){
this.doctorCheck.RegisterCheckEdit = res.data
}
})
}else{
this.doctorCheck.RegisterCheckEdit = {
id:'',
checkDoctorId:'',
checkDate:'',
LastModifierId:'',
LastModificationTime:'',
completeFlag:''
}
}
}
},
//
readIdCard() {
alert("读身份证");
watch:{
"doctorCheck.RegisterCheckId":{
immediate:true,
handler(newVal,oldVal){
this.getRegisterCheck(newVal)
}
},
},
};
</script>
<style scoped>

21
src/components/doctorCheck/RegisterCheckList.vue

@ -2,7 +2,7 @@
<div>
<el-table :data="doctorCheck.RegisterCheckList" style="width: 100%"
:height="window.pageHeight < 600 ? 340:window.pageHeight-260"
border highlight-current-row
border highlight-current-row ref='doctorCheck_RegisterCheckList'
:row-class-name="tableRowClassName" @row-click="rowClick">
<el-table-column prop="asbitemName" label="组合项目" width="198" />
</el-table>
@ -45,11 +45,17 @@ export default {
rowClick(row){
//registerCheckId
this.doctorCheck.RegisterCheckId = row.id
this.doctorCheck.RegisterCheckEdit = row
// this.doctorCheck.RegisterCheckEdit = row
},
//
registerCheckList(patientRegisterId){
if(!patientRegisterId){
this.doctorCheck.RegisterCheckList = []
this.doctorCheck.RegisterCheckId = ''
// this.doctorCheck.RegisterCheckEdit = {}
return
}
console.log(`/api/app/register-check/register-check-or-asbitem/${patientRegisterId}`)
getapi(`/api/app/register-check/register-check-or-asbitem/${patientRegisterId}`)
.then((res) => {
@ -59,7 +65,10 @@ export default {
// 1
if(res.data.length > 0) {
this.doctorCheck.RegisterCheckId = res.data[0].id
this.doctorCheck.RegisterCheckEdit = res.data[0]
// this.doctorCheck.RegisterCheckEdit = res.data[0]
this.$refs['doctorCheck_RegisterCheckList'].setCurrentRow(res.data[0])
}
}
})
@ -79,10 +88,8 @@ export default {
"doctorCheck.prBase.id":{
immediate:true,
handler(newVal, oldVal) {
console.log("watch doctorCheck.prBase.id newVal:", newVal, " oldVal:", oldVal);
if (newVal != oldVal && newVal != '') {
this.registerCheckList(newVal)
}
console.log("watch doctorCheck.prBase.id newVal:", newVal, " oldVal:", oldVal);
this.registerCheckList(newVal)
}
},
}

8
src/components/patientRegister/PatientRegisterItem.vue

@ -1044,10 +1044,12 @@ export default {
immediate: true, //
// deep: true, //
handler(newVal,oldVal){
console.log('人员登记 组合项目明细,人员id:',newVal,oldVal)
this.oldFormId = oldVal
if(newVal != oldVal){
this.getPrAsb(newVal)
}
this.getPrAsb(newVal)
// if(newVal != oldVal){
// this.getPrAsb(newVal)
// }
}
},

4
src/components/report/CusOrgOCX.vue

@ -364,6 +364,7 @@ export default {
btnOk(){
let checkMsg = '',cusOrgOCX='';
for(let i=0;i<this.dataCusOrgOCX.length;i++){
this.dataCusOrgOCX[i].dateType = this.dateType
checkMsg = this.checkQuery(this.dataCusOrgOCX[i],this.dataCusOrgOCX,i+1,i);
if(checkMsg) break;
}
@ -374,7 +375,8 @@ export default {
if(this.dataCusOrgOCX && this.dataCusOrgOCX.length > 0){
cusOrgOCX = this.dataCusOrgOCX[0].customerOrgName || '';
switch (this.dataCusOrgOCX[0].dateType) {
// debugger // this.dataCusOrgOCX[0].dateType
switch (this.dateType) {
case 'medicalStartDate':
cusOrgOCX += "(体检"
break;

21
src/views/doctorCheck/doctorCheck.vue

@ -46,10 +46,13 @@
<div>
<div :style="'margin-left: 2px;width:' + (window.pageWidth - 200 - 110 - 45 - 2) + 'px;'" >
<CheckItemList/>
<CheckItemList :isCheckPicture="isCheckPicture"/>
</div>
<div v-if="isCheckPicture" class="demo-image__preview" :style="'margin-top: 2px;margin-left: 2px;height:100px;width:' + (window.pageWidth - 200 - 110 - 45 - 2) + 'px;'">
<CheckPicture />
</div>
<div :style="'margin-top: 2px;margin-left: 2px;width:' + (window.pageWidth - 200 - 110 - 45 - 2) + 'px;'">
<CheckSumSug/>
<CheckSumSug :isCheckPicture="isCheckPicture"/>
</div>
<div :style="'margin-top: 2px;width:' + (window.pageWidth - 200 - 110 - 45 - 2) + 'px;'">
<RegisterCheckEdit/>
@ -72,6 +75,7 @@ import { tcdate,photoParse } from "../../utlis/proFunc";
import PatientRegisterBase from "../../components/doctorCheck/PatientRegisterBase.vue";
import ButtonList from "../../components/doctorCheck/ButtonList.vue";
import CheckPicture from "../../components/doctorCheck/CheckPicture.vue";
import RegisterCheckList from "../../components/doctorCheck/RegisterCheckList.vue";
import CheckItemList from "../../components/doctorCheck/CheckItemList.vue";
import CheckSumSug from "../../components/doctorCheck/CheckSumSug.vue";
@ -82,6 +86,7 @@ export default {
RegisterCheckList,
PatientRegisterBase,
ButtonList,
CheckPicture,
CheckItemList,
CheckSumSug,
RegisterCheckEdit
@ -90,10 +95,20 @@ export default {
return {
peoplePhoto:'', //
activeName:'asbitem',
isCheckPicture:false, //
};
},
created() {},
created() {
if (this.$peisAPI) {
// this.$message.info("");
// console.log('this.$peisAPI',this.$peisAPI)
this.$peisAPI.getIsCheckPicture().then(res =>{
if(res) this.isCheckPicture = res
})
}
},
//
mounted() {

Loading…
Cancel
Save