修改html标签为uni标签,修改rem单位为rpx,修改提示及确认为uniapi,修改登录模块为uni接口,修改css入口为APP.vue,增加app端样式支持

This commit is contained in:
gaoxs
2020-03-16 15:51:08 +08:00
parent fa289d66a8
commit 95845779db
422 changed files with 34024 additions and 32630 deletions
+25 -25
View File
@@ -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
View File
@@ -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 {
+34 -34
View File
@@ -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
View File
@@ -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
View File
@@ -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 -1
View File
@@ -1,5 +1,5 @@
<template>
<span>{{time}}</span>
<text>{{time}}</text>
</template>
<script>
import { dataFormat } from "@/utils";
+1 -1
View File
@@ -1,5 +1,5 @@
<template>
<span>{{time}}</span>
<text>{{time}}</text>
</template>
<script>
import { dataFormatT } from "@/utils";
+11 -11
View File
@@ -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
View File
@@ -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
View File
@@ -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>
+4 -4
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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 {
+5 -5
View File
@@ -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";
+36 -36
View File
@@ -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 {
+18 -18
View File
@@ -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
View File
@@ -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>
+6 -6
View File
@@ -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>
+14 -14
View File
@@ -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
View File
@@ -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
View File
@@ -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
});
});
}
}
+23 -23
View File
@@ -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
View File
@@ -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;