| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248 |
- <template>
- <view v-if="allShow">
- <!--product/xrzqDetails/xrzqDetails.wxml-->
- <view class="banner">
- <swiper class="swiper" @change="swiperChange" :current="current" autoplay="true" circular="true"
- duration="1000">
- <block v-for="(item, index) in bannerUrls" :key="index">
- <swiper-item autoplay="true">
- <image :src="item + '?x-oss-process=style/w750-auto'" mode="aspectFit"></image>
- </swiper-item>
- </block>
- </swiper>
- <view class="dots dflex">
- <block v-for="(item, index) in bannerUrls" :key="index">
- <view :class="'dot ' + (index == swiperCurrent ? ' active' : '')" :data-current="index"
- @tap="dotEvent"></view>
- </block>
- </view>
- </view>
- <!-- <view class="notification_bar" wx:if="{{isNotice}}">
- <swiper class="swiper_container" vertical="true" autoplay="true" circular="false" duration="1000" interval="5000" easing-function="easeInOutCubic" class="bar_box dflex">
- <swiper-item class="bar_con dflex" wx:for="{{contentList}}" wx:key="item">
- <view class="bar dflex">
- <image class="bar_left" src="{{item.pic}}" />
- <text class="bar_text">最新订单来自</text>
- <text class="bar_text">{{item.name}},</text>
- <text class="bar_text">{{item.time}}</text>
- </view>
- </swiper-item>
- </swiper>
- </view> -->
- <view class="group">
- <image src="/activity/static/activity/images/xrzxbg.png" class="ptbg"></image>
- <!-- <image src="/activity/images/xrzxbg.png" class="ptbg" wx:else></image> -->
- <view class="groups dflex">
- <view class="left">
- <view class="price">¥<text>{{act.money}}</text>
- <text class="origin"
- v-if="pro.marketPrice!=0&&pro.marketPrice>act.money">¥<text>{{pro.marketPrice}}</text></text>
- </view>
- <view class="pin">{{act.payQuantity?act.payQuantity:'0'}}人已参与</view>
- </view>
- <view class="right">
- <image src="/activity/static/activity/images/xrzx.png" class="tuan"></image>
- <view class="endtime dflex">
- <view>距结束还剩</view>
- <block v-if="timer[0] !==0"><text>{{timer[0]}}</text>{{timer.length>=4?'天':':'}}</block>
- <text>{{timer[1]}}</text>:
- <text>{{timer[2]}}</text>{{timer.length>=4?':':''}}
- <text v-if="timer.length>=4">{{timer[3]}}</text>
- </view>
- </view>
- </view>
- </view>
- <view class="info bgfff">
- <view class="infos dflex">
- <view class="title flex">
- <image src="/static/pages/images/jishida.png" class="tag" v-if="pro.isTimely === 1"></image>
- {{pro.title?pro.title:''}}
- </view>
- <view class="share" @tap="showShare">
- <image src="/static/pages/images/fxico.png"></image>分享
- </view>
- </view>
- <view class="guarantee dflex" v-if="guarantee.length>0">
- <view class="cont dflex">
- <view v-for="(item, index) in guarantee" :key="index" class="dflex li">
- <image src="/activity/static/activity/images/guarantee.png"></image>{{item}}
- </view>
- </view>
- </view>
- </view>
- <view class="detinfo mt20 bgfff">
- <!-- isOtc 0 默认 1 处方药 2 非处方药 3 医疗器械 4 食品类 5 海外购 -->
- <block v-if="act.isOtc!=5">
- <block v-if="is_open_shop == 1 && ascription">
- <view class="xiaodian dflex malr20"
- v-if="((act.isMeCommission != 1 || act.isMeCommission != '1') && act.oneCommission>0) || ((act.isMeCommission == 1 || act.isMeCommission == '1') && act.twoCommission>0) || act.serviceShopRate">
- <image :src="picUrlss+'xdbg1.png'" class="xdbg"></image>
- <view class="shouyi flex"
- v-if="((act.isMeCommission != 1 || act.isMeCommission != '1') && act.oneCommission>0) || ((act.isMeCommission == 1 || act.isMeCommission == '1') && act.twoCommission>0)">
- <text>分销收益</text>
- <view v-if="act.isMeCommission == 0"><text>¥</text>{{act.oneCommission}}</view>
- <view v-else><text>¥</text>{{act.twoCommission}}</view>
- </view>
- <view class="shouyi flex" v-if="act.serviceShopRate">
- <text>小店服务费</text>
- <view><text>¥</text>{{act.serviceShopRate}}</view>
- </view>
- <view class="dflex" v-if="act.isJoinShop">
- <view class="fenxiang" @tap="showShare">分享推广</view>
- <navigator :url="url" hover-class="none" class="goShop">去小店</navigator>
- </view>
- <view class="addshop" @tap="addShop" v-else>添加到小店</view>
- </view>
- </block>
- <block v-else>
- <view class="xiaodian dflex malr20"
- v-if="((act.isMeCommission != 1 || act.isMeCommission != '1') && act.oneCommission>0) || ((act.isMeCommission == 1 || act.isMeCommission == '1') && act.twoCommission>0)">
- <image :src="picUrlss+'xdbg1.png'" class="xdbg"></image>
- <view class="shouyi flex">
- <text>分销收益</text>
- <view v-if="act.isMeCommission == 0"><text>¥</text>{{act.oneCommission}}</view>
- <view v-else><text>¥</text>{{act.twoCommission}}</view>
- </view>
- <navigator url="/promote/apply/apply" hover-class="none" class="fenxiang"
- v-if="isDistriUser != 2">我要推广</navigator>
- <view class="fenxiang" @tap="showShare" v-else>分享推广</view>
- </view>
- </block>
- </block>
- <!-- <view class="item dflex">
- <label>优惠券</label>
- <view class="quan flex dflex">
- <view class="flex dflex">
- <text>满500减50</text>
- <text>满200减10</text>
- </view>
- <view class="ling dflex">领券<image src="/pages/images/more3.png"></image>
- </view>
- </view>
- </view> -->
- <view class="item pro-sel dflex" v-if="pro.propertiesList && pro.propertiesList.length > 0"
- @click="pro.stock > 0 ? addShopCart() : ''">
- <label>已选</label>
- <view class="flex">{{pro.properties}}</view>
- <image src="/static/pages/images/more.png" class="mrico"></image>
- </view>
- <view class="item dflex">
- <label>配送至</label>
- <view class="flex" @tap="toAddress">
- <view class="address">{{address.address?address.address:''}}{{address.house?address.house:''}}
- </view>
- <view class="huo" v-if="pro.isTimely == 1"><text>现货</text>,现在下单,预计2小时后送达</view>
- </view>
- <image src="/static/pages/images/more2.png" class="more" @tap="toAddress"></image>
- </view>
- <view class="item dflex">
- <label>提货门店</label>
- <view class="flex" @tap="toMerchant">
- <view class="address">{{merchant.title}}</view>
- </view>
- </view>
- <!-- <view class="item dflex">
- <label>参数</label>
- <view class="flex dis">
- <view wx:for="{{params}}" wx:key="index">
- {{item.name}}
- </view>
- <image src="../../pages/images/more.png" class="more1"></image>
- </view>
- </view> -->
- </view>
- <!-- 商品详情等页面 -->
- <product-footer ref="list" id="list" :detail="nodes" :imgs="imgs" :proId="pro.id" v-if="pro.id" :form="form"
- @showTab="showTab" @scoreTab="scoreTab" @freshen="freshenFun">
- </product-footer>
- <v-share :hide-toast="hideShare" :product="pro" :code-url="codeUrl" a-type="4" @onFather="click"></v-share>
- <view class="placeholder-view" :style="'height:' + (bottomBlankHeight + 140) + 'rpx'"></view>
- <view class="bot fixed bgfff dflex" :style="'padding-bottom: ' + (bottomBlankHeight + 20) + 'rpx'">
- <button open-type="contact" class="botbtn">
- <image src="/static/pages/images/kfico.png"></image>在线客服
- </button>
- <view class="botbtn" @click="jumpCart('pages/cart/cart')">
- <image src="/static/pages/images/gwc.png"></image>购物车<text class="message"
- v-if="pro.count > 0">{{pro.count}}</text>
- </view>
- <block v-if="!activityEnd">
- <block v-if="act.start">
- <view :class="['addcart',act.start? '' : 'gray']" @tap="addShopCart">加入购物车</view>
- <view class="gmbtnor mbglinear flot" @tap="atOnceBuy">{{pro.isOtc==1 ?'预约下单': '立即购买'}}</view>
- </block>
- <view v-else>
- <!-- <view class="addcart flot" bindtap="addShopCart">加入购物车</view> -->
- <view class="gmbtn1 flot" @tap="cancelActivityRemind" v-if="isRemind">
- <icon class="ico">
- <image src="/activity/static/activity/images/rednaozhong.png" class="background"></image>
- </icon>
- <text class="txt">取消提醒</text>
- </view>
- <view class="gmbtn mbglinear flot" @tap="addActivityRemind" v-else>
- <icon class="ico">
- <image src="/activity/static/activity/images/clock2.png" class="background"></image>
- </icon>
- <text class="txt">预约提醒</text>
- </view>
- </view>
- </block>
- <block v-else>
- <view class="gmbtn mbggray">活动不存在</view>
- </block>
- <!-- <view class="addcart {{pro.state == 1 ? '' : 'gray'}}" bindtap="addShopCart">加入购物车</view>
- <view class="gmbtn mbglinear" bindtap="atOnceBuy" wx:if="{{act.start}}">立即购买</view> -->
- <!-- <view wx:if="{{false}}">
- <view class="addcart flot" bindtap="addShopCart">加入购物车</view>
- </view> -->
- </view>
- <!-- 商品规格 -->
- <block v-if="isShow">
- <product-popup :product="popup" :activityId="act.id" :is-cart="isCart" @hidePopup="hidePopup"
- @addCartSuccess="addCartSuccess" :orderType="orderType" :merchant="merchant"
- :merchant-id="query.merchantId" :shopId="query.shopId" :actId="act.actId" @getPor="getPor">
- </product-popup>
- </block>
- <view class="contact_index" @tap="goTop">
- <image src="/static/pages/images/backtop.png"></image>顶部
- </view>
- <!-- 添加到小店成功 -->
- <view class="mask" :hidden="isHide" @tap="hidePop"></view>
- <view class="suc" :hidden="isHide">
- <image :src="picUrlss + 'tjcg1.png'" class="tjcg1"></image>
- <image :src="picUrlss+'tjcg.png'" class="tjcg"></image>
- <text>快去我的小店看看吧</text>
- <view class="shopcc dflex">
- <view class="shop" @tap="showShare">分享推广</view>
- <navigator :url="url" hover-class="none" class="shop">我的小店</navigator>
- </view>
- <!-- <view class="share-btn dflex">
- <button class="wxfriend dflex" open-type="share">
- <image src="/static/pages/images/wechat.png"></image>
- 微信好友
- </button>
- <view class="wxposter dflex" @tap="generatePoster">
- <image src="/static/pages/images/poster.png"></image>
- 生成海报
- </view>
- </view> -->
- <image src="/static/pages/images/close2.png" class="suc-close" @tap="hidePop"></image>
- </view>
- <block v-if="isPopupLogin">
- <product-login :about="about" @hidePopupLogin="hidePopupLogin"></product-login>
- </block>
- <update-userinfo :update-info="isUpdateInfo" :update-mobile="isUpdateMobile" v-if="isShowUpdate"
- @closeUpdate="closeUpdate"></update-userinfo>
- <privacy :is-update="true" @getLocations="initLocation"></privacy>
- <!-- #ifdef H5 -->
- <wx-share ref="wxshare" />
- <!-- #endif -->
- </view>
- </template>
- <script>
- // product/xrzqDetails/xrzqDetails.js
- const app = getApp();
- const req = require("../../utils/request.js");
- const utils = require("../../utils/util.js");
- var QQMapWX = require("../../utils/qqmap.js");
- const requsetmessage = require("../../utils/requestmessage.js");
- const route = require("../../utils/route");
- const api = require("../../utils/api");
- import productPopup from "../../components/product-popup/index";
- import vShare from "../../components/share/share";
- import productLogin from "../../components/product-login/index";
- export default {
- data() {
- return {
- picUrlss: req.public.picUrls,
- bottomBlankHeight: app.globalData.isIPhoneX ? 68 : 0,
- swiperCurrent: 0,
- bannerUrls: [],
- isShow: false,
- pro: {},
- timer: [],
- orderType: '',
- isRemind: false,
- hideShare: true,
- isCart: false,
- codeUrl: '',
- contentList: [{
- pic: "/static/pages/images/bar.png",
- name: '好风依旧',
- time: '4秒前'
- }, {
- pic: "/static/pages/images/bar.png",
- name: '杨鑫',
- time: '20秒前'
- }, {
- pic: "/static/pages/images/bar.png",
- name: '杨鑫',
- time: '5秒前'
- }],
- isNotice: false,
- user: true,
- form: {
- page: 1,
- limit: 10
- },
- freshen: true //是否更新页面
- ,
- current: "",
- query: "",
- imgs: "",
- activityEnd: false,
- act: "",
- address: {},
- popup: {},
- params: "",
- tabIndex: "",
- guarantee: "",
- is_open_comments: "",
- merchant: "",
- merchantId: "",
- shopId: "",
- nodes: "",
- switch: true,
- about: {},
- allShow: false,
- isHide: true, //添加小店成功弹窗
- is_open_shop: '', //商户是否开启分销
- ascription: false, //是否开启小店
- isDistriUser: 0, // 判断用户是否是分销员 2为分销员
- isPopupLogin: false,
- isShowUpdate: false, //是否显示更新信息弹窗
- isUpdateInfo: false, //更新用户信息
- isUpdateMobile: false, //绑定手机号
- };
- },
- components: {
- productPopup,
- vShare,
- productLogin
- },
- props: {},
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: async function(options) {
- if (options.appId) req.setStorage('appId', options.appId);
- this.query = options;
- this.setData({
- query: options
- });
- if (options.scene) {
- this.scene = options.scene;
- }
- if (options.isShare) {
- this.query.id = options.id;
- this.query.acid = options.acid;
- req.setStorage('pidCode', options.userId);
- let params = {
- userId: options.userId,
- merchantId: options.merchantId ? options.merchantId : '',
- }
- await this.bindUser(params);
- } else {
- await req.silenceLogin();
- }
- // console.log(options);
- // console.info(options);
- setInterval(() => {
- this.setData({
- isNotice: true
- });
- }, 10000);
- },
- onUnload() {
- if (this.timer) clearInterval(this.timer);
- },
- onShareAppMessage: function() {
- return this.onShareMessage();
- // return {
- // title: this.data.pro.title,
- // imageUrl: this.data.pro.pic,
- // path: '/activity/newbornDetails/newbornDetails?id=' + this.query.id + '&acid=' + this.query.acid + '&isShare=' + true + '&userId=' + req.getStorage('userInfo').id+'&merchantId='+this.data.query.merchantId
- // }
- },
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady() {
- // #ifdef H5
- var that = this;
- //初始化分享内容
- setTimeout(function() {
- var shareContent = that.onShareMessage();
- if (shareContent) {
- shareContent.path = window.location.origin + shareContent.path;
- }
- console.log('分享内容》》》》》', shareContent);
- that.$refs.wxshare.init(shareContent);
- }, 4 * 1000);
- // #endif
- },
- /**
- * 生命周期函数--监听页面显示
- */
- onShow: async function() {
- let that = this
- if (this.freshen) {
- await this.loadCodeParams();
- if (that.scene) {
- await that.bindUser(that.query);
- }
- this.getGuarantee().then(data => {
- if (this.switch) {
- that.getMerchant();
- }
- })
- // this.loadDefaultAddress();
- this.newuser();
- await this.browsRecound(this.query.id)
- }
- },
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide: function() {},
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload: function() {},
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh: function() {},
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom: function() {},
- onReachBottom() {
- if (this.is_open_comments == 1 && this.tabIndex == 2) {
- this.form.page++;
- this.setData({
- ['form.page']: this.form.page
- });
- // this.selectComponent("#list").loadScore(this.current);
- this.$refs.list.loadScore(this.current);
- }
- },
- methods: {
- initLocation() {
- this.getMerchant();
- },
- onShareMessage() {
- let merchantId = '';
- let path = '';
- let isSolution = '';
- // #ifndef H5
- isSolution = req.env[req.env.NODE_ENV].isSolution;
- // #endif
- // #ifdef H5
- isSolution = false;
- // #endif
- let userInfo = req.getStorage('userInfo');
- let shopId = '';
- if (isSolution) {
- path = '/share/home/index?appId=' + req.getStorage('appId') + '&userId=' + userInfo.id;
- } else {
- path = '/activity/newbornDetails/newbornDetails?id=' + this.query.id + '&acid=' + this.query.acid +
- '&isShare=' + true + '&appId=' + req.getStorage('appId');
- // console.log(!req.getStorage('userInfo').id);
- if (!userInfo.id) {} else {
- path += '&userId=' + userInfo.id;
- }
- // console.log(this.query.merchantId);
- if (req.getStorage('MERCHANT') && req.getStorage('MERCHANT').id != null) {
- path += '&merchantId=' + req.getStorage('MERCHANT').id;
- merchantId = req.getStorage('MERCHANT').id;
- if (req.getStorage('smallShop') && req.getStorage('MERCHANT').id != null) {
- path += '&shopId=' + req.getStorage('smallShop').id;
- shopId = req.getStorage('smallShop').id;
- merchantId = req.getStorage('smallShop').merchantDTO.id;
- }
- }
- }
- // console.log(path)
- route.share(1, userInfo.id, path, merchantId, shopId, 8, this.query.acid + '_' + this
- .query.id);
- return {
- title: this.pro.title,
- imageUrl: this.pro.pic,
- path: path
- };
- },
- getMerchant() {
- let that = this;
- api.getMerchant(this.query, req, data => {
- that.loadDefaultAddress();
- if (data == 1) {
- if (that.about.Many_Store == 1) api.locationShow()
- else {
- that.getuserInfos(data);
- if (req.getStorage('defaultMerchant')) {
- that.merchant = req.getStorage('defaultMerchant');
- that.query.merchantId = that.merchant.id
- } else {
- api.defaultMerchant(req, that.query, defaultRes => {
- that.merchant = defaultRes;
- that.query.merchantId = defaultRes.id
- });
- }
- that.loadProudct(that.query);
- }
- } else {
- that.getuserInfos(data);
- if (data.type == 5) {
- that.query.merchantId = data.merchantDTO.id
- that.query.shopId = data.id
- } else {
- that.query.merchantId = data.id
- }
- if (req.getStorage('userInfo') && that.merchant.id != data.id) {
- this.loadProudct();
- let pages = getCurrentPages();
- var prevPage = pages[pages.length - 2];
- if (prevPage) {
- prevPage.$vm.setData({
- freshen: true
- });
- }
- } else {
- this.loadProudct();
- }
- that.merchant = data
- }
- })
- },
- bindUser(par) {
- let userInfo = req.getStorage('userInfo');
- if (!userInfo) {
- // uni.login({
- // success(res) {
- // let params = {
- // code: res.code,
- // parentId: par.userId,
- // merchantId: par.merchantId ? par.merchantId : par.shopId ? par.shopId : ''
- // }
- // return new Promise((resolve,reject)=>{
- // req.postRequest('/api/v2/login', params, data => {
- // resolve();
- // });
- // })
- // }
- // });
- // this.isPopupLogin = true;
- req.silenceLogin(par.userId, par.merchantId ? par.merchantId : par.shopId ? par.shopId : '');
- }
- },
- click(e) {
- // console.log(e)
- this.hideShare = e
- },
- showShare() {
- // #ifndef H5
- req.isLogin().then(success => {
- if (success) {
- this.getCodeUrl()
- this.setData({
- hideShare: false
- });
- }
- });
- // #endif
- },
- /**
- * 轮播切换
- */
- swiperChange({
- detail
- }) {
- if (this.current == 0 && this.swiperCurrent > 1) {
- //卡死时,重置current为正确索引
- this.setData({
- current: this.swiperCurrent
- });
- } else {
- //正常轮转时,记录正确页码索引
- this.setData({
- swiperCurrent: detail.current
- });
- }
- },
- dotEvent(e) {
- this.setData({
- current: e.currentTarget.dataset.current
- });
- },
- browsRecound(id) {
- let from = {
- bindId: id,
- type: 8,
- page: '/activity/newbornDetails/newbornDetails?id=' + this.query.id + '&acid=' + this.query.acid
- }; // if(this.query.scene){
- // from.shareType=12
- // from.page='/activity/seckillDetails/seckillDetails?id=' + this.query.id+'&acid=' + this.query.acid +'&scene='+this.query.scene
- // if(!this.data.params.merchantId){}else{
- // from.merchantId=this.data.params.merchantId
- // }
- // if(!this.data.params.shopId){}else{
- // from.shopId=this.data.params.shopId
- // }
- // if(!this.data.params.userId){}else{
- // from.uid=this.data.params.userId
- // }
- // }
- if (this.query.isShare) {
- from.shareType = 1;
- from.page = '/activity/newbornDetails/newbornDetails?id=' + this.query.id + '&acid=' + this.query
- .acid +
- '&isShare=' + true;
- if (!this.query.userId) {} else {
- from.page += '&userId=' + this.query.userId;
- }
- if (!this.query.merchantId) {} else {
- from.merchantId = this.query.merchantId;
- }
- if (!this.query.shopId) {} else {
- from.shopId = this.query.shopId;
- }
- if (!this.query.userId) {} else {
- from.uid = this.query.userId;
- }
- }
- if (this.query.isShareTimeline) {
- from.shareType = 2;
- from.page = '/activity/newbornDetails/newbornDetails?id=' + this.query.id + '&acid=' + this.query
- .acid +
- '&isShareTimeline=' + true;
- if (!this.query.userId) {} else {
- from.page += '&userId=' + this.query.userId;
- }
- if (!this.query.merchantId) {} else {
- from.merchantId = this.query.merchantId;
- }
- if (!this.query.shopId) {} else {
- from.shopId = this.query.shopId;
- }
- if (!this.query.userId) {} else {
- from.uid = this.query.userId;
- }
- }
- return new Promise((reject, resolve) => {
- req.postRequest('/api/browse', from, data => {
- resolve()
- });
- })
- },
- getPor: function(e) {
- // console.log(e.detail, "qqqqq")
- this.popup = e.detail
- this.act.id = e.detail.actId
- },
- loadCodeParams() {
- let _ts = this;
- return new Promise((resolve, reject) => {
- if (!_ts.scene) {
- resolve();
- return false;
- }
- req.getRequest('/api/code/params', {
- scene: _ts.scene
- }, data => {
- if (data) {
- let res = data.scene.split('_');
- res.map(it => {
- if (it.indexOf('poid') > -1) {
- _ts.query.id = it.split('=')[1]
- }
- if (it.indexOf('acid') > -1) {
- _ts.query.acid = it.split('=')[1]
- }
- if (it.indexOf('mid') > -1) {
- _ts.query.merchantId = it.split('=')[1]
- }
- if (it.indexOf('sid') > -1) {
- _ts.query.shopId = it.split('=')[1]
- }
- })
- this.query.userId = data.userId;
- req.setStorage('pidCode', data.userId);
- req.setStorage('appId', res[res.length - 1]);
- }
- resolve();
- });
- });
- },
- getCodeUrl() {
- let that = this; //获取小程序码
- const query = this.query;
- let scene = 'poid=' + that.pro.id + '_acid=' + query.acid;
- if (req.getStorage('MERCHANT') && req.getStorage('MERCHANT').id != null) {
- scene += '_mid=' + req.getStorage('MERCHANT').id;
- if (req.getStorage('smallShop') && req.getStorage('MERCHANT').id != null) {
- scene += '_sid=' + req.getStorage('smallShop').id;
- }
- }
- if (req.getStorage('appId')) scene += '_' + req.getStorage('appId');
- // console.log(scene); //获取小程序码
- const params = {
- page: 'activity/newbornDetails/newbornDetails',
- scene: scene
- };
- // console.log('ma--', params);
- req.getRequest('/api/program/codev', params, url => {
- that.setData({
- codeUrl: url
- });
- });
- },
- async loadProudct() {
- let that = this;
- await that.loadActivity();
- const query = that.query;
- let isShowLoading = false;
- if (!isShowLoading) {
- req.loadIng('加载中');
- isShowLoading = true;
- }
- req.getRequest('/api/product/detail', {
- id: query.id
- }, data => {
- //富文本图片放大
- that.nodes = data.detail;
- let propertiesList = []
- if (data.propertiesList && data.propertiesList.length > 0) {
- data.propertiesList.map(it => {
- propertiesList.push(it.value);
- })
- }
- data.properties = propertiesList.join(' / ')
- that.setData({
- bannerUrls: data.images,
- pro: data,
- 'pro.salePrice': this.act.money,
- // 'pro.stock': this.act.quantity,
- 'pro.stock': this.act.quantity - this.act.payQuantity,
- 'pro.payQuantity': this.act.payQuantity,
- 'pro.maxBuy': this.act.maxBuy,
- allShow: true
- });
- if (isShowLoading) {
- uni.hideLoading();
- isShowLoading = false;
- }
- // console.log(this.pro);
- // that.getCodeUrl();
- });
- },
- loadActivity() {
- const query = this.query;
- return new Promise((resolve, reject) => {
- let from = {
- id: query.acid
- }
- if (!this.query.merchantId) {} else {
- from.merchantId = this.query.merchantId
- }
- let userInfo = req.getStorage('userInfo');
- if (userInfo.listShopBase && userInfo.listShopBase.length > 0) {
- from.shopId = userInfo.listShopBase[0].id;
- }
- req.getRequest('/api/activity/detail', from, data => {
- // console.log(data);
- this.getMy();
- if (data.type == 1) {
- this.setData({
- orderType: 2
- });
- }
- if (data.type == 2) {
- this.setData({
- orderType: 3
- });
- }
- if (data.type == 4) {
- this.setData({
- orderType: 6
- });
- }
- if (data.type == 5) {
- this.setData({
- orderType: 7
- });
- }
- if (!data || data == 2001) {
- this.setData({
- activityEnd: true
- });
- return false;
- } else {
- this.setData({
- act: data,
- isRemind: data.remindId
- });
- this.initTimer(data);
- }
- resolve();
- });
- });
- },
- // 获取用户信息
- getuserInfos(data) {
- let userInfo = req.getStorage('userInfo');
- if (userInfo && userInfo.listShopBase && userInfo.listShopBase != null && userInfo.listShopBase.length >
- 0) {
- if (userInfo.listShopBase[0].merchant_id == data.id && data.type != 5) {
- let url = '/mine/shop/shop?merchantId=' + userInfo.listShopBase[0].merchant_id + '&shopId=' +
- userInfo.listShopBase[0].id;
- this.url = url;
- this.ascription = true;
- }
- }
- },
- getMy() {
- let that = this;
- let userInfo = req.getStorage('userInfo');
- if (!userInfo || userInfo == null) return false;
- req.getRequest('/api/user/my', {}, data => {
- that.isDistriUser = data.isDistriUser;
- });
- },
- initTimer(group) {
- //计时器
- let _ts = this;
- let nowTime = new Date(group.nowTime.replace(/-/g, '/')).getTime();
- let startTime = new Date(group.startTime.replace(/-/g, '/')).getTime();
- let endTime = new Date(group.endTime.replace(/-/g, '/')).getTime();
- if (!group.start) endTime = startTime;
- let times = parseInt((endTime - nowTime) / 1000);
- // console.log(times / 60 / 60);
- this.timer = setInterval(() => {
- times--;
- if (times <= 0) {
- //重新加载列表
- _ts.setData({
- 'act.end': true
- });
- return false;
- }
- let n = utils.formatDayTimes(times);
- _ts.setData({
- timer: n.split(/:|天/g)
- });
- }, 1000);
- },
- loadDefaultAddress() {
- if (req.isAuth()) {
- req.g('/api/address/default', data => {
- if (data) this.setData({
- address: data
- });
- else if (this.about.Many_Store == 1) this.pointLocation();
- }, true);
- } else {
- if (this.about.Many_Store == 1) this.pointLocation();
- }
- },
- toAddress() {
- app.globalData.openPage('mine/address/address');
- },
- toMerchant() {
- if (this.about.User_Limit_Store == 1) {
- } else {
- app.globalData.openPage('merchant/nearby/nearby?isChoose=true');
- }
- },
- toactive() {
- app.globalData.openPage('merchant/nearby/nearby');
- },
- pointLocation() {
- //定位当前位置
- let _ts = this;
- QQMapWX.initMap(req.public.mapLBSKEY);
- req.getLocation(res => {
- QQMapWX.reverseGeocoder(res, data => {
- _ts.setData({
- ['address.address']: data.address
- });
- });
- });
- },
- addCartSuccess(event) {
- this.setData({
- 'pro.count': parseInt(this.pro.count) + parseInt(event.detail.quantity),
- isShow: false
- });
- },
- atOnceBuy() {
- // //立即购买
- if (!this.user) return req.msg('您不是新用户');
- if (!this.act.start) return req.msg('活动还未开始');
- if (this.act.end) return req.msg('活动已结束');
- if (!this.getUpdate()) return false;
- // this.setData({ isShow: true, isCart: false, popup: this.data.product });
- this.setData({
- isShow: true,
- isCart: false,
- popup: {
- id: this.pro.id,
- pic: this.pro.pic,
- title: this.pro.title,
- salePrice: this.act.money,
- stock: this.pro.stock,
- paramsId: this.pro.paramsId,
- marketPrice: this.pro.marketPrice,
- skuId: this.pro.skuId
- }
- });
- },
- /**
- * 判断是否为新用户,不是,2秒后为用户跳转至该商品的详情页面
- */
- newuser() {
- var id = this.query.id;
- if (req.getStorage('userInfo')) {
- req.postRequest('/api/order/isnew', {}, res => {
- if (res == 'false') {
- this.setData({
- user: false
- });
- // wx.showToast({
- // title: '您不是新用户,两秒后将为您跳转至该商品页面',
- // icon: 'none',
- // success: function () {
- // setTimeout(function () {
- // wx.redirectTo({ url: '/product/detail/detail?id=' + id })
- // }, 2000);
- // }
- // })
- }
- // console.log(res);
- });
- }
- },
- addShopCart() {
- if (!this.user) return req.msg('您不是新用户');
- if (this.act.end) return req.msg('活动已结束');
- if (!this.getUpdate()) return false;
- this.setData({
- isShow: true,
- isCart: true,
- popup: {
- id: this.pro.id,
- pic: this.pro.pic,
- title: this.pro.title,
- salePrice: this.act.money,
- stock: this.pro.stock,
- paramsId: this.pro.paramsId,
- marketPrice: this.pro.marketPrice,
- skuId: this.pro.skuId
- }
- });
- },
- clickCollect() {
- let _ts = this;
- req.postRequest('/api/collect', {
- bindId: this.pro.id,
- type: 1
- }, data => {
- _ts.setData({
- 'pro.isCollect': !_ts.pro.isCollect
- });
- });
- },
- goTop: function(e) {
- // 一键回到顶部
- if (uni.pageScrollTo) {
- uni.pageScrollTo({
- scrollTop: 0
- });
- } else {
- uni.showModal({
- title: '提示',
- content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
- });
- }
- },
- onShareTimeline() {
- let merchantId = '';
- let path = 'id=' + this.query.id + '&acid=' + this.query.acid + '&isShareTimeline=' + true + '&appId=' +
- req.getStorage('appId');
- if (!req.getStorage('userInfo').id) {} else {
- path += '&userId=' + req.getStorage('userInfo').id;
- }
- // console.log(this.merchantId);
- let shopId = '';
- if (req.getStorage('MERCHANT') && req.getStorage('MERCHANT').id != null) {
- path += '&merchantId=' + req.getStorage('MERCHANT').id;
- merchantId = req.getStorage('MERCHANT').id;
- if (req.getStorage('smallShop') && req.getStorage('MERCHANT').id != null) {
- path += '&shopId=' + req.getStorage('smallShop').id;
- shopId = req.getStorage('smallShop').id;
- merchantId = req.getStorage('smallShop').merchantDTO.id;
- }
- }
- let url = '/activity/newbornDetails/newbornDetails?' + path;
- route.share(2, req.getStorage('userInfo').id, url, merchantId, shopId, 8, this.query.acid + '_' + this
- .query.id);
- return {
- title: this.pro.title,
- query: path,
- imageUrl: this.pro.pic
- }; // return {
- // title: this.data.pro.title,
- // imageUrl: this.data.pro.pic
- // }
- },
- hidePopup() {
- this.setData({
- isShow: false
- });
- },
- hidePopupLogin(data) {
- this.isPopupLogin = false;
- },
- addActivityRemind() {
- // if (!this.data.user) return req.msg('您不是新用户')
- // 订阅调用
- req.postRequest('/api/activity/remind', {
- activityId: this.act.id
- }, res => {
- requsetmessage.remind();
- req.msg('预约成功');
- this.setData({
- isRemind: true
- });
- });
- },
- cancelActivityRemind(event) {
- if (req.header.appId == 'ZQ1VK5oc17I387E') {
- } else {
- req.postRequest('/api/activity/cancel/remind', {
- id: this.act.id
- }, res => {
- req.msg('取消预约成功');
- this.setData({
- isRemind: false
- });
- });
- }
- },
- showTab: function(e) {
- this.setData({
- tabIndex: e.detail
- });
- },
- scoreTab: function(e) {
- this.form.page = 0;
- this.setData({
- current: e.detail,
- ['form.page']: 1
- });
- },
- freshenFun: function(e) {
- this.setData({
- freshen: e.detail
- });
- },
- // 获取品种保证
- getGuarantee() {
- return new Promise((data, rej) => {
- req.getRequest('/api/config', {}, res => {
- req.setStorage("configRes", JSON.stringify(res))
- this.about = res
- data(res)
- if (this.merchant && this.merchant.isDefault == 1 || this.query.acid) {
- // 切割;拿到数组,然后在过滤掉空值
- if (res.b2c_service_guarantee && res.b2c_service_guarantee != null) {
- this.setData({
- guarantee: res.b2c_service_guarantee.split(";").filter(it => {
- return it = it && it.trim();
- })
- });
- }
- } else {
- if (res.o2o_service_guarantee && res.b2c_service_guarantee != null) {
- this.setData({
- guarantee: res.o2o_service_guarantee.split(";").filter(it => {
- return it = it && it.trim();
- })
- });
- }
- } // if(res.Is_Store_Price_Stock){
- // this.setData({Is_Store_Price_Stock:res.Is_Store_Price_Stock})
- // }
- if (res.is_open_shop) {
- this.is_open_shop = res.is_open_shop;
- }
- if (res.is_open_comments) {
- this.setData({
- is_open_comments: res.is_open_comments
- });
- } // this.setData({ show_membership_price: res.show_membership_price, Is_Store_Price_Stock: res.Is_Store_Price_Stock, is_open_shop: res.is_open_shop })
- });
- })
- },
- // 是否开启小店
- isShop() {
- if (req.getStorage('distribution')) {
- dist = req.getStorage('distribution')
- this.setData({
- distr: dist
- })
- console.log(dist)
- if (dist.distributionSmallShopOpen == 1) {
- req.postRequest('/api/shopBase/isOpenShop', {}, data => {
- this.setData({
- isshop: data
- })
- console.log(data)
- })
- }
- }
- },
- addShop() { //添加到小店
- req.postRequest('/api/shopProduct/save', {
- productId: this.act.id,
- type: 6
- }, data => {
- this.act.isJoinShop = true;
- this.isHide = false;
- })
- },
- hidePop() { //添加到小店
- this.setData({
- isHide: true
- })
- },
- getUpdate() {
- let userInfos = req.getStorage('userInfo');
- if (!userInfos.mobile) {
- console.log('没有手机号')
- this.isShowUpdate = true;
- this.isUpdateMobile = true;
- req.setStorage('isShowUpdateMobile', true)
- return false;
- }
- if (!userInfos.avatar || userInfos.avatar.indexOf('thirdwx.qlogo') > -1 || userInfos.nickName.indexOf(
- '用户') > -1) {
- console.log('没有昵称')
- this.isShowUpdate = true;
- this.isUpdateInfo = true;
- req.setStorage('isShowUpdateInfo', true)
- return false;
- }
- return true;
- },
- closeUpdate() {
- this.isShowUpdate = false
- this.isUpdateInfo = false;
- this.isUpdateMobile = false;
- },
- jumpCart(url) {
- if (req.getStorage('cartTab')) {
- app.globalData.reLaunchTo(url);
- } else {
- app.globalData.openPage(url)
- }
- }
- }
- };
- </script>
- <style>
- @import "./newbornDetails.css";
- </style>
|