carDetails.js 8.8 KB
import {
  request
} from "../../request/index.js"
const a = getApp()
var WxParse = require('../../wxParse/wxParse.js');
Page({
  data: {
    imagesUrl: a.globalData.baseUrl,
    detailsContent: [],
    id: '',
    gui_arr: [], //规格ID数组;如[53,40];单规格商品不用传
    goods_id: '',
    gui: [], // 规格商品选择 
    _num: 1,
    content: '',
    msg: '',
    changedShop: [], // 购买时的规格列表
    jiaOrPay: '购买',
    num: 1,
    changed: true, // 规格显示
    show: false,
    addshow: false,
    currentItemText: '',
    type: 3,
    pingList: [],
    s4_id: '',
    fx_user: '',

  },
  onLoad: function (options) {
    let that = this
    console.log(options);
    let token = wx.getStorageSync('token')
    if (!options.scene) {
      that.setData({
        id: options.id,
      })
    } else {
      that.setData({
        id: options.id,
      })
    }
    if (token) {
      that.getDetailsContent()
      that.getPingList()
    } else {
      that.getToken()
    }
  },

  onShow: function () {

  },
  goConfirm(e) {
    let id = e.currentTarget.dataset.id
    wx.navigateTo({
      url: '/pages/confirmStoreOrder/confirmStoreOrder?id=' + id + '&goto=1'
    })
  },
  previewImage: function (e) {
    var current = e.target.dataset.src;
    var imgList = e.target.dataset.list
    //图片预览
    wx.previewImage({
      current: current, // 当前显示图片的http链接
      urls: imgList // 需要预览的图片http链接列表
    })
  },
  bindMakePhone(e) {
    console.log(e);
    let phone = e.currentTarget.dataset.phone
    wx.makePhoneCall({
      phoneNumber: phone
    })
  },
  async getDetailsContent() {
    let that = this;
    const {
      data: {
        data
      }
    } = await request({
      url: 'api/shop4s2/cheDetail',
      data: {
        id: that.data.id,
      },
    })
    console.log(data);
    that.setData({
      s4_id: data.s4_id,
      detailsContent: data,
      content: data.content,
    })
    WxParse.wxParse('content', 'html', that.data.content, that, 5);
  },
  changeTitle(e) { //  详情 评价 切换
    let that = this
    that.setData({
      _num: e.currentTarget.dataset.num

    })

  },
  async getPingList() { // 获取评价
    let that = this
    try {
      const {
        data: {
          data
        }
      } = await request({
        url: 'api/ping/pingList',
        data: {
          type: that.data.type,
          id: that.data.id
        }
      })
      that.setData({
        pingList: data
      })
      console.log(data, "获取评价");
    } catch (err) {
      console.log(err);
      that.setData({
        msg: err.msg
      })
      that.popMaskTest()

    }

  },


  clickme(e) { //立即购买  弹窗妞
    let that = this
    that.setData({
      show: true,
      addshow: false,
      id: e.currentTarget.dataset.id
    })
    this.showModal();
    request({
      method: 'get',
      url: 'api/shop4s/peiDetail',
      data: {
        id: that.data.id
      }
    }).then(res => {
      let arryNew = []
      that.setData({
        changedShop: res.data.data,
        gui: arryNew
      })

    }).catch(err => {
      console.log(err);
      that.setData({
        msg: err.msg
      })
      that.popMaskTest()
    })
  },
  countMinus() { //  商品数量减
    let that = this
    let a = that.data.num - 1
    if (a >= 1) {
      that.setData({
        num: a
      })
    } else {
      that.setData({
        num: 1
      })
    }
  },
  countPlus() { //  商品数量加
    let that = this
    let a = that.data.num + 1
    that.setData({
      num: a
    })
  },
  changeitem(e) { // 选中规格
    let that = this
    let a = e.currentTarget.dataset.gui_id
    let parindex = e.currentTarget.dataset.parindex;
    let secindex = e.currentTarget.dataset.index;
    that.data.gui[parindex].lineId = secindex;
    let obj = that.data.gui_arr
    obj.push(a)
    let guiArr = [...new Set(obj)]
    that.setData({
      gui: that.data.gui,
      gui_arr: guiArr
    })

  },
  payStore(e) { // 购买  跳页面
    // console.log(e, "参数");
    let id = e.currentTarget.dataset.id
    let num = this.data.num
    let token = wx.getStorageSync("token")
    if (token) {
      wx.navigateTo({
        url: '/pages/4SshopcartOrder/4SshopcartOrder?id=' + id + '&num=' + num
      })
    } else {
      this.setData({
        msg: '请登录后操作'
      })
      this.popMaskTest()
    }
  },
  showModal() { //显示对话框
    // 显示遮罩层
    var animation = wx.createAnimation({
      duration: 200,
      timingFunction: "linear",
      delay: 0
    })
    this.animation = animation
    animation.translateY(300).step()
    this.setData({
      animationData: animation.export(),
      showModalStatus: true
    })
    setTimeout(function () {
      animation.translateY(0).step()
      this.setData({
        animationData: animation.export()
      })
    }.bind(this), 200)
  },
  hideModal() { //隐藏对话框
    // 隐藏遮罩层
    var animation = wx.createAnimation({
      duration: 200,
      timingFunction: "linear",
      delay: 0
    })
    this.animation = animation
    animation.translateY(300).step()
    this.setData({
      animationData: animation.export(),
    })
    setTimeout(function () {
      animation.translateY(0).step()
      this.setData({
        animationData: animation.export(),
        showModalStatus: false
      })
    }.bind(this), 200)
  },
  golookfuwu() {
    let s4_id = this.data.s4_id
    wx.navigateTo({
      url: '/pages/addCarbook/addCarbook?s4_id=' + s4_id
    })
  },
  popSuccessTest() { // 消息提示
    wx.showToast({
      title: this.data.msg,
      icon: '', //默认值是success,就算没有icon这个值,就算有其他值最终也显示success
      duration: 2000, //停留时间
    })
  },
  text(details) { // 详情的内容规格

    var texts = ''; //待拼接的内容

    while (details.indexOf('<img') != -1) { //寻找img 循环

      texts += details.substring('0', details.indexOf('<img') + 4); //截取到<img前面的内容

      details = details.substring(details.indexOf('<img') + 4); //<img 后面的内容

      if (details.indexOf('style=') != -1 && details.indexOf('style=') < details.indexOf('>')) {

        texts += details.substring(0, details.indexOf('style="') + 7) + "max-width:100%;height:auto;margin:0 auto; display:block; "; //从 <img 后面的内容 截取到style= 加上自己要加的内容

        details = details.substring(details.indexOf('style="') + 7); //style后面的内容拼接

      } else {

        texts += ' style="max-width:100%;height:auto;margin:0 auto; display:block;" ';

      }
    }

    while (details.indexOf('<td') != -1) { //寻找img 循环

      texts += details.substring('0', details.indexOf('<td') + 4); //截取到<img前面的内容

      details = details.substring(details.indexOf('<td') + 4); //<img 后面的内容

      if (details.indexOf('style=') != -1 && details.indexOf('style=') < details.indexOf('>')) {

        texts += details.substring(0, details.indexOf('style="') + 7) + "width:750rpx!important;height:auto;margin:0 auto;"; //从 <img 后面的内容 截取到style= 加上自己要加的内容

        details = details.substring(details.indexOf('style="') + 7); //style后面的内容拼接

      } else {
        //  console.log(34449898) 

        texts += ' style="width:750rpx;height:auto;margin:0 auto;" ';
      }
    }
    texts += details; //最后拼接的内容
    // console.log(texts)
    return texts;


  },
  popMaskTest() {
    wx.showToast({
      title: this.data.msg,
      duration: 2000,
      icon: 'none',
      mask: true //是否有透明蒙层,默认为false 
      //如果有透明蒙层,弹窗的期间不能点击文档内容 
    })
  },
  GOcanvas() {
    let id = this.data.id
    let token = wx.getStorageSync("token")
    if (token) {
      wx.navigateTo({
        url: '/pages/canvasB/canvasB?id=' + id + '&type=2'
      })
    } else {
      that.getToken()
    }
  },
  onShareAppMessage(options) {
    var that = this;
    // 设置菜单中的转发按钮触发转发事件时的转发内容
    var shareObj = {
      title: "车唛优选", // 默认是小程序的名称(可以写slogan等)
      path: '/pages/carDetails/carDetails?id=' + that.data.id, // 默认是当前页面,必须是以‘/’开头的完整路径
      imageUrl: '', //自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径,支持PNG及JPG,不传入 imageUrl 则使用默认截图。显示图片长宽比是 5:4

    };
    // 返回shareObj
    return shareObj;

  },
  getToken() {
    let that = this
    wx.showModal({
      title: '提示',
      content: '您尚未登录,请登录后操作',
      success: function (res) {
        if (res.confirm) {
          that.selectComponent('#lfyLogin').getLogin('哈哈哈是')
        } else {
          console.log('点击取消回调')
        }
      }
    })
  },
})