| | |
| | | <el-radio-button label="0">未检</el-radio-button> |
| | | <el-radio-button label="1">已检</el-radio-button> |
| | | </el-radio-group> |
| | | <el-row :gutter="10" class="mb8" style="margin:8px 10px;"> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" |
| | | size="mini" |
| | | @click="radioChange" |
| | | v-hasPermi="['system:notice:add']" |
| | | >会诊申请</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | |
| | | |
| | | <template> |
| | | <el-table :data="tableList" v-loading="loading" ref="table" height="536px" style="margin: 20px; width: 98%" |
| | | border=""> |
| | | <!-- <template slot="empty">数据正在加载中</template> --> |
| | | <el-table-column label="体检号" align="center" prop="tjNumber" width="180px" /> |
| | | <el-table-column label="姓名" align="center" prop="cusName" width="100px" /> |
| | | <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 == '9'">未说明性别</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="出生日期" align="center" prop="cusBrithday" width="120px" /> |
| | | <el-table-column label="电话" align="center" prop="cusPhone" width="120px" /> |
| | | <!-- <el-table-column |
| | | label="状态" |
| | | align="center" |
| | | prop="tjStatus" |
| | | :show-overflow-tooltip="true" |
| | | width="80px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.tjStatus == "1" ? "已检" : "未检" }}</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="120px" /> |
| | | <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="80px"> |
| | | <el-table-column label="操作" align="center" width="130px"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="primary" size="mini" @click="handleClick(scope.row)">详情</el-button> |
| | | <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> |
| | | </div> |
| | | </template> |
| | | |
| | | <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body> |
| | | <el-row> |
| | | <el-col :span="7" 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" width="260px" /> |
| | | </el-table> |
| | | </el-col> |
| | | <el-col :span="16"> |
| | | <!-- :rules="rules" --> |
| | | <el-form ref="form" :model="form" 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-drawer :visible.sync="drawer" :with-header="false" size="70%" :before-close="handleClose"> |
| | | <div style="font-size: 14px"> |
| | |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | </div> |
| | | <div style="margin: 10px 10px;" v-if="hasdeptList.length >= 1"> |
| | | <el-button type="primary" size="mini" @click="Changeapply()">会诊申请</el-button> |
| | | </div> |
| | | |
| | | <template> |
| | |
| | | </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> |
| | |
| | | |
| | | <script> |
| | | import Public from "@/components/public"; |
| | | import { getInfo } from "@/api/login"; |
| | | import { |
| | | getProList, |
| | | getSons, |
| | |
| | | getParentId, |
| | | getDeptAdvice, |
| | | } from "@/api/doctor/check"; |
| | | import { |
| | | addReplylog, hzHasDept |
| | | } from "@/api/hosp/replylog"; |
| | | import { listHzlog, addHzlog } 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"], |
| | | name: "check", |
| | |
| | | selected: false, |
| | | // 遮罩层 |
| | | loading: false, |
| | | open: false, |
| | | foropen: false, |
| | | cateringList: [], |
| | | orderDetailId: "", |
| | | textarea: "", |
| | | title: "", |
| | | hzlogList: [], |
| | | // proDefault: "", |
| | | // dataList: [], |
| | | rows: [], |
| | |
| | | drawerList: [], |
| | | // 获取信息集合 |
| | | tableList: [], |
| | | deptList: [], |
| | | tableAll: {}, |
| | | row: {}, |
| | | allList: [], |
| | | form: { |
| | | createTime: new Date() |
| | | }, |
| | | // 医生 |
| | | doctorName: "", |
| | | // 父项 |
| | |
| | | userList: null, |
| | | // 父项目列表 |
| | | Parent: [], |
| | | hzReplyLogsList: [], |
| | | hasdeptList: [], |
| | | radio: "", |
| | | nums: "", |
| | | proParentList: [], |
| | |
| | | summaryAll: [], |
| | | tjOrderDetailList: [], |
| | | tjOrderDetail: [], |
| | | deptId: "", |
| | | userId: "", |
| | | nickName: "", |
| | | date: new Date(new Date().getTime() + 8 * 3600 * 1000) |
| | | .toJSON() |
| | | .substr(0, 19) |
| | |
| | | this.userList = response.rows; |
| | | } |
| | | ); |
| | | getInfo().then((response) => { |
| | | this.form.hzDoctorId = response.user.userId; |
| | | this.deptId = response.user.deptId; |
| | | this.userId = response.user.userId; |
| | | this.nickName = response.user.nickName; |
| | | }); |
| | | }, |
| | | handleClose() { |
| | | this.$tab.refreshPage(); |
| | |
| | | this.submitForm(); |
| | | }, |
| | | |
| | | Changeapplyfor(row) { |
| | | this.open = true; |
| | | this.form = row |
| | | getChildList().then(res => { |
| | | this.deptList = res.data; |
| | | }) |
| | | |
| | | this.Hzlog(this.form.tjNumber) |
| | | }, |
| | | |
| | | 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 + "," |
| | | } |
| | | }) |
| | | }) |
| | | } |
| | | }) |
| | | }); |
| | | }, |
| | | |
| | | submitFormapply() { |
| | | let data = {} |
| | | this.userList.forEach(item1 => { |
| | | if (this.form.hzDoctorId == item1.userId) { |
| | | this.form.hzDoctorName = item1.nickName |
| | | } |
| | | }) |
| | | if (this.form.hzDeptId) { |
| | | // 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 |
| | | } |
| | | } 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 |
| | | } |
| | | } |
| | | |
| | | addHzlog(data).then(res => { |
| | | if (res.code == 200) { |
| | | this.$modal.msgSuccess("申请成功"); |
| | | this.form = {} |
| | | this.Hzlog() |
| | | this.radioChange(1) |
| | | } |
| | | }) |
| | | this.open = false; |
| | | }, |
| | | cancel() { |
| | | this.open = false; |
| | | this.foropen = 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].hzReplyLogsList){ |
| | | this.hzReplyLogsList = selection[0].hzReplyLogsList |
| | | }else{ |
| | | this.hzReplyLogsList = [] |
| | | } |
| | | console.log(this.hzReplyLogsList) |
| | | this.allList = selection |
| | | } |
| | | }, |
| | | |
| | | // 点击详情 |
| | | handleClick(row) { |
| | | this.getDept(row.tjNumber) |
| | | this.loading = true; |
| | | this.drawer = true; |
| | | this.tableAll = row; |
| | |
| | | if (this.tableAll.cusSex === 1) { |
| | | this.tableAll.cusSex = "女"; |
| | | } |
| | | |
| | | this.tjNumber = row.tjNumber; |
| | | let num = 0; |
| | | getParentList(this.tjNumber).then((response) => { |
| | |
| | | num = num + 1; |
| | | }); |
| | | }); |
| | | |
| | | getDeptAdvice().then((response) => { |
| | | this.deptAdviceList = response.data; |
| | | }); |
| | |
| | | // }) |
| | | // }); |
| | | }, |
| | | |
| | | 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( |