Browse Source

doctor seo

master
pengjun 2 years ago
parent
commit
21ff05e00e
  1. 5
      src/components/doctorCheck/PatientRegisterBase.vue
  2. 79
      src/components/doctorCheck/PatientRegisterList.vue
  3. 20
      src/components/patientRegister/patientRegisterQuery.vue
  4. 121
      src/components/report/PatientRegisterQueryNobtn.vue
  5. 1
      src/components/sumDoctorCheck/ButtonList.vue
  6. 3
      src/store/index.js

5
src/components/doctorCheck/PatientRegisterBase.vue

@ -190,8 +190,6 @@ export default {
if (res.code > 0) {
this.prBase.patientRegisterNo = res.data.patientRegisterNo
this.onQueryByPatientRegisterNo()
} else {
this.$message.warning({ showClose: true, message: '没有查询到人员信息!' })
}
})
},
@ -202,8 +200,6 @@ export default {
if (res.code > 0) {
this.prBase.patientRegisterNo = res.data.patientRegisterNo
this.onQueryByPatientRegisterNo()
} else {
this.$message.warning({ showClose: true, message: '没有查询到人员信息!' })
}
})
},
@ -211,6 +207,7 @@ export default {
//
onQueryByPatientRegisterNo() {
let patientRegisterNo = this.prBase.patientRegisterNo
if(!patientRegisterNo) return
let body = {
// sType: 1,
patientRegisterNo,

79
src/components/doctorCheck/PatientRegisterList.vue

@ -1,7 +1,7 @@
<template>
<div>
<!-- 查询条件 -->
<div style="display: flex; flex-wrap: wrap; width: 100%;height:142px; ">
<div :style="`display: flex; flex-wrap: wrap; width: 100%;height:${divHeight}px;`">
<div v-if="winAbsolute" style="position: absolute;top:3px;right:0px;">
<el-tooltip content="关闭人员列表窗口" placement="bottom" effect="light">
<i class="el-icon-close"
@ -19,7 +19,7 @@
<div class="query">
<span>姓名</span>
<el-input placeholder="姓名" v-model="local.query.patientName" size="small" clearable style="width: 100px" />
<el-input placeholder="姓名" v-model="local.query.patientName" size="small" clearable style="width: 110px" />
</div>
<div class="query">
<span>性别</span>
@ -29,7 +29,7 @@
</el-select>
</div>
<div class="query">
<span>检查状态</span>
<span>人员状态</span>
<el-select v-model="local.query.completeFlag" placeholder="请选择" clearable style="width: 80px" size="small">
<el-option v-for="item in local.completeFlag" :key="item.id" :label="item.displayName" :value="item.id">
</el-option>
@ -39,25 +39,39 @@
<el-option label="未审核" value="N" />
<el-option label="已审核" value="Y" />
</el-select>
<el-checkbox v-if="win == 'doctorCheck' ? true : false" v-model="local.query.haveImage">有图</el-checkbox>
</div>
<div class="query" v-if="win == 'doctorCheck' ? true : false">
<span>组合项目</span>
<el-select v-model="local.query.checkAsb" placeholder="快速选择组合项目" size="small" filterable
:filter-method="filterMethod" clearable @clear="quickAsb = deepCopy(asbItemQuick)" default-first-option
ref="quickAsbOCX" style="width:157px;text-align: left;">
<el-option v-for="item in quickAsb" :key="item.id" :value="item.id" :label="item.displayName" />
</el-select>
<el-checkbox v-if="win == 'doctorCheck'" v-model="local.query.haveImage">有图</el-checkbox>
</div>
<div class="query" v-if="win == 'doctorCheck'">
<span>组合项目</span>
<el-select v-model="local.query.checkAsb" placeholder="快速选择组合项目" size="small" filterable
:filter-method="filterMethod" clearable @clear="quickAsb = deepCopy(asbItemQuick)" default-first-option
ref="quickAsbOCX" style="width:207px;text-align: left;">
<el-option v-for="item in quickAsb" :key="item.id" :value="item.id" :label="item.displayName" />
</el-select>
</div>
<div class="query" v-if="win == 'doctorCheck'">
<span>检查状态</span>
<el-select v-model="local.query.checkCompleteFlag" placeholder="请选择" clearable style="width: 80px" size="small">
<el-option v-for="item in dict.checkCompleteFlag" :key="item.id" :label="item.displayName" :value="item.id">
</el-option>
</el-select>
<el-select v-model="local.query.isAuditCheck" placeholder="请选择" clearable style="width: 75px;margin: 0 2px;"
size="small">
<el-option label="未审核" value="N" />
<el-option label="已审核" value="Y" />
</el-select>
</div>
<div class="query">
<el-button class="commonbutton" type="primary" @click="query" size="small"
style="width:60px;height:26px;padding: 5px 0 5px 0px;">查询</el-button>
style="width:50px;height:26px;margin: 2px 0 2px -3px;">查询</el-button>
</div>
</div>
<!-- 人员列表 -->
<el-table :data="dataList" border width="100%"
:height="winAbsolute ? (window.pageHeight - 44 - 120 - 30 - 24) : (window.pageHeight - 44 - 120 - 24)" row-key="id"
:height="tableHeight" row-key="id"
size="small" highlight-current-row @row-click="rowClick" @row-dblclick="rowDblclick" ref="info" id="info"
style="border-radius:10px;">
<el-table-column prop="customerOrgParentName" label="单位" width="120" sortable>
@ -70,15 +84,15 @@
<div>{{ scope.row.customerOrgParentName ? scope.row.customerOrgName : "" }}</div>
</template>
</el-table-column>
<el-table-column prop="patientName" label="姓名" width="80" sortable/>
<el-table-column prop="patientName" label="姓名" width="80" sortable />
<el-table-column prop="sexId" label="性别" sortable>
<template slot-scope="scope">
<div>{{ dddw(dict.sex, "id", scope.row.sexId, "displayName") }}</div>
</template>
</el-table-column>
<el-table-column prop="age" label="年龄" />
<el-table-column prop="patientRegisterNo" label="条码号" width="150" sortable/>
<el-table-column prop="patientNo" label="档案号" sortable/>
<el-table-column prop="patientRegisterNo" label="条码号" width="150" sortable />
<el-table-column prop="patientNo" label="档案号" sortable />
<el-table-column prop="medicalTimes" label="体检次数"></el-table-column>
<el-table-column label="分组/套餐" width="150">
<template slot-scope="scope">
@ -97,7 +111,7 @@
</div>
</template>
</el-table-column>
<el-table-column prop="idNo" label="身份证" width="150" sortable/>
<el-table-column prop="idNo" label="身份证" width="150" sortable />
<el-table-column prop="birthDate" label="出生日期" width="100">
<template slot-scope="scope">
<div v-if="scope.row.birthDate">
@ -216,7 +230,9 @@ export default {
sex: '', //
idCardNo: '', //
haveImage: false,
checkAsb: '', //
checkAsb: '', //
checkCompleteFlag:'', //
isAuditCheck:'', //
},
completeFlag: []
},
@ -251,6 +267,16 @@ export default {
},
computed: {
...mapState(["window", "dataTransOpts", "dict", "customerOrg", "patientRegister", "doctorCheck", "sumDoctorCheck", "report"]),
divHeight() {
if (this.win == "doctorCheck") {
return 170
} else {
return 105
}
},
tableHeight(){
return this.winAbsolute ? (this.window.pageHeight - 46 - 30 - this.divHeight) : (this.window.pageHeight - 46 - this.divHeight)
},
},
methods: {
...mapMutations(['doctorCheckPrBaseInit', 'sumPREditInit']),
@ -291,6 +317,8 @@ export default {
this.local.completeFlag = deepCopy(this.dict.completeFlag)
this.local.completeFlag.splice(0, 1) //
this.local.completeFlag.splice(2, 0, { id: '4', displayName: '全部已检(未总检)' }) //
},
@ -415,23 +443,28 @@ export default {
if (this.local.query.completeFlag) body.completeFlag = this.local.query.completeFlag
if (this.local.query.checkAsb) body.asbitems = [this.local.query.checkAsb]
if (this.local.query.haveImage) body.isPicture = 'Y'
if (this.local.query.checkCompleteFlag) body.asbitemCompleteFlag = this.local.query.checkCompleteFlag
if (this.local.query.isAuditCheck) body.asbitemIsAudit = this.local.query.isAuditCheck
body.isFilterPreRegistration = 'Y' // Y= N= N (CompleteFlag0null)
// "patientName": "string",
// "sexId": "string",
// "isAudit": "string",
// "completeFlag": "string",
// "maxResultCount": 0
console.log('/api/patientregister/getpeisrecordlist', Object.assign(body,this.loadOpts))
// console.log('/api/patientregister/getpeisrecordlist', Object.assign(body, this.loadOpts))
// const loading = this.$loading({
// lock: true,
// text: "Loading",
// spinner: "el-icon-loading",
// background: "rgba(0, 0, 0, 0.7)",
// });
postapi('/api/patientregister/getpeisrecordlist', body)
body = Object.assign(body, this.loadOpts)
let url = '/api/app/PatientRegister/GetSumDoctorPeisRecordList'
if(this.win == "doctorCheck") url = '/api/app/PatientRegister/GetDoctorPeisRecordList'
postapi(url, body)
.then((res) => {
if (res.code > -1) {

20
src/components/patientRegister/patientRegisterQuery.vue

@ -78,13 +78,16 @@
</div>
<!-- 按钮区域 -->
<div style="margin-left: 10px;">
<div style="margin-left: 10px;margin-top: -10px;">
<div v-show="checkPagePriv(pagePriv.privs, '查询')" class="listBtn">
<el-button class="commonbutton" @click="btnQuery">查询</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '读身份证')" class="listBtn">
<el-button type="danger" class="commonbutton" @click="readIdCard">读身份证</el-button>
</div>
<div class="listBtn">
<el-button type="danger" class="commonbutton" @click="btnClear">清除条件</el-button>
</div>
</div>
</div>
</template>
@ -154,6 +157,17 @@ export default {
methods: {
checkPagePriv,
btnClear(){
this.patientRegister.query.patientRegisterNo = ''
this.patientRegister.query.patientNo = ''
this.patientRegister.query.patientName = ''
this.patientRegister.query.pacsNo = ''
this.patientRegister.query.lisNo = ''
this.patientRegister.query.sex = ''
this.patientRegister.query.phone = ''
this.patientRegister.query.idCardNo = ''
},
init(customerOrgId) {
if (!customerOrgId || customerOrgId == this.dict.personOrgId) {
this.patientRegister.query.customerOrgRegister = null
@ -241,8 +255,6 @@ export default {
if (res.code > 0) {
this.patientRegister.query.patientRegisterNo = res.data.patientRegisterNo
this.patientRegister.query.times++;
} else {
this.$message.warning({ showClose: true, message: '没有查询到人员信息!' })
}
})
},
@ -253,8 +265,6 @@ export default {
if (res.code > 0) {
this.patientRegister.query.patientRegisterNo = res.data.patientRegisterNo
this.patientRegister.query.times++;
} else {
this.$message.warning({ showClose: true, message: '没有查询到人员信息!' })
}
})
},

121
src/components/report/PatientRegisterQueryNobtn.vue

@ -160,48 +160,67 @@ export default {
v.beginTime,
v.isComplete == 'N' ? new Date() : v.endTime
];
}
},
// pacs
onQueryByPacsNo(checkRequestNo) {
postapi('/api/app/PatientRegister/GetPatientRegisterNoByCheckRequestNo', {checkRequestNo}).then(res => {
if (res.code > 0) {
this.patientRegister.query.patientRegisterNo = res.data.patientRegisterNo
this.patientRegister.query.times++;
} else {
this.$message.warning({ showClose: true, message: '没有查询到人员信息!' })
}
})
},
},
// lis
onQueryByLisNo(lisRequestNo) {
postapi('/api/app/PatientRegister/GetPatientRegisterNoByLisRequestNo', {lisRequestNo}).then(res => {
if (res.code > 0) {
this.patientRegister.query.patientRegisterNo = res.data.patientRegisterNo
this.patientRegister.query.times++;
} else {
this.$message.warning({ showClose: true, message: '没有查询到人员信息!' })
}
})
},
// pacs
onQueryByPacsNo(checkRequestNo) {
postapi('/api/app/PatientRegister/GetPatientRegisterNoByCheckRequestNo', { checkRequestNo }).then(res => {
if (res.code > 0) {
this.patientRegister.query.patientRegisterNo = res.data.patientRegisterNo
this.patientRegister.query.times++;
}
})
},
// lis
onQueryByLisNo(lisRequestNo) {
postapi('/api/app/PatientRegister/GetPatientRegisterNoByLisRequestNo', { lisRequestNo }).then(res => {
if (res.code > 0) {
this.patientRegister.query.patientRegisterNo = res.data.patientRegisterNo
this.patientRegister.query.times++;
}
})
},
//
enterToQuery() {
// console.log('enterToTab');
this.$nextTick(() => {
let inputs = document.querySelectorAll(["input"]); // //.inline-input
//
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();
//
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)
//
// console.log(input.getAttribute('placeholder'),input.value)
let placeholder = input.getAttribute('placeholder')
switch (placeholder) {
case '条码号':
case '档案号':
case '姓名':
case '预约手机号':
case '身份证号':
if (input.value) this.patientRegister.query.times++;
input.select()
break;
case '检查条码':
if (input.value) this.onQueryByPacsNo(input.value)
input.select()
break;
case '检验条码':
if (input.value) this.onQueryByLisNo(input.value)
input.select()
break;
}
}
});
input.addEventListener('click', (event) => {
let placeholder = input.getAttribute('placeholder')
switch (placeholder) {
case '条码号':
@ -209,37 +228,15 @@ export default {
case '姓名':
case '预约手机号':
case '身份证号':
if (input.value) this.patientRegister.query.times++;
input.select()
break;
case '检查条码':
if (input.value) this.onQueryByPacsNo(input.value)
input.select()
break;
case '检验条码':
if (input.value) this.onQueryByLisNo(input.value)
input.select()
break;
}
}
});
input.addEventListener('click', (event) => {
let placeholder = input.getAttribute('placeholder')
switch (placeholder) {
case '条码号':
case '档案号':
case '姓名':
case '预约手机号':
case '身份证号':
case '检查条码':
case '检验条码':
input.select()
break;
}
});
});
});
});
},
},
};
</script>

1
src/components/sumDoctorCheck/ButtonList.vue

@ -107,7 +107,6 @@ export default {
computed: {
...mapState(["window", "dict", "dataTransOpts", "patientRegister", "doctorCheck", "sumDoctorCheck"]),
},
methods: {

3
src/store/index.js

@ -135,6 +135,9 @@ export default new Vuex.Store({
customerOrgFlag: true, //单位作为查询条件
customerOrgRegister: { id: '' }, //单位体检次数
checkAsbs: null,
patientRegisterNo:'',
pacsNo:'',
lisNo:'',
patientName: '', //姓名
sex: '', //性别
idCardNo: '', //身份证号

Loading…
Cancel
Save