b_detail.js 6.1 KB
var util = require('../../utils/util.js')
var uri=require('../../utils/uri.js')
import App from '../../utils/api';
const {regeneratorRuntime} = global
import TP from '../../utils/tpls';
Page({
    data:{
      actionSheetHidden:true,
      actionSheetItems:['客户取消','客户行程改变']
    },
    sc:{},
  tpls:TP.tpls(),
  enter_params:{},
    onLoad:async function (opt) {
        util.setBarTitle('预定详情');
        console.log(opt)
        this.getDetail(opt.id);
        wx.showShareMenu({
            withShareTicket: true,
            success:function(res){
                console.log(res)
            }
        })
      this.enter_params=util.cache('enter_params');
      this.sc=(await App.Reserve.SellerInfo(this.enter_params)).data;
      console.log('this.sc',this.sc);
        this.chooseManagerInit();
    },
    onShow:function(){
        this.notice=this.selectComponent('#notice');
    },
    noticeCall:function(){
        this.selectComponent('#notice').show();
    },
    onShareAppMessage: function () {
        this.selectComponent('#notice').close();
        var obj=this.data.bookInfo;
        let path=util.http_build_query({
          id:this.data.bookInfo.id,
          fromid:getApp().openid,
          hasSellerShare:1,
          hasInvitation:1,
          tplid:1
        },'/pages/customer/index')
        return {
            //title: (nickname||'')+'给你发送了一个订座信息,点击查看详情',
            title: this.tpls[0].shareFirstTitle,
            path: path,
            imageUrl:this.tpls[0].shareFirstImage,
            success: function (res) {
                console.log(res,666666)
            },
            fail:function(){
                console.log('ccccc')
            },
            complete:function(){
                console.log('ccccc')
            }
        };
    },
    getcall:function(){
      if(!this.detailData.hasOwner){
        return util.toast('只有记录人可以拨打','none');
      }
      if(this.data.bookInfo.phone.length<3){
        return util.toast('号码错误','none');
      }
        wx.makePhoneCall({
            phoneNumber: this.data.bookInfo.phone, //仅为示例,并非真实的电话号码
            complete:()=>{
                this.selectComponent('#notice').close();
            }
        })
    },
    chooseManagerInit(){
        try{
            let managers=this.sc.manager;
            let mans=[];
            let mans_role=[];
            // let space='';
            // for(let i=0;i<50;i++){
            //   space+=' ';
            // }
            if(managers.length>0){
                managers.forEach(man=>{
                  let nickname=man.nick_name||man.user_name;
                    mans.push(nickname);
                  //mans_role.push('     ['+man.role_name+'] -- '+man.user_name+space);
                  mans_role.push('['+man.role_name+'] -- '+nickname);
                })
            }
            this.setData({mans:mans,mans_role:mans_role})
        }catch(e){
            wx.showToast({
                title:'无客户经理',
                icon:'none'
            });
        }
    },
    chooseManager(e){
        let mansIndex=util.val(e);
        this.setData({mansIndex:mansIndex});
        try{
            let managers=this.sc.manager;
            let man=managers[mansIndex];
            if(man){
                App.Reserve.SetReserveCusman({
                    rid:this.data.bookInfo.id,
                    cusman_id:man.id,
                    cusman:man.nick_name||man.user_name,
                    cusman_phone:man.user_phone?man.user_phone:'',
                    cusman_account:man.user_wechat?man.user_wechat:'',
                    cusman_openid:man.seat_openid?man.seat_openid:''
                }).then(()=>{
                    this.getDetail(this.data.bookInfo.id,true);
                });
            }
        }catch(e){
            console.log(e);
        }

    },
  flushSellerInfo(){
    App.Reserve.SellerInfo(util.cache('enter_params'),true);
  },
    detailData:null,
    async getDetail(id,force=false){
        let res=await App.Reserve.Detail({rid:id,openid:''},force);
        res.data.rdateStr=util.unixtoTime(res.data.ddate,"MM月DD日 HH:II")
        res.data.phoneStr=res.data.phone||'';
        let enter_params=util.cache('enter_params');
        let sc=(await App.Reserve.SellerInfo(enter_params)).data
        let note_openid=enter_params.seller_openid;
        res.data.hasOwner=false;
        if(note_openid==res.data.note_openid || sc.seller_user.role_name=='管理员'){
          res.data.hasOwner=true;
        }
        if(!res.data.hasOwner){
          res.data.phoneStr=res.data.phoneStr.replace(/(\d{2})(.{5})(\d{3})/,function($0,$1,$2,$3){
            return $1+'**'+$3;
          })
        }
      if(res.data.status==4 && res.data.cancel){
        res.data.cancel.cdateStr=util.unixtoTime(res.data.cancel.cdate,"YYYY.MM.DD HH:II")
      }
        this.detailData=res.data;

        this.setData({
            tables:res.data.tables,
            bookInfo:res.data,
        })
    },
    gotoModify(){
        wx.redirectTo({
            url:'./b_addnew?id='+this.data.bookInfo.id
        })
    },
  cancelReserve(){
    this.selectComponent('#cancel').show();
  },
  reserveCancel(e){
    console.log('reserveCancel',e.detail);
    this.getDetail(this.data.bookInfo.id,true);
  },
  actionSheetChange(e){
    this.setData({
      actionSheetHidden:true
    })
  },
  async startDinner(e){
    let cause={};
    let enter_params=util.cache('enter_params');
    let sc=(await App.Reserve.SellerInfo(enter_params)).data
    cause={desc:""}
    if(enter_params){
      cause.uid=enter_params.manager_id;
    }
    if(sc.seller_user){
      cause.uname=(sc.seller_user.nick_name||sc.seller_user.nickname)
    }
    App.Reserve.SetReserveStatus({
      rid:this.data.bookInfo.id,
      status:util.attr(e,'status'),
      cause:JSON.stringify(cause),
    }).then(()=>{
      this.getDetail(this.data.bookInfo.id,true);
    });
  },
  showOrder(){
    wx.navigateTo({
      url:util.http_build_query({rid:this.data.bookInfo.id,oid:this.data.bookInfo.orderid,identity:2},'/pack-cookbook/pages/success')
    });
  },
})