Browse Source

pacs看图

master
pengjun 1 year ago
parent
commit
0c1d8deaa1
  1. 22
      src/components/doctorCheck/CheckItemList.vue
  2. 77
      src/components/doctorCheck/CheckPicture.vue
  3. 70
      src/components/doctorCheck/PacsDcmList.vue
  4. 275
      src/components/doctorCheck/PacsTemplate copy.vue
  5. 168
      src/components/doctorCheck/PacsTemplate.vue

22
src/components/doctorCheck/CheckItemList.vue

@ -684,6 +684,26 @@ export default {
this.dialogWinPacsTemplate = true;
},
// pacs()
btnPacsResultBak(row, index) {
let result = row.result;
let summary = "";
this.doctorCheck.checkSummaryList.forEach((e, i) => {
summary += e.summary;
});
this.pacsParams.row = row;
this.pacsParams.index = index;
this.pacsParams.result = result;
this.pacsParams.summary = summary;
this.pacsParams.refresh++;
this.dialogWinPacsTemplate = true;
},
//
dblclickResult(item) {
this.moreResult.result = "";
@ -730,7 +750,7 @@ export default {
// pacs
handlePacsResult(row, index, pacsResult) {
// console.log('row,index,pacsResult', row, index, pacsResult)
this.doctorCheck.checkItemList[index].result = pacsResult.result;
// this.doctorCheck.checkItemList[index].result = pacsResult.result;
this.doctorCheck.checkSummaryList = [
{
id: Math.random(),

77
src/components/doctorCheck/CheckPicture.vue

@ -23,7 +23,7 @@
:disabled="doctorBtnDisabled('btnExpPic')">导入图片</el-dropdown-item>
<el-dropdown-item v-show="checkPagePriv(pagePriv.privs, '裁图')" @click.native="btnCutPic"
:disabled="doctorBtnDisabled('btnCutPic')">裁剪图片</el-dropdown-item>
<el-dropdown-item v-show="checkPagePriv(pagePriv.privs, '清理pacs结果')" @click.native="btnClean"
<el-dropdown-item v-show="checkPagePriv(pagePriv.privs, '清理pacs结果')" @click.native="btnClean"
:disabled="doctorBtnDisabled('btnClean')">清理pacs结果</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
@ -102,11 +102,39 @@
<div style="margin-top: 5px;">
<span style="color: #232748;">检查结果</span>
<el-input style="width: 100%;border: 1px solid #232748;" type="textarea" v-model="pacsParams.result"
:disabled="doctorBtnDisabled('save')" placeholder="请输入描述"
:autosize="{ minRows: Math.floor((window.pageHeight - 500) / 24), maxRows: 20 }" />
<div>
<span>检查结果</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: 100%;" type="textarea" v-model="item.result" placeholder="请输入检查结果"
:disabled="doctorBtnDisabled('save')"
:autosize="{ minRows: Math.floor((window.pageHeight - 500) / 24), maxRows: 19 }" />
<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: 5px;">
<span style="color: #232748;">检查结论</span>
<el-input style="width: 100%;border: 1px solid #232748;" type="textarea" v-model="pacsParams.summary"
@ -134,7 +162,7 @@
</el-dialog>
<el-dialog title="裁图" :visible.sync="dialogWinCutPic" width="1300px" :close-on-click-modal="false">
<PacsCutPic/>
<PacsCutPic />
</el-dialog>
</div>
@ -174,7 +202,8 @@ export default {
result: '',
summary: ''
},
tabPosition: 'top',
tabChoosed:"0",
checkPictures: [
// {
@ -376,6 +405,29 @@ export default {
},
// tab
dispLabel(itemName) {
return itemName.length > 5 ? (itemName.substring(0, 4) + "…") : itemName
},
//
btnClear(seq) {
if(this.doctorBtnDisabled('save')){
this.$message.warning({showClose:true,message:"已保存,不可操作!"})
return
}
this.doctorCheck.checkItemList[seq].result = ''
},
//
btnDefResult(seq) {
if(this.doctorBtnDisabled('save')){
this.$message.warning({showClose:true,message:"已保存,不可操作!"})
return
}
this.doctorCheck.checkItemList[seq].result = this.doctorCheck.checkItemList[seq].defaultResult
},
// Dcm
btnBrowseDcm() {
this.checkRequestNo = this.doctorCheck.checkRequestNo
@ -393,6 +445,8 @@ export default {
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}/viewer?StudyInstanceUIDs=1.3.12.2.1107.5.1.4.79623.30000024091203062645300000022`
this.tabPosition = this.doctorCheck.checkItemList.length > 2 ? 'left':'top'
this.tabChoosed = "0"
this.dialogDcm = true
},
@ -400,6 +454,7 @@ export default {
//
btnChooseBigtext() {
// console.log('this.pacsParams', this.pacsParams)
this.pacsParams.index = parseInt(this.tabChoosed)
this.pacsParams.refresh++
this.dialogWin.PacsTemplate = true
},
@ -407,7 +462,7 @@ export default {
//
btnOkBigtext() {
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 = [{
id: Math.random(),
registerCheckId: this.doctorCheck.RegisterCheckEdit.id,
@ -498,17 +553,17 @@ export default {
this.uploadSeq++;
this.dialogCheckPictureUpload = true;
},
btnClean(){
btnClean() {
if (!this.doctorCheck.RegisterCheckId) {
this.$message.warning({ showClose: true, message: "未选中组合项目!" });
return;
}
postapi("/api/app/PacsBusiness/DeletePacsCheckDicomDataByRegisterCheckId", {
registerCheckId:this.doctorCheck.RegisterCheckId
registerCheckId: this.doctorCheck.RegisterCheckId
})
.then((res) => {
if (res.code > -1) {
}
});
},

70
src/components/doctorCheck/PacsDcmList.vue

@ -79,15 +79,38 @@
</div>
</div>
<div style="margin-top: 5px;">
<span style="color: #232748;">检查结果</span>
<el-input style="width: 100%;border: 1px solid #232748;" type="textarea" v-model="pacsParams.result"
placeholder="请输入描述" size="small" :autosize="{ minRows: 10, maxRows: 10 }" />
<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%;border: 1px solid #232748;" type="textarea" v-model="item.result"
placeholder="请输入检查结果" :autosize="{ minRows: 8, maxRows: 8 }" />
<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: 5px;">
<div style="margin-top: -15px;">
<span style="color: #232748;">检查结论</span>
<el-input style="width: 100%;border: 1px solid #232748;" type="textarea" v-model="pacsParams.summary"
<el-input style="width: 98%;border: 1px solid #232748;" type="textarea" v-model="pacsParams.summary"
placeholder="请输入结论" size="small" :autosize="{ minRows: 6, maxRows: 6 }" />
</div>
<div style="display: flex;justify-content: space-between;margin-top: 10px;">
@ -164,6 +187,9 @@ export default {
},
pacsType: 'dcm', // image/dcm
checkPictures: [],
tabChoosed: "0",
tabPosition: "top", //
};
},
@ -205,6 +231,21 @@ export default {
methods: {
checkPagePriv, moment,
// tab
dispLabel(itemName) {
return itemName.length > 5 ? (itemName.substring(0, 4) + "…") : itemName
},
//
btnClear(seq) {
this.doctorCheck.checkItemList[seq].result = ''
},
//
btnDefResult(seq) {
this.doctorCheck.checkItemList[seq].result = this.doctorCheck.checkItemList[seq].defaultResult
},
//
previewSrcList(oriList, curImag) {
let srcList = []
@ -378,6 +419,7 @@ export default {
//
btnChooseBigtext() {
// console.log('this.pacsParams', this.pacsParams)
this.pacsParams.index = parseInt(this.tabChoosed)
this.pacsParams.refresh++
this.dialogWin.PacsTemplate = true
},
@ -385,11 +427,11 @@ export default {
//
btnOkBigtext() {
// console.log('this.pacsParams', this.pacsParams)
if (!this.pacsParams.result || !this.pacsParams.summary) {
this.$message.warning({ showClose: true, message: '请填写检查结果与结论' })
if (!this.pacsParams.summary) {
this.$message.warning({ showClose: true, message: '请填写检查结论' })
return
}
this.doctorCheck.checkItemList[0].result = this.pacsParams.result
//this.doctorCheck.checkItemList[0].result = this.pacsParams.result
this.doctorCheck.checkSummaryList = [{
id: Math.random(),
registerCheckId: this.doctorCheck.RegisterCheckEdit.id,
@ -498,6 +540,14 @@ export default {
//
this.doctorCheck.checkItemList = res.data.registerCheckItemDetails
if(this.doctorCheck.checkItemList.length > 0){
this.tabChoosed = "0"
}
if(this.doctorCheck.checkItemList.length > 3){
this.tabPosition = 'left'
}else{
this.tabPosition = 'top'
}
//
this.doctorCheck.checkSummaryList = res.data.registerCheckSummaryDetails

275
src/components/doctorCheck/PacsTemplate copy.vue

@ -0,0 +1,275 @@
<template>
<div style="display: flex;">
<div :style="`width: 220px;height:550px;border: 1px solid #EEE;`">
<div style="margin:2px 2px 2px 2px;">
<el-input placeholder="输入关键字进行过滤" v-model="filterText" size="small" />
</div>
<div>
<el-tree :style="`overflow: scroll;width: 200px;height:510px;`" :data="pacsTemplateTree"
:props="treeprops" :filter-node-method="filterNode" :expand-on-click-node="false"
highlight-current ref="ref_tree" show-checkbox default-expand-all @check-change="handleCheckChange" >
<span class="custom-tree-node" slot-scope="{ node, data }">
<div>
<span class="treeicons">
<img style="width:20px;height:20px;vertical-align: sub;" src="@/assets/images/order.png"
v-if="!data.parentId" />
</span>
<span :class="!data.parentId ? 'maxtitle' : 'mintitle'">{{ node.label }}
</span>
</div>
</span>
</el-tree>
</div>
</div>
<div :style="`display: block;width:620px; margin-left: 5px;`">
<div>
<span>检查结果</span>
<el-input style="width: 100%;" type="textarea" v-model="result" placeholder="请输入描述"
:autosize="{ minRows: decLineCount, maxRows: decLineCount }" />
</div>
<div style="margin-top: 5px;">
<span>检查结论</span>
<div style="display: flex;justify-content: space-between;">
<el-input style="width: 100%;" type="textarea" v-model="summary" placeholder="请输入结论"
:autosize="{ minRows: conLineCount, maxRows: conLineCount }" />
</div>
</div>
<div style="display: flex;justify-content: space-between;margin-top: 10px;">
<div></div>
<div>
<!--
<el-button type="primary" @click="btnTest" class="commonbutton">测试</el-button>
-->
<el-button type="primary" @click="btnClear" class="commonbutton">清除</el-button>
<el-button type="primary" @click="btnDefault" class="commonbutton">默认结果</el-button>
<el-button type="primary" @click="btnOk" class="commonbutton">确定</el-button>
</div>
</div>
</div>
</div>
</template>
<script>
import moment from "moment";
import { mapState } from "vuex";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { hadoopGet, hadoopPost, hadoopPut, hadoopDel } from "../../api/hadoopApi"
import { arrayReduce, arrayExistObj, deepCopy, reMadeOrgTree } from "../../utlis/proFunc";
import { getTreePids, getTreeAllChildIdsById, madeTree } from "../../utlis/tree";
export default {
components: {},
props: ["refParams", "refFuncOther"],
data() {
return {
filterText: '',
description: [], //
conclusion: [], //
descriptionChoosedPre: [], //
descriptionChoosed: [], //
conclusionChoosed: [], //
conclusionAll: [], //
result: '', //
summary: '', //
pacsTemplateTree: [], // +
treeprops: {
label: "displayName", // label/displayName
value: "id",
id: "id",
children: "children",
}, //
};
},
//<el-tree :data="$store.state.customerOrg.ref_tree" :props="$store.state.customerOrg.treeprops" @node-click="treeclick"></el-tree>
computed: {
...mapState(["window", "dialogWin","doctorCheck"]),
mainHeight() {
return this.window.pageHeight - 118;
},
tableHeight() {
return this.mainHeight - 120 - 80 - 80;
},
decLineCount(){
return this.refParams.from == 'dcm' ? 14:16
},
conLineCount(){
return this.refParams.from == 'dcm' ? 7:8
}
},
//
created() {
},
//
mounted() {
//
this.getPacsTemplateTree();
this.init()
},
methods: {
//
init() {
this.btnClear()
this.description = []
this.result = this.refParams.result || ''
this.summary = this.refParams.summary || ''
console.log('init')
},
//
handleCheckChange(data, checked, indeterminate) {
// console.log('data, checked, indeterminate,this.menuInfoSet',data, checked, indeterminate,this.menuInfoSet);
this.description = []
this.conclusion = []
postapi('/api/app/BigtextResultTemplate/GetBigtextResultTemplateDetail', { bigtextResultTemplateIds: [data.id] })
.then(res => {
if (res.code > -1) {
this.description = res.data.descriptionDetail
this.conclusion = res.data.conclusionDetail
let opraType = false
if(checked){
//
opraType = true
}else if(!indeterminate){
//
opraType = false
}
this.chooseDescription(opraType)
this.chooseConclusion(opraType)
}
});
},
//
filterNode(value, data) {
//console.log(value,data)
if (!value) return true;
return data['displayName'].indexOf(value) > -1 || data['simpleCode'].indexOf(value.toUpperCase()) > -1;
},
// truefalse
chooseDescription(opraType){
let bfind = false
this.description.forEach(e => {
bfind = this.result.includes(e.description)
if(opraType){
if(!bfind){
if(this.result){
this.result += ";" + e.description
}else{
this.result = e.description
}
}
}else{
if(bfind) this.result = this.result.replaceAll(e.description + ';','').replaceAll(e.description,'')
}
});
},
// truefalse
chooseConclusion(opraType){
let lfind = 0
let summarys = this.summary.split(';')
this.conclusion.forEach(e => {
lfind = summarys.indexOf(e.conclusion)
if(opraType){
if(lfind == -1) summarys.push(e.conclusion)
}else{
if(lfind > -1) summarys.splice(lfind,1)
}
});
let summary = ''
summarys.forEach(e => {
if(summary){
summary += ';' + e
}else{
summary = e
}
});
this.summary = summary
},
//pacs
getPacsTemplateTree() {
let resultType = [], resultTemplate = [], treeData = []
postapi('/api/app/BigtextResultType/GetList',{
itemTypeId:this.refParams.row.itemTypeId
})
.then(res => {
if (res.code > -1) {
resultType = res.data
resultType.forEach(e => {
e.disabled = true
});
return postapi('/api/app/BigtextResultTemplate/GetList',{})
}
})
.then(res => {
if (res && res.code > -1) {
res.data.forEach(e => {
resultTemplate.push(Object.assign({}, e, { parentId: e.bigtextResultTypeId }))
});
treeData = resultType.concat(resultTemplate)
// console.log('treeData',treeData,resultType,)
this.pacsTemplateTree = madeTree(treeData, "children", "parentId", "id", null)
}
})
},
btnTest() {
console.log('this.descriptionChoosed', this.descriptionChoosed)
console.log('this.conclusionChoosed', this.conclusionChoosed)
},
//
btnClear() {
console.log('btnClear')
this.result = ''
this.summary = ''
},
//
btnDefault() {
this.btnClear()
this.result = this.refParams.row.defaultResult
this.summary = '未见异常'
},
//
btnOk() {
this.refFuncOther(this.refParams.row, this.refParams.index, { result: this.result, summary: this.summary })
this.dialogWin.PacsTemplate = false
},
},
watch: {
"filterText"(newVal, oldVal) {
if (newVal != oldVal) this.$refs['ref_tree'].filter(newVal);
},
"refParams.refresh"(newVal, oldVal) {
if (newVal && newVal != oldVal) this.init();
},
},
};
</script>
<style lang="scss" scoped>
@import "../../assets/css/global_dialog.css";
@import "../../assets/css/global_table.css";
@import "../../assets/css/global_input.css";
@import "../../assets/css/global.css";
@import "../../assets/css/global_tree.css";
:deep .el-tree-node>.el-tree-node__children {
overflow: visible;
}
</style>

168
src/components/doctorCheck/PacsTemplate.vue

@ -5,9 +5,9 @@
<el-input placeholder="输入关键字进行过滤" v-model="filterText" size="small" />
</div>
<div>
<el-tree :style="`overflow: scroll;width: 200px;height:510px;`" :data="pacsTemplateTree"
:props="treeprops" :filter-node-method="filterNode" :expand-on-click-node="false"
highlight-current ref="ref_tree" show-checkbox default-expand-all @check-change="handleCheckChange" >
<el-tree :style="`overflow: scroll;width: 200px;height:510px;`" :data="pacsTemplateTree" :props="treeprops"
:filter-node-method="filterNode" :expand-on-click-node="false" highlight-current ref="ref_tree" show-checkbox
default-expand-all @check-change="handleCheckChange">
<span class="custom-tree-node" slot-scope="{ node, data }">
<div>
<span class="treeicons">
@ -21,11 +21,36 @@
</el-tree>
</div>
</div>
<div :style="`display: block;width:620px; margin-left: 5px;`">
<div :style="`display: block;width:620px; margin-left: 5px;`">
<div>
<span>检查结果</span>
<el-input style="width: 100%;" type="textarea" v-model="result" placeholder="请输入描述"
:autosize="{ minRows: decLineCount, maxRows: decLineCount }" />
<!-- 多个检查明细 -->
<div>
<span>检查结果</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: 100%;" type="textarea" v-model="item.result" placeholder="请输入检查结果"
:autosize="{ minRows: decLineCount, maxRows: decLineCount }" />
<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: 5px;">
<span>检查结论</span>
@ -40,8 +65,12 @@
<!--
<el-button type="primary" @click="btnTest" class="commonbutton">测试</el-button>
-->
<el-button type="primary" @click="btnClear" class="commonbutton">清除</el-button>
<el-button type="primary" @click="btnDefault" class="commonbutton">默认结果</el-button>
<el-tooltip content="清除所有检查项目描述及结论" placement="top">
<el-button type="primary" @click="btnClearAll" class="commonbutton">清除</el-button>
</el-tooltip>
<el-tooltip content="所有检查项目赋默认描述及结论" placement="top">
<el-button type="primary" @click="btnDefault" class="commonbutton">默认结果</el-button>
</el-tooltip>
<el-button type="primary" @click="btnOk" class="commonbutton">确定</el-button>
</div>
</div>
@ -77,12 +106,13 @@ export default {
id: "id",
children: "children",
}, //
tabChoosed: "0",
tabPosition: "top", //
};
},
//<el-tree :data="$store.state.customerOrg.ref_tree" :props="$store.state.customerOrg.treeprops" @node-click="treeclick"></el-tree>
computed: {
...mapState(["window", "dialogWin"]),
...mapState(["window", "dialogWin", "doctorCheck"]),
mainHeight() {
return this.window.pageHeight - 118;
@ -92,12 +122,12 @@ export default {
return this.mainHeight - 120 - 80 - 80;
},
decLineCount(){
return this.refParams.from == 'dcm' ? 14:16
decLineCount() {
return this.refParams.from == 'dcm' ? 14 : 16
},
conLineCount(){
return this.refParams.from == 'dcm' ? 7:8
conLineCount() {
return this.refParams.from == 'dcm' ? 7 : 8
}
},
//
@ -115,12 +145,18 @@ export default {
methods: {
//
init() {
this.btnClear()
init() {
this.description = []
this.result = this.refParams.result || ''
this.summary = this.refParams.summary || ''
console.log('init')
this.summary = this.refParams.summary || ''
this.tabChoosed = this.refParams.index + ''
this.tabPosition = this.doctorCheck.checkItemList.length > 5 ? 'left' : 'top'
console.log('init')
},
// tab
dispLabel(itemName) {
return itemName.length > 5 ? (itemName.substring(0, 4) + "…") : itemName
},
//
@ -135,62 +171,73 @@ export default {
this.description = res.data.descriptionDetail
this.conclusion = res.data.conclusionDetail
let opraType = false
if(checked){
if (checked) {
//
opraType = true
}else if(!indeterminate){
} else if (!indeterminate) {
//
opraType = false
}
this.chooseDescription(opraType)
this.chooseConclusion(opraType)
}
});
});
},
//
filterNode(value, data) {
//console.log(value,data)
if (!value) return true;
if (!value) return true;
return data['displayName'].indexOf(value) > -1 || data['simpleCode'].indexOf(value.toUpperCase()) > -1;
},
// truefalse
chooseDescription(opraType){
chooseDescription(opraType) {
let bfind = false
let result = this.doctorCheck.checkItemList[parseInt(this.tabChoosed)].result
this.description.forEach(e => {
bfind = this.result.includes(e.description)
if(opraType){
if(!bfind){
if(this.result){
this.result += ";" + e.description
}else{
this.result = e.description
bfind = result.includes(e.description)
if (opraType) {
if (!bfind) {
if (result) {
if(result == this.doctorCheck.checkItemList[parseInt(this.tabChoosed)].defaultResult){
result = e.description
}else{
result += ";" + e.description
}
} else {
result = e.description
}
}
}else{
if(bfind) this.result = this.result.replaceAll(e.description + ';','').replaceAll(e.description,'')
} else {
if (bfind) result = result.replaceAll(e.description + ';', '').replaceAll(e.description, '')
}
});
// ;
if (result.substring(result.length - 1) == ';') {
result = result.substring(0, result.length - 1)
}
this.doctorCheck.checkItemList[parseInt(this.tabChoosed)].result = result
},
// truefalse
chooseConclusion(opraType){
chooseConclusion(opraType) {
let lfind = 0
let summarys = this.summary.split(';')
this.conclusion.forEach(e => {
lfind = summarys.indexOf(e.conclusion)
if(opraType){
if(lfind == -1) summarys.push(e.conclusion)
}else{
if(lfind > -1) summarys.splice(lfind,1)
if (opraType) {
if (lfind == -1) summarys.push(e.conclusion)
} else {
if (lfind > -1) summarys.splice(lfind, 1)
}
});
let summary = ''
summarys.forEach(e => {
if(summary){
if (summary) {
summary += ';' + e
}else{
} else {
summary = e
}
});
@ -200,16 +247,16 @@ export default {
//pacs
getPacsTemplateTree() {
let resultType = [], resultTemplate = [], treeData = []
postapi('/api/app/BigtextResultType/GetList',{
itemTypeId:this.refParams.row.itemTypeId
postapi('/api/app/BigtextResultType/GetList', {
itemTypeId: this.refParams.row.itemTypeId
})
.then(res => {
if (res.code > -1) {
resultType = res.data
resultType.forEach(e => {
e.disabled = true
});
return postapi('/api/app/BigtextResultTemplate/GetList',{})
});
return postapi('/api/app/BigtextResultTemplate/GetList', {})
}
})
.then(res => {
@ -223,23 +270,35 @@ export default {
}
})
},
btnTest() {
console.log('this.descriptionChoosed', this.descriptionChoosed)
console.log('this.conclusionChoosed', this.conclusionChoosed)
},
//
btnClear() {
console.log('btnClear')
this.result = ''
this.summary = ''
//
btnClearAll() {
this.doctorCheck.checkItemList.forEach(e => {
e.result = ''
});
this.summary = ''
},
//
btnClear(seq) {
this.doctorCheck.checkItemList[seq].result = ''
},
//
btnDefResult(seq) {
this.doctorCheck.checkItemList[seq].result = this.doctorCheck.checkItemList[seq].defaultResult
},
//
btnDefault() {
this.btnClear()
this.result = this.refParams.row.defaultResult
this.doctorCheck.checkItemList.forEach(e => {
e.result = e.defaultResult
});
this.summary = '未见异常'
},
@ -259,6 +318,11 @@ export default {
if (newVal && newVal != oldVal) this.init();
},
//
"tabChoosed"(newVal, oldVal) {
if (newVal && newVal != oldVal) this.conclusion = [];
},
},
};
</script>

Loading…
Cancel
Save