Browse Source

doctor

master
pengjun 2 years ago
parent
commit
3d245cdc02
  1. 227
      src/components/doctorCheck/ButtonList.vue
  2. 32
      src/components/doctorCheck/PatientRegisterBase.vue
  3. 43
      src/components/patientRegister/PatientRegisterEdit.vue
  4. 6
      src/components/patientRegister/PatientRegisterItem.vue
  5. 48
      src/components/patientRegister/PatientRegisterList.vue
  6. 35
      src/views/doctorCheck/doctorCheck.vue

227
src/components/doctorCheck/ButtonList.vue

@ -1,42 +1,60 @@
<template>
<div style="margin-left: 10px;">
<div class="listBtn">
<div>
<el-button type="primary" class="btnClass" @click="prList">人员列表</el-button>
</div>
<div class="listBtn">
<div>
<el-button type="primary" class="btnClass" @click="dialogVisibleSetStartDate = true">体检日期</el-button>
</div>
<div>
<el-button type="primary" class="btnClass" @click="btnAddPr">增加人员</el-button>
</div>
<div>
<el-button type="primary" class="btnClass" >编辑人员</el-button>
</div>
<div>
<el-button type="primary" class="btnClass" >删除人员</el-button>
</div>
<div>
<el-button type="primary" class="btnClass" >上一人</el-button>
</div>
<div>
<el-button type="primary" class="btnClass" >下一人</el-button>
</div>
<div>
<el-button type="primary" class="btnClass" @click="save">保存结果</el-button>
</div>
<div class="listBtn">
<div>
<el-button type="primary" class="btnClass" @click="edit">修改结果</el-button>
</div>
<div class="listBtn">
<div>
<el-button type="primary" class="btnClass" @click="del">删除结果</el-button>
</div>
<div class="listBtn">
<div>
<el-button type="primary" class="btnClass" @click="delItem">删除项目</el-button>
</div>
<div class="listBtn">
<div>
<el-button type="primary" class="btnClass">历次结果</el-button>
</div>
<div class="listBtn">
<div>
<el-button type="primary" class="btnClass">体检报告</el-button>
</div>
<div class="listBtn">
<div>
<el-button type="primary" class="btnClass">生成小结</el-button>
</div>
<div class="listBtn">
<div>
<el-button type="primary" class="btnClass" @click="toSumDoctorCheck">总检</el-button>
</div>
<div class="listBtn">
<div>
<el-button type="primary" class="btnClass" @click="audit">审核</el-button>
</div>
<div class="listBtn">
<div>
<el-button type="primary" class="btnClass" @click="unAudit">取消审核</el-button>
</div>
<div class="listBtn">
<div>
<el-button type="primary" class="btnClass">排队</el-button>
</div>
<div class="listBtn">
<div>
<el-button type="primary" class="btnClass" @click="addSummary">新增小结</el-button>
</div>
<!-- 体检人员列表
@ -45,29 +63,129 @@
</el-dialog>
-->
<el-drawer title="体检人员列表" :visible.sync="doctorCheck.doctorCheckDialogVisible" direction="rtl"
:wrapperClosable="false">
:wrapperClosable="false" style="z-index:30001;">
<PatientRegisterList win="doctorCheck" />
</el-drawer>
<!-- 体检人员登记 -->
<el-dialog style="z-index:30001;"
:title="patientRegister.patientRegisterRd.id ? '体检人员--编辑' : '体检人员--新增'"
:visible.sync="dialogVisible"
:close-on-click-modal="false"
fullscreen @close="closeDialogPR"
>
<PatientRegisterEdit style="z-index:30001;"
:formInitData="formData"
:editTimes="editTimes"
/>
</el-dialog>
<el-dialog
title="设置体检日期" style="z-index:30002;"
:visible.sync="dialogVisibleSetStartDate"
:close-on-click-modal="false" :show-close="false"
width="300px"
>
<div style="padding: 0 20px;">
<span style="margin-right:5px ;">体检日期</span>
<el-date-picker v-model="medicalStartDateTemp" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="出生日期"
prefix-icon="" size="small" style="width:150px;"/>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisibleSetStartDate = false"> </el-button>
<el-button type="primary" @click="btnSetStartDate"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { mapState, mapActions } from "vuex";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { arrayExistObj } from "../../utlis/proFunc";
import { arrayExistObj,objCopy } from "../../utlis/proFunc";
import PatientRegisterEdit from "../../components/patientRegister/PatientRegisterEdit.vue";
import PatientRegisterList from "./PatientRegisterList.vue";
export default {
components: {
PatientRegisterEdit,
PatientRegisterList,
},
data() {
return {
medicalStartDate:'', //
medicalStartDateTemp:'', //
medicalStartDateDatas:[], //
dialogVisibleSetStartDate:false, //
editTimes:0,
nextTodialogVisible:false, //
dialogVisible:false, //
formData:{
registerManType:'doctor', //customer doctor
id: "", //id
patientId: "00000000-0000-0000-0000-000000000000", //ID 00000-0000...
patientNo: "", //
customerOrgId: null, //
customerOrgGroupId: null, //
medicalPackageId: null, //
patientName: "", //
birthDate: null, //
sexId: "U", // U
age: null, //
jobCardNo: "", //
medicalCardNo: "", //
maritalStatusId: "9", //
medicalTypeId: null, //
personnelTypeId: null, //
jobPost: "", //
jobTitle: "", //
salesman: "", //
sexHormoneTermId: null, //
isNameHide: "N", //
isPhoneFollow: "N", //访
isVip: "N", //vip
remark: "", //
isLock: "N", //
completeFlag: "1", // 0:123
isMedicalStart: "N", //
patientRegisterNo: "", //
medicalTimes: 1, //
organizationUnitId: null, //
address: "", //
email: "", //email
idNo: "", //
telephone: "", //
mobileTelephone: "", //
nationId: null, //
birthPlaceId: null, //
postalCode: "", //
creatorId: null,
creationTime: "",
lastModificationTime: "",
lastModifierId: null,
isVipBox: false, //vip
isNameHideBox: false, //
isPhoneFollowBox: false, //访
isLockBox: false, //
customerOrgRegisterId: null,
isMaxMedicalTimes: 'N',
}, //
formInitData:{},
medicalStartDateLoadOpts:{ //
totalCount:0,
skipCount:0,
maxResultCount:50000,
},
};
},
created() { },
created() {
this.formInitData = Object.assign({},this.formData)
this.medicalStartDateTemp = new Date()
},
//
mounted() {
@ -82,9 +200,73 @@ export default {
...mapActions(["getCustomerOrgGroup"]),
prList() {
console.log('this.doctorCheck.doctorCheckDialogVisible', this.doctorCheck.doctorCheckDialogVisible)
// console.log('this.doctorCheck.doctorCheckDialogVisible', this.doctorCheck.doctorCheckDialogVisible)
this.doctorCheck.doctorCheckDialogVisible = true
console.log('this.doctorCheck.doctorCheckDialogVisible2', this.doctorCheck.doctorCheckDialogVisible)
// console.log('this.doctorCheck.doctorCheckDialogVisible2', this.doctorCheck.doctorCheckDialogVisible)
},
//
btnSetStartDate(){
this.medicalStartDate = this.medicalStartDateTemp
this.dialogVisibleSetStartDate = false
if(this.nextTodialogVisible) this.btnAddPr()
},
//
btnAddPr(){
debugger
if(this.medicalStartDate){
this.formData = Object.assign({},this.formInitData,{medicalStartDate:this.medicalStartDate})
this.dialogVisible = true
setTimeout(() =>{
this.editTimes++
},100)
}else{
this.nextTodialogVisible = true
this.dialogVisibleSetStartDate = true
}
},
//
closeDialogPR(){
this.patientRegister.prList.forEach(e =>{
e.choosed = false
})
let body = Object.assign({patientRegisterNo:this.patientRegister.patientRegisterRd.patientRegisterNo},this.loadOpts)
postapi("/api/app/patientregister/getlistinfilter", body).then(res =>{
console.log('closeDialogPR',res.data.items)
if(res.code != -1 && res.data.items.length > 0){
let currentRow = Object.assign({},res.data.items[0])
let lfind = arrayExistObj(this.patientRegister.prList,'id',currentRow.id)
if(lfind > -1){
currentRow = this.patientRegister.prList[lfind]
objCopy(Object.assign({},res.data.items[0]),currentRow)
this.patientRegister.prList[lfind].choosed = true
}else{
lfind = this.patientRegister.prList.length
currentRow.choosed = true
currentRow.index = lfind
this.patientRegister.prList.push(currentRow)
}
if(lfind > -1){
setTimeout(() => {
this.$refs['info'].setCurrentRow(currentRow)
this.setForm(currentRow)
// this.patientRegister.query.customerOrgParentId = this.patientRegister.prList[lfind].customerOrgParentId;
this.patientRegister.customerOrgGroupChange = 0; //0
this.patientRegister.medicalPackageChange = 0; //0
// this.getCustomerOrgGroup(this.patientRegister.prList[lfind].customerOrgParentId);
this.dict.asbItem = [...this.dict.asbItemAll];
this.getPatientRegisterAbs(currentRow.id);
}, 100)
}
}
})
},
//
@ -382,12 +564,11 @@ export default {
</script>
<style scoped>
@import '../../assets/css/global_button.css';
.listBtn {
margin-top: 5px;
text-align: center;
}
.btnClass {
margin-top: 1px;
width: 100px;
height: 26px;
padding: 5px 5px; /*原始 默认值 500 */
}
</style>

32
src/components/doctorCheck/PatientRegisterBase.vue

@ -83,37 +83,7 @@ export default {
return {
dialogVisible: false,
pickerOptions: {
shortcuts: [
{
text: "最近一周",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit("pick", [start, end]);
},
},
{
text: "最近一个月",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit("pick", [start, end]);
},
},
{
text: "最近三个月",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit("pick", [start, end]);
},
},
],
},
};
},

43
src/components/patientRegister/PatientRegisterEdit.vue

@ -8,9 +8,9 @@
<el-col :span="5">
<el-form-item label="单位名称" prop="customerOrgId">
<el-cascader v-model="form.customerOrgId" :options="patientRegister.customerOrgTreeAll"
:style="'width:' + Math.floor((window.pageWidth - 510) / 4.8) + 'px;'"
:style="'width:' + Math.floor((window.pageWidth - 510) / 4.8) + 'px;'" filterable=""
:props="{ checkStrictly: true, expandTrigger: 'hover', ...customerOrg.treeprops, }"
:show-all-levels="false" disabled size="small">
:show-all-levels="false" :disabled="(form.id || form.registerManType == 'customer') ? true:false" size="small">
</el-cascader>
</el-form-item>
</el-col>
@ -664,6 +664,7 @@ export default {
tel: ''
},
form: {
registerManType:'customer', //customer doctor
id: "", //id
patientId: "00000000-0000-0000-0000-000000000000", //ID 00000-0000...
patientNo: "", //
@ -772,7 +773,7 @@ export default {
//
mounted() {
// this.initFormData()
},
computed: {
@ -878,7 +879,7 @@ export default {
this.patientRegister.photo = res.data.photo
this.getPatientRegisterAbs(res.data.id)
}else if(res.code == 0){
this.$message.info("未找到相关信息")
this.$message.info("未找到相关信息")
}
});
},
@ -1281,6 +1282,9 @@ export default {
//
this.prAsbOpraOpts.formId = res.data.id
let temp = Object.assign({},res.data,{id:''})
objCopy(temp,this.form)
// this.prAsbOpraOpts.formId
setTimeout(() =>{
this.prAsbOpraOpts.prAsbSave++
@ -1288,22 +1292,6 @@ export default {
//
if (this.patientRegister.photo.indexOf("data:image") > -1) savePeoplePhoto(res.data.id, this.patientRegister.photo);
objCopy(Object.assign({},res.data,{id:''}), this.form); //form.id
/**/
// this.patientRegister.prList.push(res.data); //
this.patientRegister.patientRegisterId = res.data.id;
objCopy(res.data, this.patientRegister.patientRegisterRd);
//this.patientRegister.query.times++;
let curRow = deepCopy(this.patientRegister.patientRegisterRd)
curRow.index = this.patientRegister.prList.length
this.patientRegister.prList.push(curRow)
console.log('新增this.form.id',this.form.id)
}
}
);
@ -1662,7 +1650,16 @@ export default {
console.log('refreshFormId',this.prAsbOpraOpts.formId)
this.form.id = this.prAsbOpraOpts.formId
this.prAsbOpraOpts.formId = '' //
this.prAsbOpraOpts.prAsbQuery++
/**/
// this.patientRegister.prList.push(res.data); //
this.patientRegister.patientRegisterId = this.form.id;
objCopy(this.form, this.patientRegister.patientRegisterRd);
//this.patientRegister.query.times++;
// let curRow = deepCopy(this.patientRegister.patientRegisterRd)
// curRow.index = this.patientRegister.prList.length
// this.patientRegister.prList.push(curRow)
}
},
@ -1674,7 +1671,7 @@ export default {
immediate:true,
deep:true,
handler(newVal, oldVal) {
//console.log('editTimes newVal',newVal,' oldVal',oldVal)
console.log('watch:formInitData.id:',newVal,' oldVal:',oldVal)
if (newVal != oldVal) {
this.initFormData()
}
@ -1683,7 +1680,7 @@ export default {
//
"editTimes"(newVal, oldVal) {
//console.log('editTimes newVal',newVal,' oldVal',oldVal)
console.log('editTimes newVal:',newVal,' oldVal:',oldVal)
if (newVal != oldVal) {
this.initFormData()
}

6
src/components/patientRegister/PatientRegisterItem.vue

@ -1045,11 +1045,7 @@ export default {
handler(newVal,oldVal){
this.oldFormId = oldVal
if(newVal != oldVal){
if(newVal == ''){
this.getPrAsb(newVal)
}else if(newVal != this.prAsbOpraOpts.formId){
this.getPrAsb(newVal)
}
this.getPrAsb(newVal)
}
}
},

48
src/components/patientRegister/PatientRegisterList.vue

@ -854,24 +854,38 @@ export default {
this.patientRegister.prList.forEach(e =>{
e.choosed = false
})
let currentRow = {}
let lfind = arrayExistObj(this.patientRegister.prList,'id',this.patientRegister.patientRegisterRd.id)
if(lfind > -1){
this.patientRegister.prList[lfind].choosed = true
currentRow = this.patientRegister.prList[lfind]
}else if(this.patientRegister.patientRegisterRd.id){
currentRow = deepCopy(this.patientRegister.patientRegisterRd)
lfind = this.patientRegister.prList.length
currentRow.choosed = true
currentRow.index = lfind
this.patientRegister.prList.push(currentRow)
}
let body = Object.assign({patientRegisterNo:this.patientRegister.patientRegisterRd.patientRegisterNo},this.loadOpts)
postapi("/api/app/patientregister/getlistinfilter", body).then(res =>{
console.log('closeDialogPR',res.data.items)
if(res.code != -1 && res.data.items.length > 0){
let currentRow = Object.assign({},res.data.items[0])
let lfind = arrayExistObj(this.patientRegister.prList,'id',currentRow.id)
if(lfind > -1){
currentRow = this.patientRegister.prList[lfind]
objCopy(Object.assign({},res.data.items[0]),currentRow)
this.patientRegister.prList[lfind].choosed = true
}else{
lfind = this.patientRegister.prList.length
currentRow.choosed = true
currentRow.index = lfind
this.patientRegister.prList.push(currentRow)
}
if(lfind > -1){
setTimeout(() => {
this.$refs['info'].setCurrentRow(currentRow)
}, 100)
}
if(lfind > -1){
setTimeout(() => {
this.$refs['info'].setCurrentRow(currentRow)
this.setForm(currentRow)
// this.patientRegister.query.customerOrgParentId = this.patientRegister.prList[lfind].customerOrgParentId;
this.patientRegister.customerOrgGroupChange = 0; //0
this.patientRegister.medicalPackageChange = 0; //0
// this.getCustomerOrgGroup(this.patientRegister.prList[lfind].customerOrgParentId);
this.dict.asbItem = [...this.dict.asbItemAll];
this.getPatientRegisterAbs(currentRow.id);
}, 100)
}
}
})
},

35
src/views/doctorCheck/doctorCheck.vue

@ -1,12 +1,39 @@
<template>
<div>
<el-card style="display: block; ">
<div slot="header">体检医生诊台</div>
<div slot="header" style="height:40px;">
<div style="display: flex;justify-content:space-between;">
<div>体检医生诊台 </div>
<div>
<el-image
style="margin-top:-5px; margin-right:100px; width: 120px; height: 130px;"
:src="peoplePhoto"
>
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
</div>
</div>
</div>
<div style="display: flex;">
<div :style="'width:' + (window.pageWidth - 110 - 45) + 'px;'">
<div>
<PatientRegisterBase/>
<div style="display: flex;justify-content:space-between;z-index:-1;" >
<div>
<PatientRegisterBase />
</div>
<div>
<el-image
:style="'margin-top:-80px; width: 120px; height: 130px;z-index:-1;'"
:src="peoplePhoto"
>
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
</div>
</div>
<div style="display: flex;">
<div style="width: 200px;">
<RegisterCheckList/>
@ -49,7 +76,7 @@ export default {
},
data() {
return {
peoplePhoto:'', //
};
},

Loading…
Cancel
Save