首页 > 其他分享 >BIP 两个请求成功后,才能做某一件事

BIP 两个请求成功后,才能做某一件事

时间:2023-03-02 14:14:41浏览次数:60  
标签:function 一件 viewModel SetXStatus result promise let BIP 请求

      //保存前校验

      let  SetXStatus = 0;
      viewModel.on("beforeSave", function (args) {
        let _this = this;
        console.log(_this);

        let rows = viewModel.getGridModel().getRows();
        if (rows <= 0) {
          cb.utils.alert("未匹配到认证方案,无法保存单据!", "error");
          return false;
        }
       
        var promisex = new cb.promise();
        this.SetXStatus = 0;

        Promise.all([supMaterial(_this), SetsupCertTask(_this)]).then((res) => {
         
          if (_this.SetXStatus == 0) {
            console.log("失败");
            promisex.reject(); // 失败
          } else if (_this.SetXStatus == 1) {
            console.log("失败");
            promisex.reject(); // 失败
          } else if (_this.SetXStatus == 2) {
            console.log("放行");
            promisex.resolve(); // 放行
          }
        });
       
        return promisex;
       
        // -------------------------------
      });

      function supMaterial(_this) {
        // let _this = this;
        let proxy = viewModel.setProxy({
          ensure: {
            url: "/supCertTask/supMaterial",
            method: "POST",
          },
        });
        let param = {
          state: viewModel.getParams().mode,
          certMaterialClass: viewModel.get("certMaterialClass").getValue(),
          certSupplier: viewModel.get("certSupplier").getValue(),
        };

        var promise = new cb.promise();
        proxy.ensure(param, function (error, result) {
          if (_this.SetXStatus == 0) {
            _this.SetXStatus = 1;
          } else if (_this.SetXStatus == 1) {
            _this.SetXStatus = 2;
          }

          if (!result) {
            _this.SetXStatus = 0;
            cb.utils.alert(
              "存在同一供应商和物料分类的未完成的供应商认证任务,当前不允许新增同一维度的认证任务!",
              "error"
            );
            promise.reject(); // 失败
          }
          promise.resolve(); // 放行
        });
        return promise;
      }

      function SetsupCertTask(_this) {
        // let _this = this;
        var prom = new cb.promise();
        let proxy = viewModel.setProxy({
          ensure: {
            url: "/supCertTask/savebefore",
            method: "POST",
          },
        });

        let tempIds = [];
        let Rows = viewModel.getGridModel().getRows();

        if (Rows.length > 0) {
          for (let i = 0; i < Rows.length; i++) {
            tempIds.push(Rows[i]["tempId"]);
          }
        }

        let param = {
          tempIds: tempIds,
          count: viewModel.getGridModel().getRows().length,
          id: viewModel.get("certstepId").getValue(),
        };
        proxy.ensure(param, function (error, result) {
          if (_this.SetXStatus == 0) {
            _this.SetXStatus = 1;
          } else if (_this.SetXStatus == 1) {
            _this.SetXStatus = 2;
          }

          if (result.flag == "true") {
          } else {
            _this.SetXStatus = 0;
            cb.utils.alert(
              result.msg || "上游任认证方案数据异常,请确认和重试",
              "error"
            );
            prom.reject(); // 失败
          }
          prom.resolve(); // 放行
        });
        return prom;
      }

 

标签:function,一件,viewModel,SetXStatus,result,promise,let,BIP,请求
From: https://www.cnblogs.com/LFxanla/p/17171580.html

相关文章

  • curl curl请求
    $params=["a"=>"test","b"=>"测试"];$header=["Content-Type:application/json;charset=utf-8","host:www.baidu.com"];$url="https://www.baidu.com/......
  • VUE前端请求跨域问题解决
    解决方法:vue.config.js文件配置:module.exports={devServer:{open:true,host:'192.168.1.193',port:8080,https:fals......
  • 跨域请求详解(看懂这篇博客,彻底搞懂跨域问题)
    跨域请求详解同源策略同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是......
  • haproxy 2.x 请求头解决安全问题
    就在最近haproxy官方发布了一个通知关于安全漏洞的,包含了2.0以及最新版本的,对于使用了2.x版本的用户最好升级下临时解决方案frontendmyfrontendhttp-r......
  • SpringBoot过滤器获取请求Body
    packagecom.example.springboot.core;importlombok.extern.slf4j.Slf4j;importorg.springframework.stereotype.Component;importjavax.servlet.http.HttpServle......
  • 《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(9)-Charles如何修改请求参数和
    1.简介宏哥之前一直用postman调接口比较多(web端),也非常容易上手和操作。但有时候想要去修改APP的页面展示,造数据又会比较麻烦,你自己造相对还好些,要是让开发造,还得低眉顺眼......
  • Redxu(RTK) 基础 异步逻辑与数据请求 第5.0节 简介REST API 和(HTTP)客户端示例
    额,上一篇好长,这篇我看也不短,对应文档这一节,所以我要把这一节分成几个小节,否则太累了。主要介绍thunk加载帖子加载用户数据添加新帖子等内容捏!简介在第四节:使用Re......
  • HTTP请求
    一、什么是HTTP?HTTP,即超文本传输协议,是一种实现客户端和服务器之间通信的响应协议,它是用作客户端和服务器之间的请求。客户端(浏览器)会向服务器提交HTTP请求;然后服务器向客......
  • Cesium 数据请求管理 Request_八号风球867的博客
    cesium数据请求主要通过三个类完成:Resource,RequestScheduler,Request;1.Resource:负责资源请求,发起xml请求2.RequestScheduler:负责请求调度管理3.Request:请求参数......
  • 跨域请求详解
    一、同源策略1.什么是浏览器的同源策略?同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到......