This commit is contained in:
2025-04-17 12:26:56 +08:00
parent ee96c52b31
commit cf0e02ded8
7 changed files with 99 additions and 18 deletions

View File

@ -42,3 +42,20 @@ export function directOutbound(data) {
data data
}) })
} }
// 获取医院外呼时间起止详细信息
export function selectDialTime() {
return request({
url: `/manage/patientInfoimportmain/selectDialTime`,
method: 'get',
})
}
// 新增医院外呼时间起止
export function addDialTime(data) {
return request({
url: `/manage/patientInfoimportmain/addDialTime`,
method: 'post',
data
})
}

BIN
src/assets/manage/tx.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

View File

@ -5,12 +5,14 @@
<slot></slot> <slot></slot>
</div> </div>
<div style="width: 20%; text-align: right; padding-right: 18px" :style="{ <div style="width: 20%; text-align: right; padding-right: 18px" :style="{
width: this.$router.currentRoute.path == '/patient/Patientmanagement' ? '27%' : '20%', width: this.$router.currentRoute.path == '/patient/patientinfoimport' ? '30%' : this.$router.currentRoute.path == '/patient/Patientmanagement' ? '27%' : '20%',
}"> }">
<Button type="primary" @click="handleQuery" size="mini">搜索</Button> <Button type="primary" @click="handleQuery" size="mini">搜索</Button>
<Button @click="handleReset" size="mini">重置</Button> <Button @click="handleReset" size="mini">重置</Button>
<el-button type="warning" plain icon="el-icon-upload2" size="mini" @click="handleUpload" <el-button type="warning" plain icon="el-icon-upload2" size="mini" @click="handleUpload"
v-if="patientUploadButtonVisible == 'true'">导入</el-button> v-if="patientUploadButtonVisible == 'true'">导入</el-button>
<el-button type="info" plain size="mini" @click="timelimitopentrue"
v-if="patientUploadButtonVisible == 'true'">时间限制</el-button>
<el-button type="primary" plain size="mini" @click="handleback" <el-button type="primary" plain size="mini" @click="handleback"
v-if="this.$router.currentRoute.path == '/patient/ImportDetails'">返回</el-button> v-if="this.$router.currentRoute.path == '/patient/ImportDetails'">返回</el-button>
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
@ -220,11 +222,36 @@
<div class="text">导入中请稍等</div> <div class="text">导入中请稍等</div>
</div> </div>
</div> </div>
<!-- 时间限制 -->
<el-dialog title="外呼时间限制" :visible.sync="timelimitopen" width="400px" append-to-body>
<el-form :model="timelimitlist" size="small" :inline="true" label-width="110px" :rules="timelimitrules">
<el-form-item label="开始时间" prop="dialStartTime">
<el-time-select placeholder="开始时间" v-model="timelimitlist.dialStartTime" :picker-options="{
start: '06:00',
step: '00:05',
end: '21:00',
}">
</el-time-select>
</el-form-item>
<el-form-item label="结束时间" prop="dialEndTime">
<el-time-select placeholder="结束时间" v-model="timelimitlist.dialEndTime" :picker-options="{
start: '07:00',
step: '00:05',
end: '22:00',
minTime: timelimitlist.dialStartTime
}">
</el-time-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="timelimitsubmitForm"> </el-button>
<el-button @click="timelimitopencancel"> </el-button>
</div>
</el-dialog>
</Form> </Form>
</template> </template>
<script> <script>
import { Form, FormItem, Button } from 'element-ui' import { Form, FormItem, Button } from 'element-ui'
import { faL, fas } from '@fortawesome/free-solid-svg-icons'
import { listCompare } from "@/api/system/compare"; import { listCompare } from "@/api/system/compare";
import { listSubdivision } from "@/api/system/subdivision"; import { listSubdivision } from "@/api/system/subdivision";
import { agencyList, getAgencytype } from "@/api/system/agency"; import { agencyList, getAgencytype } from "@/api/system/agency";
@ -235,6 +262,7 @@ import {
secondaryUpload, secondaryUpload,
count count
} from "@/api/system/department"; } from "@/api/system/department";
import { selectDialTime, addDialTime } from '@/api/manage/patientInfoImport'
export default { export default {
name: 'SearchFilter', name: 'SearchFilter',
components: { Form, FormItem, Button }, components: { Form, FormItem, Button },
@ -262,9 +290,6 @@ export default {
query: { query: {
type: Object, type: Object,
default: () => ({}) default: () => ({})
}, },
}, },
data() { data() {
@ -272,7 +297,6 @@ export default {
titlemsg: "",// titlemsg: "",//
countsum: "",// countsum: "",//
querlist: {},// querlist: {},//
departmentsshow: false,//
loading: false, loading: false,
patientInfoList: [], patientInfoList: [],
datalist: [], datalist: [],
@ -347,6 +371,20 @@ export default {
}, },
], ],
}, },
//
timelimitopen: false,
timelimitlist: {
dialStartTime: undefined,
dialEndTime: undefined
},
timelimitrules: {
dialStartTime: [
{ required: true, message: "开始时间不能为空", trigger: "blur" },
],
dialEndTime: [
{ required: true, message: "结束时间不能为空", trigger: "blur" },
],
},
} }
}, },
created() { created() {
@ -377,6 +415,34 @@ export default {
} }
}, },
methods: { methods: {
timelimitsubmitForm() {
addDialTime(this.timelimitlist).then((res) => {
if (res.code == 200) {
this.timelimitopen = false
this.$modal.msgSuccess(res.msg);
} else {
this.timelimitopen = false
this.$modal.msgError(res.msg);
}
})
},
timelimitopencancel() {
this.timelimitopen = false
this.timelimitlist.dialStartTime = undefined
this.timelimitlist.dialEndTime = undefined
},
timelimitopentrue() {
selectDialTime().then((res) => {
if (res.data) {
this.timelimitlist.dialStartTime = res.data.dialStartTime
this.timelimitlist.dialEndTime = res.data.dialEndTime
} else {
this.timelimitlist.dialStartTime = undefined
this.timelimitlist.dialEndTime = undefined
}
this.timelimitopen = true
})
},
exceedFile(files, fileList) { exceedFile(files, fileList) {
// this.$modal.msgSuccess(""); // this.$modal.msgSuccess("");
this.$message.warning( this.$message.warning(
@ -398,15 +464,14 @@ export default {
} else { } else {
this.form.deptAliasVOS = response.data.deptAliasVOS this.form.deptAliasVOS = response.data.deptAliasVOS
this.form.departments = [] this.form.departments = []
this.departmentsshow = true
} }
this.open = true; // this.open = true;
} else if (response.code == 200 && !response.data) { } else if (response.code == 200 && !response.data) {
this.$modal.msgSuccess(response.msg); this.$modal.msgSuccess(response.msg);
this.$emit('handleRules') this.$emit('handleRules')
} else if (response.code == 200 && response.data) { } else if (response.code == 200 && response.data) {
this.form = response.data this.form = response.data
this.open = true; // this.open = true;
} }
this.uploadcancel(); this.uploadcancel();
this.fileList = []; this.fileList = [];

View File

@ -8,8 +8,8 @@
@click="handleAuth(item, index)" /> @click="handleAuth(item, index)" />
<img v-if="item.sex == 'MALE'" src="../../../assets/manage/touxiang.png" alt="" class="img" <img v-if="item.sex == 'MALE'" src="../../../assets/manage/touxiang.png" alt="" class="img"
@click="handleAuth(item, index)" /> @click="handleAuth(item, index)" />
<img v-if="!item.sex" src="../../../assets/manage/touxiang.png" alt="" class="img" <img v-if="!item.sex" src="../../../assets/manage/tx.png" alt="" class="img"
@click="handleAuth(item, index)" /> style="height: 46px;margin-top: 15px;" @click="handleAuth(item, index)" />
<el-tooltip class="name" effect="dark" :content="item.patientName" placement="top"> <el-tooltip class="name" effect="dark" :content="item.patientName" placement="top">
<span @click="handleAuth(item, index)"> <span @click="handleAuth(item, index)">
{{ item.patientName }} {{ item.patientName }}
@ -18,7 +18,7 @@
<div class="agesex"> <div class="agesex">
{{ item.sex == "MALE" ? "男" : "" }} {{ item.sex == "MALE" ? "男" : "" }}
{{ item.sex == "FEMALE" ? "女" : "" }} {{ item.sex == "FEMALE" ? "女" : "" }}
<span style="padding: 0 1px">|</span> <span style="padding: 0 1px" v-if="item.sex">|</span>
<span v-if="item.age"> {{ item.age }} </span> <span v-if="item.age"> {{ item.age }} </span>
<span class="zy" v-if="item.patientType == 'IN_HOSPITAL_PATIENT'">在院</span> <span class="zy" v-if="item.patientType == 'IN_HOSPITAL_PATIENT'">在院</span>
<span class="cy" v-if="item.patientType == 'DISCHARGED_PATIENT'">出院</span> <span class="cy" v-if="item.patientType == 'DISCHARGED_PATIENT'">出院</span>

View File

@ -327,7 +327,6 @@ export default {
response.rows.forEach((e) => { response.rows.forEach((e) => {
e.birthDate ? (e.age = getAge(e.birthDate)) : e.age; e.birthDate ? (e.age = getAge(e.birthDate)) : e.age;
}); });
this.patientInfoList = response.rows; this.patientInfoList = response.rows;
this.total = response.total; this.total = response.total;
loading.close(); loading.close();

View File

@ -1,7 +1,7 @@
<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 :labelWidths="310" size="small" @search="handleQuery" @handleRules="getList" <SearchFilter :labelWidths="310" :widths="70" size="small" @search="handleQuery" @handleRules="getList"
patientUploadButtonVisible="true" @reset="resetQuery" @minShowCtrol="getMaxTableHeight" v-show="showSearch"> patientUploadButtonVisible="true" @reset="resetQuery" @minShowCtrol="getMaxTableHeight" v-show="showSearch">
<el-form-item label="导入日期" prop="" label-width="90px"> <el-form-item label="导入日期" prop="" label-width="90px">
<el-date-picker v-model="createTime" type="daterange" range-separator="" start-placeholder="开始日期" <el-date-picker v-model="createTime" type="daterange" range-separator="" start-placeholder="开始日期"

View File

@ -216,7 +216,7 @@
<myPagination v-show="total > 0" :total="total" :pageSize="queryParams.pageSize" <myPagination v-show="total > 0" :total="total" :pageSize="queryParams.pageSize"
:indexFromWrap="queryParams.pageNum" @updateCPage="updateCPage"></myPagination> :indexFromWrap="queryParams.pageNum" @updateCPage="updateCPage"></myPagination>
<!-- 添加或修改患者信息对话框 --> <!-- 添加或修改患者信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body :before-close="handleClose"> <el-dialog :title="title" :visible.sync="open" width="1100px" append-to-body :before-close="handleClose">
<el-form ref="openform" :model="form" :rules="rules" label-width="100px" :inline="true"> <el-form ref="openform" :model="form" :rules="rules" label-width="100px" :inline="true">
<div class="titlenew">基本信息</div> <div class="titlenew">基本信息</div>
<el-form-item label="患者姓名" prop="patientName"> <el-form-item label="患者姓名" prop="patientName">
@ -326,13 +326,13 @@
<el-input v-model="form.surgicalName" placeholder="请输入手术名称" style="width: 220px" /> <el-input v-model="form.surgicalName" placeholder="请输入手术名称" style="width: 220px" />
</el-form-item> </el-form-item>
<el-form-item label="手术记录" prop="surgicalRecord" v-show="form.visitMethod == 'BE_IN_HOSPITAL'"> <el-form-item label="手术记录" prop="surgicalRecord" v-show="form.visitMethod == 'BE_IN_HOSPITAL'">
<editor v-model="form.surgicalRecord" :min-height="192" style="width: 838px" /> <editor v-model="form.surgicalRecord" :min-height="192" style="width: 880px" />
</el-form-item> </el-form-item>
<el-form-item label="入院病历"> <el-form-item label="入院病历">
<editor v-model="form.inHospitalInfo" :min-height="192" style="width: 838px" /> <editor v-model="form.inHospitalInfo" :min-height="192" style="width: 880px" />
</el-form-item> </el-form-item>
<el-form-item label="出院病历" v-show="form.visitMethod == 'BE_IN_HOSPITAL'"> <el-form-item label="出院病历" v-show="form.visitMethod == 'BE_IN_HOSPITAL'">
<editor v-model="form.outHospitalInfo" :min-height="192" style="width: 838px" /> <editor v-model="form.outHospitalInfo" :min-height="192" style="width: 880px" />
</el-form-item> </el-form-item>
<!-- <el-form-item label="患者来源" prop="patientSource"> <!-- <el-form-item label="患者来源" prop="patientSource">
<el-select v-model="form.patientSource" placeholder="请选择患者来源" clearable style="width:220px"> <el-select v-model="form.patientSource" placeholder="请选择患者来源" clearable style="width:220px">