Browse Source

doctor

master
pengjun 2 years ago
parent
commit
7a755c62d1
  1. 268
      src/components/doctorCheck/CheckItemList.vue
  2. 85
      src/components/patientRegister/PatientRegisterEditGroupBatch.vue
  3. 13
      src/components/patientRegister/PatientRegisterEditItemBatch.vue
  4. 7
      src/components/patientRegister/PatientRegisterList.vue
  5. 2
      src/components/sumDoctorCheck/SumAsbItemStatus.vue
  6. 3
      src/components/sumDoctorCheck/SumDiagnosis.vue
  7. 2
      src/components/sumDoctorCheck/SumSug.vue
  8. 11
      src/store/index.js
  9. 32
      src/views/doctorCheck/sumDoctorCheck.vue

268
src/components/doctorCheck/CheckItemList.vue

@ -1,48 +1,23 @@
<template> <template>
<div> <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="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-column prop="itemName" label="项目" width="180" /> <el-table-column prop="itemName" label="项目" width="180" />
<el-table-column prop="result" label="结果" min-width="200"> <el-table-column prop="result" label="结果" min-width="200">
<template slot-scope="scope"> <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' ||
<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 == '1' ||
doctorCheck.RegisterCheckEdit.completeFlag == '2' 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"
/>
" :autosize="{ minRows: 1, maxRows: 100 }" :data-lineModeFlag="scope.row.lineModeFlag"
@input="madeTooltips(scope.$index); computeFun(scope.$index)" v-bind:class="scope.row.class" />
</template> </template>
</el-table-column> </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-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> </el-table>
</div> </div>
</template> </template>
@ -54,11 +29,11 @@ import { arrayExistObj, deepCopy } from '../../utlis/proFunc'
export default { export default {
components: {}, components: {},
props:["isCheckPicture","registerCheckId"],
props: ["isCheckPicture", "registerCheckId"],
data() { data() {
return { return {
resultStatus:[], //
tipsNormal:{
resultStatus: [], //
tipsNormal: {
displayName: "正常", displayName: "正常",
dataInputPrompt: "正常", dataInputPrompt: "正常",
reportPrompt: "正常", reportPrompt: "正常",
@ -67,21 +42,21 @@ export default {
dataInputBackgroundColor: 16777215, dataInputBackgroundColor: 16777215,
dataInputFontColor: 0, dataInputFontColor: 0,
}, // }, //
tipsError:{}, //
tipsNegative:{}, //
tipsLowPositive:{}, //
tipsPositive:{}, //
tipsLow:{}, //
tipsHigh:{}, //
tipsSuperLow:{}, //
tipsSuperHigh:{}, //
tipsError: {}, //
tipsNegative: {}, //
tipsLowPositive: {}, //
tipsPositive: {}, //
tipsLow: {}, //
tipsHigh: {}, //
tipsSuperLow: {}, //
tipsSuperHigh: {}, //
restaurants: [], // restaurants: [], //
currentRow: -1, // currentRow: -1, //
}; };
}, },
created() {},
created() { },
// //
mounted() { mounted() {
@ -89,35 +64,35 @@ export default {
}, },
computed: { computed: {
...mapState(["window","dataTransOpts", "dict", "doctorCheck"]),
...mapState(["window", "dataTransOpts", "dict", "doctorCheck"]),
}, },
methods: { methods: {
dictInit(){
dictInit() {
// //
getapi('/api/app/result-status').then(res =>{
if(res.code != -1){
getapi('/api/app/result-status').then(res => {
if (res.code != -1) {
this.resultStatus = res.data.items this.resultStatus = res.data.items
this.resultStatus.forEach(e => { 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')
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')
} }
}); });
} }
@ -132,7 +107,7 @@ export default {
// reportFontColor: 1070166, // reportFontColor: 1070166,
// dataInputBackgroundColor: 321313, // dataInputBackgroundColor: 321313,
// dataInputFontColor: 12991019, // dataInputFontColor: 12991019,
colorTrans(dataColor,frontColor){
colorTrans(dataColor, frontColor) {
let tempColor = '000000' + Number(dataColor.dataInputBackgroundColor).toString(16) let tempColor = '000000' + Number(dataColor.dataInputBackgroundColor).toString(16)
let backgroundColor = '#' + tempColor.substring(tempColor.length - 6) let backgroundColor = '#' + tempColor.substring(tempColor.length - 6)
tempColor = '000000' + Number(dataColor.dataInputFontColor).toString(16) tempColor = '000000' + Number(dataColor.dataInputFontColor).toString(16)
@ -140,59 +115,59 @@ export default {
this[frontColor] = Object.assign( this[frontColor] = Object.assign(
{}, {},
dataColor, dataColor,
{backgroundColor,color}
{ backgroundColor, color }
) )
console.log(`this.${frontColor}`,this[frontColor])
console.log(`this.${frontColor}`, this[frontColor])
}, },
// "referenceRangeValue": "15-55", // "referenceRangeValue": "15-55",
// "referenceRangeTypeFlag": "1", // "referenceRangeTypeFlag": "1",
// "criticalRangeValue": null, // "criticalRangeValue": null,
// "result" // "result"
madeTooltips(index){
madeTooltips(index) {
// let ts = confirm('') // let ts = confirm('')
let checkItem = this.doctorCheck.checkItemList[index] let checkItem = this.doctorCheck.checkItemList[index]
let tooltips = 'tipsNormal' let tooltips = 'tipsNormal'
checkItem.class = tooltips checkItem.class = tooltips
let referenceRangeTypeFlag = checkItem.referenceRangeTypeFlag||'0' //0-1-2-3-
let referenceRangeTypeFlag = checkItem.referenceRangeTypeFlag || '0' //0-1-2-3-
// console.log('madeTooltips',index,referenceRangeTypeFlag) // console.log('madeTooltips',index,referenceRangeTypeFlag)
switch (referenceRangeTypeFlag) { switch (referenceRangeTypeFlag) {
case '3': // 1 3 case '3': // 1 3
case '1': case '1':
// console.log('13') // console.log('13')
if(checkItem.result){
let tempResult = checkItem.result.replaceAll('<','').replaceAll('>','').replaceAll('=','').replaceAll('≤','').replaceAll('≥','').replaceAll(' ','')
console.log('tempResult',isNaN(tempResult),tempResult)
if(isNaN(tempResult)) break;
if (checkItem.result) {
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 result = Number(tempResult)
if(checkItem.referenceRangeValue){
if (checkItem.referenceRangeValue) {
let criticalRangeValue = checkItem.criticalRangeValue let criticalRangeValue = checkItem.criticalRangeValue
let valueArr = checkItem.referenceRangeValue.split('-')
if(valueArr.length == 1) valueArr.unshift(0)
let valueArr = checkItem.referenceRangeValue.split('-')
if (valueArr.length == 1) valueArr.unshift(0)
// console.log('valueArr',checkItem.referenceRangeValue,valueArr) // console.log('valueArr',checkItem.referenceRangeValue,valueArr)
if(criticalRangeValue){
if (criticalRangeValue) {
let criticalArr = criticalRangeValue.split('-') let criticalArr = criticalRangeValue.split('-')
if(criticalArr.length == 1) criticalArr.unshift(0)
if (criticalArr.length == 1) criticalArr.unshift(0)
// console.log('criticalArr',checkItem.criticalRangeValue,criticalArr) // console.log('criticalArr',checkItem.criticalRangeValue,criticalArr)
if(result < Number(criticalArr[0])){
if (result < Number(criticalArr[0])) {
tooltips = 'tipsSuperLow' tooltips = 'tipsSuperLow'
}else if(result > Number(criticalArr[1])){
tooltips = 'tipsSuperHigh'
}else if(result < Number(valueArr[0])){
} else if (result > Number(criticalArr[1])) {
tooltips = 'tipsSuperHigh'
} else if (result < Number(valueArr[0])) {
tooltips = 'tipsLow' tooltips = 'tipsLow'
}else if(result > Number(valueArr[1])){
tooltips = 'tipsHigh'
} else if (result > Number(valueArr[1])) {
tooltips = 'tipsHigh'
} }
}else{
if(result < Number(valueArr[0])){
} else {
if (result < Number(valueArr[0])) {
tooltips = 'tipsLow' tooltips = 'tipsLow'
}else if(result > Number(valueArr[1])){
} else if (result > Number(valueArr[1])) {
tooltips = 'tipsHigh' tooltips = 'tipsHigh'
} }
} }
@ -200,29 +175,29 @@ export default {
// //
let errArr = [] let errArr = []
if(checkItem.inputCheck){
if (checkItem.inputCheck) {
errArr = checkItem.inputCheck.split('-') errArr = checkItem.inputCheck.split('-')
if(errArr.length == 1) errArr.unshift(-1)
}
if(errArr && errArr.length > 1){
if(result < Number(errArr[0]) || result > Number(errArr[1])){
if (errArr.length == 1) errArr.unshift(-1)
}
if (errArr && errArr.length > 1) {
if (result < Number(errArr[0]) || result > Number(errArr[1])) {
tooltips = 'tipsError' tooltips = 'tipsError'
console.log('checkItem',checkItem)
console.log('checkItem', checkItem)
} }
} }
} }
break; break;
case '2': case '2':
if(checkItem.result){
if(checkItem.result.indexOf('阴性') > -1 || checkItem.result.indexOf('-') > -1){
if (checkItem.result) {
if (checkItem.result.indexOf('阴性') > -1 || checkItem.result.indexOf('-') > -1) {
tooltips = 'tipsNegative' tooltips = 'tipsNegative'
}else if(checkItem.result.indexOf('弱阳性') > -1 || checkItem.result.indexOf('±') > -1){
} else if (checkItem.result.indexOf('弱阳性') > -1 || checkItem.result.indexOf('±') > -1) {
tooltips = 'tipsLowPositive' tooltips = 'tipsLowPositive'
}else if(checkItem.result.indexOf('阳性') > -1 || checkItem.result.indexOf('+') > -1){
} else if (checkItem.result.indexOf('阳性') > -1 || checkItem.result.indexOf('+') > -1) {
tooltips = 'tipsPositive' tooltips = 'tipsPositive'
} }
}
break;
}
break;
default: default:
break; break;
} }
@ -236,12 +211,12 @@ export default {
}, },
// //
computeFun(index){
computeFun(index) {
let checkItem = this.doctorCheck.checkItemList[index] let checkItem = this.doctorCheck.checkItemList[index]
console.log('checkItem',checkItem)
console.log('checkItem', checkItem)
let body = { let body = {
registerCheckId:checkItem.registerCheckId,
items:[]
registerCheckId: checkItem.registerCheckId,
items: []
} }
this.doctorCheck.checkItemList.forEach(e => { this.doctorCheck.checkItemList.forEach(e => {
@ -251,15 +226,15 @@ export default {
}) })
}); });
let lfind = -1 let lfind = -1
postapi('/api/app/diagnosisfunction/getcalculationfunctionresult',body).then(res => {
if(res.code != -1){
postapi('/api/app/diagnosisfunction/getcalculationfunctionresult', body).then(res => {
if (res.code != -1) {
// console.log('res.data',res.data) // console.log('res.data',res.data)
res.data.items.forEach(e => { res.data.items.forEach(e => {
lfind = arrayExistObj(this.doctorCheck.checkItemList,"itemId",e.itemId)
if(lfind > -1){
if(e.result != this.doctorCheck.checkItemList[lfind].result){
lfind = arrayExistObj(this.doctorCheck.checkItemList, "itemId", e.itemId)
if (lfind > -1) {
if (e.result != this.doctorCheck.checkItemList[lfind].result) {
this.doctorCheck.checkItemList[lfind].result = e.result this.doctorCheck.checkItemList[lfind].result = e.result
console.log('e',lfind,this.doctorCheck.checkItemList[lfind])
console.log('e', lfind, this.doctorCheck.checkItemList[lfind])
this.madeTooltips(lfind) this.madeTooltips(lfind)
} }
} }
@ -277,13 +252,11 @@ export default {
// //
checkItemList(RegisterCheckId) { checkItemList(RegisterCheckId) {
// this.doctorCheck.checkItem = null // this.doctorCheck.checkItem = null
if(!RegisterCheckId){
this.doctorCheck.checkItemList = []
if (!RegisterCheckId) {
this.doctorCheck.checkItemList = []
return return
} }
console.log(
`/api/app/registercheckitem/getlistinregistercheckid?RegisterCheckId=${RegisterCheckId}`
);
console.log(`/api/app/registercheckitem/getlistinregistercheckid?RegisterCheckId=${RegisterCheckId}`);
getapi( getapi(
`/api/app/registercheckitem/getlistinregistercheckid?RegisterCheckId=${RegisterCheckId}&PatientRegisterId=${this.dataTransOpts.tableS.patient_register.id}` `/api/app/registercheckitem/getlistinregistercheckid?RegisterCheckId=${RegisterCheckId}&PatientRegisterId=${this.dataTransOpts.tableS.patient_register.id}`
) )
@ -291,7 +264,7 @@ export default {
// console.log("checkItemList", res.data); // console.log("checkItemList", res.data);
if (res.code == 1) { if (res.code == 1) {
this.doctorCheck.checkItemList = res.data; this.doctorCheck.checkItemList = res.data;
this.doctorCheck.checkItemList.forEach((e,i) => {
this.doctorCheck.checkItemList.forEach((e, i) => {
this.madeTooltips(i) this.madeTooltips(i)
}); });
this.enterToTab(); this.enterToTab();
@ -325,20 +298,20 @@ export default {
}; };
}, },
handleSelect(item) { handleSelect(item) {
console.log('item',item);
console.log('item', item);
}, },
//tab //tab
enterToTab() { enterToTab() {
// console.log('enterToTab'); // console.log('enterToTab');
this.$nextTick(() => { this.$nextTick(() => {
let inputs = document.querySelectorAll(["textarea","input"]); // //.inline-input
let inputs = document.querySelectorAll(["textarea", "input"]); // //.inline-input
// //
inputs.forEach((input,i) => {
inputs.forEach((input, i) => {
// console.log('input',input); // console.log('input',input);
input.addEventListener('keydown', (event) => { input.addEventListener('keydown', (event) => {
// //
// console.log('data-lineModeFlag',input.getAttribute('data-lineModeFlag')); // console.log('data-lineModeFlag',input.getAttribute('data-lineModeFlag'));
@ -355,17 +328,17 @@ export default {
// console.log('inputs[i+1]',inputs[i+1]); // console.log('inputs[i+1]',inputs[i+1]);
// console.log('disabled',inputs[i+1].getAttribute('disabled')); // console.log('disabled',inputs[i+1].getAttribute('disabled'));
// console.log('class',inputs[i+1].getAttribute('class')); // console.log('class',inputs[i+1].getAttribute('class'));
for(let j=i+1; j<inputs.length;j++){
if(inputs[j].getAttribute('disabled') != "disabled" ){
for (let j = i + 1; j < inputs.length; j++) {
if (inputs[j].getAttribute('disabled') != "disabled") {
inputs[j].focus(); inputs[j].focus();
break; break;
} }
}
}
} }
}); });
}); });
}); });
},
},
}, },
@ -386,10 +359,10 @@ export default {
// }, // },
// //
"dataTransOpts.refresh.register_check_item.M":{
immediate:true,
"dataTransOpts.refresh.register_check_item.M": {
immediate: true,
handler(newVal, oldVal) { handler(newVal, oldVal) {
console.log(`watch 检查明细 newVal:${newVal} oldVal:${oldVal} registerCheckId: ${this.dataTransOpts.tableS.register_check.id}`);
console.log(`watch 检查明细 newVal:${newVal} oldVal:${oldVal} registerCheckId: ${this.dataTransOpts.tableS.register_check.id}`);
this.checkItemList(this.dataTransOpts.tableS.register_check.id); this.checkItemList(this.dataTransOpts.tableS.register_check.id);
} }
}, },
@ -411,60 +384,59 @@ export default {
padding: 2px 15px 2px 2px; padding: 2px 15px 2px 2px;
} }
/*正常*/
/*正常*/
::v-deep .tipsNormal .el-textarea__inner { ::v-deep .tipsNormal .el-textarea__inner {
background-color: v-bind("tipsNormal.backgroundColor") !important;
background-color: v-bind("tipsNormal.backgroundColor") !important;
color: v-bind("tipsNormal.color") !important; color: v-bind("tipsNormal.color") !important;
} }
/*错误*/
/*错误*/
::v-deep .tipsError .el-textarea__inner { ::v-deep .tipsError .el-textarea__inner {
background-color: v-bind("tipsError.backgroundColor") !important;
background-color: v-bind("tipsError.backgroundColor") !important;
color: v-bind("tipsError.color") !important; color: v-bind("tipsError.color") !important;
} }
/*阴性 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */ /*阴性 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */
::v-deep .tipsNegative .el-textarea__inner { ::v-deep .tipsNegative .el-textarea__inner {
background-color: v-bind("tipsNegative.backgroundColor") !important;
background-color: v-bind("tipsNegative.backgroundColor") !important;
color: v-bind("tipsNegative.color") !important; color: v-bind("tipsNegative.color") !important;
} }
/*弱阳性 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */ /*弱阳性 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */
::v-deep .tipsLowPositive .el-textarea__inner { ::v-deep .tipsLowPositive .el-textarea__inner {
background-color: v-bind("tipsLowPositive.backgroundColor") !important;
background-color: v-bind("tipsLowPositive.backgroundColor") !important;
color: v-bind("tipsLowPositive.color") !important; color: v-bind("tipsLowPositive.color") !important;
} }
/*阳性 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */ /*阳性 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */
::v-deep .tipsPositive .el-textarea__inner { ::v-deep .tipsPositive .el-textarea__inner {
background-color: v-bind("tipsPositive.backgroundColor") !important;
background-color: v-bind("tipsPositive.backgroundColor") !important;
color: v-bind("tipsPositive.color") !important; color: v-bind("tipsPositive.color") !important;
} }
/*偏低 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */ /*偏低 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */
::v-deep .tipsLow .el-textarea__inner { ::v-deep .tipsLow .el-textarea__inner {
background-color: v-bind("tipsLow.backgroundColor") !important;
background-color: v-bind("tipsLow.backgroundColor") !important;
color: v-bind("tipsLow.color") !important; color: v-bind("tipsLow.color") !important;
} }
/*偏高 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */ /*偏高 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */
::v-deep .tipsHigh .el-textarea__inner { ::v-deep .tipsHigh .el-textarea__inner {
background-color: v-bind("tipsHigh.backgroundColor") !important;
background-color: v-bind("tipsHigh.backgroundColor") !important;
color: v-bind("tipsHigh.color") !important; color: v-bind("tipsHigh.color") !important;
} }
/*超低 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */ /*超低 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */
::v-deep .tipsSuperLow .el-textarea__inner { ::v-deep .tipsSuperLow .el-textarea__inner {
background-color: v-bind("tipsSuperLow.backgroundColor") !important;
background-color: v-bind("tipsSuperLow.backgroundColor") !important;
color: v-bind("tipsSuperLow.color") !important; color: v-bind("tipsSuperLow.color") !important;
} }
/*偏高 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */ /*偏高 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */
::v-deep .tipsSuperHigh .el-textarea__inner { ::v-deep .tipsSuperHigh .el-textarea__inner {
background-color: v-bind("tipsSuperHigh.backgroundColor") !important;
background-color: v-bind("tipsSuperHigh.backgroundColor") !important;
color: v-bind("tipsSuperHigh.color") !important; color: v-bind("tipsSuperHigh.color") !important;
} }
</style> </style>

85
src/components/patientRegister/PatientRegisterEditGroupBatch.vue

@ -1,61 +1,34 @@
<template> <template>
<div style="display: flex">
<div style="display: flex">
<div> <div>
<div> <div>
<div>
批量调整分组只针对单位体检有效个人体检将忽略此操作不能调整已收费或已检的项目及已总检的体检人员
</div>
<div>批量调整分组只针对单位体检有效个人体检将忽略此操作不能调整已收费或已检的项目及已总检的体检人员</div>
<div> <div>
<br /><span>分组</span> <br /><span>分组</span>
<el-select
v-model="groupBatch.customerOrgGroupId"
placeholder="请选择"
filterable
size="small"
>
<el-option
v-for="item in customerOrgGroup"
:key="item.id"
:label="item.displayName"
:value="item.id"
/>
<el-select v-model="groupBatch.customerOrgGroupId" placeholder="请选择" filterable size="small">
<el-option v-for="item in customerOrgGroup" :key="item.id" :label="item.displayName" :value="item.id" />
</el-select> </el-select>
</div> </div>
<div> <div>
<br /><el-radio v-model="groupBatch.payTypeFlag" label="0"
>个人支付</el-radio
>
<br /><el-radio v-model="groupBatch.payTypeFlag" label="1"
>单位支付</el-radio
>
<br /><el-radio v-model="groupBatch.payTypeFlag" label="2"
>免费</el-radio
>
<br /><el-radio v-model="groupBatch.payTypeFlag" label="0">个人支付</el-radio>
<br /><el-radio v-model="groupBatch.payTypeFlag" label="1">单位支付</el-radio>
<br /><el-radio v-model="groupBatch.payTypeFlag" label="2">免费</el-radio>
</div> </div>
<div> <div>
<br /><el-checkbox v-model="groupBatch.isReserveAddAsbitem"
>保留加做项目包括不属于原分组的没有设置分组的</el-checkbox
>
<br /><el-checkbox v-model="groupBatch.isReserveAddAsbitem">保留加做项目包括不属于原分组的没有设置分组的</el-checkbox>
</div> </div>
</div> </div>
<div style="display: flex;margin-top: 5px;justify-content:space-between;"> <div style="display: flex;margin-top: 5px;justify-content:space-between;">
<div></div> <div></div>
<div> <div>
<el-button type="primary" @click="groupBatchHandle"> </el-button>
<el-button @click="dialogWin.PatientRegisterEditGroupBatch = false"> </el-button>
<el-button class="commonbutton" type="primary" @click="groupBatchHandle"> </el-button>
<el-button class="commonbutton" @click="dialogWin.PatientRegisterEditGroupBatch = false"> </el-button>
</div> </div>
</div> </div>
</div> </div>
<!-- 通用进度条 --> <!-- 通用进度条 -->
<el-dialog
title="数据处理中……"
:visible.sync="elProgress.display"
width="600px"
height="400"
:show-close="false"
:close-on-click-modal="false"
:append-to-body="true"
>
<el-dialog title="数据处理中……" :visible.sync="elProgress.display" width="600px" height="400" :show-close="false"
:close-on-click-modal="false" :append-to-body="true">
<ElProgressOCX /> <ElProgressOCX />
</el-dialog> </el-dialog>
</div> </div>
@ -79,30 +52,30 @@ import {
import ElProgressOCX from "../report/ElProgressOCX.vue"; import ElProgressOCX from "../report/ElProgressOCX.vue";
export default { export default {
components: {
components: {
ElProgressOCX, ElProgressOCX,
}, },
props:["multipleSelection"],
props: ["multipleSelection"],
data() { data() {
return { return {
customerOrgGroup:[], //
customerOrgGroup: [], //
groupBatch: { groupBatch: {
patientRegisterId: null, patientRegisterId: null,
customerOrgGroupId: null, customerOrgGroupId: null,
payTypeFlag: "1", //01 2 payTypeFlag: "1", //01 2
isReserveAddAsbitem: true, // isReserveAddAsbitem: true, //
}, },
groupBatchInit:{},
}; };
}, },
created() { created() {
this.groupBatchInit = deepCopy(this.groupBatch)
}, },
// //
mounted() { mounted() {
this.getCustomerOrgGroup(this.multipleSelection[0].customerOrgRegisterId)
}, },
computed: { computed: {
...mapState([ ...mapState([
@ -116,18 +89,21 @@ export default {
]), ]),
}, },
methods: { methods: {
moment,dddw,deepCopy,
moment, dddw, deepCopy,
// /api/app/customer-org-group/in-customer-org-id/3a0c0444-d7a0-871f-4074-19faf1655caf // /api/app/customer-org-group/in-customer-org-id/3a0c0444-d7a0-871f-4074-19faf1655caf
getCustomerOrgGroup(customerOrgId) {
getCustomerOrgGroup(customerOrgRegisterId) {
this.customerOrgGroup = []
this.groupBatch = deepCopy(this.groupBatchInit)
getapi( getapi(
`/api/app/customer-org-group/in-customer-org-id/${customerOrgId}`
`/api/app/customerorggroup/getlistinfilter?CustomerOrgRegisterId=${customerOrgRegisterId}`
).then((res) => { ).then((res) => {
console.log("getCustomerOrgGroup", res.data); console.log("getCustomerOrgGroup", res.data);
if (res.code == 1) { if (res.code == 1) {
this.customerOrgGroup = res.data;
this.customerOrgGroup = res.data.items;
} }
}); });
}, },
//() //()
@ -170,12 +146,12 @@ export default {
// //
watch: { watch: {
"dataTransOpts.refresh.asbitem.M":{
immediate: true, //
"dataTransOpts.plus.PatientRegisterEditGroupBatch": {
// immediate: true, //
// deep: true, // // deep: true, //
handler(newVal,oldVal){
handler(newVal, oldVal) {
console.log(`watch: 刷新单位分组 newVal: ${newVal} oldVal:${oldVal}`) console.log(`watch: 刷新单位分组 newVal: ${newVal} oldVal:${oldVal}`)
this.getCustomerOrgGroup(this.multipleSelection[0].customerOrgParentId)
if (newVal != oldVal) this.getCustomerOrgGroup(this.multipleSelection[0].customerOrgRegisterId)
} }
}, },
}, },
@ -199,5 +175,4 @@ export default {
.btnClass { .btnClass {
width: 100px; width: 100px;
} }
</style> </style>

13
src/components/patientRegister/PatientRegisterEditItemBatch.vue

@ -112,6 +112,7 @@ export default {
asbitemsTemp: [], // asbitemsTemp: [], //
asbitemCurr: {}, //() asbitemCurr: {}, //()
}, },
asbitemBatchInit:{},
asbItemQuick: [], // asbItemQuick: [], //
quickAsb: [], // quickAsb: [], //
@ -121,13 +122,13 @@ export default {
// //
created() { created() {
this.asbitemBatchInit = deepCopy(this.asbitemBatch)
}, },
// //
mounted() { mounted() {
// //
// this.dictInit()
this.dictInit()
}, },
computed: { computed: {
@ -349,7 +350,7 @@ export default {
// //
dictInit() { dictInit() {
this.asbitemBatch = deepCopy(this.asbitemBatchInit)
// //
postapi('/api/app/asbitem/GetBasicList', { isFilterActive: 'Y' }).then(res => { postapi('/api/app/asbitem/GetBasicList', { isFilterActive: 'Y' }).then(res => {
if (res.code != -1) { if (res.code != -1) {
@ -363,12 +364,12 @@ export default {
// //
watch: { watch: {
"dataTransOpts.refresh.asbitem.M": {
immediate: true, //
"dataTransOpts.plus.PatientRegisterEditItemBatch": {
// immediate: true, //
// deep: true, // // deep: true, //
handler(newVal, oldVal) { handler(newVal, oldVal) {
console.log(`watch: 刷新在用组合项目 newVal: ${newVal} oldVal:${oldVal}`) console.log(`watch: 刷新在用组合项目 newVal: ${newVal} oldVal:${oldVal}`)
this.dictInit()
if(newVal != oldVal) this.dictInit()
} }
}, },
}, },

7
src/components/patientRegister/PatientRegisterList.vue

@ -980,9 +980,9 @@ export default {
if (this.multipleSelection.length < 1) { if (this.multipleSelection.length < 1) {
this.$message.info("请选择要操作的记录!"); this.$message.info("请选择要操作的记录!");
return; return;
}
}
this.dialogWin.PatientRegisterEditGroupBatch = true; this.dialogWin.PatientRegisterEditGroupBatch = true;
this.dataTransOpts.plus.PatientRegisterEditGroupBatch++
}, },
@ -1006,7 +1006,8 @@ export default {
} }
this.dialogWin.PatientRegisterEditItemBatch = true; this.dialogWin.PatientRegisterEditItemBatch = true;
this.dataTransOpts.plus.PatientRegisterEditItemBatch++
}, },
// //

2
src/components/sumDoctorCheck/SumAsbItemStatus.vue

@ -1,5 +1,5 @@
<template> <template>
<div style="display: flex;height:90px; background-color: #fff;margin-top: 10px;border-radius: 8px;padding: 10px;">
<div style="display: flex;background-color: #fff;margin-top: 10px;border-radius: 8px;padding: 10px;">
<div class="asbitemListClass"> <div class="asbitemListClass">
<div style="font-size:9px;color: #F56C6C;">未检组合项目</div> <div style="font-size:9px;color: #F56C6C;">未检组合项目</div>
<div style="overflow-y:auto; height:68px;width:100%; margin-top:2px;border: 1px solid;"> <div style="overflow-y:auto; height:68px;width:100%; margin-top:2px;border: 1px solid;">

3
src/components/sumDoctorCheck/SumDiagnosis.vue

@ -73,7 +73,7 @@ export default {
...mapState(["window", "dict","dataTransOpts", "patientRegister", "customerOrg", "doctorCheck", "sumDoctorCheck", "report"]), ...mapState(["window", "dict","dataTransOpts", "patientRegister", "customerOrg", "doctorCheck", "sumDoctorCheck", "report"]),
sumHeight(){ sumHeight(){
let tempHeight = this.window.pageHeight < 600 ? 600:this.window.pageHeight let tempHeight = this.window.pageHeight < 600 ? 600:this.window.pageHeight
return tempHeight - 352
return tempHeight - 367
}, },
}, },
methods: { methods: {
@ -85,7 +85,6 @@ export default {
this.diagnosisesAll = res.data this.diagnosisesAll = res.data
// //
this.filterDiagnosises() this.filterDiagnosises()
} }
}) })

2
src/components/sumDoctorCheck/SumSug.vue

@ -118,7 +118,7 @@ export default {
sumHeight(){ sumHeight(){
let tempHeight = this.window.pageHeight < 600 ? 600:this.window.pageHeight let tempHeight = this.window.pageHeight < 600 ? 600:this.window.pageHeight
return tempHeight - 320
return tempHeight - 335
}, },
}, },

11
src/store/index.js

@ -257,7 +257,7 @@ export default new Vuex.Store({
{ id: "2", displayName: "仅页面节点" }, { id: "2", displayName: "仅页面节点" },
{ id: "3", displayName: "按钮或事件" }, { id: "3", displayName: "按钮或事件" },
], ],
lineModeFlag:[
lineModeFlag: [
{ id: "0", displayName: "不换行" }, { id: "0", displayName: "不换行" },
{ id: "1", displayName: "换行" }, { id: "1", displayName: "换行" },
{ id: "2", displayName: "继承项目类别换行属性" }, { id: "2", displayName: "继承项目类别换行属性" },
@ -314,7 +314,7 @@ export default new Vuex.Store({
role_menu_info: { S: 0, M: 0 }, // 角色对应的菜单 role_menu_info: { S: 0, M: 0 }, // 角色对应的菜单
sum_diagnosis: { S: 0, M: 0 }, // 总检诊断 sum_diagnosis: { S: 0, M: 0 }, // 总检诊断
sumDoctor:{ S: 0, M: 0 }, // 虚拟表 触发强制刷新 (sumDoctor.M 合并包含:综述、建议、对比、历史等,不包含总检诊断)
sumDoctor: { S: 0, M: 0 }, // 虚拟表 触发强制刷新 (sumDoctor.M 合并包含:综述、建议、对比、历史等,不包含总检诊断)
}, },
//表当前数据(单条记录 S--single) //表当前数据(单条记录 S--single)
tableS: { tableS: {
@ -358,16 +358,17 @@ export default new Vuex.Store({
}, },
plus: { plus: {
clearPatientRegisterQuery: 0, //清空人员登记界面查询条件 clearPatientRegisterQuery: 0, //清空人员登记界面查询条件
PatientRegisterEditItemBatch:0, //刷新批量调整项目窗口
PatientRegisterEditGroupBatch: 0, //刷新批量调整分组窗口
PatientRegisterEditItemBatch: 0, //刷新批量调整项目窗口
} }
}, },
// 弹窗控制 // 弹窗控制
dialogWin: { dialogWin: {
ContactPersonEdit:false, // 联系人
ContactPersonEdit: false, // 联系人
CustomerOrgGroupEdit: false, // 单位分组 新增/编辑 CustomerOrgGroupEdit: false, // 单位分组 新增/编辑
charge:false, // 收费窗口
charge: false, // 收费窗口
PatientList: false, // 体检人员档案列表 PatientList: false, // 体检人员档案列表
PatientRegisterEdit: false, // 体检人员登记 新增/编辑 PatientRegisterEdit: false, // 体检人员登记 新增/编辑
PatientRegisterForChoose: false, // 体检人员登记列表 PatientRegisterForChoose: false, // 体检人员登记列表

32
src/views/doctorCheck/sumDoctorCheck.vue

@ -1,34 +1,35 @@
<template> <template>
<div> <div>
<div>
<div>
<div class="contenttitle"> <div class="contenttitle">
体检 /<span class="contenttitleBold">总检医生诊台</span> 体检 /<span class="contenttitleBold">总检医生诊台</span>
</div>
</div>
<div style="display: flex"> <div style="display: flex">
<div :style="'width:' + (window.pageWidth - 110 - 15) + 'px;'"> <div :style="'width:' + (window.pageWidth - 110 - 15) + 'px;'">
<div> <div>
<PatientRegisterBase /> <PatientRegisterBase />
</div> </div>
<div :style="'height:' +
(window.pageHeight < 600 ? 435 : window.pageHeight - 165) +
'px;'
">
<div :style="`height: ${window.pageHeight < 600 ? 436 : window.pageHeight - 164}px;`">
<el-tabs v-model="tabChoosed"> <el-tabs v-model="tabChoosed">
<el-tab-pane label="综述建议" name="1"> <el-tab-pane label="综述建议" name="1">
<div style="display: flex;"> <div style="display: flex;">
<!-- 综述建议 --> <!-- 综述建议 -->
<div :style="'width:' + (window.pageWidth - 110 - 15 - 200) + 'px;'"> <div :style="'width:' + (window.pageWidth - 110 - 15 - 200) + 'px;'">
<SumSug :patientRegisterId="sumDoctorCheck.sumPREdit.id" :curGetFocusSuggestionId="curGetFocusSuggestionId"/>
<SumSug :patientRegisterId="sumDoctorCheck.sumPREdit.id"
:curGetFocusSuggestionId="curGetFocusSuggestionId" />
</div> </div>
<!-- 诊断 -->
<div style="width:200px;"> <div style="width:200px;">
<SumDiagnosis :patientRegisterId="sumDoctorCheck.sumPREdit.id" /> <SumDiagnosis :patientRegisterId="sumDoctorCheck.sumPREdit.id" />
</div> </div>
</div> </div>
<div> <div>
<!-- 总检状态 -->
<!-- 总检状态 -->
<SumPREdit /> <SumPREdit />
<!-- 检查情况 -->
<SumAsbItemStatus :patientRegisterId="sumDoctorCheck.sumPREdit.id" />
<!-- 检查情况 -->
<div style="margin-top: -6px;">
<SumAsbItemStatus :patientRegisterId="sumDoctorCheck.sumPREdit.id" />
</div>
</div> </div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="明细结果" name="2"> <el-tab-pane label="明细结果" name="2">
@ -107,7 +108,7 @@ export default {
}, },
methods: { methods: {
// //
dictInit() { dictInit() {
// //
@ -176,7 +177,7 @@ export default {
}); });
// //
postapi("/api/app/medicalpackage/GetBasicList",{}).then((res) => {
postapi("/api/app/medicalpackage/GetBasicList", {}).then((res) => {
if (res.code == 1) { if (res.code == 1) {
this.dict.medicalPackage = res.data; this.dict.medicalPackage = res.data;
} }
@ -204,7 +205,7 @@ export default {
} }
}); });
postapi("/api/app/asbitem/GetBasicList",{isFilterActive:'Y'}).then((res) => {
postapi("/api/app/asbitem/GetBasicList", { isFilterActive: 'Y' }).then((res) => {
if (res.code == 1) { if (res.code == 1) {
this.dict.asbItemAll = res.data; this.dict.asbItemAll = res.data;
} }
@ -213,7 +214,7 @@ export default {
console.log("dict", this.dict); console.log("dict", this.dict);
}, },
fnSetSuggestionFocus(id){
fnSetSuggestionFocus(id) {
console.log('in fnSetSuggestionFocus') console.log('in fnSetSuggestionFocus')
this.curGetFocusSuggestionId = id this.curGetFocusSuggestionId = id
}, },
@ -221,7 +222,7 @@ export default {
//() //()
watch: { watch: {
}, },
}; };
</script> </script>
@ -230,5 +231,4 @@ export default {
@import '../../assets/css/global_input.css'; @import '../../assets/css/global_input.css';
@import '../../assets/css/global_table.css'; @import '../../assets/css/global_table.css';
@import '../../assets/css/global.css'; @import '../../assets/css/global.css';
</style> </style>
Loading…
Cancel
Save