{{ scope.row.asbitemName }}
@@ -75,27 +77,48 @@ export default {
components: {},
data() {
return {
+ sysConfig: {}, //项目配置参数
activeNames: ['0', '1', '2', '3'],
LocalConfig: {
doctorCheck: { // 医生诊台
isPacsWorklist: 'N', // 是否启用 DCM-worklist 申请
- scheduledAet: '', //scheduledAet
+ scheduledAet: '', //scheduledAet
+ deviceId: "", // 设备ID
+
+ isCheckPicture: false, // 是否显示检查图片
+ pacsType: 'image', //[{ label: 'dcm', value: 'dcm' }, { label: '图片', value: 'image' }],
+ isHaveExternal: 'N', //是否有扩展屏 (一般pacs看图可能会有副屏)
}
},
+ pacs_interface_barcode_type:'0', //pacs系统条码类型:0:检查条码,1:人员条码
};
},
- created() {
- let LocalConfigStr = window.localStorage.getItem("LocalConfig") || null
- if(LocalConfigStr){
- try {
- let LocalConfig = JSON.parse(LocalConfigStr)
- if(LocalConfig?.doctorCheck?.isPacsWorklist) this.LocalConfig.doctorCheck.isPacsWorklist = LocalConfig.doctorCheck.isPacsWorklist
- if(LocalConfig?.doctorCheck?.scheduledAet) this.LocalConfig.doctorCheck.scheduledAet = LocalConfig.doctorCheck.scheduledAet
- } catch (error) {
- console.log('error',error)
- }
+ created() {
+ try {
+ this.sysConfig = JSON.parse(window.sessionStorage.getItem('sysConfig'))
+ let LocalConfig = JSON.parse(window.localStorage.getItem("LocalConfig") || null)
+
+ if (LocalConfig?.doctorCheck?.isPacsWorklist) this.LocalConfig.doctorCheck.isPacsWorklist = LocalConfig.doctorCheck.isPacsWorklist
+ if (LocalConfig?.doctorCheck?.scheduledAet) this.LocalConfig.doctorCheck.scheduledAet = LocalConfig.doctorCheck.scheduledAet
+
+ if (LocalConfig?.doctorCheck?.isCheckPicture) this.LocalConfig.doctorCheck.isCheckPicture = LocalConfig.doctorCheck.isCheckPicture
+ if (LocalConfig?.doctorCheck?.pacsType) this.LocalConfig.doctorCheck.pacsType = LocalConfig.doctorCheck.pacsType
+ if (LocalConfig?.doctorCheck?.isHaveExternal) this.LocalConfig.doctorCheck.isHaveExternal = LocalConfig.doctorCheck.isHaveExternal
+
+ // 获取系统参数(pacs系统条码类型:0:检查条码,1:人员条码)
+ postapi('/api/app/SysParmValue/GetSysParmValueBySysParmId', { sysParmId:'pacs_interface_barcode_type' })
+ .then(res => {
+ if(res.code > -1){
+ this.pacs_interface_barcode_type = res.data||"0"
+ }
+ })
+
+ } catch (error) {
+ console.log('error', error)
+ this.$message.error({ showClose: true, message: error.message })
}
+
},
//挂载完成
@@ -153,8 +176,55 @@ export default {
this.dataTransOpts.refresh.register_check.S++
this.dataTransOpts.refresh.register_check_item.M++
+ // 如果本地参数如下情况下执行
+ // 医生诊台,显示图,图类型为:dcm,且有扩展屏 且有安装壳客户端
+ if (this.$peisAPI && this.LocalConfig.doctorCheck.isCheckPicture
+ && this.LocalConfig.doctorCheck.pacsType == 'dcm'
+ && this.LocalConfig.doctorCheck.isHaveExternal == 'Y'
+ ) {
+ this.browseDcm(row)
+ }
+
},
+ // 分屏方式 浏览Dcm文件 ;如果不是 分屏方式,则点击 dcm 标签页时,再触发嵌入Dcm显示页
+ browseDcm(row) {
+
+ let token = window.sessionStorage.getItem('token')
+ let barcodeNo = row.checkRequestNo
+ if(this.pacs_interface_barcode_type == '1'){
+ barcodeNo = row.patientRegisterNo
+ }
+
+ let url = ''
+ url = `${this.sysConfig.dcmViewers}/?mrn=${barcodeNo}®isterCheckId=${row.id}&token=${token}&pacsapi=${this.sysConfig.pacsApiHttps}`
+ //if (this.isDescription == 'Y' && this.curPacs.pacsDesc) url += `&description=${this.curPacs.pacsDesc}`
+
+ let inParams = ''
+ try {
+ inParams = JSON.stringify({ url })
+ } catch (error) {
+ this.$message.error({ showClose: true, message: '壳参数 JSON.stringify({ url }) 分析失败:' + error })
+ console.log('壳参数 JSON.stringify({ url }) 分析失败:', error)
+ return
+ }
+
+ this.$peisAPI.openExternal(inParams)
+ .then(res => {
+ if (res.code < 0) {
+ this.$message.error({ showClose: true, message: '壳打开分屏失败:' + res.message })
+ console.log('壳打开分屏失败:', res.message)
+ this.iframeSrc = url
+ }
+ })
+ .catch(err => {
+ this.$message.error({ showClose: true, message: '壳打开分屏失败:' + err })
+ console.log('壳打开分屏失败:', err)
+ this.iframeSrc = url
+ })
+ .finally(() => console.log('this.$peisAPI.openExternal over'))
+
+ },
//获取检查组合项目
registerCheckList(patientRegisterId) {
if (!patientRegisterId) {
@@ -207,14 +277,14 @@ export default {
},
// 发送pacs申请(有DCM-Worklist才有)
- pacsRequest(checkRequestNo){
+ pacsRequest(checkRequestNo) {
let body = {
scheduledAet: this.LocalConfig.doctorCheck.scheduledAet,
checkRequestNo
}
- postapi('/api/app/Worklist/CreateRegisterCheckWorklist',body).then(res => {
- if(res.code > -1){
- this.$message.success({showClose:true,message:"往 DCM-Worklist 发送申请成功!"})
+ postapi('/api/app/Worklist/CreateRegisterCheckWorklist', body).then(res => {
+ if (res.code > -1) {
+ this.$message.success({ showClose: true, message: "往 DCM-Worklist 发送申请成功!" })
}
})
},