1
lkk
2 天以前 511b72e9e6ff2540bb6efbc089918024cbb24fb2
src/views/doctor/checkAll/index.vue
@@ -1,6 +1,7 @@
<template>
  <div class="mainbox">
    <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px" v-if="tjStatus == 0">
    <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px"
      v-if="tjStatus == 0">
      <el-form-item label="姓名" prop="name">
        <el-input v-model="queryParams.name" style="width: 120px" placeholder="请输入姓名" clearable
          @keyup.enter.native="submitForm"></el-input>
@@ -21,6 +22,13 @@
          <el-option v-for="dict in CompanyList" :key="dict.drugManufacturerId" :label="dict.cnName" :value="dict" />
        </el-select>
      </el-form-item>
      <el-form-item label="体检类别">
        <el-select style="width: 200px" v-model="queryParams.tjCategory" placeholder="请选择体检类别">
          <el-option v-for="dict in dict.type.dict_tjtype" :key="dict.value" :label="dict.label"
            :value="dict.value"></el-option>
        </el-select>
        <!-- <el-input v-model="form.category" placeholder="请输入体检类别" /> -->
      </el-form-item>
      <el-form-item>
        <el-button type="primary" size="mini" @click="submitForm" style="margin-right: 15px">搜索</el-button>
        <el-button size="mini" @click="resetQuery">重置</el-button>
@@ -28,7 +36,8 @@
    </el-form>
    <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px" v-if="tjStatus == 1">
    <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px"
      v-if="tjStatus == 1">
      <el-form-item label="姓名" prop="name">
        <el-input v-model="queryParams.name" style="width: 120px" placeholder="请输入姓名" clearable
          @keyup.enter.native="submitForm"></el-input>
@@ -44,9 +53,16 @@
          <el-option v-for="dict in CompanyList" :key="dict.drugManufacturerId" :label="dict.cnName" :value="dict" />
        </el-select>
      </el-form-item>
       <el-form-item label="审核医师" prop="shys">
      <el-form-item label="审核医师" prop="shys">
        <el-input ref="inputName" v-model="queryParams.shys" style="width: 180px" placeholder="请输入审核医师" clearable
          @keyup.enter.native="submitForm"></el-input>
      </el-form-item>
      <el-form-item label="体检类别">
        <el-select style="width: 200px" v-model="queryParams.tjCategory" placeholder="请选择体检类别">
          <el-option v-for="dict in dict.type.dict_tjtype" :key="dict.value" :label="dict.label"
            :value="dict.value"></el-option>
        </el-select>
        <!-- <el-input v-model="form.category" placeholder="请输入体检类别" /> -->
      </el-form-item>
      <el-form-item>
        <el-button type="primary" size="mini" @click="submitForm" style="margin-right: 15px">搜索</el-button>
@@ -92,14 +108,16 @@
        </el-table-column>
        <el-table-column label="出生日期" align="center" prop="cusBrithday" :show-overflow-tooltip="true" width="110px" />
        <el-table-column label="电话" align="center" prop="cusPhone" :show-overflow-tooltip="true" width="130px" />
        <el-table-column label="审核时间" align="center" prop="shsj" :show-overflow-tooltip="true" width="180px" />
        <el-table-column label="完成时间" align="center" prop="finishTime" :show-overflow-tooltip="true" width="160px" />
        <el-table-column label="状态" align="center" prop="tjStatus" :show-overflow-tooltip="true" width="120px" v-if="tjStatus == 0">
        <el-table-column label="审核时间" align="center" prop="shsj" :show-overflow-tooltip="true" width="180px" v-if="tjStatus == 1" />
        <el-table-column label="体检时间" align="center" prop="tjTime" :show-overflow-tooltip="true" width="180px" v-if="tjStatus == 0" />
        <!-- <el-table-column label="完成时间" align="center" prop="finishTime" :show-overflow-tooltip="true" width="160px" /> -->
        <el-table-column label="状态" align="center" prop="tjStatus" :show-overflow-tooltip="true" width="120px"
          v-if="tjStatus == 0">
          <template slot-scope="scope" v-if="tjStatus == 0">
            <span>{{ scope.row.tjStatus == "1" ? "已审核" : "未审核" }}</span>
          </template>
        </el-table-column>
         <el-table-column label="审核医师" align="center" prop="shys"  width="120px" v-if="tjStatus == 1"/>
        <el-table-column label="审核医师" align="center" prop="shys" width="120px" v-if="tjStatus == 1" />
        <el-table-column label="单位名称" align="center" prop="tjCompName" :show-overflow-tooltip="true" />
        <el-table-column label="体检类别" align="center" prop="tjCategory">
          <template slot-scope="scope">
