伙伴云客服论坛»论坛 S区 S客户管理 查看内容

0 评论

0 收藏

分享

10.2 黑马Vue电商后台管理系统 完善订单模块--搜索订单(修改后端)

效果如下:

10.2 黑马Vue电商后台管理系统 完善订单模块--搜索订单(修改后端)-1.jpg

搜索时列表动态变化,在我专栏下另一篇文章写了,这篇文章不再讲述,这篇文章只讲述如何从后端(翻开vue_api_server这个文件夹,而不是vue_shop)修改代码来实现这个功能

10.2 黑马Vue电商后台管理系统 完善订单模块--搜索订单(修改后端)-2.jpg


我的思路:

1.我在订单的搜索栏中和用户管理模块的搜索栏中停止搜索,发现了订单搜索的sql语句和用户管理的sql语句略微不同。
10.2 黑马Vue电商后台管理系统 完善订单模块--搜索订单(修改后端)-3.jpg


2.我再去搜索一下商品,发现商品搜索的sql语句和订单的是类似的,都有引号括起来:
10.2 黑马Vue电商后台管理系统 完善订单模块--搜索订单(修改后端)-4.jpg

3.我又发现了Dao文件夹下面正好没有订单和商品的文件:
10.2 黑马Vue电商后台管理系统 完善订单模块--搜索订单(修改后端)-5.jpg


4.因而我觉得他们应该放在同一个文件夹下面,并且二者的搜索代码应该是类似的,只是订单模块可能少了代码,导致没办法只在前端调用接口就能实现搜索。
于是,我去找service文件夹,对比了OrderService.js和GoodService.js,发现OrderService.js真的少了一句代码,于是加上了那句代码:
10.2 黑马Vue电商后台管理系统 完善订单模块--搜索订单(修改后端)-6.jpg

即,在module.exports.getAllOrders下参与下面这句代码:
  1.         if(params.query) {
  2.                 conditions["columns"]["order_number"] = orm.like("%" + params.query + "%");
  3.         }
复制代码
仅仅参与这一句代码,其实就完善了前端的getOrderList()这个函数啦!
  1. module.exports.getAllOrders = function(params,cb){
  2.         var conditions = {};
  3.         if(!params.pagenum || params.pagenum <= 0) return cb("pagenum 参数错误");
  4.         if(!params.pagesize || params.pagesize <= 0) return cb("pagesize 参数错误");
  5.         conditions["columns"] = {};
  6.         if(params.query) {
  7.                 conditions["columns"]["order_number"] = orm.like("%" + params.query + "%");
  8.         }
  9.         if(params.user_id) {
  10.                 conditions["columns"]["user_id"] = params.user_id;
  11.         }
  12.         if(params.pay_status) {
  13.                 conditions["columns"]["pay_status"] = params.pay_status;
  14.         }
  15.         if(params.is_send) {
  16.                 if(params.is_send == 1) {
  17.                         conditions["columns"]["is_send"] = '是';
  18.                 } else {
  19.                         conditions["columns"]["is_send"] = '否';
  20.                 }
  21.         }
复制代码
之后再找到 routes/orders.js文件,修改订单列表,参与下面这句代码:
10.2 黑马Vue电商后台管理系统 完善订单模块--搜索订单(修改后端)-7.jpg

  1. // 订单列表
  2. router.get("/",
  3.         // 参数验证
  4.         function(req,res,next) {
  5.                 // 参数验证
  6.                 if(!req.query.pagenum || req.query.pagenum <= 0) return res.sendResult(null,400,"pagenum 参数错误");
  7.                 if(!req.query.pagesize || req.query.pagesize <= 0) return res.sendResult(null,400,"pagesize 参数错误");
  8.                 next();
  9.         },
  10.         // 业务逻辑
  11.         function(req,res,next) {
  12.                 var conditions = {
  13.                         "pagenum" : req.query.pagenum,
  14.                         "pagesize" : req.query.pagesize
  15.                 };
  16.                 if(req.query.query) {
  17.                         conditions["query"] = req.query.query;
  18.                 }
  19.                 if(req.query.user_id) {
  20.                         conditions["user_id"] = req.query.user_id;
  21.                 }
  22.                 if(req.query.pay_status) {
  23.                         conditions["pay_status"] = req.query.pay_status;
  24.                 }
  25.                 if(req.query.is_send) {
  26.                         conditions["is_send"] = req.query.is_send;
  27.                 }
  28.                 if(req.query.order_fapiao_title) {
  29.                         conditions["order_fapiao_title"] = req.query.order_fapiao_title;
  30.                 }
  31.                 if(req.query.order_fapiao_company) {
  32.                         conditions["order_fapiao_company"] = req.query.order_fapiao_company;
  33.                 }
  34.                 if(req.query.order_fapiao_content) {
  35.                         conditions["order_fapiao_content"] = req.query.order_fapiao_content;
  36.                 }
  37.                 if(req.query.consignee_addr) {
  38.                         conditions["consignee_addr"] = req.query.consignee_addr;
  39.                 }
  40.                 orderServ.getAllOrders(
  41.                         conditions,
  42.                         function(err,result){
  43.                                 if(err) return res.sendResult(null,400,err);
  44.                                 res.sendResult(result,200,"获取胜利");
  45.                         }
  46.                 )(req,res,next);
  47.         }
  48. );
复制代码
当然不要忘记在前端的Order.vue中给按钮添加点击事件:
10.2 黑马Vue电商后台管理系统 完善订单模块--搜索订单(修改后端)-8.jpg

回复

举报 使用道具

相关帖子
全部回复
暂无回帖,快来参与回复吧
本版积分规则 高级模式
B Color Image Link Quote Code Smilies

恋雪风尘
注册会员
主题 17
回复 20
粉丝 0
|网站地图
快速回复 返回顶部 返回列表