Browse Source

pacs

master
pengjun 1 year ago
parent
commit
ff96e59494
  1. 47
      src/components/doctorCheck/CheckItemList.vue
  2. 40
      src/components/doctorCheck/PacsTemplate.vue
  3. 1
      src/components/doctorCheck/PatientRegisterBase.vue
  4. 82
      src/components/doctorCheck/RegisterCheckList.vue
  5. 4
      src/components/occDisease/OccDiseaseConclusion.vue

47
src/components/doctorCheck/CheckItemList.vue

@ -14,7 +14,7 @@
<el-button style="min-width:23px;padding: 2px;" icon="el-icon-caret-bottom"
@click="btnMoreResult(scope.row, scope.$index)" :disabled="rowResultDisabled(scope.row)"
size="small"></el-button>
<el-button style="min-width:23px;padding:2px;margin-left: 2px;"
<el-button style="min-width:23px;padding:2px;margin-left: 2px;"
@click="btnPacsResult(scope.row, scope.$index)" :disabled="rowResultDisabled(scope.row)"
size="small">P</el-button>
</div>
@ -29,7 +29,8 @@
</el-table-column>
<el-table-column prop="criticalFlag" label="危急" width="40" align="center">
<template slot-scope="scope">
<el-checkbox v-model="scope.row.criticalFlag" size="small" true-label="Y" false-label="N" @change="dialogWin.FollowCriticalCheck = true"/>
<el-checkbox v-model="scope.row.criticalFlag" size="small" true-label="Y" false-label="N"
@change="dialogWin.FollowCriticalCheck = true" />
</template>
</el-table-column>
</el-table>
@ -84,8 +85,8 @@
</el-dialog>
<!--Pacs结果录入模版-->
<el-dialog title="Pacs结果录入模版" :visible.sync="dialogWin.PacsTemplate" fullscreen :close-on-click-modal="false">
<PacsTemplate />
<el-dialog :title="'Pacs结果录入模版 -- ' + doctorCheck.asbitemName" :visible.sync="dialogWin.PacsTemplate" fullscreen :close-on-click-modal="false">
<PacsTemplate :refParams="pacsParams" :refFuncOther="handlePacsResult" />
</el-dialog>
</div>
</div>
@ -132,7 +133,7 @@ export default {
moreResult: {
data: [],
result: '',
defaultResult:'',
defaultResult: '',
index: 0, //
}, //
isSplitChooseResult: 'N', //
@ -142,6 +143,10 @@ export default {
symbols: [], //
splitSymbols: [';', '、'], //
userId: '',
// pacs
pacsParams: {},
};
},
@ -157,7 +162,7 @@ export default {
},
computed: {
...mapState(["window", "dataTransOpts", "dict","dialogWin", "doctorCheck"]),
...mapState(["window", "dataTransOpts", "dict", "dialogWin", "doctorCheck"]),
tableHeight() {
let temp = this.window.pageHeight < 600 ? 600 : this.window.pageHeight
@ -410,8 +415,18 @@ export default {
},
// pacs
btnPacsResult(row, index){
console.log('row, index',row, index)
btnPacsResult(row, index) {
let summary = ''
this.doctorCheck.checkSummaryList.forEach((e,i) => {
summary += e.summary
});
// console.log('row, index,summary', row, index,summary)
this.pacsParams = {
row,index,summary
}
this.dialogWin.PacsTemplate = true
},
@ -449,12 +464,26 @@ export default {
},
btnOkResult(result) {
this.doctorCheck.checkItemList[this.moreResult.index].result = result ? this.moreResult[result]:this.moreResult.result
this.doctorCheck.checkItemList[this.moreResult.index].result = result ? this.moreResult[result] : this.moreResult.result
this.madeTooltips(this.moreResult.index);
this.computeFun(this.moreResult.index)
this.dialogWinMoreResult = false
},
// pacs
handlePacsResult(row, index, pacsResult) {
// console.log('row,index,pacsResult', row, index, pacsResult)
this.doctorCheck.checkItemList[index].result = pacsResult.result
this.doctorCheck.checkSummaryList = [{
id: Math.random(),
registerCheckId: this.doctorCheck.RegisterCheckEdit.id,
summary: pacsResult.summary,
summaryFlag: 'N',
}]
},
//
rowClick(row) {
this.doctorCheck.checkItem = row;

40
src/components/doctorCheck/PacsTemplate.vue

@ -54,7 +54,9 @@
<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>
@ -73,7 +75,7 @@ import { getTreePids, getTreeAllChildIdsById, madeTree } from "../../utlis/tree"
export default {
components: {},
props: ["useCustomerOrg", "initDateType", "isUnit"],
props: ["refParams", "refFuncOther"],
data() {
return {
filterText: '',
@ -97,7 +99,7 @@ export default {
},
//<el-tree :data="$store.state.customerOrg.ref_tree" :props="$store.state.customerOrg.treeprops" @node-click="treeclick"></el-tree>
computed: {
...mapState(["dict", "window", "customerOrg", "patientRegister", "report", "diagnosis", "project"]),
...mapState(["window", "dialogWin"]),
mainHeight() {
return this.window.pageHeight - 78;
@ -117,9 +119,17 @@ export default {
mounted() {
//
this.getPacsTemplateTree();
this.init()
},
methods: {
//
init() {
this.btnClear()
this.description = []
this.result = this.refParams.row.result
this.summary = this.refParams.summary || ''
},
//
filterNode(value, data) {
@ -156,7 +166,8 @@ export default {
let ids = getTreeAllChildIdsById(this.pacsTemplateTree, "children", "id", data.id)
ids.unshift(data.id) //
hadoopPost('pacsApi','/api/app/BigtextResultTemplate/GetBigtextResultTemplateDetail', { bigtextResultTemplateIds: ids })
// hadoopPost('pacsApi', '/api/app/BigtextResultTemplate/GetBigtextResultTemplateDetail', { bigtextResultTemplateIds: ids })
postapi('/api/app/BigtextResultTemplate/GetBigtextResultTemplateDetail', { bigtextResultTemplateIds: ids })
.then(res => {
if (res.code > -1) {
this.newQuery = 0
@ -179,11 +190,10 @@ export default {
if (lfind > -1) {
// console.log('this.descriptionChoosed refresh', deepCopy(this.descriptionChoosed))
this.$nextTick(() => {
this.$refs['ref_description'].toggleRowSelection(this.description[i],true)
})
this.$refs['ref_description'].toggleRowSelection(this.description[i], true)
})
}
});
}
})
@ -218,7 +228,7 @@ export default {
} else {
this.result = e.description
}
});
});
//
if (this.newQuery > 1) {
@ -239,8 +249,8 @@ export default {
});
}
this.descriptionChoosedPre = deepCopy(v)
if(this.result){
if(this.result.substring(this.result.length - 1,this.result.length) == ";") this.result = this.result.substring(0,this.result.length - 1)
if (this.result) {
if (this.result.substring(this.result.length - 1, this.result.length) == ";") this.result = this.result.substring(0, this.result.length - 1)
}
},
@ -296,18 +306,26 @@ export default {
//
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.row.itemId"(newVal, oldVal) {
if (newVal != oldVal) this.init();
},
},
};
</script>

1
src/components/doctorCheck/PatientRegisterBase.vue

@ -181,6 +181,7 @@ export default {
//
this.dataTransOpts.refresh.register_check.M++
//
// console.log('afterFind',rd)

82
src/components/doctorCheck/RegisterCheckList.vue

@ -1,11 +1,10 @@
<template>
<div>
<div>
<div :style="`overflow-y: scroll;height: ${tableHeight}px;`">
<el-collapse v-model="activeNames">
<el-collapse-item v-if="registerCheckList0.length > 0" title="普通检查" name="0">
<el-table :data="registerCheckList0" style="width: 100%;" border
highlight-current-row @row-click="rowClick" :show-header="false"
:row-style="{ height: '28px' }">
<el-table :data="registerCheckList0" style="width: 100%;" border highlight-current-row @row-click="rowClick"
:show-header="false" :row-style="{ height: '28px' }">
<el-table-column prop="asbitemName" label="组合项目" width="184">
<template slot-scope="scope">
<div :style="`padding: 0 5px;color: ${setCheckStatusColor(scope.row.completeFlag)};`">
@ -16,9 +15,8 @@
</el-table>
</el-collapse-item>
<el-collapse-item v-if="registerCheckList1.length > 0" title="检验" name="1">
<el-table :data="registerCheckList1" style="width: 100%;" border
highlight-current-row @row-click="rowClick" :show-header="false"
:row-style="{ height: '28px' }">
<el-table :data="registerCheckList1" style="width: 100%;" border highlight-current-row @row-click="rowClick"
:show-header="false" :row-style="{ height: '28px' }">
<el-table-column prop="asbitemName" label="组合项目" width="184">
<template slot-scope="scope">
<div :style="`padding: 0 5px;color: ${setCheckStatusColor(scope.row.completeFlag)};`">
@ -29,9 +27,8 @@
</el-table>
</el-collapse-item>
<el-collapse-item v-if="registerCheckList2.length > 0" title="特检" name="2">
<el-table :data="registerCheckList2" style="width: 100%;" border
highlight-current-row @row-click="rowClick" :show-header="false"
:row-style="{ height: '28px' }">
<el-table :data="registerCheckList2" style="width: 100%;" border highlight-current-row @row-click="rowClick"
:show-header="false" :row-style="{ height: '28px' }">
<el-table-column prop="asbitemName" label="组合项目" width="184">
<template slot-scope="scope">
<div :style="`padding: 0 5px;color: ${setCheckStatusColor(scope.row.completeFlag)};`">
@ -42,9 +39,8 @@
</el-table>
</el-collapse-item>
<el-collapse-item v-if="registerCheckList3.length > 0" title="放射" name="3">
<el-table :data="registerCheckList3" style="width: 100%;" border
highlight-current-row @row-click="rowClick" :show-header="false"
:row-style="{ height: '28px' }">
<el-table :data="registerCheckList3" style="width: 100%;" border highlight-current-row @row-click="rowClick"
:show-header="false" :row-style="{ height: '28px' }">
<el-table-column prop="asbitemName" label="组合项目" width="184">
<template slot-scope="scope">
<div :style="`padding: 0 5px;color: ${setCheckStatusColor(scope.row.completeFlag)};`">
@ -61,13 +57,13 @@
<script>
import { mapState } from 'vuex';
import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { listOrderBy,setCheckStatusColor } from "../../utlis/proFunc"
import { listOrderBy, setCheckStatusColor } from "../../utlis/proFunc"
export default {
components: {},
data() {
return {
activeNames:['0','1','2','3'],
activeNames: ['0', '1', '2', '3'],
};
},
@ -85,17 +81,17 @@ export default {
return this.window.pageHeight < 600 ? 390 : this.window.pageHeight - 210
},
registerCheckList0(){
return this.doctorCheck.RegisterCheckList.filter(e => { return e.checkTypeFlag == '0'})
registerCheckList0() {
return this.doctorCheck.RegisterCheckList.filter(e => { return e.checkTypeFlag == '0' })
},
registerCheckList1(){
return this.doctorCheck.RegisterCheckList.filter(e => { return e.checkTypeFlag == '1'})
registerCheckList1() {
return this.doctorCheck.RegisterCheckList.filter(e => { return e.checkTypeFlag == '1' })
},
registerCheckList2(){
return this.doctorCheck.RegisterCheckList.filter(e => { return e.checkTypeFlag == '2'})
registerCheckList2() {
return this.doctorCheck.RegisterCheckList.filter(e => { return e.checkTypeFlag == '2' })
},
registerCheckList3(){
return this.doctorCheck.RegisterCheckList.filter(e => { return e.checkTypeFlag == '3'})
registerCheckList3() {
return this.doctorCheck.RegisterCheckList.filter(e => { return e.checkTypeFlag == '3' })
},
},
@ -116,11 +112,11 @@ export default {
//
rowClick(row) {
console.log('rowClick')
// console.log('rowClick')
this.doctorCheck.RegisterCheckId = row.id
this.doctorCheck.asbitemName = row.asbitemName
this.doctorCheck.checkRequestNo = row.checkRequestNo
this.dataTransOpts.tableS.register_check.id = row.id
this.dataTransOpts.refresh.register_check.S++
@ -142,7 +138,7 @@ export default {
postapi('/api/app/RegisterCheck/GetRegisterCheckWithAsbitems', { patientRegisterId })
.then((res) => {
// console.log("registerCheckList res.data", res.data);
if (res.code != -1) {
if (res.code != -1) {
//
this.handleRegisterCheckList(res.data)
@ -151,12 +147,17 @@ export default {
this.doctorCheck.RegisterCheckId = res.data[0].id
this.dataTransOpts.tableS.register_check.id = res.data[0].id
this.doctorCheck.asbitemName = res.data[0].asbitemName
this.doctorCheck.checkRequestNo = res.data[0].checkRequestNo
// this.doctorCheck.RegisterCheckEdit = res.data[0]
// this.$refs['doctorCheck_RegisterCheckList'].setCurrentRow(res.data[0])
} else {
this.dataTransOpts.tableS.register_check.id = ''
this.dataTransOpts.tableS.register_check.id = ''
this.doctorCheck.asbitemName = ""
this.doctorCheck.checkRequestNo = ""
}
this.dataTransOpts.refresh.register_check.S++ //
@ -168,10 +169,10 @@ export default {
this.$message.error({ showClose: true, message: `操作失败,原因:${err}` });
});
},
handleRegisterCheckList(registerCheckList){
handleRegisterCheckList(registerCheckList) {
this.doctorCheck.RegisterCheckList = listOrderBy(registerCheckList, [{ colName: 'checkTypeFlag', sortType: 'A' }, { colName: 'itemTypeDisplayOrder', sortType: 'A' }, { colName: 'asbitemDisplayOrder', sortType: 'A' }])
}
},
@ -191,15 +192,14 @@ export default {
</script>
<style scoped>
::v-deep .el-collapse-item__header {
height: 32px;
line-height: 32px;
background-color: #f4f8ff;
color: #303133;
cursor: pointer;
font-size: 14px;
font-weight: 700;
text-align: center;
padding: 0 0 0 50px;
height: 32px;
line-height: 32px;
background-color: #f4f8ff;
color: #303133;
cursor: pointer;
font-size: 14px;
font-weight: 700;
text-align: center;
padding: 0 0 0 50px;
}
</style>
</style>

4
src/components/occDisease/OccDiseaseConclusion.vue

@ -5,8 +5,8 @@
</div>
<table width="100%">
<tr>
<td width="50%">职业健康检查总结论</td>
<td width="50%">职业健康检查建议</td>
<td width="50%">结论</td>
<td width="50%">建议</td>
</tr>
<tr>
<td><el-input type="textarea" v-model="dataTransOpts.tableS.patient_occupational_disease.occupationalAbnormal"

Loading…
Cancel
Save