1
lkk
2025-06-10 c1cf70d01a5b11075170cfc6278a213833d1f799
src/views/doctor/checkAll/index.vue
@@ -152,6 +152,7 @@
          width="110px"
        /> -->
        <el-table-column
          v-if="tjStatus === '1'"
          label="审核时间"
          align="center"
          prop="shsj"
@@ -159,9 +160,17 @@
          width="180px"
        />
        <el-table-column
          v-if="tjStatus === '0'"
          label="完成时间"
          align="center"
          prop="finishTime"
          :show-overflow-tooltip="true"
          width="160px"
        />
        <el-table-column
          label="套餐名称"
          align="center"
          prop="pacName"
          :show-overflow-tooltip="true"
          width="160px"
        />
@@ -190,16 +199,13 @@
            />
          </template>
        </el-table-column>
        <el-table-column label="操作" align="center" width="90px" fixed="right">
        <el-table-column
          label="操作"
          align="center"
          width="120px"
          fixed="right"
        >
          <template slot-scope="scope">
            <el-button
              fixed="right"
              title="处方"
              type="text"
              size="mini"
              @click.stop="rowClick(scope.row)"
              icon="el-icon-edit-outline"
            ></el-button>
            <el-button
              fixed="right"
              title="详情"
@@ -208,6 +214,24 @@
              @click.stop="handleClick(scope.row)"
              icon="el-icon-document-copy"
            ></el-button>
            <el-button
              fixed="right"
              title="同步"
              type="text"
              size="mini"
              @click.stop="tongbu(scope.row)"
              v-if="scope.row.tjStatus != '1'"
              icon="el-icon-upload2"
            ></el-button>
            <el-button
              fixed="right"
              title="处方"
              type="text"
              size="mini"
              @click.stop="rowClick(scope.row)"
              icon="el-icon-edit-outline"
            ></el-button>
            <!-- <el-button type="text" size="mini" @click="generate(scope.row)" v-if="scope.row.tjStatus=='1'">生成</el-button> -->
            <el-button
              type="text"
