qinxianzhangyao
2023-12-07 7f95ba9ac493c69d7bf913d7b925c087fb3a0490
src/views/doctor/checkAll/index.vue
@@ -58,7 +58,11 @@
          </template>
        </el-table-column>
        <el-table-column label="单位名称" align="center" prop="tjCompName" :show-overflow-tooltip="true" />
        <el-table-column label="体检类别" align="center" prop="tjCategory">
          <template slot-scope="scope">
            <dict-tag :options="dict.type.dict_tjtype" :value="scope.row.tjCategory" />
          </template>
        </el-table-column>
        <el-table-column label="操作" align="center" width="90px" fixed="right">
          <template slot-scope="scope">
            <el-button fixed="right" title="详情" type="text" size="mini" @click="handleClick(scope.row)"
@@ -129,7 +133,7 @@
        <div style="margin: 10px 10px;">
          <el-button type="primary" size="mini" @click="historicalreport()">历史报告</el-button>
        </div>
        <div style="margin: 10px 10px;">
        <div style="margin: 10px 10px;" v-if="tableAll.tjCategory == '02'">
          <el-button type="primary" size="mini" @click="medicalhistory()">职业病史</el-button>
        </div>
      </div>
@@ -294,24 +298,208 @@
            </div>
          </div>
        </el-col>
        <el-col :span="6" >
          <el-table v-if="reportHistorydata.length >= 1" v-loading="loading" :data="reportHistorydata" border style="margin-top: 30px;">
            <el-table-column prop="createTime" label="检测时间">
            </el-table-column>
            <el-table-column label="操作" align="center" width="130px">
              <template slot-scope="scope">
                <el-button type="primary" icon="el-icon-share" size="mini" @click="viewReport(scope.row)"
                  title="查看"></el-button>
              </template>
            </el-table-column>
          </el-table>
          <div v-else>暂无历史报告</div>
        <el-col :span="6">
          <div v-if="hosproy">
            <Historicalreport  :reportHistorydata="reportHistorydata"></Historicalreport>
          </div>
          <div class="hist3" v-if="wenzhen">
            <span class="txt">问诊信息</span>
            <el-form ref="form" :model="formobj" label-width="100px" :inline="true" size="mini">
              <el-collapse class="coll" v-model="activeName" accordion>
                <el-collapse-item class="coll" title="基本信息" name="1" style="width: 100%; font-weight: 600">
                  <div style="width: 100%">
                    <el-form-item label="姓名" prop="cusName">
                      <el-input v-model="formobj.cusName" placeholder="请输入姓名" />
                    </el-form-item>
                    <el-form-item label="职业" prop="work">
                      <el-select filterable v-model="formobj.work" placeholder="请选择职业" clearable style="width: 150px">
                        <el-option v-for="dict in dict.type.tj_work" :key="dict.value" :label="dict.label"
                          :value="dict.value" />
                      </el-select>
                    </el-form-item>
                    <el-form-item label="工作状态" prop="workStatus">
                      <el-select filterable v-model="formobj.workStatus" placeholder="请选择工作状态" clearable
                        style="width: 150px">
                        <el-option v-for="dict in dict.type.tj_work_status" :key="dict.value" :label="dict.label"
                          :value="dict.value" />
                      </el-select>
                    </el-form-item>
                    <el-form-item label="接触毒物" prop="contactPoison">
                      <el-input type="textarea" rows="4" v-model="formobj.contactPoison" placeholder="请输入接触毒物"
                        style="width: 700px" />
                    </el-form-item>
                    <el-form-item label="既往病史" prop="medicalHistory">
                      <el-input type="textarea" rows="4" v-model="formobj.medicalHistory" placeholder="请输入既往病史"
                        style="width: 700px" />
                    </el-form-item>
                  </div>
                </el-collapse-item>
                <el-collapse-item title="月经史" name="2" v-show="sex">
                  <div style="width: 100%">
                    <el-form-item label="初潮(岁)" prop="chuchao">
                      <el-input v-model="formobj.chuchao" style="width: 70px" />
                    </el-form-item>
                    <el-form-item label="经期" prop="jingqi">
                      <el-input v-model="formobj.jingqi" style="width: 70px" />天
                    </el-form-item>
                    <el-form-item label="周期" prop="zhouqi">
                      <el-input v-model="formobj.zhouqi" style="width: 70px" />天
                    </el-form-item>
                    <el-form-item label="末次月经" prop="mociage">
                      <el-input v-model="formobj.mociage" style="width: 100px" />
                    </el-form-item>
                  </div>
                </el-collapse-item>
                <el-collapse-item title="生育史" name="3" v-show="sex">
                  <div style="width: 100%">
                    <el-form-item label="现有子女(人)" prop="zinv">
                      <el-input v-model="formobj.zinv" style="width: 70px" />
                    </el-form-item>
                    <el-form-item label="流产(次)" prop="liuchan">
                      <el-input v-model="formobj.liuchan" style="width: 70px" />
                    </el-form-item>
                    <el-form-item label="早产(次)" prop="zaochan">
                      <el-input v-model="formobj.zaochan" style="width: 70px" />
                    </el-form-item>
                    <el-form-item label="死产(次)" prop="sichan">
                      <el-input v-model="formobj.sichan" style="width: 70px" />
                    </el-form-item>
                    <el-form-item label="异常胎(次)" prop="yichangtai">
                      <el-input v-model="formobj.yichangtai" style="width: 70px" />
                    </el-form-item>
                  </div>
                </el-collapse-item>
                <el-collapse-item title="烟酒史" name="4">
                  <div style="width: 100%">
                    <el-form-item label="是否吸烟" prop="xiyan">
                      <!-- <el-input v-model="form.xiyanpinlv" placeholder="请输入吸烟频率" /> -->
                      <el-select filterable v-model="formobj.xiyan" placeholder="请选择是否吸烟" clearable style="width: 150px">
                        <el-option v-for="dict in dict.type.tj_smoking_pinlv" :key="dict.value" :label="dict.label"
                          :value="dict.value" />
                      </el-select>
                    </el-form-item>
                    <el-form-item label="吸烟频率" prop="xiyanpinlv">
                      <el-input v-model="formobj.xiyanpinlv" style="width: 70px" />支/天
                    </el-form-item>
                    <el-form-item label="吸烟时间" prop="xiyanyear">
                      <el-input v-model="formobj.xiyanyear" style="width: 70px" />年 </el-form-item><br />
                    <el-form-item label="是否饮酒" prop="yinjiu">
                      <!-- <el-input v-model="form.yinjiupinlv" placeholder="请输入饮酒频率" /> -->
                      <el-select filterable v-model="formobj.yinjiu" placeholder="请选择是否饮酒" clearable style="width: 150px">
                        <el-option v-for="dict in dict.type.tj_smoking_pinlv" :key="dict.value" :label="dict.label"
                          :value="dict.value" />
                      </el-select>
                    </el-form-item>
                    <el-form-item label="饮酒频率" prop="yinjiupinlv">
                      <el-input v-model="formobj.yinjiupinlv" style="width: 70px" />ml/天
                    </el-form-item>
                    <el-form-item label="饮酒时间" prop="yinjiuyear">
                      <el-input v-model="formobj.yinjiuyear" style="width: 70px" />年
                    </el-form-item>
                    <el-form-item label="其他" prop="qita">
                      <el-input v-model="formobj.qita" placeholder="请输入其他" type="textarea" style="width: 600px" rows="2" />
                    </el-form-item>
                  </div>
                </el-collapse-item>
                <el-collapse-item title="急慢性职业病史信息" name="5">
                  <div style="width: 100%">
                    <el-table border :data="formobj.tjAskHistorysList" ref="tjAskHistorys" style="width: 98%">
                      <el-table-column type="selection" width="40" align="center" />
                      <el-table-column label="疾病名称" prop="diseaseName">
                        <template slot-scope="scope">
                          <el-input size="mini" v-model="scope.row.diseaseName" placeholder="请输入疾病名称" />
                        </template>
                      </el-table-column>
                      <el-table-column label="诊断日期" prop="diseaseData">
                        <template slot-scope="scope">
                          <el-date-picker size="mini" v-model="scope.row.diseaseData" align="right" type="date"
                            placeholder="选择日期" :picker-options="pickerOptions" style="width: 130px"
                            value-format="yyyy-MM-dd">
                          </el-date-picker>
                        </template>
                      </el-table-column>
                      <el-table-column label="诊断单位" prop="diseaseCompany">
                        <template slot-scope="scope">
                          <el-input size="mini" v-model="scope.row.diseaseCompany" placeholder="请输入诊断单位" />
                        </template>
                      </el-table-column>
                      <el-table-column label="是否痊愈" prop="isOk">
                        <template slot-scope="scope">
                          <!-- <el-input v-model="scope.row.isOk" placeholder="请输入是否痊愈" /> -->
                          <el-select filterable size="mini" v-model="scope.row.isOk" placeholder="请选择是否痊愈" clearable>
                            <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label"
                              :value="dict.value" />
                          </el-select>
                        </template>
                      </el-table-column>
                      <el-table-column label="备注" prop="remark">
                        <template slot-scope="scope">
                          <el-input size="mini" v-model="scope.row.remark" placeholder="请输入备注" />
                        </template>
                      </el-table-column>
                    </el-table>
                  </div>
                </el-collapse-item>
                <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-column label="开始时间" prop="beginTime">
                        <template slot-scope="scope">
                          <el-date-picker size="mini" v-model="scope.row.beginTime" align="right" type="date"
                            placeholder="选择日期" :picker-options="pickerOptions" style="width: 130px"
                            value-format="yyyy-MM-dd">
                          </el-date-picker>
                        </template>
                      </el-table-column>
                      <el-table-column label="结束时间" prop="endTime">
                        <template slot-scope="scope">
                          <el-date-picker size="mini" v-model="scope.row.endTime" align="right" type="date"
                            placeholder="选择日期" :picker-options="pickerOptions" style="width: 130px"
                            value-format="yyyy-MM-dd">
                          </el-date-picker>
                        </template>
                      </el-table-column>
                      <el-table-column label="工作单位" prop="workCompany">
                        <template slot-scope="scope">
                          <el-input size="mini" v-model="scope.row.workCompany" placeholder="请输入工作单位" />
                        </template>
                      </el-table-column>
                      <el-table-column label="部门" prop="workDept">
                        <template slot-scope="scope">
                          <el-input size="mini" v-model="scope.row.workDept" placeholder="请输入部门" />
                        </template>
                      </el-table-column>
                      <el-table-column label="工种" prop="workType">
                        <template slot-scope="scope">
                          <el-input size="mini" v-model="scope.row.workType" placeholder="请输入工种" />
                        </template>
                      </el-table-column>
                      <el-table-column label="有害因素" prop="harmTypeLogs">
                        <template slot-scope="scope">
                          <!-- <el-input v-model="scope.row.isOk" placeholder="请输入是否痊愈" /> -->
                          <el-select filterable size="mini" v-model="scope.row.harmTypeLogs" multiple
                            placeholder="请选择有害因素" clearable>
                            <el-option v-for="dict in harmTypeList" :key="dict.aid" :label="dict.harmtype"
                              :value="dict.aid" />
                          </el-select>
                        </template>
                      </el-table-column>
                      <el-table-column label="防护措施" prop="fangHu">
                        <template slot-scope="scope">
                          <el-input size="mini" v-model="scope.row.fangHu" placeholder="请输入防护措施" />
                        </template>
                      </el-table-column>
                    </el-table>
                  </div>
                </el-collapse-item>
              </el-collapse>
            </el-form>
          </div>
        </el-col>
      </el-row>
    </el-drawer>
    <el-dialog class="dia" title="PDF 预览" :visible.sync="dialogVisible" :close-on-click-modal="false">
