You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1646 lines
71 KiB
1646 lines
71 KiB
<template>
|
|
<view class="container">
|
|
<block v-if="isload">
|
|
<form @submit="topay">
|
|
<!-- <view class="batal-new">
|
|
<view class="batal-new-l">
|
|
<view class="batal-new-l-t">
|
|
<text class="batal-new-l-til">懒商会员店</text>
|
|
<text class="iconfont icon-arrow-right"></text>
|
|
</view>
|
|
<view class="batal-new-l-ad">店铺地址:广东省深圳市龙华区</view>
|
|
</view>
|
|
<view class="batal-new-r">
|
|
<view class="batal-new-r-t" :class="sinceActive == 1 ? 'since-n':''" @click="sinceChange(1)">自提</view>
|
|
<view class="batal-new-r-t" :class="sinceActive == 2 ? 'since-t':''" @click="sinceChange(2)">配送</view>
|
|
</view>
|
|
</view> -->
|
|
<!-- <view class="" v-if="sinceActive == 2">
|
|
<view class="distribution">
|
|
<text>同城配送</text>
|
|
<view class="distribution-time">
|
|
<view class="f2" @tap="chooseNewPstime" :data-bid="allbuydata[0].freightList[sinceActive].bid" >
|
|
{{allbuydata[0].pstimetext == ''?'请选择配送时间':allbuydata[0].pstimetext}}<text class="iconfont iconjiantou" style="color:#999;font-weight:normal"></text>
|
|
</view>
|
|
</view>
|
|
</view> -->
|
|
|
|
<!-- </view> -->
|
|
<view v-if="needaddress==0" class="address-add">
|
|
<view class="linkitem">
|
|
<text class="f1">联 系 人:</text>
|
|
<input type="text" class="input" :value="linkman" placeholder="请输入您的姓名" @input="inputLinkman"
|
|
placeholder-style="color:#626262;font-size:28rpx" />
|
|
</view>
|
|
<view class="linkitem">
|
|
<text class="f1">联系电话:</text>
|
|
<input type="text" class="input" :value="tel" placeholder="请输入您的手机号" @input="inputTel"
|
|
placeholder-style="color:#626262;font-size:28rpx" />
|
|
</view>
|
|
</view>
|
|
<view v-else class="add-dres" @tap="goto"
|
|
:data-url="'/pages/address/'+(address.id ? 'address' : 'addressadd')+'?fromPage=buy&type=' + (havetongcheng==1?'1':'0')">
|
|
<text class="iconfont icon-weizhi" style="font-size: 50rpx;"></text>
|
|
<view class="add-dres-r" style="width: 90%;">
|
|
<view class="f2 flex1" v-if="address.id">
|
|
<view style="font-weight:bold;color:#111111;font-size:30rpx">{{address.name}} {{address.tel}} <text v-if="address.company">{{address.company}}</text></view>
|
|
<view style="font-size:24rpx">{{address.area}} {{address.address}}</view>
|
|
</view>
|
|
<text v-else style="color: #999;">请填写地址信息</text>
|
|
<text class="iconfont iconjiantou" style="color:#999;font-weight:normal; font-size: 30rpx;"></text>
|
|
</view>
|
|
</view>
|
|
<!-- <view v-else class="address-add flex-y-center" @tap="goto"
|
|
:data-url="'/pages/address/'+(address.id ? 'address' : 'addressadd')+'?fromPage=buy&type=' + (havetongcheng==1?'1':'0')">
|
|
<view class="f1">
|
|
<image class="img" :src="event_rul +'/static/img/static/img/address.png'" />
|
|
</view>
|
|
<view class="f2 flex1" v-if="address.id">
|
|
<view style="font-weight:bold;color:#111111;font-size:30rpx">{{address.name}} {{address.tel}} <text v-if="address.company">{{address.company}}</text></view>
|
|
<view style="font-size:24rpx">{{address.area}} {{address.address}}</view>
|
|
</view>
|
|
<view v-else class="f2 flex1">请选择收货地址</view>
|
|
<image :src="event_rul +'/static/img/static/img/arrowright.png'" class="f3"></image>
|
|
</view> -->
|
|
<view v-for="(buydata, index) in allbuydata" :key="index" class="buydata">
|
|
<view class="btitle">
|
|
<image class="img" :src="event_rul +'/static/img/static/img/ico-shop.png'" />{{buydata.business.name}}
|
|
</view>
|
|
<view class="bcontent">
|
|
<view class="product">
|
|
<view v-for="(item, index2) in buydata.prodata" :key="index2" class="item flex">
|
|
<view class="img" @tap="goto" :data-url="'/pages/shop/product?id=' + item.product.id">
|
|
<image v-if="item.guige.pic" :src="item.guige.pic"></image>
|
|
<image v-else :src="item.product.pic"></image>
|
|
</view>
|
|
<view class="info flex1">
|
|
<view class="f1">{{item.product.name}}</view>
|
|
<view class="f2">规格:{{item.guige.name}}</view>
|
|
<view class="f3">
|
|
<block v-if="order_change_price"><input type="number" :value="item.guige.sell_price" :data-price="item.guige.sell_price" :data-index="index" :data-index2="index2" class="inputPrice" @input="inputPrice"></block>
|
|
<block v-else><text style="font-weight:bold;">¥{{item.guige.sell_price}}</text></block>
|
|
<text style="padding-left:20rpx"> × {{item.num}}</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="freight">
|
|
<view class="f1">配送方式</view>
|
|
<view class="freight-ul">
|
|
<view class="flex" style="width:100%;overflow-y:hidden;overflow-x:scroll;">
|
|
<block v-for="(item, idx2) in buydata.freightList" :key="idx2">
|
|
<view class="freight-li"
|
|
:style="buydata.freightkey==idx2?'color:'+t('color1')+';background:rgba('+t('color1rgb')+',0.2)':''"
|
|
@tap="changeFreight" :data-bid="buydata.bid" :data-index="idx2">{{item.name}}
|
|
</view>
|
|
</block>
|
|
</view>
|
|
</view>
|
|
<view class="freighttips"
|
|
v-if="buydata.freightList[buydata.freightkey].minpriceset==1 && buydata.freightList[buydata.freightkey].minprice > 0 && buydata.freightList[buydata.freightkey].minprice*1 > buydata.product_price*1">
|
|
满{{buydata.freightList[buydata.freightkey].minprice}}元起送,还差{{(buydata.freightList[buydata.freightkey].minprice - buydata.product_price).toFixed(2)}}元
|
|
</view>
|
|
<view class="freighttips" v-if="buydata.freightList[buydata.freightkey].isoutjuli==1">超出配送范围</view>
|
|
</view>
|
|
|
|
<view class="price" v-if="buydata.freightList[buydata.freightkey].pstimeset==1">
|
|
<view class="f1">{{buydata.freightList[buydata.freightkey].pstype==1?'取货':'配送'}}时间</view>
|
|
<view class="f2" @tap="choosePstime" :data-bid="buydata.bid">
|
|
{{buydata.pstimetext==''?'请选择时间':buydata.pstimetext}}<text class="iconfont iconjiantou"
|
|
style="color:#999;font-weight:normal"></text>
|
|
</view>
|
|
</view>
|
|
<view class="storeitem" v-if="buydata.freightList[buydata.freightkey].pstype==1">
|
|
<view class="panel">
|
|
<view class="f1">取货地点</view>
|
|
<view class="f2" @tap="openMendian" :data-bid="buydata.bid"
|
|
:data-freightkey="buydata.freightkey"
|
|
:data-storekey="buydata.freightList[buydata.freightkey].storekey"><text
|
|
class="iconfont icondingwei"></text>{{buydata.freightList[buydata.freightkey].storedata[buydata.freightList[buydata.freightkey].storekey].name}}
|
|
</view>
|
|
</view>
|
|
<block v-for="(item, idx) in buydata.freightList[buydata.freightkey].storedata" :key="idx">
|
|
<view class="radio-item" @tap.stop="choosestore" :data-bid="buydata.bid" :data-index="idx" v-if="idx<5 || storeshowall==true">
|
|
<view class="f1">{{item.name}} </view>
|
|
<text style="color:#f50;">{{item.juli}}</text>
|
|
<view class="radio"
|
|
:style="buydata.freightList[buydata.freightkey].storekey==idx ? 'background:'+t('color1')+';border:0' : ''">
|
|
<image class="radio-img" :src="event_rul +'/static/img/static/img/checkd.png'" />
|
|
</view>
|
|
</view>
|
|
</block>
|
|
<view v-if="storeshowall==false && (buydata.freightList[buydata.freightkey].storedata).length > 5" class="storeviewmore" @tap="doStoreShowAll">- 查看更多 - </view>
|
|
</view>
|
|
|
|
<view class="storeitem" v-if="buydata.freightList[buydata.freightkey].pstype==5">
|
|
<view class="panel">
|
|
<view class="f1">配送门店</view>
|
|
<view class="f2" @tap="openMendian" :data-bid="buydata.bid"
|
|
:data-freightkey="buydata.freightkey"
|
|
:data-storekey="buydata.freightList[buydata.freightkey].storekey"><text
|
|
class="iconfont icondingwei"></text>{{buydata.freightList[buydata.freightkey].storedata[buydata.freightList[buydata.freightkey].storekey].name}}
|
|
</view>
|
|
</view>
|
|
<block v-for="(item, idx) in buydata.freightList[buydata.freightkey].storedata" :key="idx">
|
|
<view class="radio-item" @tap.stop="choosestore" :data-bid="buydata.bid" :data-index="idx" v-if="idx<5 || storeshowall==true">
|
|
<view class="f1">{{item.name}} </view>
|
|
<text style="color:#f50;">{{item.juli}}</text>
|
|
<view class="radio"
|
|
:style="buydata.freightList[buydata.freightkey].storekey==idx ? 'background:'+t('color1')+';border:0' : ''">
|
|
<image class="radio-img" :src="event_rul +'/static/img/static/img/checkd.png'" />
|
|
</view>
|
|
</view>
|
|
</block>
|
|
<view v-if="storeshowall==false && (buydata.freightList[buydata.freightkey].storedata).length > 5" class="storeviewmore" @tap="doStoreShowAll">- 查看更多 - </view>
|
|
</view>
|
|
|
|
<view class="price" v-if="buydata.freightList[buydata.freightkey].pstype==11">
|
|
<view class="f1">选择物流</view>
|
|
<view class="f2" @tap="showType11List" :data-bid="buydata.bid">
|
|
<text>{{buydata.type11key?buydata.freightList[buydata.freightkey].type11pricedata[buydata.type11key-1].name:'请选择'}}</text><text
|
|
class="iconfont iconjiantou" style="color:#999;font-weight:normal"></text>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="price">
|
|
<text class="f1">商品金额</text>
|
|
<text class="f2">¥{{buydata.product_price}}</text>
|
|
</view>
|
|
<view class="price" v-if="buydata.leveldk_money>0">
|
|
<text class="f1">{{t('会员')}}折扣({{userinfo.discount}}折)</text>
|
|
<text class="f2">-¥{{buydata.leveldk_money}}</text>
|
|
</view>
|
|
<view class="price" v-if="buydata.manjian_money>0">
|
|
<text class="f1">满减活动</text>
|
|
<text class="f2">-¥{{buydata.manjian_money}}</text>
|
|
</view>
|
|
<view class="price">
|
|
<text class="f1">{{buydata.freightList[buydata.freightkey].freight_price_txt || '运费'}}<text v-if="buydata.freightList[buydata.freightkey].pstype!=1 && buydata.freightList[buydata.freightkey].freeset==1" style="color:#aaa;font-size:24rpx;">(满{{buydata.freightList[buydata.freightkey].free_price}}元包邮)</text></text>
|
|
<text class="f2">+¥{{buydata.freightList[buydata.freightkey].freight_price}}</text>
|
|
</view>
|
|
<view class="price">
|
|
<view class="f1">{{t('优惠券')}}</view>
|
|
<view v-if="buydata.couponCount > 0" class="f2" @tap="showCouponList" :data-bid="buydata.bid">
|
|
<text
|
|
style="color:#fff;padding:4rpx 16rpx;font-weight:normal;border-radius:8rpx;font-size:24rpx"
|
|
:style="{background:t('color1')}">{{buydata.couponrid!=0?buydata.couponList[buydata.couponkey].couponname:buydata.couponCount+'张可用'}}</text><text
|
|
class="iconfont iconjiantou" style="color:#999;font-weight:normal"></text>
|
|
</view>
|
|
<text class="f2" v-else style="color:#999">无可用{{t('优惠券')}}</text>
|
|
</view>
|
|
<view class="price" v-if="buydata.cuxiaoCount > 0">
|
|
<view class="f1">促销活动</view>
|
|
<view class="f2" @tap="showCuxiaoList" :data-bid="buydata.bid">
|
|
<block v-if="buydata.cuxiaonameArr && buydata.cuxiaonameArr.length > 0">
|
|
<view :style="{background:t('color1')}" class="redBg" v-for="(item,index) in buydata.cuxiaonameArr">{{item}}</view>
|
|
</block>
|
|
<block v-else>
|
|
<text :style="{background:t('color1')}" class="redBg">{{buydata.cuxiaoname?buydata.cuxiaoname:buydata.cuxiaoCount+'个可用'}}</text>
|
|
</block>
|
|
</view>
|
|
<text class="iconfont iconjiantou" style="color:#999;font-weight:normal"></text>
|
|
</view>
|
|
<view class="price" v-if="buydata.business.invoice > 0">
|
|
<view class="f1">发票</view>
|
|
<view class="f2" @tap="showInvoice" :data-url="'/pages/shop/invoice?bid=' + buydata.bid + '&prodata=' + opt.prodata" :data-bid="buydata.bid" :data-index="index">
|
|
<text
|
|
style="font-size:24rpx" v-if="buydata.tempInvoice && buydata.tempInvoice.invoice_name">
|
|
<text v-if="buydata.tempInvoice && buydata.tempInvoice.name_type == 1">个人 - </text>
|
|
<text v-if="buydata.tempInvoice && buydata.tempInvoice.name_type == 2">公司 - </text>
|
|
{{buydata.tempInvoice.invoice_name}}</text><text class="iconfont iconjiantou" style="color:#999;font-weight:normal"></text>
|
|
</view>
|
|
</view>
|
|
|
|
<view style="display:none">{{test}}</view>
|
|
<view class="form-item" v-for="(item,idx) in buydata.freightList[buydata.freightkey].formdata" :key="item.id">
|
|
<view class="label">{{item.val1}}<text v-if="item.val3==1" style="color:red"> *</text></view>
|
|
<block v-if="item.key=='input'">
|
|
<input type="text" :name="'form'+buydata.bid+'_'+idx" class="input" :placeholder="item.val2" placeholder-style="font-size:28rpx"/>
|
|
</block>
|
|
<block v-if="item.key=='textarea'">
|
|
<textarea :name="'form'+buydata.bid+'_'+idx" class='textarea' :placeholder="item.val2" placeholder-style="font-size:28rpx"/>
|
|
</block>
|
|
<block v-if="item.key=='radio'">
|
|
<radio-group class="radio-group" :name="'form'+buydata.bid+'_'+idx">
|
|
<label v-for="(item1,idx1) in item.val2" :key="item1.id" class="flex-y-center">
|
|
<radio class="radio" :value="item1"/>{{item1}}
|
|
</label>
|
|
</radio-group>
|
|
</block>
|
|
<block v-if="item.key=='checkbox'">
|
|
<checkbox-group :name="'form'+buydata.bid+'_'+idx" class="checkbox-group">
|
|
<label v-for="(item1,idx1) in item.val2" :key="item1.id" class="flex-y-center">
|
|
<checkbox class="checkbox" :value="item1"/>{{item1}}
|
|
</label>
|
|
</checkbox-group>
|
|
</block>
|
|
<block v-if="item.key=='selector'">
|
|
<picker class="picker" mode="selector" :name="'form'+buydata.bid+'_'+idx" value="" :range="item.val2" @change="editorBindPickerChange" :data-bid="buydata.bid" :data-idx="idx">
|
|
<view v-if="buydata.editorFormdata[idx] || buydata.editorFormdata[idx]===0"> {{item.val2[buydata.editorFormdata[idx]]}}</view>
|
|
<view v-else>请选择</view>
|
|
</picker>
|
|
<text class="iconfont iconjiantou" style="color:#999;font-weight:normal"></text>
|
|
</block>
|
|
<block v-if="item.key=='time'">
|
|
<picker class="picker" mode="time" :name="'form'+buydata.bid+'_'+idx" value="" :start="item.val2[0]" :end="item.val2[1]" :range="item.val2" @change="editorBindPickerChange" :data-bid="buydata.bid" :data-idx="idx">
|
|
<view v-if="buydata.editorFormdata[idx]">{{buydata.editorFormdata[idx]}}</view>
|
|
<view v-else>请选择</view>
|
|
</picker>
|
|
<text class="iconfont iconjiantou" style="color:#999;font-weight:normal"></text>
|
|
</block>
|
|
<block v-if="item.key=='date'">
|
|
<picker class="picker" mode="date" :name="'form'+buydata.bid+'_'+idx" value="" :start="item.val2[0]" :end="item.val2[1]" :range="item.val2" @change="editorBindPickerChange" :data-bid="buydata.bid" :data-idx="idx">
|
|
<view v-if="buydata.editorFormdata[idx]">{{buydata.editorFormdata[idx]}}</view>
|
|
<view v-else>请选择</view>
|
|
</picker>
|
|
<text class="iconfont iconjiantou" style="color:#999;font-weight:normal"></text>
|
|
</block>
|
|
<block v-if="item.key=='upload'">
|
|
<input type="text" style="display:none" :name="'form'+buydata.bid+'_'+idx" :value="buydata.editorFormdata[idx]"/>
|
|
<view class="flex" style="flex-wrap:wrap;padding-top:20rpx">
|
|
<view class="form-imgbox" v-if="buydata.editorFormdata[idx]">
|
|
<view class="form-imgbox-img"><image class="image" :src="buydata.editorFormdata[idx]" @click="previewImage" :data-url="buydata.editorFormdata[idx]" mode="widthFix"/></view>
|
|
</view>
|
|
<view class="form-uploadbtn" :style="{background:'url('+pre_url+'/static/img/shaitu_icon.png) no-repeat 50rpx',backgroundSize:'80rpx 80rpx',backgroundColor:'#F3F3F3'}" @click="editorChooseImage" :data-bid="buydata.bid" :data-idx="idx"></view>
|
|
</view>
|
|
</block>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="scoredk" v-if="buy_selectmember">
|
|
<view class="price">
|
|
<view class="f1">选择会员</view>
|
|
<view class="f2" @tap="showMemberList">
|
|
<text>{{checkMem.id?checkMem.nickname:'请选择'}}</text><text class="iconfont iconjiantou" style="color:#999;font-weight:normal"></text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="scoredk"
|
|
v-if="userinfo.score2money>0 && (userinfo.scoremaxtype==0 || (userinfo.scoremaxtype==1 && userinfo.scoredkmaxmoney>0))">
|
|
<checkbox-group @change="scoredk" class="flex" style="width:100%">
|
|
<view class="f1">
|
|
<view>{{userinfo.score*1}} {{t('积分')}}可抵扣 <text
|
|
style="color:#e94745">{{userinfo.scoredk_money*1}}</text> 元</view>
|
|
<view style="font-size:22rpx;color:#999"
|
|
v-if="userinfo.scoremaxtype==0 && userinfo.scoredkmaxpercent > 0 && userinfo.scoredkmaxpercent<100">
|
|
最多可抵扣订单金额的{{userinfo.scoredkmaxpercent}}%</view>
|
|
<view style="font-size:22rpx;color:#999" v-else-if="userinfo.scoremaxtype==1">
|
|
最多可抵扣{{userinfo.scoredkmaxmoney}}元</view>
|
|
</view>
|
|
<view class="f2">使用{{t('积分')}}抵扣
|
|
<checkbox value="1" style="margin-left:6px;transform:scale(.8)"></checkbox>
|
|
</view>
|
|
</checkbox-group>
|
|
</view>
|
|
<view style="width: 100%; height:110rpx;"></view>
|
|
<view class="footer flex notabbarbot">
|
|
<view class="text1 flex1">总计:
|
|
<text style="font-weight:bold;font-size:36rpx">¥{{alltotalprice}}</text>
|
|
</view>
|
|
<button class="op" form-type="submit" :style="{background:'linear-gradient(-90deg,'+t('color1')+' 0%,rgba('+t('color1rgb')+',0.8) 100%)'}" :disabled="submitDisabled">
|
|
提交订单</button>
|
|
</view>
|
|
</form>
|
|
|
|
<view v-if="invoiceShow" class="popup__container">
|
|
<view class="popup__overlay" @tap.stop="handleClickMask"></view>
|
|
<view class="popup__modal">
|
|
<view class="popup__title">
|
|
<text class="popup__title-text">请填写开票信息</text>
|
|
<image :src="event_rul +'/static/img/static/img/close.png'" class="popup__close" style="width:36rpx;height:36rpx"
|
|
@tap.stop="handleClickMask" />
|
|
</view>
|
|
<view class="popup__content invoiceBox">
|
|
<form @submit="invoiceFormSubmit" @reset="formReset" report-submit="true">
|
|
<view class="orderinfo">
|
|
<view class="item">
|
|
<text class="t1">发票类型</text>
|
|
<view class="t2">
|
|
<radio-group class="radio-group" @change="changeOrderType" name="invoice_type">
|
|
<label class="radio" v-if="inArray(1,invoice_type)">
|
|
<radio value="1" :checked="invoice_type_select == 1 ? true : false"></radio>普通发票
|
|
</label>
|
|
<label class="radio" v-if="inArray(2,invoice_type)">
|
|
<radio value="2" :checked="invoice_type_select == 2 ? true : false"></radio>增值税专用发票
|
|
</label>
|
|
</radio-group>
|
|
</view>
|
|
</view>
|
|
<view class="item">
|
|
<text class="t1">抬头类型</text>
|
|
<view class="t2">
|
|
<block v-if="inputDisabled">
|
|
<text v-if="invoice && invoice.name_type == 1">个人</text>
|
|
<text v-if="invoice && invoice.name_type == 2">公司</text>
|
|
</block>
|
|
<block v-else>
|
|
<radio-group class="radio-group" @change="changeNameType" name="name_type">
|
|
<label class="radio">
|
|
<radio value="1" :checked="name_type_select == 1 ? true : false" :disabled="name_type_personal_disabled ? true : false"></radio>个人
|
|
</label>
|
|
<label class="radio">
|
|
<radio value="2" :checked="name_type_select == 2 ? true : false"></radio>公司
|
|
</label>
|
|
</radio-group>
|
|
</block>
|
|
</view>
|
|
</view>
|
|
<view class="item">
|
|
<text class="t1">抬头名称</text>
|
|
<input class="t2" type="text" placeholder="抬头名称" placeholder-style="font-size:28rpx;color:#BBBBBB" name="invoice_name" :disabled="inputDisabled" :value="invoice ? invoice.invoice_name : ''" ></input>
|
|
</view>
|
|
<view class="item" v-if="name_type_select == 2">
|
|
<text class="t1">公司税号</text>
|
|
<input class="t2" type="text" placeholder="公司税号" placeholder-style="font-size:28rpx;color:#BBBBBB" name="tax_no" :disabled="inputDisabled" :value="invoice ? invoice.tax_no : ''"></input>
|
|
</view>
|
|
<view class="item" v-if="invoice_type_select == 2">
|
|
<text class="t1">注册地址</text>
|
|
<input class="t2" type="text" placeholder="注册地址" placeholder-style="font-size:28rpx;color:#BBBBBB" name="address" :disabled="inputDisabled" :value="invoice ? invoice.address : ''"></input>
|
|
</view>
|
|
<view class="item" v-if="invoice_type_select == 2">
|
|
<text class="t1">注册电话</text>
|
|
<input class="t2" type="text" placeholder="注册电话" placeholder-style="font-size:28rpx;color:#BBBBBB" name="tel" :disabled="inputDisabled" :value="invoice ? invoice.tel : ''"></input>
|
|
</view>
|
|
<view class="item" v-if="invoice_type_select == 2">
|
|
<text class="t1">开户银行</text>
|
|
<input class="t2" type="text" placeholder="开户银行" placeholder-style="font-size:28rpx;color:#BBBBBB" name="bank_name" :disabled="inputDisabled" :value="invoice ? invoice.bank_name : ''"></input>
|
|
</view>
|
|
<view class="item" v-if="invoice_type_select == 2">
|
|
<text class="t1">银行账号</text>
|
|
<input class="t2" type="text" placeholder="银行账号" placeholder-style="font-size:28rpx;color:#BBBBBB" name="bank_account" :disabled="inputDisabled" :value="invoice ? invoice.bank_account : ''"></input>
|
|
</view>
|
|
<view class="item">
|
|
<text class="t1">手机号</text>
|
|
<input class="t2" type="text" placeholder="接收电子发票手机号" placeholder-style="font-size:28rpx;color:#BBBBBB" name="mobile" :disabled="inputDisabled" :value="invoice ? invoice.mobile : ''"></input>
|
|
</view>
|
|
<view class="item">
|
|
<text class="t1">邮箱</text>
|
|
<input class="t2" type="text" placeholder="接收电子发票邮箱" placeholder-style="font-size:28rpx;color:#BBBBBB" name="email" :disabled="inputDisabled" :value="invoice ? invoice.email : ''"></input>
|
|
</view>
|
|
</view>
|
|
<button class="btn" form-type="submit" :style="{background:t('color1')}">确定</button>
|
|
<view style="padding-top:30rpx"></view>
|
|
</form>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view v-if="couponvisible" class="popup__container">
|
|
<view class="popup__overlay" @tap.stop="handleClickMask"></view>
|
|
<view class="popup__modal">
|
|
<view class="popup__title">
|
|
<text class="popup__title-text">请选择{{t('优惠券')}}</text>
|
|
<image :src="event_rul +'/static/img/static/img/close.png'" class="popup__close" style="width:36rpx;height:36rpx"
|
|
@tap.stop="handleClickMask" />
|
|
</view>
|
|
<view class="popup__content">
|
|
<couponlist :couponlist="allbuydata[bid].couponList" :choosecoupon="true"
|
|
:selectedrid="allbuydata[bid].couponrid" :bid="bid" @chooseCoupon="chooseCoupon">
|
|
</couponlist>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view v-if="pstimeDialogShow" class="popup__container">
|
|
<view class="popup__overlay" @tap.stop="hidePstimeDialog"></view>
|
|
<view class="popup__modal">
|
|
<view class="popup__title">
|
|
<text
|
|
class="popup__title-text">请选择{{allbuydata[nowbid].freightList[allbuydata[nowbid].freightkey].pstype==1?'取货':'配送'}}时间</text>
|
|
<image :src="event_rul +'/static/img/static/img/close.png'" class="popup__close" style="width:36rpx;height:36rpx"
|
|
@tap.stop="hidePstimeDialog" />
|
|
</view>
|
|
<view class="popup__content">
|
|
<view class="pstime-item"
|
|
v-for="(item, index) in allbuydata[nowbid].freightList[allbuydata[nowbid].freightkey].pstimeArr"
|
|
:key="index" @tap="pstimeRadioChange" :data-index="index">
|
|
<view class="flex1">{{item.title}}</view>
|
|
<view class="radio"
|
|
:style="allbuydata[nowbid].freight_time==item.value ? 'background:'+t('color1')+';border:0' : ''">
|
|
<image class="radio-img" :src="event_rul +'/static/img/static/img/checkd.png'" />
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view v-if="cuxiaovisible" class="popup__container">
|
|
<view class="popup__overlay" @tap.stop="handleClickMask"></view>
|
|
<view class="popup__modal">
|
|
<view class="popup__title">
|
|
<text class="popup__title-text">优惠促销</text>
|
|
<image :src="event_rul +'/static/img/static/img/close.png'" class="popup__close" style="width:36rpx;height:36rpx"
|
|
@tap.stop="handleClickMask" />
|
|
</view>
|
|
<view class="popup__content">
|
|
<view class="cuxiao-desc">
|
|
<block v-if="multi_promotion">
|
|
<view class="cuxiao-item" @tap="changecxMulti" data-id="0">
|
|
<view class="type-name"><text style="color:#333">不使用促销</text></view>
|
|
<view class="radio" :style="cxid === 0 ? 'background:'+t('color1')+';border:0' : ''">
|
|
<image class="radio-img" :src="event_rul +'/static/img/static/img/checkd.png'" />
|
|
</view>
|
|
</view>
|
|
<view v-for="(item, index) in allbuydata[bid].cuxiaolist" :key="index" class="cuxiao-item"
|
|
@tap="changecxMulti" :data-id="item.id" :data-index="index">
|
|
<view class="type-name">
|
|
<text style="border-radius:4px;border:1px solid #f05423;color: #ff550f;font-size:20rpx;padding:2px 5px">{{item.tip}}</text>
|
|
<text style="color:#333;padding-left:20rpx">{{item.name}}</text>
|
|
</view>
|
|
<view class="radio" :style="cxids.indexOf(item.id) !== -1 ? 'background:'+t('color1')+';border:0' : ''">
|
|
<image class="radio-img" :src="event_rul +'/static/img/static/img/checkd.png'" />
|
|
</view>
|
|
</view>
|
|
</block>
|
|
<block v-else>
|
|
<view class="cuxiao-item" @tap="changecx" data-id="0">
|
|
<view class="type-name"><text style="color:#333">不使用促销</text></view>
|
|
<view class="radio" :style="cxid == 0 ? 'background:'+t('color1')+';border:0' : ''">
|
|
<image class="radio-img" :src="event_rul +'/static/img/static/img/checkd.png'" />
|
|
</view>
|
|
</view>
|
|
<view v-for="(item, index) in allbuydata[bid].cuxiaolist" :key="index" class="cuxiao-item"
|
|
@tap="changecx" :data-id="item.id" :data-index="index">
|
|
<view class="type-name">
|
|
<text style="border-radius:4px;border:1px solid #f05423;color: #ff550f;font-size:20rpx;padding:2px 5px">{{item.tip}}</text>
|
|
<text style="color:#333;padding-left:20rpx">{{item.name}}</text>
|
|
</view>
|
|
<view class="radio" :style="cxid==item.id ? 'background:'+t('color1')+';border:0' : ''">
|
|
<image class="radio-img" :src="event_rul +'/static/img/static/img/checkd.png'" />
|
|
</view>
|
|
</view>
|
|
</block>
|
|
</view>
|
|
<view id="cxproinfo" v-if="cuxiaoinfo.product" style="padding:0 40rpx">
|
|
<view class="product">
|
|
<view class="item flex" style="background:#f5f5f5">
|
|
<view class="img" @tap="goto"
|
|
:data-url="'/pages/shop/product?id=' + cuxiaoinfo.product.id">
|
|
<image :src="cuxiaoinfo.product.pic"></image>
|
|
</view>
|
|
<view class="info flex1">
|
|
<view class="f1">{{cuxiaoinfo.product.name}}</view>
|
|
<view class="f2">规格:{{cuxiaoinfo.guige.name}}</view>
|
|
<view class="f3">
|
|
<text style="font-weight:bold;">¥{{cuxiaoinfo.guige.sell_price}}</text>
|
|
<text style="padding-left:20rpx"> × 1</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view style="width:100%; height:120rpx;"></view>
|
|
<view style="width:100%;position:absolute;bottom:0;padding:20rpx 5%;background:#fff">
|
|
<view
|
|
style="width:100%;height:80rpx;line-height:80rpx;border-radius:40rpx;text-align:center;color:#fff;"
|
|
:style="{background:t('color1')}" @tap="chooseCuxiao">确 定</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view v-if="type11visible" class="popup__container">
|
|
<view class="popup__overlay" @tap.stop="handleClickMask"></view>
|
|
<view class="popup__modal">
|
|
<view class="popup__title">
|
|
<text class="popup__title-text">选择物流</text>
|
|
<image :src="event_rul +'/static/img/static/img/close.png'" class="popup__close" style="width:36rpx;height:36rpx"
|
|
@tap.stop="handleClickMask" />
|
|
</view>
|
|
<view class="popup__content">
|
|
<view class="cuxiao-desc">
|
|
<view
|
|
v-for="(item, index) in allbuydata[bid].freightList[allbuydata[bid].freightkey].type11pricedata"
|
|
:key="index" @tap="changetype11" :data-index="index" style="padding:0 30rpx 20rpx 40rpx"
|
|
v-if="address.id && address.province==item.province && address.city==item.city && address.district==item.area">
|
|
<view class="cuxiao-item" style="padding:0">
|
|
<view class="type-name"><text
|
|
style="color:#333;font-weight:bold;">{{item.name}}</text></view>
|
|
<view class="radio"
|
|
:style="type11key==index ? 'background:'+t('color1')+';border:0' : ''">
|
|
<image class="radio-img" :src="event_rul +'/static/img/static/img/checkd.png'" />
|
|
</view>
|
|
</view>
|
|
<view style="margin-left:20rpx">发货: {{item.send_address}} - {{item.send_tel}}</view>
|
|
<view style="margin-left:20rpx">收货: {{item.receive_address}} - {{item.receive_tel}}
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view style="width:100%; height:120rpx;"></view>
|
|
<view style="width:100%;position:absolute;bottom:0;padding:20rpx 5%;background:#fff">
|
|
<view
|
|
style="width:100%;height:80rpx;line-height:80rpx;border-radius:40rpx;text-align:center;color:#fff;"
|
|
:style="{background:t('color1')}" @tap="chooseType11">确 定</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view v-if="membervisible" class="popup__container">
|
|
<view class="popup__overlay" @tap.stop="handleClickMask"></view>
|
|
<view class="popup__modal" style="height: 1100rpx;">
|
|
<view class="popup__title">
|
|
<text class="popup__title-text">请选择指定会员</text>
|
|
<image :src="event_rul +'/static/img/static/img/close.png'" class="popup__close" style="width:36rpx;height:36rpx;"
|
|
@tap.stop="handleClickMask" />
|
|
</view>
|
|
<view class="popup__content">
|
|
<view class="member_search">
|
|
<view style="width:130rpx;color:#333;flex-shrink:0">选择地区</view>
|
|
<uni-data-picker :localdata="items" :border="false" :placeholder="regiondata || '请选择省市区'" @change="regionchange2" class="flex1" style="overflow:hidden"></uni-data-picker>
|
|
<view class="searchMemberButton" @click="memberSearch" style="flex-shrink:0">检索用户</view>
|
|
</view>
|
|
<view class="memberlist">
|
|
<view v-for="(item2,i) in memberList" class="memberitem" @tap="checkMember" :data-info="item2">
|
|
<image :src="item2.headimg" @tap.stop="showmemberinfo" :data-mid="item2.id"/>
|
|
<view class="flex-col">
|
|
<view class="t1" @tap.stop="showmemberinfo" :data-mid="item2.id">{{item2.nickname}}</view>
|
|
<view>{{item2.province}} {{item2.city}} {{item2.area}}</view>
|
|
</view>
|
|
<view class="flex1"></view>
|
|
<view class="radio" :style="checkMem.id==item2.id ? 'background:'+t('color1')+';border:0' : ''">
|
|
<image class="radio-img" :src="event_rul +'/static/img/static/img/checkd.png'" />
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
|
|
<view v-if="memberinfovisible" class="popup__container">
|
|
<view class="popup__overlay" @tap.stop="memberinfoClickMask"></view>
|
|
<view class="popup__modal" style="height: 1100rpx;">
|
|
<view class="popup__title">
|
|
<text class="popup__title-text">查看资料</text>
|
|
<image :src="event_rul +'/static/img/static/img/close.png'" class="popup__close" style="width:36rpx;height:36rpx;"
|
|
@tap.stop="memberinfoClickMask" />
|
|
</view>
|
|
<view class="popup__content">
|
|
<view class="orderinfo">
|
|
<view class="item" v-for="item in selectmemberinfo">
|
|
<text class="t1">{{item[0]}}</text>
|
|
<view class="t2" v-if="item[2]=='upload'"><image :src="item[1]" style="width:400rpx;height:auto" mode="widthFix" @tap="previewImage" :data-url="item[1]"/></view>
|
|
<text class="t2" v-else>{{item[1]}}</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
</block>
|
|
<loading v-if="loading"></loading>
|
|
<dp-tabbar :opt="opt"></dp-tabbar>
|
|
<popmsg ref="popmsg"></popmsg>
|
|
<!-- 悬浮按钮 -->
|
|
<drag-button></drag-button>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
var app = getApp();
|
|
export default {
|
|
data() {
|
|
return {
|
|
opt: {},
|
|
loading: false,
|
|
isload: false,
|
|
menuindex: -1,
|
|
|
|
pre_url:app.globalData.pre_url,
|
|
test:'test',
|
|
havetongcheng: 0,
|
|
address: [],
|
|
memberList: [],
|
|
checkMem:{},
|
|
usescore: 0,
|
|
scoredk_money: 0,
|
|
totalprice: '0.00',
|
|
couponvisible: false,
|
|
cuxiaovisible: false,
|
|
membervisible: false,
|
|
memberinfovisible:false,
|
|
selectmemberinfo:{},
|
|
bid: 0,
|
|
nowbid: 0,
|
|
needaddress: 1,
|
|
linkman: '',
|
|
tel: '',
|
|
userinfo: {},
|
|
pstimeDialogShow: false,
|
|
pstimeIndex: -1,
|
|
manjian_money: 0,
|
|
cxid: 0,
|
|
cxids: [],
|
|
latitude: "",
|
|
longitude: "",
|
|
allbuydata: {},
|
|
allbuydatawww: {},
|
|
alltotalprice: "",
|
|
cuxiaoinfo: false,
|
|
cuxiaoList: {},
|
|
type11visible: false,
|
|
type11key: -1,
|
|
regiondata: '',
|
|
items: [],
|
|
editorFormdata:[],
|
|
buy_selectmember:false,
|
|
multi_promotion:0,
|
|
storeshowall:false,
|
|
order_change_price:false,
|
|
invoiceShow:false,
|
|
invoice:{},
|
|
invoice_type:[],
|
|
invoice_type_select:1,
|
|
name_type_select:1,
|
|
name_type_personal_disabled:false,
|
|
inputDisabled:false,
|
|
submitDisabled:false,
|
|
pstype3needAddress:false,
|
|
// sinceActive:1
|
|
|
|
event_rul: app.globalData.event_url,
|
|
};
|
|
},
|
|
|
|
onLoad: function(opt) {
|
|
this.opt = app.getopts(opt);
|
|
this.getdata();
|
|
},
|
|
onPullDownRefresh: function() {
|
|
this.getdata();
|
|
},
|
|
methods: {
|
|
// sinceChange(num) {
|
|
// this.sinceActive = num
|
|
// this.changeNewFreight(this.sinceActive)
|
|
|
|
// },
|
|
// chooseNewPstime: function(e) {
|
|
// var that = this;
|
|
// var allbuydata = that.allbuydata;
|
|
// var bid = e.currentTarget.dataset.bid;
|
|
// var freightkey = allbuydata[0].freightkey;
|
|
// var freightList = allbuydata[0].freightList;
|
|
// var freight = freightList[freightkey];
|
|
// var pstimeArr = freightList[freightkey].pstimeArr;
|
|
// var itemlist = [];
|
|
// for (var i = 0; i < pstimeArr.length; i++) {
|
|
// itemlist.push(pstimeArr[i].title);
|
|
// }
|
|
// if (itemlist.length == 0) {
|
|
// app.alert('当前没有可选' + (freightList[freightkey].pstype == 1 ? '取货' : '配送') + '时间段');
|
|
// return;
|
|
// }
|
|
// that.nowbid = 0;
|
|
// that.pstimeDialogShow = true;
|
|
// that.pstimeIndex = -1;
|
|
// },
|
|
// changeNewFreight() {
|
|
// let that = this;
|
|
// let allbuydata = that.allbuydata;
|
|
// let index = this.sinceActive;
|
|
// let freightList = allbuydata[0].freightList;
|
|
// if(freightList[index].pstype==1 && freightList[index].storedata.length < 1) {
|
|
// app.error('无可自提门店');return;
|
|
// }
|
|
// if(freightList[index].pstype==5 && freightList[index].storedata.length < 1) {
|
|
// app.error('无可配送门店');return;
|
|
// }
|
|
// allbuydata[0].freightkey = index;
|
|
// that.allbuydata = allbuydata;
|
|
// that.calculatePrice();
|
|
// that.allbuydata[0].editorFormdata = [];
|
|
// },
|
|
getdata: function() {
|
|
var that = this;
|
|
that.loading = true;
|
|
app.get('ApiShop/buy', {
|
|
prodata: that.opt.prodata
|
|
}, function(res) {
|
|
that.loading = false;
|
|
if (res.status == 0) {
|
|
if (res.msg) {
|
|
app.alert(res.msg, function() {
|
|
if (res.url) {
|
|
app.goto(res.url);
|
|
} else {
|
|
app.goback();
|
|
}
|
|
});
|
|
} else if (res.url) {
|
|
app.goto(res.url);
|
|
} else {
|
|
app.alert('您没有权限购买该商品');
|
|
}
|
|
return;
|
|
}
|
|
that.havetongcheng = res.havetongcheng;
|
|
that.address = res.address;
|
|
that.linkman = res.linkman;
|
|
that.tel = res.tel;
|
|
that.userinfo = res.userinfo;
|
|
that.buy_selectmember = res.buy_selectmember;
|
|
that.order_change_price = res.order_change_price;
|
|
that.pstype3needAddress = res.pstype3needAddress;
|
|
if(that.buy_selectmember){
|
|
uni.request({
|
|
url: app.globalData.pre_url+'/static/area2.json',
|
|
data: {},
|
|
method: 'GET',
|
|
header: { 'content-type': 'application/json' },
|
|
success: function(res2) {
|
|
that.items = res2.data
|
|
}
|
|
})
|
|
}
|
|
that.allbuydata = res.allbuydata;
|
|
that.allbuydatawww = JSON.parse(JSON.stringify(res.allbuydata));
|
|
console.log(that.allbuydata);
|
|
that.needLocation = res.needLocation;
|
|
that.scorebdkyf = res.scorebdkyf;
|
|
that.multi_promotion = res.multi_promotion;
|
|
that.calculatePrice();
|
|
that.loaded();
|
|
|
|
// var allbuydata = that.allbuydata;
|
|
// for (var i in allbuydata) {
|
|
// allbuydata[i].tempInvoice = uni.getStorageSync('temp_invoice_' + allbuydata[i].bid);
|
|
// }
|
|
// that.allbuydata = allbuydata;
|
|
|
|
|
|
if (res.needLocation == 1) {
|
|
app.getLocation(function(res) {
|
|
var latitude = res.latitude;
|
|
var longitude = res.longitude;
|
|
that.latitude = latitude;
|
|
that.longitude = longitude;
|
|
var allbuydata = that.allbuydata;
|
|
for (var i in allbuydata) {
|
|
var freightList = allbuydata[i].freightList;
|
|
for (var j in freightList) {
|
|
if (freightList[j].pstype == 1 || freightList[j].pstype == 5) {
|
|
var storedata = freightList[j].storedata;
|
|
if (storedata) {
|
|
for (var x in storedata) {
|
|
if (latitude && longitude && storedata[x].latitude && storedata[x].longitude) {
|
|
var juli = that.getDistance(latitude, longitude,storedata[x].latitude, storedata[x].longitude);
|
|
storedata[x].juli = juli;
|
|
}
|
|
}
|
|
storedata.sort(function(a, b) {
|
|
return a["juli"] - b["juli"];
|
|
});
|
|
for (var x in storedata) {
|
|
if (storedata[x].juli) {
|
|
storedata[x].juli = storedata[x].juli + '千米';
|
|
}
|
|
}
|
|
console.log(storedata);
|
|
allbuydata[i].freightList[j].storedata = storedata;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
that.allbuydata = allbuydata;
|
|
});
|
|
}
|
|
});
|
|
},
|
|
//积分抵扣
|
|
scoredk: function(e) {
|
|
var usescore = e.detail.value[0];
|
|
if (!usescore) usescore = 0;
|
|
this.usescore = usescore;
|
|
this.calculatePrice();
|
|
},
|
|
inputLinkman: function(e) {
|
|
this.linkman = e.detail.value;
|
|
},
|
|
inputTel: function(e) {
|
|
this.tel = e.detail.value;
|
|
},
|
|
inputfield: function(e) {
|
|
var bid = e.currentTarget.dataset.bid;
|
|
var field = e.currentTarget.dataset.field;
|
|
allbuydata2[bid][field] = e.detail.value;
|
|
this.allbuydata2 = allbuydata2;
|
|
},
|
|
//选择收货地址
|
|
chooseAddress: function() {
|
|
app.goto('/pages/address/address?fromPage=buy&type=' + (this.havetongcheng == 1 ? '1' : '0'));
|
|
},
|
|
inputPrice: function(e) {
|
|
var that = this;
|
|
var index = e.currentTarget.dataset.index;
|
|
var index2 = e.currentTarget.dataset.index2;
|
|
var allbuydata = that.allbuydata;
|
|
var allbuydatawww = that.allbuydatawww;
|
|
var oldprice = allbuydatawww[index]['prodata'][index2].guige.sell_price;
|
|
if(e.detail.value == '' || parseFloat(e.detail.value) < parseFloat(oldprice)) {
|
|
that.submitDisabled = true;
|
|
app.error('不能小于原价:'+oldprice);
|
|
return;
|
|
}
|
|
that.submitDisabled = false;
|
|
allbuydata[index]['prodata'][index2].guige.sell_price = e.detail.value;
|
|
allbuydata[index]['product_price'] = (e.detail.value * allbuydata[index]['prodata'][index2].num).toFixed(2);
|
|
// allbuydata[index].prodatastr = allbuydata[index].prodatastr
|
|
that.allbuydata = allbuydata;
|
|
console.log(allbuydata[index]);
|
|
|
|
that.calculatePrice();
|
|
},
|
|
//计算价格
|
|
calculatePrice: function() {
|
|
var that = this;
|
|
var address = that.address;
|
|
var allbuydata = that.allbuydata;
|
|
var alltotalprice = 0;
|
|
var allfreight_price = 0;
|
|
var needaddress = 0;
|
|
// console.log(allbuydata)
|
|
|
|
for (var k in allbuydata) {
|
|
var product_price = parseFloat(allbuydata[k].product_price);
|
|
var leveldk_money = parseFloat(allbuydata[k].leveldk_money); //会员折扣
|
|
var manjian_money = parseFloat(allbuydata[k].manjian_money); //满减活动
|
|
var coupon_money = parseFloat(allbuydata[k].coupon_money); //-优惠券抵扣
|
|
var cuxiao_money = parseFloat(allbuydata[k].cuxiao_money); //+促销活动
|
|
//算运费
|
|
var freightdata = allbuydata[k].freightList[allbuydata[k].freightkey];
|
|
var freight_price = freightdata['freight_price'];
|
|
if (freightdata.pstype != 1 && freightdata.pstype != 3 && freightdata.pstype != 4) {
|
|
needaddress = 1;
|
|
}
|
|
if(that.pstype3needAddress && (freightdata.pstype == 3 || freightdata.pstype == 4 || freightdata.pstype == 5)) {
|
|
needaddress = 1;
|
|
}
|
|
if (allbuydata[k].coupontype == 4) {
|
|
freight_price = 0;
|
|
coupon_money = 0;
|
|
}
|
|
var totalprice = product_price - leveldk_money - manjian_money - coupon_money + cuxiao_money;
|
|
if (totalprice < 0) totalprice = 0; //优惠券不抵扣运费
|
|
|
|
totalprice = totalprice + freight_price;
|
|
allbuydata[k].freight_price = freight_price.toFixed(2);
|
|
allbuydata[k].totalprice = totalprice.toFixed(2);
|
|
alltotalprice += totalprice;
|
|
allfreight_price += freight_price;
|
|
}
|
|
that.needaddress = needaddress;
|
|
|
|
if (that.usescore) {
|
|
var scoredk_money = parseFloat(that.userinfo.scoredk_money); //-积分抵扣
|
|
} else {
|
|
var scoredk_money = 0;
|
|
}
|
|
|
|
var oldalltotalprice = alltotalprice;
|
|
alltotalprice = alltotalprice - scoredk_money;
|
|
if (alltotalprice < 0) alltotalprice = 0;
|
|
|
|
if (that.scorebdkyf == '1' && scoredk_money > 0 && alltotalprice < allfreight_price) {
|
|
//积分不抵扣运费
|
|
alltotalprice = allfreight_price;
|
|
scoredk_money = oldalltotalprice - allfreight_price;
|
|
}
|
|
var scoredkmaxpercent = parseFloat(that.userinfo.scoredkmaxpercent); //最大抵扣比例
|
|
var scoremaxtype = parseInt(that.userinfo.scoremaxtype);
|
|
var scoredkmaxmoney = parseFloat(that.userinfo.scoredkmaxmoney);
|
|
|
|
if (scoremaxtype == 0 && scoredk_money > 0 && scoredkmaxpercent > 0 && scoredkmaxpercent < 100 &&
|
|
scoredk_money > oldalltotalprice * scoredkmaxpercent * 0.01) {
|
|
scoredk_money = oldalltotalprice * scoredkmaxpercent * 0.01;
|
|
alltotalprice = oldalltotalprice - scoredk_money;
|
|
} else if (scoremaxtype == 1 && scoredk_money > scoredkmaxmoney) {
|
|
scoredk_money = scoredkmaxmoney;
|
|
alltotalprice = oldalltotalprice - scoredk_money;
|
|
}
|
|
|
|
if (alltotalprice < 0) alltotalprice = 0;
|
|
alltotalprice = alltotalprice.toFixed(2);
|
|
that.alltotalprice = alltotalprice;
|
|
that.allbuydata = allbuydata;
|
|
},
|
|
changeFreight: function(e) {
|
|
var that = this;
|
|
var allbuydata = that.allbuydata;
|
|
var bid = e.currentTarget.dataset.bid;
|
|
var index = e.currentTarget.dataset.index;
|
|
var freightList = allbuydata[bid].freightList;
|
|
if(freightList[index].pstype==1 && freightList[index].storedata.length < 1) {
|
|
app.error('无可自提门店');return;
|
|
}
|
|
if(freightList[index].pstype==5 && freightList[index].storedata.length < 1) {
|
|
app.error('无可配送门店');return;
|
|
}
|
|
allbuydata[bid].freightkey = index;
|
|
that.allbuydata = allbuydata;
|
|
that.calculatePrice();
|
|
that.allbuydata[bid].editorFormdata = [];
|
|
},
|
|
chooseFreight: function(e) {
|
|
var that = this;
|
|
var allbuydata = that.allbuydata;
|
|
var bid = e.currentTarget.dataset.bid;
|
|
// console.log(bid);
|
|
// console.log(allbuydata);
|
|
var freightList = allbuydata[bid].freightList;
|
|
var itemlist = [];
|
|
|
|
for (var i = 0; i < freightList.length; i++) {
|
|
itemlist.push(freightList[i].name);
|
|
}
|
|
|
|
uni.showActionSheet({
|
|
itemList: itemlist,
|
|
success: function(res) {
|
|
if (res.tapIndex >= 0) {
|
|
allbuydata[bid].freightkey = res.tapIndex;
|
|
that.allbuydata = allbuydata;
|
|
that.calculatePrice();
|
|
}
|
|
}
|
|
});
|
|
},
|
|
choosePstime: function(e) {
|
|
var that = this;
|
|
var allbuydata = that.allbuydata;
|
|
var bid = e.currentTarget.dataset.bid;
|
|
var freightkey = allbuydata[bid].freightkey;
|
|
var freightList = allbuydata[bid].freightList;
|
|
var freight = freightList[freightkey];
|
|
var pstimeArr = freightList[freightkey].pstimeArr;
|
|
var itemlist = [];
|
|
for (var i = 0; i < pstimeArr.length; i++) {
|
|
itemlist.push(pstimeArr[i].title);
|
|
}
|
|
if (itemlist.length == 0) {
|
|
app.alert('当前没有可选' + (freightList[freightkey].pstype == 1 ? '取货' : '配送') + '时间段');
|
|
return;
|
|
}
|
|
that.nowbid = bid;
|
|
that.pstimeDialogShow = true;
|
|
that.pstimeIndex = -1;
|
|
},
|
|
pstimeRadioChange: function(e) {
|
|
var that = this;
|
|
var allbuydata = that.allbuydata;
|
|
var pstimeIndex = e.currentTarget.dataset.index;
|
|
// console.log(pstimeIndex)
|
|
var nowbid = that.nowbid;
|
|
var freightkey = allbuydata[nowbid].freightkey;
|
|
var freightList = allbuydata[nowbid].freightList;
|
|
var freight = freightList[freightkey];
|
|
var pstimeArr = freightList[freightkey].pstimeArr;
|
|
var choosepstime = pstimeArr[pstimeIndex];
|
|
allbuydata[nowbid].pstimetext = choosepstime.title;
|
|
allbuydata[nowbid].freight_time = choosepstime.value;
|
|
that.allbuydata = allbuydata
|
|
that.pstimeDialogShow = false;
|
|
},
|
|
hidePstimeDialog: function() {
|
|
this.pstimeDialogShow = false;
|
|
},
|
|
chooseCoupon: function(e) {
|
|
var allbuydata = this.allbuydata;
|
|
var bid = e.bid;
|
|
var couponrid = e.rid;
|
|
var couponkey = e.key;
|
|
if (couponrid == allbuydata[bid].couponrid) {
|
|
allbuydata[bid].couponkey = 0;
|
|
allbuydata[bid].couponrid = 0;
|
|
allbuydata[bid].coupontype = 1;
|
|
allbuydata[bid].coupon_money = 0;
|
|
this.allbuydata = allbuydata;
|
|
this.couponvisible = false;
|
|
} else {
|
|
var couponList = allbuydata[bid].couponList;
|
|
var coupon_money = couponList[couponkey]['money'];
|
|
var coupontype = couponList[couponkey]['type'];
|
|
allbuydata[bid].couponkey = couponkey;
|
|
allbuydata[bid].couponrid = couponrid;
|
|
allbuydata[bid].coupontype = coupontype;
|
|
allbuydata[bid].coupon_money = coupon_money;
|
|
this.allbuydata = allbuydata;
|
|
this.couponvisible = false;
|
|
}
|
|
this.calculatePrice();
|
|
},
|
|
choosestore: function(e) {
|
|
var bid = e.currentTarget.dataset.bid;
|
|
var storekey = e.currentTarget.dataset.index;
|
|
var allbuydata = this.allbuydata;
|
|
var buydata = allbuydata[bid];
|
|
var freightkey = buydata.freightkey
|
|
allbuydata[bid].freightList[freightkey].storekey = storekey
|
|
this.allbuydata = allbuydata;
|
|
},
|
|
//提交并支付
|
|
topay: function(e) {
|
|
var that = this;
|
|
var needaddress = that.needaddress;
|
|
var addressid = this.address.id;
|
|
var checkmemid = this.checkMem.id;
|
|
var linkman = this.linkman;
|
|
var tel = this.tel;
|
|
var usescore = this.usescore;
|
|
var frompage = that.opt.frompage ? that.opt.frompage : '';
|
|
var allbuydata = that.allbuydata;
|
|
|
|
if (needaddress == 0) addressid = 0;
|
|
|
|
if (needaddress == 1 && addressid == undefined) {
|
|
app.error('请选择收货地址');
|
|
return;
|
|
}
|
|
var buydata = [];
|
|
for (var i in allbuydata) {
|
|
var freightkey = allbuydata[i].freightkey;
|
|
if (allbuydata[i].freightList[freightkey].pstimeset == 1 && allbuydata[i].freight_time == '') {
|
|
app.error('请选择' + (allbuydata[i].freightList[freightkey].pstype == 1 ? '取货' : '配送') + '时间');
|
|
return;
|
|
}
|
|
if (allbuydata[i].freightList[freightkey].pstype == 1 || allbuydata[i].freightList[freightkey].pstype == 5) {
|
|
var storekey = allbuydata[i].freightList[freightkey].storekey;
|
|
var storeid = allbuydata[i].freightList[freightkey].storedata[storekey].id;
|
|
} else {
|
|
var storeid = 0;
|
|
}
|
|
if (allbuydata[i].freightList[freightkey].pstype == 11) {
|
|
var type11key = allbuydata[i].type11key;
|
|
if (type11key == 0 || !type11key) {
|
|
app.error('请选择物流');
|
|
return;
|
|
}
|
|
type11key = type11key - 1;
|
|
} else {
|
|
var type11key = 0
|
|
}
|
|
|
|
var formdata_fields = allbuydata[i].freightList[freightkey].formdata;
|
|
var formdata = e.detail.value;
|
|
var newformdata = {};
|
|
for (var j = 0; j < formdata_fields.length;j++){
|
|
var thisfield = 'form'+allbuydata[i].bid + '_' + j;
|
|
if (formdata_fields[j].val3 == 1 && (formdata[thisfield] === '' || formdata[thisfield] === undefined || formdata[thisfield].length==0)){
|
|
app.alert(formdata_fields[j].val1+' 必填');return;
|
|
}
|
|
if (formdata_fields[j].key == 'selector') {
|
|
formdata[thisfield] = formdata_fields[j].val2[formdata[thisfield]]
|
|
}
|
|
newformdata['form'+j] = formdata[thisfield];
|
|
}
|
|
|
|
var buydatatemp = {
|
|
bid: allbuydata[i].bid,
|
|
prodata: allbuydata[i].prodatastr,
|
|
cuxiaoid: allbuydata[i].cuxiaoid,
|
|
couponrid: allbuydata[i].couponrid,
|
|
freight_id: allbuydata[i].freightList[freightkey].id,
|
|
freight_time: allbuydata[i].freight_time,
|
|
storeid: storeid,
|
|
formdata:newformdata,
|
|
type11key: type11key,
|
|
};
|
|
|
|
if(that.order_change_price) {
|
|
buydatatemp.prodataList = allbuydata[i].prodata;
|
|
}
|
|
if(allbuydata[i].business.invoice) {
|
|
buydatatemp.invoice = allbuydata[i].tempInvoice;
|
|
}
|
|
buydata.push(buydatatemp);
|
|
}
|
|
// console.log(buydata);return;
|
|
app.showLoading('提交中');
|
|
app.post('ApiShop/createOrder', {
|
|
frompage: frompage,
|
|
buydata: buydata,
|
|
addressid: addressid,
|
|
linkman: linkman,
|
|
tel: tel,
|
|
checkmemid:checkmemid,
|
|
usescore: usescore
|
|
}, function(res) {
|
|
app.showLoading(false);
|
|
if (res.status == 0) {
|
|
//that.showsuccess(res.data.msg);
|
|
app.error(res.msg);
|
|
return;
|
|
}
|
|
//app.error('订单编号:' +res.payorderid);
|
|
if(res.payorderid)
|
|
app.goto('/pages/pay/pay?id=' + res.payorderid);
|
|
});
|
|
},
|
|
showCouponList: function(e) {
|
|
this.couponvisible = true;
|
|
this.bid = e.currentTarget.dataset.bid;
|
|
},
|
|
showInvoice: function(e) {
|
|
this.invoiceShow = true;
|
|
this.bid = e.currentTarget.dataset.bid;
|
|
let index = e.currentTarget.dataset.index;
|
|
this.invoice_type = this.allbuydata[index].business.invoice_type;
|
|
this.invoice = this.allbuydata[index].tempInvoice;
|
|
},
|
|
changeOrderType: function(e) {
|
|
var that = this;
|
|
var value = e.detail.value;
|
|
if(value == 2) {
|
|
that.name_type_select = 2;
|
|
that.name_type_personal_disabled = true;
|
|
} else {
|
|
that.name_type_personal_disabled = false;
|
|
}
|
|
that.invoice_type_select = value;
|
|
},
|
|
changeNameType: function(e) {
|
|
var that = this;
|
|
var value = e.detail.value;
|
|
that.name_type_select = value;
|
|
},
|
|
invoiceFormSubmit: function (e) {
|
|
var that = this;
|
|
var formdata = e.detail.value;
|
|
if(formdata.invoice_name == '') {
|
|
app.error('请填写抬头名称');
|
|
return;
|
|
}
|
|
if((formdata.name_type == 2 || formdata.invoice_type == 2) && formdata.tax_no == '') {
|
|
///^[A-Z0-9]{15}$|^[A-Z0-9]{17}$|^[A-Z0-9]{18}$|^[A-Z0-9]{20}$/
|
|
app.error('请填写公司税号');
|
|
return;
|
|
}
|
|
if(formdata.invoice_type == 2) {
|
|
if(formdata.address == '') {
|
|
app.error('请填写注册地址');
|
|
return;
|
|
}
|
|
if(formdata.tel == '') {
|
|
app.error('请填写注册电话');
|
|
return;
|
|
}
|
|
if(formdata.bank_name == '') {
|
|
app.error('请填写开户银行');
|
|
return;
|
|
}
|
|
if(formdata.bank_account == '') {
|
|
app.error('请填写银行账号');
|
|
return;
|
|
}
|
|
}
|
|
if (formdata.mobile != '') {
|
|
if(!/^1[3456789]\d{9}$/.test(formdata.mobile)){
|
|
app.error("手机号码有误,请重填");
|
|
return;
|
|
}
|
|
}
|
|
if (formdata.email != '') {
|
|
if(!/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/.test(formdata.email)){
|
|
app.error("邮箱有误,请重填");
|
|
return;
|
|
}
|
|
}
|
|
if(formdata.mobile == '' && formdata.email == '') {
|
|
app.error("手机号和邮箱请填写其中一个");
|
|
return;
|
|
}
|
|
// console.log(formdata);
|
|
var allbuydata = that.allbuydata;
|
|
for (var i in allbuydata) {
|
|
if(allbuydata[i].bid == that.bid)
|
|
allbuydata[i].tempInvoice = formdata;
|
|
}
|
|
that.allbuydata = allbuydata;
|
|
this.invoiceShow = false;
|
|
// that.loading = true;
|
|
// uni.setStorageSync('temp_invoice_' + that.opt.bid, formdata);
|
|
},
|
|
handleClickMask: function() {
|
|
this.couponvisible = false;
|
|
this.cuxiaovisible = false;
|
|
this.type11visible = false;
|
|
this.membervisible = false;
|
|
this.invoiceShow = false;
|
|
},
|
|
showCuxiaoList: function(e) {
|
|
this.cuxiaovisible = true;
|
|
this.bid = e.currentTarget.dataset.bid;
|
|
},
|
|
changecx: function(e) {
|
|
var that = this;
|
|
var cxid = e.currentTarget.dataset.id;
|
|
var cxindex = e.currentTarget.dataset.index;
|
|
console.log(cxid);
|
|
that.cxid = cxid;
|
|
if (cxid == 0) {
|
|
that.cuxiaoinfo = false;
|
|
return;
|
|
}
|
|
var cuxiaoinfo = that.allbuydata[that.bid].cuxiaolist[cxindex];
|
|
console.log(cuxiaoinfo.cuxiaomoney)
|
|
app.post("ApiShop/getcuxiaoinfo", {
|
|
id: cxid
|
|
}, function(res) {
|
|
if (cuxiaoinfo.type == 4 || cuxiaoinfo.type == 5) {
|
|
res.cuxiaomoney = cuxiaoinfo.cuxiaomoney
|
|
}
|
|
that.cuxiaoinfo = res;
|
|
});
|
|
},
|
|
changecxMulti: function(e) {
|
|
var that = this;
|
|
var cxid = e.currentTarget.dataset.id;
|
|
var cxindex = e.currentTarget.dataset.index;
|
|
that.cuxiaoList.length = 0;
|
|
console.log('cxid:'+cxid);
|
|
if (cxid == 0) {
|
|
that.cuxiaoinfo = false;
|
|
that.cxids.length = 0;
|
|
that.cxid = 0;
|
|
return;
|
|
}
|
|
var index = that.cxids.indexOf(cxid);
|
|
if(index === -1){
|
|
that.cxids.push(cxid);
|
|
} else {
|
|
that.cxids.splice(index);
|
|
}
|
|
if(that.cxids.length == 0) {
|
|
that.cxid = 0;
|
|
that.cuxiaoinfo = false;
|
|
return;
|
|
}
|
|
that.cxid = '';
|
|
var cuxiaoinfo = that.allbuydata[that.bid].cuxiaolist[cxindex];
|
|
console.log(cuxiaoinfo.cuxiaomoney)
|
|
app.showLoading();
|
|
app.post("ApiShop/getcuxiaoinfo", {
|
|
id: that.cxids
|
|
}, function(res) {
|
|
// if (cuxiaoinfo.type == 4 || cuxiaoinfo.type == 5) {
|
|
// res.cuxiaomoney = cuxiaoinfo.cuxiaomoney
|
|
// }
|
|
app.showLoading(false);
|
|
that.cuxiaoList = res;
|
|
});
|
|
},
|
|
chooseCuxiao: function() {
|
|
var that = this;
|
|
var allbuydata = that.allbuydata;
|
|
var bid = that.bid;
|
|
var cxid = that.cxid;
|
|
var cxids = that.cxids;
|
|
console.log(cxid == 0)
|
|
if (cxid == 0 || cxid == '') {
|
|
allbuydata[bid].cuxiaoid = '';
|
|
allbuydata[bid].cuxiao_money = 0;
|
|
allbuydata[bid].cuxiaoname = '不使用促销';
|
|
allbuydata[bid].cuxiaonameArr = [];
|
|
} else {
|
|
allbuydata[bid].cuxiaoid = [];
|
|
allbuydata[bid].cuxiao_money = 0;
|
|
allbuydata[bid].cuxiaotype = [];
|
|
allbuydata[bid].cuxiaonameArr = [];
|
|
console.log(that.cuxiaoList.info)
|
|
if(that.cuxiaoList.info && that.cuxiaoList.info.length > 0) {
|
|
for (var i in that.cuxiaoList.info) {
|
|
var cxtype = that.cuxiaoList.info[i].type;
|
|
console.log(cxtype);
|
|
if (cxtype == 1 || cxtype == 6) {
|
|
//满额立减 满件立减
|
|
allbuydata[bid].cuxiao_money += that.cuxiaoList.info[i]['money'] * -1;
|
|
} else if (cxtype == 2) {
|
|
//满额赠送
|
|
allbuydata[bid].cuxiao_money += 0;
|
|
} else if (cxtype == 3) {
|
|
//加价换购 27.8+15.964+41.4
|
|
allbuydata[bid].cuxiao_money += that.cuxiaoList.info[i]['money'];
|
|
} else if (cxtype == 4 || cxtype == 5) {
|
|
//满额打折 满件打折
|
|
var cuxiaoMoney = 0;
|
|
for ( var y in that.allbuydata[bid].cuxiaolist) {
|
|
if(that.cuxiaoList.info[i].id == that.allbuydata[bid].cuxiaolist[y].id) {
|
|
cuxiaoMoney = that.allbuydata[bid].cuxiaolist[y].cuxiaomoney;
|
|
}
|
|
}
|
|
console.log('cuxiaoMoney');
|
|
console.log(cuxiaoMoney);
|
|
allbuydata[bid].cuxiao_money += cuxiaoMoney * -1
|
|
}
|
|
allbuydata[bid].cuxiaoid.push(that.cuxiaoList.info[i].id);
|
|
allbuydata[bid].cuxiaotype.push(cxtype);
|
|
allbuydata[bid].cuxiaonameArr.push(that.cuxiaoList.info[i]['name']);
|
|
}
|
|
console.log('allbuydata[bid]');
|
|
console.log(allbuydata[bid]);
|
|
} else {
|
|
var cxtype = that.cuxiaoinfo.info.type;
|
|
console.log(cxtype);
|
|
if (cxtype == 1 || cxtype == 6) {
|
|
//满额立减 满件立减
|
|
allbuydata[bid].cuxiao_money = that.cuxiaoinfo.info['money'] * -1;
|
|
} else if (cxtype == 2) {
|
|
//满额赠送
|
|
allbuydata[bid].cuxiao_money = 0;
|
|
} else if (cxtype == 3) {
|
|
//加价换购 27.8+15.964+41.4
|
|
allbuydata[bid].cuxiao_money = that.cuxiaoinfo.info['money'];
|
|
} else if (cxtype == 4 || cxtype == 5) {
|
|
//var product_price = parseFloat(allbuydata[bid].product_price);
|
|
//var leveldk_money = parseFloat(allbuydata[bid].leveldk_money); //会员折扣
|
|
//var manjian_money = parseFloat(allbuydata[bid].manjian_money); //满减活动
|
|
//满额打折 满件打折
|
|
//allbuydata[bid].cuxiao_money = (1 - that.cuxiaoinfo.info['zhekou'] * 0.1) * (product_price - leveldk_money - manjian_money) * -1;
|
|
allbuydata[bid].cuxiao_money = that.cuxiaoinfo.cuxiaomoney * -1
|
|
}
|
|
allbuydata[bid].cuxiaoid = cxid;
|
|
allbuydata[bid].cuxiaotype = cxtype;
|
|
allbuydata[bid].cuxiaoname = that.cuxiaoinfo.info['name'];
|
|
}
|
|
}
|
|
this.allbuydata = allbuydata;
|
|
this.cuxiaovisible = false;
|
|
this.calculatePrice();
|
|
},
|
|
showType11List: function(e) {
|
|
this.type11visible = true;
|
|
this.bid = e.currentTarget.dataset.bid;
|
|
},
|
|
changetype11: function(e) {
|
|
var that = this;
|
|
var allbuydata = that.allbuydata;
|
|
var bid = that.bid;
|
|
that.type11key = e.currentTarget.dataset.index;
|
|
// console.log(that.type11key)
|
|
},
|
|
chooseType11: function(e) {
|
|
var that = this;
|
|
var allbuydata = that.allbuydata;
|
|
var bid = that.bid;
|
|
var type11key = that.type11key;
|
|
if (type11key == -1) {
|
|
app.error('请选择物流');
|
|
return;
|
|
}
|
|
allbuydata[bid].type11key = type11key + 1;
|
|
// console.log(allbuydata[bid].type11key)
|
|
var freightkey = allbuydata[bid].freightkey;
|
|
var freightList = allbuydata[bid].freightList;
|
|
var freight_price = parseFloat(freightList[freightkey].type11pricedata[type11key].price);
|
|
var product_price = parseFloat(allbuydata[bid].product_price);
|
|
// console.log(freightList[freightkey].freeset);
|
|
// console.log(parseFloat(freightList[freightkey].free_price));
|
|
// console.log(product_price);
|
|
if (freightList[freightkey].freeset == 1 && parseFloat(freightList[freightkey].free_price) <=
|
|
product_price) {
|
|
freight_price = 0;
|
|
}
|
|
allbuydata[bid].freightList[freightkey].freight_price = freight_price;
|
|
|
|
this.allbuydata = allbuydata;
|
|
this.type11visible = false;
|
|
this.calculatePrice();
|
|
},
|
|
openMendian: function(e) {
|
|
var allbuydata = this.allbuydata
|
|
var bid = e.currentTarget.dataset.bid;
|
|
var freightkey = e.currentTarget.dataset.freightkey;
|
|
var storekey = e.currentTarget.dataset.storekey;
|
|
var frightinfo = allbuydata[bid].freightList[freightkey]
|
|
var storeinfo = frightinfo.storedata[storekey];
|
|
// console.log(storeinfo)
|
|
app.goto('mendian?id=' + storeinfo.id);
|
|
},
|
|
openLocation: function(e) {
|
|
var allbuydata = this.allbuydata
|
|
var bid = e.currentTarget.dataset.bid;
|
|
var freightkey = e.currentTarget.dataset.freightkey;
|
|
var storekey = e.currentTarget.dataset.storekey;
|
|
var frightinfo = allbuydata[bid].freightList[freightkey]
|
|
var storeinfo = frightinfo.storedata[storekey];
|
|
// console.log(storeinfo)
|
|
var latitude = parseFloat(storeinfo.latitude);
|
|
var longitude = parseFloat(storeinfo.longitude);
|
|
var address = storeinfo.name;
|
|
uni.openLocation({
|
|
latitude: latitude,
|
|
longitude: longitude,
|
|
name: address,
|
|
scale: 13
|
|
})
|
|
},
|
|
editorChooseImage: function (e) {
|
|
var that = this;
|
|
var bid = e.currentTarget.dataset.bid;
|
|
var idx = e.currentTarget.dataset.idx;
|
|
var editorFormdata = that.allbuydata[bid].editorFormdata;
|
|
if(!editorFormdata) editorFormdata = [];
|
|
app.chooseImage(function(data){
|
|
editorFormdata[idx] = data[0];
|
|
// console.log(editorFormdata)
|
|
that.allbuydata[bid].editorFormdata = editorFormdata
|
|
that.test = Math.random();
|
|
})
|
|
},
|
|
editorBindPickerChange:function(e){
|
|
var that = this;
|
|
var bid = e.currentTarget.dataset.bid;
|
|
var idx = e.currentTarget.dataset.idx;
|
|
var val = e.detail.value;
|
|
var editorFormdata = that.allbuydata[bid].editorFormdata;
|
|
if(!editorFormdata) editorFormdata = [];
|
|
editorFormdata[idx] = val;
|
|
// console.log(editorFormdata)
|
|
that.allbuydata[bid].editorFormdata = editorFormdata;
|
|
that.test = Math.random();
|
|
},
|
|
|
|
showMemberList: function(e) {
|
|
this.membervisible = true;
|
|
},
|
|
regionchange2: function(e) {
|
|
const value = e.detail.value
|
|
// console.log(value[0].text + ',' + value[1].text + ',' + value[2].text);
|
|
this.regiondata = value[0].text + ',' + value[1].text + ',' + value[2].text
|
|
},
|
|
memberSearch: function() {
|
|
var that = this;
|
|
// console.log(that.regiondata)
|
|
app.post('ApiShop/memberSearch', {
|
|
diqu: that.regiondata
|
|
}, function(res) {
|
|
app.showLoading(false);
|
|
if (res.status == 0) {
|
|
app.error(res.msg);
|
|
return;
|
|
}
|
|
var data = res.memberList;
|
|
that.memberList = data;
|
|
});
|
|
},
|
|
checkMember: function(e) {
|
|
var that = this;
|
|
that.checkMem = e.currentTarget.dataset.info;
|
|
this.membervisible = false;
|
|
},
|
|
showmemberinfo:function(e){
|
|
var that = this;
|
|
var mid = e.currentTarget.dataset.mid;
|
|
app.showLoading('提交中');
|
|
app.post('ApiShop/getmemberuplvinfo',{mid:mid}, function(res) {
|
|
app.showLoading(false);
|
|
if (res.status == 0) {
|
|
app.error(res.msg);
|
|
return;
|
|
}
|
|
that.selectmemberinfo = res.info;
|
|
that.memberinfovisible = true;
|
|
});
|
|
},
|
|
memberinfoClickMask:function(){
|
|
this.memberinfovisible = false;
|
|
},
|
|
doStoreShowAll:function(){
|
|
this.storeshowall = true;
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style>
|
|
.redBg{color:#fff;padding:4rpx 16rpx;font-weight:normal;border-radius:8rpx;font-size:24rpx; width: auto; display: inline-block; margin-top: 4rpx;}
|
|
.address-add {width: 94%;margin: 20rpx 3%;background: #fff;border-radius: 20rpx;padding: 20rpx 3%;min-height: 140rpx;}
|
|
.address-add .f1 {margin-right: 20rpx}
|
|
.address-add .f1 .img {width: 66rpx;height: 66rpx;}
|
|
.address-add .f2 {color: #666;}
|
|
.address-add .f3 {width: 26rpx;height: 26rpx;}
|
|
.linkitem {width: 100%;padding: 1px 0;background: #fff;display: flex;align-items: center}.cf3 {width: 200rpx;height: 26rpx;display: block;
|
|
text-align: right;}
|
|
.linkitem .f1 {width: 160rpx;color: #111111}
|
|
.linkitem .input {height: 50rpx;padding-left: 10rpx;color: #222222;font-weight: bold;font-size: 28rpx;flex: 1}
|
|
.buydata {width: 94%;margin: 0 3%;background: #fff;margin-bottom: 20rpx;border-radius: 20rpx;}
|
|
.btitle {width: 100%;padding: 20rpx 20rpx;display: flex;align-items: center;color: #111111;font-weight: bold;font-size: 30rpx}
|
|
.btitle .img {width: 34rpx;height: 34rpx;margin-right: 10rpx}
|
|
.bcontent {width: 100%;padding: 0 20rpx}
|
|
.product {width: 100%;border-bottom: 1px solid #f4f4f4}
|
|
.product .item {width: 100%;padding: 20rpx 0;background: #fff;border-bottom: 1px #ededed dashed;}
|
|
.product .item:last-child {border: none}
|
|
.product .info {padding-left: 20rpx;}
|
|
.product .info .f1 {color: #222222;font-weight: bold;font-size: 26rpx;line-height: 36rpx;margin-bottom: 10rpx;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;overflow: hidden;}
|
|
.product .info .f2 {color: #999999;font-size: 24rpx}
|
|
.product .info .f3 {color: #FF4C4C;font-size: 28rpx;display: flex;align-items: center;margin-top: 10rpx}
|
|
.product image {width: 140rpx;height: 140rpx}
|
|
.freight {width: 100%;padding: 20rpx 0;background: #fff;display: flex;flex-direction: column;}
|
|
.freight .f1 {color: #333;margin-bottom: 10rpx}
|
|
.freight .f2 {color: #111111;text-align: right;flex: 1}
|
|
.freight .f3 {width: 24rpx;height: 28rpx;}
|
|
.freighttips {color: red;font-size: 24rpx;}
|
|
.freight-ul {width: 100%;display: flex;}
|
|
.freight-li {flex-shrink: 0;display: flex;background: #F5F6F8;border-radius: 24rpx;color: #6C737F;font-size: 24rpx;text-align: center;height: 48rpx;line-height: 48rpx;padding: 0 28rpx;margin: 12rpx 10rpx 12rpx 0}
|
|
.inputPrice {border: 1px solid #ddd; width: 200rpx; height: 40rpx; border-radius: 10rpx; padding: 0 4rpx;}
|
|
|
|
.price {width: 100%;padding: 20rpx 0;background: #fff;display: flex;align-items: center}
|
|
.price .f1 {color: #333}
|
|
.price .f2 {color: #111;font-weight: bold;text-align: right;flex: 1}
|
|
.price .f3 {width: 24rpx;height: 24rpx;}
|
|
.scoredk {width: 94%;margin: 0 3%;margin-bottom: 20rpx;border-radius: 20rpx;padding: 24rpx 20rpx;background: #fff;display: flex;align-items: center}
|
|
.scoredk .f1 {color: #333333}
|
|
.scoredk .f2 {color: #999999;text-align: right;flex: 1}
|
|
.remark {width: 100%;padding: 16rpx 0;background: #fff;display: flex;align-items: center}
|
|
.remark .f1 {color: #333;width: 200rpx}
|
|
.remark input {border: 0px solid #eee;height: 70rpx;padding-left: 10rpx;text-align: right}
|
|
.footer {width: 96%;background: #fff;margin-top: 5px;position: fixed;left: 0px;bottom: 0px;padding: 0 2%;display: flex;align-items: center;z-index: 8;box-sizing:content-box}
|
|
.footer .text1 {height: 110rpx;line-height: 110rpx;color: #2a2a2a;font-size: 30rpx;}
|
|
.footer .text1 text {color: #e94745;font-size: 32rpx;}
|
|
.footer .op {width: 200rpx;height: 80rpx;line-height: 80rpx;color: #fff;text-align: center;font-size: 30rpx;border-radius: 44rpx}
|
|
.footer .op[disabled] { background: #aaa !important; color: #666;}
|
|
.storeitem {width: 100%;padding: 20rpx 0;display: flex;flex-direction: column;color: #333}
|
|
.storeitem .panel {width: 100%;height: 60rpx;line-height: 60rpx;font-size: 28rpx;color: #333;margin-bottom: 10rpx;display: flex}
|
|
.storeitem .panel .f1 {color: #333}
|
|
.storeitem .panel .f2 {color: #111;font-weight: bold;text-align: right;flex: 1}
|
|
.storeitem .radio-item {display: flex;width: 100%;color: #000;align-items: center;background: #fff;border-bottom: 0 solid #eee;padding: 8rpx 20rpx;}
|
|
.storeitem .radio-item:last-child {border: 0}
|
|
.storeitem .radio-item .f1 {color: #666;flex: 1}
|
|
.storeitem .radio {flex-shrink: 0;width: 32rpx;height: 32rpx;background: #FFFFFF;border: 2rpx solid #BFBFBF;border-radius: 50%;margin-left: 30rpx}
|
|
.storeitem .radio .radio-img {width: 100%;height: 100%}
|
|
.pstime-item {display: flex;border-bottom: 1px solid #f5f5f5;padding: 20rpx 30rpx;}
|
|
.pstime-item .radio {flex-shrink: 0;width: 32rpx;height: 32rpx;background: #FFFFFF;border: 2rpx solid #BFBFBF;border-radius: 50%;margin-right: 30rpx}
|
|
.pstime-item .radio .radio-img {width: 100%;height: 100%}
|
|
.cuxiao-desc {width: 100%}
|
|
.cuxiao-item {display: flex;padding: 0 40rpx 20rpx 40rpx;}
|
|
.cuxiao-item .type-name {font-size: 28rpx;color: #49aa34;margin-bottom: 10rpx;flex: 1}
|
|
.cuxiao-item .radio {flex-shrink: 0;width: 32rpx;height: 32rpx;background: #FFFFFF;border: 2rpx solid #BFBFBF;border-radius: 50%;margin-right: 30rpx}
|
|
.cuxiao-item .radio .radio-img {width: 100%;height: 100%}
|
|
|
|
.form-item {width: 100%;padding: 16rpx 0;background: #fff;display: flex;align-items: center;justify-content:space-between}
|
|
.form-item .label {color: #333;width: 200rpx;flex-shrink:0}
|
|
.form-item .radio{transform:scale(.7);}
|
|
.form-item .checkbox{transform:scale(.7);}
|
|
.form-item .input {border:0px solid #eee;height: 70rpx;padding-left: 10rpx;text-align: right;flex:1}
|
|
.form-item .textarea{height:140rpx;line-height:40rpx;overflow: hidden;flex:1;border:1px solid #eee;border-radius:2px;padding:8rpx}
|
|
.form-item .radio-group{display:flex;flex-wrap:wrap;justify-content:flex-end}
|
|
.form-item .radio{height: 70rpx;line-height: 70rpx;display:flex;align-items:center}
|
|
.form-item .radio2{display:flex;align-items:center;}
|
|
.form-item .radio .myradio{margin-right:10rpx;display:inline-block;border:1px solid #aaa;background:#fff;height:32rpx;width:32rpx;border-radius:50%}
|
|
.form-item .checkbox-group{display:flex;flex-wrap:wrap;justify-content:flex-end}
|
|
.form-item .checkbox{height: 70rpx;line-height: 70rpx;display:flex;align-items:center}
|
|
.form-item .checkbox2{display:flex;align-items:center;height: 40rpx;line-height: 40rpx;}
|
|
.form-item .checkbox .mycheckbox{margin-right:10rpx;display:inline-block;border:1px solid #aaa;background:#fff;height:32rpx;width:32rpx;border-radius:2px}
|
|
.form-item .picker{height: 70rpx;line-height:70rpx;flex:1;text-align:right}
|
|
|
|
.form-imgbox{margin-right:16rpx;margin-bottom:10rpx;font-size:24rpx;position: relative;}
|
|
.form-imgbox-close{position: absolute;display: block;width:32rpx;height:32rpx;right:-16rpx;top:-16rpx;color:#999;font-size:32rpx;background:#fff}
|
|
.form-imgbox-close .image{width:100%;height:100%}
|
|
.form-imgbox-img{display: block;width:180rpx;height:180rpx;padding:2px;border: #d3d3d3 1px solid;background-color: #f6f6f6;overflow:hidden}
|
|
.form-imgbox-img>.image{max-width:100%;}
|
|
.form-imgbox-repeat{position: absolute;display: block;width:32rpx;height:32rpx;line-height:28rpx;right: 2px;bottom:2px;color:#999;font-size:30rpx;background:#fff}
|
|
.form-uploadbtn{position:relative;height:180rpx;width:180rpx}
|
|
|
|
.member_search{width:100%;padding:0 40rpx;display:flex;align-items:center}
|
|
.searchMemberButton{height:60rpx;background-color: #007AFF;border-radius: 10rpx;width: 160rpx;line-height: 60rpx;color: #fff;text-align: center;font-size: 28rpx;display: block;}
|
|
.memberlist{width:100%;padding:0 40rpx;height: auto;margin:20rpx auto;}
|
|
.memberitem{display:flex;align-items:center;border-bottom:1px solid #f5f5f5;padding:20rpx 0}
|
|
.memberitem image{display: block;height:100rpx;width:100rpx;margin-right:20rpx;}
|
|
.memberitem .t1{color:#333;font-weight:bold}
|
|
.memberitem .radio {flex-shrink: 0;width: 32rpx;height: 32rpx;background: #FFFFFF;border: 2rpx solid #BFBFBF;border-radius: 50%;margin-right: 30rpx}
|
|
.memberitem .radio .radio-img {width: 100%;height: 100%}
|
|
|
|
.checkMem{ display: inline-block; }
|
|
.checkMem p{ height: 30px; width: 100%; display: inline-block; }
|
|
.placeholder{ font-size: 26rpx;line-height: 80rpx;}
|
|
.selected-item span{ font-size: 26rpx !important;}
|
|
.orderinfo{width:94%;margin:0 3%;border-radius:8rpx;margin-top:16rpx;padding: 14rpx 3%;background: #FFF;}
|
|
.orderinfo .item{display:flex;width:100%;padding:20rpx 0;border-bottom:1px dashed #ededed;overflow:hidden}
|
|
.orderinfo .item:last-child{ border-bottom: 0;}
|
|
.orderinfo .item .t1{width:200rpx;flex-shrink:0}
|
|
.orderinfo .item .t2{flex:1;text-align:right}
|
|
.orderinfo .item .red{color:red}
|
|
|
|
.storeviewmore{width:100%;text-align:center;color:#889;height:40rpx;line-height:40rpx;margin-top:10rpx}
|
|
|
|
.btn{ height:80rpx;line-height: 80rpx;width:90%;margin:0 auto;border-radius:40rpx;margin-top:40rpx;color: #fff;font-size: 28rpx;font-weight:bold}
|
|
.invoiceBox .radio radio{transform: scale(0.8);}
|
|
.invoiceBox .radio:nth-child(2) { margin-left: 30rpx;}
|
|
|
|
/* 修改的样式 */
|
|
.batal-new {min-height: 140rpx;padding: 20rpx; margin: 20rpx;background-color: #fff;border-radius: 20rpx;display: flex;justify-content: space-between;align-items: center;}
|
|
.batal-new-l {width: 65%;display: flex;flex-direction: column;}
|
|
.batal-new-l-t {display: flex;}
|
|
.batal-new-l-til {font-weight: bold;}
|
|
.batal-new-l-ad {padding-top: 10rpx;}
|
|
.batal-new-r {border: 2rpx solid #EFBD6F; border-radius: 300rpx;display: flex; color: #EFBD6F;}
|
|
.batal-new-r-t {padding: 10rpx 20rpx;}
|
|
.since-n,.since-t {background-color: #EFBD6F; color: #fff;}
|
|
.since-t {border-radius: 0 300rpx 300rpx 0;}
|
|
.since-n {border-radius: 300rpx 0 0 300rpx;}
|
|
|
|
.distribution {min-height: 140rpx;padding: 20rpx; margin: 20rpx;background-color: #fff;border-radius: 20rpx;display: flex;align-items: center;justify-content: space-between;}
|
|
.distribution-time {display: flex;align-items: center;}
|
|
.add-dres {min-height: 140rpx;padding: 20rpx; margin: 20rpx;background-color: #fff;border-radius: 20rpx;display: flex;align-items: center;justify-content: space-between;}
|
|
.add-dres-r {display: flex;align-items: center;justify-content: flex-end;}
|
|
</style>
|
|
|