@@ -242,987 +266,1342 @@
      </div>
    </template>
    <!-- 点击弹出框 -->
    <!-- 点击弹出框   show-close="true"-->
    <el-drawer
      custom-class="tanchu"
      :visible.sync="drawer"
      :before-close="handleClose"
      :with-header="false"
      size="100%"
      show-close="true"
      :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
      <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;
              height: 36px;
            "
            cellspacing="4"
          >
            <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">
            <caption style="background-color: #f8f8f9; font-size: 18px">
              {{
                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 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>
      <div class="box">
        <div
          class="left"
          style="
            font-size: 14px;
            width: 1100px;
            margin-left: 10px;
            padding: 0 0 50px;
          "
        >
          <div v-for="(item, index) in changedate" :key="index">
            <div
                tableAll.cusName
              }}的体检资料
            </caption>
            <tr
              style="
                text-align: center;
                background-color: #aad8df;
                margin-top: 10px;
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
                height: 36px;
              "
            >
              {{ 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="" 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
              <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="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                    text-align: center;
                    background-color: #aad8df;
                    margin-top: 10px;
                  "
                >
                  <td
                    style="
                      border: 1px solid #dfe6ec;
                      border-collapse: collapse;
                      width: 240px;
                    "
                  {{ 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' }"
                  >
                    备注:
                  </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-table-column
                      align="center"
                      label="检测项目"
                      width="464"
                    >
                    </el-input>
                    <!-- <textarea
                      placeholder="请输入内容"
                      :autosize="{ minRows: 2 }"
                      style="width: 100%; height: 240px; resize: none"
                      v-model="changedate[index].remark"
                      v-on:input="change"
                    ></textarea> -->
                  </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%"
                      <template slot-scope="scope">
                        <div>{{ scope.row.proName }}</div>
                      </template>
                    </el-table-column>
                    <el-table-column
                      align="center"
                      prop="proResult"
                      label="检测结果"
                      width="180"
                    >
                    </el-input>
                    <!-- <textarea
                      placeholder="请输入内容"
                      :autosize="{ minRows: 3}"
                      style="width: 100%; height: auto; resize: none"
                      v-model="item.jgbx"
                    ></textarea> -->
                  </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-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;
                      "
                    >
                    </el-input>
                    <!-- <textarea
                      <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>
                        <!-- <textarea
                        placeholder="请输入内容"
                        :autosize="{ minRows: 2 }"
                        style="width: 100%; height: 240px; resize: none"
                        v-model="changedate[index].remark"
                        v-on:input="change"
                      ></textarea> -->
                      </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>
                        <!-- <textarea
                        placeholder="请输入内容"
                        :autosize="{ minRows: 3}"
                        style="width: 100%; height: auto; resize: none"
                        v-model="item.jgbx"
                      ></textarea> -->
                      </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>
                        <!-- <textarea
      
                      placeholder="请输入内容"
                      style="width: 100%;  resize: none"
                      v-model="item.remark"
                    ></textarea> -->
                  </td>
                </tr>
                <tr
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                        placeholder="请输入内容"
                        style="width: 100%;  resize: none"
                        v-model="item.remark"
                      ></textarea> -->
                      </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 style="margin: 0 0px 10px 15px" v-if="tjproject != '1'">
                <el-button type="primary" @click="propoChange"
                  >快捷建议</el-button
                >
                  <td
                    style="
                      border: 1px solid #dfe6ec;
                      border-collapse: collapse;
                      width: 15%;
                    "
                <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%"
                  >
                    主检医师:
                  </td>
                  <td
                    style="border: 1px solid #dfe6ec; border-collapse: collapse"
                    colspan="2"
                  </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
                  >
                    {{ item.doctorName }}
                  </td>
                </tr>
              </table>
                </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"
                    >
                      <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
                                  ></el-input>
                                </div>
                                <div>
                                  内容:
                                  <el-input
                                    v-model="jianyi.nr"
                                    size="small"
                                    type="textarea"
                                    autosize
                                  ></el-input>
                                </div>
                              </div>
                            </div>
          <div style="margin: 0 0px 10px 15px" v-if="tjproject != '1'">
            <el-button type="primary" @click="propoChange">快捷建议</el-button>
            <el-button type="primary" @click="proposalChange"
              >生成建议</el-button
            >
          </div>
                            <!-- 如果 advices 为空时,渲染空的输入框 -->
                            <div v-else>
                              <div>
                                标题:
                                <el-input
                                  v-model="emptyAdvice.bt"
                                  size="small"
                                  type="textarea"
                                  autosize
                                ></el-input>
                              </div>
                              <div>
                                内容:
                                <el-input
                                  v-model="emptyAdvice.nr"
                                  size="small"
                                  type="textarea"
                                  autosize
                                ></el-input>
                              </div>
                            </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'">
                            <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"
                      >
                        <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
                                  ></el-input>
                                </div>
                                <div>
                                  内容:
                                  <el-input
                                    v-model="jianyi.nr"
                                    size="small"
                                    type="textarea"
                                    autosize
                                  ></el-input>
                                </div>
                              </div>
                            </div>
                            <!-- 如果 advices 为空时,渲染空的输入框 -->
                            <div v-else>
                              <div>
                                标题:
                                <el-input
                                  v-model="emptyAdvice.bt"
                                  size="small"
                                  type="textarea"
                                  autosize
                                ></el-input>
                              </div>
                              <div>
                                内容:
                                <el-input
                                  v-model="emptyAdvice.nr"
                                  size="small"
                                  type="textarea"
                                  autosize
                                ></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="检测项目"
                        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">
                        <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 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>
                    </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>
                    <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-input v-model="form.xiyanpinlv" placeholder="请输入吸烟频率" /> -->
                            <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-input v-model="form.yinjiupinlv" placeholder="请输入饮酒频率" /> -->
                            <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-input v-model="scope.row.isOk" placeholder="请输入是否痊愈" /> -->
                                <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-input v-model="scope.row.isOk" placeholder="请输入是否痊愈" /> -->
                                <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="determine"
                @click="addnew"
                :disabled="isdisabled"
                >提交并生成报告</el-button
                style="margin-top: 20px"
                >新增</el-button
              >
            </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"
                  >
                    <el-table-column type="expand">
                      <template slot-scope="props">
                        <div
                          v-if="
                            props.row.advices && props.row.advices.length > 0
                          "
                        >
                          <div
                            v-for="(jianyi, index1) in props.row.advices"
                            :key="index1"
                            style="padding: 0 10px; margin-bottom: 10px"
                          >
                            <div>标题:{{ jianyi.bt || "" }}</div>
                            <div>内容:{{ jianyi.nr || "" }}</div>
                          </div>
                        </div>
                        <div v-else style="padding: 0 10px">暂无内容</div>
                      </template>
                    </el-table-column>
                    <el-table-column
                      align="center"
                      label="检测项目"
                      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
                          v-if="
                            props.row.advices && props.row.advices.length > 0
                          "
                        >
                          <div
                            v-for="(jianyi, index1) in props.row.advices"
                            :key="index1"
                            style="padding: 0 10px; margin-bottom: 10px"
                          >
                            <div>标题:{{ jianyi.bt || "" }}</div>
                            <div>内容:{{ jianyi.nr || "" }}</div>
                          </div>
                        </div>
                        <div v-else style="padding: 0 10px">暂无内容</div>
                      </template>
                    </el-table-column>
                    <el-table-column
                      align="center"
                      label="检测项目"
                      width="232"
                    >
                      <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' }"
                  :stripe="true"
                >
                  <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>
          </div>
        </div>
      </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
                    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-input v-model="form.xiyanpinlv" placeholder="请输入吸烟频率" /> -->
                  <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-input v-model="form.yinjiupinlv" placeholder="请输入饮酒频率" /> -->
                  <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-input v-model="scope.row.isOk" placeholder="请输入是否痊愈" /> -->
                      <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-input v-model="scope.row.isOk" placeholder="请输入是否痊愈" /> -->
                      <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>
    </el-drawer>
     <el-dialog title="新增异常结果" :visible.sync="addNewDialogVisible" width="900px" class="custom-dialog">
      <el-form :model="newItem" ref="newItemForm" label-width="100px" class="custom-form">
        <el-form-item label="项目分类" prop="parentName">
          <el-select v-model="newItem.parentName" placeholder="请选择项目分类" clearable filterable
            @change="handleCategoryChange">
            <el-option v-for="item in projectCategories" :key="item.proId" :label="item.proName"
              :value="item.proName" />
          </el-select>
        </el-form-item>
        <el-form-item label="检测项目" prop="jcxm">
          <el-input v-model="newItem.jcxm" placeholder="请输入检测项目或从分类选择" clearable></el-input>
        </el-form-item>
        <el-form-item label="检测结果" prop="jcjg">
          <el-input v-model="newItem.jcjg" placeholder="请输入检测结果" clearable></el-input>
        </el-form-item>
        <el-form-item label="参考范围" prop="ckfw">
          <el-input v-model="newItem.ckfw" placeholder="请输入参考范围" clearable></el-input>
        </el-form-item>
        <el-form-item label="单位" prop="dw">
          <el-input v-model="newItem.dw" placeholder="请输入单位" clearable></el-input>
        </el-form-item>
        <!-- 动态建议组 -->
        <div v-for="(advice, index) in newItem.map" :key="index" class="advice-group">
          <el-form-item label="建议标题" :prop="'map.' + index + '.bt'">
            <el-input v-model="advice.bt" placeholder="请输入建议标题" clearable @focus="tan($event)"></el-input>
          </el-form-item>
          <el-form-item label="建议内容" :prop="'map.' + index + '.nr'">
            <el-input v-model="advice.nr" type="textarea" rows="3" placeholder="请输入建议内容" resize="none"
              @focus="tan($event)"></el-input>
          </el-form-item>
          <el-button v-if="index > 0" type="danger" size="small" @click="removeAdvice(index)"
            style="margin-left: 100px; margin-bottom: 10px;">删除</el-button>
        </div>
        <el-form-item>
          <el-button type="primary" size="small" @click="addAdvice" style="margin-left: 100px;">添加建议</el-button>
        </el-form-item>
      </el-form>
      <span slot="footer" class="dialog-footer">
        <el-button @click="addNewDialogVisible = false">取消</el-button>
        <el-button type="primary" @click="submitNewItem">确定</el-button>
      </span>
    </el-dialog>
     <el-dialog title="快捷建议选择" :visible.sync="showjianyi" width="1000px" class="custom-dialog"
      :before-close="handleCloseAdviceDialog">
      <!-- 搜索区域 -->
      <div style="margin-bottom: 15px;">
        <el-form :inline="true" @submit.native.prevent>
          <el-form-item label="建议名称">
            <el-input v-model="queryParams1.zyzd" placeholder="请输入建议名称进行筛选" clearable style="width: 200px"
              @input="filterAdvices(true)" @keyup.enter.native="filterAdvices(true)" />
          </el-form-item>
        </el-form>
      </div>
      <!-- 建议表格 -->
      <el-table v-loading="adviceLoading" :data="advicerulesList" ref="adviceTable" border highlight-current-row
        @current-change="handleCurrentChangeAdvice" style="max-height: 400px; overflow-y: auto;"
        :empty-text="adviceEmptyText">
        <el-table-column label="科室" prop="ks" width="100" align="center" />
        <el-table-column label="建议名称" prop="jymc" align="center" />
        <el-table-column label="建议内容" prop="jynr" align="center" />
      </el-table>
      <!-- 分页 -->
      <div class="pag">
        <div class="pag2">
          <pagination v-show="total1 > 0" :total="total1" :page.sync="queryParams1.pageNum"
            :limit.sync="queryParams1.pageSize" @pagination="filterAdvices(false)" />
        </div>
      </div>
      <!-- 底部按钮 -->
      <span slot="footer" class="dialog-footer">
        <el-button @click="cancelAdviceDialog">取消</el-button>
        <el-button type="primary" @click="applySelectedAdvice" :disabled="!selectedAdvice">确定</el-button>
      </span>
    </el-dialog>
    <el-dialog :visible.sync="xmopen" width="800px" append-to-body>
      <div style="margin: 20px">
        <el-table
          :data="datasList"
          ref="elTable"
          v-loading="loading"
          @selection-change="handlexmChange"
          border
          height="320px"
        >
          <el-table-column type="selection" width="40" align="center" />
          <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>
      </div>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitFormxm">确 定</el-button>
        <el-button @click="cancels">取 消</el-button>
      </div>
    </el-dialog>
    <el-dialog
      class="dia"
      title="PDF 预览"
      :visible.sync="dialogVisible"
      :close-on-click-modal="false"
      width="50%"
    >
      <div class="main">
        <iframe
@@ -1249,7 +1628,12 @@
    </el-dialog>
    <Packages ref="bbb" :baogao="baogao" />
    <Prescription ref="Pre" :preObj="preObj" />
    <proposal ref="proposal" :cusobj="cusobj" @event1="eventchange($event)" />
    <proposal
      ref="proposal"
      :cusobj="cusobj"
      :tjNumber="tjNumber"
      @event1="eventchange($event)"
    />
    <createproposal ref="createproposal" :creatobj="creatobj" />
    <el-dialog
@@ -1261,9 +1645,10 @@
    </el-dialog>
  </div>
</template>
<script>
import _ from 'lodash';
import jianqianwenzhen from "@/components/jianqianwenzhen";
import Packages from "@/components/Packages";
import Prescription from "@/components/Prescription";
@@ -1281,19 +1666,24 @@
  gettoPdf,
  getModified,
  isPdfOrJimu,
  addOrder,
  addOrder1,
  UpdFcPro,
  getFcList,
} 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 } from "@/api/doctor/check";
import { reportHistory, yichang, shanchu } from "@/api/doctor/check";
import { getPdf, revoke } from "@/api/hosp/order";
import { cSWebGetPro } from "@/api/doctor/examination";
import { cSWebGetPro, dataSynchronization } from "@/api/doctor/examination";
import ViewPdf from "@/components/ViewPdf";
import Historicalreport from "@/components/Historicalreport";
import { getDicts } from "@/api/system/dict/data";
import { getTjYxjcList } from "@/api/system/package";
import { getNewDateList } from "@/api/hosp/order";
import { getconfigKey } from "@/api/login";
import { listAdvicerules } from "@/api/hosp/advicerules";
import moment from "moment";
export default {
@@ -1321,17 +1711,24 @@
  data() {
    return {
      // 更新总检建议
      emptyAdvice: {
        bt: "",
        nr: "",
      },
      initialTotalCheckAdvice: "",
      initialState: "",
      preObj: {},
      baogao: [],
      flags: false,
      fcList: [],
      xmopen: false,
      datasList: [],
      advicerulesList: [],
      jianqianwenzhendata: [],
      jianqians: false,
      adviceLoading: false,
      sex: true,
      activeName: "1",
      wenzhen: false,
      hosproy: true,
      remarks: "",
      remark: "",
      creatobj: {},
@@ -1339,7 +1736,27 @@
      proIds: "",
      cusobj: {},
      xiaojie: "",
      selectedAdvice: null,
      isdisabled: false,
      showjianyi: false,
      addNewDialogVisible: false,
      adviceEmptyText: '暂无数据',
      total1: 0,
      adviceCache: new Map(),
      queryParams1: {
        pageNum: 1,
        pageSize: 10,
        zyzd: '',
      },
       newItem: {
        parentName: '',
        jcxm: '',
        jcjg: '',
        ckfw: '',
        dw: '',
        map: [{ bt: '', nr: '' }]
      },
      projectCategories: [],
      src: "",
      url: "",
      userId: "",
@@ -1398,6 +1815,8 @@
      selectLettercurrent: " ",
      // 抽屉打开方式
      drawer: false,
      isLoading: false,
      xmopen: false,
      tableAll: {},
      tjNumber: "",
      // 全部小结
@@ -1423,6 +1842,7 @@
      // 查询参数
      yichangList: [],
      statusList: [],
      xmChange: [],
      queryParam: {
        pageNum: 1,
        pageSize: 10,
@@ -1450,6 +1870,7 @@
      status1: 0, // 0展示异常1展示项目情况
      viewportHeight: 0,
      expends: [],
      clearTimeSet: null,
    };
  },
@@ -1467,6 +1888,236 @@
    });
  },
  methods: {
    tan(event) {
      this.activeAdviceIndex = event.target.closest('.advice-group')
        ? Array.from(event.target.closest('.el-form').querySelectorAll('.advice-group'))
          .indexOf(event.target.closest('.advice-group'))
        : 0;
      this.queryParams1.pageNum = 1;
      this.queryParams1.pageSize = 10;
      this.queryParams1.zyzd = '';
      this.selectedAdvice = null;
      this.advicerulesList = [];
      this.total1 = 0;
      this.adviceCache.clear();
      this.filterAdvices();
      this.showjianyi = true;
    },
    // 筛选快捷建议(防抖 800ms,带缓存和加载状态)
    filterAdvices: _.debounce(function (resetPage = false) {
      if (resetPage) {
        this.queryParams1.pageNum = 1;
      }
      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;
        this.total1 = cachedData.total;
        this.adviceEmptyText = this.advicerulesList.length === 0 ? '暂无匹配的建议' : '暂无数据';
        return;
      }
      this.adviceLoading = true;
      this.adviceEmptyText = '加载中...';
      listAdvicerules(this.queryParams1)
        .then((response) => {
          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) => {
          console.error('筛选快捷建议失败:', error);
          this.advicerulesList = [];
          this.total1 = 0;
          this.adviceEmptyText = '加载失败,请稍后重试';
          this.$message.error('加载建议失败,请检查网络后重试');
        })
        .finally(() => {
          this.adviceLoading = false;
        });
    }, 800),
     handleCurrentChangeAdvice(currentRow) {
      this.selectedAdvice = currentRow;
    },
    submitFormxm() {
      this.xmopen = false;
    },
    cancels() {
      this.xmopen = false;
      this.xmChange = [];
    },
    handleCategoryChange(value) {
      if (value) {
        this.newItem.jcxm = value;
      }
    },
    applySelectedAdvice() {
      if (this.selectedAdvice) {
        this.$set(this.newItem.map, this.activeAdviceIndex, {
          bt: this.selectedAdvice.jymc,
          nr: this.selectedAdvice.jynr,
        });
        this.showjianyi = false;
        this.selectedAdvice = null;
      } else {
        this.$message.warning('请先选择一条建议');
      }
    },
    handleCloseAdviceDialog(done) {
      if (this.selectedAdvice) {
        this.$confirm('您已选择一条建议,确定要关闭吗?', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning',
        })
          .then(() => {
            this.cancelAdviceDialog();
            done();
          })
          .catch(() => { });
      } else {
        this.cancelAdviceDialog();
        done();
      }
    },
    cancelAdviceDialog() {
      this.showjianyi = false;
      this.selectedAdvice = null;
      this.queryParams1.zyzd = '';
      this.queryParams1.pageNum = 1;
      this.advicerulesList = [];
      this.total1 = 0;
      this.adviceCache.clear();
    },
    setTime() {
      //设置定时器
      this.clearTimeSet = setInterval(() => {
        this.$modal.closeLoading();
      }, 300000);
    },
    tongbu(row) {
      this.$modal.loading("正在同步,请稍候...");
      this.setTime();
      let tjNumber = row.tjNumber;
      dataSynchronization(tjNumber)
        .then((res, error) => {
          if (res.code == 200) {
            this.clearTimeSet = null;
            this.$modal.closeLoading();
            this.$modal.msgSuccess("同步成功!");
          }
        })
        .catch((error) => {
          this.clearTimeSet = null;
          this.$modal.closeLoading();
        });
    },
    /*  shanchu(row) {
      console.log(row);
      shanchu({
        id: row.orderDetailId,
      }).then((res) => {
        console.log(res);
        // 找到要删除项所在的父级数组
        const parentItem = this.yichangList.find((item) =>
          item.sone.some((soneItem) => soneItem.proId === row.proId)
        );
        if (parentItem) {
          // 从父级的 sone 数组中删除该项
          const index = parentItem.sone.findIndex(
            (item) => item.proId === row.proId
          );
          if (index > -1) {
            parentItem.sone.splice(index, 1);
            // 如果删除后 sone 数组为空,则删除整个父级项
            if (parentItem.sone.length === 0) {
              const parentIndex = this.yichangList.indexOf(parentItem);
              if (parentIndex > -1) {
                this.yichangList.splice(parentIndex, 1);
              }
            }
            // 更新 expends 数组
            this.getExpends();
            this.$message.success("删除成功");
          }
        }
      });
    }, */
    shanchu(row) {
      this.isdisabled = true;
      shanchu({
        id: row.orderDetailId,
      })
        .then((res) => {
          console.log(res, 1111);
          if (res.code === 200) {
            const parentItem = this.yichangList.find((item) =>
              item.sone.some(
                (soneItem) => soneItem.orderDetailId === row.orderDetailId
              )
            );
            if (parentItem) {
              const index = parentItem.sone.findIndex(
                (item) => item.orderDetailId === row.orderDetailId
              );
              if (index > -1) {
                parentItem.sone.splice(index, 1);
                if (parentItem.sone.length === 0) {
                  const parentIndex = this.yichangList.indexOf(parentItem);
                  if (parentIndex > -1) {
                    this.yichangList.splice(parentIndex, 1);
                  }
                }
                this.getExpends();
                this.$forceUpdate();
                this.$message.success("删除成功");
              } else {
                this.$message.error("未找到要删除的子项");
              }
            } else {
              this.$message.error("未找到要删除的父项");
            }
          } else {
            this.$message.error("后端删除失败:" + (res.msg || "未知错误"));
          }
        })
        .catch((error) => {
          console.error("删除失败:", error);
          this.$message.error("删除操作失败:" + error.message);
        })
        .finally(() => {
          this.isdisabled = false;
        });
    },
    getConfigKey() {
      getconfigKey("sfkqtwbg").then((res) => {
        this.msgtuwen = res.msg;
@@ -1500,31 +2151,149 @@
        }
      });
    },
    fuchaxiangmu() {
      this.loading = true;
      this.status1 = 2;
      let data = {
        tjNum: this.tjNumber,
        type: 1,
      };
      getFcList(data)
        .then((res) => {
          this.fcList = res.data;
          this.fcList.forEach((item, index) => {
            item.newID = index + 1;
          });
        })
        .catch((error) => {
          console.error("获取复查项目失败:", error);
          this.$message.error("获取复查项目失败");
        })
        .finally(() => {
          this.loading = false;
        });
    },
    handleQuery() {
      this.xmopen = true;
      let data = {
        tjNum: this.tjNumber,
        type: 0,
      };
      getFcList(data).then((res) => {
        this.datasList = res.data;
      });
    },
    handleaddClick() {
      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();
        }
      });
    },
    handledeleteClick(row) {
      let data = {
        orderId: row.orderId,
        data: [
          {
            proId: row.proId,
            type: 0,
          },
        ],
      };
      UpdFcPro(data).then((res) => {
        if (res.code == 200) {
          this.fuchaxiangmu();
        }
      });
    },
    handlexmChange(selection) {
      this.xmChange = [];
      this.xmChange = selection;
      if (selection.length > 1) {
        let del_row = selection.shift();
        this.$refs.elTable.toggleRowSelection(del_row, false); //设置这一行取消选中
      }
    },
    submitFormxm() {
      this.xmopen = false;
    },
    cancels() {
      this.xmopen = false;
      this.xmChange = [];
    },
    guanbi() {
      this.drawer = false;
    },
    yichangjieguo() {
      this.isLoading = true;
      this.status1 = 0;
      let _this = this;
      yichang({
        tjNum: this.tjNumber,
      }).then((res) => {
        this.yichangList = res.data;
        this.getExpends();
        if (!this.yichangList) {
          this.$message({
            type: "warning ",
            message: "暂无异常报告",
      })
        .then((res) => {
          this.isLoading = false;
          this.yichangList = res.data;
          // console.log(this.yichangList, 3232);
          this.getExpends();
          this.yichangList.forEach((item) => {
            item.sone.forEach((soneItem) => {
              if (
                !Array.isArray(soneItem.advices) ||
                soneItem.advices.length === 0
              ) {
                // 如果 advices 是空,设置默认值
                soneItem.advices = [
                  {
                    bt: "",
                    nr: "",
                  },
                ];
              }
            });
          });
        }
      });
          if (!this.yichangList) {
            _this.$message({
              type: "warning ",
              message: "暂无异常报告",
            });
          }
        })
        .catch((error) => {
          this.isLoading = false;
          console.error("获取异常结果失败:", error);
          this.$message.error("获取异常结果失败");
        })
        .finally(() => {
          this.isLoading = false;
          this.loading = false;
        });
    },
    getdate() {
      getNewDateList().then((res) => {
        this.startTime = [
        /* this.startTime = [
          moment(res.data).format("YYYY-MM-DD 00:00:00"),
          moment(res.data).format("YYYY-MM-DD 23:59:00"),
        ];
        ]; */
        this.getList();
      });
    },
@@ -1618,7 +2387,10 @@
              setTimeout(() => {
                loading.close();
              }, 3000);
              this.$message.msgSuccess("报告正在生成,请两分钟后预览!");
              this.$message({
                message: "报告正在生成,请两分钟后预览!",
                type: "error",
              });
            } else {
              this.dialogVisible = true;
@@ -1681,8 +2453,6 @@
    historicalreport() {
      this.loading = true;
      this.wenzhen = false;
      this.hosproy = true;
      let data = {
        cusId: this.tableAll.cusId,
      };
@@ -1697,8 +2467,7 @@
    },
    medicalhistory() {
      this.wenzhen = true;
      this.hosproy = false;
      this.status1 = 3;
      let tjNumber = this.tableAll.tjNumber;
      getInfoById(tjNumber).then((response) => {
        this.formobj = response.data;
@@ -1776,11 +2545,16 @@
    },
    eventchange(data) {
      this.dataText = data;
      console.log(data, 6655);
      if (this.textarea1 == null) {
        this.textarea1 = "";
      }
      data.forEach((item) => {
      /* data.forEach((item) => {
        this.textarea1 += item.advice;
      }); */
      data.forEach((item) => {
        this.textarea1 += (item.advice || item.jynr || "") + "\n";
      });
    },
    proposalChange() {
@@ -1799,6 +2573,7 @@
      if (this.tjproject == "0") {
        getupdateCheckType(this.tjNumber).then((response) => {
          this.changedate = response.data;
          this.changedate.forEach((item) => {
            this.textarea1 = item.checkAdvice;
          });
@@ -1830,6 +2605,7 @@
          if (res.data) {
            // this.Testitems = res.data
            this.changedate = res.data;
            this.changedate.forEach((item) => {
              this.textarea1 = item.checkAdvice;
            });
@@ -1937,10 +2713,11 @@
      };
    },
    redxiangmu({ row }) {
      if (row.type == 0) {
      if (row.type != 1) {
        // 变颜色的条件
        return {
          color: "red", // 这个return的就是样式 可以是color 也可以是backgroundColor
          backgroundColor: "#AAD8DF !important", // 这个return的就是样式 可以是color 也可以是backgroundColor
          // color: "#AAD8DF ",
        };
      }
    },
@@ -1988,8 +2765,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) => {
@@ -2051,8 +2830,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++) {
@@ -2178,6 +2959,71 @@
      });
    },
    addAdvice() {
      this.newItem.map.push({ bt: '', nr: '' });
    },
     removeAdvice(index) {
      if (this.newItem.map.length > 1) {
        this.newItem.map.splice(index, 1);
      } else {
        this.$message.warning('至少保留一组建议');
      }
    },
    submitNewItem() {
      const data = {
        tjh: this.tableAll.tjNumber,
        parentName: this.newItem.parentName,
        jcxm: this.newItem.jcxm,
        jcjg: this.newItem.jcjg,
        ckfw: this.newItem.ckfw,
        dw: this.newItem.dw,
        map: this.newItem.map,
        jyjc: this.newItem.ckfw ? "0" : "1"
      };
      addOrder1(data).then((res) => {
        if (res.code === 200) {
          this.$message.success('新增异常结果成功');
          this.addNewDialogVisible = false;
          this.yichangjieguo();
        } else {
          this.$message.error('新增失败');
        }
      }).catch((error) => {
        console.error('新增异常结果失败:', error);
        this.$message.error('新增异常结果失败');
      });
    },
     addnew() {
      this.newItem = {
        parentName: '',
        jcxm: '',
        jcjg: '',
        ckfw: '',
        dw: '',
        map: [{ bt: '', nr: '' }]
      };
      this.addNewDialogVisible = true;
      cSWebGetPro(this.tjNumber).then((res) => {
        if (res.data && Array.isArray(res.data)) {
          this.projectCategories = res.data;
        } else {
          this.$message.warning('未获取到项目分类数据');
          this.projectCategories = [];
        }
      }).catch((error) => {
        console.error('获取项目分类失败:', error);
        this.$message.error('获取项目分类失败');
        this.projectCategories = [];
      });
    },
    cancel() {
      this.propdialog = false;
    },
@@ -2251,63 +3097,121 @@
    //   }
    // },
    change(vale) {},
    /*  determine() {
      let tjNumber = this.tableAll.tjNumber;
      let advice = this.textarea1;
      let data = {
        tjNumber,
        advice,
        checkStatus: 1,
      };
      this.loading = true;
      getTjdetailList(data).then((response) => {
        if (response.code === 200) {
          this.$modal.msgSuccess("提交成功");
          let tjNumber = this.tjNumber;
          let data = {
            userId: this.userId,
            tjNumber: tjNumber,
            state: 1,
            id: this.MsgId,
          };
          gettoPdf(tjNumber)
            .then((res) => {
              this.$modal.msgSuccess("已生成报告!请前往报告核收页面确认!");
            })
            .catch((error) => {
              this.$modal.msgError(
                "打印报告失败,请前往报告打印页面补打报告!"
              );
            })
          getfiedState(data).then((res) => {
            this.drawer = false;
          });
          this.queryParams.page = 1;
          this.queryParams.pageSize = 10;
          this.submitForm();
          this.$forceUpdate();
      });
      for (let i = 0; i < this.changedate.length; i++) {
        this.proIds = this.changedate[i].parentId;
        let remarks = this.changedate[i].remark;
        let updateOrderRemarkVos = [
          {
            tjNumber,
            proId: this.proIds.toString(),
            remarks,
          },
        ];
        getModified(updateOrderRemarkVos).then((response) => {});
      }
    // determine() {
    //   let tjNumber = this.tableAll.tjNumber;
    //   let tjh = this.tableAll.tjNumber;
    //   // let jyjc = this.yichangList.map(item => item.jyjc || null);
    //   let advice = this.textarea1;
    //   let data = {
    //     tjNumber,
    //     advice,
    //     checkStatus: 1,
    //   };
      // this.changedate.forEach((item) => {
      //   this.proIds = item.parentId;
      //   // this.remark = item.remark;
      // });
    }, */
    //   console.log(this.yichangList, 66);
    //   let dataList = this.yichangList
    //     .map((item) => {
    //       return item.sone.map((soneItem) => ({
    //         tjh,
    //         parentName: item.proName,
    //         jcxm: soneItem.proName,
    //         map: soneItem.advices,
    //         jyjc: item.jyjc, // assuming jyjc belongs to the outer item, not soneItem
    //         jcjg: soneItem.proResult,
    //         ckfw: soneItem.stanId,
    //         dw: soneItem.proAdvice,
    //       }));
    //     })
    //     .flat(); // 使用 flat() 方法将嵌套数组展平
    //   console.log(dataList, 777);
    //   /*  addOrder(dataList).then((res) => {
    //     console.log(res, 999);
    //   }); */
    //   getTjdetailList(data)
    //     .then((response) => {
    //       if (response.code === 200) {
    //         this.$modal.msgSuccess("提交成功");
    //         // 准备生成报告的请求数据
    //         let reportData = {
    //           userId: this.userId,
    //           tjNumber: tjNumber,
    //           state: 1,
    //           id: this.MsgId,
    //         };
    //         // 生成报告并保持 loading 打开
    //         const reportPromise = gettoPdf(tjNumber)
    //           .then((res) => {
    //             this.$modal.msgSuccess("已生成报告!请前往报告核收页面确认!");
    //           })
    //           .catch((error) => {
    //             this.$modal.msgError(
    //               "打印报告失败,请前往报告打印页面补打报告!"
    //             );
    //           });
    //         // 更新状态并提交修改请求
    //         const statePromise = getfiedState(reportData).then((res) => {
    //           this.drawer = false;
    //         });
    //         // const addOrderPromise = addOrder(dataList).then((res) => {
    //         //   console.log(res, 999);
    //         // });
    //         // 处理其他修改操作
    //         const updatePromises = this.changedate.map((item) => {
    //           this.proIds = item.parentId;
    //           let remarks = item.remark;
    //           let updateOrderRemarkVos = [
    //             {
    //               tjNumber,
    //               proId: this.proIds.toString(),
    //               remarks,
    //             },
    //           ];
    //           return getModified(updateOrderRemarkVos); // 返回 Promise
    //         });
    //         // 等待所有请求完成
    //         Promise.all([
    //           reportPromise,
    //           statePromise,
    //           // addOrderPromise,
    //           ...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);
    //           });
    //       } else {
    //         // 提交失败,关闭 loading
    //         this.loading = false;
    //       }
    //     })
    //     .catch((error) => {
    //       // 提交请求失败,关闭 loading
    //       this.loading = false;
    //       console.error("提交请求失败:", error);
    //     });
    // },
    determine() {
      let tjNumber = this.tableAll.tjNumber;
      let tjh = this.tableAll.tjNumber;
      let advice = this.textarea1;
      let data = {
        tjNumber,
@@ -2315,10 +3219,23 @@
        checkStatus: 1,
      };
      // 开始加载
      this.loading = true;
      console.log(this.yichangList, 6644);
      // 提交数据
      let dataList = this.yichangList
        .map((item) => {
          return item.sone.map((soneItem) => ({
            tjh,
            parentName: item.proName,
            jcxm: soneItem.proName,
            map: soneItem.advices,
            jyjc: item.jyjc,
            jcjg: soneItem.proResult,
            ckfw: soneItem.stanId,
            dw: soneItem.proAdvice,
          }));
        })
        .flat(); // 使用 flat() 方法将嵌套数组展平
      getTjdetailList(data)
        .then((response) => {
          if (response.code === 200) {
@@ -2332,51 +3249,62 @@
              id: this.MsgId,
            };
            // 生成报告并保持 loading 打开
            const reportPromise = gettoPdf(tjNumber)
            // 调用 addOrderPromise
            console.log(dataList, 5555);
            addOrder(dataList)
              .then((res) => {
                this.$modal.msgSuccess("已生成报告!请前往报告核收页面确认!");
                console.log(res, 999);
                if (res.code == 200) {
                  gettoPdf(tjNumber)
                    .then((res) => {
                      this.$modal.msgSuccess(
                        "已生成报告!请前往报告核收页面确认!"
                      );
                    })
                    .catch(() => {
                      this.$modal.msgError(
                        "打印报告失败,请前往报告打印页面补打报告!"
                      );
                    });
                  const statePromise = getfiedState(reportData).then(() => {
                    this.drawer = false;
                  });
                  const updatePromises = this.changedate.map((item) => {
                    this.proIds = item.parentId;
                    let remarks = item.remark;
                    let updateOrderRemarkVos = [
                      {
                        tjNumber,
                        proId: this.proIds.toString(),
                        remarks,
                      },
                    ];
                    return getModified(updateOrderRemarkVos); // 返回 Promise
                  });
                  // 等待所有请求完成
                  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) => {
                this.$modal.msgError(
                  "打印报告失败,请前往报告打印页面补打报告!"
                );
              });
            // 更新状态并提交修改请求
            const statePromise = getfiedState(reportData).then((res) => {
              this.drawer = false;
            });
            // 处理其他修改操作
            const updatePromises = this.changedate.map((item) => {
              this.proIds = item.parentId;
              let remarks = item.remark;
              let updateOrderRemarkVos = [
                {
                  tjNumber,
                  proId: this.proIds.toString(),
                  remarks,
                },
              ];
              return getModified(updateOrderRemarkVos); // 返回 Promise
            });
            // 等待所有请求完成
            Promise.all([reportPromise, statePromise, ...updatePromises])
              .then(() => {
                // 所有请求完成,关闭 loading
                // 如果 addOrderPromise 失败,处理错误
                this.loading = false;
                // 更新分页信息
                this.queryParams.page = 1;
                this.queryParams.pageSize = 10;
                this.submitForm();
                this.$forceUpdate();
              })
              .catch((error) => {
                // 处理错误情况
                this.loading = false;
                console.error("发生错误:", error);
                console.error("addOrderPromise 失败:", error);
              });
          } else {
            // 提交失败,关闭 loading
@@ -2396,25 +3324,33 @@
.mainbox {
  position: relative;
}
.btn {
  margin: 20px 0px;
}
.btnbox {
  display: flex;
  flex-direction: column;
  gap: 10px; /* 按钮之间的间距 */
  position: fixed; /* 使整个按钮区域固定在页面 */
  right: 0; /* 固定在页面右侧 */
  top: 20%; /* 初始位置 */
  gap: 10px;
  /* 按钮之间的间距 */
  position: fixed;
  /* 使整个按钮区域固定在页面 */
  right: 0;
  /* 固定在页面右侧 */
  top: 20%;
  /* 初始位置 */
  z-index: 10;
}
/* 每个按钮的样式 */
.btn1 {
  animation: fadeInUp 0.5s ease-out forwards; /* 按钮加载时的淡入动画 */
  animation: fadeInUp 0.5s ease-out forwards;
  /* 按钮加载时的淡入动画 */
  cursor: pointer;
  text-align: center;
}
.vertical-text {
  writing-mode: vertical-rl;
  text-orientation: upright;
@@ -2424,86 +3360,97 @@
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px) scale(0.5); /* 初始状态:透明且缩小 */
    transform: translateY(20px) scale(0.5);
    /* 初始状态:透明且缩小 */
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1); /* 最终状态:完全显示且正常大小 */
    transform: translateY(0) scale(1);
    /* 最终状态:完全显示且正常大小 */
  }
}
/* 每个按钮的位置和动画延迟 */
.btnbox > div:nth-child(1) {
  top: 20%; /* 第一个按钮的位置 */
  animation-delay: 0s; /* 无延迟 */
  top: 20%;
  /* 第一个按钮的位置 */
  animation-delay: 0s;
  /* 无延迟 */
}
.btnbox > div:nth-child(2) {
  top: 30%; /* 第二个按钮的位置 */
  top: 30%;
  /* 第二个按钮的位置 */
  animation-delay: 0.2s;
}
.btnbox > div:nth-child(3) {
  top: 40%; /* 第三个按钮的位置 */
  top: 40%;
  /* 第三个按钮的位置 */
  animation-delay: 0.4s;
}
.btnbox > div:nth-child(4) {
  top: 50%; /* 第四个按钮的位置 */
  top: 50%;
  /* 第四个按钮的位置 */
  animation-delay: 0.6s;
}
.btnbox > div:nth-child(5) {
  top: 60%; /* 第五个按钮的位置 */
  top: 60%;
  /* 第五个按钮的位置 */
  animation-delay: 0.8s;
}
.btnbox > div:nth-child(6) {
  top: 70%; /* 第六个按钮的位置 */
  top: 70%;
  /* 第六个按钮的位置 */
  animation-delay: 1s;
}
.main {
  height: 800px;
  overflow: hidden;
  height: 80vh; // 改为使用视窗高度
  min-height: 600px; // 设置最小高度
  overflow: auto; // 改为auto允许滚动
}
#printIframe::-webkit-scrollbar {
// 优化滚动条样式
.main::-webkit-scrollbar {
  width: 6px;
}
/* 修改 滚动条的 下面 的 样式 */
#printIframe::-webkit-scrollbar-track {
.main::-webkit-scrollbar-track {
  background-color: white;
  -webkit-border-radius: 2em;
  -moz-border-radius: 2em;
  border-radius: 2em;
}
/* 修改 滑块 */
#printIframe::-webkit-scrollbar-thumb {
.main::-webkit-scrollbar-thumb {
  background-color: #dcdfe6;
  -webkit-border-radius: 2em;
  -moz-border-radius: 2em;
  border-radius: 2em;
}
::v-deep .el-dialog {
  width: 1700px;
  height: 900px;
  margin-top: 5vh !important; // 调整对话框位置
}
::v-deep .el-dialog__header{
::v-deep .el-dialog__header {
  padding: 8px;
}
::v-deep .el-dialog__body{
padding: 0;
::v-deep .el-dialog__body {
  padding: 0;
}
::v-deep .el-button--medium {
  padding: 10px;
}
::v-deep .el-dialog__headerbtn{
::v-deep .el-dialog__headerbtn {
  // position: relative;
  top: 13px;
}
/* .el-dialog {
  width: 1264px;
  height: 800px;
@@ -2537,9 +3484,11 @@
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000; /* 确保按钮层级在其他内容上方 */
  z-index: 1000;
  /* 确保按钮层级在其他内容上方 */
  width: 300px;
  background-color: white; /* 可根据需要调整背景颜色 */
  background-color: white;
  /* 可根据需要调整背景颜色 */
}
/* 确保按钮之间有合适的间距 */
@@ -2552,26 +3501,66 @@
  border: none;
  outline: none;
}
.box {
  display: flex;
  height: calc(100% - 160px);
  margin-top: 20px;
  overflow: hidden;
}
  height: 100vh;
.left-container {
  flex: 1;
  margin-right: 10px;
  overflow: hidden;
}
.left {
  height: 100%;
  padding: 0 10px;
  overflow-y: scroll; // 改为 scroll 而不是 auto
  &::-webkit-scrollbar {
    width: 8px; // 增加宽度使其更容易看见
    background-color: #f5f5f5;
    display: block; // 确保显示
  }
  &::-webkit-scrollbar-thumb {
    background: #909399;
    border-radius: 4px;
  }
  &::-webkit-scrollbar-track {
    background: #f5f5f5;
    border-radius: 4px;
  }
}
.rightbox {
  margin-left: 60px;
  position: fixed;
  top: 107px;
  right: 56px;
  width: 684px;
  width: 700px;
  overflow: hidden;
}
  .right {
    background-color: #fff;
    // box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    z-index: 10;
    max-height: calc(100vh - 100px); /* 假设你想为顶部和底部留出一些空间 */
    overflow-y: auto; /* 允许垂直滚动 */
    padding: 0 0 50px; /* 可选:添加一些内边距以避免内容紧贴边缘 */
.right {
  height: 100%;
  padding: 0 10px;
  overflow-y: scroll; // 改为 scroll 而不是 auto
  &::-webkit-scrollbar {
    width: 8px; // 增加宽度
    background-color: #f5f5f5;
    display: block; // 确保显示
  }
  &::-webkit-scrollbar-thumb {
    background: #909399;
    border-radius: 4px;
  }
  &::-webkit-scrollbar-track {
    background: #f5f5f5;
    border-radius: 4px;
  }
}
@@ -2582,6 +3571,7 @@
  background-color: #fff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  display: flex;
  .el-icon-close {
    cursor: pointer;
    font-size: 30px;
@@ -2591,18 +3581,72 @@
    color: rgb(24, 144, 255);
  }
}
.pag2 {
  width: auto;
  /* 移除固定宽度,让分页器根据内容自适应 */
  min-width: 750px;
  /* 设置最小宽度,确保分页器不会太窄 */
  text-align: center;
  /* 确保分页器内部元素居中 */
}
.custom-dialog {
  ::v-deep .el-dialog__header {
    padding: 15px 20px;
    background-color: #f5f7fa;
    border-bottom: 1px solid #e8ecef;
  }
  ::v-deep .el-dialog__title {
    font-size: 18px;
    color: #303133;
    font-weight: 600;
  }
  ::v-deep .el-dialog__body {
    padding: 20px; // 增加内边距
    background-color: #fff;
  }
  ::v-deep .el-dialog__footer {
    padding: 10px 20px;
    border-top: 1px solid #e8ecef;
    text-align: right;
  }
  .custom-form {
    .advice-group {
      border: 1px solid #e8ecef;
      border-radius: 4px;
      padding: 10px;
      margin-bottom: 15px;
      background-color: #f9fbfc;
      .el-form-item {
        margin-bottom: 15px;
      }
      .el-button {
        margin-top: 5px;
      }
    }
  }
}
.kong {
  box-shadow: none;
}
::v-deep .el-table--medium .el-table__cell {
  padding: 5px 0;
}
::-webkit-scrollbar {
  display: none;
}
::v-deep .el-drawer {
  padding: 0 0 50px;
}
</style>