lkk
2024-11-27 e17811c1d7b1e6318af32a366d23bd586750b6d2
src/views/doctor/checkAll/index.vue
@@ -68,7 +68,11 @@
        </el-select>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" size="mini" @click="submitForm"
        <el-button
          type="primary"
          size="mini"
          @click="submitForm"
          style="margin-right: 15px"
          >搜索</el-button
        >
        <el-button size="mini" @click="resetQuery">重置</el-button>
@@ -91,6 +95,7 @@
        ref="table"
        border
        style="margin: 20px; width: 98%"
        @current-change="handleCurrentChange"
      >
        <!-- <template slot="empty">数据正在加载中</template> -->
        <el-table-column
@@ -182,17 +187,25 @@
          <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="详情"
              type="text"
              size="mini"
              @click="handleClick(scope.row)"
              @click.stop="handleClick(scope.row)"
              icon="el-icon-document-copy"
            ></el-button>
            <!-- <el-button type="text" size="mini" @click="generate(scope.row)" v-if="scope.row.tjStatus=='1'">生成</el-button> -->
            <el-button
              type="text"
              size="mini"
              @click="viewReport(scope.row)"
              @click.stop="viewReport(scope.row)"
              v-if="scope.row.tjStatus == '1'"
              title="预览"
              icon="el-icon-view"
@@ -202,7 +215,7 @@
              size="mini"
              v-if="scope.row.tjStatus == '1'"
              title="撤销"
              @click="getRevoke(scope.row)"
              @click.stop="getRevoke(scope.row)"
              icon="el-icon-refresh-left"
            ></el-button>
          </template>
@@ -216,7 +229,7 @@
            :total="total"
            :page.sync="queryParams.page"
            :limit.sync="queryParams.pageSize"
            @pagination="getList"
            @pagination="submitForm"
          />
        </div>
      </div>
@@ -230,69 +243,87 @@
      :with-header="false"
      size="80%"
    >
      <div style="font-size: 14px">
        <table
          style="
            width: 96%;
            margin: 10px 10px;
            border: 1px solid #dfe6ec;
            border-collapse: collapse;
          "
          cellspacing="4"
        >
          <caption style="background-color: #f8f8f9; font-size: 18px">
            {{
              tableAll.cusName
            }}的体检资料
          </caption>
          <tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              姓名:
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              {{ tableAll.cusName }}
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              性别:
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              {{
                tableAll.cusSex == 0
                  ? "男"
                  : tableAll.cusSex == 1
                  ? "女"
                  : "未知"
              }}
            </td>
          </tr>
          <tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
            <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>
      </div>
      <div>
        <el-row>
          <el-col :span="18">
            <div style="margin: 10px 10px">
              <el-radio-group
                v-model="tjproject"
                @input="radiotjprojectChange"
                style="margin-left: 20px"
            <div style="font-size: 14px">
              <table
                style="
                  width: 98%;
                  margin: 10px 10px;
                  border: 1px solid #dfe6ec;
                  border-collapse: collapse;
                "
                cellspacing="4"
              >
                <el-radio-button label="0">体检项目</el-radio-button>
                <el-radio-button label="1">化验项目</el-radio-button>
              </el-radio-group>
                <caption style="background-color: #f8f8f9; font-size: 18px">
                  {{
                    tableAll.cusName
                  }}的体检资料
                </caption>
                <tr
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    height: 36px;
                  "
                >
                  <td
                    style="border: 1px solid #dfe6ec; border-collapse: collapse"
                  >
                    姓名:
                  </td>
                  <td
                    style="border: 1px solid #dfe6ec; border-collapse: collapse"
                  >
                    {{ tableAll.cusName }}
                  </td>
                  <td
                    style="border: 1px solid #dfe6ec; border-collapse: collapse"
                  >
                    性别:
                  </td>
                  <td
                    style="border: 1px solid #dfe6ec; border-collapse: collapse"
                  >
                    {{
                      tableAll.cusSex == 0
                        ? "男"
                        : tableAll.cusSex == 1
                        ? "女"
                        : "未知"
                    }}
                  </td>
                </tr>
                <tr
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    height: 36px;
                  "
                >
                  <td
                    style="border: 1px solid #dfe6ec; border-collapse: collapse"
                  >
                    体检单号:
                  </td>
                  <td
                    style="border: 1px solid #dfe6ec; border-collapse: collapse"
                  >
                    {{ tableAll.tjNumber }}
                  </td>
                  <td
                    style="border: 1px solid #dfe6ec; border-collapse: collapse"
                  >
                    体检时间:
                  </td>
                  <td
                    style="border: 1px solid #dfe6ec; border-collapse: collapse"
                  >
                    {{ tableAll.tjTime }}
                  </td>
                </tr>
              </table>
            </div>
          </el-col>
          <el-col :span="6">
