Browse Source

2023-02-23

功能完善
master
guoxing 2 years ago
parent
commit
932ebc04c7
  1. 3
      mallplusui-uniapp-app/common/api.js
  2. 48
      mallplusui-uniapp-app/components/coolc-coupon/coolc-coupon.vue
  3. 30
      mallplusui-uniapp-app/pages/index/index.vue
  4. 1253
      mallplusui-uniapp-app/pages/index/user.vue
  5. 4
      mallplusui-uniapp-app/pagesA/product/list.vue
  6. 2
      mallplusui-uniapp-app/pagesU/user/coupon.vue
  7. 4
      mallplusui-uniapp-app/store/index.js

3
mallplusui-uniapp-app/common/api.js

@ -313,6 +313,7 @@ export default {
return res.data.data;
} else {
console.log(">>>>>=");
console.log(">>>>>=",res.data);
if (res.data) {
if (!res.data.msg) {
res.data.msg = res.data.data;
@ -321,7 +322,7 @@ export default {
title: res.data.msg,
icon: 'none'
});
this.$api.msg(res.data.msg);
// this.$api.msg(res.data.msg);
}
}

48
mallplusui-uniapp-app/components/coolc-coupon/coolc-coupon.vue

@ -8,10 +8,10 @@
<view class="demand">{{ item.minPoint }} {{ item.amount }}</view>
</view>
</view>
<view class="get-btn" v-if="!types" :style="{color:color, borderColor:color, background:solid}"
<view class="get-btn" :style="{color:color, borderColor:color, background:solid}"
@click="acceptCoupon(item)">立即领取</view>
<navigator class="get-btn" v-if="types" :style="{color:color, borderColor:color, background:solid}"
:url='item.url' @click="useCoupon(item)">立即使用</navigator>
<!-- <navigator class="get-btn" v-if="types" :style="{color:color, borderColor:color, background:solid}"
:url='item.url' @click="useCoupon(item)">立即使用</navigator> -->
</view>
</template>
@ -21,6 +21,9 @@
import {
formatDate
} from '@/common/date';
import {
mapState
} from 'vuex';
export default {
components: {
@ -54,25 +57,34 @@
return formatDate(date, 'yyyy-MM-dd hh:mm:ss')
},
},
computed: {
...mapState(['hasLogin', 'userInfo']),
},
methods: {
async acceptCoupon(item) {
this.types = !this.types
uni.showLoading({
title: '请稍后'
});
let params = {
couponId: item.id
};
let data = await Api.apiCall('post', Api.index.acceptCoupon, params);
console.log(data);
if (data) {
this.$api.msg(data);
if (this.hasLogin) {
this.types = !this.types
uni.showLoading({
title: '请稍后'
});
let params = {
couponId: item.id
};
this.clickSubMethod(item)
// let data = await Api.apiCall('post', Api.index.acceptCoupon, params);
// console.log("data?????", data);
// if (data) {
// // this.$api.msg(data);
// this.clickSubMethod(item)
// }
uni.hideLoading();
} else {
uni.navigateTo({
url: '/pages/public/login'
});
}
uni.hideLoading();
},
clickSubMethod(vel) {
console.log('clickSubMethod')

30
mallplusui-uniapp-app/pages/index/index.vue

@ -360,19 +360,35 @@
}
},
},
computed: {
...mapState(['hasLogin', 'userInfo']),
},
methods: {
clickParentMethod() {
console.log('clickParentMethod')
this.$refs.SubComponent.callSubMethod()
},
callParentMethod(val) {
let info = val
console.log('callParentMethod: ' + val)
console.log('val: ' + val.id)
console.log('val: ' + info.id)
// listfunctionitem
var index = this.couponList.findIndex(function(item) {
return item.id == val.id;
})
var index = this.couponList.findIndex(
// function(item) {
// console.log('item: ' + JSON.stringify(item))
// console.log('val: ' + val)
// return item.id == val.id;
item => {
console.log('item: ' + JSON.stringify(item).id)
console.log('val: ' + val.id)
if (item == val) {
return true
}
})
console.log('index: ' + index)
this.couponList.splice(index, 1);
// this.getCouponList();
},
async sysInfoMethod() {
@ -526,7 +542,7 @@
}
},
/**
* 获取轮播图
* 获取优惠券
*/
async getCouponList() {
let params = {
@ -536,7 +552,9 @@
if (data) {
console.log("优惠券")
console.log("优惠券", data)
this.couponList = data || [];
console.log("优惠券id",data[0].id)
this.couponList = []
this.couponList = this.couponList.concat(data) || [];
}
},
/**

1253
mallplusui-uniapp-app/pages/index/user.vue

File diff suppressed because it is too large

4
mallplusui-uniapp-app/pagesA/product/list.vue

@ -20,8 +20,8 @@
<view class="image-wrapper"><image :src="item.pic" mode="aspectFill"></image></view>
<text class="title clamp">{{ item.name }}</text>
<view class="price-box" >
<text class="price">{{ item.price }}</text>
<text class="price2">市场价 ¥{{ item.originalPrice }}</text>
<text class="price">{{ item.originalPrice }}</text>
<text class="price2">市场价 ¥{{ item.price }}</text>
</view>
<!-- <view class="price-box" v-if="item.isVip == 1">
<text class="price">会员价{{ item.vipPrice }}</text>

2
mallplusui-uniapp-app/pagesU/user/coupon.vue

@ -158,7 +158,7 @@ import Api from '@/common/api';
filters: {
formatCreateTime(time) {
let date = new Date(time);
return formatDate(date, 'yyyy-MM-dd hh:mm:ss')
return formatDate(date, 'yyyy-MM-dd')
},
},
methods: {

4
mallplusui-uniapp-app/store/index.js

@ -6,13 +6,16 @@ Vue.use(Vuex)
const store = new Vuex.Store({
state: {
hasLogin: false,
hasVip: false,
userInfo: ''
},
mutations: {
login(state, provider) {
console.log(provider);
if (provider && provider != undefined) {
console.log("provider",provider);
state.hasLogin = true;
state.hasVip = true;
uni.setStorage({ //缓存用户登陆状态
key: 'userInfo',
data: provider.userInfo
@ -24,6 +27,7 @@ const store = new Vuex.Store({
},
logout(state) {
state.hasLogin = false;
state.hasVip = false;
state.userInfo = '';
uni.removeStorage({
key: 'userInfo'

Loading…
Cancel
Save