Browse Source

print

master
pengjun 2 years ago
parent
commit
ac70272038
  1. 6
      src/api/request.js
  2. 53
      src/components/doctorCheck/ButtonList.vue
  3. 131
      src/components/doctorCheck/CheckPicture.vue
  4. 22
      src/components/doctorCheck/CheckSumSug.vue
  5. 132
      src/components/patientRegister/PatientRegisterList.vue
  6. 2
      src/components/report/BtnReport.vue
  7. 62
      src/components/report/PatientRegisterQueryNobtn.vue
  8. 23
      src/components/sumDoctorCheck/ButtonList.vue
  9. 8
      src/components/sumDoctorCheck/SumSug.vue
  10. 26
      src/views/charge/charge.vue
  11. 63
      src/views/doctorCheck/doctorCheck.vue

6
src/api/request.js

@ -28,7 +28,7 @@ instance.interceptors.request.use(
config.headers.Authorization = `${tokentype} ${token}`;
return config;
},
function (err) {
function (err) {
return Promise.reject(err);
}
);
@ -37,8 +37,8 @@ instance.interceptors.request.use(
instance.interceptors.response.use(
(res) => {
// console.log(res);
if (res.data.code == -1) {
Message.error(res.data.message);
if (res.data.code < 0) {
Message.error({ showClose: true, message: res.data.message });
}
return res.data;
},

53
src/components/doctorCheck/ButtonList.vue

@ -10,10 +10,12 @@
<el-button type="primary" class="commonbutton" @click="btnAddPr">增加人员</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '编辑人员')" class="divBtnClass">
<el-button type="primary" class="commonbutton" @click="btnEditPr">编辑人员</el-button>
<el-button type="primary" class="commonbutton" @click="btnEditPr"
:disabled="doctorBtnDisabled('editPr')">编辑人员</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '删除人员')" class="divBtnClass">
<el-button type="primary" class="deleteButton" @click="btnDelPr">删除人员</el-button>
<el-button type="primary" class="deleteButton" @click="btnDelPr"
:disabled="doctorBtnDisabled('delPr')">删除人员</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '上一人')" class="divBtnClass">
<el-button type="primary" class="commonbutton" @click="btnStep(-1)">上一人</el-button>
@ -27,25 +29,32 @@
</div>
-->
<div v-show="checkPagePriv(pagePriv.privs, '修改结果')" class="divBtnClass">
<el-button type="primary" class="commonbutton" @click="btnEdit">修改结果</el-button>
<el-button type="primary" class="commonbutton" @click="btnEdit"
:disabled="doctorBtnDisabled('btnEdit')">修改结果</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '删除结果')" class="divBtnClass">
<el-button type="primary" class="deleteButton" @click="btnDel">删除结果</el-button>
<el-button type="primary" class="deleteButton" @click="btnDel"
:disabled="doctorBtnDisabled('btnDel')">删除结果</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '放弃明细项目检查')" class="divBtnClass">
<el-button type="primary" class="commonbutton" @click="refuseItem" style="font-size:11px;">放弃明细项目检查</el-button>
<el-button type="primary" class="commonbutton" @click="refuseItem" style="font-size:11px;"
:disabled="doctorBtnDisabled('refuseItem')">放弃明细项目检查</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '删除明细项目')" class="divBtnClass">
<el-button type="primary" class="deleteButton" @click="delItem">删除明细项目</el-button>
<el-button type="primary" class="deleteButton" @click="delItem"
:disabled="doctorBtnDisabled('delItem')">删除明细项目</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '取消审核')" class="divBtnClass">
<el-button type="primary" class="commonbutton" @click="unAudit">取消审核</el-button>
<el-button type="primary" class="commonbutton" @click="unAudit"
:disabled="doctorBtnDisabled('unAudit')">取消审核</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '历次结果')" class="divBtnClass">
<el-button type="primary" class="commonbutton" @click="btnCheckHistory">历次结果</el-button>
<el-button type="primary" class="commonbutton" @click="btnCheckHistory"
:disabled="doctorBtnDisabled('btnCheckHistory')">历次结果</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '体检报告')" class="divBtnClass">
<el-button type="primary" class="commonbutton" @click="btnReport">体检报告</el-button>
<el-button type="primary" class="commonbutton" @click="btnReport"
:disabled="doctorBtnDisabled('btnReport')">体检报告</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '总检')" class="divBtnClass">
<el-button type="primary" class="commonbutton" @click="toSumDoctorCheck">总检</el-button>
@ -146,7 +155,7 @@ export default {
SumItems,
SumHistory
},
props: ["optGrant", "addSummary", "btnMakeDiagnosis", "save", "audit", "unAudit"],
props: ["optGrant", "addSummary", "btnMakeDiagnosis", "save", "audit", "unAudit", "doctorBtnDisabled"],
data() {
return {
@ -526,14 +535,16 @@ export default {
],
};
postapi(`/api/app/printreport/getpeisreport?PatientRegisterId=${this.doctorCheck.prBase.id}`)
.then((res) => {
if (res.code > -1) {
toOutShell.ReportTable = res.data;
console.log('JSON.stringify(toOutShell)', JSON.stringify(toOutShell));
return this.$peisAPI.printPre(JSON.stringify(toOutShell));
}
})
// postapi(`/api/app/printreport/getpeisreport?PatientRegisterId=${this.doctorCheck.prBase.id}`)
// .then((res) => {
// if (res.code > -1) {
// toOutShell.ReportTable = res.data;
// console.log('JSON.stringify(toOutShell)', JSON.stringify(toOutShell));
// return this.$peisAPI.printPre(JSON.stringify(toOutShell));
// }
// })
toOutShell.BusinessCode = this.doctorCheck.prBase.id
this.$peisAPI.printPre(JSON.stringify(toOutShell))
.then(res => {
if (res) {
let lres = JSON.parse(res)
@ -598,10 +609,8 @@ export default {
},
};
</script>
<style scoped>
@import '../../assets/css/global_button.css';
<style scoped>@import '../../assets/css/global_button.css';
.divBtnClass {
margin-top: 5px;
}
</style>
}</style>

131
src/components/doctorCheck/CheckPicture.vue

@ -1,69 +1,36 @@
<template>
<div style="display: flex;">
<div>
<div v-show="checkPagePriv(pagePriv.privs,'采图')">
<el-button
type="primary"
class="btnClass"
@click="btnGetPic"
size="small"
>采图</el-button
>
<div v-show="checkPagePriv(pagePriv.privs, '采图')">
<el-button type="primary" class="btnClass" @click="btnGetPic" :disabled="doctorBtnDisabled('btnGetPic')" size="small">采图</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'导图')">
<el-button
type="primary"
class="btnClass"
@click="btnExpPic"
size="small"
>导图</el-button
>
<div v-show="checkPagePriv(pagePriv.privs, '导图')">
<el-button type="primary" class="btnClass" @click="btnExpPic" :disabled="doctorBtnDisabled('btnExpPic')" size="small">导图</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs,'保存')">
<el-button
type="primary"
class="btnClass"
@click="btnSavePic"
size="small"
>保存</el-button
>
<div v-show="checkPagePriv(pagePriv.privs, '保存')">
<el-button type="primary" class="btnClass" @click="btnSavePic" :disabled="doctorBtnDisabled('btnSavePic')" size="small">保存</el-button>
</div>
</div>
<!-- -->
<div :style="`overflow-x: scroll;width:${Math.floor((window.pageWidth - 200 - 110 - 15 - 4))}px;`">
<div style="display: flex;">
<div
class="demo-image__preview"
v-for="(item, index) in checkPictures"
:key="item.id"
style="display: inline-block; padding: 0 0 0 2px"
>
<div
style="
<div class="demo-image__preview" v-for="(item, index) in checkPictures" :key="item.id"
style="display: inline-block; padding: 0 0 0 2px">
<div style="
position: relative;
font-size: 24px;
margin: -6px 0 0 55px;
z-index: 2;
"
>
">
<el-tooltip content="删除该图" placement="bottom" effect="light">
<i
class="el-icon-close"
@click="btnDelImage(index)"
style="color: red; cursor: pointer"
></i>
<i class="el-icon-close" @click="btnDelImage(index)" :disabled="doctorBtnDisabled('btnDelImage')" style="color: red; cursor: pointer"></i>
</el-tooltip>
</div>
<div style="margin-top: -25px">
<el-image
style="width: 80px; height: 80px; border-radius: 5px"
:src="
item.pictureFilename.indexOf('http') > -1
? item.pictureFilename
: sysConfig.apiUrl + item.pictureFilename
"
:preview-src-list="previewSrcList(checkPictures,item)"
>
<el-image style="width: 80px; height: 80px; border-radius: 5px" :src="item.pictureFilename.indexOf('http') > -1
? item.pictureFilename
: sysConfig.apiUrl + item.pictureFilename
" :preview-src-list="previewSrcList(checkPictures, item)">
</el-image>
</div>
<div style="display: flex">
@ -72,35 +39,19 @@
</div>
<div style="font-size: 12px; margin: -2px 0 0 1px">打印</div>
<div style="font-size: 15px; margin: -5px 0 0 2px">
<el-tooltip
content="保存后,图片将按序号从小到大排序"
placement="bottom"
effect="light"
>
<input
placeholder="排序"
v-model="item.displayOrder"
@onkeyup="validateInteger(e, index)"
style="width: 30px"
/>
<el-tooltip content="保存后,图片将按序号从小到大排序" placement="bottom" effect="light">
<input placeholder="排序" v-model="item.displayOrder" @onkeyup="validateInteger(e, index)"
style="width: 30px" />
</el-tooltip>
</div>
</div>
</div>
</div>
</div>
<el-dialog
title="图片上传"
:visible.sync="dialogCheckPictureUpload"
:close-on-click-modal="false"
width="800px"
@close="getCheckPictures(doctorCheck.RegisterCheckId)"
>
<CheckPictureUpload
:registerCheckId="doctorCheck.RegisterCheckId"
:uploadSeq="uploadSeq"
:closePicUpload="closePicUpload"
/>
<el-dialog title="图片上传" :visible.sync="dialogCheckPictureUpload" :close-on-click-modal="false" width="800px"
@close="getCheckPictures(doctorCheck.RegisterCheckId)">
<CheckPictureUpload :registerCheckId="doctorCheck.RegisterCheckId" :uploadSeq="uploadSeq"
:closePicUpload="closePicUpload" />
</el-dialog>
</div>
</template>
@ -108,7 +59,7 @@
import moment from "moment";
import { mapState } from "vuex";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { getPagePriv,checkPagePriv, deepCopy, arrayExistObj } from "../../utlis/proFunc";
import { getPagePriv, checkPagePriv, deepCopy, arrayExistObj } from "../../utlis/proFunc";
import CheckPictureUpload from "./CheckPictureUpload.vue";
@ -116,13 +67,14 @@ export default {
components: {
CheckPictureUpload,
},
props: ["doctorBtnDisabled"],
data() {
return {
sysConfig:{}, //
pagePriv:{
routeUrlorPageName:'doctorCheck', //
privs:[] //
},
sysConfig: {}, //
pagePriv: {
routeUrlorPageName: 'doctorCheck', //
privs: [] //
},
checkPictures: [
{
id: "1",
@ -150,7 +102,7 @@ export default {
created() {
//
let userPriv = window.sessionStorage.getItem('userPriv')
if(userPriv) this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName))
if (userPriv) this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName))
},
//
@ -208,30 +160,30 @@ export default {
},
//
previewSrcList(oriList,curImag){
previewSrcList(oriList, curImag) {
let srcList = []
let image = curImag.pictureFilename.indexOf('http') > -1
? curImag.pictureFilename
: this.sysConfig.apiUrl + curImag.pictureFilename;
? curImag.pictureFilename
: this.sysConfig.apiUrl + curImag.pictureFilename;
srcList.push(image)
let lfind = arrayExistObj(oriList,'id',curImag.id)
if(lfind > -1){
let lfind = arrayExistObj(oriList, 'id', curImag.id)
if (lfind > -1) {
for (let i = lfind + 1; i < oriList.length; i++) {
let e = oriList[i];
image = e.pictureFilename.indexOf('http') > -1
? e.pictureFilename
: this.sysConfig.apiUrl + e.pictureFilename;
? e.pictureFilename
: this.sysConfig.apiUrl + e.pictureFilename;
srcList.push(image)
}
for (let index = 0; index < lfind; index++) {
let e = oriList[index];
image = e.pictureFilename.indexOf('http') > -1
? e.pictureFilename
: this.sysConfig.apiUrl + e.pictureFilename;
? e.pictureFilename
: this.sysConfig.apiUrl + e.pictureFilename;
srcList.push(image)
}
}
return srcList
return srcList
},
btnGetPic() {
@ -387,7 +339,8 @@ export default {
margin: 2px 2px 0;
height: 26px;
min-width: 40px;
padding: 5px 5px; /*原始 默认值 10px 10px */
padding: 5px 5px;
/*原始 默认值 10px 10px */
}
/* 强制出现滚动条 */

22
src/components/doctorCheck/CheckSumSug.vue

@ -10,19 +10,19 @@
<div>小结</div>
<div style="display: flex;">
<div v-show="checkPagePriv(pagePriv.privs, '生成小结')">
<el-button type="primary" class="btnClass" @click="btnMakeDiagnosis">生成小结</el-button>
<el-button type="primary" class="btnClass" @click="btnMakeDiagnosis" :disabled="doctorBtnDisabled('btnMakeDiagnosis')">生成小结</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '新增小结')">
<el-button type="primary" class="btnClass" @click="addSummary">新增小结</el-button>
<el-button type="primary" class="btnClass" @click="addSummary" :disabled="doctorBtnDisabled('addSummary')">新增小结</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '保存结果')">
<el-button type="primary" class="btnClass" @click="save">保存结果</el-button>
<el-button type="primary" class="btnClass" @click="save" :disabled="doctorBtnDisabled('save')">保存结果</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '审核')">
<el-button type="primary" class="btnClass" style="min-width: 40px;" @click="audit">审核</el-button>
<el-button type="primary" class="btnClass" style="min-width: 40px;" @click="audit" :disabled="doctorBtnDisabled('audit')">审核</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '排队')">
<el-button type="primary" class="btnClass" style="min-width: 40px;" @click="btnLineUp">排队</el-button>
<el-button type="primary" class="btnClass" style="min-width: 40px;" @click="btnLineUp" :disabled="doctorBtnDisabled('btnLineUp')">排队</el-button>
</div>
</div>
</div>
@ -30,12 +30,12 @@
<template slot-scope="scope">
<div style="display: flex;">
<el-input type="textarea" v-model="scope.row.summary" :autosize="{ minRows: 1, maxRows: 100 }"
:disabled="doctorCheck.RegisterCheckEdit.completeFlag == '1' || doctorCheck.RegisterCheckEdit.completeFlag == '2'"
:disabled="doctorBtnDisabled('delSum')"
placeholder="请输入小结">
</el-input>
<el-button type="danger" style="min-width:23px;padding:2px;" icon="el-icon-delete"
@click="delSum(scope.$index)"
:disabled="doctorCheck.RegisterCheckEdit.completeFlag == '1' || doctorCheck.RegisterCheckEdit.completeFlag == '2'"
:disabled="doctorBtnDisabled('delSum')"
size="small"></el-button>
</div>
</template>
@ -53,7 +53,7 @@
<div style="display: flex;">
<div v-show="checkPagePriv(pagePriv.privs, '新增建议')">
<el-button type="primary" class="btnClass" @click="addSuggestion"
:disabled="doctorCheck.RegisterCheckEdit.completeFlag == '1' || doctorCheck.RegisterCheckEdit.completeFlag == '2'">新增建议</el-button>
:disabled="doctorBtnDisabled('addSuggestion')">新增建议</el-button>
</div>
</div>
</div>
@ -61,12 +61,12 @@
<template slot-scope="scope">
<div style="display: flex;">
<el-input type="textarea" v-model="scope.row.suggestion" :autosize="{ minRows: 1, maxRows: 100 }"
:disabled="doctorCheck.RegisterCheckEdit.completeFlag == '1' || doctorCheck.RegisterCheckEdit.completeFlag == '2'"
:disabled="doctorBtnDisabled('delSug')"
placeholder="请输入建议">
</el-input>
<el-button type="danger" style="min-width:23px;padding:2px;" icon="el-icon-delete"
@click="delSug(scope.$index)"
:disabled="doctorCheck.RegisterCheckEdit.completeFlag == '1' || doctorCheck.RegisterCheckEdit.completeFlag == '2'"
:disabled="doctorBtnDisabled('delSug')"
size="small"></el-button>
</div>
</template>
@ -82,7 +82,7 @@ import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { getPagePriv, checkPagePriv, deepCopy } from "../../utlis/proFunc";
export default {
components: {},
props: ["registerCheckId", "isCheckPicture", "optGrant", "addSummary", "btnMakeDiagnosis", "save", "audit", "unAudit", "btnLineUp"],
props: ["registerCheckId", "isCheckPicture", "optGrant", "addSummary", "btnMakeDiagnosis", "save", "audit", "unAudit", "btnLineUp","doctorBtnDisabled"],
data() {
return {
pagePriv: {

132
src/components/patientRegister/PatientRegisterList.vue

@ -405,7 +405,7 @@ export default {
}
if (isPreview) {
//
/*
//this.multipleSelection.forEach((item,index) =>{
postapi(
`/api/app/printreport/getpatientregisterguidereport?PatientRegisterId=${this.multipleSelection[0].id}`
@ -430,20 +430,32 @@ export default {
console.log('打印指引单', err)
this.$message.warning({ showClose: true, message: err });
});
// });
*/
toOutShell.BusinessCode = this.multipleSelection[0].id
this.$peisAPI.printPre(JSON.stringify(toOutShell))
.then(res => {
if (JSON.parse(res).code < 0) {
this.$message.warning({ showClose: true, message: JSON.parse(res).message });
}
})
.catch((err) => {
console.log('打印指引单', err)
this.$message.warning({ showClose: true, message: `${err}` });
});
} else {
this.elProgress.display = true;
this.elProgress.percentage = 0;
let resPrintData, resPeisAPI, resPrintTimes;
for (let i = 0; i < this.multipleSelection.length; i++) {
try {
try {
/*
resPrintData = await postapi(`/api/app/printreport/getpatientregisterguidereport?PatientRegisterId=${this.multipleSelection[i].id}`)
if (resPrintData.code == -1) continue
toOutShell.ReportTable = resPrintData.data
resPeisAPI = await this.$peisAPI.print(JSON.stringify(toOutShell));
console.log('壳返回结果',resPeisAPI)
console.log('壳返回结果', resPeisAPI)
if (JSON.parse(resPeisAPI).code < 0) continue
resPrintTimes = await postapi("/api/app/patientregister/updatepatientregisterguideprinttimesmany", [this.multipleSelection[i].id]);
if (resPrintTimes.code == -1) continue
@ -455,15 +467,33 @@ export default {
this.tableData[lfind].guidePrintTimes = 1;
}
}
*/
let patientregisterId = this.multipleSelection[i].id
toOutShell.BusinessCode = patientregisterId
let resPeisAPI = await this.$peisAPI.print(JSON.stringify(toOutShell));
if (JSON.parse(resPeisAPI).code < 0) continue
let resPrintTimes = await postapi("/api/app/patientregister/updatepatientregisterguideprinttimesmany", [patientregisterId]);
if (resPrintTimes.code == -1) continue
lfind = arrayExistObj(this.tableData, "id", patientregisterId);
if (lfind > -1) {
if (this.tableData[lfind].guidePrintTimes) {
this.tableData[lfind].guidePrintTimes = Number(this.tableData[lfind].guidePrintTimes) + 1;
} else {
this.tableData[lfind].guidePrintTimes = 1;
}
}
} catch (error) {
console.log('打印指引单', `${error}`)
this.$message.warning({ showClose: true, message: error });
console.log('打印指引单', error)
this.$message.warning({ showClose: true, message: `${error}` });
}
this.elProgress.percentage = Math.floor(
((i + 1) * 100) / this.multipleSelection.length
);
}
this.elProgress.display = false;
}
},
@ -501,20 +531,20 @@ export default {
//
if (this.DbClick == 1) { //id
this.rowClickRetrieve(row)
this.rowClickRetrieve(row)
return;
}
setTimeout(() => { //300ms
if(this.oneClick == 1 && this.DbClick == 0) this.rowClickRetrieve(row)
if (this.oneClick == 1 && this.DbClick == 0) this.rowClickRetrieve(row)
}, 300)
},
rowClickRetrieve(row) {
this.oneClick = 0;
this.DbClick = 0;
// shift
if (this.window.shift) {
//
@ -576,7 +606,7 @@ export default {
},
//
rowDblclick(row){
rowDblclick(row) {
this.rowClick(row)
this.btnEdit()
},
@ -1063,6 +1093,7 @@ export default {
this.$message.info("此功能,需要在壳客户端才可运行!");
return;
}
let token = window.sessionStorage.getItem("token");
let user = window.sessionStorage.getItem("user");
let toOutShell = {
@ -1073,11 +1104,11 @@ export default {
{ Name: "printer", Value: user },
{ Name: "hisLog", Value: "pic/hisLog.jpg" },
],
BusinessCode:prId
};
if (isPreview) {
//http://140.143.162.39:9529/api/app/printreport/getlisrequestreport?PatientRegisterId=3a0d2e90-da68-3746-6775-bf17e5f9b295
//this.multipleSelection.forEach((item,index) =>{
/*
postapi(
`/api/app/printreport/getlisrequestreport?PatientRegisterId=${prId}`
)
@ -1094,8 +1125,20 @@ export default {
.catch((err) => {
this.$message.warning(err);
});
// });
*/
this.$peisAPI.printPre(JSON.stringify(toOutShell))
.then(res => {
if (JSON.parse(res).code < 0) {
this.$message.warning({ showClose: true, message: JSON.parse(res).message });
}
})
.catch((err) => {
console.log('打印检验条码错误', err)
this.$message.warning({ showClose: true, message: `${err}` });
});
} else {
/*
postapi(
`/api/app/printreport/getlisrequestreport?PatientRegisterId=${prId}`
)
@ -1127,6 +1170,27 @@ export default {
.catch((err) => {
this.$message.warning(err);
});
*/
this.$peisAPI.print(JSON.stringify(toOutShell))
.then(res => {
if (JSON.parse(res).code < 0) {
this.$message.warning({ showClose: true, message: JSON.parse(res).message });
}else{
return postapi("/api/app/lisrequest/updatelisrequestisprint", {
operateType: 1,
patientRegisterId: prId,
});
}
})
.then(res => {
if(res && res.code < 0){
this.$message.error({ showClose: true, message: `${res.message}` });
}
})
.catch((err) => {
console.log('打印检验条码错误', err)
this.$message.error({ showClose: true, message: `${err}` });
});
}
},
@ -1146,11 +1210,11 @@ export default {
{ Name: "printer", Value: user },
{ Name: "hisLog", Value: "pic/hisLog.jpg" },
],
BusinessCode:prId
};
if (isPreview) {
//http://140.143.162.39:9529/api/app/printreport/getpacsnoreport?PatientRegisterId=3a0c990e-5756-2dc0-19d5-69a617fe4048
//this.multipleSelection.forEach((item,index) =>{
/*
postapi(
`/api/app/printreport/getpacsnoreport?PatientRegisterId=${prId}`
)
@ -1167,8 +1231,19 @@ export default {
.catch((err) => {
this.$message.warning(err);
});
// });
*/
this.$peisAPI.printPre(JSON.stringify(toOutShell))
.then(res => {
if (JSON.parse(res).code < 0) {
this.$message.warning({ showClose: true, message: JSON.parse(res).message });
}
})
.catch((err) => {
console.log('打印pacs条码错误', err)
this.$message.warning({ showClose: true, message: `${err}` });
});
} else {
/*
postapi(
`/api/app/printreport/getpacsnoreport?PatientRegisterId=${prId}`
)
@ -1199,6 +1274,27 @@ export default {
.catch((err) => {
this.$message.warning(err);
});
*/
this.$peisAPI.print(JSON.stringify(toOutShell))
.then(res => {
if (JSON.parse(res).code < 0) {
this.$message.warning({ showClose: true, message: JSON.parse(res).message });
}else{
return postapi("/api/app/lisrequest/updatelisrequestisprint", {
operateType: 1,
patientRegisterId: prId,
});
}
})
.then(res => {
if(res && res.code < 0){
this.$message.error({ showClose: true, message: `${res.message}` });
}
})
.catch((err) => {
console.log('打印pacs条码错误', err)
this.$message.error({ showClose: true, message: `${err}` });
});
}
},

2
src/components/report/BtnReport.vue

@ -18,7 +18,7 @@
import moment from "moment";
import { mapState } from "vuex";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { arrayExistObj, parseID } from "../../utlis/proFunc";
import { arrayExistObj, deepCopy,parseID } from "../../utlis/proFunc";
//import PatientRegisterList from "../doctorCheck/PatientRegisterList.vue";
export default {

62
src/components/report/PatientRegisterQueryNobtn.vue

@ -4,8 +4,10 @@
<div style="display: flex;flex-wrap: wrap;height: 80px;align-items: center;">
<div class="query">
<span>体检单位</span>
<el-input placeholder="请选择单位" v-model="patientRegister.query.cusOrgOCX" style="width:240px;" size="small" disabled>
<el-button slot="append" icon="el-icon-search" @click="report.dialogCusOrgOCX = true" style="font-size: 20px;"></el-button>
<el-input placeholder="请选择单位" v-model="patientRegister.query.cusOrgOCX" style="width:240px;" size="small"
disabled>
<el-button slot="append" icon="el-icon-search" @click="report.dialogCusOrgOCX = true"
style="font-size: 20px;"></el-button>
</el-input>
</div>
<div class="query">
@ -28,11 +30,12 @@
<span>检查状态</span>
<el-select v-model="patientRegister.query.completeFlag" placeholder="请选择" clearable style="width: 80px"
size="small">
<el-option v-for="item in dict.completeFlag.filter(e => {return e.id != '0'})" :key="item.id" :label="item.displayName" :value="item.id">
<el-option v-for="item in dict.completeFlag.filter(e => { return e.id != '0' })" :key="item.id"
:label="item.displayName" :value="item.id">
</el-option>
</el-select>
</div>
<div class="query">
<div class="query">
<span>条码号</span>
<el-input placeholder="条码号" v-model="patientRegister.query.patientRegisterNo" size="small" clearable
style="width: 130px" />
@ -49,18 +52,17 @@
</div>
<div class="query">
<span>审核</span>
<el-select v-model="patientRegister.query.isAudit" placeholder="请选择" clearable style="width: 75px"
size="small">
<el-option label="未审核" value="N"/>
<el-option label="已审核" value="Y"/>
<el-select v-model="patientRegister.query.isAudit" placeholder="请选择" clearable style="width: 75px" size="small">
<el-option label="未审核" value="N" />
<el-option label="已审核" value="Y" />
</el-select>
</div>
</div>
<div class="query">
<span>上传</span>
<el-select v-model="patientRegister.query.isUpload" placeholder="请选择" clearable style="width: 75px"
size="small">
<el-option label="未上传" value="N"/>
<el-option label="已上传" value="Y"/>
<el-option label="未上传" value="N" />
<el-option label="已上传" value="Y" />
</el-select>
</div>
<div class="query">
@ -70,13 +72,13 @@
<el-option label="未打印" value=0 />
<el-option label="已打印" value=1 />
</el-select>
</div>
</div>
</div>
</div>
</div>
<!--通用选单位体检次数分组的控件-->
<el-dialog title="体检单位选择" :visible.sync="report.dialogCusOrgOCX"
:close-on-click-modal="false" width="800px" height="600px">
<CusOrgOCX/>
<el-dialog title="体检单位选择" :visible.sync="report.dialogCusOrgOCX" :close-on-click-modal="false" width="800px"
height="600px">
<CusOrgOCX />
</el-dialog>
</div>
</template>
@ -93,7 +95,7 @@ export default {
data() {
return {
dialogVisible: false,
};
},
@ -103,7 +105,7 @@ export default {
mounted() { },
computed: {
...mapState(["window", "dict", "patientRegister", "customerOrg","report"]),
...mapState(["window", "dict", "patientRegister", "customerOrg", "report"]),
},
methods: {
@ -138,7 +140,7 @@ export default {
},
//
changeMedicalTimes(v){
changeMedicalTimes(v) {
this.patientRegister.query.customerOrgRegister = v;
this.patientRegister.query.dateRange = [
v.beginTime,
@ -151,25 +153,31 @@ export default {
<style scoped>
@import '../../assets/css/global.css';
@import '../../assets/css/global_font.css';
::v-deep .el-input__inner {
/*text-align: center;*/
padding-left: 5px;
padding-right: 15px;
}
::v-deep .el-input__icon{
width: 15px; /* 输入框下拉箭头或清除图标 默认 25 */
::v-deep .el-input__icon {
width: 15px;
/* 输入框下拉箭头或清除图标 默认 25 */
}
::v-deep .el-input-group__append{
padding: 0 5px; /* 控件默认 0 20px;*/
::v-deep .el-input-group__append {
padding: 0 5px;
/* 控件默认 0 20px;*/
}
::v-deep .el-icon-search:before {
color: #00F;
color: #00F;
}
.query {
margin-left: 10px;
font-size: 14px;
font-size: 14px;
color: #232748;
font-weight: 400;
font-family: "NotoSansSC-Regular";
}
</style>
}</style>

23
src/components/sumDoctorCheck/ButtonList.vue

@ -132,7 +132,7 @@ export default {
//' '
if (!patientRegister.id) return ret
// ''
if (!patientRegister.isLock) return ret
if (patientRegister.isLock && patientRegister.isLock == 'Y') return ret
switch (btnFlagName) {
case 'addSuggtion':
@ -308,17 +308,26 @@ export default {
};
postapi(`/api/app/printreport/getpeisreport?PatientRegisterId=${this.dataTransOpts.tableS.patient_register.id}`)
.then((res) => {
if (res.code != -1) {
toOutShell.ReportTable = res.data;
console.log('JSON.stringify(toOutShell)', JSON.stringify(toOutShell));
return this.$peisAPI.printPre(JSON.stringify(toOutShell));
// postapi(`/api/app/printreport/getpeisreport?PatientRegisterId=${this.dataTransOpts.tableS.patient_register.id}`)
// .then((res) => {
// if (res.code != -1) {
// toOutShell.ReportTable = res.data;
// console.log('JSON.stringify(toOutShell)', JSON.stringify(toOutShell));
// return this.$peisAPI.printPre(JSON.stringify(toOutShell));
// }
// })
toOutShell.BusinessCode = this.dataTransOpts.tableS.patient_register.id
this.$peisAPI.printPre(JSON.stringify(toOutShell))
.then(res => {
if (res) {
let lres = JSON.parse(res)
if (lres.code < 0) this.$message.error({ showClose: true, message: lres.message })
}
})
.catch(err => {
this.$message.warning(err);
});
},

8
src/components/sumDoctorCheck/SumSug.vue

@ -446,7 +446,7 @@ export default {
//' '
if (!patientRegister.id) return ret
// ''
if (!patientRegister.isLock) return ret
if (patientRegister.isLock && patientRegister.isLock == 'Y') return ret
if (patientRegister.completeFlag && patientRegister.completeFlag != '3') ret = false
@ -770,7 +770,11 @@ export default {
::v-deep .el-table__empty-text {
line-height: 22px;
}
::v-deep .el-tag {
color: black;
padding: 0 5px;
font-size: 14px;
}
::v-deep .el-table__empty-block {
min-height: 22px;
}

26
src/views/charge/charge.vue

@ -1009,9 +1009,11 @@ export default {
{ Name: 'printer', Value: user },
{ Name: 'hisLog', Value: 'pic/hisLog.jpg' },
],
BusinessCode:chargeId,
};
if (isPreview) {
/*
postapi(`/api/app/printreport/getchargereport?ChargeId=${chargeId}`)
.then((res) => {
if (res.code != -1) {
@ -1029,7 +1031,19 @@ export default {
.catch(err => {
this.$message.warning(err);
});
*/
this.$peisAPI.printPre(JSON.stringify(toOutShell))
.then(res => {
if (JSON.parse(res).code < 0) {
this.$message.warning({ showClose: true, message: JSON.parse(res).message });
}
})
.catch((err) => {
console.log('打印发票错误', err)
this.$message.warning({ showClose: true, message: `${err}` });
});
} else {
/*
postapi(`/api/app/printreport/getchargereport?ChargeId=${chargeId}`)
.then((res) => {
if (res.code != -1) {
@ -1047,7 +1061,17 @@ export default {
.catch(err => {
this.$message.warning(err);
});
*/
this.$peisAPI.print(JSON.stringify(toOutShell))
.then(res => {
if (JSON.parse(res).code < 0) {
this.$message.warning({ showClose: true, message: JSON.parse(res).message });
}
})
.catch((err) => {
console.log('打印发票错误', err)
this.$message.warning({ showClose: true, message: `${err}` });
});
}
},

63
src/views/doctorCheck/doctorCheck.vue

@ -38,12 +38,12 @@
</div>
<div v-if="isCheckPicture" class="demo-image__preview"
:style="'margin-top: 2px;margin-left: 2px;height:110px;width:' + (window.pageWidth - 200 - 110 - 45 - 2) + 'px;'">
<CheckPicture />
<CheckPicture :doctorBtnDisabled="doctorBtnDisabled" />
</div>
<div :style="'margin-top: 2px;margin-left: 2px;width:' + (window.pageWidth - 200 - 110 - 15 - 2) + 'px;'">
<CheckSumSug :registerCheckId="dataTransOpts.tableS.register_check.id" :isCheckPicture="isCheckPicture"
:optGrant="optGrant" :addSummary="addSummary" :btnMakeDiagnosis="btnMakeDiagnosis" :save="save"
:audit="audit" :unAudit="unAudit" :btnLineUp="btnLineUp" />
:audit="audit" :unAudit="unAudit" :btnLineUp="btnLineUp" :doctorBtnDisabled="doctorBtnDisabled" />
</div>
<div :style="'margin-top: 2px;width:' + (window.pageWidth - 200 - 110 - 15 - 2) + 'px;'">
<RegisterCheckEdit :registerCheckId="dataTransOpts.tableS.register_check.id" />
@ -53,7 +53,7 @@
</div>
<div style="width:110px;">
<ButtonList :optGrant="optGrant" :addSummary="addSummary" :btnMakeDiagnosis="btnMakeDiagnosis" :save="save"
:audit="audit" :unAudit="unAudit" />
:audit="audit" :unAudit="unAudit" :doctorBtnDisabled="doctorBtnDisabled" />
</div>
</div>
</div>
@ -269,6 +269,63 @@ export default {
return ret
},
//
doctorBtnDisabled(btnFlagName) {
let patientRegister = this.dataTransOpts.tableS.patient_register
let RegisterCheckEdit = this.doctorCheck.RegisterCheckEdit
let ret = true
//' '
if (!patientRegister.id) return ret
if (btnFlagName == 'btnCheckHistory' || btnFlagName == 'btnReport') return false
// ''
if (patientRegister.isLock && patientRegister.isLock == 'Y') return ret
if (patientRegister.completeFlag && patientRegister.completeFlag == '3') return ret
if (btnFlagName == 'editPr' || btnFlagName == 'delPr') return false
//
if (!RegisterCheckEdit.id) return ret
switch (btnFlagName) {
case 'btnEdit': //
case 'btnDel': //
if (RegisterCheckEdit.completeFlag && RegisterCheckEdit.completeFlag == '1') ret = false
break;
case 'refuseItem': //
case 'delItem': //
case 'delItem': //
case 'btnMakeDiagnosis': //
case 'save': //
case 'addSummary': //
case 'delSum': //
case 'addSuggestion': //
case 'delSug': //
case 'btnGetPic': //
case 'btnExpPic': //
case 'btnSavePic': //
case 'btnDelImage': //
if (RegisterCheckEdit.completeFlag && RegisterCheckEdit.completeFlag == '0') ret = false
break;
case 'audit':
if (RegisterCheckEdit.completeFlag && RegisterCheckEdit.completeFlag != '0' && RegisterCheckEdit.isAudit && RegisterCheckEdit.isAudit != 'Y') ret = false
break;
case 'unAudit':
if (RegisterCheckEdit.completeFlag && RegisterCheckEdit.completeFlag != '0' && RegisterCheckEdit.isAudit && RegisterCheckEdit.isAudit != 'N') ret = false
break;
case 'btnCheckHistory':
case 'btnReport':
default:
ret = false
break;
}
// console.log('sumBtnDisabled btnFlagName, patientRegister,ret', btnFlagName, patientRegister, ret)
return ret
},
//
btnMakeDiagnosis() {
let ret = this.optGrant('makeDiagnosis')

Loading…
Cancel
Save