@@ -330,227 +361,221 @@
          <div
            style="font-size: 14px; overflow-y: auto; height: calc(100% - 11%)"
          >
            <table
              style="
                width: 96%;
                margin: 10px 10px;
                border: 1px solid #dfe6ec;
                border-collapse: collapse;
              "
              cellspacing="4"
            <div
              v-for="(item, index) in changedate"
              :key="index"
              style="margin-left: 10px"
            >
              <caption style="background-color: #f8f8f9">
                {{
                  item.parent || ""
                }}
              </caption>
              <tr
                style="border: 1px solid #dfe6ec; border-collapse: collapse"
                align="center"
              >
                <th
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                >
                  检测项目
                </th>
                <th
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                >
                  检测结果
                </th>
                <th
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                >
                  单位
                </th>
                <th
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                >
                  参考范围
                </th>
              </tr>
              <tr
              <div
                style="
                  border: 1px solid #dfe6ec;
                  border-collapse: collapse;
                  width: 200px;
                  height: 35px;
                  text-align: center;
                "
                v-for="item1 in item.sons"
                :key="item1.proId"
              >
                <td
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                  v-if="item1.project != null"
                >
                  {{ item1.project.proName || "" }}
                </td>
                <td
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                  v-else
                >
                  {{ item1.proName }}
                </td>
                <td
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                >
                  {{ item1.proResult }}
                  <!-- <el-input v-model="item1.proResult" placeholder="请输入内容"></el-input> -->
                </td>
                <td
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                  v-if="item1.project != null"
                >
                  {{ item1.standard.company }}
                </td>
                <td
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                  v-else
                >
                  {{ item1.proAdvice }}
                </td>
                <td
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                  v-if="item1.project != null"
                >
                  {{
                    item1.standard.tjStandardGtValue +
                    "-" +
                    item1.standard.tjStandardLtValue
                  }}
                </td>
                <td
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                  v-else
                >
                  {{ item1.stanId }}
                </td>
              </tr>
              <tr
                style="
                  border: 1px solid #dfe6ec;
                  border-collapse: collapse;
                  width: 200px;
                  background-color: #aad8df;
                  margin-top: 10px;
                "
              >
                <td>小结:</td>
                <td
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                {{ 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-input v-model="item.remark" disabled></el-input>
                  <!-- <el-select v-model="item.value" multiple filterable placeholder="请选择" style="width: 100%" @change="xiAoJieChange($event, item)">
                  <el-table-column align="center" label="检测项目" width="240">
                    <template slot-scope="scope">
                      <div>{{ scope.row.proName }}</div>
                    </template>
                  </el-table-column>
                  <el-table-column
                    align="center"
                    prop="proResult"
                    label="检测结果"
                    width="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>
                      <!-- <el-select v-model="item.value" multiple filterable placeholder="请选择" style="width: 100%" @change="xiAoJieChange($event, item)">
                <el-option v-for="item1 in item.parentAdvice" :key="item1.id" :label="item1.title" :value="item1.id">
                </el-option>
              </el-select> -->
                </td>
                <td
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                >
                  主检医师:
                </td>
                <td
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                >
                  {{ 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: 200px;
                  "
                >
                  备注:
                </td>
                <td
                  style="
                    border: 1px solid #dfe6ec;
                    border-collapse: collapse;
                    width: 200px;
                  "
                  colspan="2"
                >
                  <textarea
                    placeholder="请输入内容"
                    :autosize="{ minRows: 2, maxRows: 2 }"
                    style="width: 100%; height: 100%"
                    v-model="changedate[index].remark"
                    v-on:input="change"
                  ></textarea>
                  <!-- <el-input type="textarea" autosize >
                    </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"
                    >
                      <textarea
                        placeholder="请输入内容"
                        :autosize="{ minRows: 2, maxRows: 2 }"
                        style="width: 100%; height: 100%; resize: none"
                        v-model="changedate[index].remark"
                        v-on:input="change"
                      ></textarea>
                      <!-- <el-input type="textarea" autosize >
              </el-input> -->
                </td>
              </tr>
            </table>
            <div style="margin: 0 0px 10px 15px">
                    </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: 52px;
                      "
                    >
                      检查所见:
                    </td>
                    <td
                      style="border: 1px solid #dfe6ec; height: 52px"
                      colspan="2"
                    >
                      <textarea
                        placeholder="请输入内容"
                        :autosize="{ minRows: 3, maxRows: 4 }"
                        style="width: 100%; height: 100%; 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 v-model="item.remark"></el-input> -->
                      <textarea
                        placeholder="请输入内容"
                        :autosize="{ minRows: 2, maxRows: 3 }"
                        style="width: 100%; height: 100%; resize: none"
                        v-model="item.remark"
                      ></textarea>
                    </td>
                  </tr>
                  <tr
                    style="
                      border: 1px solid #dfe6ec;
                      border-collapse: collapse;
                      width: 200px;
                      height: 36px;
                    "
                  >
                    <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
              >
@@ -563,6 +588,7 @@
              ref="numberValidateForm"
              label-width="80px"
              class="demo-ruleForm"
              v-if="tjproject != '1'"
            >
              <el-form-item label="总检建议">
                <el-input
@@ -575,13 +601,23 @@
                </el-input>
              </el-form-item>
            </el-form>
            <div slot="footer" class="dialog-footers" v-if="tjproject == '0'">
            <div slot="footer" class="dialog-footers">
              <el-button
                v-if="tjproject == '0'"
                type="primary"
                @click="determine"
                :disabled="isdisabled"
                >提交并生成报告</el-button
                size="mini"
                @click.stop="rowClick"
                icon="el-icon-edit-outline"
                >开处方</el-button
              >
              <div v-if="tjproject == '0'" style="padding-left: 10px">
                <el-button
                  type="primary"
                  @click="determine"
                  :disabled="isdisabled"
                  >提交并生成报告</el-button
                >
              </div>
            </div>
          </div>
        </el-col>
@@ -1047,8 +1083,9 @@
      </span>
    </el-dialog>
    <Packages ref="bbb" :baogao="baogao" />
    <Prescription ref="Pre" :preObj="preObj" />
    <proposal ref="proposal" :cusobj="cusobj" @event1="eventchange($event)" />
    <createproposal ref="createproposal" :textarea1="textarea1" />
    <createproposal ref="createproposal" :creatobj="creatobj" />
    <el-dialog
      title="常用建议维护"
@@ -1064,6 +1101,7 @@
<script>
import jianqianwenzhen from "@/components/jianqianwenzhen";
import Packages from "@/components/Packages";
import Prescription from "@/components/Prescription";
import proposal from "@/components/proposal";
import createproposal from "@/components/createproposal";
import {
@@ -1098,6 +1136,7 @@
    Packages,
    proposal,
    createproposal,
    Prescription,
  },
  dicts: [
    "dict_tjtype",
@@ -1113,6 +1152,10 @@
  name: "checkAll",
  data() {
    return {
      // 更新总检建议
      initialTotalCheckAdvice: "",
      initialState: "",
      preObj: {},
      baogao: [],
      flags: false,
      jianqianwenzhendata: [],
@@ -1123,6 +1166,7 @@
      hosproy: true,
      remarks: "",
      remark: "",
      creatobj: {},
      propdialog: false,
      proIds: "",
      cusobj: {},
@@ -1468,10 +1512,22 @@
      });
    },
    rowClick(row) {
      if (row.tjNumber) {
        this.preObj = row;
      } else {
        this.preObj = this.tableAll;
      }
      this.$refs.Pre.open = true;
      this.$refs.Pre.title = "处方";
    },
    // 单选按钮
    radioChange(value) {
      this.loading = true;
      this.queryParams.checkStatus = value;
      this.queryParams.page = 1;
      this.queryParams.pageSize = 10;
      getcheckList(this.queryParams).then((response) => {
        if (response.data) {
          this.checkList = response.data.customers;
@@ -1483,26 +1539,30 @@
      });
    },
    propoChange() {
      this.cusobj = { sex: this.tableAll.cusSex, isZj: 1 };
      this.cusobj = { sex: this.tableAll.cusSex, isZj: 0 };
      this.$refs.proposal.open = true;
      this.$refs.proposal.title = "建议方案";
      // this.$refs.proposal.getList();
    },
    eventchange(data) {
      this.dataText = data
      this.dataText = data;
      if (this.textarea1 == null) {
        this.textarea1 = "";
      }
      data.forEach((item) => {
        this.textarea1 += item.advice;
      });
    },
    proposalChange() {
      if (this.textarea1) {
        this.creatobj = { proParentList: this.textarea1, isZj: 0 };
        this.$refs.createproposal.open = true;
        this.$refs.createproposal.title = "常用建议维护";
      }else{
      } else {
        this.$message({
              type: "warning ",
              message: "请先填写总检建议",
            });
          type: "warning ",
          message: "请先填写总检建议",
        });
      }
    },
    radiotjprojectChange() {
@@ -1518,14 +1578,14 @@
            }
            this.changedate.forEach((item) => {
              // this.remark = item.remark;
              item.sons.forEach((item3) => {
                if (item3.standard.tjStandardGtValue === null) {
                  item3.standard.tjStandardGtValue = "";
                }
                if (item3.standard.tjStandardLtValue === null) {
                  item3.standard.tjStandardLtValue = "";
                }
              });
              // item.sons.forEach((item3) => {
              //   if (item3.standard.tjStandardGtValue === null) {
              //     item3.standard.tjStandardGtValue = "";
              //   }
              //   if (item3.standard.tjStandardLtValue === null) {
              //     item3.standard.tjStandardLtValue = "";
              //   }
              // });
              // item.remark = "";
            });
          } else {
@@ -1550,12 +1610,12 @@
              this.changedate.forEach((item) => {
                // this.remark = item.remark;
                item.sons.forEach((item3) => {
                  if (item3.standard.tjStandardGtValue === null) {
                    item3.standard.tjStandardGtValue = "";
                  }
                  if (item3.standard.tjStandardLtValue === null) {
                    item3.standard.tjStandardLtValue = "";
                  }
                  // if (item3.standard.tjStandardGtValue === null) {
                  //   item3.standard.tjStandardGtValue = "";
                  // }
                  // if (item3.standard.tjStandardLtValue === null) {
                  //   item3.standard.tjStandardLtValue = "";
                  // }
                });
                // item.remark = "";
              });
@@ -1598,6 +1658,7 @@
    // 搜索
    submitForm() {
      console.log(this.tjStatus);
      this.loading = true;
      this.queryParams.compId = this.CheckBox.drugManufacturerId;
      this.queryParams.checkStatus = this.tjStatus;
@@ -1632,20 +1693,42 @@
      this.resetForm("tableList");
      this.submitForm();
    },
    changRed({ row }) {
      if (row.ycbz != "" && row.ycbz != null) {
        // 变颜色的条件
        return {
          color: "red", // 这个return的就是样式 可以是color 也可以是backgroundColor
        };
      }
    },
    /*  changRed(row) {
      if (row.label === "↑") {
        return {
          color: "green", // 设置上箭头为绿色
        };
      } else if (row.label === "↓") {
        return {
          color: "red", // 设置下箭头为红色
        };
      }
      // 默认颜色
      return {
        color: "black",
      };
    }, */
    handleCurrentChange(val) {
      if (val != null) {
        this.handleClick(val);
      }
    },
    // 点击详情
    handleClick(row) {
      this.$refs.Pre.open = false;
      this.tableAll = row;
      this.tjproject = "0";
      // if (this.tableAll.cusSex === 0) {
      //   this.tableAll.cusSex = "男";
      // }
      // if (this.tableAll.cusSex === 1) {
      //   this.tableAll.cusSex = "女";
      // }
      // if (this.tableAll.cusSex === 2) {
      //   this.tableAll.cusSex = "未知";
      // }
      this.tjNumber = this.tableAll.tjNumber;
      getState(this.tjNumber).then((res) => {
        this.status = res.data;
@@ -1665,22 +1748,30 @@
                  this.changedate = response.data;
                  if (this.changedate) {
                    this.changedate.forEach((item) => {
                      this.textarea1 = item.checkAdvice;
                      this.textarea1 = item.checkAdvice || "";
                    });
                    // 这里设置初始值
                    this.initialTotalCheckAdvice = this.textarea1; // 保存总检建议
                    // 保存初始状态
                    this.initialState = JSON.parse(
                      JSON.stringify(this.changedate)
                    );
                    for (let i = 0; i < this.changedate.length; i++) {
                      this.remark = this.changedate[i].remark;
                    }
                    this.changedate.forEach((item) => {
                      // this.remark = item.remark;
                      item.sons.forEach((item3) => {
                        if (item3.standard.tjStandardGtValue === null) {
                          item3.standard.tjStandardGtValue = "";
                        }
                        if (item3.standard.tjStandardLtValue === null) {
                          item3.standard.tjStandardLtValue = "";
                        }
                      });
                      // item.remark = "";
                      // item.sons.forEach((item3) => {
                      //   if (item3.standard.tjStandardGtValue === null) {
                      //     item3.standard.tjStandardGtValue = "";
                      //   }
                      //   if (item3.standard.tjStandardLtValue === null) {
                      //     item3.standard.tjStandardLtValue = "";
                      //   }
                      // });
                    });
                  } else {
                    this.$message({
@@ -1720,20 +1811,29 @@
                        for (let i = 0; i < this.changedate.length; i++) {
                          this.remark = this.changedate[i].remark;
                        }
                        this.initialState = JSON.parse(
                          JSON.stringify(this.changedate)
                        );
                        this.changedate.forEach((item) => {
                          this.textarea1 = item.checkAdvice;
                          this.textarea1 = item.checkAdvice || "";
                          // this.remark = item.remark;
                          item.sons.forEach((item3) => {
                            if (item3.standard.tjStandardGtValue === null) {
                              item3.standard.tjStandardGtValue = "";
                            }
                            if (item3.standard.tjStandardLtValue === null) {
                              item3.standard.tjStandardLtValue = "";
                            }
                          });
                          // item.sons.forEach((item3) => {
                          //   if (item3.standard.tjStandardGtValue === null) {
                          //     item3.standard.tjStandardGtValue = "";
                          //   }
                          //   if (item3.standard.tjStandardLtValue === null) {
                          //     item3.standard.tjStandardLtValue = "";
                          //   }
                          // });
                          // item.remark = "";
                        });
                        // 保存总检建议
                        this.totalCheckAdvice = this.changedate.map(
                          (item) => item.totalCheckAdvice
                        );
                      } else {
                        this.$message({
                          type: "warning ",
@@ -1784,28 +1884,44 @@
      if (this.loading) {
        return;
      }
      this.$confirm("确定要提交吗?")
        .then((_) => {
          this.loading = true;
          this.timer = setTimeout(() => {
            done();
            this.determine();
            // 动画关闭需要一定的时间
            setTimeout(() => {
              this.loading = false;
            }, 400);
          }, 2000);
        })
        .catch((_) => {
          this.drawer = false;
          let data = {
            userId: this.userId,
            tjNumber: this.tjNumber,
            state: 1,
            id: this.MsgId,
          };
          getfiedState(data).then((res) => {});
        });
      // 检查是否有修改
      let isModified =
        JSON.stringify(this.changedate) !== JSON.stringify(this.initialState) ||
        (this.textarea1 !== this.initialTotalCheckAdvice &&
          this.textarea1 !== null);
      console.log("Initial Total Check Advice:", this.initialTotalCheckAdvice);
      console.log("Current textarea1:", this.textarea1);
      if (isModified) {
        // 如果有修改,弹出确认框
        this.$confirm("检测内容有修改,确定要提交吗?")
          .then(() => {
            this.loading = true;
            this.timer = setTimeout(() => {
              done();
              this.determine();
              setTimeout(() => {
                this.loading = false;
              }, 400);
            }, 2000);
          })
          .catch(() => {
            // 用户取消操作
            this.drawer = false;
            let data = {
              userId: this.userId,
              tjNumber: this.tjNumber,
              state: 1,
              id: this.MsgId,
            };
            getfiedState(data).then((res) => {});
            this.submitForm();
          });
      } else {
        // 如果没有修改,直接关闭
        done();
      }
    },
    handleClose1() {
      this.jianqians = false;
@@ -1831,10 +1947,8 @@
    //     });
    //   }
    // },
    change(vale) {
      // console.log(this.changedate[index].remark);
    },
    determine() {
    change(vale) {},
   /*  determine() {
      let tjNumber = this.tableAll.tjNumber;
      let advice = this.textarea1;
      let data = {
@@ -1842,6 +1956,7 @@
        advice,
        checkStatus: 1,
      };
      this.loading = true;
      getTjdetailList(data).then((response) => {
        if (response.code === 200) {
          this.$modal.msgSuccess("提交成功");
@@ -1852,13 +1967,22 @@
            state: 1,
            id: this.MsgId,
          };
          gettoPdf(tjNumber).then((res) => {
            this.$modal.msgSuccess("已生成报告!请前往报告核收页面确认!");
          });
          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++) {
@@ -1873,12 +1997,94 @@
        ];
        getModified(updateOrderRemarkVos).then((response) => {});
      }
      this.submitForm();
      this.$forceUpdate();
      // this.changedate.forEach((item) => {
      //   this.proIds = item.parentId;
      //   // this.remark = item.remark;
      // });
    }, */
    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 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 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
                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);
        });
    },
  },
};
@@ -1940,7 +2146,8 @@
.dialog-footers {
  /* margin-top: 5px; */
  margin-left: calc(100% - 15%);
  display: flex;
  margin-left: calc(100% - 25%);
}
textarea {