import { queryMyFavorite } from "../../services/api/orders/index" import Toast from "../../miniprogram_npm/@vant/weapp/toast/toast" import { clientType, isEncrypted, marketid, protoHeader, userid, timetample, getErrorMsg } from "../../services/utils"; import { sendMsgToMQ } from "../../services/api/common/index"; import { FunCode } from "../../constants/enum/funcode"; import { isnullstr } from "../../utils/util"; import { hideLoading, showLoading } from "../../utils/message/index"; import { encryptBody } from "../../utils/websocket/crypto"; import services from "../../services/index"; Page({ /** * 页面的初始数据 */ data: { /// 状态栏高度 statusBarHeight: getApp().globalData.statusBarHeight, /// 导航栏高度 navHeight: getApp().globalData.navHeight, /// 底部安全区域 safeBottom: getApp().globalData.safeBottom, /// 窗口高度 windowHeight: getApp().globalData.windowHeight, /// tabs tabs: [{id: 2, name: '单颗裸钻'}, {id: 5, name: '单颗彩钻'}], /// tab索引 active: 0, /// 列头 titles: [['重量', '形状', '尺寸', '编号'], ['颜色 | 净度| 切工 | 抛光 | 对称 | 荧光 | 证书', '价格']], /// 我的收藏 favorites: [], /// 是否空数据 isEmpty: true, /// 显示的值 values: [{ up: [''], dwn: [''] }], /// 左滑宽度 width: 50, }, /** * 每行选中触发事件 */ onSelectItem(e: any) { var obj = this.data.favorites[e.currentTarget.id] obj.isChecked = !obj.isChecked this.data.favorites[e.currentTarget.id] = obj /// 数据赋值 this.setData({ favorites: this.data.favorites }) }, /** * tab触发事件 */ onTabChange(e: any) { this.setData({ active: e.detail.index }) /// 查询数据 this.queryMyFavorite() }, /** * 按钮点击事件 */ onButtonPressed() { /// 数据过滤 const objs = this.data.favorites.filter(itm => { return itm.isChecked }) /// 对比最多不能超过3项 if (objs.length < 2 || objs.length > 3) { Toast('对比不能少于2项、最多不能超过3项') return } /// 页面跳转 wx.navigateTo({ url: '/mCircle/pages/contrast/index?params='+JSON.stringify(objs) }) }, /** * tab触发事件 */ onCancelFavorite(e: any) { /// loding..... showLoading(()=>{ /// 获取对应的id const ids = ( e.target.id).split(' ') const index = ids[1] const wrtradeorderid = this.data.favorites[index].wrtradeorderid /// 参数信息 const info = JSON.stringify({ UserID: userid(), OperateType: 2, ClientType: clientType(), MarketID: marketid(), ClientSerialNo: timetample().toString(), WRTradeOrderID: wrtradeorderid, Header: protoHeader(FunCode.GoodsFavoriteOperateReq) }) /// 发送请求 sendMsgToMQ({ data: { data: encryptBody(info), funCodeReq: FunCode.GoodsFavoriteOperateReq, funCodeRsp: FunCode.GoodsFavoriteOperateRsp, isEncrypted: isEncrypted() }, success: (res) => { /// 解析对象 const data = JSON.parse(res.data.data) if (data.RetCode != 0) { hideLoading(() => {}, getErrorMsg(data.RetCode)) return } /// 操作成功 hideLoading(()=>{ /// 更新数据 this.queryMyFavorite() }, '请求成功', 'success') }, fail: (emsg) => { /// 操作失败 hideLoading(()=>{}, emsg) }, complete: () => { wx.stopPullDownRefresh() } }) }) }, /// 查询我的收藏数据信息 queryMyFavorite() { /// showLoading showLoading(()=> { /// 发送查询 queryMyFavorite({ data: { userid: userid(), zscategorys: this.data.active == 0 ? '2' : '5' }, /// 加载成功 success: (res) => { if (res.code != 200) { /// 加载失败 hideLoading(()=>{}, '请求失败,原因:'+res.msg) return } hideLoading(()=>{ /// 数据赋值 this.setData({ favorites: res.data.map(itm => { var obj = itm obj.imagepath = (services.config.openApiUrl+itm.imagepath).replace('./uploadFile', '/uploadFile') return obj }), isEmpty: res.data.length === 0, /// 显示的值 values: res.data.map(obj => { return {up: [obj.weight.toString()+'ct', isnullstr(obj.zsshapetypedisplay), isnullstr(obj.sizedisplay), isnullstr(obj.zscategorydisplay)], dwn: [isnullstr(obj.zscolortype1display)+' | '+ isnullstr(obj.zsclaritytype1display)+' | '+ isnullstr(obj.zscuttype1display)+' | '+ isnullstr(obj.zspolishtype1display)+' | '+ isnullstr(obj.zssymmetrytype1display)+' | '+ isnullstr(obj.zsfluorescencetype1display), obj.zscurrencytypedisplayunit+obj.price.toFixed(2)]} }) }) }) }, fail: (emsg) => { /// 加载失败 hideLoading(()=>{}, emsg) }, complete: () => { /// 停止下拉刷新 wx.stopPullDownRefresh() } }) }) }, /** * 生命周期函数--监听页面加载 */ onLoad() { /// 查询数据 this.queryMyFavorite() }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { this.getTabBar().init() }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { /// 查询数据 this.queryMyFavorite() }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })