0
点赞
收藏
分享

微信扫一扫

工作保存,关于传参的一些妙用

Ad大成 2022-04-25 阅读 36
vue.js

点管理按钮传id进入单个停车场(id赋给单个停车场)

步骤1

/**点击管理按钮获取当前停车场数据,并且通过window.open打开单个停车场页面手动写入(传入)organizeId=${obj.organizeId}这个组织id**/
manageHandle(obj) {
      console.log(obj);
      isDel(obj.id).then((res) => {
        if (res.data.data.deleteFlag === 2) {
          // 该停车场
          window.open(
            `${this.refreshtoUrl}/#/wel/index?id=${obj.id}&parkLotName=${obj.name}&organizeId=${obj.organizeId}`,
            "_blank"
          );
        } else {
          this.$message({
            showClose: true,
            message: "该停车场已经被删除",
            type: "warning",
          });
        }
      });
    },

步骤2:

/**
在点进单个停车场的菜单created的时候调用this.GetRequest()函数,通过window.location.href获取当前页面的url信息,organizeId参数已经在步骤一手动拼接上去了,所以可以直接把他return出来,然后将参数保存到sessionStorage会话存储里
**/
GetRequest() {
      var url = window.location.href;
      if (url.indexOf("?") != -1) {
        var str = url.substr(1);
        var strs = str.split("?")[1].split("&");
        return { 
          id: strs[0].split("=")[1], 
          name: strs[1].split("=")[1],
          organizeId: strs[2].split("=")[1] 
        };
      } else {
        return null;
      }
    },

created() {
    // 管理按钮
    var parkLot = this.GetRequest();
    var sessionParLotId = sessionStorage.getItem("parkLotId");
    if (parkLot || sessionParLotId) {
      if (parkLot) {
        sessionStorage.setItem("parkLotId", parkLot.id);
        sessionStorage.setItem("organizeId", parkLot.organizeId);

        // this.parkLotId = parkLot.id
        // 判断该id是否已经被删除
        isDel(parkLot.id)
          .then((res) => {
            this.del = res.data.data.deleteFlag; //1:删除  2:未删除
            this.parkLotId = parkLot.id;
            // 若del==1则向tags页发送消息
            if (this.del === 1) {
              PubSub.publish("delLot", "1");
            }
          })
          .catch(() => {});
        sessionStorage.setItem("parkLotName", parkLot.name);
      } else {

步骤3:

/**在进入单个停车场的时候直接从会画存储里将organizeId的值取出来赋值给this.dataForm.organizeId就行这样进入单个停车场就带上了组织id哈哈哈哈**/
created() {
    
    // 按钮权限
    this.addBtn = this.permissions["month_vip_sets_add"];
    this.editBtn = this.permissions["month_vip_sets_edit"];
    this.delBtn = this.permissions["month_vip_sets_del"];
    
    let parkLotId =
      sessionStorage.getItem("parkLotId") ||
      sessionStorage.getItem("userInfoParkLotId");
      
      
    if (parkLotId) {
      this.dataForm.parkLotId = parkLotId;
      this.dataForm.organizeId = sessionStorage.getItem("organizeId");
    } else {
      getParkLotList().then((response) => {
        this.parkLotOptionList = [
          { parkLotId: "", parkLotName: "全部" },
          { parkLotId: "0", parkLotName: "所有停车场" },
          ...response.data.data,
        ];
      });
    }
    this.getDataList();
  },
举报

相关推荐

0 条评论