Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
06989d5888
8
src/api/system/followup.js
Normal file
8
src/api/system/followup.js
Normal file
@ -0,0 +1,8 @@
|
||||
import request from '@/utils/request'
|
||||
export function manualFollowUpList(query) {
|
||||
return request({
|
||||
url: '/manage/signroute/manualFollowUpList',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
@ -19,7 +19,7 @@
|
||||
end-placeholder="结束日期"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="素材状态" prop="materialsStatus">
|
||||
<!-- <el-form-item label="素材状态" prop="materialsStatus">
|
||||
<el-select
|
||||
v-model="queryParams.materialsStatus"
|
||||
placeholder="请选择素材状态"
|
||||
@ -32,7 +32,7 @@
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="素材名称" prop="materialsName">
|
||||
<el-input
|
||||
v-model="queryParams.materialsName"
|
||||
|
||||
706
src/views/system/followup/index.vue
Normal file
706
src/views/system/followup/index.vue
Normal file
@ -0,0 +1,706 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form
|
||||
:model="queryParams"
|
||||
ref="queryForm"
|
||||
size="small"
|
||||
:inline="true"
|
||||
v-show="showSearch"
|
||||
>
|
||||
<el-form-item label="随访时间" prop="startDate">
|
||||
<el-date-picker
|
||||
v-model="intentionalTime"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
style="width: 300px"
|
||||
value-format="yyyy-MM-dd"
|
||||
end-placeholder="结束日期"
|
||||
@change="chooseTime"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="姓名" prop="patientName">
|
||||
<el-input
|
||||
v-model="queryParams.patientName"
|
||||
placeholder="请输入就诊流水号"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="电话" prop="patientPhone">
|
||||
<el-input
|
||||
v-model="queryParams.patientPhone"
|
||||
placeholder="请输入电话"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="医院" prop="hospitalAgencyId">
|
||||
<el-select
|
||||
v-model="queryParams.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="campusAgencyId"
|
||||
v-if="queryParams.hospitalAgencyId"
|
||||
>
|
||||
<el-select
|
||||
v-model="queryParams.campusAgencyId"
|
||||
filterable
|
||||
placeholder="请选择院区"
|
||||
style="width: 200px"
|
||||
clearable
|
||||
@clear="clearcampusAgency"
|
||||
@change="changecampusAgency"
|
||||
>
|
||||
<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
|
||||
label="科室"
|
||||
prop="departmentId"
|
||||
v-if="queryParams.hospitalAgencyId"
|
||||
>
|
||||
<el-select
|
||||
v-model="queryParams.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>
|
||||
<el-form-item
|
||||
label="病区"
|
||||
prop="wardId"
|
||||
v-if="queryParams.hospitalAgencyId"
|
||||
>
|
||||
<el-select
|
||||
v-model="queryParams.wardId"
|
||||
filterable
|
||||
placeholder="请选择病区"
|
||||
style="width: 200px"
|
||||
clearable
|
||||
>
|
||||
<el-option
|
||||
v-for="item in wardlist"
|
||||
:key="item.id"
|
||||
:label="item.departmentName"
|
||||
:value="item.id"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="就诊类型" prop="visitMethod">
|
||||
<el-select
|
||||
v-model="queryParams.visitMethod"
|
||||
placeholder="请选择就诊类型"
|
||||
clearable
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in dict.type.visit_type"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="就诊流水号" prop="visitSerialNumber">
|
||||
<el-input
|
||||
v-model="queryParams.visitSerialNumber"
|
||||
placeholder="请输入就诊流水号"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="门诊/出院时间" prop="intentionalTimeStart">
|
||||
<el-date-picker
|
||||
@change="mzchange"
|
||||
v-model="mzTime"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
style="width: 300px"
|
||||
value-format="yyyy-MM-dd"
|
||||
end-placeholder="结束日期"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="入院时间" prop="intentionalTimeStart">
|
||||
<el-date-picker
|
||||
v-model="ryTime"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
style="width: 300px"
|
||||
value-format="yyyy-MM-dd"
|
||||
end-placeholder="结束日期"
|
||||
@change="rychange"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="诊断" prop="mainDiagnosis">
|
||||
<el-input
|
||||
v-model="queryParams.mainDiagnosis"
|
||||
placeholder="请选择诊断"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item
|
||||
label="主治医生"
|
||||
prop="attendingPhysicianId"
|
||||
v-if="queryParams.hospitalAgencyId"
|
||||
>
|
||||
<el-select
|
||||
v-model="queryParams.attendingPhysicianId"
|
||||
style="width: 200px"
|
||||
filterable
|
||||
placeholder="请选择主治医生"
|
||||
clearable
|
||||
>
|
||||
<el-option
|
||||
v-for="item in attendingPhysicianlist"
|
||||
:key="item.userId"
|
||||
:label="item.nickName"
|
||||
:value="item.userId"
|
||||
>
|
||||
</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-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
:data="taskExecuteRecordList"
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column type="selection" width="55" 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="visitSerialNumber">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.sex == "MALE" ? "男" : "" }}
|
||||
{{ scope.row.sex == "FEMALE" ? "女" : "" }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="医院" align="center" prop="hospitalAgencyName" />
|
||||
<el-table-column label="院区" align="center" prop="campusAgencyName" />
|
||||
<el-table-column label="科室名称" align="center" prop="departmentName" />
|
||||
<el-table-column label="病区名称" align="center" prop="wardName" />
|
||||
|
||||
<el-table-column
|
||||
label="门诊/住院号"
|
||||
align="center"
|
||||
prop="inHospitalNumber"
|
||||
width="100"
|
||||
/>
|
||||
<el-table-column
|
||||
label="就诊流水号"
|
||||
align="center"
|
||||
prop="visitSerialNumber"
|
||||
width="100"
|
||||
/>
|
||||
<el-table-column label="诊断" align="center" prop="mainDiagnosis" />
|
||||
<el-table-column label="手术名称" align="center" prop="surgicalName" />
|
||||
<el-table-column
|
||||
label="主治医生"
|
||||
align="center"
|
||||
prop="attendingPhysicianName"
|
||||
/>
|
||||
<el-table-column label="就诊类型" align="center" prop="visitMethod">
|
||||
<template slot-scope="scope">
|
||||
<span
|
||||
>{{ scope.row.visitMethod == "OUTPATIENT_SERVICE" ? "门诊" : "" }}
|
||||
{{ scope.row.visitMethod == "BE_HOSPITALIZED" ? "住院" : "" }}
|
||||
</span>
|
||||
</template></el-table-column
|
||||
>
|
||||
<el-table-column
|
||||
label="入院时间"
|
||||
align="center"
|
||||
prop="admissionTime"
|
||||
width="180"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.admissionTime, "{y}-{m}-{d}") }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="门诊/出院时间"
|
||||
align="center"
|
||||
prop="visitOrDischargeTime"
|
||||
width="180"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{
|
||||
parseTime(scope.row.visitOrDischargeTime, "{y}-{m}-{d}")
|
||||
}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="随访时间"
|
||||
align="center"
|
||||
prop="executeTime"
|
||||
width="180"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.executeTime, "{y}-{m}-{d}") }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="随访模板" align="center" prop="templateName">
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column
|
||||
label="操作"
|
||||
align="center"
|
||||
class-name="small-padding fixed-width"
|
||||
fixed="right"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-notebook-2"
|
||||
@click="handleUpdate(scope.row)"
|
||||
>处理</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total > 0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import { manualFollowUpList } from "@/api/system/followup"
|
||||
import { usergetList } from "@/api/unitconfig/patientConfiguration";
|
||||
|
||||
import { getAge } from "@/utils/age";
|
||||
import {
|
||||
selectAgencyList, getAgencyList
|
||||
} from "@/api/manage/selectAgencyList";
|
||||
export default {
|
||||
name: "TaskExecuteRecord",
|
||||
dicts: ["visit_type"],
|
||||
data() {
|
||||
return {
|
||||
// 随访时间
|
||||
intentionalTime: [],
|
||||
// 门诊
|
||||
mzTime: [],
|
||||
// 入院
|
||||
ryTime: [],
|
||||
//医院list
|
||||
hospitalAgencylist: [],
|
||||
// 院区list
|
||||
campusAgencylist: [],
|
||||
//科室list
|
||||
departmentlist: [],
|
||||
//病区list
|
||||
wardlist: [],
|
||||
// 主治医生
|
||||
attendingPhysicianlist: [],
|
||||
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 患者管理任务执行记录表格数据
|
||||
taskExecuteRecordList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
followStartTime: null,
|
||||
followEndTime: null,
|
||||
clinicalStartTime: null,
|
||||
clinicalEndTime: null,
|
||||
admissionEndTime: null,
|
||||
admissionStartTime: null,
|
||||
mainDiagnosis: null,
|
||||
|
||||
visitSerialNumber: null,
|
||||
attendingPhysicianId: null,
|
||||
patientId: null,
|
||||
visitMethod: null,
|
||||
manageRouteId: null,
|
||||
manageRouteNodeId: null,
|
||||
patientName: null,
|
||||
startDate: null,
|
||||
endDate: null,
|
||||
manageRouteName: null,
|
||||
manageRouteNodeName: null,
|
||||
taskContent: null,
|
||||
executeTime: null,
|
||||
executePerson: null,
|
||||
executeType: null,
|
||||
executeRemark: null,
|
||||
hospitalAgencyId: null,
|
||||
campusAgencyId: null,
|
||||
departmentId: null,
|
||||
wardId: null,
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
// rules: {
|
||||
// patientId: [
|
||||
// { required: true, message: "患者表id不能为空", trigger: "blur" },
|
||||
// ],
|
||||
// },
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
this.selectAgencyinfo();
|
||||
},
|
||||
methods: {
|
||||
//主治医生
|
||||
usergetListinfo() {
|
||||
usergetList({
|
||||
agencyId: this.queryParams.hospitalAgencyId,
|
||||
postName: 'DOCTOR'
|
||||
}).then(res => {
|
||||
this.attendingPhysicianlist = res.data
|
||||
})
|
||||
},
|
||||
//获取下级单位
|
||||
getAgencyListinfo(nodeType, id) {
|
||||
let query = {
|
||||
nodeType: nodeType,
|
||||
}
|
||||
if (nodeType == 'HOSPITAL') {
|
||||
query.hospitalId = id
|
||||
} else if (nodeType == 'CAMPUS') {
|
||||
query.campusId = id
|
||||
} else if (nodeType == 'DEPARTMENT') {
|
||||
query.departmentId = id
|
||||
}
|
||||
getAgencyList(query).then(res => {
|
||||
if (nodeType == 'HOSPITAL') {
|
||||
this.campusAgencylist = res.data.campusList
|
||||
this.departmentlist = res.data.departmentList
|
||||
} else if (nodeType == 'CAMPUS') {
|
||||
this.departmentlist = res.data.departmentList
|
||||
}
|
||||
this.wardlist = res.data.wardList
|
||||
})
|
||||
},
|
||||
//选中医院获取院区
|
||||
changehospitalAgency(id) {
|
||||
this.getAgencyListinfo('HOSPITAL', id)
|
||||
// let query = {
|
||||
// agencyStatus: 'ON',
|
||||
// nodeType: 'CAMPUS',
|
||||
// parentId: id,
|
||||
// }
|
||||
// selectAgencyList(query).then(res => {
|
||||
// this.campusAgencylist = res.data
|
||||
this.queryParams.campusAgencyId = null
|
||||
this.queryParams.departmentId = null
|
||||
this.queryParams.wardId = null
|
||||
this.queryParams.attendingPhysicianId = null
|
||||
// })
|
||||
//医生
|
||||
this.usergetListinfo();
|
||||
},
|
||||
//选中院区获取科室
|
||||
changecampusAgency(id) {
|
||||
this.getAgencyListinfo('CAMPUS', id)
|
||||
// let query = {
|
||||
// nodeType: 'DEPARTMENT',
|
||||
// agencyId: id,
|
||||
// }
|
||||
// getDepartmentList(query).then(res => {
|
||||
// this.departmentlist = res.data
|
||||
this.queryParams.departmentId = null
|
||||
this.queryParams.wardId = null
|
||||
// })
|
||||
},
|
||||
//选中科室获取病区
|
||||
changedepartment(id) {
|
||||
this.getAgencyListinfo('DEPARTMENT', id)
|
||||
// let query = {
|
||||
// nodeType: 'WARD',
|
||||
// parentDepartmentId: id,
|
||||
// }
|
||||
// getDepartmentList(query).then(res => {
|
||||
// this.wardlist = res.data
|
||||
this.queryParams.wardId = null
|
||||
// })
|
||||
},
|
||||
//清空医院
|
||||
clearhospitalAgency() {
|
||||
this.queryParams.campusAgencyId = null
|
||||
this.queryParams.departmentId = null
|
||||
this.queryParams.wardId = null
|
||||
this.queryParams.attendingPhysicianId = null
|
||||
},
|
||||
//清空院区
|
||||
clearcampusAgency() {
|
||||
this.queryParams.departmentId = null
|
||||
this.queryParams.wardId = null
|
||||
this.getAgencyListinfo('HOSPITAL', this.queryParams.hospitalAgencyId)
|
||||
},
|
||||
//清空科室
|
||||
cleardepartment() {
|
||||
this.queryParams.wardId = null
|
||||
this.getAgencyListinfo('CAMPUS', this.queryParams.campusAgencyId)
|
||||
},
|
||||
//获取医院list
|
||||
selectAgencyinfo() {
|
||||
let query = {
|
||||
agencyStatus: "ON",
|
||||
nodeType: "HOSPITAL",
|
||||
};
|
||||
selectAgencyList(query).then((res) => {
|
||||
this.hospitalAgencylist = res.data;
|
||||
});
|
||||
},
|
||||
/** 查询患者管理任务执行记录列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
manualFollowUpList(this.queryParams).then((response) => {
|
||||
this.taskExecuteRecordList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
id: null,
|
||||
patientId: null,
|
||||
manageRouteId: null,
|
||||
manageRouteNodeId: null,
|
||||
patientName: null,
|
||||
manageRouteName: null,
|
||||
manageRouteNodeName: null,
|
||||
taskContent: null,
|
||||
executeTime: null,
|
||||
executePerson: null,
|
||||
executeType: null,
|
||||
executeRemark: null,
|
||||
createBy: null,
|
||||
createTime: null,
|
||||
updateBy: null,
|
||||
updateTime: null,
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
// 随访时间
|
||||
chooseTime() {
|
||||
if (this.intentionalTime == null) {
|
||||
this.intentionalTime = [];
|
||||
this.queryParams.followStartTime = null
|
||||
this.queryParams.followEndTime = null
|
||||
} else {
|
||||
this.queryParams.followStartTime = this.intentionalTime[0]
|
||||
this.queryParams.followEndTime = this.intentionalTime[1]
|
||||
}
|
||||
},
|
||||
// 门诊
|
||||
mzchange(){
|
||||
if (this.mzTime == null) {
|
||||
this.mzTime = [];
|
||||
this.queryParams.clinicalStartTime = null
|
||||
this.queryParams.clinicalEndTime = null
|
||||
} else {
|
||||
this.queryParams.clinicalStartTime = this.mzTime[0]
|
||||
this.queryParams.clinicalEndTime = this.mzTime[1]
|
||||
}
|
||||
|
||||
},
|
||||
// 入院
|
||||
rychange(){
|
||||
if (this.ryTime == null) {
|
||||
this.ryTime = [];
|
||||
this.queryParams.admissionStartTime = null
|
||||
this.queryParams.admissionEndTime = null
|
||||
} else {
|
||||
this.queryParams.admissionStartTime = this.ryTime[0]
|
||||
this.queryParams.admissionEndTime = this.ryTime[1]
|
||||
}
|
||||
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
this.intentionalTime = [];
|
||||
this.mzTime = [];
|
||||
this.ryTime = [];
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map((item) => item.id);
|
||||
this.single = selection.length !== 1;
|
||||
this.multiple = !selection.length;
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加患者管理任务执行记录";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
console.log(row)
|
||||
this.$router.push({
|
||||
path: "/task/followupsee",
|
||||
query: {
|
||||
patientId: row.patientId,
|
||||
taskContent: row.taskContent,
|
||||
cardNo: row.cardNo,
|
||||
patientName: row.patientName,
|
||||
patientPhone: row.patientPhone,
|
||||
sex: row.sex,
|
||||
birthDate: row.birthDate,
|
||||
familyMemberPhone: row.familyMemberPhone,
|
||||
address: row.address,
|
||||
patientSource: row.patientSource,
|
||||
createTime: row.createTime,
|
||||
age: row.birthDate ? getAge(row.birthDate) : "",
|
||||
},
|
||||
});
|
||||
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate((valid) => {
|
||||
if (valid) {
|
||||
if (this.form.id != null) {
|
||||
updateTaskExecuteRecord(this.form).then((response) => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
} else {
|
||||
addTaskExecuteRecord(this.form).then((response) => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
// handleClick(tab, event) {
|
||||
// this.intentionalTime = [];
|
||||
// this.queryParams.startDate = null;
|
||||
// this.queryParams.endDate = null;
|
||||
// // this.signTime = []
|
||||
// // this.queryParams.signTimeStart = null
|
||||
// // this.queryParams.signTimeEnd = null
|
||||
// this.getList();
|
||||
// },
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const ids = row.id || this.ids;
|
||||
this.$modal
|
||||
.confirm(
|
||||
'是否确认删除患者管理任务执行记录编号为"' + ids + '"的数据项?'
|
||||
)
|
||||
.then(function () {
|
||||
return delTaskExecuteRecord(ids);
|
||||
})
|
||||
.then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
})
|
||||
.catch(() => { });
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download(
|
||||
"system/taskExecuteRecord/export",
|
||||
{
|
||||
...this.queryParams,
|
||||
},
|
||||
`taskExecuteRecord_${new Date().getTime()}.xlsx`
|
||||
);
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
326
src/views/system/followupsee/index.vue
Normal file
326
src/views/system/followupsee/index.vue
Normal file
@ -0,0 +1,326 @@
|
||||
<template>
|
||||
<div class="header">
|
||||
<div class="topheader">
|
||||
<div class="user">
|
||||
<img
|
||||
class="headsculpture"
|
||||
src="../../../assets/manage/touxiang.png"
|
||||
alt=""
|
||||
v-if="list.sex == 'MALE'"
|
||||
/>
|
||||
<img
|
||||
class="headsculpture"
|
||||
src="../../../assets/manage/nvtouxiang.png"
|
||||
alt=""
|
||||
v-if="list.sex == 'FEMALE'"
|
||||
/>
|
||||
<div class="name">
|
||||
{{ list.patientName }}
|
||||
</div>
|
||||
<div class="gender">
|
||||
{{ list.sex == "MALE" ? "男" : list.sex == "FEMALE" ? "女" : "" }}
|
||||
</div>
|
||||
<div class="age">
|
||||
{{ list.age }}
|
||||
</div>
|
||||
<div class="source">
|
||||
<div class="item" @click="submit"><el-button plain>保存</el-button></div>
|
||||
<div class="item" @click="cencal"><el-button plain>取消</el-button></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="information">
|
||||
<div class="top">
|
||||
<div>身份证号:{{ list.cardNo }}</div>
|
||||
<div>患者电话:{{ list.patientPhone }}</div>
|
||||
<div style="width: 50%">出生日期:{{ list.birthDate }}</div>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<!-- <div>注册时间:{{ $route.query.createTime }}</div> -->
|
||||
<div>家属电话:{{ list.familyMemberPhone }}</div>
|
||||
<div style="width: 50%">住址:{{ list.address }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottomheader">
|
||||
|
||||
<div style="display: flex">
|
||||
<!-- 问卷模板 -->
|
||||
<div
|
||||
class="right"
|
||||
v-if="$route.query.taskContent == 'QUESTIONNAIRE_SCALE'"
|
||||
>
|
||||
<div class="sport">问卷模板: Barthel指数评定问卷</div>
|
||||
<div class="words">
|
||||
您好!本问卷用于评估日常生活能力,请根据自身日常实际表现选择合适的选项。
|
||||
</div>
|
||||
<div class="words">
|
||||
1.进食【单选题】
|
||||
<el-radio-group v-model="radio" class="custom-radio-group">
|
||||
<el-radio label="1" class="custom">备选项</el-radio>
|
||||
<el-radio label="2" class="custom">备选项</el-radio>
|
||||
<el-radio label="3" class="custom">备选项</el-radio>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 电话外呼 -->
|
||||
<div v-if="$route.query.taskContent == 'PHONE_OUTBOUND'">
|
||||
<div class="sport">电话外呼</div>
|
||||
<div class="nexttime">话术名称</div>
|
||||
</div>
|
||||
|
||||
<!-- 人工随访 -->
|
||||
<div class="right" v-if="$route.query.taskContent == 'ARTIFICIAL_FOLLOW_UP'">
|
||||
<div class="sport">人工随访模板: 神经内科人工随访</div>
|
||||
<div class="words">**您好!</div>
|
||||
<div class="words">
|
||||
我是✕✕医院的工作人员,今天给您打电话想要了解一下您的恢复情况。
|
||||
</div>
|
||||
<div class="words">
|
||||
1.进食【单选题】
|
||||
<el-radio-group v-model="radio" class="custom-radio-group">
|
||||
<el-radio label="1" class="custom">备选项</el-radio>
|
||||
<el-radio label="2" class="custom">备选项</el-radio>
|
||||
<el-radio label="3" class="custom">备选项</el-radio>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div v-if="$route.query.taskContent == 'ARTIFICIAL_FOLLOW_UP'">
|
||||
<div class="sport">人工随访模板:</div>
|
||||
<div class="sport">人工随访模板内容:</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { selectVisitRecord } from "@/api/system/taskExecuteRecord";
|
||||
export default {
|
||||
name: "patientdetails",
|
||||
data() {
|
||||
return {
|
||||
radio: "1",
|
||||
activeName: "first",
|
||||
id: "",
|
||||
list: [],
|
||||
};
|
||||
},
|
||||
created() {
|
||||
console.log(this.$route.query);
|
||||
this.id = this.$route.query.patientId;
|
||||
this.info();
|
||||
},
|
||||
methods: {
|
||||
info() {
|
||||
selectVisitRecord(this.id).then((res) => {
|
||||
console.log(res);
|
||||
this.list = res.data;
|
||||
});
|
||||
},
|
||||
// 保存
|
||||
submit(){},
|
||||
// 取消
|
||||
cencal(){
|
||||
|
||||
this.$router.push({
|
||||
path: "/task/followup",
|
||||
|
||||
});
|
||||
},
|
||||
|
||||
handleClick(tab, event) {
|
||||
console.log(tab, event);
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.custom-radio-group {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 10px 0 10px 10px;
|
||||
.custom {
|
||||
padding: 10px 0 10px 10px;
|
||||
}
|
||||
}
|
||||
.bodytop {
|
||||
position: relative;
|
||||
top: 20px;
|
||||
// height: 500px;
|
||||
width: 400px;
|
||||
margin: 0 auto;
|
||||
// background: red;f
|
||||
overflow: auto;
|
||||
border: 1px solid #e2e2e2;
|
||||
.titledata {
|
||||
margin: 30px 0px 15px 30px;
|
||||
top: 14px;
|
||||
font-size: 20px;
|
||||
}
|
||||
.audiotop {
|
||||
margin: 10px 0px 10px 30px;
|
||||
}
|
||||
img {
|
||||
// width: 362px;
|
||||
// height: 127px;
|
||||
margin: 0px 0px 0px 30px;
|
||||
}
|
||||
.know {
|
||||
margin: 11px 0px 10px 30px;
|
||||
font-size: 20px;
|
||||
font-weight: 550;
|
||||
}
|
||||
.knowlist {
|
||||
margin: 10px 0px 10px 30px;
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
.right {
|
||||
width: 70%;
|
||||
height: 500px;
|
||||
// background: yellow;
|
||||
}
|
||||
.header {
|
||||
background-color: #f1f3f5;
|
||||
padding-top: 10px;
|
||||
|
||||
::v-deep .el-tabs__header {
|
||||
margin: 0 !important;
|
||||
width: 100%;
|
||||
// overflow: auto;
|
||||
// height: 500px;
|
||||
// background: red;
|
||||
}
|
||||
|
||||
.bottomheader {
|
||||
width: 99%;
|
||||
background-color: #fff;
|
||||
margin: 10px auto;
|
||||
padding: 10px 20px;
|
||||
.sport {
|
||||
padding: 10px 50px 10px 10px;
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.words {
|
||||
font-size: 15px;
|
||||
padding: 10px 50px 10px 10px;
|
||||
}
|
||||
.sports {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translate(-50%);
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.word {
|
||||
font-size: 14px;
|
||||
font-weight: 550;
|
||||
padding: 50px 50px 10px 10px;
|
||||
}
|
||||
.videoleft {
|
||||
width: 40%;
|
||||
height: 200px;
|
||||
background: red;
|
||||
}
|
||||
.time {
|
||||
font-size: 20px;
|
||||
font-weight: 550;
|
||||
padding: 10px 50px 10px 10px;
|
||||
}
|
||||
.number {
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
color: white;
|
||||
background: blue;
|
||||
border-radius: 50%;
|
||||
}
|
||||
.nexttime {
|
||||
font-size: 15px;
|
||||
padding: 10px 50px 10px 10px;
|
||||
}
|
||||
.images {
|
||||
width: 53%;
|
||||
height: 241px;
|
||||
margin: 0 auto;
|
||||
background: red;
|
||||
}
|
||||
.attention {
|
||||
font-size: 14px;
|
||||
font-weight: 550;
|
||||
padding: 10px 50px 10px 10px;
|
||||
}
|
||||
// .videobottom
|
||||
// {
|
||||
// font-size: 14px;
|
||||
// font-weight: 550;
|
||||
// padding: 10px 50px 10px 10px;
|
||||
// }
|
||||
}
|
||||
|
||||
.topheader {
|
||||
width: 99%;
|
||||
background-color: #fff;
|
||||
margin: 0 auto;
|
||||
|
||||
.information {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
padding: 10px 20px;
|
||||
height: 110px;
|
||||
|
||||
.top,
|
||||
.bottom {
|
||||
color: #666666;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
|
||||
div {
|
||||
width: 25%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.user {
|
||||
width: 100%;
|
||||
padding: 0 20px;
|
||||
display: flex;
|
||||
height: 80px;
|
||||
align-items: center;
|
||||
line-height: 80px;
|
||||
|
||||
.source {
|
||||
display: flex;
|
||||
position: relative;
|
||||
right: 59px;
|
||||
position: absolute;
|
||||
.item{
|
||||
margin-left: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.name {
|
||||
font-size: 20px;
|
||||
padding-left: 12px;
|
||||
}
|
||||
|
||||
.gender {
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.age {
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.headsculpture {
|
||||
border-radius: 50%;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user