qx
qx
2025-02-08 b7e9807061998a4b250ceaca7e6320e89cc6767f
src/views/hosp/order/index.vue
@@ -243,6 +243,15 @@
          >强制撤销</el-button
        >
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="primary"
          size="mini"
          @click="ResumeAppointment"
          :disabled="multiple"
          >恢复预约</el-button
        >
      </el-col>
      <right-toolbar
        :showSearch.sync="showSearch"
        @queryTable="getList"
@@ -612,7 +621,7 @@
                        :props="defaultProp"
                        show-checkbox
                        node-key="id"
                        @check="handlepackage"
                        @check-change="handlepackage"
                        :default-checked-keys="checkedkeys"
                        :filter-node-method="filterpackage"
                        ref="treas"
@@ -673,7 +682,7 @@
                        :props="defaultProps"
                        show-checkbox
                        node-key="proId"
                        @check="handleCurrentChecked"
                        @check-change="handleCurrentChecked"
                        :default-checked-keys="checkedkey"
                        :filter-node-method="filterNode"
                        ref="tree"
@@ -966,7 +975,7 @@
                        :props="defaultProp"
                        show-checkbox
                        node-key="id"
                        @check="handlepackage"
                        @check-change="handlepackage"
                        :default-checked-keys="checkedkeys"
                        :filter-node-method="filterpackage"
                        ref="treas"
@@ -1027,7 +1036,7 @@
                        :props="defaultProps"
                        show-checkbox
                        node-key="proId"
                        @check="handleCurrentChecked"
                        @check-change="handleCurrentChecked"
                        :default-checked-keys="checkedkey"
                        :filter-node-method="filterNode"
                        ref="tree"
@@ -1662,6 +1671,7 @@
  getOrderList,
  getNewDateList,
  revokeTjOrderByTjNum,
  huifuyuyuejilu,
  getTransitionInfo,
  getBlproByTjh,
  revokeBlProByBldhAndTjh,
@@ -1782,6 +1792,7 @@
      activeNames: "first",
      // 非多个禁用
      multiple: true,
      tjNUms:[],
      // 显示搜索条件
      showSearch: true,
      userId: "",
