修改html标签为uni标签,修改rem单位为rpx,修改提示及确认为uniapi,修改登录模块为uni接口,修改css入口为APP.vue,增加app端样式支持
This commit is contained in:
@@ -1,39 +1,39 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="address-window" :class="value === true ? 'on' : ''">
|
||||
<div class="title">
|
||||
<view>
|
||||
<view class="address-window" :class="value === true ? 'on' : ''">
|
||||
<view class="title">
|
||||
选择地址
|
||||
<span class="iconfont icon-guanbi" @click="closeAddress"></span>
|
||||
</div>
|
||||
<div class="list" v-if="addressList.length">
|
||||
<div
|
||||
<text class="iconfont icon-guanbi" @click="closeAddress"></text>
|
||||
</view>
|
||||
<view class="list" v-if="addressList.length">
|
||||
<view
|
||||
class="item acea-row row-between-wrapper"
|
||||
:class="item.id === checked ? 'font-color-red' : ''"
|
||||
v-for="(item, addressIndex) in addressList"
|
||||
@click="tapAddress(addressIndex)"
|
||||
:key="addressIndex"
|
||||
>
|
||||
<span class="iconfont icon-ditu" :class="item.id === checked ? 'font-color-red' : ''"></span>
|
||||
<div class="addressTxt">
|
||||
<div class="name" :class="item.id === checked ? 'font-color-red' : ''">
|
||||
<text class="iconfont icon-ditu" :class="item.id === checked ? 'font-color-red' : ''"></text>
|
||||
<view class="addressTxt">
|
||||
<view class="name" :class="item.id === checked ? 'font-color-red' : ''">
|
||||
{{ item.realName }}
|
||||
<span class="phone">{{ item.phone }}</span>
|
||||
</div>
|
||||
<div class="line1">
|
||||
<text class="phone">{{ item.phone }}</text>
|
||||
</view>
|
||||
<view class="line1">
|
||||
{{ item.province }}{{ item.city }}{{ item.district
|
||||
}}{{ item.detail }}
|
||||
</div>
|
||||
</div>
|
||||
<span class="iconfont icon-complete" :class="item.id === checked ? 'font-color-red' : ''"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pictrue" v-if="addressList.length < 1">
|
||||
<img :src="$VUE_APP_RESOURCES_URL+'/images/noAddress.png'" class="image" />
|
||||
</div>
|
||||
<div class="addressBnt bg-color-red" @click="goAddressPages">新加地址</div>
|
||||
</div>
|
||||
<div class="mask" @touchmove.prevent :hidden="value === false" @click="closeAddress"></div>
|
||||
</div>
|
||||
</view>
|
||||
</view>
|
||||
<text class="iconfont icon-complete" :class="item.id === checked ? 'font-color-red' : ''"></text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="pictrue" v-if="addressList.length < 1">
|
||||
<image :src="$VUE_APP_RESOURCES_URL+'/images/noAddress.png'" class="image" />
|
||||
</view>
|
||||
<view class="addressBnt bg-color-red" @click="goAddressPages">新加地址</view>
|
||||
</view>
|
||||
<view class="mask" @touchmove.prevent :hidden="value === false" @click="closeAddress"></view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
import { getAddressList } from "@/api/user";
|
||||
|
||||
+10
-10
@@ -1,15 +1,15 @@
|
||||
<template>
|
||||
<div class="time">
|
||||
<view class="time">
|
||||
{{ tipText }}
|
||||
<span class="styleAll" v-if="isDay === true">{{ day }}</span>
|
||||
<span class="timeTxt">{{ dayText }}</span>
|
||||
<span class="styleAll">{{ hour }}</span>
|
||||
<span class="timeTxt">{{ hourText }}</span>
|
||||
<span class="styleAll">{{ minute }}</span>
|
||||
<span class="timeTxt">{{ minuteText }}</span>
|
||||
<span class="styleAll">{{ second }}</span>
|
||||
<span class="timeTxt">{{ secondText }}</span>
|
||||
</div>
|
||||
<text class="styleAll" v-if="isDay === true">{{ day }}</text>
|
||||
<text class="timeTxt">{{ dayText }}</text>
|
||||
<text class="styleAll">{{ hour }}</text>
|
||||
<text class="timeTxt">{{ hourText }}</text>
|
||||
<text class="styleAll">{{ minute }}</text>
|
||||
<text class="timeTxt">{{ minuteText }}</text>
|
||||
<text class="styleAll">{{ second }}</text>
|
||||
<text class="timeTxt">{{ secondText }}</text>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
|
||||
@@ -1,51 +1,51 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="coupon-list-window" :class="value === true ? 'on' : ''">
|
||||
<div class="title">
|
||||
<view>
|
||||
<view class="coupon-list-window" :class="value === true ? 'on' : ''">
|
||||
<view class="title">
|
||||
优惠券
|
||||
<span class="iconfont icon-guanbi" @click="close"></span>
|
||||
</div>
|
||||
<div v-if="couponList.length > 0">
|
||||
<div class="coupon-list">
|
||||
<div
|
||||
<text class="iconfont icon-guanbi" @click="close"></text>
|
||||
</view>
|
||||
<view v-if="couponList.length > 0">
|
||||
<view class="coupon-list">
|
||||
<view
|
||||
class="item acea-row row-center-wrapper"
|
||||
v-for="coupon in couponList"
|
||||
:key="coupon.id"
|
||||
@click="click(coupon)"
|
||||
>
|
||||
<div class="money">
|
||||
<view class="money">
|
||||
¥
|
||||
<span class="num">{{ coupon.couponPrice }}</span>
|
||||
</div>
|
||||
<div class="text">
|
||||
<div class="condition line1">{{ coupon.couponTitle }}</div>
|
||||
<div class="data acea-row row-between-wrapper">
|
||||
<div v-if="coupon.endTime === 0">不限时</div>
|
||||
<div v-else><data-format-t :data="coupon.addTime"></data-format-t> - <data-format-t :data="coupon.endTime"></data-format-t></div>
|
||||
<div
|
||||
<text class="num">{{ coupon.couponPrice }}</text>
|
||||
</view>
|
||||
<view class="text">
|
||||
<view class="condition line1">{{ coupon.couponTitle }}</view>
|
||||
<view class="data acea-row row-between-wrapper">
|
||||
<view v-if="coupon.endTime === 0">不限时</view>
|
||||
<view v-else><data-format-t :data="coupon.addTime"></data-format-t> - <data-format-t :data="coupon.endTime"></data-format-t></view>
|
||||
<view
|
||||
class="iconfont icon-xuanzhong1 font-color-red"
|
||||
v-if="checked === coupon.id"
|
||||
></div>
|
||||
<div class="iconfont icon-weixuanzhong" v-else></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="couponNo bg-color-red" @click="couponNo">不使用优惠券</div>
|
||||
</div>
|
||||
<div v-if="!couponList.length && loaded">
|
||||
<div class="pictrue">
|
||||
<img :src="$VUE_APP_RESOURCES_URL+'/images/noCoupon.png'" class="image" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
></view>
|
||||
<view class="iconfont icon-weixuanzhong" v-else></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="couponNo bg-color-red" @click="couponNo">不使用优惠券</view>
|
||||
</view>
|
||||
<view v-if="!couponList.length && loaded">
|
||||
<view class="pictrue">
|
||||
<image :src="$VUE_APP_RESOURCES_URL+'/images/noCoupon.png'" class="image" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view
|
||||
class="mask"
|
||||
@touchmove.prevent
|
||||
:hidden="value === false"
|
||||
@click="close"
|
||||
></div>
|
||||
</div>
|
||||
></view>
|
||||
</view>
|
||||
</template>
|
||||
<style scoped>
|
||||
.coupon-list-window .iconfont {
|
||||
|
||||
+34
-37
@@ -1,48 +1,41 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="coupon-list-window" :class="coupon.coupon === true ? 'on' : ''">
|
||||
<div class="title">
|
||||
优惠券<span class="iconfont icon-guanbi" @click="close"></span>
|
||||
</div>
|
||||
<div class="coupon-list" v-if="coupon.list.length > 0">
|
||||
<div
|
||||
<view>
|
||||
<view class="coupon-list-window" :class="coupon.coupon === true ? 'on' : ''">
|
||||
<view class="title">
|
||||
优惠券
|
||||
<text class="iconfont icon-guanbi" @click="close"></text>
|
||||
</view>
|
||||
<view class="coupon-list" v-if="coupon.list.length > 0">
|
||||
<view
|
||||
class="item acea-row row-center-wrapper"
|
||||
v-for="(item, couponpopIndex) in coupon.list"
|
||||
:key="couponpopIndex"
|
||||
@click="getCouponUser(couponpopIndex, item.id)"
|
||||
>
|
||||
<div class="money">
|
||||
¥<span class="num">{{ item.coupon_price }}</span>
|
||||
</div>
|
||||
<div class="text">
|
||||
<div class="condition line1">
|
||||
购物满{{ item.use_min_price }}元可用
|
||||
</div>
|
||||
<div class="data acea-row row-between-wrapper">
|
||||
<div v-if="item.end_time === 0">不限时</div>
|
||||
<div v-else>{{ item.start_time }}-{{ item.end_time }}</div>
|
||||
<div
|
||||
<view class="money">
|
||||
¥
|
||||
<text class="num">{{ item.coupon_price }}</text>
|
||||
</view>
|
||||
<view class="text">
|
||||
<view class="condition line1">购物满{{ item.use_min_price }}元可用</view>
|
||||
<view class="data acea-row row-between-wrapper">
|
||||
<view v-if="item.end_time === 0">不限时</view>
|
||||
<view v-else>{{ item.start_time }}-{{ item.end_time }}</view>
|
||||
<view
|
||||
class="bnt acea-row row-center-wrapper"
|
||||
:class="!item.is_use ? 'bg-color-red' : 'gray'"
|
||||
>
|
||||
{{ !item.is_use ? "立即领取" : "已领取" }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
>{{ !item.is_use ? "立即领取" : "已领取" }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!--无优惠券-->
|
||||
<div class="pictrue" v-else>
|
||||
<img :src="$VUE_APP_RESOURCES_URL+'/images/noCoupon.png'" class="image" />
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="mask"
|
||||
@touchmove.prevent
|
||||
:hidden="coupon.coupon === false"
|
||||
@click="close"
|
||||
></div>
|
||||
</div>
|
||||
<view class="pictrue" v-else>
|
||||
<image :src="$VUE_APP_RESOURCES_URL+'/images/noCoupon.png'" class="image" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="mask" @touchmove.prevent :hidden="coupon.coupon === false" @click="close"></view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
import { getCouponReceive } from "@/api/user";
|
||||
@@ -67,7 +60,11 @@ export default {
|
||||
list = that.coupon.list;
|
||||
if (list[index].is_use === true) return;
|
||||
getCouponReceive(id).then(function() {
|
||||
that.$dialog.toast({ mes: "已领取" });
|
||||
uni.showToast({
|
||||
title: "已领取",
|
||||
icon: "none",
|
||||
duration: 2000
|
||||
});
|
||||
that.$set(list[index], "is_use", true);
|
||||
that.$emit("changefun", { action: "currentcoupon", value: index });
|
||||
that.$emit("changeFun", { action: "changecoupon", value: false });
|
||||
|
||||
+83
-75
@@ -1,80 +1,88 @@
|
||||
<template>
|
||||
<div v-if="couponList.length > 0">
|
||||
<div class="coupon-window" :class="value ? 'on' : ''">
|
||||
<div class="couponWinList">
|
||||
<div
|
||||
class="item acea-row row-between-wrapper"
|
||||
v-for="(item, couponwindiwIndex) in couponList"
|
||||
:key="couponwindiwIndex"
|
||||
>
|
||||
<div class="money font-color-red">
|
||||
¥<span class="num">{{ item.coupon_price }}</span>
|
||||
</div>
|
||||
<div class="text">
|
||||
<div class="name">
|
||||
购物买{{ item.use_min_price }}减{{ item.coupon_price }}
|
||||
</div>
|
||||
<div v-if="item.end_time">
|
||||
{{ item.start_time }}-{{ item.end_time }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="height:1.2rem"></div>
|
||||
</div>
|
||||
<div class="lid">
|
||||
<div class="bnt font-color-red" @click="checked">立即领取</div>
|
||||
<div class="iconfont icon-guanbi3" @click="close"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mask" @touchmove.prevent :hidden="!value"></div>
|
||||
</div>
|
||||
<view v-if="couponList.length > 0">
|
||||
<view class="coupon-window" :class="value ? 'on' : ''">
|
||||
<view class="couponWinList">
|
||||
<view class="item acea-row row-between-wrapper" v-for="(item, couponwindiwIndex) in couponList" :key="couponwindiwIndex">
|
||||
<view class="money font-color-red">
|
||||
¥<text class="num">{{ item.coupon_price }}</text>
|
||||
</view>
|
||||
<view class="text">
|
||||
<view class="name">
|
||||
购物买{{ item.use_min_price }}减{{ item.coupon_price }}
|
||||
</view>
|
||||
<view v-if="item.end_time">
|
||||
{{ item.start_time }}-{{ item.end_time }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view style="height:1.2rem"></view>
|
||||
</view>
|
||||
<view class="lid">
|
||||
<view class="bnt font-color-red" @click="checked">立即领取</view>
|
||||
<view class="iconfont icon-guanbi3" @click="close"></view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mask" @touchmove.prevent :hidden="!value"></view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
import { mapGetters } from "vuex";
|
||||
import toLogin from "@/libs/login";
|
||||
import { couponReceiveBatch } from "@/api/user";
|
||||
import {
|
||||
mapGetters
|
||||
} from "vuex";
|
||||
import toLogin from "@/libs/login";
|
||||
import {
|
||||
couponReceiveBatch
|
||||
} from "@/api/user";
|
||||
|
||||
export default {
|
||||
name: "CouponWindow",
|
||||
props: {
|
||||
couponList: {
|
||||
type: Array,
|
||||
default: () => []
|
||||
}
|
||||
},
|
||||
computed: mapGetters(["isLogin"]),
|
||||
data: function() {
|
||||
return {
|
||||
value: true
|
||||
};
|
||||
},
|
||||
mounted: function() {},
|
||||
methods: {
|
||||
checked() {
|
||||
const isLogin = this.isLogin;
|
||||
if (!isLogin) return toLogin();
|
||||
export default {
|
||||
name: "CouponWindow",
|
||||
props: {
|
||||
couponList: {
|
||||
type: Array,
|
||||
default: () => []
|
||||
}
|
||||
},
|
||||
computed: mapGetters(["isLogin"]),
|
||||
data: function() {
|
||||
return {
|
||||
value: true
|
||||
};
|
||||
},
|
||||
mounted: function() {},
|
||||
methods: {
|
||||
checked() {
|
||||
const isLogin = this.isLogin;
|
||||
if (!isLogin) return toLogin();
|
||||
|
||||
const ids = this.couponList.reduce((initial, coupon) => {
|
||||
initial.push(coupon.id);
|
||||
return initial;
|
||||
}, []);
|
||||
couponReceiveBatch(ids)
|
||||
.then(() => {
|
||||
this.$emit("success");
|
||||
this.$dialog.toast({ mes: "领取成功" });
|
||||
})
|
||||
.catch(() => {
|
||||
this.$dialog.toast({ mes: "已领取" });
|
||||
});
|
||||
if (isLogin) {
|
||||
this.value = false;
|
||||
this.$emit("checked");
|
||||
}
|
||||
},
|
||||
close: function() {
|
||||
this.value = false;
|
||||
this.$emit("close");
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
const ids = this.couponList.reduce((initial, coupon) => {
|
||||
initial.push(coupon.id);
|
||||
return initial;
|
||||
}, []);
|
||||
couponReceiveBatch(ids)
|
||||
.then(() => {
|
||||
this.$emit("success");
|
||||
uni.showToast({
|
||||
title: '领取成功',
|
||||
icon: 'success',
|
||||
duration: 2000
|
||||
});
|
||||
})
|
||||
.catch(() => {
|
||||
uni.showToast({
|
||||
title: '已领取',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
});
|
||||
});
|
||||
if (isLogin) {
|
||||
this.value = false;
|
||||
this.$emit("checked");
|
||||
}
|
||||
},
|
||||
close: function() {
|
||||
this.value = false;
|
||||
this.$emit("close");
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<span>{{time}}</span>
|
||||
<text>{{time}}</text>
|
||||
</template>
|
||||
<script>
|
||||
import { dataFormat } from "@/utils";
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<span>{{time}}</span>
|
||||
<text>{{time}}</text>
|
||||
</template>
|
||||
<script>
|
||||
import { dataFormatT } from "@/utils";
|
||||
|
||||
+11
-11
@@ -1,23 +1,23 @@
|
||||
<template>
|
||||
<div>
|
||||
<div v-if="isIpx" class="iphonex-footer-bg"></div>
|
||||
<div v-else class="footer-bg"></div>
|
||||
<div id="footer" :class="[isIpx ? 'iphonex-footer' : '', 'acea-row row-middle'] ">
|
||||
<div
|
||||
<view>
|
||||
<view v-if="isIpx" class="iphonex-footer-bg"></view>
|
||||
<view v-else class="footer-bg"></view>
|
||||
<view id="footer" :class="[isIpx ? 'iphonex-footer' : '', 'acea-row row-middle'] ">
|
||||
<view
|
||||
@click="changeTabtar(footerIndex)"
|
||||
class="item"
|
||||
:class="{ on: footerIndex == tabtarIndex }"
|
||||
v-for="(item, footerIndex) in footerList"
|
||||
:key="footerIndex"
|
||||
>
|
||||
<div
|
||||
<view
|
||||
class="iconfont"
|
||||
:class="item.icon1 + ' ' + (footerIndex == tabtarIndex ? item.icon2 : '')"
|
||||
></div>
|
||||
<div>{{ item.name }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
></view>
|
||||
<view>{{ item.name }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
import { mapState, mapMutations, mapActions } from "vuex";
|
||||
|
||||
+24
-24
@@ -1,28 +1,28 @@
|
||||
<template>
|
||||
<div class="goodList">
|
||||
<div @click="routerGo(item)" class="item acea-row row-between-wrapper" v-for="(item, goodlistIndex) in goodList" :key="goodlistIndex">
|
||||
<div class="pictrue">
|
||||
<img :src="item.image" class="image" />
|
||||
<img :src="$VUE_APP_RESOURCES_URL + '/images/one.png'" class="numPic" v-if="isSort === true && index === 0" />
|
||||
<img :src="$VUE_APP_RESOURCES_URL + '/images/two.png'" class="numPic" v-if="isSort === true && index === 1" />
|
||||
<img :src="$VUE_APP_RESOURCES_URL + '/images/three.png'" class="numPic" v-if="isSort === true && index === 2" />
|
||||
</div>
|
||||
<div class="underline">
|
||||
<div class="text">
|
||||
<div class="line1">{{ item.storeName }}</div>
|
||||
<div class="money font-color-red">
|
||||
<view class="goodList">
|
||||
<view @click="routerGo(item)" class="item acea-row row-between-wrapper" v-for="(item, goodlistIndex) in goodList" :key="goodlistIndex">
|
||||
<view class="pictrue">
|
||||
<image :src="item.image" class="image" />
|
||||
<image :src="$VUE_APP_RESOURCES_URL + '/images/one.png'" class="numPic" v-if="isSort === true && index === 0" />
|
||||
<image :src="$VUE_APP_RESOURCES_URL + '/images/two.png'" class="numPic" v-if="isSort === true && index === 1" />
|
||||
<image :src="$VUE_APP_RESOURCES_URL + '/images/three.png'" class="numPic" v-if="isSort === true && index === 2" />
|
||||
</view>
|
||||
<view class="underline">
|
||||
<view class="text">
|
||||
<view class="line1">{{ item.storeName }}</view>
|
||||
<view class="money font-color-red">
|
||||
¥
|
||||
<span class="num">{{ item.price }}</span>
|
||||
</div>
|
||||
<div class="vip-money acea-row row-middle">
|
||||
<div class="vip">¥{{ item.otPrice || 0 }}</div>
|
||||
<span class="num">已售{{ item.sales }}{{ item.unitName }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iconfont icon-gouwuche cart-color acea-row row-center-wrapper"></div>
|
||||
</div>
|
||||
</div>
|
||||
<text class="num">{{ item.price }}</text>
|
||||
</view>
|
||||
<view class="vip-money acea-row row-middle">
|
||||
<view class="vip">¥{{ item.otPrice || 0 }}</view>
|
||||
<text class="num">已售{{ item.sales }}{{ item.unitName }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="iconfont icon-gouwuche cart-color acea-row row-center-wrapper"></view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
@@ -46,4 +46,4 @@ export default {
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
</script>
|
||||
|
||||
+8
-8
@@ -1,11 +1,11 @@
|
||||
<template>
|
||||
<div class="home" :style="{ top: top + 'px' }" style="position:fixed;" id="right-nav" @touchmove="touchmove($event)">
|
||||
<div class="homeCon bg-color-red1" :class="homeActive === true ? 'on' : ''">
|
||||
<div @click="homeGo()" class="iconfont icon-shouye-xianxing " style="color: green;"></div>
|
||||
<div @click="shoppingCartGo()" class="iconfont icon-caigou-xianxing" style="color: green;"></div>
|
||||
<!--<div @click="userGo()" class="iconfont icon-yonghu1"></div>-->
|
||||
</div>
|
||||
</div>
|
||||
<view class="home" :style="{ top: top + 'px' }" style="position:fixed;" id="right-nav" @touchmove="touchmove($event)">
|
||||
<view class="homeCon bg-color-red1" :class="homeActive === true ? 'on' : ''">
|
||||
<view @click="homeGo()" class="iconfont icon-shouye-xianxing " style="color: green;"></view>
|
||||
<view @click="shoppingCartGo()" class="iconfont icon-caigou-xianxing" style="color: green;"></view>
|
||||
<!--<view @click="userGo()" class="iconfont icon-yonghu1"></view>-->
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
import { mapGetters } from 'vuex';
|
||||
@@ -59,4 +59,4 @@ export default {
|
||||
background-repeat: no-repeat;
|
||||
background-color: rgba(255, 255, 255, 0.9);
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
<template>
|
||||
<div
|
||||
<view
|
||||
class="Loads acea-row row-center-wrapper"
|
||||
v-if="loading || !loaded"
|
||||
style="margin-top: .2rem;"
|
||||
>
|
||||
<template v-if="loading">
|
||||
<div
|
||||
<view
|
||||
class="iconfont icon-jiazai loading acea-row row-center-wrapper"
|
||||
></div>
|
||||
></view>
|
||||
正在加载中
|
||||
</template>
|
||||
<template v-else>
|
||||
上拉加载更多
|
||||
</template>
|
||||
</div>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
+26
-26
@@ -1,30 +1,30 @@
|
||||
<template>
|
||||
<div class="orderGoods">
|
||||
<div class="total">共{{ cartInfo.length }}件商品</div>
|
||||
<div class="goodWrapper">
|
||||
<div class="item acea-row row-between-wrapper" v-for="cart in cartInfo" :key="cart.id">
|
||||
<div class="pictrue">
|
||||
<img :src="cart.productInfo.image" class="image" />
|
||||
</div>
|
||||
<div class="text">
|
||||
<div class="acea-row row-between-wrapper">
|
||||
<div class="name line1">{{ cart.productInfo.storeName }}</div>
|
||||
<div class="num">x {{ cart.cartNum }}</div>
|
||||
</div>
|
||||
<div
|
||||
<view class="orderGoods">
|
||||
<view class="total">共{{ cartInfo.length }}件商品</view>
|
||||
<view class="goodWrapper">
|
||||
<view class="item acea-row row-between-wrapper" v-for="cart in cartInfo" :key="cart.id">
|
||||
<view class="pictrue">
|
||||
<image :src="cart.productInfo.image" class="image" />
|
||||
</view>
|
||||
<view class="text">
|
||||
<view class="acea-row row-between-wrapper">
|
||||
<view class="name line1">{{ cart.productInfo.storeName }}</view>
|
||||
<view class="num">x {{ cart.cartNum }}</view>
|
||||
</view>
|
||||
<view
|
||||
class="attr line1"
|
||||
v-if="cart.productInfo.attrInfo"
|
||||
>{{ cart.productInfo.attrInfo.suk }}</div>
|
||||
<div class="money font-color-red">¥{{ cart.truePrice }}</div>
|
||||
<div
|
||||
>{{ cart.productInfo.attrInfo.suk }}</view>
|
||||
<view class="money font-color-red">¥{{ cart.truePrice }}</view>
|
||||
<view
|
||||
class="evaluate"
|
||||
v-if="evaluate == 3"
|
||||
v-if="evaluate == 3"
|
||||
@click="routerGo(cart)"
|
||||
>评价</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
>评价</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
@@ -40,10 +40,10 @@ export default {
|
||||
return {};
|
||||
},
|
||||
mounted: function() {},
|
||||
methods: {
|
||||
routerGo(item) {
|
||||
this.$yrouter.push({ path: '/pages/shop/GoodsEvaluate/index',query:{id:cart.unique} });
|
||||
},
|
||||
methods: {
|
||||
routerGo(item) {
|
||||
this.$yrouter.push({ path: '/pages/shop/GoodsEvaluate/index',query:{id:cart.unique} });
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
+50
-50
@@ -1,70 +1,70 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="payment" :class="value === true ? 'on' : ''">
|
||||
<div class="title acea-row row-center-wrapper">
|
||||
选择付款方式<span class="iconfont icon-guanbi" @click="close"></span>
|
||||
</div>
|
||||
<div
|
||||
<view>
|
||||
<view class="payment" :class="value === true ? 'on' : ''">
|
||||
<view class="title acea-row row-center-wrapper">
|
||||
选择付款方式<text class="iconfont icon-guanbi" @click="close"></text>
|
||||
</view>
|
||||
<view
|
||||
class="item acea-row row-between-wrapper"
|
||||
v-if="types.indexOf('weixin') !== -1"
|
||||
@click="checked('weixin')"
|
||||
>
|
||||
<div class="left acea-row row-between-wrapper">
|
||||
<div class="iconfont icon-weixinzhifu"></div>
|
||||
<div class="text">
|
||||
<div class="name">微信支付</div>
|
||||
<div class="info">使用微信快捷支付</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iconfont icon-xiangyou"></div>
|
||||
</div>
|
||||
<!-- <div
|
||||
<view class="left acea-row row-between-wrapper">
|
||||
<view class="iconfont icon-weixinzhifu"></view>
|
||||
<view class="text">
|
||||
<view class="name">微信支付</view>
|
||||
<view class="info">使用微信快捷支付</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="iconfont icon-xiangyou"></view>
|
||||
</view>
|
||||
<!-- <view
|
||||
class="item acea-row row-between-wrapper"
|
||||
v-if="types.indexOf('alipay') !== -1"
|
||||
@click="checked('alipay')"
|
||||
>
|
||||
<div class="left acea-row row-between-wrapper">
|
||||
<div class="iconfont icon-zhifubao"></div>
|
||||
<div class="text">
|
||||
<div class="name">支付宝支付</div>
|
||||
<div class="info">使用线上支付宝支付</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iconfont icon-xiangyou"></div>
|
||||
</div> -->
|
||||
<div
|
||||
<view class="left acea-row row-between-wrapper">
|
||||
<view class="iconfont icon-zhifubao"></view>
|
||||
<view class="text">
|
||||
<view class="name">支付宝支付</view>
|
||||
<view class="info">使用线上支付宝支付</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="iconfont icon-xiangyou"></view>
|
||||
</view> -->
|
||||
<view
|
||||
class="item acea-row row-between-wrapper"
|
||||
v-if="types.indexOf('yue') !== -1"
|
||||
@click="checked('yue')"
|
||||
>
|
||||
<div class="left acea-row row-between-wrapper">
|
||||
<div class="iconfont icon-yuezhifu"></div>
|
||||
<div class="text">
|
||||
<div class="name">余额支付</div>
|
||||
<div class="info">
|
||||
当前可用余额:<span class="money">{{ balance }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iconfont icon-xiangyou"></div>
|
||||
</div>
|
||||
<!-- <div
|
||||
<view class="left acea-row row-between-wrapper">
|
||||
<view class="iconfont icon-yuezhifu"></view>
|
||||
<view class="text">
|
||||
<view class="name">余额支付</view>
|
||||
<view class="info">
|
||||
当前可用余额:<text class="money">{{ balance }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="iconfont icon-xiangyou"></view>
|
||||
</view>
|
||||
<!-- <view
|
||||
class="item acea-row row-between-wrapper"
|
||||
v-if="types.indexOf('offline') !== -1"
|
||||
@click="checked('offline')"
|
||||
>
|
||||
<div class="left acea-row row-between-wrapper">
|
||||
<div class="iconfont icon-yuezhifu1"></div>
|
||||
<div class="text">
|
||||
<div class="name">线下支付</div>
|
||||
<div class="info">选择线下付款方式</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iconfont icon-xiangyou"></div>
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="mask" v-show="value" @click="close"></div>
|
||||
</div>
|
||||
<view class="left acea-row row-between-wrapper">
|
||||
<view class="iconfont icon-yuezhifu1"></view>
|
||||
<view class="text">
|
||||
<view class="name">线下支付</view>
|
||||
<view class="info">选择线下付款方式</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="iconfont icon-xiangyou"></view>
|
||||
</view> -->
|
||||
</view>
|
||||
<view class="mask" v-show="value" @click="close"></view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
|
||||
+47
-47
@@ -1,70 +1,70 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="priceChange" :class="change === true ? 'on' : ''">
|
||||
<div class="priceTitle">
|
||||
<span v-if="status==0">
|
||||
<span v-if="orderInfo.refundStatus == 1">立即退款</span>
|
||||
<span v-if="orderInfo.refundStatus != 1">一键改价</span>
|
||||
</span>
|
||||
<span v-if="status!=0">订单备注</span>
|
||||
<span class="iconfont icon-guanbi" @click="close"></span>
|
||||
</div>
|
||||
<div class="listChange" v-if="status == 0">
|
||||
<div class="item acea-row row-between-wrapper" v-if="orderInfo.refundStatus === 0">
|
||||
<div>商品总价(¥)</div>
|
||||
<div class="money">
|
||||
<view>
|
||||
<view class="priceChange" :class="change === true ? 'on' : ''">
|
||||
<view class="priceTitle">
|
||||
<text v-if="status==0">
|
||||
<text v-if="orderInfo.refundStatus == 1">立即退款</text>
|
||||
<text v-if="orderInfo.refundStatus != 1">一键改价</text>
|
||||
</text>
|
||||
<text v-if="status!=0">订单备注</text>
|
||||
<text class="iconfont icon-guanbi" @click="close"></text>
|
||||
</view>
|
||||
<view class="listChange" v-if="status == 0">
|
||||
<view class="item acea-row row-between-wrapper" v-if="orderInfo.refundStatus === 0">
|
||||
<view>商品总价(¥)</view>
|
||||
<view class="money">
|
||||
{{ orderInfo.totalPrice }}
|
||||
<span class="iconfont icon-suozi"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item acea-row row-between-wrapper" v-if="orderInfo.refundStatus === 0">
|
||||
<div>原始邮费(¥)</div>
|
||||
<div class="money">
|
||||
<text class="iconfont icon-suozi"></text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="item acea-row row-between-wrapper" v-if="orderInfo.refundStatus === 0">
|
||||
<view>原始邮费(¥)</view>
|
||||
<view class="money">
|
||||
{{ orderInfo.payPostage }}
|
||||
<span class="iconfont icon-suozi"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item acea-row row-between-wrapper" v-if="orderInfo.refundStatus === 0">
|
||||
<div>实际支付(¥)</div>
|
||||
<div class="money">
|
||||
<text class="iconfont icon-suozi"></text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="item acea-row row-between-wrapper" v-if="orderInfo.refundStatus === 0">
|
||||
<view>实际支付(¥)</view>
|
||||
<view class="money">
|
||||
<input
|
||||
type="text"
|
||||
v-model="price"
|
||||
:class="focus === true ? 'on' : ''"
|
||||
@focus="priceChange"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item acea-row row-between-wrapper" v-if="orderInfo.refundStatus === 1">
|
||||
<div>实际支付(¥)</div>
|
||||
<div class="money">
|
||||
</view>
|
||||
</view>
|
||||
<view class="item acea-row row-between-wrapper" v-if="orderInfo.refundStatus === 1">
|
||||
<view>实际支付(¥)</view>
|
||||
<view class="money">
|
||||
{{ orderInfo.payPrice }}
|
||||
<span class="iconfont icon-suozi"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item acea-row row-between-wrapper" v-if="orderInfo.refundStatus === 1">
|
||||
<div>退款金额(¥)</div>
|
||||
<div class="money">
|
||||
<text class="iconfont icon-suozi"></text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="item acea-row row-between-wrapper" v-if="orderInfo.refundStatus === 1">
|
||||
<view>退款金额(¥)</view>
|
||||
<view class="money">
|
||||
<input
|
||||
type="text"
|
||||
v-model="refund_price"
|
||||
:class="focus === true ? 'on' : ''"
|
||||
@focus="priceChange"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="listChange" v-else>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="listChange" v-else>
|
||||
<textarea
|
||||
:placeholder="'请填写备注信息...'"
|
||||
v-model="remark"
|
||||
></textarea>
|
||||
</div>
|
||||
<div class="modify" @click="save">{{ orderInfo.refundStatus === 0 ? "立即修改" : "确认退款" }}</div>
|
||||
<div class="modify1" @click="refuse" v-if="orderInfo.refundStatus === 1">拒绝退款</div>
|
||||
</div>
|
||||
<div class="mask" @touchmove.prevent v-show="change === true"></div>
|
||||
</div>
|
||||
</view>
|
||||
<view class="modify" @click="save">{{ orderInfo.refundStatus === 0 ? "立即修改" : "确认退款" }}</view>
|
||||
<view class="modify1" @click="refuse" v-if="orderInfo.refundStatus === 1">拒绝退款</view>
|
||||
</view>
|
||||
<view class="mask" @touchmove.prevent v-show="change === true"></view>
|
||||
</view>
|
||||
</template>
|
||||
<style scoped>
|
||||
.priceChange .listChange textarea {
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
<template>
|
||||
<div class="slider-banner product-bg">
|
||||
<view class="slider-banner product-bg">
|
||||
<swiper class="swiper-wrapper" @change="handleChange" v-if="imgUrls.length > 0">
|
||||
<block v-for="(item, imgUrlsIndex) in imgUrls" :key="imgUrlsIndex">
|
||||
<swiper-item>
|
||||
<img :src="item" class="slide-image" />
|
||||
<image :src="item" class="slide-image" />
|
||||
</swiper-item>
|
||||
</block>
|
||||
</swiper>
|
||||
<!-- <swiper class="swiper-wrapper" :options="ProductConSwiper" v-if="imgUrls.length > 0">
|
||||
<swiperSlide class="swiper-slide" v-for="item in imgUrls" :key="item" ref="goodSwiper">
|
||||
<img :src="item" class="slide-image" />
|
||||
<image :src="item" class="slide-image" />
|
||||
</swiperSlide>
|
||||
</swiper>-->
|
||||
<div class="pages">{{ currents || 1 }}/{{ imgUrls.length || 1 }}</div>
|
||||
</div>
|
||||
<view class="pages">{{ currents || 1 }}/{{ imgUrls.length || 1 }}</view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
// import { swiper, swiperSlide } from "vue-awesome-swiper";
|
||||
|
||||
@@ -1,40 +1,40 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="product-window" :class="attr.cartAttr === true ? 'on' : ''">
|
||||
<div class="textpic acea-row row-between-wrapper">
|
||||
<div class="pictrue">
|
||||
<img :src="attr.productSelect.image" class="image" />
|
||||
</div>
|
||||
<div class="text">
|
||||
<div class="line1">{{ attr.productSelect.store_name }}</div>
|
||||
<div class="money font-color-red">
|
||||
<view>
|
||||
<view class="product-window" :class="attr.cartAttr === true ? 'on' : ''">
|
||||
<view class="textpic acea-row row-between-wrapper">
|
||||
<view class="pictrue">
|
||||
<image :src="attr.productSelect.image" class="image" />
|
||||
</view>
|
||||
<view class="text">
|
||||
<view class="line1">{{ attr.productSelect.store_name }}</view>
|
||||
<view class="money font-color-red">
|
||||
¥
|
||||
<span class="num">{{ attr.productSelect.price }}</span>
|
||||
<span class="stock">库存: {{ attr.productSelect.stock }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iconfont icon-guanbi" @click="closeAttr"></div>
|
||||
</div>
|
||||
<div class="productWinList">
|
||||
<div class="item" v-for="(item, indexw) in attr.productAttr" :key="indexw">
|
||||
<div class="title">{{ item.attrName }}</div>
|
||||
<div class="listn acea-row row-middle">
|
||||
<div
|
||||
<text class="num">{{ attr.productSelect.price }}</text>
|
||||
<text class="stock">库存: {{ attr.productSelect.stock }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="iconfont icon-guanbi" @click="closeAttr"></view>
|
||||
</view>
|
||||
<view class="productWinList">
|
||||
<view class="item" v-for="(item, indexw) in attr.productAttr" :key="indexw">
|
||||
<view class="title">{{ item.attrName }}</view>
|
||||
<view class="listn acea-row row-middle">
|
||||
<view
|
||||
class="itemn"
|
||||
:class="item.index == indexn ? 'on' : ''"
|
||||
v-for="(itemn, indexn) in item.attrValue"
|
||||
@click="tapAttr(indexw, indexn)"
|
||||
:key="indexn"
|
||||
>{{ itemn.attr }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cart">
|
||||
<div class="title">数量</div>
|
||||
<div class="carnum acea-row row-left">
|
||||
<div class="item reduce" :class="cartNum <= 1 ? 'on' : ''" @click="CartNumDes">-</div>
|
||||
<div class="item num">{{ cartNum }}</div>
|
||||
<div
|
||||
>{{ itemn.attr }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="cart">
|
||||
<view class="title">数量</view>
|
||||
<view class="carnum acea-row row-left">
|
||||
<view class="item reduce" :class="cartNum <= 1 ? 'on' : ''" @click="CartNumDes">-</view>
|
||||
<view class="item num">{{ cartNum }}</view>
|
||||
<view
|
||||
class="item plus"
|
||||
:class="
|
||||
cartNum >= attr.productSelect.stock
|
||||
@@ -42,12 +42,12 @@
|
||||
: ''
|
||||
"
|
||||
@click="CartNumAdd"
|
||||
>+</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mask" @touchmove.prevent :hidden="attr.cartAttr === false" @click="closeAttr"></div>
|
||||
</div>
|
||||
>+</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mask" @touchmove.prevent :hidden="attr.cartAttr === false" @click="closeAttr"></view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
<template>
|
||||
<div class="promotionGood" v-if="benefit.length > 0">
|
||||
<div class="item acea-row row-between-wrapper" v-for="(item, promotionGoodIndex) in benefit" :key="promotionGoodIndex" @click="routerGo(item)">
|
||||
<div class="pictrue"><img :src="item.image" class="image" /></div>
|
||||
<div class="text">
|
||||
<div class="name line1">{{ item.storeName }}</div>
|
||||
<div class="sp-money acea-row">
|
||||
<div class="moneyCon">
|
||||
<view class="promotionGood" v-if="benefit.length > 0">
|
||||
<view class="item acea-row row-between-wrapper" v-for="(item, promotionGoodIndex) in benefit" :key="promotionGoodIndex" @click="routerGo(item)">
|
||||
<view class="pictrue"><image :src="item.image" class="image" /></view>
|
||||
<view class="text">
|
||||
<view class="name line1">{{ item.storeName }}</view>
|
||||
<view class="sp-money acea-row">
|
||||
<view class="moneyCon">
|
||||
促销价: ¥
|
||||
<span class="num">{{ item.price }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="acea-row row-between-wrapper">
|
||||
<div class="money">日常价:¥{{ item.otPrice }}</div>
|
||||
<div>仅剩:{{ item.stock }}{{ item.unitName }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<text class="num">{{ item.price }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="acea-row row-between-wrapper">
|
||||
<view class="money">日常价:¥{{ item.otPrice }}</view>
|
||||
<view>仅剩:{{ item.stock }}{{ item.unitName }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
@@ -34,4 +34,4 @@ export default {
|
||||
console.log(this, 999);
|
||||
}
|
||||
};
|
||||
</script>
|
||||
</script>
|
||||
|
||||
+17
-17
@@ -1,27 +1,27 @@
|
||||
<template>
|
||||
<div class="recommend" ref="container">
|
||||
<div class="title acea-row row-center-wrapper">
|
||||
<span class="iconfont icon-zhuangshixian"></span>
|
||||
<span class="name">为你推荐</span>
|
||||
<span class="iconfont icon-zhuangshixian lefticon"></span>
|
||||
</div>
|
||||
<div class="recommendList acea-row row-between-wrapper">
|
||||
<div
|
||||
<view class="recommend" ref="container">
|
||||
<view class="title acea-row row-center-wrapper">
|
||||
<text class="iconfont icon-zhuangshixian"></text>
|
||||
<text class="name">为你推荐</text>
|
||||
<text class="iconfont icon-zhuangshixian lefticon"></text>
|
||||
</view>
|
||||
<view class="recommendList acea-row row-between-wrapper">
|
||||
<view
|
||||
@click="routerGo(item)"
|
||||
class="item"
|
||||
v-for="(item, recommendIndex) in hostProduct"
|
||||
:key="recommendIndex"
|
||||
>
|
||||
<div class="pictrue"><img :src="item.image" class="image" /></div>
|
||||
<div class="name line1">{{ item.storeName }}</div>
|
||||
<div class="money font-color-red">
|
||||
<view class="pictrue"><image :src="item.image" class="image" /></view>
|
||||
<view class="name line1">{{ item.storeName }}</view>
|
||||
<view class="money font-color-red">
|
||||
¥
|
||||
<span class="num">{{ item.price }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<text class="num">{{ item.price }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<Loading :loaded="loadend" :loading="loading"></Loading>
|
||||
</div>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
import { getHostProducts } from '@/api/store';
|
||||
@@ -67,4 +67,4 @@ export default {
|
||||
!this.loading && this.hostProducts();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
</script>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<template>
|
||||
<div v-if="shareInfoStatus" class="poster-first">
|
||||
<div class="mask-share">
|
||||
<img :src="$VUE_APP_RESOURCES_URL+'/images/share-info.png'" @click="shareInfoClose" />
|
||||
</div>
|
||||
</div>
|
||||
<view v-if="shareInfoStatus" class="poster-first">
|
||||
<view class="mask-share">
|
||||
<image :src="$VUE_APP_RESOURCES_URL+'/images/share-info.png'" @click="shareInfoClose" />
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<style scoped>
|
||||
.poster-first {
|
||||
@@ -17,7 +17,7 @@
|
||||
bottom: 0;
|
||||
z-index: 999;
|
||||
}
|
||||
.mask-share img {
|
||||
.mask-share image{
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
<template>
|
||||
<div class="sharing-packets" :class="state === true ? 'on' : ''">
|
||||
<div
|
||||
<view class="sharing-packets" :class="state === true ? 'on' : ''">
|
||||
<view
|
||||
class="iconfont icon-guanbi acea-row row-center-wrapper"
|
||||
@click="closeShare"
|
||||
></div>
|
||||
<div class="line"></div>
|
||||
<div class="sharing-con" @click="goShare">
|
||||
<img :src="$VUE_APP_RESOURCES_URL+'/images/red-packets.png'" class="image" />
|
||||
<div class="text font-color-red">
|
||||
<div>会员分享返</div>
|
||||
<div class="money"><span class="label">¥</span>{{ priceName }}</div>
|
||||
<div class="tip">下单即返佣金</div>
|
||||
<div class="shareBut">立即分享</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
></view>
|
||||
<view class="line"></view>
|
||||
<view class="sharing-con" @click="goShare">
|
||||
<image :src="$VUE_APP_RESOURCES_URL+'/images/red-packets.png'" class="image" />
|
||||
<view class="text font-color-red">
|
||||
<view>会员分享返</view>
|
||||
<view class="money"><text class="label">¥</text>{{ priceName }}</view>
|
||||
<view class="tip">下单即返佣金</view>
|
||||
<view class="shareBut">立即分享</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
|
||||
+28
-28
@@ -1,43 +1,43 @@
|
||||
<template>
|
||||
<div v-if="posterImageStatus" class="poster-first">
|
||||
<view v-if="posterImageStatus" class="poster-first">
|
||||
<canvas style="width:747px;height:1326px" canvas-id="myCanvas"></canvas>
|
||||
<!-- <div class="poster-pop" v-show="!canvasStatus">
|
||||
<!-- <view class="poster-pop" v-show="!canvasStatus">
|
||||
<img
|
||||
:src="$VUE_APP_RESOURCES_URL+'/images/poster-close.png'"
|
||||
class="close"
|
||||
@click="posterImageClose"
|
||||
/>
|
||||
<div class="canvas" ref="poster">
|
||||
<img class="image" :src="posterData.image" alt="商品图片" />
|
||||
<div class="text black">
|
||||
<span v-text="posterData.title"></span>
|
||||
</div>
|
||||
<div class="text rad">
|
||||
<span v-text="'¥' + posterData.price"></span>
|
||||
</div>
|
||||
<div class="code">
|
||||
<div class="code-img">
|
||||
<img :src="posterData.code" show-menu-by-longpress mode="widthFix" alt="二维码" />
|
||||
</div>
|
||||
<div class="code-text">
|
||||
<span>长按识别二维码 立即购买</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="save-poster" @click="savePosterPath">生成图片</div>
|
||||
</div> -->
|
||||
<div class="poster-pop" v-show="canvasStatus">
|
||||
<view class="canvas" ref="poster">
|
||||
<image class="image" :src="posterData.image" alt="商品图片" />
|
||||
<view class="text black">
|
||||
<text v-text="posterData.title"></text>
|
||||
</view>
|
||||
<view class="text rad">
|
||||
<text v-text="'¥' + posterData.price"></text>
|
||||
</view>
|
||||
<view class="code">
|
||||
<view class="code-img">
|
||||
<image :src="posterData.code" show-menu-by-longpress mode="widthFix" alt="二维码" />
|
||||
</view>
|
||||
<view class="code-text">
|
||||
<text>长按识别二维码 立即购买</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="save-poster" @click="savePosterPath">生成图片</view>
|
||||
</view> -->
|
||||
<view class="poster-pop" v-show="canvasStatus">
|
||||
<img
|
||||
:src="$VUE_APP_RESOURCES_URL+'/images/poster-close.png'"
|
||||
class="close"
|
||||
@click="posterImageClose"
|
||||
mode="widthFix"
|
||||
/>
|
||||
<img :src="posterImage" alt="tp" class="poster-image" show-menu-by-longpress mode="widthFix" />
|
||||
<div class="keep">长按图片可以保存到手机</div>
|
||||
</div>
|
||||
<div class="mask"></div>
|
||||
</div>
|
||||
<image :src="posterImage" alt="tp" class="poster-image" show-menu-by-longpress mode="widthFix" />
|
||||
<view class="keep">长按图片可以保存到手机</view>
|
||||
</view>
|
||||
<view class="mask"></view>
|
||||
</view>
|
||||
</template>
|
||||
<style scoped>
|
||||
.poster-first {
|
||||
@@ -85,7 +85,7 @@
|
||||
width: 33%;
|
||||
padding: 0.06rem;
|
||||
}
|
||||
.poster-pop .canvas .code .code-img img {
|
||||
.poster-pop .canvas .code .code-img image{
|
||||
width: 100%;
|
||||
}
|
||||
.poster-pop .canvas .code .code-text {
|
||||
|
||||
+39
-28
@@ -1,28 +1,27 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="switchWindow" :class="switchActive === true ? 'on' : ''">
|
||||
<view>
|
||||
<view class="switchWindow" :class="switchActive === true ? 'on' : ''">
|
||||
<!-- @/assets/images/public.png -->
|
||||
<div class="pictrue">
|
||||
<img v-if="login_type === 'h5'" :src="$VUE_APP_RESOURCES_URL+'/images/h5.png'" />
|
||||
<img :src="$VUE_APP_RESOURCES_URL+'/images/h5.png'" alt="" v-else />
|
||||
</div>
|
||||
<view class="pictrue">
|
||||
<image v-if="login_type === 'h5'" :src="$VUE_APP_RESOURCES_URL+'/images/h5.png'" />
|
||||
<image :src="$VUE_APP_RESOURCES_URL+'/images/h5.png'" alt v-else />
|
||||
</view>
|
||||
<!-- 是否选择切换到小程序账户? -->
|
||||
<div class="info">
|
||||
是否选择切换到<span class="font-color" v-if="login_type === 'h5'"
|
||||
>微信账号</span
|
||||
>
|
||||
<span class="font-color" v-else>手机用户</span>?
|
||||
</div>
|
||||
<div class="switchBnt" @click="switchH5">切换</div>
|
||||
<div class="switchBnt cancelBnt" @click="switchClose">取消</div>
|
||||
</div>
|
||||
<div
|
||||
class="mask"
|
||||
@touchmove.prevent
|
||||
v-show="switchActive === true"
|
||||
@click="switchClose"
|
||||
></div>
|
||||
</div>
|
||||
<view class="info">
|
||||
<text>是否选择切换到</text>
|
||||
<text class="font-color" v-if="login_type === 'h5'">微信账号</text>
|
||||
<text class="font-color" v-else>手机用户</text>
|
||||
<text>?</text>
|
||||
</view>
|
||||
<view class="switchBnt" @click="switchH5">
|
||||
<text>切换</text>
|
||||
</view>
|
||||
<view class="switchBnt cancelBnt" @click="switchClose">
|
||||
<text>取消</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mask" @touchmove.prevent v-show="switchActive === true" @click="switchClose"></view>
|
||||
</view>
|
||||
</template>
|
||||
<style>
|
||||
.switchWindow {
|
||||
@@ -47,6 +46,7 @@
|
||||
opacity: 0;
|
||||
transform: scale(0);
|
||||
}
|
||||
|
||||
.switchWindow.on {
|
||||
opacity: 1;
|
||||
transform: scale(1);
|
||||
@@ -55,22 +55,26 @@
|
||||
-moz-transform: scale(1);
|
||||
-o-transform: scale(1);
|
||||
}
|
||||
|
||||
.switchWindow .pictrue {
|
||||
width: 2.36rem;
|
||||
height: 2.36rem;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.switchWindow .pictrue img {
|
||||
|
||||
.switchWindow .pictrue image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.switchWindow .info {
|
||||
font-size: 0.32rem;
|
||||
color: #282828;
|
||||
margin-top: 0.44rem;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.switchWindow .switchBnt {
|
||||
font-size: 0.32rem;
|
||||
color: #fff;
|
||||
@@ -84,6 +88,7 @@
|
||||
background-image: -webkit-linear-gradient(to right, #f67a38 0%, #f11b09 100%);
|
||||
background-image: -moz-linear-gradient(to right, #f67a38 0%, #f11b09 100%);
|
||||
}
|
||||
|
||||
.switchWindow .switchBnt.cancelBnt {
|
||||
background-color: #fff;
|
||||
color: #999;
|
||||
@@ -119,25 +124,31 @@ export default {
|
||||
},
|
||||
switchH5() {
|
||||
let that = this;
|
||||
uni.showLoading({title: '正在切换中'})
|
||||
uni.showLoading({
|
||||
title: "正在切换中"
|
||||
});
|
||||
if (that.login_type === "h5") {
|
||||
cookie.set("loginType", "wechat", 60);
|
||||
uni.hideLoading()
|
||||
uni.hideLoading();
|
||||
this.$store.commit("LOGOUT");
|
||||
this.$emit("changeswitch", false);
|
||||
location.reload();
|
||||
} else {
|
||||
switchH5Login()
|
||||
.then(({ data }) => {
|
||||
uni.hideLoading()
|
||||
uni.hideLoading();
|
||||
const expires_time = dayjs(data.expires_time);
|
||||
store.commit("LOGIN", data.token, expires_time);
|
||||
this.$emit("changeswitch", false);
|
||||
location.reload();
|
||||
})
|
||||
.catch(err => {
|
||||
uni.hideLoading()
|
||||
return that.$dialog.toast({ mes: err });
|
||||
uni.hideLoading();
|
||||
uni.showToast({
|
||||
title: err.msg || err.response.data.msg,
|
||||
icon: "none",
|
||||
duration: 2000
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,29 +1,29 @@
|
||||
<template>
|
||||
<div class="evaluateWtapper">
|
||||
<div class="evaluateItem" v-for="(item, evaluateWtapperIndex) in reply" :key="evaluateWtapperIndex">
|
||||
<div class="pic-text acea-row row-middle">
|
||||
<div class="pictrue">
|
||||
<img :src="item.avatar" class="image" />
|
||||
</div>
|
||||
<div class="acea-row row-middle">
|
||||
<div class="name line1">{{ item.nickname }}</div>
|
||||
<div class="start" :class="'star' + item.star"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="time">{{ item.add_time }} {{ item.suk }}</div>
|
||||
<div class="evaluate-infor">{{ item.comment }}</div>
|
||||
<div class="imgList acea-row">
|
||||
<div class="pictrue" v-for="(itemn, eq) in item.picturesArr" :key="eq">
|
||||
<img :src="itemn" class="image" />
|
||||
</div>
|
||||
</div>
|
||||
<!--<div class="reply" v-if="item.merchant_reply_content">-->
|
||||
<!--<span class="font-color-red">店小二</span>:{{-->
|
||||
<view class="evaluateWtapper">
|
||||
<view class="evaluateItem" v-for="(item, evaluateWtapperIndex) in reply" :key="evaluateWtapperIndex">
|
||||
<view class="pic-text acea-row row-middle">
|
||||
<view class="pictrue">
|
||||
<image :src="item.avatar" class="image" />
|
||||
</view>
|
||||
<view class="acea-row row-middle">
|
||||
<view class="name line1">{{ item.nickname }}</view>
|
||||
<view class="start" :class="'star' + item.star"></view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="time">{{ item.add_time }} {{ item.suk }}</view>
|
||||
<view class="evaluate-infor">{{ item.comment }}</view>
|
||||
<view class="imgList acea-row">
|
||||
<view class="pictrue" v-for="(itemn, eq) in item.picturesArr" :key="eq">
|
||||
<image :src="itemn" class="image" />
|
||||
</view>
|
||||
</view>
|
||||
<!--<view class="reply" v-if="item.merchant_reply_content">-->
|
||||
<!--<text class="font-color-red">店小二</text>:{{-->
|
||||
<!--item.merchant_reply_content-->
|
||||
<!--}}-->
|
||||
<!--</div>-->
|
||||
</div>
|
||||
</div>
|
||||
<!--</view>-->
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
|
||||
+12
-12
@@ -1,16 +1,16 @@
|
||||
<template>
|
||||
<div v-show="iShidden === false">
|
||||
<div class="WriteOff">
|
||||
<div class="pictrue"><img :src="orderInfo.image" /></div>
|
||||
<div class="num acea-row row-center-wrapper">
|
||||
<view v-show="iShidden === false">
|
||||
<view class="WriteOff">
|
||||
<view class="pictrue"><image :src="orderInfo.image" /></view>
|
||||
<view class="num acea-row row-center-wrapper">
|
||||
{{ orderInfo.order_id }}
|
||||
</div>
|
||||
<div class="tip">确定要核销此订单吗?</div>
|
||||
<div class="sure" @click="confirm">确定核销</div>
|
||||
<div class="sure cancel" @click="cancel">取消</div>
|
||||
</div>
|
||||
<div class="mask" @touchmove.prevent></div>
|
||||
</div>
|
||||
</view>
|
||||
<view class="tip">确定要核销此订单吗?</view>
|
||||
<view class="sure" @click="confirm">确定核销</view>
|
||||
<view class="sure cancel" @click="cancel">取消</view>
|
||||
</view>
|
||||
<view class="mask" @touchmove.prevent></view>
|
||||
</view>
|
||||
</template>
|
||||
<style scoped>
|
||||
.WriteOff {
|
||||
@@ -31,7 +31,7 @@
|
||||
height: 3.4rem;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.WriteOff .pictrue img {
|
||||
.WriteOff .pictrue image{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: block;
|
||||
|
||||
Reference in New Issue
Block a user