wwl
2024-12-09 dec09546294047e54c0531d6047d0685cbb45ddd
总检
2个文件已修改
368 ■■■■■ 已修改文件
src/api/doctor/check.js 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/doctor/checkAll/index.vue 359 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/doctor/check.js
@@ -20,6 +20,14 @@
}
// 体检科室列表显示接口
export function yichang(query) {
  return request({
    url: '/check/getzongjianyishengchakanyichangxiangmu',
    method: 'get',
    params:query
  })
}
// 体检科室列表显示接口
export function yingXiangGetProList(query) {
  return request({
    url: '/system/dept/yingXiangGetProList',
@@ -27,7 +35,6 @@
    params:query
  })
}
  // 点击详情 显示子项目详情 和父项目名
export function getSons(tjNumber) {
  return request({
src/views/doctor/checkAll/index.vue
@@ -1,5 +1,5 @@
<template>
  <div>
  <div class="mainbox">
    <el-form
      :model="queryParams"
      ref="tableList"
@@ -241,12 +241,10 @@
      :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%;
@@ -268,24 +266,16 @@
                    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
                        ? "男"
@@ -302,70 +292,57 @@
                    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;
@@ -431,10 +408,6 @@
                    </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="
@@ -446,10 +419,7 @@
                      主检医师:
                    </td>
                    <td
                      style="
                        border: 1px solid #dfe6ec;
                        border-collapse: collapse;
                      "
                    style="border: 1px solid #dfe6ec; border-collapse: collapse"
                      colspan="2"
                    >
                      {{ item.doctorName }}
@@ -472,21 +442,16 @@
                      备注:
                    </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>
@@ -499,21 +464,29 @@
                        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
@@ -529,19 +502,23 @@
                      检查提示:
                    </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
@@ -549,7 +526,6 @@
                      border: 1px solid #dfe6ec;
                      border-collapse: collapse;
                      width: 200px;
                      height: 36px;
                    "
                  >
                    <td
@@ -562,10 +538,7 @@
                      主检医师:
                    </td>
                    <td
                      style="
                        border: 1px solid #dfe6ec;
                        border-collapse: collapse;
                      "
                    style="border: 1px solid #dfe6ec; border-collapse: collapse"
                      colspan="2"
                    >
                      {{ item.doctorName }}
@@ -576,9 +549,7 @@
            </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
              >
@@ -620,12 +591,44 @@
              </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">
@@ -865,11 +868,7 @@
                      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
@@ -941,16 +940,8 @@
                <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
@@ -1049,8 +1040,6 @@
              </el-collapse>
            </el-form>
          </div>
        </el-col>
      </el-row>
    </el-drawer>
    <el-dialog
@@ -1120,7 +1109,7 @@
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";
@@ -1251,6 +1240,7 @@
      },
      formobj: {},
      // 查询参数
      yichangList: [],
      queryParam: {
        pageNum: 1,
        pageSize: 10,
@@ -1287,9 +1277,27 @@
  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 = [
@@ -1336,6 +1344,7 @@
      let tjNumber = this.tableAll.tjNumber;
      this.jianqianwenzhendata.push(tjNumber);
    },
    getList() {
      this.loading = true;
      this.queryParams.compId = this.CheckBox.drugManufacturerId;
@@ -1701,7 +1710,11 @@
        };
      }
    },
    red() {
      return {
        color: "red",
      };
    },
    /*  changRed(row) {
      if (row.label === "↑") {
        return {
@@ -1730,9 +1743,12 @@
      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) {
@@ -1784,6 +1800,7 @@
            }
          });
        } else {
          this.$confirm(
            "" + this.status.name + "正在修改该信息, 是否强制进去?",
            "提示",
@@ -1794,8 +1811,10 @@
            }
          )
            .then(() => {
              this.yichangjieguo()
              getInfo().then((response) => {
                this.userId = response.user.userId;
                if (this.userId) {
                  let data = {
                    userId: this.userId,
@@ -1851,9 +1870,14 @@
                message: "已取消进入",
              });
            });
          this.drawer = false;
        }
      });
      }
    );
      // 获取小结
      // getDeptAdvice().then((response) => {
@@ -2089,9 +2113,66 @@
  },
};
</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 {
@@ -2155,7 +2236,37 @@
  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>