pengjun 2 years ago
parent
commit
cfdce3db8f
  1. 16
      src/components/doctorCheck/CheckItemList.vue
  2. 19
      src/components/patientRegister/PatientRegisterEdit.vue
  3. 2
      src/components/sumDoctorCheck/CheckDetails.vue
  4. 109
      src/components/sumDoctorCheck/SumItems.vue
  5. 4
      src/views/doctorCheck/sumDoctorCheck.vue

16
src/components/doctorCheck/CheckItemList.vue

@ -6,7 +6,7 @@
<el-table-column prop="result" label="结果" min-width="200">
<template slot-scope="scope">
<div style="display: flex;">
<el-autocomplete style="width: 100%;" type="textarea" v-model="scope.row.result" placeholder="请输入结果值"
<el-autocomplete style="width: 100%;font: 14px 'Microsoft YaHei';" type="textarea" v-model="scope.row.result" placeholder="请输入结果值"
:disabled="rowResultDisabled(scope.row)" :autosize="{ minRows: 1, maxRows: 10 }" :trigger-on-focus="false"
:fetch-suggestions="querySearch" :data-lineModeFlag="scope.row.lineModeFlag"
@input="madeTooltips(scope.$index); computeFun(scope.$index)" v-bind:class="scope.row.class">
@ -34,14 +34,14 @@
<div style="overflow-y:auto; height:300px;width:100%;display: flex;flex-wrap: wrap;align-content: flex-start;">
<div v-for="item in moreResult.data" :key="item.id" style="margin: 5px;cursor:pointer;"
@click="clickResult(item)" @dblclick="dblclickResult(item)">
<el-tag size="samll" style="color: #303133;">{{ item.result }}</el-tag>
<el-tag size="samll" style="padding: 0 3px;height: 24px;line-height: 24px;font-size: 14px; color: #303133;background-color: white;">{{ item.result }}</el-tag>
</div>
</div>
<div>特殊符号</div>
<div style="overflow-y:auto; width:100%;display: flex;flex-wrap: wrap;align-content: flex-start;">
<div v-for="item in symbols" :key="item.id" style="margin: 1px; 2px;cursor:pointer;"
@click="insertSymbols(item.displayName)">
<el-tag style="padding: 0 3px;height: 24px;line-height: 24px;font-size: 15px;color: #303133;">
<el-tag style="padding: 0 3px;height: 24px;line-height: 24px;font-size: 15px;color: #303133;background-color: white;">
{{ item.displayName }}
</el-tag>
</div>
@ -596,60 +596,70 @@ export default {
::v-deep .tipsNormal .el-textarea__inner {
background-color: v-bind("tipsNormal.backgroundColor") !important;
color: v-bind("tipsNormal.color") !important;
font-family: "Microsoft YaHei";
}
/*错误*/
::v-deep .tipsError .el-textarea__inner {
background-color: v-bind("tipsError.backgroundColor") !important;
color: v-bind("tipsError.color") !important;
font-family: "Microsoft YaHei";
}
/*阴性 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */
::v-deep .tipsNegative .el-textarea__inner {
background-color: v-bind("tipsNegative.backgroundColor") !important;
color: v-bind("tipsNegative.color") !important;
font-family: "Microsoft YaHei";
}
/*弱阳性 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */
::v-deep .tipsLowPositive .el-textarea__inner {
background-color: v-bind("tipsLowPositive.backgroundColor") !important;
color: v-bind("tipsLowPositive.color") !important;
font-family: "Microsoft YaHei";
}
/*阳性 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */
::v-deep .tipsPositive .el-textarea__inner {
background-color: v-bind("tipsPositive.backgroundColor") !important;
color: v-bind("tipsPositive.color") !important;
font-family: "Microsoft YaHei";
}
/*偏低 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */
::v-deep .tipsLow .el-textarea__inner {
background-color: v-bind("tipsLow.backgroundColor") !important;
color: v-bind("tipsLow.color") !important;
font-family: "Microsoft YaHei";
}
/*偏高 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */
::v-deep .tipsHigh .el-textarea__inner {
background-color: v-bind("tipsHigh.backgroundColor") !important;
color: v-bind("tipsHigh.color") !important;
font-family: "Microsoft YaHei";
}
/*超低 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */
::v-deep .tipsSuperLow .el-textarea__inner {
background-color: v-bind("tipsSuperLow.backgroundColor") !important;
color: v-bind("tipsSuperLow.color") !important;
font-family: "Microsoft YaHei";
}
/*超高 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */
::v-deep .tipsSuperHigh .el-textarea__inner {
background-color: v-bind("tipsSuperHigh.backgroundColor") !important;
color: v-bind("tipsSuperHigh.color") !important;
font-family: "Microsoft YaHei";
}
/*文字性危及值 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */
::v-deep .tipsSuper .el-textarea__inner {
background-color: v-bind("tipsSuper.backgroundColor") !important;
color: v-bind("tipsSuper.color") !important;
font-family: "Microsoft YaHei";
}
</style>

19
src/components/patientRegister/PatientRegisterEdit.vue

@ -156,9 +156,9 @@
</el-col>
<el-col :span="3">
<el-form-item label="民族" prop="nationId" label-width="50px">
<el-select v-model="form.nationId" placeholder="请选择" filterable clearable
default-first-option :filter-method="filterMethod"
:style="'width:' + Math.floor((window.pageWidth - 630) / 8) + 'px;'" size="small">
<el-select v-model="form.nationId" placeholder="请选择" filterable clearable default-first-option
:filter-method="filterMethod" :style="'width:' + Math.floor((window.pageWidth - 630) / 8) + 'px;'"
size="small">
<el-option v-for="item in nation" :key="item.id" :label="item.displayName" :value="item.id" />
</el-select>
</el-form-item>
@ -406,7 +406,8 @@
<el-button type="success" class="commonbutton" @click="toCharge(form)" :disabled="!form.id">收费</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '收费申请')" class="btn">
<el-button type="success" class="commonbutton" @click="chargeRequest(form)" :disabled="!form.id">收费申请</el-button>
<el-button type="success" class="commonbutton" @click="chargeRequest(form)"
:disabled="!form.id">收费申请</el-button>
</div>
<!--
<div class="btn">
@ -500,8 +501,8 @@
</el-dialog>
<!-- 收费申请 -->
<el-dialog title="收费申请" :visible.sync="dialogWin.AsbChargeRequest" width="800px"
:show-close="false" :close-on-click-modal="false" :append-to-body="true" @close="closeDialogCharge">
<el-dialog title="收费申请" :visible.sync="dialogWin.AsbChargeRequest" width="800px" :show-close="false"
:close-on-click-modal="false" :append-to-body="true" @close="closeDialogCharge">
<AsbChargeRequest :patientRegister="form" />
</el-dialog>
</div>
@ -949,7 +950,8 @@ export default {
this.form.customerOrgRegisterId = customerOrgRegisterList[customerOrgRegisterList.length - 1].id
}
}
if (this.form.customerOrgRegisterId) return getapi(`/api/app/customerorggroup/getlistinfilter?CustomerOrgRegisterId=${this.form.customerOrgRegisterId}`) //
// /api/app/customerorggroup/getlistinfilter?CustomerOrgRegisterId=${this.form.customerOrgRegisterId}
if (this.form.customerOrgRegisterId) return postapi('/api/app/CustomerOrgGroup/GetListForPatentRegisterByFilter', { customerOrgRegisterId: this.form.customerOrgRegisterId }) //
}
}).then(res => {
if (res && res.code != -1) {
@ -1077,7 +1079,8 @@ export default {
//
getCustomerOrgGroup(customerOrgRegisterId) {
this.patientRegister.customerOrgGroup = []
getapi(`/api/app/customerorggroup/getlistinfilter?CustomerOrgRegisterId=${customerOrgRegisterId}`).then(res => {
// /api/app/customerorggroup/getlistinfilter?CustomerOrgRegisterId=${customerOrgRegisterId}`
postapi('/api/app/CustomerOrgGroup/GetListForPatentRegisterByFilter', { customerOrgRegisterId }).then(res => {
if (res.code != - 1) {
this.patientRegister.customerOrgGroup = res.data;
}

2
src/components/sumDoctorCheck/CheckDetails.vue

@ -9,7 +9,7 @@
<table v-for="(item2, index2) in item.asbitems" :key="index + '-' + index2" width="100%" border="1"
cellspacing="0" bordercolor="#909399" style="border-collapse:collapse;">
<tr height="24">
<td width="200">{{ item2.asbitemName }}</td>
<td width="200">{{ item2.asbitemNames }}</td>
<td width="604" colspan="7">{{ '检查日期:' + item2.checkDate.substring(0,10) + ' 检查医生:' + item2.checkDoctorName }}</td>
</tr>

109
src/components/sumDoctorCheck/SumItems.vue

@ -12,8 +12,7 @@
style="font-size: 18px;color: red;" />
</el-tooltip>
<el-tooltip class="item" effect="dark" content="已检" placement="top">
<i v-show="scope.row.completeFlag == '1'" class="el-icon-success"
style="font-size: 18px;color: green;" />
<i v-show="scope.row.completeFlag == '1'" class="el-icon-success" style="font-size: 18px;color: green;" />
</el-tooltip>
<el-tooltip class="item" effect="dark" content="弃检" placement="top">
<i v-show="scope.row.completeFlag == '2'" class="el-icon-remove" style="font-size: 18px;" />
@ -25,14 +24,42 @@
</el-table>
</div>
<div :style="'width:' + (window.pageWidth - 180 - 110 - 15) + 'px;'">
<!--
<el-table :data="tableData" :height="divHeight" border highlight-current-row>
<el-table-column prop="itemName" label="项目" width="150" />
<el-table-column prop="unitName" label="单位" width="80" align="center" />
<el-table-column prop="referenceRangeValue" label="参考范围" width="80" align="center" />
<el-table-column v-for="(item, index) of tableCols" :label="item" :prop="item" :key="index" min-width="150"
<el-table-column v-for="(item, index) of tableCols" :label="item.substring(0,10)" :prop="item" :key="index" min-width="150"
align="center">
<template slot-scope="scope">
<div>{{ scope.row[item] }}</div>
</template>
</el-table-column>
</el-table>
-->
<table width="100%" style="font-size:14px;text-align: center;border-collapse:collapse;" border="1"
cellspacing="0" bordercolor="#909399" >
<col width="150">
<col width="50">
<col width="80">
<thead>
<tr height="30">
<td width="150">项目</td>
<td width="50">单位</td>
<td width="80">参考范围</td>
<td v-for="(item, index) of tableCols" :key="index" min-width="150">{{ item.substring(0, 10) }}</td>
</tr>
</thead>
<tbody v-for="(item, index) of tableData" :key="index">
<tr height="30">
<td style="text-align: left;font-weight: bolder;"><div style="padding: 0 5px;">{{ item.itemName }}</div></td>
<td>{{ item.unitName }}</td>
<td>{{ item.referenceRangeValue }}</td>
<td v-for="(item2, index2) of tableCols" :key="index2" min-width="150">{{ item[item2] }}</td>
</tr>
</tbody>
</table>
</div>
</div>
</template>
@ -85,8 +112,8 @@ export default {
registerCheckList(patientId) {
this.RegisterCheckList = []
if (!patientId) return
console.log(`/api/app/sumsummaryreport/gethorizontalcomparisonasbitemlist?PatientId=${patientId}`)
getapi(`/api/app/sumsummaryreport/gethorizontalcomparisonasbitemlist?PatientId=${patientId}`)
// console.log(`/api/app/sumsummaryreport/gethorizontalcomparisonasbitemlist?PatientId=${patientId}`)
postapi('/api/app/SumSummaryReport/GetHorizontalComparisonAsbitems', { patientId })
.then((res) => {
console.log("获取横向对比 SumItems", res.data);
if (res.code != -1) {
@ -114,8 +141,8 @@ export default {
// "checkDate": "2023-07-14",
// "resultValue": ""
SumItems(patientId, asbitemId) {
console.log(`/api/app/sumsummaryreport/gethorizontalcomparisonlist?PatientId=${patientId}&AsbitemId=${asbitemId}`)
getapi(`/api/app/sumsummaryreport/gethorizontalcomparisonlist?PatientId=${patientId}&AsbitemId=${asbitemId}`)
// console.log(`/api/app/sumsummaryreport/gethorizontalcomparisonlist?PatientId=${patientId}&AsbitemId=${asbitemId}`)
postapi('/api/app/SumSummaryReport/GetHorizontalComparisons', { patientId, asbitemId })
.then((res) => {
console.log("获取横向对比 SumItems", res.data);
if (res.code != -1) {
@ -128,8 +155,8 @@ export default {
},
//
crossTableOld(tableData) {
crossTable(tableData) {
this.tableData = [] //
this.tableRows = [] //
this.tableCols = [] //
@ -137,7 +164,8 @@ export default {
// console.log('tableData', tableData)
tableData.forEach(e => {
if (this.tableRows.indexOf(e.itemName) == - 1) this.tableRows.push(e.itemName)
if (this.tableCols.indexOf(e.checkDate) == - 1) this.tableCols.push(e.checkDate)
let checkDate = e.checkDate.substring(0, 10)
if (this.tableCols.indexOf(checkDate) == - 1) this.tableCols.push(checkDate)
});
this.tableCols.sort();
@ -164,7 +192,70 @@ export default {
// console.log('this.tableCols', this.tableCols)
// console.log('this.tableData', this.tableData)
},
crossTable(tableData) {
// [
// {
// "regsterCheckId": "00000000-0000-0000-0000-000000000000",
// "checkDate": "2018-06-08T00:00:00",
// "summarys": [
// {
// "summary": ":23.89 "
// }
// ],
// "registerCheckItems": [
// {
// "itemName": "",
// "unitName": "",
// "referenceRangeValue": "",
// "resultValue": "176",
// "reportFontColor": 0
// }
this.tableData = [] //
this.tableCols = [] //
// console.log('tableData', tableData)
// this.tableCols.push('itemName')
// this.tableCols.push('unitName')
// this.tableCols.push('referenceRangeValue')
let summary = { itemName: '小结', unitName: '', referenceRangeValue: '' }
tableData.forEach((e, i) => {
let lsummary = ''
e.summarys.forEach((s, i) => {
let splitStr = '<br>'
if (i == 0) splitStr = ''
lsummary += splitStr + (s.summary || '')
});
summary[e.checkDate] = lsummary
//
if (this.tableCols.indexOf(e.checkDate) == - 1) this.tableCols.push(e.checkDate)
//
let row = {}
e.registerCheckItems.forEach(r => {
let lfind = arrayExistObj(this.tableData, 'itemName', r.itemName)
if (lfind > -1) {
this.tableData[lfind][e.checkDate] = r.resultValue
this.tableData[lfind][e.checkDate + '_color'] = r.reportFontColor
} else {
row = {
itemName: r.itemName,
unitName: r.unitName,
referenceRangeValue: r.referenceRangeValue
}
row[e.checkDate] = r.resultValue
row[e.checkDate + '_color'] = r.reportFontColor
this.tableData.push(row)
}
})
});
this.tableData.push(summary)
},
},

4
src/views/doctorCheck/sumDoctorCheck.vue

@ -37,11 +37,11 @@
</el-tab-pane>
<!--
<el-tab-pane label="危急值" name="3"> </el-tab-pane>
-->
<el-tab-pane label="项目对比" name="4">
<SumItemsType :patientId="dataTransOpts.tableS.patient_register.patientId" />
</el-tab-pane>
<el-tab-pane label="横向对比" name="5">
-->
<el-tab-pane label="历次结果" name="5">
<SumItems :patientId="dataTransOpts.tableS.patient_register.patientId" />
</el-tab-pane>
<el-tab-pane label="历次综述" name="6">

Loading…
Cancel
Save