//保存前校验

      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 两个请求成功后,才能做某一件事的更多相关文章

  1. 安装 CentOS 7 后必做的七件事

    原文 安装 CentOS 7 后必做的七件事 CentOS 是最多人用来运行服务器的 Linux 版本,最新版本是 CentOS 7.当你兴趣勃勃地在一台主机或 VPS 上安装 CentOS 7 后, ...

  2. 安装 Kali Linux 后需要做的 20 件事

    安装 Kali Linux 后需要做的 20 件事 本文含有我觉得有用的每一件事情.本文分为三大部分: 专门针对Kali用户 Kali Linux是来自Debian的一个特殊版本,Kali Linux ...

  3. 安装Ubuntu 13.04后要做的六件事

    2013-05-07 09:23    最新版本的Ubuntu已经新鲜出炉:Ubuntu 13.04,代号为Raring Ringtail.作为幕后开发Ubuntu Linux的公司,Canonica ...

  4. Ubuntu装完后要做的几件事

    Ubuntu装完后要做的几件事 改hosts 无论哪里,改hosts都是第一件事,没hosts咋google.没google咋活.在终端输入命令 sudo gedit /etc/hosts在# The ...

  5. debian 9 安装后需做的几件事

    debian 9 安装后需做的几件事 安装环境:X86 >> Debian 9 Linux/GNU apt源更新 注意连上有线网络 刚安装好的debian系统中,/etc/apt/sour ...

  6. 安装完CentOS 7 后必做的七件事

    CentOS是最多人用来运行服务器的 Linux 版本,最新版本是 CentOS 7.当你兴趣勃勃地在一台主机或 VPS 上安装 CentOS 7 后,首要的工作肯定是加强它的安全性,以下列出的七件事 ...

  7. 安装完CentOS 7 后必做的七件事[转]

    CentOS是最多人用来运行服务器的 Linux 版本,最新版本是 CentOS 7.当你兴趣勃勃地在一台主机或 VPS 上安装 CentOS 7 后,首要的工作肯定是加强它的安全性,以下列出的七件事 ...

  8. 安装Kali Linux 后需要做的 20 件事 - 51CTO.COM

    我在本文中整理出了安装一份全新的Kali Linux后总是要做的若干件事情.由于我有多台笔记本电脑和工作站,所以尽量扩大下列操作步骤的适用范围,以满足每个人的需求.这是我在安装Kali Linux后做 ...

  9. 安装Linux Mint 17后要做的20件事

    Linux Mint 17 Qiana Cinnamon Linux Mint 17已经发布,定名为Qiana.Mint是Linux最佳发行版之一,它定位于桌面用户,关注可用性和简洁.它携带了风格迥异 ...

  10. Jetson tk1 刷机后要做的几件事

    参考简书文章: http://www.jianshu.com/p/997ede860d74 1. 查看Jetson TK1 L4T版本 head -n 1 /etc/nv_tegra_release ...

随机推荐

  1. 【PyQt5学习-01-】PyQt5 能做什么?要学什么?

    1.能做什么 简单讲,就是用python做一个界面,表达你的想法或设计 基于python语言的GUI工具库,用于开发小型的桌面应用,一些demo 也可用于课程设计,用于呈现效果,如数字图像处理.数据库 ...

  2. (2) 使用phpstudy 实现局域网内远程访问本地ThreeJS示例

    1 下载phpStudy  作为本地开发服务器 hpStudy下载后解压安装.安装完成后启动服务.如下: 2 打开phpStudy的安装目录,进入到安装目录的   PHPTutorial \  WWW ...

  3. Python elasticsearch_dsl 报错及解决方法

    Exception:maxClauseCount is set to 1024 原因:报错原因是Search限制一个bool查询中最多只能有1024个值或子查询,当超过1024时,会抛出异常. 解决办 ...

  4. File类-绝对路径 相对路径

    绝对路径:通过给定的路径能够直接在我的电脑中找到的文件 相对路径:文件相对于应用程序的路径 结论: 我们在开发中要尽量使用相对路径 File方法只能读取小文件,是一下子全读出来.如果读大文件则使用文件 ...

  5. Windows环境同时安装多个版本的Python解释器(python2和python3)

    https://blog.csdn.net/qq_21583139/article/details/125881382 出现问题: 更新pip 操作后出现,pip报错,应该是升级到最新pip版本然后和 ...

  6. element ui中table动态列切换时,表格样式变形

    现象:定义多个头部和多个数据体,可以自由切换不同的头部和相应的数据体,但是切换过程表格会变形. 解决办法:table增加索引,切换头部和数据时,修改为不同的索引,即可解决 重点:表格标签上的  key ...

  7. 2022-05-05内部群每日三题-清辉PMP

    1.在项目规划阶段,质量保证经理建议实施三重测试环境以确保产品质量.项目经理确定这项建议将会增加成本,而且开发和认证环境将足以保证质量.项目经理应使用什么来影响质量保证经理? A.质量成本(COQ) ...

  8. windows下gitlab-ci.yml配置进入某一目录找不到,无权限

    打开任务管理器查看gitlab-runner所使用的的用户 更改gitlab-runner服务权限, 找到gitlab-runner服务,右键-属性-登陆,选择[此账户]点击[浏览] 选择具有权限的账 ...

  9. iOS开发之桌面快捷方式Quick Actions

    长按桌面APPIcon图标快捷操作添加功能开发 在支持 3D Touch 的设备上,Quick Actions 可以让用户更快,更少的操作步骤去完成他们最常做的事情,其中这么多操作可以通过主屏幕直接完 ...

  10. tensorrt cuda cudnn 各版本的匹配要求

    https://docs.nvidia.com/deeplearning/tensorrt/release-notes/tensorrt-8.html#rel_8-0-3