|
|
|
@ -1,24 +1,57 @@ |
|
|
|
<template> |
|
|
|
<div> |
|
|
|
<el-table :data="doctorCheck.checkItemList" style="width: 100%" :height="window.pageHeight < 600 |
|
|
|
? Math.floor(((420 - (isCheckPicture ? 110 : 0)) * 3) / 5) |
|
|
|
: Math.floor(((window.pageHeight - 260 - (isCheckPicture ? 110 : 0)) * 3) / 5) |
|
|
|
" border highlight-current-row @row-click="rowClick" size="small"> |
|
|
|
<el-table :data="doctorCheck.checkItemList" style="width: 100%" :height="tableHeight" border highlight-current-row |
|
|
|
@row-click="rowClick" size="small"> |
|
|
|
<el-table-column prop="itemName" label="项目" width="180" /> |
|
|
|
<el-table-column prop="result" label="结果" min-width="200"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-autocomplete style="width: 100%;" type="textarea" v-model="scope.row.result" |
|
|
|
:fetch-suggestions="querySearch" placeholder="请输入结果值" @select="handleSelect" :disabled="scope.row.isCalculationItem == 'Y' || |
|
|
|
doctorCheck.RegisterCheckEdit.completeFlag == '1' || |
|
|
|
doctorCheck.RegisterCheckEdit.completeFlag == '2' |
|
|
|
" :autosize="{ minRows: 1, maxRows: 100 }" :data-lineModeFlag="scope.row.lineModeFlag" |
|
|
|
@input="madeTooltips(scope.$index); computeFun(scope.$index)" v-bind:class="scope.row.class" /> |
|
|
|
<div style="display: flex;"> |
|
|
|
<el-input v-if="scope.row.lineModeFlag == '0'" style="width: 100%;" v-model="scope.row.result" |
|
|
|
placeholder="请输入结果值" @select="handleSelect" :disabled="rowResultDisabled(scope.row)" |
|
|
|
:data-lineModeFlag="scope.row.lineModeFlag" size="small" |
|
|
|
@input="madeTooltips(scope.$index); computeFun(scope.$index)" v-bind:class="scope.row.class"> |
|
|
|
</el-input> |
|
|
|
<el-input v-else style="width: 100%;" type="textarea" v-model="scope.row.result" placeholder="请输入结果值" |
|
|
|
@select="handleSelect" :disabled="rowResultDisabled(scope.row)" :autosize="{ minRows: 2, maxRows: 100 }" |
|
|
|
:data-lineModeFlag="scope.row.lineModeFlag" @input="madeTooltips(scope.$index); computeFun(scope.$index)" |
|
|
|
v-bind:class="scope.row.class"> |
|
|
|
</el-input> |
|
|
|
|
|
|
|
<el-button type="danger" 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> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="unit" label="单位" width="80" align="center" /> |
|
|
|
<el-table-column prop="referenceRangeValue" label="参考范围" width="80" align="center" /> |
|
|
|
<el-table-column prop="tooltips" label="提示" width="40" align="center" /> |
|
|
|
</el-table> |
|
|
|
|
|
|
|
<!--弹窗--> |
|
|
|
<div> |
|
|
|
<!-- 体检人员登记 --> |
|
|
|
<el-dialog title="结果录入模版" :visible.sync="dialogWinMoreResult" width="800px" :close-on-click-modal="false" |
|
|
|
@close="close_dialogWinMoreResult"> |
|
|
|
<div style="margin-top: -10px;"> |
|
|
|
<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"> |
|
|
|
<i class="el-icon-star-off" style="padding-right: 10px;"></i>{{ item.result }} |
|
|
|
</el-tag> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div>录入结果:</div> |
|
|
|
<el-input style="width: 100%;" type="textarea" :autosize="{ minRows: 4, maxRows: 4 }" |
|
|
|
v-model="moreResult.result" /> |
|
|
|
</div> |
|
|
|
<span slot="footer" class="dialog-footer"> |
|
|
|
<el-button type="primary" @click="btnOkResult">确 定</el-button> |
|
|
|
<el-button @click="dialogWinMoreResult = false">关闭</el-button> |
|
|
|
</span> |
|
|
|
</el-dialog> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
<script> |
|
|
|
@ -53,6 +86,13 @@ export default { |
|
|
|
|
|
|
|
restaurants: [], //结果模版 |
|
|
|
currentRow: -1, //当前操作的行 |
|
|
|
|
|
|
|
dialogWinMoreResult: false, |
|
|
|
moreResult: { |
|
|
|
data: [], |
|
|
|
result: '', |
|
|
|
index: 0, // 明细序列 |
|
|
|
}, //结果模版 |
|
|
|
}; |
|
|
|
}, |
|
|
|
|
|
|
|
@ -65,6 +105,12 @@ export default { |
|
|
|
|
|
|
|
computed: { |
|
|
|
...mapState(["window", "dataTransOpts", "dict", "doctorCheck"]), |
|
|
|
|
|
|
|
tableHeight() { |
|
|
|
let temp = this.window.pageHeight < 600 ? 600 : this.window.pageHeight |
|
|
|
return Math.floor((temp - 260 - (this.isCheckPicture ? 110 : 0)) * 3 / 5); |
|
|
|
}, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
methods: { |
|
|
|
@ -210,6 +256,11 @@ export default { |
|
|
|
// console.log(`this.${tooltips}`,this[tooltips]) |
|
|
|
}, |
|
|
|
|
|
|
|
// 行结果是否可编辑 |
|
|
|
rowResultDisabled(row) { |
|
|
|
return row.isCalculationItem == 'Y' || this.doctorCheck.RegisterCheckEdit.completeFlag == '1' || this.doctorCheck.RegisterCheckEdit.completeFlag == '2' |
|
|
|
}, |
|
|
|
|
|
|
|
//项目列为计算函数 |
|
|
|
computeFun(index) { |
|
|
|
let checkItem = this.doctorCheck.checkItemList[index] |
|
|
|
@ -243,6 +294,50 @@ export default { |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
// 点击结果模版按钮 |
|
|
|
btnMoreResult(row, index) { |
|
|
|
this.moreResult.data = deepCopy(row.itemResultTemplates) |
|
|
|
this.moreResult.result = row.result |
|
|
|
this.moreResult.index = index |
|
|
|
// "itemId": "3a0c517f-cbdb-9fff-e300-1f76b3e47580", |
|
|
|
// "result": "00000", |
|
|
|
// "diagnosisId": "3a0ed8a2-72d9-ee50-78aa-5b1f474f2921", |
|
|
|
// "isNameIntoSummary": "N", |
|
|
|
// "isResultIntoSummary": "Y", |
|
|
|
// "resultStatusId": "01", |
|
|
|
// "simpleCode": "0" |
|
|
|
|
|
|
|
this.dialogWinMoreResult = true |
|
|
|
|
|
|
|
}, |
|
|
|
// 单击选择结果模版的结果 |
|
|
|
dblclickResult(item) { |
|
|
|
this.moreResult.result = '' |
|
|
|
this.clickResult(item) |
|
|
|
this.btnOkResult() |
|
|
|
}, |
|
|
|
// 单击选择结果模版的结果 |
|
|
|
clickResult(item) { |
|
|
|
let result = [] |
|
|
|
if (this.moreResult.result) result = this.moreResult.result.split(';') |
|
|
|
if (result.indexOf(item.result) > -1) return |
|
|
|
result.push(item.result) |
|
|
|
let ret = '' |
|
|
|
result.forEach((e, i) => { |
|
|
|
let splitStr = ';' |
|
|
|
if (i == 0) splitStr = '' |
|
|
|
ret += splitStr + e |
|
|
|
}); |
|
|
|
this.moreResult.result = ret |
|
|
|
}, |
|
|
|
|
|
|
|
btnOkResult() { |
|
|
|
this.doctorCheck.checkItemList[this.moreResult.index].result = this.moreResult.result |
|
|
|
this.madeTooltips(this.moreResult.index); |
|
|
|
this.computeFun(this.moreResult.index) |
|
|
|
this.dialogWinMoreResult = false |
|
|
|
}, |
|
|
|
|
|
|
|
//选择项目 |
|
|
|
rowClick(row) { |
|
|
|
this.doctorCheck.checkItem = row; |
|
|
|
|