pengjun 3 weeks ago
parent
commit
5dc9999f01
  1. 29
      src/components/sumDoctorCheck/CheckDetails.vue
  2. 213
      src/components/sumDoctorCheck/SumSug.vue

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
},

213
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>
@ -329,7 +328,8 @@ export default {
collapse: false, // /
dispTermReason: 'N', //
dispTermReason: 'Y', //
dispDiagnsis:'Y', //
dialogWinSymbols: false,
selection: { //
@ -361,19 +361,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 +421,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 +478,12 @@ export default {
// e.style.height = 'auto'; //
// });
// },
//
onContextMenuDIY(data){
this.$message({showClose:true,message:data})
},
//
async dictInit() {
@ -470,6 +537,7 @@ export default {
let pojo = {
id,
patientRegisterId: this.dataTransOpts.tableS.patient_register.id,
suggestionTitle: '',
diagnosisIds: [],
medicalInterpretations: [
{
@ -744,37 +812,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,8 +1235,11 @@ export default {
return
}
console.log('this.$peisAPI.contextMenuForPeis()')
this.$peisAPI.contextMenuForPeis()
let menus = [
{ label: '测试菜单', itemId: '测试菜单', enabled: true }
]
this.$peisAPI.showContextMenu(menus)
.then(res => {
console.log('res', res)
})
@ -1209,6 +1250,18 @@ export default {
console.log('finally')
})
// console.log('this.$peisAPI.contextMenuForPeis()')
// this.$peisAPI.contextMenuForPeis()
// .then(res => {
// console.log('res', res)
// })
// .catch(err => {
// console.log('err', err)
// })
// .finally(() => {
// console.log('finally')
// })
/*
let items = [
{

Loading…
Cancel
Save