@@ -131,546 +149,590 @@
    <!-- 点击弹出框 -->
    <el-drawer custom-class="tanchu" :visible.sync="drawer" :before-close="handleClose" :with-header="false" size="100%"
      :show-close="true">
      <div class="top">
        <table style="width: 100%; margin: 10px 10px; border: 1px solid #dfe6ec; border-collapse: collapse;"
          cellspacing="4">
          <caption style="background-color: #f8f8f9; font-size: 18px">
            {{ tableAll.cusName }}的体检资料
          </caption>
          <tr style="border: 1px solid #dfe6ec; border-collapse: collapse; height: 36px;">
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">姓名:</td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">{{ tableAll.cusName }}</td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">性别:</td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              {{ tableAll.cusSex == 0 ? "男" : tableAll.cusSex == 1 ? "女" : "未知" }}
            </td>
          </tr>
          <tr style="border: 1px solid #dfe6ec; border-collapse: collapse; height: 36px;">
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">体检单号:</td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">{{ tableAll.tjNumber }}</td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">体检时间:</td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">{{ tableAll.tjTime }}</td>
          </tr>
        </table>
        <i class="el-icon-close" @click="guanbi"></i>
      </div>
      <div v-loading="isLoading" element-loading-text="正在加载数据,请稍候..." element-loading-spinner="el-icon-loading"
        element-loading-background="rgba(255, 255, 255, 0.8)" style="height: 100%; padding: 20px; position: relative;">
        <div class="top">
          <table style="width: 100%; margin: 10px 10px; border: 1px solid #dfe6ec; border-collapse: collapse;"
            cellspacing="4">
            <caption style="background-color: #f8f8f9; font-size: 18px">
              {{ tableAll.cusName }}的体检资料
            </caption>
            <tr style="border: 1px solid #dfe6ec; border-collapse: collapse; height: 36px;">
              <td style="border: 1px solid #dfe6ec; border-collapse: collapse">姓名:</td>
              <td style="border: 1px solid #dfe6ec; border-collapse: collapse">{{ tableAll.cusName }}</td>
              <td style="border: 1px solid #dfe6ec; border-collapse: collapse">性别:{{ tableAll.cusSex == 0 ? "男" :
                tableAll.cusSex == 1 ? "女" : "未知" }}</td>
              <td style="border: 1px solid #dfe6ec; border-collapse: collapse">年龄:{{ tableAll.age }}</td>
            </tr>
            <tr style="border: 1px solid #dfe6ec; border-collapse: collapse; height: 36px;">
              <td style="border: 1px solid #dfe6ec; border-collapse: collapse">体检单号:</td>
              <td style="border: 1px solid #dfe6ec; border-collapse: collapse">{{ tableAll.tjNumber }}</td>
              <td style="border: 1px solid #dfe6ec; border-collapse: collapse">体检时间:</td>
              <td style="border: 1px solid #dfe6ec; border-collapse: collapse">{{ tableAll.tjTime }}</td>
            </tr>
          </table>
          <i class="el-icon-close" @click="guanbi"></i>
        </div>
      <div style="margin-right: 10px; display: flex" class="btnbox">
        <div class="btn1" v-if="msgtuwen == 'y' || msgtuwen == 'Y'">
          <el-button @click="Graphicreport()" type="primary">
            <span class="vertical-text">图文报告</span>
          </el-button>
        </div>
        <div class="btn1">
          <el-button @click="historicalreport()" type="primary"><span class="vertical-text">历史报告</span></el-button>
        </div>
        <div v-if="tableAll.tjCategory == '02'" class="btn1">
          <el-button @click="medicalhistory()" type="primary"><span class="vertical-text">职业病史</span></el-button>
        </div>
        <div class="btn1" v-if="msgjianqian == 'y' || msgjianqian == 'Y'">
          <el-button @click="jianqian()" type="primary"><span class="vertical-text">检前问诊</span></el-button>
        </div>
        <div class="btn1">
          <el-button @click="xiangmuqingkuang()" type="primary"><span class="vertical-text">项目情况</span></el-button>
        </div>
        <div class="btn1">
          <el-button @click="yichangjieguo()" type="primary"><span class="vertical-text">异常结果</span></el-button>
        </div>
        <div class="btn1">
          <el-button @click="fuchaxiangmu()" type="primary"><span class="vertical-text">复查项目</span></el-button>
        </div>
      </div>
      <div class="box">
        <div class="left-container">
          <div class="left">
            <div v-for="(item, index) in changedate" :key="index">
              <div style="text-align: center; background-color: #aad8df; margin-top: 10px;">
                {{ item.parent || "" }}
              </div>
              <div v-if="item.xmlb == '0'">
                <el-table :data="item.sons" border style="width: 100%" :row-style="changRed"
                  :header-cell-style="{ background: '#aad8df' }">
                  <el-table-column align="center" label="检测项目" width="464">
                    <template slot-scope="scope">
                      <div>{{ scope.row.proName }}</div>
                    </template>
                  </el-table-column>
                  <el-table-column align="center" prop="proResult" label="检测结果" width="180"></el-table-column>
                  <el-table-column align="center" prop="" label="单位">
                    <template slot-scope="scope">
                      <div v-if="scope.row.project != null">{{ scope.row.standard.company || "" }}</div>
                      <div v-else>{{ scope.row.proAdvice }}</div>
                    </template>
                  </el-table-column>
                  <el-table-column align="center" prop="conclusion" label="异常" width="180"></el-table-column>
                  <el-table-column align="center" prop="" label=" 参考范围">
                    <template slot-scope="scope">
                      <div v-if="scope.row.project != null">
                        {{ scope.row.standard.tjStandardGtValue || "/" + "-" + scope.row.standard.tjStandardLtValue ||
                          "/" }}
                      </div>
                      <div v-else>{{ scope.row.stanId || "/" }}</div>
                    </template>
                  </el-table-column>
                </el-table>
                <table style="width: 100%" v-if="tjproject != '1'">
                  <tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
                    <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 7%;">
                      小结:
                    </td>
                    <td style="border: 1px solid #dfe6ec; width: 45%">
                      <el-input v-model="item.remark" disabled></el-input>
                    </td>
                    <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 15%;">
                      主检医师:
                    </td>
                    <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2">
                      {{ item.doctorName }}
                    </td>
                  </tr>
                  <tr style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 200px;">
                    <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 240px;">
                      备注:
                    </td>
                    <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="3">
                      <el-input type="textarea" autosize placeholder="请输入内容" v-model="changedate[index].remark"
                        v-on:input="change" style="width: 100%"></el-input>
                    </td>
                  </tr>
                </table>
              </div>
              <div v-else>
                <table style="width: 100%" v-if="tjproject != '1'">
                  <tr style="border: 1px solid #dfe6ec">
                    <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 15%; height: auto;">
                      检查所见:
                    </td>
                    <td style="border: 1px solid #dfe6ec; height: auto" colspan="2">
                      <el-input type="textarea" autosize placeholder="请输入内容" v-model="item.jgbx"
                        style="width: 100%"></el-input>
                    </td>
                  </tr>
                  <tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
                    <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 15%;">
                      检查提示:
                    </td>
                    <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2">
                      <el-input type="textarea" autosize placeholder="请输入内容" v-model="item.remark"
                        style="width: 100%"></el-input>
                    </td>
                  </tr>
                  <tr style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 200px;">
                    <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 15%;">
                      主检医师:
                    </td>
                    <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2">
                      {{ item.doctorName }}
                    </td>
                  </tr>
                </table>
              </div>
            </div>
            <div v-if="tableAll && tableAll.tjCategory === '02'" class="section-title">职业病总检</div>
            <el-form v-if="tableAll && tableAll.tjCategory === '02'" ref="numberValidateForm" label-width="80px"
              class="demo-ruleForm">
              <el-form-item label="检查结论">
                <el-input type="textarea" placeholder="请输入内容" v-model="textarea1" :rows="3"
                  style="width: 96%"></el-input>
              </el-form-item>
              <el-form-item label="体检结果">
                <el-input type="textarea" placeholder="请输入内容" v-model="res" :rows="3" style="width: 96%"></el-input>
              </el-form-item>
            </el-form>
            <div style="margin: 0 0px 10px 15px" v-if="tjproject != '1'">
              <el-button type="primary" @click="propoChange">快捷建议</el-button>
              <el-button type="primary" @click="proposalChange">生成建议</el-button>
            </div>
            <el-form ref="numberValidateForm" label-width="80px" class="demo-ruleForm" v-if="tjproject != '1'">
              <el-form-item label="总检建议">
                <el-input type="textarea" placeholder="请输入内容" v-model="textarea1" :rows="3"
                  style="width: 96%"></el-input>
              </el-form-item>
            </el-form>
            <div slot="footer" class="dialog-footers">
              <el-button type="primary" @click.stop="guanbi">取消</el-button>
              <el-button v-if="tjproject == '0' && (msgkcf == 'y' || msgkcf == 'Y')" type="primary"
                @click.stop="rowClick" icon="el-icon-edit-outline">开处方</el-button>
              <div v-if="tjproject == '0'">
                <el-button type="primary" @click="determine" :disabled="isdisabled">提交并生成报告</el-button>
              </div>
            </div>
        <div style="margin-right: 10px; display: flex" class="btnbox">
          <div class="btn1" v-if="msgtuwen == 'y' || msgtuwen == 'Y'">
            <el-button @click="Graphicreport()" type="primary">
              <span class="vertical-text">图文报告</span>
            </el-button>
          </div>
          <div class="btn1">
            <el-button @click="historicalreport()" type="primary"><span class="vertical-text">历史报告</span></el-button>
          </div>
          <div v-if="tableAll.tjCategory == '02'" class="btn1">
            <el-button @click="medicalhistory()" type="primary"><span class="vertical-text">职业病史</span></el-button>
          </div>
          <div class="btn1" v-if="msgjianqian == 'y' || msgjianqian == 'Y'">
            <el-button @click="jianqian()" type="primary"><span class="vertical-text">检前问诊</span></el-button>
          </div>
          <div class="btn1">
            <el-button @click="xiangmuqingkuang()" type="primary"><span class="vertical-text">项目情况</span></el-button>
          </div>
          <div class="btn1">
            <el-button @click="yichangjieguo()" type="primary"><span class="vertical-text">异常结果</span></el-button>
          </div>
          <div class="btn1">
            <el-button @click="fuchaxiangmu()" type="primary"><span class="vertical-text">复查项目</span></el-button>
          </div>
          <div class="btn1">
            <el-button @click="yichanghuifu()" type="primary"><span class="vertical-text">异常恢复</span></el-button>
          </div>
        </div>
        <div class="rightbox">
          <div class="right">
            <template v-if="status1 == 0">
              <div v-for="(item, index) in yichangList" :key="index">
                <div style="text-align: center; background-color: #67c23a; margin-top: 10px;">
                  {{ item.proName || "" }}
        <div class="box">
          <div class="left-container">
            <div class="left">
              <div v-for="(item, index) in changedate" :key="index">
                <div style="text-align: center; background-color: #aad8df; margin-top: 10px;">
                  {{ item.parent || "" }}
                </div>
                <template v-if="item.jyjc == '0'">
                  <el-table :stripe="true" :row-style="red" :data="item.sone" border style="width: 100%"
                    :header-cell-style="{ background: '#67C23A' }" :expand-row-keys="expends" :row-key="getRowKeys">
                    <el-table-column type="expand">
                      <template slot-scope="props">
                        <div style="padding: 10px;">
                          <!-- 内容区域 -->
                          <div v-if="props.row.advices && props.row.advices.length > 0">
                            <div v-for="(jianyi, index1) in props.row.advices" :key="index1"
                              style="margin-bottom: 10px">
                              <div>
                                标题:
                                <el-input v-model="jianyi.bt" size="small" type="textarea" autosize
                                  @blur="handleAdviceBlur(props.row, index1)"></el-input>
                              </div>
                              <div>
                                内容:
                                <el-input v-model="jianyi.nr" size="small" type="textarea" autosize
                                  @blur="handleAdviceBlur(props.row, index1)"></el-input>
                              </div>
                            </div>
                          </div>
                          <!-- 如果 advices 为空时,渲染空的输入框 -->
                          <div v-else>
                            <div>
                              标题:
                              <el-input v-model="emptyAdvice.bt" size="small" type="textarea" autosize
                                @blur="handleAdviceBlur(props.row, -1)"></el-input>
                            </div>
                            <div>
                              内容:
                              <el-input v-model="emptyAdvice.nr" size="small" type="textarea" autosize
                                @blur="handleAdviceBlur(props.row, -1)"></el-input>
                            </div>
                          </div>
                          <div style="margin-top: 10px;">
                            <el-button @click="shanchu(props.row)" type="danger" size="small">删除</el-button>
                          </div>
                        </div>
                      </template>
                    </el-table-column>
                    <el-table-column align="center" label="检测项目" :show-overflow-tooltip="true" width="353">
                <div v-if="item.xmlb == '0'">
                  <el-table :data="item.sons" border style="width: 100%" :row-style="changRed"
                    :header-cell-style="{ background: '#aad8df' }">
                    <el-table-column align="center" label="检测项目" width="464">
                      <template slot-scope="scope">
                        <div>{{ scope.row.proName }}</div>
                      </template>
                    </el-table-column>
                    <el-table-column align="center" prop="proResult" label="检测结果" width="85"></el-table-column>
                    <el-table-column align="center" prop="stanId" label=" 参考范围" width="117"></el-table-column>
                    <el-table-column align="center" prop="proAdvice" label="单位" width="78"></el-table-column>
                    <el-table-column align="center" prop="proResult" label="检测结果" width="180"></el-table-column>
                    <el-table-column align="center" prop="" label="单位">
                      <template slot-scope="scope">
                        <div v-if="scope.row.project != null">{{ scope.row.standard.company || "" }}</div>
                        <div v-else>{{ scope.row.proAdvice }}</div>
                      </template>
                    </el-table-column>
                    <el-table-column align="center" prop="conclusion" label="异常" width="180"></el-table-column>
                    <el-table-column align="center" prop="" label=" 参考范围">
                      <template slot-scope="scope">
                        <div v-if="scope.row.project != null">
                          {{ scope.row.standard.tjStandardGtValue || "/" + "-" + scope.row.standard.tjStandardLtValue ||
                            "/" }}
                        </div>
                        <div v-else>{{ scope.row.stanId || "/" }}</div>
                      </template>
                    </el-table-column>
                  </el-table>
                </template>
                <template v-if="item.jyjc == '1'">
                  <el-table :stripe="true" :row-style="red" :data="item.sone" border style="width: 100%"
                    :header-cell-style="{ background: '#67C23A' }" :expand-row-keys="expends" :row-key="getRowKeys">
                    <el-table-column type="expand">
                      <template slot-scope="props">
                        <div style="padding: 10px;">
                          <!-- 内容区域 -->
                          <div v-if="props.row.advices && props.row.advices.length > 0">
                            <div v-for="(jianyi, index1) in props.row.advices" :key="index1"
                              style="margin-bottom: 10px">
                  <table style="width: 100%" v-if="tjproject != '1'">
                    <tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
                      <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 7%;">
                        小结:
                      </td>
                      <td style="border: 1px solid #dfe6ec; width: 45%">
                        <el-input v-model="item.remark" disabled></el-input>
                      </td>
                      <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 15%;">
                        主检医师:
                      </td>
                      <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2">
                        {{ item.doctorName }}
                      </td>
                    </tr>
                    <tr style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 200px;">
                      <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 240px;">
                        备注:
                      </td>
                      <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="3">
                        <el-input type="textarea" autosize placeholder="请输入内容" v-model="changedate[index].remark"
                          v-on:input="change" style="width: 100%"></el-input>
                      </td>
                    </tr>
                  </table>
                </div>
                <div v-else>
                  <table style="width: 100%" v-if="tjproject != '1'">
                    <tr style="border: 1px solid #dfe6ec">
                      <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 15%; height: auto;">
                        检查所见:
                      </td>
                      <td style="border: 1px solid #dfe6ec; height: auto" colspan="2">
                        <el-input type="textarea" autosize placeholder="请输入内容" v-model="item.jgbx"
                          style="width: 100%"></el-input>
                      </td>
                    </tr>
                    <tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
                      <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 15%;">
                        检查提示:
                      </td>
                      <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2">
                        <el-input type="textarea" autosize placeholder="请输入内容" v-model="item.remark"
                          style="width: 100%"></el-input>
                      </td>
                    </tr>
                    <tr style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 200px;">
                      <td style="border: 1px solid #dfe6ec; border-collapse: collapse; width: 15%;">
                        主检医师:
                      </td>
                      <td style="border: 1px solid #dfe6ec; border-collapse: collapse" colspan="2">
                        {{ item.doctorName }}
                      </td>
                    </tr>
                  </table>
                </div>
              </div>
              <div v-if="tableAll && tableAll.tjCategory === '02'" class="section-title">职业病总检</div>
              <el-form v-if="tableAll && tableAll.tjCategory === '02'" ref="numberValidateForm" label-width="80px"
                class="demo-ruleForm">
                <el-form-item label="检查结论">
                  <el-input type="textarea" placeholder="请输入内容" v-model="zhiyeJl" :rows="3"
                    style="width: 96%"></el-input>
                </el-form-item>
                <el-form-item label="体检结果">
                  <el-input type="textarea" placeholder="请输入内容" v-model="zhiyeJg" :rows="3"
                    style="width: 96%"></el-input>
                </el-form-item>
              </el-form>
              <div style="margin: 0 0px 10px 15px" v-if="tjproject != '1'">
                <el-button type="primary" @click="propoChange">快捷建议</el-button>
                <el-button type="primary" @click="proposalChange">生成建议</el-button>
              </div>
              <el-form ref="numberValidateForm" label-width="80px" class="demo-ruleForm" v-if="tjproject != '1'">
                <el-form-item label="总检建议">
                  <el-input type="textarea" placeholder="请输入内容" v-model="textarea1" :rows="3"
                    style="width: 96%"></el-input>
                </el-form-item>
              </el-form>
              <div slot="footer" class="dialog-footers">
                <el-button type="primary" @click.stop="guanbi">取消</el-button>
                <el-button v-if="tjproject == '0' && (msgkcf == 'y' || msgkcf == 'Y')" type="primary"
                  @click.stop="rowClick" icon="el-icon-edit-outline">开处方</el-button>
                <div v-if="tjproject == '0'">
                  <el-button type="primary" @click="determine" :disabled="isdisabled">提交并生成报告</el-button>
                </div>
              </div>
            </div>
          </div>
          <div class="rightbox">
            <div class="right">
              <template v-if="status1 == 0">
                <div v-for="(item, index) in yichangList" :key="index">
                  <div style="text-align: center; background-color: #67c23a; margin-top: 10px;">
                    {{ item.proName || "" }}
                  </div>
                  <template v-if="item.jyjc == '0'">
                    <el-table :stripe="true" :row-style="red" :data="item.sone" border style="width: 100%"
                      :header-cell-style="{ background: '#67C23A' }" :expand-row-keys="expends" :row-key="getRowKeys"
                      v-loading="loading">
                      <el-table-column type="expand">
                        <template slot-scope="props">
                          <div style="padding: 10px;">
                            <!-- 内容区域 -->
                            <div v-if="props.row.advices && props.row.advices.length > 0">
                              <div v-for="(jianyi, index1) in props.row.advices" :key="index1"
                                style="margin-bottom: 10px">
                                <div>
                                  标题:
                                  <el-input v-model="jianyi.bt" size="small" type="textarea" autosize
                                    @blur="handleAdviceBlur(props.row, index1)"></el-input>
                                </div>
                                <div>
                                  内容:
                                  <el-input v-model="jianyi.nr" size="small" type="textarea" autosize
                                    @blur="handleAdviceBlur(props.row, index1)"></el-input>
                                </div>
                              </div>
                            </div>
                            <!-- 如果 advices 为空时,渲染空的输入框 -->
                            <div v-else>
                              <div>
                                标题:
                                <el-input v-model="jianyi.bt" size="small" type="textarea" autosize
                                  @blur="handleAdviceBlur(props.row, index1)"></el-input>
                                <el-input v-model="emptyAdvice.bt" size="small" type="textarea" autosize
                                  @blur="handleAdviceBlur(props.row, -1)"></el-input>
                              </div>
                              <div>
                                内容:
                                <el-input v-model="jianyi.nr" size="small" type="textarea" autosize
                                  @blur="handleAdviceBlur(props.row, index1)"></el-input>
                                <el-input v-model="emptyAdvice.nr" size="small" type="textarea" autosize
                                  @blur="handleAdviceBlur(props.row, -1)"></el-input>
                              </div>
                            </div>
                          </div>
                          <!-- 如果 advices 为空时,渲染空的输入框 -->
                          <div v-else>
                            <div>
                              标题:
                              <el-input v-model="emptyAdvice.bt" size="small" type="textarea" autosize
                                @blur="handleAdviceBlur(props.row, -1)"></el-input>
                            </div>
                            <div>
                              内容:
                              <el-input v-model="emptyAdvice.nr" size="small" type="textarea" autosize
                                @blur="handleAdviceBlur(props.row, -1)"></el-input>
                            <div style="margin-top: 10px;">
                              <el-button @click="shanchu(props.row)" type="danger" size="small">删除</el-button>
                            </div>
                          </div>
                          <div style="margin-top: 10px;">
                            <el-button @click="shanchu(props.row)" type="danger" size="small">删除</el-button>
                        </template>
                      </el-table-column>
                      <el-table-column align="center" label="检测项目" :show-overflow-tooltip="true" width="353">
                        <template slot-scope="scope">
                          <div>{{ scope.row.proName }}</div>
                        </template>
                      </el-table-column>
                      <el-table-column align="center" prop="proResult" label="检测结果" width="85"></el-table-column>
                      <el-table-column align="center" prop="stanId" label=" 参考范围" width="117"></el-table-column>
                      <el-table-column align="center" prop="proAdvice" label="单位" width="78"></el-table-column>
                    </el-table>
                  </template>
                  <template v-if="item.jyjc == '1'">
                    <el-table :stripe="true" :row-style="red" :data="item.sone" border style="width: 100%"
                      :header-cell-style="{ background: '#67C23A' }" :expand-row-keys="expends" :row-key="getRowKeys">
                      <el-table-column type="expand">
                        <template slot-scope="props">
                          <div style="padding: 10px;">
                            <!-- 内容区域 -->
                            <div v-if="props.row.advices && props.row.advices.length > 0">
                              <div v-for="(jianyi, index1) in props.row.advices" :key="index1"
                                style="margin-bottom: 10px">
                                <div>
                                  标题:
                                  <el-input v-model="jianyi.bt" size="small" type="textarea" autosize
                                    @blur="handleAdviceBlur(props.row, index1)"></el-input>
                                </div>
                                <div>
                                  内容:
                                  <el-input v-model="jianyi.nr" size="small" type="textarea" autosize
                                    @blur="handleAdviceBlur(props.row, index1)"></el-input>
                                </div>
                              </div>
                            </div>
                            <!-- 如果 advices 为空时,渲染空的输入框 -->
                            <div v-else>
                              <div>
                                标题:
                                <el-input v-model="emptyAdvice.bt" size="small" type="textarea" autosize
                                  @blur="handleAdviceBlur(props.row, -1)"></el-input>
                              </div>
                              <div>
                                内容:
                                <el-input v-model="emptyAdvice.nr" size="small" type="textarea" autosize
                                  @blur="handleAdviceBlur(props.row, -1)"></el-input>
                              </div>
                            </div>
                            <div style="margin-top: 10px;">
                              <el-button @click="shanchu(props.row)" type="danger" size="small">删除</el-button>
                            </div>
                          </div>
                        </div>
                      </template>
                    </el-table-column>
                    <el-table-column align="center" label="检测项目" width="232" :show-overflow-tooltip="true">
                        </template>
                      </el-table-column>
                      <el-table-column align="center" label="检测项目" width="232" :show-overflow-tooltip="true">
                        <template slot-scope="scope">
                          <div>{{ scope.row.proName }}</div>
                        </template>
                      </el-table-column>
                      <el-table-column align="center" prop="proResult" label="检测结果" width="403"></el-table-column>
                    </el-table>
                  </template>
                </div>
              </template>
              <template v-if="status1 == 1">
                <div>
                  <div style="text-align: center; background-color: #e6a23c; margin-top: 10px;">
                    项目检查情况
                  </div>
                  <el-table :row-style="redxiangmu" :data="statusList" style="width: 100%"
                    :header-cell-style="{ background: '#e6a23c' }">
                    <el-table-column align="center" label="部门" width="144" prop="deptName"></el-table-column>
                    <el-table-column align="center" prop="proName" label="项目" width="260"></el-table-column>
                    <el-table-column label="状态" align="center" prop="type" :show-overflow-tooltip="true" width="120">
                      <template slot-scope="scope">
                        <div>{{ scope.row.proName }}</div>
                        <span v-if="scope.row.type == '0'">未审核</span>
                        <span v-if="scope.row.type == '1'">已审核</span>
                        <span v-if="scope.row.type == '2'">弃检</span>
                        <span v-if="scope.row.type == '3'">延期</span>
                      </template>
                    </el-table-column>
                    <el-table-column align="center" prop="proResult" label="检测结果" width="403"></el-table-column>
                    <el-table-column label="检查时间" align="center" prop="bcupdateTime" width="160" />
                    <el-table-column label="操作" align="center" width="130px">
                      <template slot-scope="scope">
                        <el-button type="primary" size="mini" @click="huifu" v-if="scope.row.type == '2'">恢复</el-button>
                      </template>
                    </el-table-column>
                  </el-table>
                </template>
              </div>
            </template>
            <template v-if="status1 == 1">
              <div>
                <div style="text-align: center; background-color: #e6a23c; margin-top: 10px;">
                  项目检查情况
                </div>
                <el-table :row-style="redxiangmu" :data="statusList" style="width: 100%"
                  :header-cell-style="{ background: '#e6a23c' }">
                  <el-table-column align="center" label="部门" width="144" prop="deptName"></el-table-column>
                  <el-table-column align="center" prop="proName" label="项目" width="260"></el-table-column>
                  <el-table-column label="状态" align="center" prop="type" :show-overflow-tooltip="true" width="120">
                    <template slot-scope="scope">
                      <span v-if="scope.row.type == '0'">未审核</span>
                      <span v-if="scope.row.type == '1'">已审核</span>
                      <span v-if="scope.row.type == '2'">弃检</span>
                      <span v-if="scope.row.type == '3'">延期</span>
                    </template>
                  </el-table-column>
                  <el-table-column label="检查时间" align="center" prop="bcupdateTime" width="160" />
                </el-table>
              </div>
            </template>
              </template>
            <template v-if="status1 == 2">
              <div>
                <div style="text-align: center; margin-top: 10px;">
                  复查项目
                </div>
                <div style="display: flex;margin:15px ;">
                  <span slot="label" style="display: inline-block; border-bottom: 2px solid blue;font-size: 0.8vw;"
                    @click="handleQuery">
                    项目选择
                  </span>
                  <div v-if="xmChange.length > 0" style="display: flex;">
                    <div style="margin:0 40px;font-size: 0.8vw;">项目名称:{{ xmChange[0].proName || "" }}</div>
                    <div style="margin:0 40px ;font-size: 0.8vw;">价格:{{ xmChange[0].price || "" }}</div>
              <template v-if="status1 == 2">
                <div>
                  <div style="text-align: center; margin-top: 10px;">
                    复查项目
                  </div>
                  <div v-else style="display: flex;">
                    <div style="margin:0 40px;font-size: 0.8vw;">项目名称:{{ }}</div>
                    <div style="margin:0 40px ;font-size: 0.8vw;">价格:{{ }}</div>
                  <div style="display: flex;margin:15px ;">
                    <span slot="label" style="display: inline-block; border-bottom: 2px solid blue;font-size: 0.8vw;"
                      @click="handleQuery">
                      项目选择
                    </span>
                    <div v-if="xmChange.length > 0" style="display: flex;">
                      <div style="margin:0 40px;font-size: 0.8vw;">项目名称:{{ xmChange[0].proName || "" }}</div>
                      <div style="margin:0 80px ;font-size: 0.8vw;">价格:{{ xmChange[0].price || "" }}</div>
                    </div>
                    <div v-else style="display: flex;">
                      <div style="margin:0 40px;font-size: 0.8vw;">项目名称:{{ }}</div>
                      <div style="margin:0 80px ;font-size: 0.8vw;">价格:{{ }}</div>
                    </div>
                    <el-button type="primary" size="mini" @click="handleaddClick()">添加</el-button>
                  </div>
                  <el-button type="primary" size="mini" @click="handleaddClick()">添加</el-button>
                </div>
                <el-table :row-style="redxiangmu" :data="fcList" style="width: 100%">
                  <el-table-column type="selection" width="40" align="center" />
                  <el-table-column label="序号" align="center" prop="newID" />
                  <el-table-column label="名称" align="center" prop="proName" width="100px" />
                  <el-table-column label="价格" align="center" prop="price" />
                  <el-table-column label="科室" align="center" prop="deptName" />
                  <el-table-column label="操作" align="center" width="130px">
                    <template slot-scope="scope">
                      <el-button type="primary" size="mini" @click="handledeleteClick(scope.row)">删除</el-button>
                    </template>
                  </el-table-column>
                </el-table>
              </div>
            </template>
            <template v-if="status1 == 3">
              <div class="hist3">
                <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 disabled 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" disabled>
                            <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 disabled 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 disabled type="textarea" rows="4" v-model="formobj.contactPoison"
                            placeholder="请输入接触毒物" style="width: 700px" />
                        </el-form-item>
                        <el-form-item label="既往病史" prop="medicalHistory">
                          <el-input disabled 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" disabled />
                        </el-form-item>
                        <el-form-item label="经期" prop="jingqi">
                          <el-input v-model="formobj.jingqi" disabled style="width: 70px" />天
                        </el-form-item>
                        <el-form-item label="周期" prop="zhouqi">
                          <el-input v-model="formobj.zhouqi" disabled style="width: 70px" />天
                        </el-form-item>
                        <el-form-item label="末次月经" prop="mociage">
                          <el-input v-model="formobj.mociage" disabled 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" disabled />
                        </el-form-item>
                        <el-form-item label="流产(次)" prop="liuchan">
                          <el-input v-model="formobj.liuchan" style="width: 70px" disabled />
                        </el-form-item>
                        <el-form-item label="早产(次)" prop="zaochan">
                          <el-input v-model="formobj.zaochan" style="width: 70px" disabled />
                        </el-form-item>
                        <el-form-item label="死产(次)" prop="sichan">
                          <el-input v-model="formobj.sichan" style="width: 70px" disabled />
                        </el-form-item>
                        <el-form-item label="异常胎(次)" prop="yichangtai">
                          <el-input v-model="formobj.yichangtai" style="width: 70px" disabled />
                        </el-form-item>
                      </div>
                    </el-collapse-item>
                    <el-collapse-item title="烟酒史" name="4">
                      <div style="width: 100%">
                        <el-form-item label="是否吸烟" prop="xiyan">
                          <el-select disabled 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" disabled style="width: 70px" />支/天
                        </el-form-item>
                        <el-form-item label="吸烟时间" prop="xiyanyear">
                          <el-input v-model="formobj.xiyanyear" disabled style="width: 70px" />年
                        </el-form-item><br />
                        <el-form-item label="是否饮酒" prop="yinjiu">
                          <el-select filterable v-model="formobj.yinjiu" disabled 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" disabled style="width: 70px" />ml/天
                        </el-form-item>
                        <el-form-item label="饮酒时间" prop="yinjiuyear">
                          <el-input v-model="formobj.yinjiuyear" disabled style="width: 70px" />年
                        </el-form-item>
                        <el-form-item label="其他" prop="qita">
                          <el-input v-model="formobj.qita" placeholder="请输入其他" disabled 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" disabled 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" disabled v-model="scope.row.diseaseCompany" placeholder="请输入诊断单位" />
                            </template>
                          </el-table-column>
                          <el-table-column label="是否痊愈" prop="isOk">
                            <template slot-scope="scope">
                              <el-select disabled 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 disabled 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" disabled 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" disabled v-model="scope.row.workCompany" placeholder="请输入工作单位" />
                            </template>
                          </el-table-column>
                          <el-table-column label="部门" prop="workDept">
                            <template slot-scope="scope">
                              <el-input disabled size="mini" v-model="scope.row.workDept" placeholder="请输入部门" />
                            </template>
                          </el-table-column>
                          <el-table-column label="工种" prop="workType">
                            <template slot-scope="scope">
                              <el-input disabled size="mini" v-model="scope.row.workType" placeholder="请输入工种" />
                            </template>
                          </el-table-column>
                          <el-table-column label="有害因素" prop="harmTypeLogs">
                            <template slot-scope="scope">
                              <el-select filterable disabled 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 disabled size="mini" v-model="scope.row.fangHu" placeholder="请输入防护措施" />
                            </template>
                          </el-table-column>
                        </el-table>
                      </div>
                    </el-collapse-item>
                  </el-collapse>
                </el-form>
              </div>
            </template>
            <el-button type="primary" @click="addnew" :disabled="isdisabled" style="margin-top: 20px;">新增</el-button>
                  <el-table :row-style="redxiangmu" :data="fcList" style="width: 100%" border>
                    <el-table-column type="selection" width="40" align="center" />
                    <el-table-column label="序号" align="center" prop="newID" />
                    <el-table-column label="名称" align="center" prop="proName" width="100px" />
                    <el-table-column label="价格" align="center" prop="price" />
                    <el-table-column label="科室" align="center" prop="deptName" />
                    <el-table-column label="操作" align="center" width="130px">
                      <template slot-scope="scope">
                        <el-button type="primary" size="mini" @click="handledeleteClick(scope.row)">删除</el-button>
                      </template>
                    </el-table-column>
                  </el-table>
                </div>
              </template>
              <template v-if="status1 == 3">
                <div class="hist3">
                  <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 disabled 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" disabled>
                              <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 disabled 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 disabled type="textarea" rows="4" v-model="formobj.contactPoison"
                              placeholder="请输入接触毒物" style="width: 700px" />
                          </el-form-item>
                          <el-form-item label="既往病史" prop="medicalHistory">
                            <el-input disabled 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" disabled />
                          </el-form-item>
                          <el-form-item label="经期" prop="jingqi">
                            <el-input v-model="formobj.jingqi" disabled style="width: 70px" />天
                          </el-form-item>
                          <el-form-item label="周期" prop="zhouqi">
                            <el-input v-model="formobj.zhouqi" disabled style="width: 70px" />天
                          </el-form-item>
                          <el-form-item label="末次月经" prop="mociage">
                            <el-input v-model="formobj.mociage" disabled 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" disabled />
                          </el-form-item>
                          <el-form-item label="流产(次)" prop="liuchan">
                            <el-input v-model="formobj.liuchan" style="width: 70px" disabled />
                          </el-form-item>
                          <el-form-item label="早产(次)" prop="zaochan">
                            <el-input v-model="formobj.zaochan" style="width: 70px" disabled />
                          </el-form-item>
                          <el-form-item label="死产(次)" prop="sichan">
                            <el-input v-model="formobj.sichan" style="width: 70px" disabled />
                          </el-form-item>
                          <el-form-item label="异常胎(次)" prop="yichangtai">
                            <el-input v-model="formobj.yichangtai" style="width: 70px" disabled />
                          </el-form-item>
                        </div>
                      </el-collapse-item>
                      <el-collapse-item title="烟酒史" name="4">
                        <div style="width: 100%">
                          <el-form-item label="是否吸烟" prop="xiyan">
                            <el-select disabled 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" disabled style="width: 70px" />支/天
                          </el-form-item>
                          <el-form-item label="吸烟时间" prop="xiyanyear">
                            <el-input v-model="formobj.xiyanyear" disabled style="width: 70px" />年
                          </el-form-item><br />
                          <el-form-item label="是否饮酒" prop="yinjiu">
                            <el-select filterable v-model="formobj.yinjiu" disabled 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" disabled style="width: 70px" />ml/天
                          </el-form-item>
                          <el-form-item label="饮酒时间" prop="yinjiuyear">
                            <el-input v-model="formobj.yinjiuyear" disabled style="width: 70px" />年
                          </el-form-item>
                          <el-form-item label="其他" prop="qita">
                            <el-input v-model="formobj.qita" placeholder="请输入其他" disabled 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" disabled 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" disabled v-model="scope.row.diseaseCompany"
                                  placeholder="请输入诊断单位" />
                              </template>
                            </el-table-column>
                            <el-table-column label="是否痊愈" prop="isOk">
                              <template slot-scope="scope">
                                <el-select disabled 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 disabled 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" disabled 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" disabled v-model="scope.row.workCompany" placeholder="请输入工作单位" />
                              </template>
                            </el-table-column>
                            <el-table-column label="部门" prop="workDept">
                              <template slot-scope="scope">
                                <el-input disabled size="mini" v-model="scope.row.workDept" placeholder="请输入部门" />
                              </template>
                            </el-table-column>
                            <el-table-column label="工种" prop="workType">
                              <template slot-scope="scope">
                                <el-input disabled size="mini" v-model="scope.row.workType" placeholder="请输入工种" />
                              </template>
                            </el-table-column>
                            <el-table-column label="有害因素" prop="harmTypeLogs">
                              <template slot-scope="scope">
                                <el-select filterable disabled 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 disabled size="mini" v-model="scope.row.fangHu" placeholder="请输入防护措施" />
                              </template>
                            </el-table-column>
                          </el-table>
                        </div>
                      </el-collapse-item>
                    </el-collapse>
                  </el-form>
                </div>
              </template>
              <template v-if="status1 == 4">
                <div>
                  <el-table
                    :data="ychfList"
                    style="width: 100%"
                    :header-cell-style="{ background: '#e6a23c' }"
                  >
                    <el-table-column
                      align="center"
                      prop="jcxm"
                      label="项目名"
                      width="260"
                    ></el-table-column>
                    <el-table-column
                      label="结果"
                      align="center"
                      prop="jcjg"
                      width="160"
                    />
                    <el-table-column label="操作" align="center" width="130px">
                      <template v-slot="scope">
                        <el-button
                          type="primary"
                          size="mini"
                          @click="hfyc(scope.row.id)"
                          >恢复</el-button
                        >
                      </template>
                    </el-table-column>
                  </el-table>
                </div>
              </template>
              <el-button type="primary" @click="addnew" :disabled="isdisabled" style="margin-top: 20px;">新增</el-button>
            </div>
          </div>
        </div>
      </div>
    </el-drawer>