@@ -2132,6 +2143,34 @@
      });
    },
    ResumeAppointment(){
      this.isLoading = true;
      this.$confirm("您确认要恢复预约?", "确认信息", {
        distinguishCancelAndClose: true,
        confirmButtonText: "确认",
        cancelButtonText: "取消",
      })
        .then(() => {
          huifuyuyuejilu(this.tjNUms).then((res) => {
            this.$modal.msgSuccess("恢复成功");
            // this.isLoading = false;
            this.getList();
          });
        })
        .catch((action) => {
          if (action === "cancel") {
            this.$message({
              type: "warning",
              message: "已取消",
            });
          }
        })
        .finally(() => {
          // 不论操作成功还是失败,都会执行
          this.isLoading = false;
        });
    },
    handleRevoke() {
      this.isLoading = true;
      this.$confirm("您确认要撤销?", "确认信息", {
@@ -2325,6 +2364,7 @@
    // 多选框选中数据
    handleSelectionChange(selection) {
      let tjNUms = selection.map((item) => item.tjNumber);
      this.tjNUms = selection.map((item) => item.tjNumber);
      selection.forEach((item) => {
        this.orderIds = item.orderId;
        this.tjnumbers = item.tjNumber;
@@ -2497,6 +2537,8 @@
        // this.marryalls = 0;
        // this.Datalists = [];
        this.checkedkeys = [];
        this.DataList3 = [];
        getZhList().then((response) => {
          if (response.data) {
            this.packageList = response.data;
@@ -2505,16 +2547,98 @@
        });
      } else {
        // this.TotalPrice1 = 0;
        this.checkedkey = [];
        this.checkedkeys = [];
        // this.DataList = [];
        this.Datalists = [];
        this.DataList3 = [];
        this.getDataList();
        // if (this.marryalls != 0) {
        //   this.TotalPrice1 += this.marryalls;
        // }
      }
    },
    handlepackage(data, checked, checkedNodes) {
      if (checked == true) {
        // this.$refs.treas.setCheckedKeys([data.id]);
        let datas = {
          zhId: data.id,
        };
        getlistByZhId(datas).then((res) => {
          this.packagedataList = res.data.tjProjectList;
          for (var i = 0; i < this.packagedataList.length; i++) {
            let proId = this.packagedataList[i].proId;
            getProSonDxList(proId).then((res) => {
              this.TreedataList = res.data.list;
              this.TreedataList.forEach((item) => {
                this.Datalists.push(item);
              });
              // 合并 Datalists 和 DataList 到 DataList3
              this.DataList3 = this.DataList.concat(this.Datalists);
              // 清空累加器
              this.marryalls = 0;
              this.TotalPrice1 = 0;
              // 重新计算价格
              this.DataList3.forEach((item) => {
                console.log(item.proPrice);
                this.TotalPrice1 += item.proPrice * item.sl;
                this.marryalls += item.proPrice * item.sl;
              });
              // 为每个项目添加 propinName
              this.Datalists.forEach((item1) => {
                this.packagedataList.forEach((item3) => {
                  if (item1.proParentId == item3.proId) {
                    item1.propinName = item3.proName;
                  }
                });
              });
            });
          }
        });
      } else if (checked == false) {
        let datas = {
          zhId: data.id,
        };
        this.marryalls = 0;
        // 清空 Datalists 和 DataList3
        this.Datalists = [];
        this.DataList3 = [...this.DataList]; // 重新设置 DataList3,仅包含原始 DataList
        getlistByZhId(datas).then((res) => {
          this.packagedataList = res.data.tjProjectList;
          for (var i = 0; i < this.packagedataList.length; i++) {
            let proId = this.packagedataList[i].proId;
            getProSonDxList(proId).then((res) => {
              this.TreedataList = res.data.list;
              this.checkedListkey = this.checkedListkey.filter(
                (id) => id !== proId
              );
              // 从 DataList3 中移除相关的子项
              this.DataList3 = this.DataList3.filter(
                (item) => item.proParentId !== proId
              );
              // 更新总价格
              this.TotalPrice1 = 0; // 清空价格
              this.DataList3.forEach((item) => {
                this.TotalPrice1 += item.proPrice;
              });
            });
          }
        });
      }
    },
    /* handlepackage(data, checked, checkedNodes) {
      console.log(checked, 3333);
      if (checked.checkedNodes.length != 0) {
        this.$refs.treas.setCheckedKeys([data.id]);
        let datas = {
@@ -2537,7 +2661,7 @@
                    this.marryalls += item1.proPrice;
                    // this.TotalPrice1 = this.marryalls;
                    this.TotalPrice1 = 0;
                    console.log(this.DataList3, 9999999999);
                    if (this.DataList3.length != 0) {
                      this.DataList3.forEach((item) => {
                        console.log(item.proPrice);
@@ -2557,7 +2681,7 @@
        });
      } else if (checked.checkedNodes.length == 0) {
      }
    },
    }, */
    renderContent(h, { node, data, store }) {
      return (
@@ -2579,6 +2703,8 @@
      this.orderId = row.orderId;
      this.cusId = row.tjCusIdCard;
      this.userId = row.userId;
      console.log(row, 666);
      this.customer = {
        cusIdcard: row.tjCusIdCard,
        cusName: row.tjCustomerName,
@@ -2664,9 +2790,10 @@
    },
    // 点击获取每个树节点
    handleCurrentChecked(data, checked, checkedNodes) {
    /*  handleCurrentChecked(data, checked, checkedNodes) {
      this.dataObj = data;
      if (checked.checkedNodes.length != 0) {
      this.checkedObj = checked;
      if (checked == true) {
        this.$refs.tree.setCheckedKeys([data.proId]);
        let proId = data.proId;
        getProSonDxList(proId).then((res) => {
@@ -2699,11 +2826,91 @@
          //   }
          // }
        });
      } else if (checked.checkedNodes.length == 0) {
      } else if (checked == false) {
        let proId = data.proId;
        getProSonDxList(proId).then((res) => {
          this.TreedataList = res.data.list;
          this.checkedListkey = [];
          this.TreedataList.forEach((item) => {
            item.disabled = true;
          });
          this.DataList3.forEach((item, index) => {
            if (item.proParentId == this.dataObj.proId) {
              this.DataList3.splice(index, this.TreedataList.length);
            }
          });
          // 手动更新总价格
          this.TotalPrice1 = 0;
          this.DataList3.forEach((item, index) => {
            this.TotalPrice1 += item.proPrice * item.sl;
          });
        });
      }
    }, */
    handleCurrentChecked(data, checked, checkedNodes) {
      this.dataObj = data;
      this.checkedObj = checked;
      if (checked === true) {
        // this.$refs.tree.setCheckedKeys([data.proId]);
        let proId = data.proId;
        getProSonDxList(proId).then((res) => {
          this.TreedataList = res.data.list;
          this.TreedataList.forEach((item) => {
            // item.disabled = true;
            // this.checkedListkey.push(item.proId);
            if (!this.checkedListkey.includes(item.proId)) {
              this.checkedListkey.push(item.proId);
            }
            this.Datalists.push(item);
            this.DataList3.push(item);
            this.spliceData();
            this.DataList3.forEach((item1) => {
              this.TotalPrice1 += item1.proPrice * item1.sl;
              if (item1.proParentId == data.proId) {
                item1.propinName = data.proName;
                item1.propinPrice = this.dataObj.proPrice;
              }
            });
          });
          // 更新总价格
          this.TotalPrice1 = 0;
          this.DataList3.forEach((item) => {
            this.TotalPrice1 += item.proPrice * item.sl;
          });
        });
      } else if (checked === false) {
        // 当取消选中时
        let proId = data.proId;
        getProSonDxList(proId).then((res) => {
          this.TreedataList = res.data.list;
          // 遍历 TreedataList 并移除相关的子项 ID
          this.TreedataList.forEach((item) => {
            this.checkedListkey = this.checkedListkey.filter(
              (id) => id !== item.proId
            );
          });
          this.Datalists = this.Datalists.filter(
            (item) => item.proParentId !== proId
          );
          // 从 DataList3 中移除相关的子项
          this.DataList3 = this.DataList3.filter(
            (item) => item.proParentId !== proId
          );
          // 更新总价格
          this.TotalPrice1 = 0;
          this.DataList3.forEach((item) => {
            this.TotalPrice1 += item.proPrice * item.sl;
          });
        });
      }
    },