|
|
@ -5,10 +5,43 @@ |
|
|
</div> |
|
|
</div> |
|
|
<div style="display: flex;"> |
|
|
<div style="display: flex;"> |
|
|
<div> |
|
|
<div> |
|
|
<iframe :src="iframeSrc" :height="window.pageHeight - 85" :width="window.pageWidth - 260"></iframe> |
|
|
|
|
|
|
|
|
<iframe :src="iframeSrc" :height="window.pageHeight - 105" :width="window.pageWidth - 330"></iframe> |
|
|
</div> |
|
|
</div> |
|
|
<div style="width: 240px;margin-left: 2px;"> |
|
|
|
|
|
<div style="margin-top: 5px;"> |
|
|
|
|
|
|
|
|
<div style="width: 310px;margin-left: 2px;"> |
|
|
|
|
|
<div style="display: flex;"> |
|
|
|
|
|
|
|
|
|
|
|
<el-select v-model="query.dateType" placeholder="请选择" style="width: 80px" size="small"> |
|
|
|
|
|
<el-option label="检查日期" value="0" /> |
|
|
|
|
|
<el-option label="上传日期" value="1" /> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
|
|
|
|
|
|
<el-date-picker v-model="query.startDate" type="date" placeholder="起始日期" size="small" style="width:90px;" |
|
|
|
|
|
value-format="yyyy-MM-dd" :picker-options="pickerOptions" /> |
|
|
|
|
|
<span class="spanClass">至</span> |
|
|
|
|
|
<el-date-picker v-model="query.endDate" type="date" placeholder="截止日期" size="small" style="width:90px;" |
|
|
|
|
|
value-format="yyyy-MM-dd" :picker-options="pickerOptions" /> |
|
|
|
|
|
<el-button icon="el-icon-search" @click="btnQuery" type="primary" |
|
|
|
|
|
style="font-size: 20px;height:32px;min-width:30px; padding: 5px;z-index: 2;" size="small"></el-button> |
|
|
|
|
|
</div> |
|
|
|
|
|
<el-table :data="pacsList" style="width: 100%;" border highlight-current-row @row-click="rowClick" |
|
|
|
|
|
:height="tableHeight" :row-style="{ height: '28px' }"> |
|
|
|
|
|
<el-table-column prop="patientName" label="姓名" min-width="80" align="center" /> |
|
|
|
|
|
<el-table-column prop="checkRequestNo" label="检查条码" min-width="120" align="center" /> |
|
|
|
|
|
<el-table-column prop="asbitemName" label="检查项目" show-overflow-tooltip min-width="200" /> |
|
|
|
|
|
<el-table-column prop="pacsCheckDate" label="检查日期" min-width="90" align="center"> |
|
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
|
{{ moment(scope.row.pacsCheckDate).format("yyyy-MM-DD") }} |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="pacsUploadDate" label="上传日期" min-width="90" align="center"> |
|
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
|
{{ moment(scope.row.pacsUploadDate).format("yyyy-MM-DD") }} |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
</el-table> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div v-if="false" style="margin-top: 5px;"> |
|
|
<span style="color: #232748;">人员信息:</span> |
|
|
<span style="color: #232748;">人员信息:</span> |
|
|
<div style="display: flex;"> |
|
|
<div style="display: flex;"> |
|
|
<span style="width: 80px;margin: 7px 0;">检查条码</span> |
|
|
<span style="width: 80px;margin: 7px 0;">检查条码</span> |
|
|
@ -33,13 +66,12 @@ |
|
|
<div style="margin-top: 5px;"> |
|
|
<div style="margin-top: 5px;"> |
|
|
<span style="color: #232748;">检查结果:</span> |
|
|
<span style="color: #232748;">检查结果:</span> |
|
|
<el-input style="width: 100%;border: 1px solid #232748;" type="textarea" v-model="pacsParams.result" |
|
|
<el-input style="width: 100%;border: 1px solid #232748;" type="textarea" v-model="pacsParams.result" |
|
|
placeholder="请输入描述" |
|
|
|
|
|
:autosize="{ minRows: Math.floor((window.pageHeight - 500) / 24), maxRows: 20 }" /> |
|
|
|
|
|
|
|
|
placeholder="请输入描述" size="small" :autosize="{ minRows: 10, maxRows: 10 }" /> |
|
|
</div> |
|
|
</div> |
|
|
<div style="margin-top: 5px;"> |
|
|
<div style="margin-top: 5px;"> |
|
|
<span style="color: #232748;">检查结论:</span> |
|
|
<span style="color: #232748;">检查结论:</span> |
|
|
<el-input style="width: 100%;border: 1px solid #232748;" type="textarea" v-model="pacsParams.summary" |
|
|
<el-input style="width: 100%;border: 1px solid #232748;" type="textarea" v-model="pacsParams.summary" |
|
|
placeholder="请输入结论" :autosize="{ minRows: 8, maxRows: 8 }" /> |
|
|
|
|
|
|
|
|
placeholder="请输入结论" size="small" :autosize="{ minRows: 6, maxRows: 6 }" /> |
|
|
</div> |
|
|
</div> |
|
|
<div style="display: flex;justify-content: space-between;margin-top: 10px;"> |
|
|
<div style="display: flex;justify-content: space-between;margin-top: 10px;"> |
|
|
<div></div> |
|
|
<div></div> |
|
|
@ -47,10 +79,10 @@ |
|
|
<!-- |
|
|
<!-- |
|
|
<el-button type="primary" @click="btnTest" class="commonbutton">测试</el-button> |
|
|
<el-button type="primary" @click="btnTest" class="commonbutton">测试</el-button> |
|
|
--> |
|
|
--> |
|
|
<el-button type="primary" @click="btnChooseBigtext" |
|
|
|
|
|
class="commonbutton">选择描述</el-button> |
|
|
|
|
|
<el-button type="primary" @click="btnOkBigtext" |
|
|
|
|
|
class="commonbutton">保存结果</el-button> |
|
|
|
|
|
|
|
|
<el-button type="primary" @click="btnChooseBigtext" size="small" class="commonbutton" |
|
|
|
|
|
:disabled="dataTransOpts.tableS.patient_register.completeFlag == '3'">选择描述</el-button> |
|
|
|
|
|
<el-button type="primary" @click="btnOkBigtext" size="small" class="commonbutton" |
|
|
|
|
|
:disabled="dataTransOpts.tableS.patient_register.completeFlag == '3'">保存结果</el-button> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
@ -84,7 +116,17 @@ export default { |
|
|
routeUrlorPageName: 'doctorCheck', //当前页面归属路由或归属页面权限名称 |
|
|
routeUrlorPageName: 'doctorCheck', //当前页面归属路由或归属页面权限名称 |
|
|
privs: [] // 页面权限 |
|
|
privs: [] // 页面权限 |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
query: { |
|
|
|
|
|
patientName: "", |
|
|
|
|
|
checkRequestNo: "", |
|
|
|
|
|
dateType: "1", |
|
|
|
|
|
startDate: "", |
|
|
|
|
|
endDate: "", |
|
|
|
|
|
maxResultCount: 1000, |
|
|
|
|
|
skipCount: 0 |
|
|
|
|
|
}, |
|
|
|
|
|
doctorCheckEdit: {}, |
|
|
|
|
|
pacsList: [], |
|
|
checkRequestNo: '', |
|
|
checkRequestNo: '', |
|
|
dialogDcm: false, |
|
|
dialogDcm: false, |
|
|
iframeSrc: '', |
|
|
iframeSrc: '', |
|
|
@ -96,29 +138,6 @@ export default { |
|
|
result: '', |
|
|
result: '', |
|
|
summary: '' |
|
|
summary: '' |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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", |
|
|
|
|
|
// }, |
|
|
|
|
|
], |
|
|
|
|
|
//图片上传 |
|
|
|
|
|
dialogCheckPictureUpload: false, |
|
|
|
|
|
uploadSeq: 0, //第几次点图片上传,每点一次清空前次所选图片 |
|
|
|
|
|
}; |
|
|
}; |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
@ -132,11 +151,14 @@ export default { |
|
|
|
|
|
|
|
|
//挂载完成 |
|
|
//挂载完成 |
|
|
mounted() { |
|
|
mounted() { |
|
|
this.getCheckPictures(this.dataTransOpts.tableS.register_check.id); |
|
|
|
|
|
|
|
|
let today = moment(new Date()).format("yyyy-MM-DD") |
|
|
|
|
|
this.query.startDate = today |
|
|
|
|
|
this.query.endDate = today |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
computed: { |
|
|
computed: { |
|
|
...mapState([ |
|
|
...mapState([ |
|
|
|
|
|
"pickerOptions", |
|
|
"window", |
|
|
"window", |
|
|
"dict", |
|
|
"dict", |
|
|
"dialogWin", |
|
|
"dialogWin", |
|
|
@ -148,14 +170,35 @@ export default { |
|
|
lmoment(date, forMat) { |
|
|
lmoment(date, forMat) { |
|
|
return moment(new Date(date)).format(forMat); |
|
|
return moment(new Date(date)).format(forMat); |
|
|
}, |
|
|
}, |
|
|
|
|
|
tableHeight() { |
|
|
|
|
|
return this.window.pageHeight - 105 - 400 - 76 |
|
|
|
|
|
}, |
|
|
}, |
|
|
}, |
|
|
methods: { |
|
|
methods: { |
|
|
checkPagePriv, |
|
|
|
|
|
|
|
|
checkPagePriv, moment, |
|
|
|
|
|
|
|
|
|
|
|
btnQuery() { |
|
|
|
|
|
let body = Object.assign({}, this.query) |
|
|
|
|
|
if (!body.checkRequestNo) delete body.checkRequestNo |
|
|
|
|
|
if (!body.patientName) delete body.patientName |
|
|
|
|
|
if (!body.startDate || !body.endDate) { |
|
|
|
|
|
this.$message.warning({ showClose: true, message: '请选择日期' }) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
postapi('/api/app/PacsBusiness/GetPatientRegisterPacsCheck', body) |
|
|
|
|
|
.then(res => { |
|
|
|
|
|
if (res.code > -1) this.pacsList = res.data.items |
|
|
|
|
|
}) |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
rowClick(row) { |
|
|
|
|
|
this.onQueryByPacsNo(row.checkRequestNo) |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
// 浏览Dcm文件 |
|
|
// 浏览Dcm文件 |
|
|
btnBrowseDcm() { |
|
|
btnBrowseDcm() { |
|
|
this.checkRequestNo = this.doctorCheck.checkRequestNo |
|
|
|
|
|
|
|
|
// console.log('this.doctorCheck', this.doctorCheck.RegisterCheckEdit) |
|
|
|
|
|
this.checkRequestNo = this.doctorCheck.RegisterCheckEdit.checkRequestNo |
|
|
this.pacsParams.result = this.doctorCheck.checkItemList[0].result |
|
|
this.pacsParams.result = this.doctorCheck.checkItemList[0].result |
|
|
let summary = '' |
|
|
let summary = '' |
|
|
this.doctorCheck.checkSummaryList.forEach(e => { |
|
|
this.doctorCheck.checkSummaryList.forEach(e => { |
|
|
@ -168,7 +211,7 @@ export default { |
|
|
|
|
|
|
|
|
// console.log('pacsParams', this.pacsParams) |
|
|
// console.log('pacsParams', this.pacsParams) |
|
|
let token = window.sessionStorage.getItem('token') |
|
|
let token = window.sessionStorage.getItem('token') |
|
|
this.iframeSrc = `${this.sysConfig.dcmViewers}/?mrn=${this.doctorCheck.checkRequestNo}&token=${token}&pacsapi=${this.sysConfig.pacsApi}` |
|
|
|
|
|
|
|
|
this.iframeSrc = `${this.sysConfig.dcmViewers}/?mrn=${this.doctorCheck.RegisterCheckEdit.checkRequestNo}&token=${token}&pacsapi=${this.sysConfig.pacsApi}` |
|
|
// this.iframeSrc = `${this.sysConfig.dcmViewers}/viewer?StudyInstanceUIDs=1.3.12.2.1107.5.1.4.79623.30000024091203062645300000022` |
|
|
// this.iframeSrc = `${this.sysConfig.dcmViewers}/viewer?StudyInstanceUIDs=1.3.12.2.1107.5.1.4.79623.30000024091203062645300000022` |
|
|
this.dialogDcm = true |
|
|
this.dialogDcm = true |
|
|
|
|
|
|
|
|
@ -183,7 +226,7 @@ export default { |
|
|
|
|
|
|
|
|
// 确定描述与结论 |
|
|
// 确定描述与结论 |
|
|
btnOkBigtext() { |
|
|
btnOkBigtext() { |
|
|
console.log('this.pacsParams', this.pacsParams) |
|
|
|
|
|
|
|
|
// console.log('this.pacsParams', this.pacsParams) |
|
|
this.doctorCheck.checkItemList[0].result = this.pacsParams.result |
|
|
this.doctorCheck.checkItemList[0].result = this.pacsParams.result |
|
|
this.doctorCheck.checkSummaryList = [{ |
|
|
this.doctorCheck.checkSummaryList = [{ |
|
|
id: Math.random(), |
|
|
id: Math.random(), |
|
|
@ -191,8 +234,75 @@ export default { |
|
|
summary: this.pacsParams.summary, |
|
|
summary: this.pacsParams.summary, |
|
|
summaryFlag: 'N', |
|
|
summaryFlag: 'N', |
|
|
}] |
|
|
}] |
|
|
|
|
|
|
|
|
|
|
|
this.save() |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
//保存数据 |
|
|
|
|
|
save() { |
|
|
|
|
|
|
|
|
|
|
|
let checkDate = this.doctorCheck.RegisterCheckEdit.checkDate || new Date(); |
|
|
|
|
|
checkDate = moment(new Date(checkDate)).format('yyyy-MM-DD HH:mm:ss'); //yyyy-MM-DD HH:mm:ss |
|
|
|
|
|
let checkDoctorId = this.doctorCheck.RegisterCheckEdit.checkDoctorId || null; |
|
|
|
|
|
let registerCheckId = this.doctorCheck.RegisterCheckEdit.id |
|
|
|
|
|
// 明细 |
|
|
|
|
|
let registerCheckItems = [] |
|
|
|
|
|
this.doctorCheck.checkItemList.forEach(e => { |
|
|
|
|
|
registerCheckItems.push({ |
|
|
|
|
|
itemId: e.itemId, |
|
|
|
|
|
result: e.result, |
|
|
|
|
|
checkDoctorName: checkDoctorId, |
|
|
|
|
|
checkDate, |
|
|
|
|
|
}) |
|
|
|
|
|
}); |
|
|
|
|
|
// 小结 |
|
|
|
|
|
let summarys = [] |
|
|
|
|
|
this.doctorCheck.checkSummaryList.forEach(item => { |
|
|
|
|
|
summarys.push({ |
|
|
|
|
|
summary: item.summary, |
|
|
|
|
|
summaryFlag: item.summaryFlag, |
|
|
|
|
|
}) |
|
|
|
|
|
}); |
|
|
|
|
|
// 建议 |
|
|
|
|
|
let suggestions = [] |
|
|
|
|
|
this.doctorCheck.checkSuggestionList.forEach(item => { |
|
|
|
|
|
suggestions.push({ |
|
|
|
|
|
suggestion: item.suggestion |
|
|
|
|
|
}) |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
let body = { |
|
|
|
|
|
registerCheckId, |
|
|
|
|
|
checkDoctorId, |
|
|
|
|
|
checkDate, |
|
|
|
|
|
registerCheckItems, |
|
|
|
|
|
summarys, |
|
|
|
|
|
suggestions |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (summarys.length == 0) { |
|
|
|
|
|
this.$message.warning({ showClose: true, message: '请生成小结!' }) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
postapi('/api/app/registercheck/UpdateCheckResult', body) |
|
|
|
|
|
.then(res => { |
|
|
|
|
|
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' |
|
|
|
|
|
|
|
|
|
|
|
console.log('操作成功') |
|
|
|
|
|
} else { |
|
|
|
|
|
this.$message.error({ showClose: true, message: res.message }) |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 处理 pacs 结果录入的情况 |
|
|
// 处理 pacs 结果录入的情况 |
|
|
handlePacsResult(row, index, pacsResult) { |
|
|
handlePacsResult(row, index, pacsResult) { |
|
|
Object.assign(this.pacsParams, pacsResult) |
|
|
Object.assign(this.pacsParams, pacsResult) |
|
|
@ -202,13 +312,15 @@ export default { |
|
|
// 通过检查条码查询相关数据 |
|
|
// 通过检查条码查询相关数据 |
|
|
onQueryByPacsNo(checkRequestNo) { |
|
|
onQueryByPacsNo(checkRequestNo) { |
|
|
this.checkRequestNo = checkRequestNo |
|
|
this.checkRequestNo = checkRequestNo |
|
|
this.$refs['checkRequestNo'].select() |
|
|
|
|
|
postapi('/api/app/PacsBusiness/GetPatientRegisterWithCheckResultByCheckRequestNo', { checkRequestNo }) |
|
|
postapi('/api/app/PacsBusiness/GetPatientRegisterWithCheckResultByCheckRequestNo', { checkRequestNo }) |
|
|
.then(res => { |
|
|
.then(res => { |
|
|
if (res.code > -1) { |
|
|
if (res.code > -1) { |
|
|
// 人员信息 |
|
|
// 人员信息 |
|
|
this.dataTransOpts.tableS.patient_register = res.data.patientRegisterDetail |
|
|
this.dataTransOpts.tableS.patient_register = res.data.patientRegisterDetail |
|
|
|
|
|
|
|
|
|
|
|
// 检查信息 |
|
|
|
|
|
this.doctorCheck.RegisterCheckEdit = res.data.registerCheckDetail |
|
|
|
|
|
|
|
|
// 组合项目 |
|
|
// 组合项目 |
|
|
this.doctorCheck.RegisterCheckList = [res.data.registerCheckDetail] |
|
|
this.doctorCheck.RegisterCheckList = [res.data.registerCheckDetail] |
|
|
|
|
|
|
|
|
@ -238,21 +350,18 @@ export default { |
|
|
|
|
|
|
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
onFocus(event) { |
|
|
|
|
|
this.$refs['checkRequestNo'].select() |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
//监听事件 |
|
|
//监听事件 |
|
|
watch: { |
|
|
watch: { |
|
|
//检查项目未切换换时 也可以强制刷新数据 |
|
|
//检查项目未切换换时 也可以强制刷新数据 |
|
|
"dataTransOpts.refresh.register_check_item.M": { |
|
|
|
|
|
// immediate: true, |
|
|
|
|
|
handler(newVal, oldVal) { |
|
|
|
|
|
console.log(`watch 检查图片 newVal:${newVal} oldVal:${oldVal} registerCheckId: ${this.dataTransOpts.tableS.register_check.id}`); |
|
|
|
|
|
if (newVal != oldVal) this.getCheckPictures(this.dataTransOpts.tableS.register_check.id); |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
// "dataTransOpts.refresh.register_check_item.M": { |
|
|
|
|
|
// // immediate: true, |
|
|
|
|
|
// handler(newVal, oldVal) { |
|
|
|
|
|
// console.log(`watch 检查图片 newVal:${newVal} oldVal:${oldVal} registerCheckId: ${this.dataTransOpts.tableS.register_check.id}`); |
|
|
|
|
|
// if (newVal != oldVal) this.getCheckPictures(this.dataTransOpts.tableS.register_check.id); |
|
|
|
|
|
// } |
|
|
|
|
|
// }, |
|
|
|
|
|
|
|
|
}, |
|
|
}, |
|
|
}; |
|
|
}; |
|
|
|