|
|
|
@ -4,163 +4,175 @@ |
|
|
|
体检 /<span class="contenttitleBold">pacs看图</span> |
|
|
|
</div> |
|
|
|
<div style="display: flex;"> |
|
|
|
<div v-if="pacsType == 'image'" class="image__preview" |
|
|
|
:style="`overflow-y: auto;width: ${window.pageWidth - 330}px;height: ${window.pageHeight - 105}px;`"> |
|
|
|
<div v-for="item in checkPictures" :key="item.id" style="margin-bottom: 5px;"> |
|
|
|
<el-image :src="imageFilePlus(item.pictureFilename)" :preview-src-list="previewSrcList(checkPictures, item)" |
|
|
|
:style="`overflow-y: auto;max-width: ${window.pageWidth - 330}px;height: auto;`"></el-image> |
|
|
|
<div style="display: flex;justify-content: space-between;margin-top: -26px;"> |
|
|
|
<div></div> |
|
|
|
<div style="display: flex;width: 60px;"> |
|
|
|
<div> |
|
|
|
<el-checkbox v-model="item.isPrint" true-label="Y" false-label="N" @change="btnSavePic"></el-checkbox> |
|
|
|
<div v-if="LocalConfig.doctorCheck.isHaveExternal == 'N'"> |
|
|
|
<div v-if="pacsType == 'image'" class="image__preview" |
|
|
|
:style="`overflow-y: auto;width: ${window.pageWidth - 330}px;height: ${window.pageHeight - 105}px;`"> |
|
|
|
<div v-for="item in checkPictures" :key="item.id" style="margin-bottom: 5px;"> |
|
|
|
<el-image :src="imageFilePlus(item.pictureFilename)" :preview-src-list="previewSrcList(checkPictures, item)" |
|
|
|
:style="`overflow-y: auto;max-width: ${window.pageWidth - 330}px;height: auto;`"></el-image> |
|
|
|
<div style="display: flex;justify-content: space-between;margin-top: -26px;"> |
|
|
|
<div></div> |
|
|
|
<div style="display: flex;width: 60px;"> |
|
|
|
<div> |
|
|
|
<el-checkbox v-model="item.isPrint" true-label="Y" false-label="N" @change="btnSavePic"></el-checkbox> |
|
|
|
</div> |
|
|
|
<div style="font-size: 14px;font-weight: 700;color: #FF0000; margin: 2px 0 0 2px;z-index: 2;">打印</div> |
|
|
|
</div> |
|
|
|
<div style="font-size: 14px;font-weight: 700;color: #FF0000; margin: 2px 0 0 2px;z-index: 2;">打印</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div v-else> |
|
|
|
<iframe :src="iframeSrc" :height="window.pageHeight - 105" :width="window.pageWidth - 330"></iframe> |
|
|
|
</div> |
|
|
|
|
|
|
|
<!-- 查询条件 --> |
|
|
|
<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> |
|
|
|
<div style="font-size: 14px;"> |
|
|
|
<span>体检单位:</span> |
|
|
|
<el-select v-model="query.customerOrgIds" placeholder="请选择体检单位" :filter-method="filterMethod" default-first-option |
|
|
|
clearable filterable style="margin-left: 10px;width:225px;max-height: 32px;" size="small" multiple collapse-tags> |
|
|
|
<el-option v-for="item in customerOrg" :key="item.id" :label="item.displayName" :value="item.id"> |
|
|
|
{{ item.displayName }} |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</div> |
|
|
|
<div @contextmenu.prevent="onContextmenu"> |
|
|
|
<el-table :data="pacsList" style="width: 100%;" border highlight-current-row @row-click="rowClick" |
|
|
|
:height="tableHeight" :row-style="{ height: '28px' }" ref="pacsList" @cell-contextmenu="onCellRightClick"> |
|
|
|
<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-else> |
|
|
|
<iframe :src="iframeSrc" :height="window.pageHeight - 105" :width="window.pageWidth - 330"></iframe> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div v-if="false" style="margin-top: 5px;"> |
|
|
|
<span style="color: #232748;">人员信息:</span> |
|
|
|
<div :style="`display:${LocalConfig.doctorCheck.isHaveExternal == 'Y' ? 'flex' : 'block'};`"> |
|
|
|
<!-- 查询条件 --> |
|
|
|
<div |
|
|
|
:style="`display: block;${LocalConfig.doctorCheck.isHaveExternal == 'Y' ? ('width: ' + leftWidth + 'px;') : ('margin-left: 2px;width: ' + rightWidth + 'px;')}`"> |
|
|
|
<div style="display: flex;"> |
|
|
|
<span style="width: 80px;margin: 7px 0;">检查条码</span> |
|
|
|
<el-input ref="checkRequestNo" placeholder="检查条码" v-model="checkRequestNo" size="small" clearable |
|
|
|
@keyup.native.enter="onQueryByPacsNo(checkRequestNo)" @focus="onFocus" disabled /> |
|
|
|
<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> |
|
|
|
<div style="display: flex;"> |
|
|
|
<span style="width: 80px;margin: 7px 0;">姓名</span> |
|
|
|
<el-input v-model="dataTransOpts.tableS.patient_register.patientName" size="small" disabled /> |
|
|
|
</div> |
|
|
|
<div style="display: flex;"> |
|
|
|
<span style="width: 80px;margin: 7px 0;">性别</span> |
|
|
|
<el-input v-model="dataTransOpts.tableS.patient_register.sexName" size="small" disabled /> |
|
|
|
<div style="font-size: 14px;"> |
|
|
|
<span>体检单位:</span> |
|
|
|
<el-select v-model="query.customerOrgIds" placeholder="请选择体检单位" :filter-method="filterMethod" default-first-option |
|
|
|
clearable filterable style="margin-left: 10px;width:225px;max-height: 32px;" size="small" multiple collapse-tags> |
|
|
|
<el-option v-for="item in customerOrg" :key="item.id" :label="item.displayName" :value="item.id"> |
|
|
|
{{ item.displayName }} |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</div> |
|
|
|
<div style="display: flex;"> |
|
|
|
<span style="width: 80px;margin: 7px 0;">年龄</span> |
|
|
|
<el-input v-model="dataTransOpts.tableS.patient_register.age" size="small" disabled /> |
|
|
|
<div @contextmenu.prevent="onContextmenu"> |
|
|
|
<el-table :data="pacsList" style="width: 100%;" border highlight-current-row @row-click="rowClick" |
|
|
|
:height="tableHeight" :row-style="{ height: '28px' }" ref="pacsList" @cell-contextmenu="onCellRightClick"> |
|
|
|
<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> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div> |
|
|
|
<div style="margin-top: 5px;"> |
|
|
|
<span style="color: #232748;">检查结果:</span> |
|
|
|
<el-radio-group v-model="tabPosition"> |
|
|
|
<el-radio :label="'top'">横排</el-radio> |
|
|
|
<el-radio :label="'left'">纵排</el-radio> |
|
|
|
</el-radio-group> |
|
|
|
<!-- 检查结果 --> |
|
|
|
<div :style="`display: block;margin-left: 2px;width:${rightWidth}px;`"> |
|
|
|
<div v-if="false" style="margin-top: 5px;"> |
|
|
|
<span style="color: #232748;">人员信息:</span> |
|
|
|
<div style="display: flex;"> |
|
|
|
<span style="width: 80px;margin: 7px 0;">检查条码</span> |
|
|
|
<el-input ref="checkRequestNo" placeholder="检查条码" v-model="checkRequestNo" size="small" clearable |
|
|
|
@keyup.native.enter="onQueryByPacsNo(checkRequestNo)" @focus="onFocus" disabled /> |
|
|
|
</div> |
|
|
|
<div style="display: flex;"> |
|
|
|
<span style="width: 80px;margin: 7px 0;">姓名</span> |
|
|
|
<el-input v-model="dataTransOpts.tableS.patient_register.patientName" size="small" disabled /> |
|
|
|
</div> |
|
|
|
<div style="display: flex;"> |
|
|
|
<span style="width: 80px;margin: 7px 0;">性别</span> |
|
|
|
<el-input v-model="dataTransOpts.tableS.patient_register.sexName" size="small" disabled /> |
|
|
|
</div> |
|
|
|
<div style="display: flex;"> |
|
|
|
<span style="width: 80px;margin: 7px 0;">年龄</span> |
|
|
|
<el-input v-model="dataTransOpts.tableS.patient_register.age" size="small" disabled /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<el-tabs :tab-position="tabPosition" v-model="tabChoosed"> |
|
|
|
<el-tab-pane v-for="(item, seq) in doctorCheck.checkItemList" :label="dispLabel(item.itemName)" |
|
|
|
:name="seq + ''" :key="seq"> |
|
|
|
<el-input style="width: 98%;border: 1px solid #232748;" type="textarea" v-model="item.result" |
|
|
|
placeholder="请输入检查结果" :autosize="{ minRows: 5, maxRows: 5 }" /> |
|
|
|
<div style="display: flex;justify-content: space-between;"> |
|
|
|
<div></div> |
|
|
|
<div> |
|
|
|
<el-tooltip :content="`给 ${item.itemName} 项目,赋默认结果`" placement="top"> |
|
|
|
<i class="el-icon-edit" @click="btnDefResult(seq)" |
|
|
|
style="font-size: 18px;color: blue;cursor:pointer;margin-right: 10px;"></i> |
|
|
|
</el-tooltip> |
|
|
|
<el-tooltip :content="`清除 ${item.itemName} 项目的检查结果`" placement="top"> |
|
|
|
<i class="el-icon-delete" @click="btnClear(seq)" |
|
|
|
style="font-size: 18px;color: red;cursor:pointer;margin-right: 10px;"></i> |
|
|
|
</el-tooltip> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</el-tab-pane> |
|
|
|
</el-tabs> |
|
|
|
</div> |
|
|
|
<div style="margin-top: -15px;"> |
|
|
|
<span style="color: #232748;">检查结论:</span> |
|
|
|
<el-table row-key="id" :data="doctorCheck.checkSummaryList" size="samll" height="120" width="100%" border> |
|
|
|
<el-table-column width="30" align="center"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-tag class="moveSummary" style="height:25px;padding:0 2px;cursor: move;background-color: #EEEEEE;"> |
|
|
|
<div style="width: 16px;">{{ scope.$index + 1 }}</div> |
|
|
|
</el-tag> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="summary" label="小结"> |
|
|
|
<template slot="header"> |
|
|
|
<div style="display: flex;justify-content:space-between;"> |
|
|
|
<div>小结</div> |
|
|
|
|
|
|
|
<div> |
|
|
|
<div style="margin-top: 5px;"> |
|
|
|
<span style="color: #232748;">检查结果:</span> |
|
|
|
<el-radio-group v-model="tabPosition"> |
|
|
|
<el-radio :label="'top'">横排</el-radio> |
|
|
|
<el-radio :label="'left'">纵排</el-radio> |
|
|
|
</el-radio-group> |
|
|
|
</div> |
|
|
|
<el-tabs :tab-position="tabPosition" v-model="tabChoosed"> |
|
|
|
<el-tab-pane v-for="(item, seq) in doctorCheck.checkItemList" :label="dispLabel(item.itemName)" |
|
|
|
:name="seq + ''" :key="seq"> |
|
|
|
<el-input :style="`width: 98%;font-family: 'Microsoft YaHei';font-size: ${LocalConfig.doctorCheck.pacsDescFontSize}px;`" type="textarea" |
|
|
|
v-model="item.result" placeholder="请输入检查结果" |
|
|
|
:autosize="{ minRows: LocalConfig.doctorCheck.pacsDescLines, maxRows: LocalConfig.doctorCheck.pacsDescLines }" /> |
|
|
|
<div style="display: flex;justify-content: space-between;"> |
|
|
|
<div></div> |
|
|
|
<div> |
|
|
|
<el-tooltip :content="`给 ${item.itemName} 项目,赋默认结果`" placement="top"> |
|
|
|
<i class="el-icon-edit" @click="btnDefResult(seq)" |
|
|
|
style="font-size: 18px;color: blue;cursor:pointer;margin-right: 10px;"></i> |
|
|
|
</el-tooltip> |
|
|
|
<el-tooltip :content="`清除 ${item.itemName} 项目的检查结果`" placement="top"> |
|
|
|
<i class="el-icon-delete" @click="btnClear(seq)" |
|
|
|
style="font-size: 18px;color: red;cursor:pointer;margin-right: 10px;"></i> |
|
|
|
</el-tooltip> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div style="display: flex;"> |
|
|
|
<el-input type="textarea" v-model="scope.row.summary" :autosize="{ minRows: 1, maxRows: 100 }" |
|
|
|
placeholder="请输入小结"> |
|
|
|
</el-input> |
|
|
|
<el-button type="danger" style="min-width:23px;padding:2px;" icon="el-icon-delete" |
|
|
|
@click="delSum(scope.$index)" size="small"></el-button> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
</div> |
|
|
|
<div style="display: flex;justify-content: space-between;margin-top: 10px;"> |
|
|
|
<div> |
|
|
|
<el-checkbox v-model="autoNext" true-label="Y" false-label="N" size="small">自动下一条</el-checkbox> |
|
|
|
</el-tab-pane> |
|
|
|
<el-input v-if="doctorCheck.checkItemList.length == 0" :style="`margin-bottom: 20px;width: 99%;font-family: 'Microsoft YaHei';font-size: ${LocalConfig.doctorCheck.pacsDescFontSize}px;`" type="textarea" |
|
|
|
placeholder="请输入检查结果" |
|
|
|
:autosize="{ minRows: LocalConfig.doctorCheck.pacsDescLines, maxRows: LocalConfig.doctorCheck.pacsDescLines }" /> |
|
|
|
</el-tabs> |
|
|
|
</div> |
|
|
|
<div> |
|
|
|
<!-- |
|
|
|
<el-button type="primary" @click="btnTest" class="commonbutton">测试</el-button> |
|
|
|
--> |
|
|
|
<el-button type="primary" @click="btnChooseBigtext" style="width: 90px;" size="small" class="commonbutton" |
|
|
|
:disabled="dataTransOpts.tableS.patient_register.completeFlag == '3'">选择描述</el-button> |
|
|
|
<el-button type="primary" @click="btnOkBigtext" style="width: 90px;" size="small" class="commonbutton" |
|
|
|
:disabled="dataTransOpts.tableS.patient_register.completeFlag == '3'">保存结果</el-button> |
|
|
|
<div style="margin-top: -15px;"> |
|
|
|
<span style="color: #232748;">检查结论:</span> |
|
|
|
<el-table row-key="id" :data="doctorCheck.checkSummaryList" size="samll" :height="resultHeight" width="100%" border> |
|
|
|
<el-table-column width="30" align="center"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-tag class="moveSummary" style="height:25px;padding:0 2px;cursor: move;background-color: #EEEEEE;"> |
|
|
|
<div style="width: 16px;">{{ scope.$index + 1 }}</div> |
|
|
|
</el-tag> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="summary" label="小结"> |
|
|
|
<template slot="header"> |
|
|
|
<div style="display: flex;justify-content:space-between;"> |
|
|
|
<div>小结</div> |
|
|
|
<div></div> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div style="display: flex;font-family: 'Microsoft YaHei';"> |
|
|
|
<el-input type="textarea" v-model="scope.row.summary" :autosize="{ minRows: 1, maxRows: 100 }" |
|
|
|
placeholder="请输入小结" :style="`font-size: ${LocalConfig.doctorCheck.pacsDescFontSize}px;`"> |
|
|
|
</el-input> |
|
|
|
<el-button type="danger" style="min-width:23px;padding:2px;" icon="el-icon-delete" |
|
|
|
@click="delSum(scope.$index)" size="small"></el-button> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
</div> |
|
|
|
<div style="display: flex;justify-content: space-between;margin-top: 10px;"> |
|
|
|
<div> |
|
|
|
<el-checkbox v-model="autoNext" true-label="Y" false-label="N" size="small">自动下一条</el-checkbox> |
|
|
|
</div> |
|
|
|
<div> |
|
|
|
<!-- |
|
|
|
<el-button type="primary" @click="btnTest" class="commonbutton">测试</el-button> |
|
|
|
--> |
|
|
|
<el-button type="primary" @click="btnChooseBigtext" style="width: 90px;" size="small" class="commonbutton" |
|
|
|
:disabled="dataTransOpts.tableS.patient_register.completeFlag == '3'">选择描述</el-button> |
|
|
|
<el-button type="primary" @click="btnOkBigtext" style="width: 90px;" size="small" class="commonbutton" |
|
|
|
:disabled="dataTransOpts.tableS.patient_register.completeFlag == '3'">保存结果</el-button> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
@ -187,7 +199,8 @@ export default { |
|
|
|
CheckPictureUpload, PacsTemplate |
|
|
|
}, |
|
|
|
data() { |
|
|
|
return { |
|
|
|
return { |
|
|
|
rightWidth: 430, // 右侧宽度 |
|
|
|
sysConfig: {}, // |
|
|
|
pagePriv: { |
|
|
|
routeUrlorPageName: 'doctorCheck', //当前页面归属路由或归属页面权限名称 |
|
|
|
@ -228,6 +241,18 @@ export default { |
|
|
|
tabChoosed: "0", |
|
|
|
tabPosition: "top", // 多个明细检查排列方式 |
|
|
|
customerOrg:[], // 单位 |
|
|
|
|
|
|
|
LocalConfig: { |
|
|
|
doctorCheck: { // 医生诊台 |
|
|
|
scheduledAet: '', //scheduledAet |
|
|
|
// deviceId: '', // 设备ID |
|
|
|
pacsDescLines: '5', |
|
|
|
pacsDescLineH: '18', |
|
|
|
isHaveExternal: 'N', |
|
|
|
pacsDescFontSize: 14, //描述控件的字体大小 |
|
|
|
} |
|
|
|
}, |
|
|
|
pacs_interface_barcode_type:'0', //pacs系统条码类型:0:检查条码,1:人员条码 |
|
|
|
}; |
|
|
|
}, |
|
|
|
|
|
|
|
@ -237,7 +262,19 @@ export default { |
|
|
|
if (userPriv) this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName)) |
|
|
|
this.sysConfig = JSON.parse(window.sessionStorage.getItem('sysConfig')) |
|
|
|
let LocalConfig = JSON.parse(window.localStorage.getItem("LocalConfig") || null) |
|
|
|
if (LocalConfig && LocalConfig.doctorCheck && LocalConfig.doctorCheck.pacsType) this.pacsType = LocalConfig.doctorCheck.pacsType |
|
|
|
|
|
|
|
if (LocalConfig?.doctorCheck?.pacsType) this.pacsType = LocalConfig.doctorCheck.pacsType |
|
|
|
if (LocalConfig?.doctorCheck?.deviceId) { |
|
|
|
this.pacsReq.deviceId = LocalConfig.doctorCheck.deviceId |
|
|
|
this.query.deviceId = LocalConfig.doctorCheck.deviceId |
|
|
|
} |
|
|
|
if (LocalConfig?.doctorCheck?.scheduledAet) this.pacsReq.scheduledAet = LocalConfig.doctorCheck.scheduledAet |
|
|
|
if (LocalConfig?.doctorCheck?.pacsDescLines) this.LocalConfig.doctorCheck.pacsDescLines = LocalConfig.doctorCheck.pacsDescLines |
|
|
|
if (LocalConfig?.doctorCheck?.pacsDescLineH) this.LocalConfig.doctorCheck.pacsDescLineH = LocalConfig.doctorCheck.pacsDescLineH |
|
|
|
if (LocalConfig?.doctorCheck?.isHaveExternal) this.LocalConfig.doctorCheck.isHaveExternal = LocalConfig.doctorCheck.isHaveExternal |
|
|
|
if (LocalConfig?.doctorCheck?.pacsDescFontSize) this.LocalConfig.doctorCheck.pacsDescFontSize = LocalConfig.doctorCheck.pacsDescFontSize |
|
|
|
|
|
|
|
|
|
|
|
// console.log('this.pacsType', this.pacsType,) |
|
|
|
//获取单位列表 |
|
|
|
getapi("/api/app/customer-org/parent-all").then((res) => { |
|
|
|
@ -249,6 +286,14 @@ export default { |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
// 获取系统参数(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" |
|
|
|
} |
|
|
|
}) |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
//挂载完成 |
|
|
|
@ -274,9 +319,26 @@ export default { |
|
|
|
lmoment(date, forMat) { |
|
|
|
return moment(new Date(date)).format(forMat); |
|
|
|
}, |
|
|
|
|
|
|
|
// 左侧宽度 |
|
|
|
leftWidth() { |
|
|
|
return this.window.pageWidth - this.rightWidth - 20 |
|
|
|
}, |
|
|
|
|
|
|
|
// 左侧宽度 |
|
|
|
resultHeight() { |
|
|
|
return this.LocalConfig.doctorCheck.isHaveExternal == 'N' ? 120 : 300 |
|
|
|
}, |
|
|
|
|
|
|
|
//表格高度 |
|
|
|
tableHeight() { |
|
|
|
return this.window.pageHeight - 105 - 360 - 76 |
|
|
|
let h = Number(this.LocalConfig.doctorCheck.pacsDescLineH) |
|
|
|
let n = Number(this.LocalConfig.doctorCheck.pacsDescLines) |
|
|
|
let th = this.window.pageHeight - this.resultHeight - 270 - 76 - (n * h) - 34 |
|
|
|
if (this.LocalConfig.doctorCheck.isHaveExternal == 'Y') th = this.window.pageHeight - 85 - 76 |
|
|
|
return th |
|
|
|
}, |
|
|
|
|
|
|
|
}, |
|
|
|
methods: { |
|
|
|
checkPagePriv, moment, |
|
|
|
@ -498,20 +560,59 @@ export default { |
|
|
|
this.pacsParams.index = 0 |
|
|
|
this.pacsParams.refresh++ |
|
|
|
|
|
|
|
let barcodeNo = this.doctorCheck.RegisterCheckEdit.checkRequestNo |
|
|
|
if(this.pacs_interface_barcode_type == '1'){ |
|
|
|
barcodeNo = this.dataTransOpts.tableS.patient_register.patientRegisterNo |
|
|
|
} |
|
|
|
|
|
|
|
// console.log('pacsParams', this.pacsParams) |
|
|
|
let token = window.sessionStorage.getItem('token') |
|
|
|
this.iframeSrc = `${this.sysConfig.dcmViewers}/?mrn=${this.doctorCheck.RegisterCheckEdit.checkRequestNo}&token=${token}&pacsapi=${this.sysConfig.pacsApiHttps}` |
|
|
|
let url = `${this.sysConfig.dcmViewers}/?mrn=${barcodeNo}&token=${token}&pacsapi=${this.sysConfig.pacsApiHttps}` |
|
|
|
// this.iframeSrc = `${this.sysConfig.dcmViewers}/viewer?StudyInstanceUIDs=1.3.12.2.1107.5.1.4.79623.30000024091203062645300000022` |
|
|
|
this.dialogDcm = true |
|
|
|
// 有分屏且安装有壳 |
|
|
|
if (this.$peisAPI && this.LocalConfig.doctorCheck.isHaveExternal == 'Y') { |
|
|
|
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')) |
|
|
|
|
|
|
|
} else { |
|
|
|
this.iframeSrc = url |
|
|
|
} |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
// 选择描述与结论 |
|
|
|
btnChooseBigtext() { |
|
|
|
// console.log('this.pacsParams', this.pacsParams) |
|
|
|
this.pacsParams.index = parseInt(this.tabChoosed) |
|
|
|
this.pacsParams.refresh++ |
|
|
|
this.dialogWin.PacsTemplate = true |
|
|
|
if(this.doctorCheck.asbitemName){ |
|
|
|
this.pacsParams.index = parseInt(this.tabChoosed) |
|
|
|
this.pacsParams.refresh++ |
|
|
|
this.dialogWin.PacsTemplate = true |
|
|
|
}else{ |
|
|
|
this.$message.warning({showClose:true,message:"没有可操作的数据!"}) |
|
|
|
} |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
// 确定描述与结论 |
|
|
|
@ -530,6 +631,10 @@ export default { |
|
|
|
summaryFlag: 'N', |
|
|
|
}] |
|
|
|
*/ |
|
|
|
if(!this.doctorCheck.asbitemName){ |
|
|
|
this.$message.warning({showClose:true,message:"没有可操作的数据!"}) |
|
|
|
return |
|
|
|
} |
|
|
|
if (this.doctorCheck.checkSummaryList.length < 1) { |
|
|
|
this.$message.warning({ showClose: true, message: '请填写检查结论' }) |
|
|
|
return |
|
|
|
|