@@ -335,19 +523,30 @@
  gettoPdf,
  getModified,
} from "@/api/doctor/checkAll";
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 { getPdf, revoke } from "@/api/hosp/order";
import ViewPdf from "@/components/ViewPdf";
import Historicalreport from "@/components/Historicalreport";
export default {
  components: {
    ViewPdf,
    ViewPdf, Historicalreport
  },
  dicts: [
    "dict_tjtype","sys_user_sex", "sys_yes_no", "tj_result_type", "lj_positive"
  ],
  name: "checkAll",
  data() {
    return {
      sex: true,
      activeName: "1",
      wenzhen:false,
      hosproy:true,
      remarks: "",
      remark: "",
      proIds: "",
@@ -428,7 +627,7 @@
        name: null,
        checkStatus: null,
      },
      formobj: {},
      // 查询参数
      queryParam: {
        pageNum: 1,
@@ -559,6 +758,8 @@
    historicalreport() {
      this.loading = true
      this.wenzhen = false
      this.hosproy = true
      let data = {
        cusId: this.tableAll.cusId
      }
@@ -566,12 +767,37 @@
        this.loading = false
        if (res.data[0] != null) {
          this.reportHistorydata = res.data
        }else{
          this.reportHistorydata = []
        }
      })
    },
    medicalhistory(){
    medicalhistory() {
      this.wenzhen = true
      this.hosproy = false
      let tjNumber = this.tableAll.tjNumber
      getInfoById(tjNumber).then((response) => {
        this.formobj = response.data;
        if (this.formobj.xiyan == null) {
          this.formobj.xiyan = "1"
        }
        if (this.formobj.xiyanpinlv == null) {
          this.formobj.xiyanpinlv = "0"
        }
        if (this.formobj.xiyanyear == null) {
          this.formobj.xiyanyear = "0"
        }
        if (this.formobj.yinjiu == null) {
          this.formobj.yinjiu = "1"
        }
        if (this.formobj.yinjiupinlv == null) {
          this.formobj.yinjiupinlv = "0"
        }
        if (this.formobj.yinjiuyear == null) {
          this.formobj.yinjiuyear = "0"
        }
      });
    },
    // viewReport(row) {
    //   const tjNumber = row.tjNumber;