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;
}
BIP 两个请求成功后,才能做某一件事的更多相关文章
- 安装 CentOS 7 后必做的七件事
原文 安装 CentOS 7 后必做的七件事 CentOS 是最多人用来运行服务器的 Linux 版本,最新版本是 CentOS 7.当你兴趣勃勃地在一台主机或 VPS 上安装 CentOS 7 后, ...
- 安装 Kali Linux 后需要做的 20 件事
安装 Kali Linux 后需要做的 20 件事 本文含有我觉得有用的每一件事情.本文分为三大部分: 专门针对Kali用户 Kali Linux是来自Debian的一个特殊版本,Kali Linux ...
- 安装Ubuntu 13.04后要做的六件事
2013-05-07 09:23 最新版本的Ubuntu已经新鲜出炉:Ubuntu 13.04,代号为Raring Ringtail.作为幕后开发Ubuntu Linux的公司,Canonica ...
- Ubuntu装完后要做的几件事
Ubuntu装完后要做的几件事 改hosts 无论哪里,改hosts都是第一件事,没hosts咋google.没google咋活.在终端输入命令 sudo gedit /etc/hosts在# The ...
- debian 9 安装后需做的几件事
debian 9 安装后需做的几件事 安装环境:X86 >> Debian 9 Linux/GNU apt源更新 注意连上有线网络 刚安装好的debian系统中,/etc/apt/sour ...
- 安装完CentOS 7 后必做的七件事
CentOS是最多人用来运行服务器的 Linux 版本,最新版本是 CentOS 7.当你兴趣勃勃地在一台主机或 VPS 上安装 CentOS 7 后,首要的工作肯定是加强它的安全性,以下列出的七件事 ...
- 安装完CentOS 7 后必做的七件事[转]
CentOS是最多人用来运行服务器的 Linux 版本,最新版本是 CentOS 7.当你兴趣勃勃地在一台主机或 VPS 上安装 CentOS 7 后,首要的工作肯定是加强它的安全性,以下列出的七件事 ...
- 安装Kali Linux 后需要做的 20 件事 - 51CTO.COM
我在本文中整理出了安装一份全新的Kali Linux后总是要做的若干件事情.由于我有多台笔记本电脑和工作站,所以尽量扩大下列操作步骤的适用范围,以满足每个人的需求.这是我在安装Kali Linux后做 ...
- 安装Linux Mint 17后要做的20件事
Linux Mint 17 Qiana Cinnamon Linux Mint 17已经发布,定名为Qiana.Mint是Linux最佳发行版之一,它定位于桌面用户,关注可用性和简洁.它携带了风格迥异 ...
- Jetson tk1 刷机后要做的几件事
参考简书文章: http://www.jianshu.com/p/997ede860d74 1. 查看Jetson TK1 L4T版本 head -n 1 /etc/nv_tegra_release ...
随机推荐
- Express 项目发送 Cookie
在使用 Cookie 之前,需要安装 Express 中间件--cookie-parser: npm i cookie-parser import express from "express ...
- 【django-vue】封装logger 封装全局异常 封装response 数据库配置 用户表继承AbstractUser配置
目录 上节回顾 python运行流程 项目目录调整(重要) 关于环境变量的问题 今日内容 1 django后端配置之封装logger 2 后端配置之封装全局异常 补充说明 3 后端配置之二次封装res ...
- mysql版本升级 5.7.21-8.0.30
当前MySQL版本为:5.7.21 升级前准备,了解5.7和8.0版本有何区别,本文主要为升级操作文档,具体建议参考官方文档,概括性的有以下几点: >默认字符集由latin1变为utf8mb4 ...
- 96、nacos大量日志
问题描述:access 日志大量打印,相关 Issue 点击这里.主要表现是: {nacos.home}/logs/access_log.2019-xx-xx.log类似格式文件名的日志大量打印,而且 ...
- Docker安装和基础命令
每个优秀的人,背后都有一段沉默的时光 前言 学习Docker基础知识 安装 docker常见的有3种安装方式,yum.rpm包.脚本. 我们采用相对简单但对各种环境比较友好的方式:(关防火墙和seli ...
- [GKCTF2021]RRRRSA
[GKCTF2021]RRRRSA 题目 from Crypto.Util.number import * from gmpy2 import gcd flag = b'xxxxxxxxxxxxx' ...
- [后端-Python]-项目练习集
1 1. 2 ''' 3 knowledge_point: 4 1.练习if...else: 5 2.练习while; 6 3.练习列表的切片取值: 7 8 requirements: 9 购物车: ...
- linux 内存泄漏检测原理及实现
通过检测内存块是否被引用,而判断内存是否泄漏 参考链接:https://mp.weixin.qq.com/s/_WTpg2rnqIJDRKo-UcfeFA
- VUE学习-插槽
插槽 匿名插槽 子组件设置匿名插槽 <script type="text/x-template" id="custom-comp"> <div ...
- jenkins目录
Jenkins目录详解: jobs目录:创建的所有jenkins工程.并含有所有构建历史记录和日志.其中config.xml为具体配置. plugins:所有插件 workspace:构建工程本机源码 ...