@@ -807,14 +869,17 @@
  isPdfOrJimu,
  addOrder,
  addOrder1,
  getFcList, UpdFcPro
  getFcList,
  UpdFcPro,
  huiFuyichangxiangmu,
  hfbt,
} from "@/api/doctor/checkAll";
import { getInfoById } from "@/api/hosp/history";
import { getInfo } from "@/api/login";
import { getCompany, queryCompany } from "@/api/team/tuanti";
import { reportHistory, yichang, shanchu } from "@/api/doctor/check";
import { getPdf, revoke } from "@/api/hosp/order";
import { cSWebGetPro } from "@/api/doctor/examination";
import { cSWebGetPro,huifu,} from "@/api/doctor/examination";
import ViewPdf from "@/components/ViewPdf";
import Historicalreport from "@/components/Historicalreport";
import { getDicts } from "@/api/system/dict/data";
@@ -835,6 +900,7 @@
    Prescription,
  },
  dicts: [
    "dict_team",
    "dict_tjtype",
    "sys_user_sex",
    "sys_yes_no",
@@ -848,14 +914,16 @@
  name: "checkAll",
  data() {
    return {
      res: '未发现目标性疾病',
      zhiyeJl: '', // 初始化检查结论为空
      zhiyeJg: '', // 初始化体检结果为默认值
      selectedAdvice: null,
      activeAdviceIndex: 0,
      advicerulesList: [],
      xmChange: [],
      showjianyi: false,
      adviceLoading: false, // 控制表格加载状态
      adviceEmptyText: '暂无数据', // 自定义空数据提示
      isLoading: false,
      adviceLoading: false,
      adviceEmptyText: '暂无数据',
      total1: 0,
      forms: {
        pacName: ""
@@ -865,9 +933,9 @@
      queryParams1: {
        pageNum: 1,
        pageSize: 10,
        zyzd: '', // 建议名称
        zyzd: '',
      },
      adviceCache: new Map(), // 缓存建议数据
      adviceCache: new Map(),
      addNewDialogVisible: false,
      newItem: {
        parentName: '',
@@ -950,7 +1018,7 @@
      Testitems: [],
      CheckBox: {},
      startTime: [],
       isCollapsed: 0,
      isCollapsed: 0,
      textarea1: "",
      loading: true,
      selectLettercurrent: " ",
@@ -973,6 +1041,7 @@
        name: null,
        checkStatus: null,
        shys: null,
        tjCategory: null
      },
      formobj: {},
      yichangList: [],
@@ -1009,11 +1078,10 @@
  },
  created() {
    console.log(this.dict.type.dict_tjtype, "职业体检"); // 打印字典数据
    console.log(this.dict.type.dict_tjtype, "职业体检");
    this.getConfigKey();
    this.getdate();
  },
  mounted() {
    this.$nextTick(() => {
      this.$refs.inputName.focus();
@@ -1031,10 +1099,10 @@
      this.queryParams1.pageNum = 1;
      this.queryParams1.pageSize = 10;
      this.queryParams1.zyzd = '';
      this.selectedAdvice = null; // 重置选中建议
      this.advicerulesList = []; // 清空建议列表
      this.selectedAdvice = null;
      this.advicerulesList = [];
      this.total1 = 0;
      this.adviceCache.clear(); // 清空缓存
      this.adviceCache.clear();
      this.filterAdvices();
      this.showjianyi = true;
    },
@@ -1045,10 +1113,8 @@
        this.queryParams1.pageNum = 1;
      }
      // 生成缓存 key,仅使用 zyzd 和分页参数
      const cacheKey = `${this.queryParams1.zyzd || ''}_${this.queryParams1.pageNum}_${this.queryParams1.pageSize}`;
      // 检查缓存
      if (this.adviceCache.has(cacheKey)) {
        const cachedData = this.adviceCache.get(cacheKey);
        this.advicerulesList = cachedData.rows;
@@ -1057,7 +1123,6 @@
        return;
      }
      // 显示加载状态
      this.adviceLoading = true;
      this.adviceEmptyText = '加载中...';
@@ -1066,13 +1131,11 @@
          this.advicerulesList = response.rows || [];
          this.total1 = response.total || 0;
          // 存入缓存
          this.adviceCache.set(cacheKey, {
            rows: this.advicerulesList,
            total: this.total1,
          });
          // 更新空数据提示
          this.adviceEmptyText = this.advicerulesList.length === 0 ? '暂无匹配的建议' : '暂无数据';
        })
        .catch((error) => {
@@ -1085,14 +1148,14 @@
        .finally(() => {
          this.adviceLoading = false;
        });
    }, 800), // 防抖时间为 800ms
    }, 800),
    handleCurrentChangeAdvice(currentRow) {
      this.selectedAdvice = currentRow;
    },
     toggleCollapse3() {
    toggleCollapse3() {
      this.isCollapsed = 0;
    },
    toggleCollapse() {
@@ -1112,7 +1175,6 @@
      }
    },
    // 取消选择并关闭对话框
    cancelAdviceDialog() {
      this.showjianyi = false;
      this.selectedAdvice = null;
@@ -1123,7 +1185,6 @@
      this.adviceCache.clear();
    },
    // 关闭对话框前的确认
    handleCloseAdviceDialog(done) {
      if (this.selectedAdvice) {
        this.$confirm('您已选择一条建议,确定要关闭吗?', '提示', {
@@ -1251,6 +1312,7 @@
        this.newItem.jcxm = value;
      }
    },
    change(val) {
      console.log('选中的值是:', val);
    },
@@ -1313,63 +1375,50 @@
    },
    handleQuery() {
      this.xmopen = true
      this.xmopen = true;
      let data = {
        tjNum: this.tjNumber,
        type: 0
      }
      };
      getFcList(data).then(res => {
        this.datasList = res.data
      })
        this.datasList = res.data;
      });
    },
    handleaddClick() {
      console.log(this.xmChange)
      console.log(this.xmChange);
      let data = {
        orderId: this.xmChange[0].orderId,
        data: [{
          proId: this.xmChange[0].proId,
          type: 1
        }]
      }
      UpdFcPro(data).then(res => {
        if (res.code == 200) {
          this.xmChange = []
          this.fuchaxiangmu()
        }
      })
      };
      UpdFcPro(data).then(res => { });
    },
    handledeleteClick(row) {
      let data = {
        orderId: row.orderId,
        data: [{
          proId: row.proId,
          type: 0
        }]
      }
      UpdFcPro(data).then(res => {
        if (res.code == 200) {
          this.fuchaxiangmu()
        }
      })
    handledeleteClick() {
      UpdFcPro(data).then(res => { });
    },
    handlexmChange(selection) {
      this.xmChange = []
      this.xmChange = selection
      this.xmChange = [];
      this.xmChange = selection;
      if (selection.length > 1) {
        let del_row = selection.shift();
        this.$refs.elTable.toggleRowSelection(del_row, false); //设置这一行取消选中
        this.$refs.elTable.toggleRowSelection(del_row, false);
      }
    },
    submitFormxm() {
      this.xmopen = false
      this.xmopen = false;
    },
    cancels() {
      this.xmopen = false
      this.xmChange = []
      this.xmopen = false;
      this.xmChange = [];
    },
    getExpends() {
      this.expends = this.yichangList.flatMap(item =>
        item.sone.map(soneItem => soneItem.orderDetailId)
@@ -1391,6 +1440,7 @@
    getRowKeys(row) {
      return row.orderDetailId;
    },
    xiangmuqingkuang() {
      this.loading = true;
      cSWebGetPro(this.tjNumber)
@@ -1415,12 +1465,14 @@
    },
    yichangjieguo() {
      this.loading = true;
      this.isLoading = true
      this.status1 = 0;
      this.yichangList = []
      yichang({
        tjNum: this.tjNumber,
      })
        .then((res) => {
          this.isLoading = false
          this.yichangList = res.data;
          this.yichangList.forEach((item) => {
            item.sone.forEach((soneItem) => {
@@ -1434,10 +1486,12 @@
          }
        })
        .catch((error) => {
          this.isLoading = false
          console.error('获取异常结果失败:', error);
          this.$message.error('获取异常结果失败');
        })
        .finally(() => {
          this.isLoading = false
          this.loading = false;
        });
    },
@@ -1452,9 +1506,6 @@
      getFcList(data)
        .then((res) => {
          this.fcList = res.data;
          this.fcList.forEach((item, index) => {
            item.newID = index + 1;
          })
        })
        .catch((error) => {
          console.error('获取复查项目失败:', error);
@@ -1843,9 +1894,75 @@
      });
    },
    huifu(row){
      const tjNUm = this.tjNumber;
      const proId = row.proId;
        huifu(tjNUm, proId).then((res) => {
          if (res.code == 200) {
           this.xiangmuqingkuang()
          }
        });
    },
    yichanghuifu() {
      this.loading = true;
      let tjNum = this.tjNumber;
      huiFuyichangxiangmu(tjNum).then((res) => {
        this.status1 = 4;
        this.ychfList = res.data;
        if(this.ychfList.length == 0){
          this.message.success("暂无异常恢复项目")
        }
      })
      .catch((error)=>{
        console.error("获取项目失败:",error);
        this.$message.error("获取项目失败")
      })
      .finally(()=>{
        this.loading = false;
      })
    },
    hfyc(id) {
      this.$confirm("确认要恢复该项吗?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          // 用户确认后执行接口
          hfbt({ id })
            .then((res) => {
              this.$message.success("恢复成功");
              this.yichanghuifu(); // 恢复后刷新列表
            })
            .catch((err) => {
              console.error(err);
              this.$message.error("恢复失败");
            });
        })
        .catch(() => {
          // 用户取消了操作
          this.$message.info("已取消恢复");
        });
    },
    resetQuery() {
      this.startTime = [];
      this.resetForm("tableList");
      this.queryParams = {
        page: 1,
        pageSize: 10,
        tjNumber: "",
        beginTime: null,
        endTime: null,
        compId: null,
        name: null,
        checkStatus: null,
        shys: null,
        tjCategory: null
      },
        this.resetForm("tableList");
      this.submitForm();
    },
@@ -1876,8 +1993,18 @@
        this.handleClick(val);
      }
    },
    qingkong() {
      this.tableAll = {}
      this.changedate = []
      this.yichangList = []
      this.statusList = []
      this.xmChange = []
      this.fcList = []
      this.formobj = {}
    },
    handleClick(row) {
      this.qingkong()
      this.$refs.Pre.open = false;
      this.tableAll = row;
      this.tjproject = "0";
@@ -1898,8 +2025,10 @@
                };
                getModifiedState(data).then((res) => {
                  this.MsgId = res.msg;
                  this.isLoading = true
                  this.drawer = true;
                  getupdateCheckType(this.tjNumber).then((response) => {
                    this.isLoading = false
                    this.changedate = response.data;
                    if (this.changedate) {
                      this.changedate.forEach((item) => {
@@ -1910,16 +2039,23 @@
                      for (let i = 0; i < this.changedate.length; i++) {
                        this.remark = this.changedate[i].remark;
                      }
                      // 回显 zhiyeJl 和 zhiyeJg
                      this.zhiyeJl = this.changedate[0].zhiyejl || '';
                      this.zhiyeJg = this.changedate[0].zhiyejg || '未发现目标性疾病';
                    } else {
                      this.$message({
                        type: "warning",
                        message: "该客户没有体检项目数据",
                      });
                      // 如果没有数据,清空字段
                      this.zhiyeJl = '';
                      this.zhiyeJg = '未发现目标性疾病';
                    }
                  });
                });
              }
            });
          } else {
            this.$confirm("" + this.status.name + "正在修改该信息, 是否强制进去?", "提示", {
              confirmButtonText: "是",
@@ -1938,8 +2074,10 @@
                    };
                    getforceIn(data).then((res) => {
                      this.MsgId = res.msg;
                      this.isLoading = true
                      this.drawer = true;
                      getupdateCheckType(this.tjNumber).then((response) => {
                        this.isLoading = false
                        this.changedate = response.data;
                        if (this.changedate) {
                          for (let i = 0; i < this.changedate.length; i++) {
@@ -1949,16 +2087,23 @@
                          this.changedate.forEach((item) => {
                            this.textarea1 = item.checkAdvice || "";
                          });
                          // 回显 zhiyeJl 和 zhiyeJg
                          this.zhiyeJl = this.changedate[0].zhiyejl || '';
                          this.zhiyeJg = this.changedate[0].zhiyejg || '未发现目标性疾病';
                        } else {
                          this.$message({
                            type: "warning",
                            message: "该客户没有体检项目数据",
                          });
                          // 如果没有数据,清空字段
                          this.zhiyeJl = '';
                          this.zhiyeJg = '未发现目标性疾病';
                        }
                      });
                    });
                  }
                });
              })
              .catch(() => {
                this.$message({
@@ -2017,10 +2162,9 @@
        tjNumber,
        advice,
        checkStatus: 1,
        zhiyeJl: this.zhiyeJl, // 添加检查结论
        zhiyeJg: this.zhiyeJg  // 添加体检结果
      };
      console.log(this.yichangList, 6644);
      let dataList = this.yichangList
        .map((item) => {
          return item.sone.map((soneItem) => ({
@@ -2034,14 +2178,17 @@
            dw: soneItem.proAdvice,
          }));
        })
        .flat(); // 使用 flat() 方法将嵌套数组展平
        .flat();
      this.loading = true;
      getTjdetailList(data)
        .then((response) => {
          if (response.code === 200) {
            this.$modal.msgSuccess("提交成功");
            // 清空字段
            this.zhiyeJl = '';
            this.zhiyeJg = '';
            // 准备生成报告的请求数据
            let reportData = {
              userId: this.userId,
              tjNumber: tjNumber,
@@ -2049,12 +2196,8 @@
              id: this.MsgId,
            };
            // 调用 addOrderPromise
            console.log(dataList, 5555);
            addOrder(dataList)
              .then((res) => {
                console.log(res, 999);
                if (res.code == 200) {
                  gettoPdf(tjNumber)
                    .then((res) => {
@@ -2080,41 +2223,36 @@
                        remarks,
                      },
                    ];
                    return getModified(updateOrderRemarkVos); // 返回 Promise
                    return getModified(updateOrderRemarkVos);
                  });
                  // 等待所有请求完成
                  Promise.all([statePromise, ...updatePromises])
                    .then(() => {
                      // 所有请求完成,关闭 loading
                      this.loading = false;
                      // 更新分页信息
                      this.queryParams.page = 1;
                      this.queryParams.pageSize = 10;
                      this.submitForm();
                      this.$forceUpdate();
                    })
                    .catch((error) => {
                      // 处理错误情况
                      this.loading = false;
                      console.error("发生错误:", error);
                    });
                }
              })
              .catch((error) => {
                // 如果 addOrderPromise 失败,处理错误
                this.loading = false;
                console.error("addOrderPromise 失败:", error);
              });
          } else {
            // 提交失败,关闭 loading
            this.loading = false;
            this.$modal.msgError("提交失败");
          }
        })
        .catch((error) => {
          // 提交请求失败,关闭 loading
          this.loading = false;
          console.error("提交请求失败:", error);
          this.$modal.msgError("提交请求失败");
        });
    },