1
wwl
2025-01-22 c247686f83047948c58da0bbe3b763b95b14a757
src/views/doctor/checkAll/index.vue
@@ -190,7 +190,12 @@
            />
          </template>
        </el-table-column>
        <el-table-column label="操作" align="center" width="120px" fixed="right">
        <el-table-column
          label="操作"
          align="center"
          width="120px"
          fixed="right"
        >
          <template slot-scope="scope">
            <el-button
              fixed="right"
@@ -397,6 +402,12 @@
                    <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">
@@ -644,21 +655,60 @@
                  >
                    <el-table-column type="expand">
                      <template slot-scope="props">
                        <div
                          v-if="
                            props.row.advices && props.row.advices.length > 0
                          "
                        >
                        <div>
                          <div
                            v-for="(jianyi, index1) in props.row.advices"
                            :key="index1"
                            style="padding: 0 10px; margin-bottom: 10px"
                            v-if="
                              props.row.advices && props.row.advices.length > 0
                            "
                          >
                            <div>标题:{{ jianyi.bt || "" }}</div>
                            <div>内容:{{ jianyi.nr || "" }}</div>
                            <div
                              v-for="(jianyi, index1) in props.row.advices"
                              :key="index1"
                              style="padding: 0 10px; 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>
                        <div v-else style="padding: 0 10px">暂无内容</div>
                      </template>
                    </el-table-column>
@@ -709,21 +759,61 @@
                  >
                    <el-table-column type="expand">
                      <template slot-scope="props">
                        <div
                          v-if="
                            props.row.advices && props.row.advices.length > 0
                          "
                        >
                        <div>
                          <!-- 如果 advices 非空,渲染其内容 -->
                          <div
                            v-for="(jianyi, index1) in props.row.advices"
                            :key="index1"
                            style="padding: 0 10px; margin-bottom: 10px"
                            v-if="
                              props.row.advices && props.row.advices.length > 0
                            "
                          >
                            <div>标题:{{ jianyi.bt || "" }}</div>
                            <div>内容:{{ jianyi.nr || "" }}</div>
                            <div
                              v-for="(jianyi, index1) in props.row.advices"
                              :key="index1"
                              style="padding: 0 10px; 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>
                        <div v-else style="padding: 0 10px">暂无内容</div>
                      </template>
                    </el-table-column>
@@ -763,7 +853,6 @@
                  :data="statusList"
                  style="width: 100%"
                  :header-cell-style="{ background: '#e6a23c' }"
                  :stripe="true"
                >
                  <el-table-column
                    align="center"
@@ -1281,6 +1370,7 @@
  gettoPdf,
  getModified,
  isPdfOrJimu,
  addOrder,
} from "@/api/doctor/checkAll";
import { getInfoById } from "@/api/hosp/history";
import { getInfo } from "@/api/login";
@@ -1321,6 +1411,10 @@
  data() {
    return {
      // 更新总检建议
      emptyAdvice: {
        bt: "",
        nr: "",
      },
      initialTotalCheckAdvice: "",
      initialState: "",
      preObj: {},
@@ -1512,7 +1606,7 @@
        this.yichangList = res.data;
        this.getExpends();
        if (!this.yichangList) {
          this.$message({
          _this.$message({
            type: "warning ",
            message: "暂无异常报告",
          });
@@ -1521,10 +1615,10 @@
    },
    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();
      });
    },
@@ -1799,6 +1893,7 @@
      if (this.tjproject == "0") {
        getupdateCheckType(this.tjNumber).then((response) => {
          this.changedate = response.data;
          this.changedate.forEach((item) => {
            this.textarea1 = item.checkAdvice;
          });
@@ -1937,10 +2032,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 ",
        };
      }
    },
@@ -2251,63 +2347,11 @@
    //   }
    // },
    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) => {});
      }
      // this.changedate.forEach((item) => {
      //   this.proIds = item.parentId;
      //   // this.remark = item.remark;
      // });
    }, */
    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,
@@ -2315,10 +2359,27 @@
        checkStatus: 1,
      };
      // 开始加载
      this.loading = true;
      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) {
@@ -2348,6 +2409,10 @@
              this.drawer = false;
            });
            const addOrderPromise = addOrder(dataList).then((res) => {
              console.log(res, 999);
            });
            // 处理其他修改操作
            const updatePromises = this.changedate.map((item) => {
              this.proIds = item.parentId;
@@ -2363,7 +2428,12 @@
            });
            // 等待所有请求完成
            Promise.all([reportPromise, statePromise, ...updatePromises])
            Promise.all([
              reportPromise,
              statePromise,
              addOrderPromise,
              ...updatePromises,
            ])
              .then(() => {
                // 所有请求完成,关闭 loading
                this.loading = false;
@@ -2491,16 +2561,16 @@
  width: 1700px;
  height: 900px;
}
::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;
}
@@ -2559,19 +2629,24 @@
}
.rightbox {
  margin-left: 60px;
  position: fixed;
  top: 107px;
  right: 56px;
  // margin-left: 60px;
  // position: fixed;
  // top: 107px;
  // right: 56px;
  width: 684px;
  position: fixed; /* 固定定位 */
  right: 60px;
  .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; /* 可选:添加一些内边距以避免内容紧贴边缘 */
    padding-bottom: 200px;
  }
}