zoukankan      html  css  js  c++  java
  • 点餐收款应用项目实践

    最近利用vue框架做了一个点餐收款的前端项目,实现的功能包括:点餐、增减商品数量、结账、模拟前后端数据交互等。主要用到的技术包括Html+Css+Vue+Webpack+Element+vueRouter等,通过该项目提升了自身的前端实践能力。效果图如下所示:

     项目部分代码如下所示:

    methods:{
        // 添加点餐列表的方法
        addGoods(goods){
          // 判断该商品是否已经存在点餐列表中
          this.allCount = 0;
          this.allMoney = 0;
          let flag = false;
          for(let i=0;i<this.tableData.length;i++){
            if(goods.goodsId == this.tableData[i].goodsId){
              flag = true;
              console.log(flag);
            }
          }
          // 根据判断结果进行点餐列表的数据更新
          if(flag){
            let arr = this.tableData.filter(o=> o.goodsId == goods.goodsId);
            console.log(arr);
            arr[0].count++;
            
          }else{
            var newGoods = {goodsId:goods.goodsId, goodsName:goods.goodsName, price:goods.price,count:1};
            this.tableData.push(newGoods);
            console.log(newGoods);
          }
          this.getallCount();
        },
        getallCount(){
          this.allCount = 0;
          this.allMoney = 0;
          for(var i=0;i<this.tableData.length;i++){
            this.allCount +=this.tableData[i].count;
            this.allMoney +=this.tableData[i].price*this.tableData[i].count;
          }
        },
        upGetallCount(){
          this.upAllCount= 0;
          this.upAllMoney = 0;
          for(var i=0;i<this.upData.length;i++){
            this.upAllCount +=this.upData[i].count;
            this.upAllMoney +=this.upData[i].price*this.upData[i].count;
          }
        },
        delGoods(goods){
    
          var sum= --goods.count;
          console.log(sum);
          // 如果商品数量不为0,返回;此时如果商品数量为0,则删除该商品表中所有信息
          if(sum>0){
            this.getallCount();
            return;
          }else{
            // for(let j=0;j<this.tableData.length;j++){
            //   if(this.tableData[j].count == 0){
            //     this.tableData.splice(j,1);
            //     this.getallCount();
            //   }
            // }
            this.tableData = this.tableData.filter(q=>q.count != 0);
            this.getallCount();
          }
        },
        upDelGoods(goods){
          var sum= --goods.count;
          console.log(sum);
          if(sum>0){
            this.upGetallCount();
            return;
          }else{
            this.upData = this.upData.filter(q=>q.count != 0);
            this.upGetallCount();
          }
        },
        upAddGoods(goods){
          // 判断该商品是否已经存在挂单列表中
          let flag = false;
          for(let i=0;i<this.upData.length;i++){
            if(goods.goodsId == this.upData[i].goodsId){
              flag = true;
              console.log(flag);
            }
          }
          // 根据判断结果进行点餐列表的数据更新
          if(flag){
            let arr = this.upData.filter(o=> o.goodsId == goods.goodsId);
            console.log(arr);
            arr[0].count++;
            
          }else{
            var newGoods = {goodsId:goods.goodsId, goodsName:goods.goodsName, price:goods.price,count:1};
            this.upData.push(newGoods);
            console.log(newGoods);
          }
          this.upGetallCount();
        },
        solveMenu(){
          if(this.tableData.length ==0){
            // alert("请您先进行点餐!");
            this.$message.error('不能空结!');
            return
          }
          this.tableData = [];
          this.allCount = 0;
          this.allMoney = 0;
          alert("结账成功!");
        },
        upMenu(){
          this.upData = this.tableData;
          this.tableData = [];
          this.allCount = 0;
          this.allMoney = 0;
          this.upGetallCount();
        },
        delMenu(){
          this.tableData = [];
          this.allCount = 0;
          this.allMoney = 0;
        },
        returnMenu(){
          this.tableData = this.upData;
          this.upData = [];
          this.upAllCount = 0;
          this.upAllMoney = 0;
          this.getallCount();
        }
    
      }
    

      源代码github地址:https://github.com/sllhappy/order_pos

    参考资料:

    https://element.eleme.cn/#/zh-CN/component/layout

    https://www.cnblogs.com/mumu122GIS/p/11208815.html

    https://jspang.com/

  • 相关阅读:
    datum of data matrix
    data matrix with opensource
    wps出现“文档已被其他应用程序锁定,是否以只读模式打开”
    error MSB3073解决办法
    vc6下dll调试
    往客户机子上装dll时,报缺失mfc42d.dll
    进程通信编码和解码
    java后端选型20200729
    Git安装与使用
    Kitty基于Spring Boot、Spring Cloud、Vue.js、Element实现前后端分离的权限管理系统
  • 原文地址:https://www.cnblogs.com/1833lljy/p/12444739.html
Copyright © 2011-2022 走看看