外呼记录搜索条件批次新增明细

This commit is contained in:
2025-03-26 10:43:37 +08:00
parent 66ea32162a
commit f82fabcba3
6 changed files with 88 additions and 91 deletions

View File

@ -91,7 +91,7 @@ export default {
*/ */
name: "Pagination", name: "Pagination",
// //
props: ["total", "pageSize", "indexFromWrap", "indexFrom"], props: ["total", "pageSize", "indexFromWrap"],
data() { data() {
return { return {
lxyms: 7, lxyms: 7,
@ -214,18 +214,6 @@ export default {
deep: true, deep: true,
immediate: true, immediate: true,
}, },
indexFrom: {
handler(val) {
if (val) {
this.currentpageSize = val;
} else {
this.currentpageSize = 10;
}
},
deep: true,
immediate: true,
},
}, },
}; };
</script> </script>

View File

@ -58,23 +58,20 @@
<el-option v-for="item in wardlist" :key="item.id" :label="item.departmentName" :value="item.id"> <el-option v-for="item in wardlist" :key="item.id" :label="item.departmentName" :value="item.id">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> --> </el-form-item>
<!-- <el-form-item label="主治医生" prop="attendingPhysicianId"> <el-form-item label="主治医生" prop="attendingPhysicianId">
<el-select v-model="queryParams.attendingPhysicianId" style="width: 200px" filterable placeholder="请选择主治医生" <el-select v-model="queryParams.attendingPhysicianId" style="width: 200px" filterable placeholder="请选择主治医生"
clearable> clearable>
<el-option v-for="item in attendingPhysicianlist" :key="item.userId" :label="item.nickName" <el-option v-for="item in attendingPhysicianlist" :key="item.userId" :label="item.nickName"
:value="item.userId"> :value="item.userId">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> --> </el-form-item>
<el-form-item>
<!-- <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item> --> </el-form-item> -->
</SearchFilter> </SearchFilter>
</div> </div>
<div ref="table"> <div ref="table">
<el-table :max-height="maxTableHeight" v-loading="loading" :data="patientInfoList"> <el-table :max-height="maxTableHeight" v-loading="loading" :data="patientInfoList">
@ -90,9 +87,6 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="诊断" align="center" prop="mainDiagnosis" /> <el-table-column label="诊断" align="center" prop="mainDiagnosis" />
<!-- <el-table-column label="性别" align="center" prop="sex"> <!-- <el-table-column label="性别" align="center" prop="sex">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.sex == "MALE" ? "男" : "" }} {{ scope.row.sex == "MALE" ? "男" : "" }}
@ -100,7 +94,6 @@
</template> </template>
</el-table-column> --> </el-table-column> -->
<!-- <el-table-column label="出生日期" align="center" prop="birthDate" width="130" /> <!-- <el-table-column label="出生日期" align="center" prop="birthDate" width="130" />
<el-table-column label="院区" align="center" prop="campusAgencyName" width="130" /> <el-table-column label="院区" align="center" prop="campusAgencyName" width="130" />
<el-table-column label="病区名称" align="center" prop="wardName" width="130" /> <el-table-column label="病区名称" align="center" prop="wardName" width="130" />
<el-table-column label="住院/门诊号" align="center" prop="inHospitalNumber" width="130" /> <el-table-column label="住院/门诊号" align="center" prop="inHospitalNumber" width="130" />
@ -126,13 +119,12 @@
<el-button size="mini" type="text" @click="handleAuthRole(scope.row)">详情</el-button> <el-button size="mini" type="text" @click="handleAuthRole(scope.row)">详情</el-button>
<el-button size="mini" type="text" @click="handleDelete(scope.row)">删除</el-button> <el-button size="mini" type="text" @click="handleDelete(scope.row)">删除</el-button>
<!-- <el-button size="mini" type="text" @click="handleedit(scope.row)">画像编辑</el-button> --> <!-- <el-button size="mini" type="text" @click="handleedit(scope.row)">画像编辑</el-button> -->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<!-- <myPagination v-show="total > 0" :total="total" :pageSize="queryParams.pageSize" <myPagination v-show="total > 0" :total="total" :pageSize="queryParams.pageSize"
:indexFromWrap="queryParams.pageNum" :indexFrom="indexFrom" @updateCPage="updateCPage"></myPagination> --> :indexFromWrap="queryParams.pageNum" :indexFrom="indexFrom" @updateCPage="updateCPage"></myPagination>
</div> </div>
</template> </template>
@ -155,7 +147,6 @@ export default {
components: { SearchFilter, cardlist }, components: { SearchFilter, cardlist },
data() { data() {
return { return {
indexFrom: 100,
searchData: {}, searchData: {},
maxTableHeight: undefined, maxTableHeight: undefined,
attendingPhysicianlist: [], attendingPhysicianlist: [],
@ -501,12 +492,7 @@ export default {
const layoutDiv = this.$refs.layout; const layoutDiv = this.$refs.layout;
const formDiv = this.$refs.topform; const formDiv = this.$refs.topform;
const mb8Div = this.$refs.mb8; const mb8Div = this.$refs.mb8;
this.maxTableHeight = this.maxTableHeight = windowInnerHeight - 134 - this.getBoxPadding(layoutDiv) - this.getBoxHeight(mb8Div) - this.getBoxHeight(formDiv);
windowInnerHeight -
134 -
this.getBoxPadding(layoutDiv) -
this.getBoxHeight(mb8Div) -
this.getBoxHeight(formDiv);
}, },
// resize // resize
screenChange() { screenChange() {

View File

@ -146,7 +146,7 @@
</el-table> </el-table>
</div> </div>
<myPagination v-show="total > 0" :total="total" :pageSize="queryParams.pageSize" <myPagination v-show="total > 0" :total="total" :pageSize="queryParams.pageSize"
:indexFromWrap="queryParams.pageNum" :indexFrom="indexFrom" @updateCPage="updateCPage"></myPagination> :indexFromWrap="queryParams.pageNum" @updateCPage="updateCPage"></myPagination>
</div> </div>
</template> </template>
@ -167,7 +167,6 @@ export default {
components: { SearchFilter, cardlist }, components: { SearchFilter, cardlist },
data() { data() {
return { return {
indexFrom: 100,
searchData: {}, searchData: {},
maxTableHeight: undefined, maxTableHeight: undefined,
attendingPhysicianlist: [], attendingPhysicianlist: [],

View File

@ -1,8 +1,8 @@
<template> <template>
<div class="app-container" ref="layout"> <div class="app-container" ref="layout">
<div ref="topform" class="form"> <div ref="topform" class="form">
<SearchFilter labelWidth="90px" :labelWidths="310" size="small" @search="handleQuery" <SearchFilter labelWidth="90px" :labelWidths="310" size="small" @search="handleQuery" @reset="resetQuery"
@reset="resetQuery" @minShowCtrol="getMaxTableHeight"> @minShowCtrol="getMaxTableHeight">
<el-form-item label="姓名" prop="patientName"> <el-form-item label="姓名" prop="patientName">
<el-input style="width: 220px" v-model="queryParams.patientName" placeholder="请输入患者姓名" clearable <el-input style="width: 220px" v-model="queryParams.patientName" placeholder="请输入患者姓名" clearable
@keyup.enter.native="handleQuery" /> @keyup.enter.native="handleQuery" />

View File

@ -15,12 +15,15 @@
<!--用户数据--> <!--用户数据-->
<el-col :span="24" :xs="24"> <el-col :span="24" :xs="24">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
label-width="100px"> label-width="110px">
<el-form-item label="导入日期" prop="" label-width="120px"> <el-form-item label="导入日期" prop="">
<el-date-picker v-model="createTime" type="daterange" range-separator="" start-placeholder="开始日期" <el-date-picker v-model="createTime" type="daterange" range-separator="" start-placeholder="开始日期"
style="width: 220px" value-format="yyyy-MM-dd" end-placeholder="结束日期"> style="width: 220px" value-format="yyyy-MM-dd" end-placeholder="结束日期">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="批次名称" prop="importName">
<el-input v-model="queryParams.importName" placeholder="请输入批次名称" clearable style="width: 200px" />
</el-form-item>
<el-form-item label="医院" prop=""> <el-form-item label="医院" prop="">
<el-select v-model="queryParams.hospitalAgencyId" filterable placeholder="请选择医院" style="width:220px" <el-select v-model="queryParams.hospitalAgencyId" filterable placeholder="请选择医院" style="width:220px"
clearable @clear="clearhospitalAgency" @change="changehospitalAgency"> clearable @clear="clearhospitalAgency" @change="changehospitalAgency">
@ -49,8 +52,9 @@
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="批次名称" align="center" prop="importName" width="150" />
<el-table-column label="患者数" align="center" prop="patientCount" width="150" /> <el-table-column label="患者数" align="center" prop="patientCount" width="150" />
<el-table-column label="操作人" align="center" prop="createBy" /> <!-- <el-table-column label="操作人" align="center" prop="createBy" /> -->
<el-table-column label="导入日期" align="center" prop="createTime"> <el-table-column label="导入日期" align="center" prop="createTime">
<template slot-scope="scope"> <template slot-scope="scope">
<span> <span>
@ -74,45 +78,44 @@
@pagination="getlist" /> @pagination="getlist" />
</el-dialog> </el-dialog>
<el-dialog title="导入明细" :visible.sync="ImportDetailsopen" width="70%" :before-close="ImportDetailsopenfalse"> <el-dialog title="导入明细" :visible.sync="ImportDetailsopen" width="70%" :before-close="ImportDetailsopenfalse">
<SearchFilter :labelWidths="310" labelWidth="90px" size="small" @search="ImportDetailhandleQuery" <!-- <el-form :model="ImportDetailqueryParams" size="small" :inline="true" label-width="100px" @submit.prevent>
@reset="ImportDetailresetQuery" @minShowCtrol="getMaxTableHeight" @handleRules="handleRules">
<el-form-item label="姓名" prop="patientName"> <el-form-item label="姓名" prop="patientName">
<el-input v-model="ImportDetailqueryParams.patientName" placeholder="请输入姓名" clearable <el-input v-model="ImportDetailqueryParams.patientName" placeholder="请输入姓名" clearable style="width: 200px" />
@keyup.enter.native="ImportDetailhandleQuery" style="width: 200px" />
</el-form-item> </el-form-item>
<el-form-item label="联系电话" prop="patientPhone"> <el-form-item label="联系电话" prop="patientPhone">
<el-input v-model="ImportDetailqueryParams.patientPhone" placeholder="请输入联系电话" clearable <el-input v-model="ImportDetailqueryParams.patientPhone" placeholder="请输入联系电话" clearable
@keyup.enter.native="ImportDetailhandleQuery" style="width: 200px" /> style="width: 200px" />
</el-form-item> </el-form-item>
<el-form-item label="医院" prop="hospitalAgencyId"> <el-form-item label="医院" prop="hospitalAgencyId">
<el-select v-model="ImportDetailqueryParams.hospitalAgencyId" filterable placeholder="请选择医院" <el-select v-model="ImportDetailqueryParams.hospitalAgencyId" filterable placeholder="请选择医院"
style="width: 200px" clearable @clear="clearhospitalAgency" @change="changehospitalAgency"> style="width: 200px" clearable @clear="clearhospitalAgency(1)" @change="changehospitalAgency($event, 1)">
<el-option v-for="item in hospitalAgencylist" :key="item.id" :label="item.agencyName" :value="item.id"> <el-option v-for="item in hospitalAgencylist" :key="item.id" :label="item.agencyName" :value="item.id">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="科室" prop="departmentId"> <el-form-item label="科室" prop="departmentId">
<el-select v-model="ImportDetailqueryParams.departmentId" filterable placeholder="请选择科室" style="width: 200px" <el-select v-model="ImportDetailqueryParams.departmentId" filterable placeholder="请选择科室" style="width: 200px"
clearable @clear="cleardepartment" @change="changedepartment"> clearable>
<el-option v-for="item in departmentlist" :key="item.id" :label="item.departmentName" :value="item.id"> <el-option v-for="item in departmentlist" :key="item.id" :label="item.departmentName" :value="item.id">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</SearchFilter> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="ImportDetailhandleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="ImportDetailresetQuery">重置</el-button>
</el-form-item>
</el-form> -->
<el-table :data="patientInfoList"> <el-table :data="patientInfoList">
<el-table-column label="序号" type="index" width="48" align="center" /> <el-table-column label="序号" type="index" width="50" align="center" />
<el-table-column label="姓名" align="center" prop="patientName" /> <el-table-column label="姓名" align="center" prop="patientName" />
<el-table-column label="联系电话" align="center" prop="patientPhone" /> <el-table-column label="联系电话" align="center" prop="patientPhone" />
<el-table-column label="年龄" align="center" prop="age" /> <el-table-column label="年龄" align="center" prop="age" />
<el-table-column label="医院" align="center" prop="hospitalAgencyName" /> <el-table-column label="医院" align="center" prop="hospitalAgencyName" />
<el-table-column label="科室名称" align="center" prop="departmentName" /> <el-table-column label="科室名称" align="center" prop="departmentName" />
<el-table-column label="导入日期" align="center" prop="visitDate">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.Timeimport, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column label="诊断" align="center" prop="mainDiagnosis" /> <el-table-column label="诊断" align="center" prop="mainDiagnosis" />
</el-table> </el-table>
<pagination v-show="ImportDetailtotal > 0" :total="ImportDetailtotal" :page.sync="ImportDetailqueryParams.pageNum"
:limit.sync="ImportDetailqueryParams.pageSize" @pagination="getsn" />
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
@ -120,6 +123,8 @@
import { patientInfoImportBatchlist } from "@/api/manage/patientInfoImport"; import { patientInfoImportBatchlist } from "@/api/manage/patientInfoImport";
import stationAcatar from "../../system/stationAvatar/index.vue"; import stationAcatar from "../../system/stationAvatar/index.vue";
import { selectAgencyList, getAgencyList } from "@/api/manage/selectAgencyList"; import { selectAgencyList, getAgencyList } from "@/api/manage/selectAgencyList";
import { getPatientList } from "@/api/manage/patientInfo";
import { usergetList } from "@/api/unitconfig/patientConfiguration";
export default { export default {
props: ["templateId"], props: ["templateId"],
@ -168,12 +173,17 @@ export default {
importTimeStart: "", importTimeStart: "",
importTimeEnd: "", importTimeEnd: "",
campusAgencyId: null, campusAgencyId: null,
importName: null,
}, },
patientInfoList: [],
departmentlist: [],
ImportDetailtotal: 0,
ImportDetailqueryParams: { ImportDetailqueryParams: {
sn: null, sn: null,
pageNum: 1,
pageSize: 10,
patientName: null, patientName: null,
patientPhone: null, patientPhone: null,
birthDate: null,
patientType: null, patientType: null,
visitMethod: null, visitMethod: null,
mainDiagnosis: null, mainDiagnosis: null,
@ -187,11 +197,7 @@ export default {
wardId: null, wardId: null,
wardName: null, wardName: null,
surgicalName: null, surgicalName: null,
admissionTimeStart: null,
admissionTimeEnd: null,
outpatientNumber: null, outpatientNumber: null,
visitDateStart: null,
visitDateEnd: null,
dischargeMethod: null, dischargeMethod: null,
patientSource: null, patientSource: null,
} }
@ -210,28 +216,31 @@ export default {
}, },
}, },
methods: { methods: {
// / /** 搜索按钮操作 */
handsn(row) { ImportDetailhandleQuery() {
this.ImportDetailqueryParams.sn = row.sn; this.ImportDetailqueryParams.pageNum = 1;
this.getsn();
},
/** 重置按钮操作 */
ImportDetailresetQuery() {
this.ImportDetailqueryParams = {
pageNum: 1,
pageSize: 10,
sn: this.ImportDetailqueryParams.sn
};
this.getsn();
},
getsn() {
getPatientList(this.ImportDetailqueryParams).then((response) => { getPatientList(this.ImportDetailqueryParams).then((response) => {
response.rows.forEach((e) => {
e.birthDate ? (e.age = getAge(e.birthDate)) : e.age;
});
response.rows.forEach((e) => {
e.Timeimport = this.$route.query.Timeimport
});
this.patientInfoList = response.rows; this.patientInfoList = response.rows;
this.total = response.total; this.ImportDetailtotal = response.total;
this.ImportDetailsopen = true
}); });
// this.$router.push({ },
// path: "/patient/ImportDetails", // /
// query: { async handsn(row) {
// path: "/patient/patientinfoimport", this.ImportDetailqueryParams.sn = row.sn;
// sn: row.sn, await this.getsn()
// Timeimport: row.createTime, this.ImportDetailsopen = true
// },
// });
}, },
//list //list
selectAgencyinfo() { selectAgencyinfo() {
@ -272,13 +281,24 @@ export default {
// selectAgencyList(query).then(res => { // selectAgencyList(query).then(res => {
if (type) { if (type) {
if (!typetwo) { if (!typetwo) {
this.form.campusAgencyId = null
}
} else {
this.queryParams.campusAgencyId = null this.queryParams.campusAgencyId = null
} }
} else {
this.ImportDetailqueryParams.campusAgencyId = null
}
//
this.usergetListinfo();
// }) // })
}, },
//
usergetListinfo() {
usergetList({
hospitalAgencyId: this.queryParams.hospitalAgencyId,
postName: "DOCTOR",
}).then((res) => {
this.attendingPhysicianlist = res.data;
});
},
// //
changecampusAgency(id, type, typetwo) { changecampusAgency(id, type, typetwo) {
this.getAgencyListinfo('CAMPUS', id, type) this.getAgencyListinfo('CAMPUS', id, type)
@ -286,9 +306,9 @@ export default {
// //
clearhospitalAgency(type) { clearhospitalAgency(type) {
if (type) { if (type) {
this.form.campusAgencyId = null this.ImportDetailqueryParams.campusAgencyId = null
this.form.departmentId = null this.ImportDetailqueryParams.departmentId = null
this.form.wardId = null this.ImportDetailqueryParams.wardId = null
} else { } else {
this.queryParams.campusAgencyId = null this.queryParams.campusAgencyId = null
this.queryParams.departmentId = null this.queryParams.departmentId = null
@ -298,9 +318,9 @@ export default {
// //
clearcampusAgency(type) { clearcampusAgency(type) {
if (type) { if (type) {
this.form.departmentId = null this.ImportDetailqueryParams.departmentId = null
this.form.wardId = null this.ImportDetailqueryParams.wardId = null
this.getAgencyListinfo('HOSPITAL', this.form.hospitalAgencyId, type) this.getAgencyListinfo('HOSPITAL', this.ImportDetailqueryParams.hospitalAgencyId, type)
} else { } else {
this.queryParams.departmentId = null this.queryParams.departmentId = null
this.queryParams.wardId = null this.queryParams.wardId = null
@ -353,7 +373,12 @@ export default {
resetQuery() { resetQuery() {
this.queryParams = { this.queryParams = {
pageNum: 1, pageNum: 1,
pageSize: 10 pageSize: 10,
importName: null,
hospitalAgencyId: null,
importTimeStart: "",
importTimeEnd: "",
campusAgencyId: null,
} }
this.createTime = ''; this.createTime = '';
this.handleQuery(); this.handleQuery();

View File

@ -153,7 +153,7 @@
<cardlist :maxTableHeight="maxTableHeight" :patientInfoList="patientInfoList"></cardlist> <cardlist :maxTableHeight="maxTableHeight" :patientInfoList="patientInfoList"></cardlist>
</div> </div>
<myPagination v-show="total > 0" :total="total" :pageSize="queryParams.pageSize" <myPagination v-show="total > 0" :total="total" :pageSize="queryParams.pageSize"
:indexFromWrap="queryParams.pageNum" :indexFrom="indexFrom" @updateCPage="updateCPage"></myPagination> :indexFromWrap="queryParams.pageNum" @updateCPage="updateCPage"></myPagination>
</div> </div>
</template> </template>
@ -175,7 +175,6 @@ export default {
data() { data() {
return { return {
type: "card", type: "card",
indexFrom: "",
searchData: {}, searchData: {},
maxTableHeight: undefined, maxTableHeight: undefined,
attendingPhysicianlist: [], attendingPhysicianlist: [],