cb_alllist.js 10.3 KB
var util = require('../../utils/util.js')
var uri=require('../../utils/uri.js')
Page({
    data:{
        sellerid:'',
        toView:'',
        scrollTop:0,
        hiddenLoading:false
    },
    onLoad:function(opt){
        wx.removeStorage({key:'cook_name'})
        this.setData({
            sellerid: util.cache("sellerid"),
        })
        wx.setNavigationBarTitle({
            title:'我的菜品',
        })
        var that=this;
        wx.getSystemInfo({
            success: function(res) {
                var ratio=750/res.windowWidth;
                that.setData({
                    totalHeight:res.windowHeight-Math.round(160/ratio),
                    ratio:ratio
                })

            }
        })
    },
    onShow:function(){
        //修改菜品或添加菜品过来
        if(util.cache('kindfood')){
            var kindfood=util.cache('kindfood')
            this.setData({
                cookid:kindfood.cid,
                id:kindfood.id,
                hiddenLoading:false
            })
           wx.removeStorage({key:'kindfood'})
        }
        this.list();
        this.alert=this.selectComponent('#alert');
        console.log(this.data.cookid,this.data.id)
        this.typeList();
        var that=this;
        util.postSuccessFun=function(json,uri_code) {
            switch (uri_code) {
                case  uri.CGI__USER_GETCOOKBOOKBYCLASS__CODE:
                    console.log(json)
                    if(json.ret==200){
                        if(json.data[0].list!=''){
                            var list=json.data[0].list;
                            if(list!=''){
                                var commonList=[];
                                list.forEach(function(v,i){
                                    if(v.class_type==1){
                                        commonList=v.cookbooklist[0]
                                    }
                                })
                                if(typeof commonList!='string' && commonList.length>0){
                                    list.forEach(function(v,i){
                                        if(v.class_type==2){
                                            var cooklist=v.cookbooklist[0];
                                            if(cooklist){
                                                commonList.forEach(function(cc,kk){
                                                    cooklist.forEach(function(r,n){
                                                        if(r.id==cc.id){
                                                            cooklist.splice(n,1)
                                                        }
                                                    })

                                                })
                                            }
                                            v.cookbooklist[0]=cooklist;
                                        }
                                    })
                                }
                                var tempcooklist=[];
                                list.forEach(function(v,i){
                                    if(typeof v.cookbooklist[0]!='string'){
                                        if(v.cookbooklist[0].length>0){
                                            tempcooklist.push(v)
                                        }
                                    }

                                })
                                list=tempcooklist;
                                if(list.length>0){
                                    list.forEach(function(v,i){
                                        v.style=false
                                        var cooktemp=[{border:[],height:0},{border:[],height:0}];
                                        var left=[];
                                        var right=[];
                                        var listheight;
                                        var cooklist=v.cookbooklist[0];
                                        var leftheight=0;
                                        var rightheight=0;
                                        if(cooklist){
                                            cooklist.forEach(function(r,n){
                                                if(r.name.length>8){
                                                    r.name=r.name.slice(0,7)+'...';
                                                }
                                                if(n%2==0){
                                                    r.bg_color="bg-pink";
                                                    left.push(r)
                                                    if(r.image){
                                                        leftheight+=410
                                                    }else{
                                                        leftheight+=255
                                                    }
                                                }else{
                                                    r.bg_color="bg-blue";
                                                    right.push(r)
                                                    if(r.image){
                                                        rightheight+=410
                                                    }else{
                                                        rightheight+=255
                                                    }
                                                }
                                            })
                                        }
                                        if(leftheight>rightheight){
                                            listheight=leftheight
                                        }else{
                                            listheight=rightheight
                                        }
                                        cooktemp[0].height=listheight;
                                        cooktemp[1].height=listheight;
                                        cooktemp[0].border=left;
                                        cooktemp[1].border=right;
                                        v.cook_bg=cooktemp
                                    })
                                    list[0].style=true
                                }
                                that.setData({
                                    cooklist:list.length>0 ? list : null,
                                    hiddenLoading:true
                                })
                                if(list.length>0){
                                    that.heightlist();
                                    if(that.data.height_list[that.data.height_list.length-1]>that.data.totalHeight){
                                        that.setData({
                                            showshadow:true
                                        })
                                    }
                                }
                                if(that.data.cookid){
                                    that.setData({
                                        toView:'into'+that.data.cookid+'view'+that.data.id
                                    })
                                }
                            }
                            }else{
                                that.setData({
                                    hiddenLoading:true
                                })
                            }

                    }else{
						that.setData({
						    hiddenLoading:true
						})
					}
                break;
                case uri.CGI__USER_GETCOOKBOOKCLASSBYSELLERID__CODE:
                      if(json.ret==200){
                          that.setData({
                              kind:json.data[0].length>1 ? true  : false
                          })
                      }
                break;
            }
        }
    },
    onReady:function(){
        // this.setData({
        //     hiddenLoading:true
        // })
    },
    //获取菜品列表
    list:function(){
        util.post(uri.CGI__USER_GETCOOKBOOKBYCLASS,{sellerid:this.data.sellerid},uri.CGI__USER_GETCOOKBOOKBYCLASS__CODE);
    },
    //获取商家菜品分类
    typeList:function(){
        util.post(uri.CGI__USER_GETCOOKBOOKCLASSBYSELLERID,{SellerId:this.data.sellerid},uri.CGI__USER_GETCOOKBOOKCLASSBYSELLERID__CODE)
    },
    //修改菜品
    editcook:function(e){
       console.log(util.powercontro('修改菜品'))
       if(util.powercontro('修改菜品')==true){
           wx.navigateTo({
               url:'cb_sadd?id='+e.currentTarget.dataset.id+'&cid='+e.currentTarget.dataset.cid+'&url='+e.currentTarget.dataset.url
           })
       }else{
           this.alert.show('您当前没有权限修改菜品');
       }

    },
    //快速找到修改菜品
    into:function(cid){
        this.setData({
            toView:'inToView'+cid,
        })
    },
    //获取每个分类菜品高度
    heightlist:function(){
        var arr=[0];
        var sum=0;
        var cooklist=this.data.cooklist;
        var that=this;
        for(var i=0;i<cooklist.length-1;i++){
            var thisheight=cooklist[i].cook_bg[0].height+116-35;
            sum+=thisheight;
            var singleheight=parseInt(sum/this.data.ratio)
            arr.push(singleheight)
        }
        this.setData({
            height_list:arr
        })
    },
    //菜品滚动
    menuscroll:function(e){
        console.log(e.detail.scrollTop)
        var cooklist=this.data.cooklist;
        var arr=this.data.height_list;
        console.log(arr)
        //计算边界距离判断修饰是否改变
        if(arr.length>1){
            for(var i=0;i<arr.length;i++){
                if(e.detail.scrollTop>=arr[i]){
                    for(var j=0;j<arr.length;j++){
                        cooklist[j].style=false;
                    }
                    cooklist[i].style=true;

                }
            }
        }

        if (e.detail.scrollTop<10){
            cooklist[0].style=true;
        }
        this.setData({
            cooklist:cooklist
        })

    },
    //分类管理
    cookClass:function(){
        wx.navigateTo({
            url:'../cooktype/ct_list'
        })
    },
    netchange:function(){
        this.onShow();
    },
    addcook:function(){
        wx.navigateTo({
            url:'cb_fadd?url=alllist'
        })

    },
})