pengjun 2 years ago
parent
commit
50c3bd8d53
  1. 72
      src/components/doctorCheck/CheckItemList.vue
  2. 56
      src/components/doctorCheck/PatientRegisterBase.vue
  3. 8
      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

72
src/components/doctorCheck/CheckItemList.vue

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

56
src/components/doctorCheck/PatientRegisterBase.vue

@ -3,7 +3,7 @@
<div style="display: flex; flex-wrap: wrap;height:70px; width: 100%;"> <div style="display: flex; flex-wrap: wrap;height:70px; width: 100%;">
<div> <div>
<span class="query">条码号</span> <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" /> clearable @change="onQueryByPatientRegisterNo" />
</div> </div>
<div> <div>
@ -254,10 +254,12 @@ export default {
}, },
// //
mounted() { },
mounted() {
this.enterToQuery()
},
computed: { computed: {
...mapState(["dict","patientRegister", "doctorCheck", "sumDoctorCheck"]),
...mapState(["dict","dataTransOpts","patientRegister", "doctorCheck", "sumDoctorCheck"]),
}, },
methods: { methods: {
...mapMutations(['doctorCheckPrBaseInit','sumPREditInit']), ...mapMutations(['doctorCheckPrBaseInit','sumPREditInit']),
@ -267,9 +269,10 @@ export default {
findPR(rd){ findPR(rd){
// debugger // debugger
// console.log('rd,this.doctorCheck.prBase',rd.id,this.doctorCheck.prBase.id) // 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.doctorCheck.prBase = Object.assign({},this.doctorCheck.prBase,rd)
this.dataTransOpts.refresh.register_check++
// objCopy(rd,this.doctorCheck.prBase) // objCopy(rd,this.doctorCheck.prBase)
// this.sumPREditInit() // this.sumPREditInit()
@ -286,6 +289,8 @@ export default {
let val = this.prBase[queryType] let val = this.prBase[queryType]
this.doctorCheckPrBaseInit() this.doctorCheckPrBaseInit()
this.dataTransOpts.refresh.register_check++
this.sumPREditInit() this.sumPREditInit()
setTimeout(() => { setTimeout(() => {
@ -316,7 +321,7 @@ export default {
}); });
}, },
//
//
onQueryByPatientNo() { onQueryByPatientNo() {
let patientNo = this.prBase.patientNo let patientNo = this.prBase.patientNo
let body = { let body = {
@ -392,6 +397,41 @@ export default {
readIdCard() { readIdCard() {
alert("读身份证"); 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:{ watch:{
@ -419,4 +459,10 @@ export default {
padding: 1px 1px; padding: 1px 1px;
font-size: 14px; font-size: 14px;
} }
::v-deep .test .el-input__inner {
background-color: yellow !important;
color: red !important;
}
</style> </style>

8
src/components/doctorCheck/RegisterCheckList.vue

@ -42,7 +42,7 @@ export default {
mounted() {}, mounted() {},
computed:{ computed:{
...mapState(['window','dict','doctorCheck']),
...mapState(['window','dataTransOpts','dict','doctorCheck']),
}, },
methods: { methods: {
@ -100,12 +100,12 @@ export default {
// //
watch: { watch: {
//
"doctorCheck.prBase.id":{
//
"dataTransOpts.refresh.register_check":{
immediate:true, immediate:true,
handler(newVal, oldVal) { handler(newVal, oldVal) {
console.log("watch doctorCheck.prBase.id newVal:", newVal, " oldVal:", 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", path: "/item",
name: '项目设置',
component: () => component: () =>
import ("../views/fee-settings/Item.vue"), import ("../views/fee-settings/Item.vue"),
}, },

19
src/store/index.js

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

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

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

Loading…
Cancel
Save