<template>
|
<div>
|
<el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px">
|
<el-form-item label="姓名" prop="name">
|
<el-input v-model="queryParams.name" style="width: 116px" placeholder="请输入姓名" clearable
|
@keyup.enter.native="handleQuery"></el-input>
|
</el-form-item>
|
<el-form-item label="体检号" prop="tjNumber">
|
<el-input ref="inputName" v-model="queryParams.tjNumber" style="width: 240px" placeholder="请输入体检号"></el-input>
|
</el-form-item>
|
<el-form-item>
|
<el-button size="mini" type="primary" @click="submitForm">搜索</el-button>
|
<el-button size="mini" @click="resetQuery">重置</el-button>
|
</el-form-item>
|
</el-form>
|
<div style="display: flex;">
|
<el-radio-group v-model="tjStatus" @input="radioChange" style="margin-left: 30px">
|
<el-radio-button label="0">未检</el-radio-button>
|
<el-radio-button label="1">已检</el-radio-button>
|
</el-radio-group>
|
</div>
|
|
<template>
|
<el-table :data="tableList" v-loading="loading" ref="table" height="536px" style="margin: 20px; width: 98%"
|
border="" :cell-class-name="myclass" >
|
<!-- <template slot="empty">数据正在加载中</template> -->
|
<el-table-column label="体检号" align="center" prop="tjNumber" width="160px" />
|
<el-table-column label="姓名" align="center" prop="cusName" width="90px" />
|
<el-table-column label="性别" align="center" prop="cusSex" width="60px">
|
<template slot-scope="scope">
|
<span v-if="scope.row.cusSex == '0'">男</span>
|
<span v-if="scope.row.cusSex == '1'">女</span>
|
<span v-if="scope.row.cusSex == '2'">未知</span>
|
<span v-if="scope.row.cusSex == '9'">未说明性别</span>
|
</template>
|
</el-table-column>
|
<el-table-column label="出生日期" align="center" prop="cusBrithday" width="100px" />
|
<el-table-column label="电话" align="center" prop="cusPhone" width="100px" />
|
<el-table-column label="体检类型" align="center" prop="tjType" width="80px" />
|
<el-table-column label="登记时间" align="center" prop="createTime" width="160px" />
|
<el-table-column label="体检时间" align="center" prop="tjTime" width="100px" />
|
<el-table-column label="未检项" prop="notCheckeds" :show-overflow-tooltip="true" />
|
<el-table-column label="操作" align="center" width="130px">
|
<template slot-scope="scope">
|
<el-button type="primary" icon="el-icon-first-aid-kit" size="mini" @click="Changeapplyfor(scope.row)"
|
title="会诊申请" v-if="tjStatus == '1'"></el-button>
|
<el-button type="primary" icon="el-icon-share" size="mini" @click="handleClick(scope.row)"
|
title="详情"></el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
|
<div class="pag">
|
<div class="pag1">
|
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.pageSize"
|
@pagination="getList" />
|
</div>
|
</div>
|
</template>
|
|
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
|
<el-row>
|
<el-col :span="9" v-if="hzlogList.length >= 1">
|
<h3>会诊申请记录</h3>
|
<el-table :data="hzlogList" style="width: 100%" border>
|
<el-table-column label="申请人" align="center" prop="hzDoctorName" width="100px" />
|
<el-table-column label="科室" align="center" prop="hzDeptName" />
|
<el-table-column label="操作" align="center" width="150px">
|
<template slot-scope="scope">
|
<el-button type="primary" size="mini" @click="hadleedit(scope.row)"
|
v-if="scope.row.hzReplyLogsList.length == 0 && scope.row.hzDoctorId == info.userId">修改</el-button>
|
<el-button type="primary" size="mini"
|
v-if="scope.row.hzReplyLogsList.length == 0 && scope.row.hzDoctorId == info.userId"
|
@click="handledele(scope.row)">删除</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
</el-col>
|
<el-col :span="14">
|
<h3 style="text-align: center;">会诊记录申请</h3>
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
<el-form-item label="姓名" prop="cusName">
|
<el-input v-model="form.cusName" placeholder="请输入姓名" disabled />
|
</el-form-item>
|
<el-form-item label="体检号" prop="tjNumber">
|
<el-input v-model="form.tjNumber" placeholder="请输入体检号" disabled />
|
</el-form-item>
|
<el-form-item label="会诊科室" prop="hzType">
|
<el-radio-group v-model="form.hzType">
|
<el-radio-button label="0">全院会诊</el-radio-button>
|
<el-radio-button label="1">科室会诊</el-radio-button>
|
</el-radio-group>
|
</el-form-item>
|
<el-form-item label="选择科室" v-if="form.hzType == '1'">
|
<el-select v-model="form.hzDeptId" multiple filterable style="width: 100%">
|
<el-option v-for="item in deptList" :key="item.deptId" :label="item.deptName"
|
:value="item.deptId"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="申请人" prop="hzDoctorId">
|
<el-select v-model="form.hzDoctorId" placeholder="请选择" style="width: 100%" filterable>
|
<el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<!-- <el-form-item label="申请时间" prop="createTime">
|
<el-date-picker v-model="form.createTime" type="datetime" placeholder="选择申请时间">
|
</el-date-picker>
|
</el-form-item> -->
|
</el-form>
|
</el-col>
|
</el-row>
|
<div slot="footer" class="dialog-footer">
|
<el-button type="primary" @click="submitFormapply">确 定</el-button>
|
<el-button @click="cancel">取 消</el-button>
|
</div>
|
</el-dialog>
|
|
<el-dialog :title="title" :visible.sync="foropen" width="1000px" append-to-body>
|
<el-row>
|
<el-col :span="8" v-if="hasdeptList.length >= 1">
|
<h3 style="text-align: center;">会诊申请记录</h3>
|
<el-table :data="hasdeptList" style="width: 100%" border ref="tab" @selection-change="handleSelectionChange">
|
<el-table-column type="selection" width="50" align="center" />
|
<el-table-column label="申请人" align="center" prop="hzDoctorName" width="100px" />
|
<el-table-column label="科室" align="center" prop="hzDeptName" width="260px" />
|
</el-table>
|
</el-col>
|
<el-col :span="16" style="padding: 0 10px;">
|
<h3 style="text-align: center;">会诊意见</h3>
|
<div v-if="hzReplyLogsList.length >= 1" style="margin-bottom: 10px;">
|
<div v-for="(item, index) in hzReplyLogsList" :key="index"
|
style="padding-bottom:5px;border-bottom: 1px solid black;">
|
<!-- <div>会诊科室:{{ item.replyDeptName }}</div> -->
|
<div> 医生:{{ item.hzDoctorName }} </div>
|
<div>回复:{{ item.replyContent }}</div>
|
</div>
|
</div>
|
<el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="textarea">
|
</el-input>
|
<div style="padding: 10px 10px;">
|
<el-button type="primary" @click="submitFormreply">回复</el-button>
|
</div>
|
</el-col>
|
</el-row>
|
<!-- <div slot="footer" class="dialog-footer">
|
<el-button type="primary" @click="submitFormapply">确 定</el-button>
|
<el-button @click="cancel">取 消</el-button>
|
</div> -->
|
</el-dialog>
|
|
|
<el-dialog :title="title" :visible.sync="tuweiopen" width="1000px" append-to-body>
|
<el-row>
|
<el-col :span="10">
|
<el-table :data="proimgList" border ref="tabss" @selection-change="handleproimgChange">
|
<el-table-column type="selection" width="50" align="center" />
|
<el-table-column label="项目" align="center" prop="proName" />
|
<el-table-column label="医生" align="center" prop="createBy" />
|
</el-table>
|
</el-col>
|
<el-col :span="12">
|
<div class="demo-image__lazy">
|
<el-image style="width: 320px; height: 120px;margin-left: 10px;" v-for="url in urls" :key="url" :src="url"
|
:preview-src-list="srcList" lazy></el-image>
|
</div>
|
</el-col>
|
</el-row>
|
<!-- <div slot="footer" class="dialog-footer">
|
<el-button type="primary" @click="submittuwei">确 定</el-button>
|
<el-button @click="cancel">取 消</el-button>
|
</div> -->
|
</el-dialog>
|
|
<el-dialog title="填写是否重大阳性" :visible.sync="checkval" width="800px" append-to-body>
|
<el-form ref="form" :model="formIn" label-width="100px">
|
<el-form-item label="姓名">
|
<el-input v-model="formIn.cusName" disabled></el-input>
|
</el-form-item>
|
<el-form-item label="体检号">
|
<el-input v-model="formIn.tjNumber" disabled></el-input>
|
</el-form-item>
|
<el-form-item label="父项名称">
|
<el-input v-model="Parentcheck.proName" disabled></el-input>
|
</el-form-item>
|
<el-form-item label="子项名称">
|
<el-input v-model="formIn.proName" disabled></el-input>
|
</el-form-item>
|
<el-form-item label="重大阳性">
|
<el-radio-group v-model="formIn.flag">
|
<el-radio label="1">是</el-radio>
|
<el-radio label="0">否</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
<el-form-item label="等级">
|
<el-select v-model="formIn.level" placeholder="请选择" filterable style="width: 100%;">
|
<el-option v-for="item in dict.type.lj_positive" :key="item.value" :label="item.label" :value="item.value">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="备注">
|
<el-input type="textarea" v-model="formIn.remark"></el-input>
|
</el-form-item>
|
</el-form>
|
<div slot="footer" class="dialog-footer">
|
<el-button type="primary" @click="submitcheckval">确 定</el-button>
|
<el-button @click="cancell">取 消</el-button>
|
</div>
|
</el-dialog>
|
|
|
<!-- 点击右边弹出层 -->
|
<el-drawer :visible.sync="drawer" :with-header="false" size="70%" :before-close="handleClose">
|
<div style="font-size: 14px">
|
<table style="
|
width: 96%;
|
height:70px
|
margin: 10px 10px;
|
margin-bottom:10px
|
border: 1px solid #dfe6ec;
|
border-collapse: collapse;
|
font-size:16px
|
" cellspacing="4">
|
<caption style="background-color: #f8f8f9; font-size: 18px">
|
填写{{
|
tableAll.cusName
|
}}的体检资料
|
</caption>
|
<tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
|
<td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right">
|
姓名:
|
</td>
|
<td style="border: 1px solid #dfe6ec; border-collapse: collapse">
|
{{ tableAll.cusName }}
|
<template slot-scope="scope">
|
<span v-if="scope.row.cusSex == '0'">男</span>
|
<span v-if="scope.row.cusSex == '1'">女</span>
|
<span v-if="scope.row.cusSex == '2'">未知</span>
|
<span v-if="scope.row.cusSex == '9'">未说明性别</span>
|
</template>
|
</td>
|
<td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right">
|
性别:
|
</td>
|
<td style="border: 1px solid #dfe6ec; border-collapse: collapse">
|
{{ tableAll.cusSex }}
|
</td>
|
</tr>
|
<tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
|
<td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right">
|
体检单号:
|
</td>
|
<td style="border: 1px solid #dfe6ec; border-collapse: collapse">
|
{{ tableAll.tjNumber }}
|
</td>
|
<td style="border: 1px solid #dfe6ec; border-collapse: collapse" align="right">
|
体检时间:
|
</td>
|
<td style="border: 1px solid #dfe6ec; border-collapse: collapse">
|
{{ date }}
|
</td>
|
</tr>
|
</table>
|
</div>
|
<div>
|
<div style="margin: 10px 10px;" v-if="hasdeptList.length >= 1">
|
<el-button type="primary" size="mini" @click="Changeapply()">会诊申请</el-button>
|
</div>
|
|
</div>
|
|
|
<template>
|
<div style="margin-left: 10px">
|
<el-radio-group v-model="radio" v-for="(item, index) in Parent" :key="index"
|
@input="radioChange1(item.proId, item)">
|
<el-radio-button :label="item.proId">{{
|
item.proName
|
}}</el-radio-button>
|
</el-radio-group>
|
</div>
|
</template>
|
<el-table v-loading="loading" :data="proParentList.sons" border height="460px"
|
style="width: 96%; margin: 10px 10px">
|
<el-table-column prop="project.proName" label="检测项目" width="150">
|
<!-- <template slot-scope="scope">
|
{{ scope.row.project.proName }}
|
</template> -->
|
</el-table-column>
|
<el-table-column prop="proResult" label="检测结果" width="280">
|
<template slot-scope="scope">
|
<el-input size="mini" v-model="scope.row.proResult" autocomplete="off" placeholder="请输入检测结果"
|
@blur="handleInputConfirm(scope.row)" @input="vale"></el-input>
|
</template>
|
</el-table-column>
|
<el-table-column label="规则" width="55">
|
<template slot-scope="scope">
|
<el-button class="blue-button" @click="handleguize(scope.row)">...</el-button>
|
</template>
|
</el-table-column>
|
<el-table-column prop="project.proMetering" label="单位">
|
<!-- <template slot-scope="scope">
|
{{ scope.row.standard.company }}
|
</template> -->
|
</el-table-column>
|
<el-table-column prop="project.proScope" label="参考范围" width="100">
|
</el-table-column>
|
<el-table-column prop="conclusion" label="结果结论" width="280">
|
<template slot-scope="scope">
|
<el-input size="mini" v-model="scope.row.conclusion" autocomplete="off" placeholder="请输入检测结果"
|
disabled></el-input>
|
</template>
|
</el-table-column>
|
<el-table-column prop="exceptionDesc" label="是否异常" width="80px" align="center">
|
<template slot-scope="scope">
|
<el-checkbox v-model="scope.row.exceptionDesc"></el-checkbox>
|
</template>
|
</el-table-column>
|
<el-table-column prop="isReturn" label="是否复诊" width="80px" align="center">
|
<template slot-scope="scope">
|
<el-checkbox v-model="scope.row.isReturn"></el-checkbox>
|
</template>
|
</el-table-column>
|
<el-table-column prop="project.resultType" label="结果类型">
|
<template slot-scope="scope">
|
<dict-tag :options="dict.type.tj_result_type" :value="scope.row.project.resultType" />
|
</template>
|
</el-table-column>
|
<el-table-column prop="isPositive" label="重大阳性">
|
<template slot-scope="scope">
|
<el-switch v-model="scope.row.isPositive" active-value="1" inactive-value="0"
|
@change="checkboxchange(scope.row)"></el-switch>
|
</template>
|
</el-table-column>
|
</el-table>
|
|
<div style="font-size: 14px; overflow-y: auto; height: 286px">
|
<table style="
|
width: 96%;
|
margin: 4px 10px;
|
border: 1px solid #dfe6ec;
|
border-collapse: collapse;
|
" cellspacing="4">
|
<tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
|
<td style="border: 1px solid #dfe6ec; border-collapse: collapse">
|
病种选择:
|
</td>
|
<td style="border: 1px solid #dfe6ec; border-collapse: collapse">
|
<el-select v-model="value" multiple placeholder="请选择" style="width: 100%; height: 45px"
|
v-if="deptAdviceList" @change="sel" filterable>
|
<el-option v-for="item in deptAdviceList" :key="item.id" :label="item.title" :value="item.id">
|
</el-option>
|
</el-select>
|
</td>
|
<td style="border: 1px solid #dfe6ec; border-collapse: collapse">
|
主检医师:
|
</td>
|
<td style="border: 1px solid #dfe6ec; border-collapse: collapse">
|
<el-select v-model="doctorName" placeholder="请选择" style="width: 100%" v-if="deptAdviceList"
|
@change="selName" filterable>
|
<el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId">
|
</el-option>
|
</el-select>
|
</td>
|
<td>
|
<div>
|
<el-button type="primary" size="mini" @click="Graphicreport()">图文报告</el-button>
|
</div>
|
</td>
|
</tr>
|
<tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
|
<td style="border: 1px solid #dfe6ec; border-collapse: collapse">
|
建议:
|
</td>
|
<td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2">
|
<el-input type="textarea" placeholder="请输入内容" v-model="proParentList.remark" rows="7">
|
</el-input>
|
</td>
|
</tr>
|
</table>
|
|
<div slot="footer" class="dialog-footers">
|
<!-- <el-button type="primary"
|
size="mini"
|
@click="radioChange"
|
v-hasPermi="['system:notice:add']"
|
v-show="tjStatus == '1'"
|
>会诊申请</el-button> -->
|
<el-button type="primary" @click="determine" v-show="tjStatus == '0'">提 交</el-button>
|
</div>
|
</div>
|
<!-- <div style="background-color: #f3f3f3;font-size:14px;overflow-y:auto;height: calc(100% - 11%);">
|
<table style="width:96%;margin: 4px 10px;border:1px solid white" cellspacing="4" border="2"
|
v-for="(item, index) in proParentList.sons" :key="index">
|
<tr align="center">
|
<th>检测项目</th>
|
<th>检测结果</th>
|
<th>单位</th>
|
<th>参考范围</th>
|
</tr>
|
|
<tr>
|
<td>{{ item.project.proName }}</td>
|
<td><el-input v-model="item.proResult" placeholder="请输入内容"></el-input></td>
|
<td>{{ item.standard.company }}</td>
|
<td>{{ item.standard.tjStandardGtValue + "-" + item.standard.tjStandardLtValue }}</td>
|
</tr>
|
<tr>
|
<td>小结:</td>
|
<td>
|
<el-select v-model="item.value" multiple filterable placeholder="请选择" style="width:100%">
|
<el-option v-for="item in proParentList.parentAdvice" :key="item.id" :label="item.title"
|
:value="item.id">
|
</el-option>
|
</el-select>
|
</td>
|
<td>主检医师:</td>
|
<td>{{ item.doctorName }}</td>
|
</tr>
|
<tr>
|
<td>备注:</td>
|
<td colspan="2">
|
<el-input type="textarea" autosize placeholder="请输入内容" v-model="item.remark">
|
</el-input>
|
</td>
|
</tr>
|
</table>
|
<div slot="footer" class="dialog-footer">
|
<el-button type="primary" @click="determine">确 定</el-button>
|
</div>
|
</div> -->
|
</el-drawer>
|
<Public ref="aaa" :row="row" @add="handleChanges" />
|
</div>
|
</template>
|
|
|
<script>
|
import Public from "@/components/public";
|
import { getInfo } from "@/api/login";
|
import {
|
huaYangetProList,
|
getPhotoList,
|
getaddRemark,
|
getParentList,
|
getParentId,
|
getDeptAdvice,
|
} from "@/api/doctor/check";
|
import {
|
addReplylog, hzHasDept
|
} from "@/api/hosp/replylog";
|
import {
|
addBigPositive
|
} from "@/api/doctor/bigPositive";
|
import { listHzlog, addHzlog, delHzlog, updateHzlog } from "@/api/hosp/hzlog";
|
import { listUser } from "@/api/system/user";
|
import { getChildList } from "@/api/system/dept";
|
export default {
|
dicts: ["sys_user_sex", "sys_yes_no", "tj_result_type",, "lj_positive"],
|
name: "check",
|
components: { Public },
|
data() {
|
return {
|
urls: [
|
],
|
srcList: [
|
],
|
formIn:{},
|
selected: false,
|
project: {},
|
Parentcheck: {},
|
checkval:false,
|
// 遮罩层
|
loading: false,
|
open: false,
|
foropen: false,
|
tuweiopen: false,
|
cateringList: [],
|
orderDetailId: "",
|
textarea: "",
|
title: "",
|
hzlogList: [],
|
// proDefault: "",
|
// dataList: [],
|
rows: [],
|
proimgList:[],
|
id: [],
|
deptAdviceList: [],
|
value: [],
|
remark: "", //备注
|
remarks: "",
|
// 总条数
|
total: 0,
|
// 绑定单选按钮
|
tjStatus: "0",
|
// 抽屉打开方式
|
drawer: false,
|
// 获取抽屉列表
|
drawerList: [],
|
// 获取信息集合
|
tableList: [],
|
deptList: [],
|
tableAll: {},
|
row: {},
|
info: {},
|
allList: [],
|
form: {
|
createTime: new Date()
|
},
|
// 医生
|
doctorName: "",
|
// 父项
|
proName: "",
|
// 父项Id
|
proId: "",
|
company: "",
|
tjStandardGtValue: "",
|
// 用户表格数据
|
userList: null,
|
// 父项目列表
|
Parent: [],
|
hzReplyLogsList: [],
|
hasdeptList: [],
|
radio: "",
|
nums: "",
|
proParentList: [],
|
tjNumber: "",
|
// 全部小结
|
DeptadviceAll: [],
|
// 小结
|
summaryList: [],
|
summaryAll: [],
|
tjOrderDetailList: [],
|
tjOrderDetail: [],
|
deptId: "",
|
userId: "",
|
nickName: "",
|
date: new Date(new Date().getTime() + 8 * 3600 * 1000)
|
.toJSON()
|
.substr(0, 19)
|
.replace("T", " "),
|
// 查询参数
|
queryParams: {
|
page: 1,
|
pageSize: 10,
|
tjNumber: "",
|
type: "",
|
name: null,
|
},
|
rules: {
|
hzType: [
|
{ required: true, message: '请选择科室', trigger: 'change' }
|
]
|
}
|
};
|
},
|
|
created() {
|
this.getList();
|
this.getListUser();
|
},
|
|
mounted() {
|
let _this = this;
|
this.timer = setInterval(() => {
|
_this.date = new Date(new Date().getTime() + 8 * 3600 * 1000)
|
.toJSON()
|
.substr(0, 19)
|
.replace("T", " ");
|
}, 1000);
|
|
this.$nextTick(() => {
|
this.$refs.inputName.focus();
|
});
|
},
|
beforeDestroy() {
|
if (this.timer) {
|
clearInterval(this.timer);
|
}
|
},
|
|
methods: {
|
/** 查询用户列表 */
|
getListUser() {
|
listUser(this.addDateRange(this.queryParams, this.dateRange)).then(
|
(response) => {
|
this.userList = response.rows;
|
}
|
);
|
getInfo().then((response) => {
|
this.info = response.user
|
this.deptId = response.user.deptId;
|
this.userId = response.user.userId;
|
this.nickName = response.user.nickName;
|
});
|
},
|
handleClose() {
|
this.$tab.refreshPage();
|
},
|
// 获取医生
|
selName(val) {
|
this.doctorName = val;
|
// this.userList.forEach(item =>{
|
// if(val === item.userId){
|
// this.doctorName = item.nickName
|
// }
|
// })
|
},
|
myclass(row, column, rowIndex, columnIndex) {
|
if (row.row.isPositive == 1) {
|
return "setclass"
|
}
|
},
|
|
|
// 小结获取备注
|
sel(val) {
|
if (this.proParentList.xiaoJie.length != 0) {
|
this.proParentList.remark = "";
|
this.deptAdviceList.forEach((item) => {
|
this.ids = item.id;
|
val.forEach((item1) => {
|
if (
|
item1 === item.id &&
|
!this.proParentList.remark.includes(item.title)
|
) {
|
if (this.proParentList.remark) {
|
this.proParentList.remark += item.title + ",";
|
} else {
|
this.proParentList.remark = item.title + ",";
|
}
|
}
|
});
|
});
|
} else {
|
this.proParentList.remark = "";
|
this.deptAdviceList.forEach((item) => {
|
this.ids = item.id;
|
val.forEach((item1) => {
|
if (
|
item1 === item.id &&
|
!this.proParentList.remark.includes(item.title)
|
) {
|
if (this.proParentList.remark) {
|
this.proParentList.remark += item.title + ",";
|
} else {
|
this.proParentList.remark = item.title + ",";
|
}
|
}
|
});
|
});
|
}
|
},
|
|
vale(datas) {
|
this.proResult = datas;
|
// this.$refs.aaa.open = true;
|
// this.$refs.aaa.getList();
|
},
|
// 规则
|
handleguize(row) {
|
this.row = row;
|
this.$refs.aaa.open = true;
|
this.$refs.aaa.title = "诊断结果结论";
|
this.$refs.aaa.getList(this.row);
|
},
|
|
handleChanges(param1, param2) {
|
this.row.conclusion = param1;
|
this.row.rulesList = param2;
|
},
|
|
getList() {
|
this.queryParams.type = this.tjStatus;
|
huaYangetProList(this.queryParams).then((response) => {
|
if (response.data) {
|
if (response.data.date) {
|
this.tableList = response.data.date;
|
} else {
|
this.tableList = response.data.customers;
|
}
|
this.total = response.data.total;
|
} else {
|
this.tableList = [];
|
}
|
});
|
},
|
|
// 单选按钮
|
radioChange(val) {
|
this.queryParams.type = val;
|
huaYangetProList(this.queryParams).then((response) => {
|
if (response.data) {
|
this.tableList = response.data.date;
|
this.total = response.data.total;
|
} else {
|
this.tableList = [];
|
}
|
});
|
},
|
|
// 搜索
|
submitForm() {
|
this.queryParams.pageNum = 1;
|
this.getList();
|
// this.loading = true;
|
// (this.queryParams = {
|
// page: 1,
|
// pageSize: 10,
|
// tjNumber: this.queryParams.tjNumber,
|
// name: this.queryParams.name,
|
// }),
|
// getProList(this.queryParams).then((response) => {
|
// if (response.data) {
|
// if (response.data.customers) {
|
// this.tableList = response.data.customers;
|
// this.loading = false;
|
// this.tableList.forEach((item) => {
|
// this.tjStatus = item.tjStatus;
|
// });
|
// } else {
|
// this.tableList = response.data.customers;
|
// this.tableList.forEach((item) => {
|
// this.tjStatus = item.tjStatus;
|
// });
|
// }
|
// this.total = response.data.total;
|
// } else {
|
// this.tableList = [];
|
// }
|
// });
|
},
|
// 重置
|
resetQuery() {
|
this.resetForm("tableList");
|
this.submitForm();
|
},
|
|
Changeapplyfor(row) {
|
this.open = true;
|
this.form = row
|
this.form.hzDoctorId = this.info.userId;
|
getChildList().then(res => {
|
this.deptList = res.data;
|
})
|
this.Hzlog(this.form.tjNumber)
|
},
|
|
Graphicreport() {
|
// this.drawer = false;
|
this.tuweiopen = true;
|
let data = {
|
tjNumber:this.tjNumber,
|
proId:this.proId,
|
}
|
getPhotoList(data).then(res => {
|
this.proimgList = res.data
|
})
|
},
|
handleproimgChange(selected){
|
const val = selected
|
selected.forEach(item => {
|
if(val[val.length -1] == item){
|
this.$refs.tabss.toggleRowSelection(item,true)
|
}else {
|
this.$refs.tabss.toggleRowSelection(item,false)
|
}
|
})
|
this.urls.push(selected[0].checkPicture)
|
this.srcList.push(selected[0].checkPicture)
|
},
|
submittuwei() {
|
|
},
|
|
Hzlog(val) {
|
let data = {
|
tjNumber: val
|
}
|
listHzlog(data).then(response => {
|
this.hzlogList = response.rows;
|
this.hzlogList.forEach(item => {
|
item.hzDeptName = ""
|
if (item.hzType == "0") {
|
item.hzDeptName = "全院会诊"
|
} else {
|
item.hzDeptIdList.forEach(item1 => {
|
this.deptList.forEach(item2 => {
|
if (item1 == item2.deptId) {
|
item.hzDeptName += item2.deptName + ","
|
}
|
})
|
})
|
}
|
})
|
});
|
},
|
handledele(row) {
|
this.id = []
|
this.id.push(row.id)
|
delHzlog(this.id).then(res => {
|
this.$modal.msgSuccess("删除成功");
|
this.Hzlog(this.form.tjNumber)
|
})
|
},
|
|
hadleedit(row) {
|
this.form.hzType = row.hzType
|
this.form.id = row.id
|
},
|
|
submitFormapply() {
|
console.log(this.form)
|
let data = {}
|
this.userList.forEach(item1 => {
|
if (this.form.hzDoctorId == item1.userId) {
|
this.form.hzDoctorName = item1.nickName
|
}
|
})
|
if (this.form.hzType != undefined) {
|
if (this.form.hzDeptId && this.form.id) {
|
// let hzDeptId = ""
|
// this.form.hzDeptId.forEach(item => {
|
// hzDeptId += item + ','
|
// })
|
data = {
|
tjNumber: this.form.tjNumber,
|
userId: this.form.cusId,
|
userName: this.form.cusName,
|
hzDeptIdList: this.form.hzDeptId,
|
hzDoctorId: this.form.hzDoctorId,
|
hzType: this.form.hzType,
|
orderId: this.form.orderId,
|
hzDoctorName: this.form.hzDoctorName,
|
id: this.form.id
|
}
|
} else {
|
data = {
|
tjNumber: this.form.tjNumber,
|
userId: this.form.cusId,
|
userName: this.form.cusName,
|
hzDoctorId: this.form.hzDoctorId,
|
hzType: this.form.hzType,
|
orderId: this.form.orderId,
|
hzDoctorName: this.form.hzDoctorName
|
}
|
}
|
this.$refs["form"].validate((valid) => {
|
if (valid) {
|
if (this.form.id != null) {
|
updateHzlog(data).then(res => {
|
if (res.code == 200) {
|
this.$modal.msgSuccess("修改成功");
|
this.form = {}
|
this.Hzlog()
|
this.radioChange(1)
|
}
|
})
|
} else {
|
addHzlog(data).then(res => {
|
if (res.code == 200) {
|
this.$modal.msgSuccess("申请成功");
|
this.form = {}
|
this.Hzlog()
|
this.radioChange(1)
|
}
|
})
|
this.open = false;
|
}
|
}
|
})
|
} else {
|
this.$modal.msgError("请选择会诊科室");
|
}
|
|
},
|
cancel() {
|
this.open = false;
|
this.foropen = false;
|
this.tuweiopen = false;
|
|
},
|
|
Changeapply() {
|
this.foropen = true
|
this.Hzlog(this.tableAll.tjNumber)
|
|
},
|
submitFormreply() {
|
let data = {
|
hzId: this.allList[0].id,
|
orderId: this.allList[0].orderId,
|
tjNumber: this.allList[0].tjNumber,
|
userId: this.allList[0].userId,
|
userName: this.allList[0].userName,
|
replyContent: this.textarea,
|
hzDoctorId: this.allList[0].hzDoctorId,
|
hzDoctorName: this.allList[0].hzDoctorName,
|
hzType: this.allList[0].hzType,
|
replyDoctorName: this.nickName,
|
replyDeptId: this.deptId,
|
replyDoctorId: this.userId
|
|
}
|
addReplylog(data).then(res => {
|
this.$modal.msgSuccess("回复成功");
|
this.getDept(this.allList[0].tjNumber)
|
})
|
},
|
|
// 多选框选中数据
|
handleSelectionChange(selection) {
|
if (selection.length > 1) {
|
const newRows = selection.filter((it, index) => {
|
if (index == selection.length - 1) {
|
this.$refs.tab.toggleRowSelection(it, true);
|
return true;
|
} else {
|
this.$refs.tab.toggleRowSelection(it, false);
|
return false;
|
}
|
});
|
// this.allList = []
|
// if(newRows[0].hzReplyLogsList){
|
// this.hzReplyLogsList = newRows[0].hzReplyLogsList
|
// }
|
// console.log(this.hzReplyLogsList)
|
// this.allList = newRows
|
} else {
|
this.allList = []
|
if (selection[0]) {
|
if (selection[0].hzReplyLogsList) {
|
this.hzReplyLogsList = selection[0].hzReplyLogsList
|
}
|
} else {
|
this.hzReplyLogsList = []
|
}
|
this.allList = selection
|
}
|
},
|
// 点击详情
|
handleClick(row) {
|
this.getDept(row.tjNumber)
|
this.loading = true;
|
this.drawer = true;
|
this.tableAll = row;
|
if (this.tableAll.cusSex === 0) {
|
this.tableAll.cusSex = "男";
|
}
|
if (this.tableAll.cusSex === 1) {
|
this.tableAll.cusSex = "女";
|
}
|
this.tjNumber = row.tjNumber;
|
let num = 0;
|
getParentList(this.tjNumber).then((response) => {
|
if (response.data) {
|
this.loading = false;
|
this.Parent = response.data;
|
this.Parent.forEach((item) => {
|
if (item.type === 1) {
|
item.proName += " ✔";
|
}
|
if (num === 0) {
|
this.nums = item.proId;
|
this.radio = item.proId;
|
this.proId = item.proId;
|
// this.radioChange1(item.proId, item);
|
this.getParentIdsss()
|
|
getDeptAdvice(this.proId).then((response) => {
|
this.deptAdviceList = response.data;
|
});
|
}
|
num = num + 1;
|
});
|
} else {
|
this.loading = false;
|
this.Parent = [];
|
this.$modal.msgError("该科室下无项目!");
|
}
|
|
});
|
getDeptAdvice().then((response) => {
|
this.deptAdviceList = response.data;
|
});
|
|
// getSons(this.tjNumber).then((response) => {
|
// response.data.forEach(item1 => {
|
// if (item1.parent == '肝功检查') {
|
// this.DeptadviceAll = item1.parentAdvices
|
// }
|
// })
|
// });
|
|
// 获取小结
|
// getDeptadvice().then((response) => {
|
// response.data.forEach(item => {
|
// this.DeptadviceAll = item
|
// })
|
// });
|
},
|
|
getParentIdsss() {
|
let data = {
|
tjNumber: this.tjNumber,
|
proParentId: this.nums,
|
};
|
getParentId(data).then((response) => {
|
this.proParentList = response.data;
|
this.loading = false;
|
this.value = [];
|
if (this.proParentList.xiaoJieIds != null) {
|
if (this.proParentList.xiaoJieIds.length != 0) {
|
this.proParentList.xiaoJieIds.forEach((item2) => {
|
let item = Number(item2)
|
this.value.push(item);
|
});
|
}
|
}
|
|
this.proParentList.sons.forEach((item) => {
|
this.doctorName = item.doctorName;
|
|
if (item.isReturn == 1) {
|
item.isReturn = true;
|
}
|
if (item.isReturn == 0) {
|
item.isReturn = false;
|
}
|
|
if (item.exceptionDesc == "1") {
|
item.exceptionDesc = true;
|
}
|
if (item.exceptionDesc == "0") {
|
item.exceptionDesc = false;
|
}
|
});
|
if (this.proParentList.xiaoJie.length != 0) {
|
this.Parent.forEach((item3) => {
|
if (item3.proId === this.nums) {
|
this.proParentList.remark = item.remark;
|
}
|
});
|
} else {
|
this.proParentList.remark = "";
|
}
|
});
|
},
|
|
checkboxchange(val) {
|
this.project = val.project
|
this.formIn.tjNumber = this.tableAll.tjNumber
|
this.formIn.cusId = this.tableAll.cusId
|
this.formIn.cusName = this.tableAll.cusName
|
this.formIn.proId = this.project.proId
|
this.formIn.proName = this.project.proName
|
this.formIn.orderId = val.orderId
|
this.Parent.forEach(item => {
|
if (this.radio == item.proId) {
|
this.Parentcheck.proName = item.proName
|
this.formIn.proParentId = item.proId
|
}
|
})
|
if (val.isPositive == "1") {
|
this.checkval = true;
|
} else {
|
this.formIn.flag = "0"
|
addBigPositive(this.formIn).then(res => {
|
this.$modal.msgSuccess("删除成功");
|
this.getParentIdsss()
|
})
|
}
|
},
|
submitcheckval() {
|
addBigPositive(this.formIn).then(res => {
|
this.$modal.msgSuccess("新增成功");
|
this.getParentIdsss()
|
this.checkval = false;
|
})
|
},
|
cancell() {
|
this.checkval = false;
|
},
|
|
getDept(val) {
|
let data = {
|
tjNumber: val,
|
deptId: this.deptId
|
}
|
hzHasDept(data).then(res => {
|
if (res.data) {
|
this.hasdeptList = res.data
|
this.hasdeptList.forEach(item => {
|
item.hzDeptName = ""
|
if (item.hzType == "0") {
|
item.hzDeptName = "全院会诊"
|
} else {
|
item.hzDeptIdList.forEach(item1 => {
|
this.deptList.forEach(item2 => {
|
if (item1 == item2.deptId) {
|
item.hzDeptName += item2.deptName + ","
|
}
|
})
|
})
|
}
|
})
|
}
|
|
})
|
},
|
|
// 按钮点击事件
|
radioChange1(proParentId, item) {
|
this.$confirm(
|
"检测到体检结果未提交,是否在离开该项目前提交修改?",
|
"确认信息",
|
{
|
distinguishCancelAndClose: true,
|
confirmButtonText: "提交",
|
cancelButtonText: "不保存,离开",
|
}
|
)
|
.then(() => {
|
// 体检号
|
let tjNumber = this.tableAll.tjNumber;
|
this.userList.forEach((item) => {
|
if (this.doctorName == item.nickName) {
|
this.doctorName = item.userId;
|
}
|
});
|
this.proParentList.sons.forEach((item) => {
|
if (this.rows) {
|
this.rows.forEach((item1) => {
|
if (item1 === item) {
|
item = item1;
|
}
|
// if (item.isReturn == true) {
|
// item.isReturn = 1;
|
// }
|
// if (item.isReturn == false) {
|
// item.isReturn = 0;
|
// }
|
});
|
}
|
this.tjOrderDetail.push({
|
proName: item.project.proName,
|
proId: item.project.proId,
|
orderDetailId: item.orderDetailId,
|
flowingWaterId: item.flowingWaterId,
|
proResult: item.proResult,
|
tjStatus: 1,
|
isReturn: item.isReturn === true ? 1 : 0,
|
exceptionDesc: item.exceptionDesc === true ? 1 : 0,
|
conclusion: item.conclusion,
|
rulesList: item.rulesList,
|
});
|
});
|
|
var data = [
|
{
|
tjNumber,
|
proId: this.proId,
|
remark: this.proParentList.remark, // 备注
|
proName: this.proName, //父项
|
summaryList: this.value, //小结
|
doctorName: this.doctorName,
|
tjOrderDetailList: this.tjOrderDetail,
|
},
|
];
|
getaddRemark(data).then((res) => {
|
this.$modal.msgSuccess("提交成功");
|
});
|
this.proName = item.proName;
|
this.nums = proParentId;
|
this.proId = proParentId;
|
var data = {
|
tjNumber: this.tjNumber,
|
proParentId: this.nums,
|
};
|
getParentId(data).then((response) => {
|
this.proParentList = response.data;
|
this.value = [];
|
if (this.proParentList.xiaoJieIds != null) {
|
if (this.proParentList.xiaoJieIds.length != 0) {
|
this.proParentList.xiaoJieIds.forEach((item2) => {
|
let item = Number(item2)
|
this.value.push(item);
|
});
|
}
|
}
|
this.proParentList.sons.forEach((item) => {
|
this.doctorName = item.doctorName;
|
if (item.isReturn == 1) {
|
item.isReturn = true;
|
}
|
if (item.isReturn == 0) {
|
item.isReturn = false;
|
}
|
|
if (item.exceptionDesc == "1") {
|
item.exceptionDesc = true;
|
}
|
if (item.exceptionDesc == "0") {
|
item.exceptionDesc = false;
|
}
|
});
|
if (this.proParentList.xiaoJie.length != 0) {
|
this.Parent.forEach((item3) => {
|
if (item3.proId === proParentId) {
|
this.remark = item.remark;
|
}
|
});
|
} else {
|
this.remark = "";
|
}
|
});
|
|
getDeptAdvice(this.proId).then((response) => {
|
this.deptAdviceList = response.data;
|
});
|
})
|
.catch((action) => {
|
this.$message({
|
type: "info",
|
message: action === "cancel" ? "放弃保存并离开" : "停留在当前页面",
|
});
|
this.proName = item.proName;
|
this.nums = proParentId;
|
this.proId = proParentId;
|
let data = {
|
tjNumber: this.tjNumber,
|
proParentId: this.nums,
|
};
|
getParentId(data).then((response) => {
|
this.proParentList = response.data;
|
this.value = [];
|
if (this.proParentList.xiaoJieIds != null) {
|
if (this.proParentList.xiaoJieIds.length != 0) {
|
this.proParentList.xiaoJieIds.forEach((item2) => {
|
let item = Number(item2)
|
this.value.push(item);
|
});
|
}
|
}
|
this.proParentList.sons.forEach((item) => {
|
this.doctorName = item.doctorName;
|
if (item.isReturn == 1) {
|
item.isReturn = true;
|
}
|
if (item.isReturn == 0) {
|
item.isReturn = false;
|
}
|
|
if (item.exceptionDesc == "1") {
|
item.exceptionDesc = true;
|
}
|
if (item.exceptionDesc == "0") {
|
item.exceptionDesc = false;
|
}
|
});
|
if (this.proParentList.xiaoJie.length != 0) {
|
this.Parent.forEach((item3) => {
|
if (item3.proId === proParentId) {
|
this.remark = item.remark;
|
}
|
});
|
} else {
|
this.remark = "";
|
}
|
});
|
|
getDeptAdvice(this.proId).then((response) => {
|
this.deptAdviceList = response.data;
|
});
|
});
|
},
|
|
handleInputConfirm(row) {
|
this.rows.push(row);
|
},
|
// 点击确认
|
determine() {
|
// 体检号
|
let tjNumber = this.tableAll.tjNumber;
|
this.userList.forEach((item) => {
|
if (this.doctorName == item.nickName) {
|
this.doctorName = item.userId;
|
}
|
});
|
this.proParentList.sons.forEach((item) => {
|
if (this.rows) {
|
this.rows.forEach((item1) => {
|
if (item1 === item) {
|
item = item1;
|
}
|
// if (item.isReturn == true) {
|
// item.isReturn = 1;
|
// }
|
// if (item.isReturn == false) {
|
// item.isReturn = 0;
|
// }
|
});
|
}
|
this.tjOrderDetail.push({
|
proName: item.project.proName,
|
proId: item.project.proId,
|
orderDetailId: item.orderDetailId,
|
flowingWaterId: item.flowingWaterId,
|
proResult: item.proResult,
|
tjStatus: 1,
|
isReturn: item.isReturn === true ? 1 : 0,
|
exceptionDesc: item.exceptionDesc === true ? 1 : 0,
|
conclusion: item.conclusion,
|
rulesList: item.rulesList,
|
});
|
});
|
|
let data = [
|
{
|
tjNumber,
|
proId: this.proId,
|
remark: this.proParentList.remark, // 备注
|
proName: this.proName, //父项
|
summaryList: this.value, //小结
|
doctorName: this.doctorName,
|
tjOrderDetailList: this.tjOrderDetail,
|
},
|
];
|
getaddRemark(data).then((res) => {
|
this.$modal.msgSuccess("提交成功");
|
this.drawer = false;
|
});
|
this.handleClose();
|
},
|
},
|
};
|
</script>
|
<style >
|
.el-table .cell {
|
-webkit-box-sizing: border-box;
|
box-sizing: border-box;
|
text-overflow: ellipsis;
|
white-space: normal;
|
word-break: break-all;
|
line-height: 23px;
|
padding-left: 10px;
|
padding-right: 10px;
|
}
|
|
.demo-image__lazy {
|
width: 360px;
|
height: 240px;
|
overflow: auto
|
}
|
.setclass {
|
background-color: #f86b35;
|
color: black;
|
}
|
|
.blue-button {
|
width: 10px;
|
background-color: #e2e3e4;
|
}
|
|
.el-button--medium {
|
padding: 4px 14px;
|
font-size: 14px;
|
}
|
|
.dialog-footers {
|
margin-top: 10px;
|
margin-left: calc(100% - 10%);
|
}
|
|
.pag {
|
width: 100%;
|
display: flex;
|
justify-content: center;
|
}
|
|
.pag1 {
|
width: 30%;
|
}
|
</style>
|