| | |
| | | <template> |
| | | <div> |
| | | <div class="mainbox"> |
| | | <el-form |
| | | :model="queryParams" |
| | | ref="tableList" |
| | |
| | | :visible.sync="drawer" |
| | | :before-close="handleClose" |
| | | :with-header="false" |
| | | size="80%" |
| | | size="100%" |
| | | show-close="true" |
| | | > |
| | | <div> |
| | | <el-row> |
| | | <el-col :span="18"> |
| | | <div style="font-size: 14px"> |
| | | <div class="top"> |
| | | <table |
| | | style=" |
| | | width: 98%; |
| | |
| | | height: 36px; |
| | | " |
| | | > |
| | | <td |
| | | 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" |
| | | > |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | {{ tableAll.cusName }} |
| | | </td> |
| | | <td |
| | | 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" |
| | | > |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | {{ |
| | | tableAll.cusSex == 0 |
| | | ? "男" |
| | |
| | | height: 36px; |
| | | " |
| | | > |
| | | <td |
| | | 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" |
| | | > |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | {{ tableAll.tjNumber }} |
| | | </td> |
| | | <td |
| | | 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" |
| | | > |
| | | <td style="border: 1px solid #dfe6ec; border-collapse: collapse"> |
| | | {{ tableAll.tjTime }} |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | <i class="el-icon-close" @click="guanbi"></i> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | |
| | | <div style="margin-right: 10px; display: flex"> |
| | | <div style="margin: 10px 2px"> |
| | | <el-button type="primary" size="mini" @click="Graphicreport()" |
| | | <div class="btn1"> |
| | | <el-button @click="Graphicreport()" type="primary" |
| | | >图文报告</el-button |
| | | > |
| | | </div> |
| | | <div style="margin: 10px 5px"> |
| | | <el-button |
| | | type="primary" |
| | | size="mini" |
| | | @click="historicalreport()" |
| | | <div class="btn2"> |
| | | <el-button @click="historicalreport()" type="primary" |
| | | >历史报告</el-button |
| | | > |
| | | </div> |
| | | <div style="margin: 10px 5px" v-if="tableAll.tjCategory == '02'"> |
| | | <el-button type="primary" size="mini" @click="medicalhistory()" |
| | | <div v-if="tableAll.tjCategory == '02'" class="btn1"> |
| | | <el-button @click="medicalhistory()" type="primary" |
| | | >职业病史</el-button |
| | | > |
| | | </div> |
| | | <div style="margin: 10px 5px"> |
| | | <el-button type="primary" size="mini" @click="jianqian()" |
| | | >检前问诊</el-button |
| | | > |
| | | <div class="btn3"> |
| | | <el-button @click="jianqian()" type="primary">检前问诊</el-button> |
| | | </div> |
| | | <div class="btn4"> |
| | | <el-button @click="yichangjieguo()" type="primary">异常结果</el-button> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | |
| | | <el-row> |
| | | <el-col :span="18"> |
| | | <div class="box"> |
| | | <div |
| | | style="font-size: 14px; overflow-y: auto; height: calc(100% - 11%)" |
| | | class="left" |
| | | style=" |
| | | font-size: 14px; |
| | | height: calc(100% - 11%); |
| | | width: 1300px; |
| | | margin-left: 10px; |
| | | " |
| | | > |
| | | <div |
| | | v-for="(item, index) in changedate" |
| | | :key="index" |
| | | style="margin-left: 10px" |
| | | > |
| | | <div v-for="(item, index) in changedate" :key="index"> |
| | | <div |
| | | style=" |
| | | text-align: center; |
| | |
| | | </td> |
| | | <td style="border: 1px solid #dfe6ec; width: 45%"> |
| | | <el-input v-model="item.remark" disabled></el-input> |
| | | <!-- <el-select v-model="item.value" multiple filterable placeholder="请选择" style="width: 100%" @change="xiAoJieChange($event, item)"> |
| | | <el-option v-for="item1 in item.parentAdvice" :key="item1.id" :label="item1.title" :value="item1.id"> |
| | | </el-option> |
| | | </el-select> --> |
| | | </td> |
| | | <td |
| | | style=" |
| | |
| | | 主检医师: |
| | | </td> |
| | | <td |
| | | style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | " |
| | | style="border: 1px solid #dfe6ec; border-collapse: collapse" |
| | | colspan="2" |
| | | > |
| | | {{ item.doctorName }} |
| | |
| | | 备注: |
| | | </td> |
| | | <td |
| | | style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | " |
| | | style="border: 1px solid #dfe6ec; border-collapse: collapse" |
| | | colspan="3" |
| | | > |
| | | <textarea |
| | | placeholder="请输入内容" |
| | | :autosize="{ minRows: 2, maxRows: 2 }" |
| | | style="width: 100%; height: 100%; resize: none" |
| | | :autosize="{ minRows: 2 }" |
| | | style="width: 100%; height: 240px; resize: none" |
| | | v-model="changedate[index].remark" |
| | | v-on:input="change" |
| | | ></textarea> |
| | | <!-- <el-input type="textarea" autosize > |
| | | </el-input> --> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | width: 15%; |
| | | height: 52px; |
| | | height: auto; |
| | | " |
| | | > |
| | | 检查所见: |
| | | </td> |
| | | <td |
| | | style="border: 1px solid #dfe6ec; height: 52px" |
| | | style="border: 1px solid #dfe6ec; height: auto" |
| | | colspan="2" |
| | | > |
| | | <textarea |
| | | <el-input |
| | | type="textarea" |
| | | autosize |
| | | placeholder="请输入内容" |
| | | :autosize="{ minRows: 3, maxRows: 4 }" |
| | | style="width: 100%; height: 100%; resize: none" |
| | | v-model="item.jgbx" |
| | | ></textarea> |
| | | style="width: 100%" |
| | | > |
| | | </el-input> |
| | | <!-- <textarea |
| | | placeholder="请输入内容" |
| | | :autosize="{ minRows: 3}" |
| | | style="width: 100%; height: auto; resize: none" |
| | | v-model="item.jgbx" |
| | | ></textarea> --> |
| | | </td> |
| | | </tr> |
| | | <tr |
| | |
| | | 检查提示: |
| | | </td> |
| | | <td |
| | | style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | " |
| | | style="border: 1px solid #dfe6ec; border-collapse: collapse" |
| | | colspan="2" |
| | | > |
| | | <!-- <el-input v-model="item.remark"></el-input> --> |
| | | <textarea |
| | | <el-input |
| | | type="textarea" |
| | | autosize |
| | | placeholder="请输入内容" |
| | | :autosize="{ minRows: 2, maxRows: 3 }" |
| | | style="width: 100%; height: 100%; resize: none" |
| | | v-model="item.remark" |
| | | ></textarea> |
| | | style="width: 100%" |
| | | > |
| | | </el-input> |
| | | <!-- <textarea |
| | | |
| | | placeholder="请输入内容" |
| | | style="width: 100%; resize: none" |
| | | v-model="item.remark" |
| | | ></textarea> --> |
| | | </td> |
| | | </tr> |
| | | <tr |
| | |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | width: 200px; |
| | | height: 36px; |
| | | " |
| | | > |
| | | <td |
| | |
| | | 主检医师: |
| | | </td> |
| | | <td |
| | | style=" |
| | | border: 1px solid #dfe6ec; |
| | | border-collapse: collapse; |
| | | " |
| | | style="border: 1px solid #dfe6ec; border-collapse: collapse" |
| | | colspan="2" |
| | | > |
| | | {{ item.doctorName }} |
| | |
| | | </div> |
| | | |
| | | <div style="margin: 0 0px 10px 15px" v-if="tjproject != '1'"> |
| | | <el-button type="primary" @click="propoChange" |
| | | >快捷建议</el-button |
| | | > |
| | | <el-button type="primary" @click="propoChange">快捷建议</el-button> |
| | | <el-button type="primary" @click="proposalChange" |
| | | >生成建议</el-button |
| | | > |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <div v-if="hosproy"> |
| | | <Historicalreport |
| | | :reportHistorydata="reportHistorydata" |
| | | ></Historicalreport> |
| | | <div class="right"> |
| | | <div v-for="(item, index) in yichangList" :key="index"> |
| | | <div |
| | | style=" |
| | | text-align: center; |
| | | background-color: #aad8df; |
| | | margin-top: 10px; |
| | | " |
| | | > |
| | | {{ item.proName || "" }} |
| | | </div> |
| | | <el-table |
| | | :row-style="red" |
| | | :data="item.sone" |
| | | border |
| | | style="width: 100%" |
| | | :header-cell-style="{ background: '#aad8df' }" |
| | | > |
| | | <el-table-column align="center" label="检测项目" width="240"> |
| | | <template slot-scope="scope"> |
| | | <div>{{ scope.row.proName }}</div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | align="center" |
| | | prop="proResult" |
| | | label="检测结果" |
| | | width="160" |
| | | > |
| | | </el-table-column> |
| | | |
| | | <el-table-column align="center" prop="stanId" label=" 参考范围"> |
| | | </el-table-column> |
| | | <el-table-column align="center" prop="proAdvice" label="单位"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="hist3" v-if="wenzhen"> |
| | |
| | | ref="tjAskHistorys" |
| | | style="width: 98%" |
| | | > |
| | | <el-table-column |
| | | type="selection" |
| | | width="40" |
| | | align="center" |
| | | /> |
| | | <el-table-column type="selection" width="40" align="center" /> |
| | | <el-table-column label="疾病名称" prop="diseaseName"> |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | |
| | | |
| | | <el-collapse-item title="职业史" name="7"> |
| | | <div style="width: 100%"> |
| | | <el-table |
| | | border |
| | | :data="formobj.workLogs" |
| | | style="width: 98%" |
| | | > |
| | | <el-table-column |
| | | type="selection" |
| | | width="40" |
| | | align="center" |
| | | /> |
| | | <el-table border :data="formobj.workLogs" style="width: 98%"> |
| | | <el-table-column type="selection" width="40" align="center" /> |
| | | <el-table-column label="开始时间" prop="beginTime"> |
| | | <template slot-scope="scope"> |
| | | <el-date-picker |
| | |
| | | </el-collapse> |
| | | </el-form> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | </el-drawer> |
| | | |
| | | <el-dialog |
| | |
| | | import { getInfoById } from "@/api/hosp/history"; |
| | | import { getInfo } from "@/api/login"; |
| | | import { getCompany, queryCompany } from "@/api/team/tuanti"; |
| | | import { reportHistory } from "@/api/doctor/check"; |
| | | import { reportHistory, yichang } from "@/api/doctor/check"; |
| | | import { getPdf, revoke } from "@/api/hosp/order"; |
| | | import ViewPdf from "@/components/ViewPdf"; |
| | | import Historicalreport from "@/components/Historicalreport"; |
| | |
| | | }, |
| | | formobj: {}, |
| | | // 查询参数 |
| | | yichangList: [], |
| | | queryParam: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | |
| | | mounted() { |
| | | this.$nextTick(() => { |
| | | this.$refs.inputName.focus(); |
| | | |
| | | }); |
| | | }, |
| | | methods: { |
| | | guanbi(){ |
| | | this.drawer = false; |
| | | }, |
| | | yichangjieguo() { |
| | | let _this = this |
| | | yichang({ |
| | | tjNum: this.tjNumber, |
| | | }).then((res) => { |
| | | this.yichangList = res.data; |
| | | if (res.msg == '该人员无异常项目') { |
| | | _this.$message({ |
| | | type: "info", |
| | | message: "该人员无异常项目", |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | getdate() { |
| | | getNewDateList().then((res) => { |
| | | this.startTime = [ |
| | |
| | | let tjNumber = this.tableAll.tjNumber; |
| | | this.jianqianwenzhendata.push(tjNumber); |
| | | }, |
| | | |
| | | getList() { |
| | | this.loading = true; |
| | | this.queryParams.compId = this.CheckBox.drugManufacturerId; |
| | |
| | | }; |
| | | } |
| | | }, |
| | | |
| | | red() { |
| | | return { |
| | | color: "red", |
| | | }; |
| | | }, |
| | | /* changRed(row) { |
| | | if (row.label === "↑") { |
| | | return { |
| | |
| | | this.tjproject = "0"; |
| | | |
| | | this.tjNumber = this.tableAll.tjNumber; |
| | | |
| | | getState(this.tjNumber).then((res) => { |
| | | this.status = res.data; |
| | | |
| | | if (this.status.status === "1") { |
| | | this.yichangjieguo() |
| | | getInfo().then((response) => { |
| | | this.userId = response.user.userId; |
| | | if (this.userId) { |
| | |
| | | } |
| | | }); |
| | | } else { |
| | | |
| | | this.$confirm( |
| | | "" + this.status.name + "正在修改该信息, 是否强制进去?", |
| | | "提示", |
| | |
| | | } |
| | | ) |
| | | .then(() => { |
| | | this.yichangjieguo() |
| | | getInfo().then((response) => { |
| | | this.userId = response.user.userId; |
| | | |
| | | if (this.userId) { |
| | | let data = { |
| | | userId: this.userId, |
| | |
| | | message: "已取消进入", |
| | | }); |
| | | }); |
| | | |
| | | this.drawer = false; |
| | | |
| | | } |
| | | }); |
| | | |
| | | } |
| | | |
| | | ); |
| | | |
| | | // 获取小结 |
| | | // getDeptAdvice().then((response) => { |
| | |
| | | }, |
| | | }; |
| | | </script> |
| | | <style scoped> |
| | | <style scoped lang="scss"> |
| | | .mainbox { |
| | | position: relative; |
| | | } |
| | | .btn { |
| | | margin: 20px 0px; |
| | | } |
| | | /* 按钮的初始状态 */ |
| | | .btn1, |
| | | .btn2, |
| | | .btn3, |
| | | .btn4 { |
| | | position: fixed; |
| | | right: 0; |
| | | transform: translateY(-50%); |
| | | display: flex; |
| | | flex-direction: column; |
| | | gap: 10px; |
| | | cursor: pointer; |
| | | animation: fadeInUp 0.5s ease-out forwards; /* 加载时的淡入动画 */ |
| | | z-index: 10; |
| | | transition: transform 0.3s ease; /* 平滑过渡 */ |
| | | writing-mode: vertical-rl; /* 使文本竖直排列 */ |
| | | text-align: center; /* 文字居中 */ |
| | | } |
| | | // ::v-deep .el-button{ |
| | | // background-color: rgba(170, 226, 233, 0.5); |
| | | // color: white; |
| | | // } |
| | | /* 加载动画,按钮逐渐显现并放大 */ |
| | | @keyframes fadeInUp { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateY(20px) scale(0.5); /* 初始状态:透明且缩小 */ |
| | | } |
| | | 100% { |
| | | opacity: 1; |
| | | transform: translateY(0) scale(1); /* 最终状态:完全显示且正常大小 */ |
| | | } |
| | | } |
| | | |
| | | /* 每个按钮的具体位置和延迟 */ |
| | | .btn1 { |
| | | top: 20%; |
| | | animation-delay: 0s; /* 第一个按钮无延迟 */ |
| | | } |
| | | |
| | | .btn2 { |
| | | top: 30%; |
| | | animation-delay: 0.2s; /* 第二个按钮延迟 0.2 秒 */ |
| | | } |
| | | |
| | | .btn3 { |
| | | top: 40%; |
| | | animation-delay: 0.4s; /* 第三个按钮延迟 0.4 秒 */ |
| | | } |
| | | |
| | | .btn4 { |
| | | top: 50%; |
| | | animation-delay: 0.6s; /* 第四个按钮延迟 0.6 秒 */ |
| | | } |
| | | |
| | | .main { |
| | |
| | | border: none; |
| | | outline: none; |
| | | } |
| | | </style> |
| | | .box { |
| | | display: flex; |
| | | position: sticky; |
| | | top: 0px; |
| | | height: 85vh; |
| | | overflow: auto; // 确保父容器可以滚动 |
| | | } |
| | | |
| | | .right { |
| | | position: sticky; |
| | | top: 0px; // 确保设置正确的单位 |
| | | background-color: #fff; |
| | | box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); |
| | | z-index: 10; |
| | | } |
| | | |
| | | .top { |
| | | position: sticky; |
| | | top: 0; |
| | | z-index: 10; |
| | | background-color: #fff; |
| | | box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); |
| | | display: flex; |
| | | .el-icon-close{ |
| | | cursor: pointer; |
| | | font-size: 30px; |
| | | position: relative; |
| | | top: 7px; |
| | | right: 4px; |
| | | } |
| | | } |
| | | </style> |
| | | |
| | | |