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

This commit is contained in:
2025-03-26 09:08:26 +08:00
parent c0b1100f74
commit 66ea32162a

View File

@ -1,140 +1,123 @@
<template>
<div class="app-containers">
<el-button
size="small"
@click="classificationOpen = true"
style="
<el-button size="small" @click="classificationOpen = true" style="
width: 220px;
font-size: 14px;
text-align: left;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
"
:style="handleselectId ? 'color:black' : 'color:#C0C4CC'"
>{{ handleselectId ? handleselectId : "请选择批次" }}</el-button
>
<el-dialog
title="批次选择"
:visible.sync="classificationOpen"
width="70%"
:before-close="classificationOpenfalse"
>
" :style="handleselectId ? 'color:black' : 'color:#C0C4CC'">
{{ handleselectId ? handleselectId : "请选择批次" }}
</el-button>
<el-dialog title="批次选择" :visible.sync="classificationOpen" width="70%" :before-close="classificationOpenfalse">
<el-row :gutter="20">
<!--用户数据-->
<el-col :span="24" :xs="24">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="100px"
>
<el-form-item label="导入日期" prop="" label-width="120px">
<el-date-picker v-model="createTime" type="daterange" range-separator="" start-placeholder="开始日期"
style="width: 220px" value-format="yyyy-MM-dd" end-placeholder="结束日期">
</el-date-picker>
</el-form-item>
<el-form-item label="医院" prop="">
<el-select v-model="queryParams.hospitalAgencyId" filterable placeholder="请选择医院" style="width:220px" clearable
@clear="clearhospitalAgency" @change="changehospitalAgency">
<el-option v-for="item in hospitalAgencylist" :key="item.id" :label="item.agencyName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="院区" prop="">
<el-select v-model="queryParams.campusAgencyId" filterable placeholder="请选择院区" style="width:220px" clearable
@clear="clearcampusAgency" >
<el-option v-for="item in campusAgencylist" :key="item.id" :label="item.agencyName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
label-width="100px">
<el-form-item label="导入日期" prop="" label-width="120px">
<el-date-picker v-model="createTime" type="daterange" range-separator="" start-placeholder="开始日期"
style="width: 220px" value-format="yyyy-MM-dd" end-placeholder="结束日期">
</el-date-picker>
</el-form-item>
<el-form-item label="医院" prop="">
<el-select v-model="queryParams.hospitalAgencyId" filterable placeholder="请选择医院" style="width:220px"
clearable @clear="clearhospitalAgency" @change="changehospitalAgency">
<el-option v-for="item in hospitalAgencylist" :key="item.id" :label="item.agencyName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="院区" prop="">
<el-select v-model="queryParams.campusAgencyId" filterable placeholder="请选择院区" style="width:220px"
clearable @clear="clearcampusAgency">
<el-option v-for="item in campusAgencylist" :key="item.id" :label="item.agencyName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<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 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-form-item>
</el-form>
<el-table
v-loading="loading"
:data="PatientInfoImportBatchlist"
@row-dblclick="handleselect"
>
<el-table-column
label="序号"
type="index"
width="48"
align="center"
/>
<el-table v-loading="loading" :data="PatientInfoImportBatchlist" @row-dblclick="handleselect">
<el-table-column label="序号" type="index" width="48" align="center" />
<el-table-column label="流水号" prop="sn" align="center">
<template slot-scope="scope">
<el-button size="mini" type="text" @click="handsn(scope.row)">{{
scope.row.sn
}}</el-button>
<el-button size="mini" type="text" @click="handsn(scope.row)">
{{ scope.row.sn }}
</el-button>
</template>
</el-table-column>
<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="createTime">
<template slot-scope="scope">
<span>{{
parseTime(scope.row.createTime, "{y}-{m}-{d}")
}}</span>
<span>
{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}
</span>
</template>
</el-table-column>
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
@click="handleselect(scope.row)"
v-if="handleselectId != scope.row.sn"
>选择</el-button
>
<el-button
size="mini"
type="text"
@click="nohandleselect(scope.row)"
v-if="handleselectId == scope.row.sn"
>取消选择</el-button
>
<el-button size="mini" type="text" @click="handleselect(scope.row)"
v-if="handleselectId != scope.row.sn">选择</el-button>
<el-button size="mini" type="text" @click="nohandleselect(scope.row)"
v-if="handleselectId == scope.row.sn">取消选择</el-button>
<el-button size="mini" type="text" @click="handsn(scope.row)">明细</el-button>
</template>
</el-table-column>
</el-table>
</el-col>
</el-row>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getlist"
/>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getlist" />
</el-dialog>
<el-dialog title="导入明细" :visible.sync="ImportDetailsopen" width="70%" :before-close="ImportDetailsopenfalse">
<SearchFilter :labelWidths="310" labelWidth="90px" size="small" @search="ImportDetailhandleQuery"
@reset="ImportDetailresetQuery" @minShowCtrol="getMaxTableHeight" @handleRules="handleRules">
<el-form-item label="姓名" prop="patientName">
<el-input v-model="ImportDetailqueryParams.patientName" placeholder="请输入姓名" clearable
@keyup.enter.native="ImportDetailhandleQuery" style="width: 200px" />
</el-form-item>
<el-form-item label="联系电话" prop="patientPhone">
<el-input v-model="ImportDetailqueryParams.patientPhone" placeholder="请输入联系电话" clearable
@keyup.enter.native="ImportDetailhandleQuery" style="width: 200px" />
</el-form-item>
<el-form-item label="医院" prop="hospitalAgencyId">
<el-select v-model="ImportDetailqueryParams.hospitalAgencyId" filterable placeholder="请选择医院"
style="width: 200px" clearable @clear="clearhospitalAgency" @change="changehospitalAgency">
<el-option v-for="item in hospitalAgencylist" :key="item.id" :label="item.agencyName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="科室" prop="departmentId">
<el-select v-model="ImportDetailqueryParams.departmentId" filterable placeholder="请选择科室" style="width: 200px"
clearable @clear="cleardepartment" @change="changedepartment">
<el-option v-for="item in departmentlist" :key="item.id" :label="item.departmentName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</SearchFilter>
<el-table :data="patientInfoList">
<el-table-column label="序号" type="index" width="48" align="center" />
<el-table-column label="姓名" align="center" prop="patientName" />
<el-table-column label="联系电话" align="center" prop="patientPhone" />
<el-table-column label="年龄" align="center" prop="age" />
<el-table-column label="医院" align="center" prop="hospitalAgencyName" />
<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>
</el-dialog>
</div>
</template>
<script>
import { patientInfoImportBatchlist} from "@/api/manage/patientInfoImport";
<script>
import { patientInfoImportBatchlist } from "@/api/manage/patientInfoImport";
import stationAcatar from "../../system/stationAvatar/index.vue";
import { selectAgencyList, getAgencyList } from "@/api/manage/selectAgencyList";
@ -144,12 +127,12 @@ export default {
name: "Script",
data() {
return {
createTime:"",
//list
createTime: "",
//list
hospitalAgencylist: [],
// list
campusAgencylist: [],
//
//
PatientInfoImportBatchlist: [],
lookshow: false,
phoneNodeContent: {
@ -160,6 +143,7 @@ export default {
},
handleselectId: "",
classificationOpen: false,
ImportDetailsopen: false,
//
loading: true,
//
@ -177,7 +161,7 @@ export default {
//
open: false,
//
queryParams: {
queryParams: {
pageNum: 1,
pageSize: 10,
hospitalAgencyId: null,
@ -185,25 +169,72 @@ export default {
importTimeEnd: "",
campusAgencyId: null,
},
ImportDetailqueryParams: {
sn: null,
patientName: null,
patientPhone: null,
birthDate: null,
patientType: null,
visitMethod: null,
mainDiagnosis: null,
attendingPhysicianId: null,
hospitalAgencyId: null,
hospitalAgencyName: null,
campusAgencyId: null,
campusAgencyName: null,
departmentId: null,
departmentName: null,
wardId: null,
wardName: null,
surgicalName: null,
admissionTimeStart: null,
admissionTimeEnd: null,
outpatientNumber: null,
visitDateStart: null,
visitDateEnd: null,
dischargeMethod: null,
patientSource: null,
}
};
},
created() {
this.getlist();
this.selectAgencyinfo();
},
mounted() {
this.handleselectId = this.templateId;
},
watch: {
templateId(newValue, oldValue) {
this.handleselectId = newValue;
},
},
methods: {
//list
selectAgencyinfo() {
// /
handsn(row) {
this.ImportDetailqueryParams.sn = row.sn;
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.total = response.total;
this.ImportDetailsopen = true
});
// this.$router.push({
// path: "/patient/ImportDetails",
// query: {
// path: "/patient/patientinfoimport",
// sn: row.sn,
// Timeimport: row.createTime,
// },
// });
},
//list
selectAgencyinfo() {
let query = {
agencyStatus: 'ON',
nodeType: 'HOSPITAL',
@ -221,17 +252,13 @@ export default {
query.hospitalId = id
} else if (nodeType == 'CAMPUS') {
query.campusId = id
}
}
getAgencyList(query).then(res => {
// if (type)
console.log(nodeType );
console.log(res.data.campusList);
{
if (nodeType == 'HOSPITAL') {
this.campusAgencylist = res.data.campusList;
}
}
// if (type) {
if (nodeType == 'HOSPITAL') {
this.campusAgencylist = res.data.campusList;
}
// }
})
},
//
@ -289,7 +316,6 @@ export default {
},
//
handleselect(item) {
console.log(item,'0000000000');
this.handleselectId = item.sn;
this.$emit("on-template", {
sn: item.sn,
@ -299,17 +325,20 @@ export default {
classificationOpenfalse() {
this.classificationOpen = false;
},
ImportDetailsopenfalse() {
this.ImportDetailsopen = false;
},
/** 查询话术信息列表 */
getlist() {
this.loading = true;
this.loading = true;
patientInfoImportBatchlist(this.queryParams).then(response => {
this.PatientInfoImportBatchlist = response.rows;
this.total = response.total;
this.loading = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
if (this.createTime?.length > 0) {
this.queryParams.importTimeStart = this.createTime[0];
@ -326,13 +355,13 @@ export default {
pageNum: 1,
pageSize: 10
}
this.createTime ='';
this.createTime = '';
this.handleQuery();
},
},
};
</script>
<style lang="scss" scoped>
</script>
<style lang="scss" scoped>
::v-deep .el-input-number .el-input__inner {
text-align: left;
}
@ -399,5 +428,4 @@ export default {
left: 20px;
top: -11px;
}
</style>
</style>