luobinjie 3 weeks ago
parent
commit
5fc8b951f3
  1. 48
      src/components/doctorCheck/CheckSumSug.vue
  2. 45
      src/components/doctorCheck/PatientRegisterBase.vue
  3. 29
      src/components/sumDoctorCheck/CheckDetails.vue
  4. 215
      src/components/sumDoctorCheck/SumSug.vue
  5. 985
      src/views/diagnosis/diagnosis.vue
  6. 3
      src/views/fee-settings/Asbitem.vue
  7. 10
      src/views/fee-settings/Item.vue

48
src/components/doctorCheck/CheckSumSug.vue

@ -1,7 +1,7 @@
<template>
<div>
<div style="display: flex;">
<div :style="`width:${sumWidth}px;`" @dblclick.prevent="blClick">
<div style="display: flex;" @contextmenu="onContextmenu">
<div :style="`width:${sumWidth}px;`" @dblclick="blClick">
<el-table id="tableSummary" row-key="id" :data="doctorCheck.checkSummaryList" size="samll" :height="sumHeight"
width="100%" border>
<el-table-column width="30" align="center">
@ -193,6 +193,14 @@ export default {
//
mounted() {
// Electron
if (this.$peisAPI) {
this.$peisAPI.onContextMenuAction((data) => {
this.onContextMenuDIY(data)
});
}
this.rowDrop();
if(this.doctor_check_disp_suggestion == 'Y') this.rowDropSuggestion()
@ -409,6 +417,42 @@ export default {
}
this.btnMakeDiagnosis()
},
//
onContextmenu(event) {
if (!this.$peisAPI) {
return
}
let menus = [
// { type: 'separator' },
// { label: '', itemId: '', enabled: true },
// {
// label: '',
// submenu: [
// { label: '', itemId: '', enabled: true }
// ]
// }
]
this.$peisAPI.showContextMenu(menus)
.then(res => {
console.log('res', res)
})
.catch(err => {
console.log('err', err)
})
.finally(() => {
console.log('finally')
})
},
//
onContextMenuDIY(data){
this.$message({showClose:true,message:data})
}
},
//

45
src/components/doctorCheck/PatientRegisterBase.vue

