Browse Source

随访工单页面

newMaster
liuzhipeng 1 year ago
parent
commit
9f6d0bd947
  1. 16
      acupuncture-ui/src/api/followupFile.js
  2. 316
      acupuncture-ui/src/views/followFile/work.vue

16
acupuncture-ui/src/api/followupFile.js

@ -57,3 +57,19 @@ export function queryTask(data) {
data: data, data: data,
}); });
} }
// 失访
export function updStatus(data) {
return request({
url: "/followup/updStatus",
method: "post",
data: data,
});
}
// 患者随访
export function followPatient(data) {
return request({
url: "/followup/followPatient",
method: "post",
data: data,
});
}

316
acupuncture-ui/src/views/followFile/work.vue

@ -6,10 +6,10 @@
@queryTable="getList" @queryTable="getList"
></right-toolbar> ></right-toolbar>
</el-row> </el-row>
<el-tabs v-model="activeName" @tab-click="handleClick"> <el-tabs v-model="queryParams.param.status" @tab-click="handleClick">
<el-tab-pane label="待随访" name="first"></el-tab-pane> <el-tab-pane label="待随访" name="0"></el-tab-pane>
<el-tab-pane label="已随访" name="second"></el-tab-pane> <el-tab-pane label="已随访" name="1"></el-tab-pane>
<el-tab-pane label="失访" name="third"></el-tab-pane> <el-tab-pane label="失访" name="2"></el-tab-pane>
</el-tabs> </el-tabs>
<el-table <el-table
v-loading="loading" v-loading="loading"
@ -17,7 +17,26 @@
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="姓名" align="center" prop="name" width="100" /> <el-table-column
label="工单id"
show-overflow-tooltip
align="center"
prop=""
width="100"
/>
<el-table-column
label="随访队列"
show-overflow-tooltip
align=""
prop="name"
width="100"
/>
<el-table-column
label="患者姓名"
align="center"
prop="name"
width="100"
/>
<el-table-column <el-table-column
label="性别" label="性别"
align="center" align="center"
@ -32,25 +51,18 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="出生日期" label="年龄"
align="center" align="center"
prop="birthDate" prop="age"
show-overflow-tooltip show-overflow-tooltip
width="150" width="150"
/> />
<el-table-column <el-table-column
label="民族" label="证件号码"
align="center"
prop="ethnicity"
show-overflow-tooltip
width="100"
/>
<el-table-column
label="受教育年限"
align="center" align="center"
prop="educationYears" prop="idCard"
show-overflow-tooltip show-overflow-tooltip
width="100" width="180"
/> />
<el-table-column <el-table-column
label="手机号码" label="手机号码"
@ -60,89 +72,74 @@
width="150" width="150"
/> />
<el-table-column <el-table-column
label="证件类型" label="随访序号"
align="center" align="center"
prop="idCardType" prop="phone"
show-overflow-tooltip show-overflow-tooltip
width="200" width="150"
> />
<template slot-scope="scope">
{{ idCardTypeValue[scope.row.idCardType] }}
</template>
</el-table-column>
<el-table-column <el-table-column
label="证件号码" label="开始时间"
align="center" align="center"
prop="idCard" prop="phone"
show-overflow-tooltip show-overflow-tooltip
width="180" width="150"
/> />
<el-table-column <el-table-column
label="建档人" label="结束时间"
align="center" align="center"
prop="createBy" prop="phone"
show-overflow-tooltip show-overflow-tooltip
width="100" width="150"
/> />
<!--待随访 随访状态待随访/即将超期/超期 -->
<!--已随访 随访状态已随访/超随访期 -->
<!--待随访 随访状态待随访 -->
<el-table-column <el-table-column
label="建档组织(医院名称)" label="随访状态"
align="center" align="center"
prop="organization" prop="phone"
show-overflow-tooltip show-overflow-tooltip
width="150" width="150"
/> >
<el-table-column label="建档日期" align="center" width="130">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ {{ status[scope.row.status] }}
parseTime(scope.row.createTime, "{y}-{m}-{d} {h}:{i}")
}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
fixed="right" label="失访状态"
label="来源"
align="center" align="center"
prop="source" prop="phone"
show-overflow-tooltip show-overflow-tooltip
width="100" width="150"
> />
<template slot-scope="scope"> <el-table-column
<span v-if="scope.row.gender == 0">筛查</span> label="失访原因"
<span v-if="scope.row.gender == 1">录入</span> align="center"
<span v-if="scope.row.gender == 2">HIS</span> prop="phone"
</template> show-overflow-tooltip
</el-table-column> width="150"
/>
<el-table-column fixed="right" label="操作" align="center" width="150"> <el-table-column fixed="right" label="操作" align="center" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- :disabled="scope.row.status !== '0'" -->
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit" icon="el-icon-s-check"
@click="handleUpdate(scope.row)" @click="handleFollow(scope.row)"
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
>删除</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-tickets"
@click="handleDetails(scope.row)"
>详情</el-button
> >
随访
</el-button>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-notebook-2" icon="el-icon-s-release"
@click="handleDelete(scope.row)" @click="handleLossFollow(scope.row)"
>诊疗档案</el-button
> >
失访
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -155,10 +152,10 @@
@pagination="getList" @pagination="getList"
/> />
<!-- 添加或修改公告对话框 --> <!-- 失访 -->
<el-dialog <el-dialog
class="popup" class="popup"
:title="title" title="失访"
:visible.sync="open" :visible.sync="open"
width="780px" width="780px"
append-to-body append-to-body
@ -170,8 +167,58 @@
:rules="rules" :rules="rules"
label-width="90px" label-width="90px"
> >
<el-form-item label="姓名" prop="name"> <el-form-item label="随访次数" prop="times">
<el-input v-model="form.name" placeholder="请输入" /> <el-input v-model="form.times" placeholder="请输入" />
</el-form-item>
<el-form-item label="失访原因" prop="reason">
<el-select v-model="form.reason" placeholder="请选择">
<el-option-group
v-for="group in options"
:key="group.label"
:label="group.label"
>
<el-option
v-for="item in group.options"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-option-group>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!-- 随访 -->
<el-dialog
class="popup"
title="失访"
:visible.sync="open1"
width="780px"
append-to-body
>
<el-form
class="formStep"
ref="form"
:model="form"
:rules="rules"
label-width="90px"
>
<el-form-item label="随访人" prop="followuper">
<el-input v-model="form.followuper" placeholder="请输入" />
</el-form-item>
<el-form-item label="随访时间" prop="followupTime">
<el-input v-model="form.followupTime" placeholder="请输入" />
</el-form-item>
<el-form-item label="随访次数" prop="times">
<el-input v-model="form.times" placeholder="请输入" />
</el-form-item>
<el-form-item label="随访内容" prop="followupText">
<el-input v-model="form.followupText" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -183,20 +230,70 @@
</template> </template>
<script> <script>
import { getToken } from "@/utils/auth"; import { queryTask, updStatus, followPatient } from "@/api/followupFile";
import { queryTask } from "@/api/followupFile";
export default { export default {
name: "Notice", name: "Notice",
dicts: ["sys_notice_status", "sys_notice_type"],
data() { data() {
return { return {
options: [
{
label: "患者原因",
options: [
{
value: "患者病情加重或死亡,无法参与随访",
},
{
value: "患者依从性差,不配合随访",
},
{
value: "患者主动退出或不愿继续随访",
},
{
value: "患者搬迁、工作变动、联系方式更换,无法联系到患者",
},
{
value: "信息记录不准确,错误记录患者联系方式或地址",
},
],
},
{
label: "医疗机构原因",
options: [
{
value: "随访管理不足,未及时安排随访",
},
{
value: "随访人员更换,管理混乱导致遗漏",
},
{
value: "转诊或转院",
},
{
value: "医疗资源受限",
},
],
},
{
label: "不可抗力",
options: [
{
value: "社会动荡或自然灾害",
},
{
value: "疫情或公共卫生事件",
},
],
},
],
activeName: "", activeName: "",
headers: { status: {
Authorization: "Bearer " + getToken(), 0: "待随访",
deptId: localStorage.getItem("hospitalId"), 1: "已随访",
2: "失访",
3: "即将超期",
4: "超期未随访",
5: "超期已随访",
}, },
uploadFileUrl1: process.env.VUE_APP_BASE_API + "/pms/importTjbgZip", //
fileList: [],
idCardType: [ idCardType: [
{ {
label: "身份证", label: "身份证",
@ -230,13 +327,14 @@ export default {
listDat: [{}], // listDat: [{}], //
title: "", // title: "", //
open: false, // open: false, //
open1: false, //
importOpen: false, // importOpen: false, //
// //
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
param: { param: {
keywords: "", // status: "0",
}, },
}, },
formDisabled: false, formDisabled: false,
@ -245,8 +343,21 @@ export default {
form: {}, form: {},
// //
rules: { rules: {
name: [ followuper: [
{ required: true, message: "患者姓名不能为空", trigger: "blur" }, { required: true, message: "随访人不能为空", trigger: "blur" },
],
followupTime: [
{ required: true, message: "随访时间不能为空", trigger: "change" },
],
followupText: [
{ required: true, message: "随访内容不能为空", trigger: "blur" },
],
times: [
{ required: true, message: "随访次数不能为空", trigger: "blur" },
],
reason: [
{ required: true, message: "失访原因不能为空", trigger: "change" },
], ],
}, },
}; };
@ -256,7 +367,7 @@ export default {
}, },
methods: { methods: {
handleClick(tab, event) { handleClick(tab, event) {
console.log(tab, event); this.getList();
}, },
/** 查询公告列表 */ /** 查询公告列表 */
getList() { getList() {
@ -274,18 +385,7 @@ export default {
}, },
// //
reset() { reset() {
this.form = { this.form = {};
name: "", //
gender: 0, //
birthDate: "", //
ethnicity: "", //
educationYears: "", //
phone: "", //
idCardType: "", //
idCard: "", //
currentIllnessHistory: [], //
currentIllnessHistoryQT: "", //
};
this.resetForm("form"); this.resetForm("form");
}, },
/** 搜索按钮操作 */ /** 搜索按钮操作 */
@ -308,25 +408,17 @@ export default {
handleAdd() { handleAdd() {
this.reset(); this.reset();
this.open = true; this.open = true;
this.title = "新增患者档案";
this.formDisabled = false;
}, },
/** 修改按钮操作 */ /** 随访 */
handleUpdate(row) { handleFollow(row) {
this.open = true; this.open1 = true;
this.title = "修改患者档案";
this.formDisabled = false;
this.form = JSON.parse(JSON.stringify(row)); this.form = JSON.parse(JSON.stringify(row));
//
this.form.currentIllnessHistory =
this.form.currentIllnessHistory.split(",");
}, },
/** 详情按钮操作 */ /** 失访 */
handleDetails(row) { handleLossFollow(row) {
this.open = true; this.open = true;
this.title = "患者档案详情";
this.formDisabled = true;
this.form = JSON.parse(JSON.stringify(row)); this.form = JSON.parse(JSON.stringify(row));
this.form.status = 2;
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm: function () { submitForm: function () {

Loading…
Cancel
Save