pengjun 2 years ago
parent
commit
8201b8d4ed
  1. 2
      src/components/doctorCheck/ButtonList.vue
  2. 129
      src/components/doctorCheck/PatientRegisterList.vue
  3. 47
      src/components/patientRegister/PatientRegisterList.vue

2
src/components/doctorCheck/ButtonList.vue

@ -270,9 +270,7 @@ export default {
checkPagePriv, checkPagePriv,
prList() { prList() {
// console.log('this.doctorCheck.doctorCheckDialogVisible', this.doctorCheck.doctorCheckDialogVisible)
this.doctorCheck.doctorCheckDialogVisible = true this.doctorCheck.doctorCheckDialogVisible = true
// console.log('this.doctorCheck.doctorCheckDialogVisible2', this.doctorCheck.doctorCheckDialogVisible)
}, },
// //

129
src/components/doctorCheck/PatientRegisterList.vue

@ -1,17 +1,20 @@
<template> <template>
<div> <div>
<!-- 查询条件 --> <!-- 查询条件 -->
<div style="display: flex; flex-wrap: wrap; width: 100%;height:142px; " >
<div style="display: flex; flex-wrap: wrap; width: 100%;height:142px; ">
<div v-if="winAbsolute" style="position: absolute;top:3px;right:0px;"> <div v-if="winAbsolute" style="position: absolute;top:3px;right:0px;">
<el-tooltip content="关闭人员列表窗口" placement="bottom" effect="light"> <el-tooltip content="关闭人员列表窗口" placement="bottom" effect="light">
<i class="el-icon-close" @click="doctorCheck.doctorCheckDialogVisible = false;sumDoctorCheck.sumDoctorCheckDialogVisible = false;"
<i class="el-icon-close"
@click="doctorCheck.doctorCheckDialogVisible = false; sumDoctorCheck.sumDoctorCheckDialogVisible = false;"
style="font-size: 24px;color: red;cursor:pointer;"></i> style="font-size: 24px;color: red;cursor:pointer;"></i>
</el-tooltip> </el-tooltip>
</div> </div>
<div class="query" style="display: flex;padding-top: 2px;"> <div class="query" style="display: flex;padding-top: 2px;">
<el-input placeholder="请选择体检单位" v-model="patientRegister.query.cusOrgOCX" style="width:238px;" size="small" disabled>
<el-input placeholder="请选择体检单位" v-model="patientRegister.query.cusOrgOCX" style="width:238px;" size="small"
disabled>
</el-input> </el-input>
<el-button icon="el-icon-search" @click="report.dialogCusOrgOCX = true" style="font-size: 20px;height:30px;min-width:30px; padding: 5px 5px;" size="small"></el-button>
<el-button icon="el-icon-search" @click="report.dialogCusOrgOCX = true"
style="font-size: 20px;height:30px;min-width:30px; padding: 5px 5px;" size="small"></el-button>
</div> </div>
<div class="query"> <div class="query">
@ -35,30 +38,30 @@
</el-select> </el-select>
<el-select v-model="patientRegister.query.isAudit" placeholder="请选择" clearable style="width: 75px;margin: 0 2px;" <el-select v-model="patientRegister.query.isAudit" placeholder="请选择" clearable style="width: 75px;margin: 0 2px;"
size="small"> size="small">
<el-option label="未审核" value="N"/>
<el-option label="已审核" value="Y"/>
<el-option label="未审核" value="N" />
<el-option label="已审核" value="Y" />
</el-select> </el-select>
<el-checkbox v-if="win == 'doctorCheck' ? true:false" v-model="local.query.haveImage">有图</el-checkbox>
<el-checkbox v-if="win == 'doctorCheck' ? true : false" v-model="local.query.haveImage">有图</el-checkbox>
</div> </div>
<div class="query" v-if="win == 'doctorCheck' ? true:false">
<div class="query" v-if="win == 'doctorCheck' ? true : false">
<span>组合项目</span> <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-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-option v-for="item in quickAsb" :key="item.id" :value="item.id" :label="item.displayName" />
</el-select> </el-select>
</div> </div>
<div class="query"> <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>
<el-button class="commonbutton" type="primary" @click="query" size="small"
style="width:60px;height:26px;padding: 5px 0 5px 0px;">查询</el-button>
</div> </div>
</div> </div>
<!-- 人员列表 --> <!-- 人员列表 -->
<el-table :data="dataList" border width="100%" :height="winAbsolute ? (window.pageHeight - 44 - 120 - 30) : (window.pageHeight - 44 - 120)" row-key="id" size="small"
highlight-current-row @row-click="rowClick" @row-dblclick="rowDblclick" ref="dataList" style="border-radius:10px;">
<el-table :data="dataList" border width="100%"
:height="winAbsolute ? (window.pageHeight - 44 - 120 - 30) : (window.pageHeight - 44 - 120)" row-key="id"
size="small" highlight-current-row @row-click="rowClick" @row-dblclick="rowDblclick" ref="dataList"
style="border-radius:10px;">
<el-table-column prop="customerOrgParentName" label="单位" width="120"> <el-table-column prop="customerOrgParentName" label="单位" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ scope.row.customerOrgParentName ? scope.row.customerOrgParentName : scope.row.customerOrgName }}</div> <div>{{ scope.row.customerOrgParentName ? scope.row.customerOrgParentName : scope.row.customerOrgName }}</div>
@ -69,7 +72,7 @@
<div>{{ scope.row.customerOrgParentName ? scope.row.customerOrgName : "" }}</div> <div>{{ scope.row.customerOrgParentName ? scope.row.customerOrgName : "" }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="patientName" label="姓名" width="80"/>
<el-table-column prop="patientName" label="姓名" width="80" />
<el-table-column prop="sexId" label="性别"> <el-table-column prop="sexId" label="性别">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ ldddw(dict.sex, "id", scope.row.sexId, "displayName") }}</div> <div>{{ ldddw(dict.sex, "id", scope.row.sexId, "displayName") }}</div>
@ -163,9 +166,9 @@
</el-table> </el-table>
<!--通用选单位体检次数分组的控件--> <!--通用选单位体检次数分组的控件-->
<el-dialog title="体检单位选择" :visible.sync="report.dialogCusOrgOCX"
:close-on-click-modal="false" :append-to-body="true" width="800px" height="600px">
<CusOrgOCX :useCustomerOrg="false" :initDateType="'medicalStartDate'"/>
<el-dialog title="体检单位选择" :visible.sync="report.dialogCusOrgOCX" :close-on-click-modal="false" :append-to-body="true"
width="800px" height="600px">
<CusOrgOCX :useCustomerOrg="false" :initDateType="'medicalStartDate'" />
</el-dialog> </el-dialog>
</div> </div>
@ -174,7 +177,7 @@
import moment from "moment"; import moment from "moment";
import { mapState, mapMutations } from "vuex"; import { mapState, mapMutations } from "vuex";
import { getapi, postapi, putapi, deletapi } from "@/api/api"; import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { dddw, objCopy, arrayReduce,deepCopy } from "../../utlis/proFunc"
import { dddw, objCopy, arrayReduce, deepCopy } from "../../utlis/proFunc"
import CusOrgOCX from "../../components/report/CusOrgOCX.vue" import CusOrgOCX from "../../components/report/CusOrgOCX.vue"
@ -183,7 +186,7 @@ export default {
components: { components: {
CusOrgOCX, CusOrgOCX,
}, },
props: ['win','winAbsolute'],
props: ['win', 'winAbsolute'],
data() { data() {
return { return {
dataList: [], // dataList: [], //
@ -191,16 +194,19 @@ export default {
dialogVisible: false, dialogVisible: false,
dialogCamera: false, dialogCamera: false,
local:{
query:{
haveImage:false,
checkAsb:'', //
local: {
query: {
haveImage: false,
checkAsb: '', //
}, },
completeFlag:[]
completeFlag: []
}, },
quickAsb: [], quickAsb: [],
asbItemQuick:[],
asbItemQuick: [],
oneClick: 0, // 1
DbClick: 0, // 1
}; };
}, },
@ -211,12 +217,12 @@ export default {
// //
mounted() { }, mounted() { },
computed: { computed: {
...mapState(["window","dataTransOpts", "dict", "patientRegister", "customerOrg", "doctorCheck", "sumDoctorCheck","report"]),
...mapState(["window", "dataTransOpts", "dict", "patientRegister", "customerOrg", "doctorCheck", "sumDoctorCheck", "report"]),
}, },
methods: { methods: {
...mapMutations(['doctorCheckPrBaseInit', 'sumPREditInit']), ...mapMutations(['doctorCheckPrBaseInit', 'sumPREditInit']),
dictInit(){
dictInit() {
// //
let today = moment(new Date()).format('yyyy-MM-DD'); let today = moment(new Date()).format('yyyy-MM-DD');
this.report.dataCusOrgOCX = [{ this.report.dataCusOrgOCX = [{
@ -234,15 +240,15 @@ export default {
this.patientRegister.query.cusOrgOCX = `(体检${today}~${today})` this.patientRegister.query.cusOrgOCX = `(体检${today}~${today})`
// //
postapi('/api/app/asbitem/GetBasicList',{isFilterActive:'Y'}).then(res =>{
if(res.code != -1){
postapi('/api/app/asbitem/GetBasicList', { isFilterActive: 'Y' }).then(res => {
if (res.code != -1) {
this.asbItemQuick = res.data this.asbItemQuick = res.data
this.quickAsb = res.data this.quickAsb = res.data
} }
}); });
this.local.completeFlag = deepCopy(this.dict.completeFlag) this.local.completeFlag = deepCopy(this.dict.completeFlag)
this.local.completeFlag.splice(0,1) //
this.local.completeFlag.splice(0, 1) //
}, },
// //
@ -285,6 +291,28 @@ export default {
// //
rowClick(row) { rowClick(row) {
if (this.oneClick == 0) {
this.oneClick = 1;
} else {
this.DbClick = 1;
}
//
if (this.DbClick == 1) { //id
this.rowClickRetrieve(row)
return;
}
setTimeout(() => { //300ms
if(this.oneClick == 1 && this.DbClick == 0) this.rowClickRetrieve(row)
}, 300)
},
rowClickRetrieve(row) {
this.oneClick = 0;
this.DbClick = 0;
this.dataTransOpts.tableS.patient_register = deepCopy(row) this.dataTransOpts.tableS.patient_register = deepCopy(row)
// setTimeout(() => { // setTimeout(() => {
this.dataTransOpts.refresh.patient_register.S++ // this.dataTransOpts.refresh.patient_register.S++ //
@ -301,13 +329,13 @@ export default {
}, },
// //
rowDblclick(row){
rowDblclick(row) {
this.rowClick(row) this.rowClick(row)
if(this.win == 'doctorCheck'){
this.doctorCheck.doctorCheckDialogVisible = false this.doctorCheck.doctorCheckDialogVisible = false
}else{
this.sumDoctorCheck.sumDoctorCheckDialogVisible = false this.sumDoctorCheck.sumDoctorCheckDialogVisible = false
}
// console.log('rowDblclick', this.doctorCheck.doctorCheckDialogVisible, this.sumDoctorCheck.sumDoctorCheckDialogVisible)
}, },
ldddw(arrayData, key, value, display) { ldddw(arrayData, key, value, display) {
@ -320,22 +348,22 @@ export default {
// //
query() { query() {
let body = {},customerOrgs=[]
console.log('this.report.dataCusOrgOCX',this.report.dataCusOrgOCX)
let body = {}, customerOrgs = []
console.log('this.report.dataCusOrgOCX', this.report.dataCusOrgOCX)
if (this.report.dataCusOrgOCX.length > 0) { if (this.report.dataCusOrgOCX.length > 0) {
this.report.dataCusOrgOCX.forEach(e => { this.report.dataCusOrgOCX.forEach(e => {
let rd = { let rd = {
startDate: moment(e.startDate).format('yyyy-MM-DD'), startDate: moment(e.startDate).format('yyyy-MM-DD'),
endDate: moment(e.endDate).format('yyyy-MM-DD'), endDate: moment(e.endDate).format('yyyy-MM-DD'),
dateType: e.dateType == 'summaryDate' ? '3':(e.dateType == 'medicalStartDate' ? '2':'1')
dateType: e.dateType == 'summaryDate' ? '3' : (e.dateType == 'medicalStartDate' ? '2' : '1')
} }
if (e.customerOrgId) { if (e.customerOrgId) {
rd.customerOrgId = e.customerOrgId rd.customerOrgId = e.customerOrgId
if(e.customerOrgId == this.dict.personOrgId){
if (e.customerOrgId == this.dict.personOrgId) {
rd.customerOrgRegisterId = null rd.customerOrgRegisterId = null
rd.customerOrgGroupId = [] rd.customerOrgGroupId = []
}else{
} else {
rd.customerOrgRegisterId = e.customerOrgRegister.id rd.customerOrgRegisterId = e.customerOrgRegister.id
rd.customerOrgGroupId = e.customerOrgGroupIds rd.customerOrgGroupId = e.customerOrgGroupIds
} }
@ -345,12 +373,12 @@ export default {
} }
body.customerOrgs = customerOrgs body.customerOrgs = customerOrgs
if(this.patientRegister.query.patientName) body.patientName = this.patientRegister.query.patientName
if(this.patientRegister.query.sex) body.sexId = this.patientRegister.query.sex
if(this.patientRegister.query.isAudit) body.isAudit = this.patientRegister.query.isAudit
if(this.patientRegister.query.completeFlag) body.completeFlag = this.patientRegister.query.completeFlag
if(this.local.query.checkAsb) body.asbitems = [this.local.query.checkAsb]
if(this.local.query.haveImage) body.isPicture = 'Y'
if (this.patientRegister.query.patientName) body.patientName = this.patientRegister.query.patientName
if (this.patientRegister.query.sex) body.sexId = this.patientRegister.query.sex
if (this.patientRegister.query.isAudit) body.isAudit = this.patientRegister.query.isAudit
if (this.patientRegister.query.completeFlag) body.completeFlag = this.patientRegister.query.completeFlag
if (this.local.query.checkAsb) body.asbitems = [this.local.query.checkAsb]
if (this.local.query.haveImage) body.isPicture = 'Y'
body.maxResultCount = 1000 body.maxResultCount = 1000
body.isFilterPreRegistration = 'Y' // Y= N= N (CompleteFlag0null) body.isFilterPreRegistration = 'Y' // Y= N= N (CompleteFlag0null)
@ -369,7 +397,7 @@ export default {
// }); // });
postapi('/api/patientregister/getpeisrecordlist', body) postapi('/api/patientregister/getpeisrecordlist', body)
.then((res) => { .then((res) => {
if(res.code != -1){
if (res.code != -1) {
this.dataList = res.data.items; this.dataList = res.data.items;
} }
}) })
@ -400,7 +428,6 @@ export default {
}; };
</script> </script>
<style scoped> <style scoped>
.box { .box {
display: flex; display: flex;
} }

47
src/components/patientRegister/PatientRegisterList.vue

@ -6,7 +6,7 @@
<div> <div>
<el-table @body-scrolling="load" :data="tableData" border <el-table @body-scrolling="load" :data="tableData" border
:height="window.pageHeight < 600 ? 248 : Math.floor(((window.pageHeight - 250) * 2) / 3)" :height="window.pageHeight < 600 ? 248 : Math.floor(((window.pageHeight - 250) * 2) / 3)"
highlight-current-row @row-click="rowClick" size="small" row-key="id"
highlight-current-row @row-click="rowClick" @row-dblclick="rowDblclick" size="small" row-key="id"
@selection-change="handleSelectionChange" @cell-contextmenu="onCellRightClick" ref="info" id="info" @selection-change="handleSelectionChange" @cell-contextmenu="onCellRightClick" ref="info" id="info"
:row-class-name="handleRowClassName"> :row-class-name="handleRowClassName">
<!-- 取消勾选改为选中 <!-- 取消勾选改为选中
@ -306,6 +306,8 @@ export default {
}, },
loadOptsInit: {}, loadOptsInit: {},
oneClick: 0, // 1
DbClick: 0, // 1
}; };
}, },
@ -491,7 +493,27 @@ export default {
// //
rowClick(row) { rowClick(row) {
//console.log("this.tableData",this.window,this.tableData);
if (this.oneClick == 0) {
this.oneClick = 1;
} else {
this.DbClick = 1;
}
//
if (this.DbClick == 1) { //id
this.rowClickRetrieve(row)
return;
}
setTimeout(() => { //300ms
if(this.oneClick == 1 && this.DbClick == 0) this.rowClickRetrieve(row)
}, 300)
},
rowClickRetrieve(row) {
this.oneClick = 0;
this.DbClick = 0;
// shift // shift
if (this.window.shift) { if (this.window.shift) {
@ -549,23 +571,14 @@ export default {
// //
this.dataTransOpts.tableS.patient_register.id = this.tableData[lfind].id this.dataTransOpts.tableS.patient_register.id = this.tableData[lfind].id
this.tableDataCurrentRow = deepCopy(this.tableData[lfind]) this.tableDataCurrentRow = deepCopy(this.tableData[lfind])
// this.getCustomerOrgGroup(this.tableData[lfind].customerOrgParentId);
setTimeout(() => {
this.dataTransOpts.refresh.register_check_asbitem.M++ // this.dataTransOpts.refresh.register_check_asbitem.M++ //
}, 10);
//
// if(this.patientRegister.patientRegisterRd.id != this.tableData[lfind].id){
// this.setForm(this.tableData[lfind])
// // this.patientRegister.query.customerOrgParentId = this.tableData[lfind].customerOrgParentId;
// this.patientRegister.customerOrgGroupChange = 0; //0
// this.patientRegister.medicalPackageChange = 0; //0
// // this.getCustomerOrgGroup(this.tableData[lfind].customerOrgParentId);
// this.dict.asbItem = [...this.dict.asbItemAll];
// this.getPatientRegisterAbs(this.tableData[lfind].id);
// }
} }
},
//
rowDblclick(row){
this.rowClick(row)
this.btnEdit()
}, },
// //
@ -598,8 +611,6 @@ export default {
}, },
// //
refreshRegister(patientRegister) { refreshRegister(patientRegister) {
console.log('编辑/新增的 form :', patientRegister) console.log('编辑/新增的 form :', patientRegister)

Loading…
Cancel
Save