网站首页 > 技术文章 正文
目标:
新增销售单时,如果销售数量大于库存数量或销售单价低于底价时不可提交;
实现环境:
白码低代码开发平台;
前期准备:
商品、商品规格、销售订单、销售订单明细数据表,并且有一些商品基础数据;
实现步骤:
新建功能:新增销售单;
①第一步新增数据,填写销售单基础数据;
②第二步新增集合,新增销售订单明细;
③第三步使用交互-预处理,用于判断订单明细中的销售数量示例是否大于库存数量以及销售单价是否低于底价,符合任一情况则禁止提交功能;
function prepare($programStore, $form, vue) {
vue.$watch(() => { return programStore.getters["getFormValue"]("6021163ff027b63cc9a2fe30") },//监控销售订单明细步骤
function (value) {
let data = value.data || [];
if(data.length ==0){
return;
}
console.log(data);
for (let i = 0; i < data.length; i++) {//遍历集合
let goodsid = data[i]["6021148ad611b43cc82ead48"];//商品id
let skuid = data[i]["60211490d611b43cc82ead49"];//规格id
let sales_num = data[i]["6021149ad611b43cc82ead4b"];//销售数量
let sales_price = data[i]["60211496d611b43cc82ead4a"];//销售单价
let goods_name = "";//商品名称
vue.$store.dispatch("data/show", {//查询商品数据
dataset: "60211427f027b63cc9a2fe21",
query: {
query: {
"_id": goodsid
},
empty: false,
page: {
index: 1,
size: 100
}
}
}).then(res => {
let good = res.data.data[0];//商品对象
goods_name = good["6021142dd611b43cc82ead3a"];
let stock = good["60211432d611b43cc82ead3b"];//商品库存
if(new Number(stock) < new Number(sales_num)){//如果销售数量大于库存
$programStore.dispatch("error/setText",goods_name+"库存不足");//禁止提交
return;
}
});
vue.$store.dispatch("data/show", {//查询规格数据
dataset: "6021143ed611b43cc82ead3d",
query: {
query: {
"_id": skuid
},
empty: false,
page: {
index: 1,
size: 100
}
}
}).then(res => {
let sku = res.data.data[0];//规格对象
let price = sku["6021144dd611b43cc82ead40"];//规格底价
if(new Number(price) > new Number(sales_price)){//如果销售单价低于底价
$programStore.dispatch("error/setText",goods_name+"销售单价低于底价");//禁止提交
return;
}
});
$programStore.dispatch("error/setText","");//可以提交
}
}
)
}
测试效果:
猜你喜欢
- 2024-10-17 vue进阶系列——用typescript玩转vue和vuex
- 2024-10-17 百度Web前端开发实战案例解析(web前端开发案例教程)
- 2024-10-17 vue之vuex状态管理(vuex状态属性)
- 2024-10-17 从身份证号中截取出生日期(从身份证号截取出生年月日)
- 2024-10-17 websocket长连接和公共状态管理方案
- 2024-10-17 带你五步学会Vue SSR(vue sse)
- 2024-10-17 vue-element-admin 登陆(vue elements admin)
- 2024-10-17 Vue实现动态路由(vue动态路由三种方法)
- 2024-10-17 吃透 Vue 项目开发实践|16个方面深入前端工程化开发技巧【中】
- 2024-10-17 vue常见组件有哪些(vue的组件有哪些)
- 最近发表
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- sqlset (64)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)