pengjun 2 years ago
parent
commit
50c3bd8d53
  1. 76
      src/components/doctorCheck/CheckItemList.vue
  2. 56
      src/components/doctorCheck/PatientRegisterBase.vue
  3. 10
      src/components/doctorCheck/RegisterCheckList.vue
  4. 1
      src/router/index.js
  5. 19
      src/store/index.js
  6. 2
      src/views/fee-settings/SysParmSet.vue

76
src/components/doctorCheck/CheckItemList.vue

@ -14,8 +14,8 @@
<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%"
<el-autocomplete
style="width: 100%;"
type="textarea"
v-model="scope.row.result"
:fetch-suggestions="querySearch"
@ -27,7 +27,9 @@
"
:autosize="{ minRows: 1, maxRows: 100 }"
:data-ismultiline="scope.row.isMultiLine"
/>
@blur="madeTooltips(scope.$index)"
:class="scope.$index % 2 == 0 ? '1':'error'"
/>
</template>
</el-table-column>
<el-table-column prop="unit" label="单位" width="80" align="center"/>
@ -36,11 +38,16 @@
label="参考范围"
width="80" align="center"
/>
<el-table-column
prop="tooltips"
label="提示"
width="40" align="center"
/>
</el-table>
</div>
</template>
<script>
// 0-1-2-3-
import { mapState } from "vuex";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
@ -49,6 +56,7 @@ export default {
props:["isCheckPicture"],
data() {
return {
resultStatus:[], //
restaurants: [], //
currentRow: -1, //
};
@ -58,7 +66,7 @@ export default {
//
mounted() {
// this.enterToTab();
this.dictInit()
},
computed: {
@ -66,6 +74,13 @@ export default {
},
methods: {
dictInit(){
//
getapi('/api/app/result-status').then(res =>{
if(res.code != -1) resultStatus = res.data.items
})
},
//
rowClick(row) {
this.doctorCheck.checkItem = row;
@ -190,12 +205,63 @@ export default {
.el-table th.el-table__cell.is-leaf {
padding: 0;
}
::v-deep .el-textarea__inner {
min-height: 23px;
height: 23px;
line-height: 1.25;
padding: 2px 15px 2px 2px;
}
/*错误*/
::v-deep .error .el-textarea__inner {
background-color: yellow !important;
color: red !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-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 .lowPositive .el-textarea__inner {
background-color: yellow !important;
color: red !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-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */
::v-deep .high .el-textarea__inner {
background-color: yellow !important;
color: red !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-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */
::v-deep .superHigh .el-textarea__inner {
background-color: yellow !important;
color: red !important;
}
</style>

56
src/components/doctorCheck/PatientRegisterBase.vue

@ -3,7 +3,7 @@
<div style="display: flex; flex-wrap: wrap;height:70px; width: 100%;">
<div>
<span class="query">条码号</span>
<el-input placeholder="条码号" v-model="prBase.patientRegisterNo" size="small" style="width: 140px;"
<el-input placeholder="条码号" v-model="prBase.patientRegisterNo" size="small" style="width: 140px;" class="test"
clearable @change="onQueryByPatientRegisterNo" />
</div>
<div>
@ -254,10 +254,12 @@ export default {
},
//
mounted() { },
mounted() {
this.enterToQuery()
},
computed: {
...mapState(["dict","patientRegister", "doctorCheck", "sumDoctorCheck"]),
...mapState(["dict","dataTransOpts","patientRegister", "doctorCheck", "sumDoctorCheck"]),
},
methods: {
...mapMutations(['doctorCheckPrBaseInit','sumPREditInit']),
@ -267,9 +269,10 @@ export default {
findPR(rd){
// debugger
// console.log('rd,this.doctorCheck.prBase',rd.id,this.doctorCheck.prBase.id)
// objCopy(rd,this.prBase)
objCopy(rd,this.prBase)
this.doctorCheck.prBase = Object.assign({},this.doctorCheck.prBase,rd)
this.dataTransOpts.refresh.register_check++
// objCopy(rd,this.doctorCheck.prBase)
// this.sumPREditInit()
@ -286,6 +289,8 @@ export default {
let val = this.prBase[queryType]
this.doctorCheckPrBaseInit()
this.dataTransOpts.refresh.register_check++
this.sumPREditInit()
setTimeout(() => {
@ -316,7 +321,7 @@ export default {
});
},
//
//
onQueryByPatientNo() {
let patientNo = this.prBase.patientNo
let body = {
@ -392,6 +397,41 @@ export default {
readIdCard() {
alert("读身份证");
},
//
enterToQuery() {
// console.log('enterToTab');
this.$nextTick(() => {
let inputs = document.querySelectorAll(["input"]); // //.inline-input
//
inputs.forEach((input,i) => {
// console.log('input',input);
input.addEventListener('keydown', (event) => {
if (event.keyCode === 13){
//
event.preventDefault();
//
console.log(input.getAttribute('placeholder'),input.value)
let placeholder = input.getAttribute('placeholder')
switch (placeholder) {
case '条码号':
if(input.value) this.onQueryByPatientRegisterNo()
break;
case '档案号':
if(input.value) this.onQueryByPatientNo()
break;
case '姓名':
if(input.value) this.getlistinfilterByName(input.value)
break;
}
}
});
});
});
},
},
watch:{
@ -419,4 +459,10 @@ export default {
padding: 1px 1px;
font-size: 14px;
}
::v-deep .test .el-input__inner {
background-color: yellow !important;
color: red !important;
}
</style>

10
src/components/doctorCheck/RegisterCheckList.vue

@ -42,7 +42,7 @@ export default {
mounted() {},
computed:{
...mapState(['window','dict','doctorCheck']),
...mapState(['window','dataTransOpts','dict','doctorCheck']),
},
methods: {
@ -99,13 +99,13 @@ export default {
//
watch: {
//
"doctorCheck.prBase.id":{
watch: {
//
"dataTransOpts.refresh.register_check":{
immediate:true,
handler(newVal, oldVal) {
console.log("watch doctorCheck.prBase.id newVal:", newVal, " oldVal:", oldVal);
this.registerCheckList(newVal)
this.registerCheckList(this.doctorCheck.prBase.id)
}
},
}

1
src/router/index.js

@ -204,6 +204,7 @@ const routes = [{
},
{
path: "/item",
name: '项目设置',
component: () =>
import ("../views/fee-settings/Item.vue"),
},

19
src/store/index.js

@ -261,6 +261,25 @@ export default new Vuex.Store({
Photo: "base64编码字符串"
}, //读取身份证信息
},
//多层数据传递时使用
dataTransOpts:{
//强制刷新(ID值没有变化,但也想强制刷新数据)
refresh:{
patient_register:0,
register_check:0,
},
//表当前数据(单条记录)
table:{
patient_register:{id:''},
register_check:{id:''}
},
//表当前数据(多条记录)
tableList:{
patient_register:[],
register_check:[]
}
}
},
getters: {

2
src/views/fee-settings/SysParmSet.vue

@ -122,8 +122,6 @@ export default {
sysParmTypeId: "",
spanRow:[],
sysParms: [], //
color16: "#409EFF",
color10: 1089274,
};
},

Loading…
Cancel
Save