|
|
<template> <div> <div> <div class="middlebox"> <div class="contenttitle"> 体检查询 / <span class="contenttitleBold" >人员未检组合项目</span > </div> </div> <div :style="'display: block;'"> <div style="background-color: #fff; padding: 15px; border-radius: 8px;display: flex;flex-wrap: wrap; margin-bottom: 10px;height:35px;margin-top: 7px;"> <div class="query"> <span>体检单位:</span> <el-input placeholder="请选择单位" v-model="patientRegister.query.cusOrgOCX" style="width:300px;" size="small" disabled> <el-button slot="append" icon="el-icon-search" @click="report.dialogCusOrgOCX = true"></el-button> </el-input> </div> <div class="query"> <span>检查状态:</span> <el-select v-model="patientRegister.query.completeFlag" placeholder="请选择" clearable style="width: 80px" size="small"> <el-option v-for="item in dict.completeFlag" :key="item.id" :label="item.displayName" :value="item.id"> </el-option> </el-select> </div> <div class="query" style="margin-top: 3px;"> <el-checkbox v-model="patientRegister.query.containRefuse" >包含弃检</el-checkbox> </div> <div class="query"> <el-button type="primary" @click="btnQuery" size="small" class="commonbutton">查询</el-button> </div> <div class="query"> <el-button @click="handleExport" size="small" class="commonbutton" >导出excel</el-button > </div> </div> <div style="background-color: #fff; padding: 15px; border-radius: 8px;"> <el-table :data="dataList" border width="100%" id="table" :height="window.pageHeight < 600 ? 415 : window.pageHeight - 185-20" row-key="id" size="small" highlight-current-row ref="dataList" > <el-table-column label="未检项目" width="300"> <template slot-scope="scope"> <div style="display: flex; flex-wrap: wrap;"> <span v-for="(item,index) in scope.row.unCheckAsbitems" :key="item">{{index==0?'':'、'}}{{ item }}</span> <span v-for="(item,index) in scope.row.giveUpAsbitems" :key="item">、{{ item }}</span> <!-- <el-tag type="danger" style="margin-left: 5px;" v-for="item in scope.row.unCheckAsbitems" :key="item" size="mini">{{ item }}</el-tag>
<el-tag type="info" style="margin-left: 5px;" v-for="item in scope.row.giveUpAsbitems" :key="item" size="mini">{{ item }}</el-tag> --> </div> </template> </el-table-column> <el-table-column prop="patientRegisterNo" label="人员条码号" width="130"/> <el-table-column prop="patientNo" label="档案号" width="130"/> <el-table-column prop="medicalTimes" label="体检次数" width="70" align="center"/> <el-table-column prop="customerOrgName" label="单位" width="180" /> <!-- <el-table-column prop="customerOrgParentName" label="单位" width="180"> <template slot-scope="scope"> <div>{{ scope.row.customerOrgParentName ? scope.row.customerOrgParentName : scope.row.customerOrgName }}</div> </template> </el-table-column> --> <el-table-column prop="departmentName" label="部门" width="180" /> <!-- <el-table-column prop="customerOrgName" label="部门" width="180"> <template slot-scope="scope"> <div>{{ scope.row.customerOrgParentName ? scope.row.customerOrgName : "" }}</div> </template> </el-table-column> --> <el-table-column label="分组/套餐" width="150"> <template slot-scope="scope"> <!-- <div v-if="scope.row.medicalPackageId !== dict.personOrgId && scope.row.customerOrgId === dict.personOrgId"> {{ dddw(dict.medicalPackage, "id", scope.row.medicalPackageId, "displayName") }} </div> <div v-if="scope.row.medicalPackageId !== dict.personOrgId && scope.row.customerOrgId !== dict.personOrgId"> {{ dddw(dict.customerOrgGroupAll, "id", scope.row.customerOrgGroupId, "displayName") }} </div> --> <div v-if="scope.row.medicalPackageName"> {{ scope.row.medicalPackageName }} </div> <div v-if="scope.row.customerOrgGroupName"> {{ scope.row.customerOrgGroupName }} </div> </template> </el-table-column> <el-table-column prop="patientName" label="姓名" width="80"/> <el-table-column prop="sexName" label="性别" align="center"/> <!-- <el-table-column prop="sexId" label="性别" > <template slot-scope="scope"> <div>{{ dddw(dict.sex, "id", scope.row.sexId, "displayName") }}</div> </template> </el-table-column> --> <el-table-column prop="age" label="年龄" align="center"/> <el-table-column prop="mobileTelephone" label="手机" width="100" /> <el-table-column prop="telephone" label="电话" width="100" /> </el-table> </div> </div> </div> <!--通用选单位、体检次数、分组的控件--> <el-dialog title="体检单位选择" :visible.sync="report.dialogCusOrgOCX" :close-on-click-modal="false" width="880px" height="600px"> <CusOrgOCX/> </el-dialog> </div></template><script>import moment from "moment";import { mapState, mapActions } from "vuex";import { getapi, postapi, putapi, deletapi } from "@/api/api";import { dddw, objCopy, arrayReduce, arrayExistObj,tcdate } from "@/utlis/proFunc";import CusOrgOCX from "../../components/report/CusOrgOCX.vue"import { exportToExcel } from "../../utlis/Export2Excel";export default { components: { CusOrgOCX, }, data() { return { dataList: [], //列表数据
}; },
created() { this.patientRegister.query.containRefuse = true; this.dictInit(); },
//挂载完成
mounted() { // this.btnQuery();
}, computed: { ...mapState(["window", "dict","patientRegister","report"]), },
methods: { moment,dddw, //数据初始化
dictInit() { //性别
getapi("/api/app/sex").then((res) => { if (res.code == 1) { this.dict.sex = res.data; } });
//体检中心
getapi("/api/app/organization-units/organization-unit-by-is-peis").then( (res) => { if (res.code == 1) { this.dict.organization = res.data; } } );
//体检单位树
getapi("/api/app/customerorg/getbycodeall").then((res) => { if (res.code == 1) { this.patientRegister.customerOrgTreeAll = res.data; tcdate(this.patientRegister.customerOrgTreeAll); } });
//体检类别
getapi("/api/app/medical-type/in-filter").then((res) => { if (res.code == 1) { this.dict.medicalType = res.data; } });
//人员类别
getapi("/api/app/personnel-type/in-filter").then((res) => { if (res.code == 1) { this.dict.personnelType = res.data; } });
//婚姻状况
getapi("/api/app/MaritalStatus/GetMaritalStatusList").then((res) => { if (res.code == 1) { this.dict.maritalStatus = res.data; } });
//性激素期
getapi("/api/app/sex-hormone-term/in-filter").then((res) => { if (res.code == 1) { this.dict.sexHormoneTerm = res.data; } });
//民族
getapi("/api/app/nation/in-filter").then((res) => { if (res.code == 1) { this.dict.nation = res.data; } });
//籍惯 ,出生地
getapi("/api/app/birth-place/in-filter").then((res) => { if (res.code == 1) { this.dict.birthPlace = res.data; } });
//套餐
postapi("/api/app/medicalpackage/GetBasicList",{}).then((res) => { if (res.code == 1) { this.dict.medicalPackage = res.data; } });
//分组,所有分组,不限单位,不限次数
// getapi("/api/app/customer-org-group").then((res) => {
// if (res.code == 1) {
// this.dict.customerOrgGroupAll = res.data.items;
// }
// });
//支付方式
getapi("/api/app/pay-mode").then((res) => { if (res.code == 1) { this.dict.payMode = res.data; } });
//体检类别 树结构
getapi("/api/app/item-type/by-code-all").then((res) => { if (res.code == 1) { this.dict.itemTypeTree = res.data; tcdate(this.dict.itemTypeTree); } });
postapi("/api/app/asbitem/GetBasicList",{}).then((res) => { if (res.code == 1) { this.dict.asbItemAll = res.data; } }); }, handleExport() { exportToExcel("#table", "人员未检组合项目", false); }, //查询
btnQuery() { let body = {}, customerOrgs = []; // {
// "customerOrgs": [
// {
// "customerOrgId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
// "customerOrgRegisterId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
// "customerOrgGroupId": [
// "3fa85f64-5717-4562-b3fc-2c963f66afa6"
// ],
// "dateType": "string",
// "startDate": "string",
// "endDate": "string"
// }
// ],
// "completeFlag": "string"
// }
if (this.report.dataCusOrgOCX.length > 0) { this.report.dataCusOrgOCX.forEach(e => { let dateType = '1' switch (e.dateType) { case 'medicalStartDate': dateType = '2' break; case 'checkDate': dateType = '4' break; case 'summaryDate': dateType = '3' break; case 'sumCheckDate': dateType = '5' break; default: break; } let rd = { startDate: moment(e.startDate).format('yyyy-MM-DD'), endDate: moment(e.endDate).format('yyyy-MM-DD'), dateType }
if (e.customerOrgId) { rd.customerOrgId = e.customerOrgId if (e.customerOrgId == this.dict.personOrgId) { rd.customerOrgRegisterId = null rd.customerOrgGroupId = [] } else { rd.customerOrgRegisterId = e.customerOrgRegister.id rd.customerOrgGroupId = e.customerOrgGroupIds } } customerOrgs.push(rd) }) }
body.customerOrgs = customerOrgs
if (this.patientRegister.query.completeFlag) body.completeFlag = this.patientRegister.query.completeFlag if (this.patientRegister.query.containRefuse){ body.isGiveUpCheck = 'Y' }else{ body.isGiveUpCheck = 'N' }
//console.log('/api/app/peisreport/getpatientregisterreport',body)
postapi('/api/app/peisreport/getpatientregisteruncheckedreport', body).then(res => { if (res.code != -1) { this.dataList = res.data; } }) }, },
//监听事件
watch: { //触发查询事件
// "patientRegister.query.times"(newVal, oldVal) {
// if (newVal != oldVal) {
// //alert('触发查询事件')
// this.query();
// }
// },
},};</script><style scoped>@import '../../assets/css/global_button.css';@import '../../assets/css/global_card.css';@import '../../assets/css/global_input.css';@import '../../assets/css/global_table.css';@import '../../assets/css/global.css';
.query { margin-left: 10px; font-size: 14px; color: #232748; font-weight: 400; font-family: "NotoSansSC-Regular";}
::v-deep .el-icon-search:before { color: #00F;}</style>
|