diff --git a/src/components/doctorCheck/CheckItemList.vue b/src/components/doctorCheck/CheckItemList.vue index d74d4dd..3c3966f 100644 --- a/src/components/doctorCheck/CheckItemList.vue +++ b/src/components/doctorCheck/CheckItemList.vue @@ -14,7 +14,7 @@ @@ -57,6 +57,24 @@ export default { data() { return { resultStatus:[], //结果状态提示数据 + tipsNormal:{ + displayName: "正常", + dataInputPrompt: "正常", + reportPrompt: "正常", + reportBackgroundColor: 16777215, + reportFontColor: 0, + dataInputBackgroundColor: 16777215, + dataInputFontColor: 0, + }, //正常提示 + tipsError:{}, //错误提示 + tipsNegative:{}, //阴性提示 + tipsLowPositive:{}, //弱阳性提示 + tipsPositive:{}, //阳性提示 + tipsLow:{}, //偏低提示 + tipsHigh:{}, //偏高提示 + tipsSuperLow:{}, //超低提示 + tipsSuperHigh:{}, //超高提示 + restaurants: [], //结果模版 currentRow: -1, //当前操作的行 }; @@ -78,9 +96,125 @@ export default { dictInit(){ //获取结果状态提示数据 getapi('/api/app/result-status').then(res =>{ - if(res.code != -1) resultStatus = res.data.items + if(res.code != -1){ + this.resultStatus = res.data.items + this.resultStatus.forEach(e => { + if(e.displayName.indexOf("正常") > -1){ + this.colorTrans(e,'tipsNormal') + }else if(e.displayName.indexOf("错误") > -1){ + this.colorTrans(e,'tipsError') + }else if(e.displayName.indexOf("阴性") > -1){ + this.colorTrans(e,'tipsNegative') + }else if(e.displayName.indexOf("弱阳性") > -1){ + this.colorTrans(e,'tipsLowPositive') + }else if(e.displayName.indexOf("阳性") > -1){ + this.colorTrans(e,'tipsPositive') + }else if(e.displayName.indexOf("偏低") > -1){ + this.colorTrans(e,'tipsLow') + }else if(e.displayName.indexOf("偏高") > -1){ + this.colorTrans(e,'tipsHigh') + }else if(e.displayName.indexOf("危急值下限") > -1){ + this.colorTrans(e,'tipsSuperLow') + }else if(e.displayName.indexOf("危急值上限") > -1){ + this.colorTrans(e,'tipsSuperHigh') + } + }); + } }) }, + + // 颜色转换 + // displayName: "错误", + // dataInputPrompt: "×", + // reportPrompt: "×", + // reportBackgroundColor: 2427166, + // reportFontColor: 1070166, + // dataInputBackgroundColor: 321313, + // dataInputFontColor: 12991019, + colorTrans(dataColor,frontColor){ + let tempColor = '000000' + Number(dataColor.dataInputBackgroundColor).toString(16) + let backgroundColor = '#' + tempColor.substring(tempColor.length - 6) + tempColor = '000000' + Number(dataColor.dataInputFontColor).toString(16) + let color = '#' + tempColor.substring(tempColor.length - 6) + this[frontColor] = Object.assign( + {}, + dataColor, + {backgroundColor,color} + ) + console.log(`this.${frontColor}`,this[frontColor]) + }, + + // "referenceRangeValue": "15-55", + // "referenceRangeTypeFlag": "1", + // "criticalRangeValue": null, + // "result" + madeTooltips(index){ + // let ts = confirm('提示') + let checkItem = this.doctorCheck.checkItemList[index] + let tooltips = 'tipsNormal' + checkItem.class = tooltips + let referenceRangeTypeFlag = checkItem.referenceRangeTypeFlag||'0' //参考范围类别0-无参考范围,1-数字型,2-字符型,3-性激素 + // console.log('madeTooltips',index,referenceRangeTypeFlag) + switch (referenceRangeTypeFlag) { + case '3': // 1 是数字型,3 是性激素期 + case '1': + // console.log('1、3') + if(checkItem.result && checkItem.referenceRangeValue){ + let tempResult = checkItem.result.replaceAll('<','').replaceAll('>','').replaceAll('=','').replaceAll('≤','').replaceAll('≥','').replaceAll(' ','') + // console.log('tempResult',isNaN(tempResult),tempResult) + if(isNaN(tempResult)) break; + let result = Number(tempResult) + let criticalRangeValue = checkItem.criticalRangeValue + let valueArr = checkItem.referenceRangeValue.split('-') + if(valueArr.length == 1) valueArr.unshift(0) + // console.log('valueArr',checkItem.referenceRangeValue,valueArr) + if(criticalRangeValue){ + let criticalArr = criticalRangeValue.split('-') + if(criticalArr.length == 1) criticalArr.unshift(0) + + // console.log('criticalArr',checkItem.criticalRangeValue,criticalArr) + + if(result < Number(criticalArr[0])){ + tooltips = 'tipsSuperLow' + }else if(result > Number(criticalArr[1])){ + tooltips = 'tipsSuperHigh' + }else if(result < Number(valueArr[0])){ + tooltips = 'tipsLow' + }else if(result > Number(valueArr[1])){ + tooltips = 'tipsHigh' + } + }else{ + if(result < Number(valueArr[0])){ + tooltips = 'tipsLow' + }else if(result > Number(valueArr[1])){ + tooltips = 'tipsHigh' + } + } + } + break; + case '2': + if(checkItem.result){ + if(checkItem.result.indexOf('阴性') > -1 || checkItem.result.indexOf('-') > -1){ + tooltips = 'tipsNegative' + }else if(checkItem.result.indexOf('弱阳性') > -1 || checkItem.result.indexOf('±') > -1){ + tooltips = 'tipsLowPositive' + }else if(checkItem.result.indexOf('阳性') > -1 || checkItem.result.indexOf('+') > -1){ + tooltips = 'tipsPositive' + } + } + break; + default: + break; + } + + // 判断后重新赋值 + checkItem.class = tooltips + checkItem.tooltips = this[tooltips].dataInputPrompt + + // console.log('checkItem',checkItem) + // console.log(`this.${tooltips}`,this[tooltips]) + }, + //选择项目 rowClick(row) { this.doctorCheck.checkItem = row; @@ -213,54 +347,59 @@ export default { padding: 2px 15px 2px 2px; } +/*正常*/ +::v-deep .tipsNormal .el-textarea__inner { + background-color: v-bind("tipsNormal.backgroundColor") !important; + color: v-bind("tipsNormal.color") !important; +} /*错误*/ -::v-deep .error .el-textarea__inner { - background-color: yellow !important; - color: red !important; +::v-deep .tipsError .el-textarea__inner { + background-color: v-bind("tipsError.backgroundColor") !important; + color: v-bind("tipsError.color") !important; } /*阴性 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */ -::v-deep .negative .el-textarea__inner { - background-color: yellow !important; - color: red !important; +::v-deep .tipsNegative .el-textarea__inner { + background-color: v-bind("tipsNegative.backgroundColor") !important; + color: v-bind("tipsNegative.color") !important; } -/*阳性 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */ -::v-deep .positive .el-textarea__inner { - background-color: yellow !important; - color: red !important; +/*弱阳性 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; } -/*弱阳性 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */ -::v-deep .lowPositive .el-textarea__inner { - background-color: yellow !important; - color: red !important; +/*阳性 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; } /*偏低 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */ -::v-deep .low .el-textarea__inner { - background-color: yellow !important; - color: red !important; +::v-deep .tipsLow .el-textarea__inner { + background-color: v-bind("tipsLow.backgroundColor") !important; + color: v-bind("tipsLow.color") !important; } /*偏高 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */ -::v-deep .high .el-textarea__inner { - background-color: yellow !important; - color: red !important; +::v-deep .tipsHigh .el-textarea__inner { + background-color: v-bind("tipsHigh.backgroundColor") !important; + color: v-bind("tipsHigh.color") !important; } /*超低 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */ -::v-deep .superLow .el-textarea__inner { - background-color: yellow !important; - color: red !important; +::v-deep .tipsSuperLow .el-textarea__inner { + background-color: v-bind("tipsSuperLow.backgroundColor") !important; + color: v-bind("tipsSuperLow.color") !important; } /*偏高 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */ -::v-deep .superHigh .el-textarea__inner { - background-color: yellow !important; - color: red !important; +::v-deep .tipsSuperHigh .el-textarea__inner { + background-color: v-bind("tipsSuperHigh.backgroundColor") !important; + color: v-bind("tipsSuperHigh.color") !important; } - +