qinxianzhangyao
2023-11-23 5cfc97edd66731e2ebeea36072ec160a25a7bbf3
src/views/doctor/bgsh/index.vue
@@ -39,6 +39,7 @@
        :data="checkList"
        ref="table"
        border
        @selection-change="handleSelectionChange"
        style="margin: 20px; width: 98%"
      >
      <el-table-column type="selection" width="40px" align="center" fixed="left" />
@@ -119,9 +120,7 @@
          align="center"
          prop="tjCompName"
          :show-overflow-tooltip="true"
        />
        />
      </el-table>
      <div class="pag">
@@ -141,21 +140,8 @@
  
<script>
import {
  getcheckList,
  getTjdetailList,
  getupdateCheckType,
  getModifiedState,
  getfiedState,
  getState,
  getforceIn,
  gettoPdf,
  getModified,
} from "@/api/doctor/checkAll";
import { getInfo } from "@/api/login";
import {getcheckList,heXiaoByIds} from "@/api/doctor/checkAll";
import { getCompany, queryCompany } from "@/api/team/tuanti";
// import { getDeptAdvice } from "@/api/doctor/check";
import { getPdf, revoke } from "@/api/hosp/order";
import ViewPdf from "@/components/ViewPdf";
export default {
@@ -165,19 +151,7 @@
  name: "checkAll",
  data() {
    return {
      remarks: "",
      remark: "",
      proIds: "",
      xiaojie: "",
      isdisabled: false,
      dialogVisible: false,
      src: "",
      url: "",
      userId: "",
      flag: true,
      bill: null,
      numberList: [],
      dialogVisible: false,
      pickerOptions: {
        shortcuts: [
          {
@@ -220,18 +194,10 @@
      startTime: [],
      textarea1: "",
      loading: true,
      // 当前用户选中的值
      selectLettercurrent: " ",
      // 抽屉打开方式
      drawer: false,
      tableAll: {},
      tjNumber: "",
      // 全部小结
      DeptadviceAll: [],
      MsgId: "",
      Deptobj: "",
      // 点击参数
      changedate: [],
      orderIds: [],
      status: {},
      // 查询参数
      queryParams: {
@@ -243,32 +209,6 @@
        compId: null,
        name: null,
        checkStatus:null,
      },
      // 查询参数
      queryParam: {
        pageNum: 1,
        pageSize: 10,
        company: undefined,
        companyId: undefined,
        pacId: undefined,
        pacName: undefined,
        jobNo: undefined,
        name: undefined,
        sex: undefined,
        idCard: undefined,
        age: undefined,
        birthday: undefined,
        position: undefined,
        department: undefined,
        departmentId: undefined,
        phoe: undefined,
        address: undefined,
        marriage: undefined,
        nation: undefined,
        email: undefined,
        tjCategory: undefined,
        payType: undefined,
      },
    };
  },
@@ -347,62 +287,16 @@
          this.loading = false;
        });
    },
    viewReport(row) {
      const tjNumber = row.tjNumber;
      const flag = true;
      getPdf(tjNumber, flag).then((response) => {
        if (response.size === 0) {
          const loading = this.$loading({
          lock: true,
          text: 'Loading',
          spinner: 'el-icon-loading',
          background: 'rgba(0, 0, 0, 0.7)'
        });
        setTimeout(() => {
          loading.close();
        }, 3000);
          this.$message.msgSuccess("报告正在生成,请两分钟后预览!");
        } else {
          this.dialogVisible = true;
          this.url = window.webkitURL.createObjectURL(response); //将后端返回的blob文件读取出url
        }
      });
    },
    // viewReport(row) {
    //   const tjNumber = row.tjNumber;
    //   const viewNum = "792997692059705344";
    //   const params = { viewNum, tjNumber };
    //   hasReportEnd(tjNumber).then((res) => {
    //     if (res == 1) {
    //       this.$tab.openPage("体检报告", "/report/viewReport", params);
    //     } else {
    //       this.$message.error("该用户体检暂未完成,无法打印体检报告!");
    //     }
    //   });
    // },
    downLoadFileImg(row) {
      const tjNumber = row.tjNumber;
      const flag = true;
      getPdf(tjNumber, flag).then((response) => {
        this.url = window.webkitURL.createObjectURL(response); //将后端返回的blob文件读取出url
      });
    handleSelectionChange(selection) {
      this.orderIds = selection.map((item) => item.orderId);
      this.single = selection.length !== 1;
      this.multiple = !selection.length;
    },
    // 单选按钮
    radioChange(value) {
      this.loading = true;
      this.queryParams.checkStatus = value;
      getcheckList(this.queryParams).then((response) => {
        if (response.data) {
          this.checkList = response.data.customers;
          this.total = response.data.total;
        } else {
          this.checkList = [];
        }
        this.loading = false;
    radioChange() {
      heXiaoByIds(this.orderIds).then((response) => {
        this.$modal.msgSuccess("报告已核收!请前往体检记录页面查看!");
      });
    },
@@ -457,238 +351,9 @@
      this.resetForm("tableList");
      this.submitForm();
    },
    // 点击详情
    handleClick(row) {
      this.tableAll = row;
      if (this.tableAll.cusSex === 0) {
        this.tableAll.cusSex = "男";
      }
      if (this.tableAll.cusSex === 1) {
        this.tableAll.cusSex = "女";
      }
      this.tjNumber = this.tableAll.tjNumber;
      getState(this.tjNumber).then((res) => {
        this.status = res.data;
        if (this.status.status === "1") {
          getInfo().then((response) => {
            this.userId = response.user.userId;
            if (this.userId) {
              let data = {
                userId: this.userId,
                tjNumber: this.tjNumber,
                state: 0,
              };
              getModifiedState(data).then((res) => {
                this.MsgId = res.msg;
                this.drawer = true;
                getupdateCheckType(this.tjNumber).then((response) => {
                  this.changedate = response.data;
                  this.changedate.forEach((item) => {
                    this.textarea1 = item.checkAdvice;
                  });
                  if (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 = "";
                    });
                  } else {
                    this.$message({
                      type: "warning ",
                      message: "该客户没有体检项目数据",
                    });
                  }
                });
              });
            }
          });
        } else {
          this.$confirm(
            "" + this.status.name + "正在修改该信息, 是否强制进去?",
            "提示",
            {
              confirmButtonText: "是",
              cancelButtonText: "否",
              type: "warning",
            }
          )
            .then(() => {
              getInfo().then((response) => {
                this.userId = response.user.userId;
                if (this.userId) {
                  let data = {
                    userId: this.userId,
                    tjNumber: this.tjNumber,
                    state: 0,
                  };
                  getforceIn(data).then((res) => {
                    this.MsgId = res.msg;
                    this.drawer = true;
                    getupdateCheckType(this.tjNumber).then((response) => {
                      this.changedate = response.data;
                      if (this.changedate) {
                        for (let i = 0; i < this.changedate.length; i++) {
                          this.remark = this.changedate[i].remark;
                        }
                        this.changedate.forEach((item) => {
                          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.remark = "";
                        });
                      } else {
                        this.$message({
                          type: "warning ",
                          message: "该客户没有体检项目数据",
                        });
                      }
                    });
                  });
                }
              });
            })
            .catch(() => {
              this.$message({
                type: "info",
                message: "已取消进入",
              });
            });
          this.drawer = false;
        }
      });
      // 获取小结
      // getDeptAdvice().then((response) => {
      //   response.data.forEach((item) => {
      //     this.DeptadviceAll = item;
      //   });
      // });
    },
    // 撤销
    getRevoke(row) {
      const tjNumber = row.tjNumber;
      revoke(tjNumber).then((response) => {
        this.$modal.msgSuccess("撤回成功");
      });
    },
    // 是否关闭弹窗
    handleClose(done) {
      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) => {});
        });
    },
    // 生成报告
    // generate(row) {
    //   const tjNumber = row.tjNumber;
    //   getGenerate(tjNumber).then((response) => {
    //     this.$modal.msgSuccess("生成成功");
    //   });
    // },
    // xiAoJieChange(event) {
    //   if (event) {
    //     this.changedate.forEach((item) => {
    //       item.remark = "";
    //       item.parentAdvice.forEach((item1) => {
    //         event.forEach((item2) => {
    //           if (item2 == item1.id) {
    //             item.remark = item.remark + item1.advice + "。";
    //           }
    //         });
    //       });
    //     });
    //   }
    // },
    change(vale) {
      // console.log(this.changedate[index].remark);
    },
    determine() {
      let tjNumber = this.tableAll.tjNumber;
      let advice = this.textarea1;
      let data = {
        tjNumber,
        advice,
        checkStatus: 1,
      };
      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("已生成报告!请前往体检记录页面查看!");
          });
          getfiedState(data).then((res) => {
            this.drawer = false;
          });
        }
      });
      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.submitForm()
      this.$forceUpdate()
      // this.changedate.forEach((item) => {
      //   this.proIds = item.parentId;
      //   // this.remark = item.remark;
      // });
    },
  },
};