@ -1,5 +1,5 @@
<template>
<div>
<div @contextmenu="onContextmenu">
<div style="display: flex; flex-wrap: wrap;height:70px; width: 100%;overflow-y: auto;">
<div>
<span class="query">条码号</span>
@ -156,6 +156,13 @@ export default {
//
mounted() {
// Electron
if (this.$peisAPI) {
this.$peisAPI.onContextMenuAction((data) => {
this.onContextMenuDIY(data)
});
}
//
this.enterToQuery()
@ -476,6 +483,42 @@ export default {
});
},
//
onContextmenu(event) {
if (!this.$peisAPI) {
return
}
let menus = [
// { type: 'separator' },
// { label: '', itemId: '', enabled: true },
// {
// label: '',
// submenu: [
// { label: '', itemId: '', enabled: true }
// ]
// }
]
this.$peisAPI.showContextMenu(menus)
.then(res => {
console.log('res', res)
})
.catch(err => {
console.log('err', err)
})
.finally(() => {
console.log('finally')
})
},
//
onContextMenuDIY(data){
this.$message({showClose:true,message:data})
}
},
watch: {

29
src/components/sumDoctorCheck/CheckDetails.vue

@ -10,14 +10,15 @@
</el-table-column>
</el-table>
</div>
<div :style="`overflow: scroll;padding-left:10px;width:${(window.pageWidth - 180 - 110 - 25)}px;height:${divHeight}px;`">
<div
:style="`overflow: scroll;padding-left:10px;width:${(window.pageWidth - 180 - 110 - 25)}px;height:${divHeight}px;`">
<table width="100%" border="1" cellspacing="0" bordercolor="#909399"
style="font-size:14px;border-collapse:collapse;">
<tr height="24">
<td width="200" class="tdCellClass">{{ details.asbitemNames }}</td>
<td width="604" class="tdCellClass" colspan="7">{{ '检查日期:' + details.checkDate.substring(0, 10) + ' 检查医生:' +
<td width="604" class="tdCellClass" colspan="7">{{ '检查日期:' + details.checkDate + ' 检查医生:' +
details.checkDoctorName
}}</td>
}}</td>
</tr>
<tr style="text-align: center;" height="24">
@ -126,16 +127,18 @@ export default {
mergeSummarys(array, itemKey) {
let ret = ''
array.forEach((e, i) => {
//let splitStr = "<br>"
if (i == 0) {
ret = e[itemKey]
} else if (i == 1) {
ret = `1.${ret} ${Number(i) + 1}.${e[itemKey]}`
} else {
ret += ` ${Number(i) + 1}.${e[itemKey]}`
}
})
if (Array.isArray(array) && array.length > 0) {
array.forEach((e, i) => {
//let splitStr = "<br>"
if (i == 0) {
ret = e[itemKey]
} else if (i == 1) {
ret = `1.${ret} ${Number(i) + 1}.${e[itemKey]}`
} else {
ret += ` ${Number(i) + 1}.${e[itemKey]}`
}
})
}
return ret
},

215
src/components/sumDoctorCheck/SumSug.vue

@ -6,7 +6,7 @@
:style="`position: absolute; top: 0px; left: ${Math.floor((window.pageWidth - 120) / 2) - 110}px; display: flex;z-index: 3;`">
<div v-show="checkPagePriv(pagePriv.privs, '新增综述')">
<el-button style="height: 28px;" class="commonbutton" @click="addSummary"
:disabled="sumBtnDisabled('addSummary')">新增综述</el-button>
:disabled="sumBtnDisabledAddSummary">新增综述</el-button>
</div>
</div>
<div style="width:50%;background-color: #B9CEE9;">
@ -24,13 +24,13 @@
<div>
<div style="display: flex;">
<el-input v-model="scope.row.summaryTitle" placeholder="请输入综述" :ref="scope.row.id" :id="scope.row.id"
:disabled="sumBtnDisabled('addSummary')"></el-input>
:disabled="sumBtnDisabledAddSummary"></el-input>
<el-button v-show="checkPagePriv(pagePriv.privs, '新增综述明细')" icon="el-icon-plus"
style="min-width:21px;height:21px;padding:2px;" @click="addSum(scope.$index)"
:disabled="sumBtnDisabled('addSummary')"></el-button>
:disabled="sumBtnDisabledAddSummary"></el-button>
<el-button v-show="checkPagePriv(pagePriv.privs, '删除综述')" type="danger" icon="el-icon-delete"
style="margin-left: 2px;min-width:21px;height:21px;padding:2px;" @click="delSumHead(scope.$index)"
:disabled="sumBtnDisabled('addSummary')"></el-button>
style="margin-left: 2px;min-width:21px;height:21px;padding:2px;background-color: red;" @click="delSumHead(scope.$index)"
:disabled="sumBtnDisabledAddSummary"></el-button>
</div>
<el-table :id="scope.row.id" :row-key="scope.$index + scope.row.id" style="margin-left: 10px;"
:data="scope.row.details" border @row-click="rowClick" :show-header="false">
@ -43,13 +43,13 @@
<template slot-scope="scope2">
<div style="display: flex;">
<el-input type="textarea" v-model="scope2.row.summaryContent" placeholder="请输入综述"
:disabled="sumBtnDisabled('addSummary')" :id="scope2.row.id" :ref="scope2.row.id"
:disabled="sumBtnDisabledAddSummary" :id="scope2.row.id" :ref="scope2.row.id"
:autosize="{ minRows: 1, maxRows: 20 }">
</el-input>
<el-button v-show="checkPagePriv(pagePriv.privs, '删除综述明细')" type="danger" icon="el-icon-delete"
style="margin-left: 2px;min-width:21px;height:21px;padding:2px;"
style="margin-left: 2px;min-width:21px;height:21px;padding:2px;background-color: red;"
@click="delSug(scope.row.details, scope2.$index)"
:disabled="sumBtnDisabled('addSummary')"></el-button>
:disabled="sumBtnDisabledAddSummary"></el-button>
</div>
</template>
</el-table-column>
@ -63,13 +63,13 @@
<div style="position: absolute; top: 0px; right: 2px; display: flex;z-index: 3;">
<div style="margin-right: 5px;">
<el-button style="height: 28px;" class="commonbutton" @click="btnCollapseAll"
:disabled="sumBtnDisabled('collapse')">{{
:disabled="sumBtnDisabledCollapse">{{
collapse ?
'展开' : '折叠' }}全部建议</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '新增建议')">
<el-button style="height: 28px;" class="commonbutton" @click="addSuggtion"
:disabled="sumBtnDisabled()">新增建议</el-button>
:disabled="sumBtnDisabled">新增建议</el-button>
</div>
</div>
<div style="width:50%;background-color: #B9CEE9;">
@ -93,32 +93,32 @@
<div>
<div style="display: flex;" @dblclick="openSymbols(scope.$index, 'suggestionTitle', -1)">
<el-input v-model="scope.row.suggestionTitle" placeholder="请输入建议标题" :ref="scope.row.id"
:id="scope.row.id" :disabled="sumBtnDisabled()">
:id="scope.row.id" :disabled="sumBtnDisabled">
</el-input>
<el-button type="danger" :icon="scope.row.collapse ? 'el-icon-arrow-down' : 'el-icon-arrow-up'"
style="min-width:21px;height:21px;padding:2px;"
<!-- <el-tooltip content="选择诊断" placement="top"></el-tooltip> -->
<el-button icon="el-icon-search" style="min-width:21px;height:21px;padding:2px;"
@click="btnChooseDiagnosis(scope.$index)" :disabled="sumBtnDisabled"></el-button>
<!-- <el-tooltip content="根据诊断搜索医学解释、常见原因及健康指导" placement="top"></el-tooltip>-->
<el-button icon="el-icon-cpu" style="margin-left: 2px;min-width:21px;height:21px;padding:2px;"
@click="btnAIdiagnosis(scope.row.diagnosisNames)" :disabled="sumBtnDisabled"></el-button>
<el-button :icon="scope.row.collapse ? 'el-icon-arrow-down' : 'el-icon-arrow-up'"
style="margin-left: 2px;min-width:21px;height:21px;padding:2px;"
@click="btnCollapse(sumDoctorCheck.suggestionList, scope.$index, scope.row)"
:disabled="sumBtnDisabled('collapse')"></el-button>
:disabled="sumBtnDisabledCollapse"></el-button>
<el-button v-show="checkPagePriv(pagePriv.privs, '删除建议')" type="danger" icon="el-icon-delete"
style="margin-left: 2px;min-width:21px;height:21px;padding:2px;" @click="delSugHead(scope.$index)"
:disabled="sumBtnDisabled()"></el-button>
style="margin-left: 2px;min-width:21px;height:21px;padding:2px;background-color:red;" @click="delSugHead(scope.$index)"
:disabled="sumBtnDisabled"></el-button>
</div>
<div v-show="!scope.row.collapse">
<div style="display: flex;margin-top: 2px;">
<div style="display: flex;margin-top: 2px;" v-show="dispDiagnsis == 'Y' ? true:false">
<div style="width:60px;">诊断</div>
<el-input placeholder="请选择诊断" :value="`${scope.row.diagnosisNames}`" size="small" disabled>
</el-input>
<el-tooltip content="选择诊断" placement="top">
<el-button icon="el-icon-search" style="min-width:21px;height:21px;padding:2px;"
@click="btnChooseDiagnosis(scope.$index)" :disabled="sumBtnDisabled()"></el-button>
</el-tooltip>
<el-tooltip content="根据诊断搜索医学解释、常见原因及健康指导" placement="top">
<el-button icon="el-icon-cpu" style="margin-left: 2px;min-width:21px;height:21px;padding:2px;"
@click="btnAIdiagnosis(scope.row.diagnosisNames)" :disabled="sumBtnDisabled()"></el-button>
</el-tooltip>
</el-input>
<!--
<el-select v-model="scope.row.diagnosisIds" multiple placeholder="请选择" style="width: 100%;"
:disabled="sumBtnDisabled()" @change="changeDiagnosis" filterable class="no-animation">
:disabled="sumBtnDisabled" @change="changeDiagnosis" filterable class="no-animation">
<el-option v-for="item in diagnosises" :key="item.id" :value="item.id" :label="item.displayName"
:disabled="disabledDiagnosis(item.id, scope.$index)" />
</el-select>
@ -127,12 +127,11 @@
<!--医学解释-->
<div v-if="dispTermReason == 'Y'" style="display: flex;margin-top: 2px;">
<div style="width:60px;">医学解释</div>
<el-tooltip content="新增医学解释" placement="top">
<el-button v-show="checkPagePriv(pagePriv.privs, '新增医学解释')" type="success" icon="el-icon-plus"
style="min-width:21px;height:21px;padding:2px;" @click="addSug(scope.$index, 0)"
:disabled="sumBtnDisabled()">
</el-button>
</el-tooltip>
<!-- <el-tooltip content="新增医学解释" placement="top"></el-tooltip> -->
<el-button v-show="checkPagePriv(pagePriv.privs, '新增医学解释')" type="success" icon="el-icon-plus"
style="min-width:21px;height:21px;padding:2px;" @click="addSug(scope.$index, 0)"
:disabled="sumBtnDisabled">
</el-button>
<el-table :id="'0_sug' + scope.row.id" row-key="displayOrder" style="margin-left: 5px;"
:data="scope.row.medicalInterpretations" border @row-click="rowClickSug0" :show-header="false">
<el-table-column width="30">
@ -146,7 +145,7 @@
<template slot-scope="scope2">
<div @dblclick="openSymbols(scope.$index, 'medicalInterpretations', scope2.$index)">
<el-input type="textarea" v-model="scope2.row.suggestionContent" placeholder="请输入建议内容"
:disabled="sumBtnDisabled()" :autosize="{ minRows: 1, maxRows: 10 }">
:disabled="sumBtnDisabled" :autosize="{ minRows: 1, maxRows: 10 }">
</el-input>
</div>
</template>
@ -154,9 +153,9 @@
<el-table-column label="操作" width="25">
<template slot-scope="scope2">
<el-button v-show="checkPagePriv(pagePriv.privs, '删除医学解释')" type="danger"
style="min-width:21px;height:21px;padding:2px;" icon="el-icon-delete"
style="min-width:21px;height:21px;padding:2px; background-color:red;" icon="el-icon-delete"
@click="delSug(scope.row.medicalInterpretations, scope2.$index)"
:disabled="sumBtnDisabled()" size="small"></el-button>
:disabled="sumBtnDisabled" size="small"></el-button>
</template>
</el-table-column>
</el-table>
@ -167,7 +166,7 @@
<el-tooltip content="新增常见原因" placement="top">
<el-button v-show="checkPagePriv(pagePriv.privs, '新增常见原因')" type="danger" icon="el-icon-plus"
style="min-width:21px;height:21px;padding:2px;" @click="addSug(scope.$index, 1)"
:disabled="sumBtnDisabled()">
:disabled="sumBtnDisabled">
</el-button>
</el-tooltip>
<el-table :id="'1_sug' + scope.row.id" row-key="displayOrder" style="margin-left: 5px;"
@ -183,7 +182,7 @@
<template slot-scope="scope2">
<div @dblclick="openSymbols(scope.$index, 'commonReasons', scope2.$index)">
<el-input type="textarea" v-model="scope2.row.suggestionContent" placeholder="请输入建议内容"
:disabled="sumBtnDisabled()" :autosize="{ minRows: 1, maxRows: 10 }">
:disabled="sumBtnDisabled" :autosize="{ minRows: 1, maxRows: 10 }">
</el-input>
</div>
</template>
@ -191,8 +190,8 @@
<el-table-column label="操作" width="25">
<template slot-scope="scope2">
<el-button v-show="checkPagePriv(pagePriv.privs, '删除常见原因')" type="danger"
style="min-width:21px;height:21px;padding:2px;" icon="el-icon-delete"
@click="delSug(scope.row.commonReasons, scope2.$index)" :disabled="sumBtnDisabled()"
style="min-width:21px;height:21px;padding:2px;background-color:red;" icon="el-icon-delete"
@click="delSug(scope.row.commonReasons, scope2.$index)" :disabled="sumBtnDisabled"
size="small"></el-button>
</template>
</el-table-column>
@ -204,7 +203,7 @@
<el-tooltip content="新增健康指导" placement="top">
<el-button v-show="checkPagePriv(pagePriv.privs, '新增健康指导')" type="danger" icon="el-icon-plus"
style="min-width:21px;height:21px;padding:2px;" @click="addSug(scope.$index, 2)"
:disabled="sumBtnDisabled()">
:disabled="sumBtnDisabled">
</el-button>
</el-tooltip>
<el-table :id="'2_sug' + scope.row.id" row-key="displayOrder" style="margin-left: 5px;"
@ -220,7 +219,7 @@
<template slot-scope="scope2">
<div @dblclick="openSymbols(scope.$index, 'healthGuidances', scope2.$index)">
<el-input type="textarea" v-model="scope2.row.suggestionContent" placeholder="请输入健康指导"
:disabled="sumBtnDisabled()" :autosize="{ minRows: 1, maxRows: 10 }">
:disabled="sumBtnDisabled" :autosize="{ minRows: 1, maxRows: 10 }">
</el-input>
</div>
</template>
@ -228,8 +227,8 @@
<el-table-column label="操作" width="25">
<template slot-scope="scope2">
<el-button v-show="checkPagePriv(pagePriv.privs, '删除健康指导')" type="danger"
style="min-width:21px;height:21px;padding:2px;" icon="el-icon-delete"
@click="delSug(scope.row.healthGuidances, scope2.$index)" :disabled="sumBtnDisabled()"
style="min-width:21px;height:21px;padding:2px;background-color:red;" icon="el-icon-delete"
@click="delSug(scope.row.healthGuidances, scope2.$index)" :disabled="sumBtnDisabled"
size="small"></el-button>
</template>
</el-table-column>
@ -309,6 +308,7 @@ import { mapState } from 'vuex';
import Sortable from "sortablejs";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { getPagePriv, checkPagePriv, deepCopy, arrayExistObj } from '../../utlis/proFunc';
export default {
components: {},
props: ["patientRegisterId", "tabChoosed"],
@ -329,7 +329,8 @@ export default {
collapse: false, // /
dispTermReason: 'N', //
dispTermReason: 'Y', //
dispDiagnsis:'Y', //
dialogWinSymbols: false,
selection: { //
@ -361,19 +362,35 @@ export default {
if (userPriv) this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName))
//
// ( 0-1-2-)
// ()
postapi('/api/app/SysParmValue/GetSysParmValueBySysParmId', { sysParmId: 'summary_check_disp_reas' })
.then(res => {
if (res.code > -1) {
this.dispTermReason = res.data || "Y"
}
})
// ()
postapi('/api/app/SysParmValue/GetSysParmValueBySysParmId', { sysParmId: 'summary_check_disp_diagnsis' })
.then(res => {
if (res.code > -1) {
this.dispDiagnsis = res.data || "Y"
}
})
this.AI.height = this.frameHeight
},
//
async mounted() {
// Electron
if (this.$peisAPI) {
this.$peisAPI.onContextMenuAction((data) => {
this.onContextMenuDIY(data)
});
}
// this.rowDrop();
this.rowDropSuggestion();
@ -405,7 +422,52 @@ export default {
// AIdiagnosisHeight
AIDH() {
return Math.floor((this.AI.height - 24 - 42 - 4) / 21.5)
}
},
sumBtnDisabled(){
let patientRegister = this.dataTransOpts.tableS.patient_register
let ret = true
//' '
if (!patientRegister.id) return ret
// ''
if (patientRegister?.isLock == 'Y') return ret
// console.log('btnType', btnType, this.summary_check_default_summay_modifiable)
if (patientRegister.completeFlag && patientRegister.completeFlag != '3') ret = false
return ret
},
sumBtnDisabledAddSummary(){
let patientRegister = this.dataTransOpts.tableS.patient_register
let ret = true
//' '
if (!patientRegister.id) return ret
// ''
if (patientRegister?.isLock == 'Y') return ret
if (patientRegister.completeFlag && patientRegister.completeFlag != '3' && this.summary_check_default_summay_modifiable == 'Y') {
return false;
} else {
return true;
}
},
sumBtnDisabledCollapse(){
let patientRegister = this.dataTransOpts.tableS.patient_register
let ret = true
//' '
if (!patientRegister.id) return ret
// ''
if (patientRegister?.isLock == 'Y') return ret
return false
},
},
methods: {
@ -417,6 +479,12 @@ export default {
// e.style.height = 'auto'; //
// });
// },
//
onContextMenuDIY(data){
this.$message({showClose:true,message:data})
},
//
async dictInit() {
@ -470,6 +538,7 @@ export default {
let pojo = {
id,
patientRegisterId: this.dataTransOpts.tableS.patient_register.id,
suggestionTitle: '',
diagnosisIds: [],
medicalInterpretations: [
{
@ -744,37 +813,7 @@ export default {
}
});
},
//
sumBtnDisabled(btnType) {
let patientRegister = this.dataTransOpts.tableS.patient_register
let ret = true
//' '
if (!patientRegister.id) return ret
// ''
if (patientRegister.isLock && patientRegister.isLock == 'Y') return ret
// console.log('btnType', btnType, this.summary_check_default_summay_modifiable)
switch (btnType) {
case 'collapse':
return false;
case 'addSummary':
if (patientRegister.completeFlag && patientRegister.completeFlag != '3' && this.summary_check_default_summay_modifiable == 'Y') {
return false;
} else {
return true;
}
default:
break;
}
if (patientRegister.completeFlag && patientRegister.completeFlag != '3') ret = false
return ret
},
//
changeDiagnosis(v) {
// console.log('changeDiagnosis', v)
@ -1197,7 +1236,24 @@ export default {
return
}
console.log('this.$peisAPI.contextMenuForPeis()')
/*
let menus = [
{ label: '测试菜单', itemId: '测试菜单', enabled: true }
]
this.$peisAPI.showContextMenu(menus)
.then(res => {
console.log('res', res)
})
.catch(err => {
console.log('err', err)
})
.finally(() => {
console.log('finally')
})
*/
// console.log('this.$peisAPI.contextMenuForPeis()')
this.$peisAPI.contextMenuForPeis()
.then(res => {
console.log('res', res)
@ -1361,5 +1417,6 @@ export default {
::v-deep .diagnosisSelect .el-select-dropdown__wrap {
background-color: #FFF;
max-height: 288px;
max-width: 780px;
}
</style>

985
src/views/diagnosis/diagnosis.vue
File diff suppressed because it is too large
View File

3
src/views/fee-settings/Asbitem.vue

@ -544,6 +544,7 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<el-form-item label="疾病筛查类别" prop="" label-width="100px">
<el-select v-model="form.diseaseScreeningTypeId" placeholder="请选择" size="small" @change="quckRusetform">
@ -2174,7 +2175,7 @@ export default {
}
.seachinput {
width: 250px;
width: 350px;
margin-right: 110px;
}

10
src/views/fee-settings/Item.vue

@ -692,7 +692,7 @@
<el-col :span="8">
<el-form-item label="诊断编号">
<el-select v-model="rusetform.diagnosisId" placeholder="请选择" filterable :filter-method="remoteMethod"
clearable @change="quckRusetforms" default-first-option size="small">
clearable @change="quckRusetforms" default-first-option size="small" popper-class="dddwSelect" :popper-append-to-body="false">
<el-option v-for="item in quickAsb" :key="item.id" :label="item.displayName" :value="item.id">
</el-option>
</el-select>
@ -2732,10 +2732,16 @@ export default {
}
.seachinput {
width: 250px;
width: 350px;
margin-right: 110px;
}
::v-deep .dddwSelect .el-select-dropdown__wrap {
background-color: #FFF;
max-height: 600px;
max-width: 350px;
}
:deep .seachinput .el-select {
width: 100%;
}

Loading…
Cancel
Save