Kaynağa Gözat

Merge branch 'developer' of http://git.caimei365.com/zhengjinyi/caimei-applets-mcare into developer

zhengjinyi 2 yıl önce
ebeveyn
işleme
88fabb41a8

+ 12 - 0
pages.json

@@ -76,6 +76,18 @@
 						"navigationBarTitleText": "发布需求",
 						"enablePullDownRefresh": false
 					}
+				}, {
+					"path": "procurement_more",
+					"style": {
+						"navigationBarTitleText": "商品列表",
+						"enablePullDownRefresh": true
+					}
+				}, {
+					"path": "commonStoreIndex/index",
+					"style": {
+						"navigationBarTitleText": "专题活动",
+						"enablePullDownRefresh": true
+					}
 				}
 			]
 		},

+ 60 - 0
pages/goods/commonStoreIndex/components/special.vue

@@ -0,0 +1,60 @@
+<template>
+    <view class="special">
+        <view class="img">
+            <image src="" mode="aspectFill" style="width: 100%;height: 100%;"></image>
+        </view>
+        <view class="special_title">
+            <view class="title">
+                买Meso X 美肤导入仪免费送采美超级会...
+            </view>
+            <button class="special_btn">查看详情</button>
+        </view>
+    </view>
+</template>
+
+<script>
+    export default {
+        data() {
+            return {}
+        },
+        methods: {}
+    }
+</script>
+
+<style lang="scss" scoped>
+    .special {
+        border-radius: 8rpx;
+        margin-bottom: 24rpx;
+        height: 432rpx;
+        width: 100%;
+        box-sizing: border-box;
+        overflow: hidden;
+    }
+    .img {
+        width: 100%;
+        height: 360rpx;
+        border: 1px dotted;
+        box-sizing: border-box;
+    }
+    .special_title {
+        height: 72rpx;
+        box-sizing: border-box;
+        padding: 12rpx 24rpx;
+        background-color: #FFF8EF;
+        display: flex;
+        justify-content: space-between;
+        align-items: center;
+    }
+    .special_title .title {
+        color: #F3B574;
+        font-size: 26rpx;
+    }
+    .special_btn {
+        border-radius: 8rpx;
+        padding: 8rpx 16rpx;
+        box-sizing: border-box;
+        background-color: #F3B574;
+        color: #FFFFFF;
+        font-size: 24rpx;
+    }
+</style>

+ 63 - 0
pages/goods/commonStoreIndex/index.vue

@@ -0,0 +1,63 @@
+<template>
+    <view class="common_contant" :style="{padding: isBig ? '' : '24rpx'}">
+        <tui-skeleton
+        	v-if="skeletonShow"
+        	backgroundColor="#fafafa"
+        	borderRadius="10rpx"
+        	:isLoading="true"
+        	:loadingType="5"
+        ></tui-skeleton>
+        <view class="" v-else>
+            <view class="img_big" v-if="isBig">
+                <image src="" mode="aspectFill"></image>
+            </view>
+            <view class="special_all" v-else>
+                <SpecialItem v-for='item in 3' :key="item"/>
+            </view>
+        </view>
+    </view>
+</template>
+
+<script>
+    import SpecialItem from './components/special.vue'
+    export default {
+        components: {
+            SpecialItem
+        },
+        data() {
+            return {
+                isBig: false,
+                skeletonShow: true,
+                specialList: [], // 活动数据
+            }
+        },
+        mounted() {},
+        onLoad(options) {
+            this.network().SpecialService(options)
+        },
+        methods: {
+            // 网络请求
+            network() {
+                return {
+                    SpecialService: async (options) => {
+                        try {
+                            const data = await this.SpecialService.specialInfo(options)
+                            if (data.code === 0) {
+                                this.specialList = data.data
+                                this.skeletonShow = false
+                            }
+                        } catch(e) {
+                        }
+                    }
+                }
+            }
+        }
+    }
+</script>
+
+<style scoped lang="scss">
+    .common_contant {
+        background-color: #FFFFFF;
+        padding: 24rpx;
+    }
+</style>

+ 70 - 0
pages/goods/components/procurement_good.vue

@@ -0,0 +1,70 @@
+<template>
+    <view class="pro-good">
+        <view class="img">
+            <image src="" mode="aspectFill" style="width: 100%;height: 100%;"></image>
+        </view>
+        <view class="pro-content">
+            <view class="pro-title">
+                法国曼丽菲戈动能素抗
+                衰DERMABOOSTER
+            </view>
+            <view class="pro-price">
+                ¥19800.00
+            </view>
+        </view>
+    </view>
+</template>
+
+<script>
+    export default {
+        props: {
+            storeInfo: {
+                type: Object,
+                default: () => {}
+            }
+        },
+        data() {
+            return {
+                
+            }
+        },
+        methods: {}
+    }
+</script>
+
+<style scoped lang="scss">
+    .pro-good {
+        width: 339rpx;
+        height: 518rpx;
+        border-radius: 8rpx;
+        background-color: #fff;
+        overflow: hidden;
+        margin-bottom: 24rpx;
+    }
+    .img {
+        width: 339rpx;
+        height: 339rpx;
+        border: 1px dotted;
+        box-sizing: border-box;
+    }
+    .pro-content {
+        padding: 14rpx 24rpx 20rpx 24rpx;
+        display: flex;
+        justify-content: space-between;
+        align-items: center;
+        flex-direction: column;
+        height: 179rpx;
+        box-sizing: border-box;
+        background-color: #fff;
+    }
+    .pro-title {
+        color: #333333;
+        font-size: 28rpx;
+        width: 100%;
+    }
+    .pro-price {
+        width: 100%;
+        color: #F85050;
+        font-size: 28rpx;
+    }
+</style>

+ 29 - 0
pages/goods/procurement_more.vue

@@ -0,0 +1,29 @@
+<template>
+    <view class="store_more">
+        <proGood v-for="item in 20" :key="item"/>
+    </view>
+</template>
+
+<script>
+    import proGood from './components/procurement_good.vue'
+    export default {
+        components: {
+            proGood,
+        },
+        data() {
+            return {}
+        },
+        methods: {}
+    }
+</script>
+
+<style lang="scss" scoped>
+    .store_more {
+        background: #F7F7F7;
+        display: flex;
+        justify-content: space-between;
+        flex-wrap: wrap;
+        align-items: center;
+        padding: 24rpx;
+    }
+</style>

+ 4 - 1
pages/tabBar/home/components/banner.vue

@@ -56,7 +56,10 @@ export default {
 		},
 		NavToDetailPage(floor) {
 			//跳转
-			this.$api.FlooryNavigateTo(floor)
+			// this.$api.FlooryNavigateTo(floor)
+            uni.navigateTo({
+                url: '/pages/goods/commonStoreIndex/index?id='+ floor.id + '&organizeId=' + floor.organizeId
+            })
 		}
 	}
 }

+ 3 - 0
services/index.js

@@ -9,6 +9,7 @@ import ActivityService from './activity.service'
 import OrderService from './order.service'
 import PublicService from './public.service.js'
 import UploadService from './upload.service.js'
+import SpecialService from './special.service.js'
 
 let commonService = new CommonService(ajaxService)
 let userService = new UserService(ajaxService)
@@ -18,6 +19,7 @@ let activityService = new ActivityService(ajaxService)
 let orderService = new OrderService(ajaxService)
 let publicService = new PublicService(ajaxService)
 let uploadService = new UploadService(ajaxService)
+let specialService = new SpecialService(ajaxService)
 
 Vue.prototype.AjaxService = ajaxService
 Vue.prototype.CommonService = commonService
@@ -28,3 +30,4 @@ Vue.prototype.ActivityService = activityService
 Vue.prototype.OrderService = orderService
 Vue.prototype.PublicService = publicService
 Vue.prototype.UploadService = uploadService
+Vue.prototype.SpecialService = specialService

+ 1 - 1
services/public.service.js

@@ -13,7 +13,7 @@ export default class PublicService {
         return this.AjaxService.get({ 
             url:'/order/address/select/all', 
             data, 
-            isLoading: false ,
+            isLoading: false,
         })
     }
     /**

+ 21 - 0
services/special.service.js

@@ -0,0 +1,21 @@
+/**
+ * 活动专题页数据请求
+ */
+export default class SpecialService {
+    constructor(AjaxService) {
+        Object.assign(this, { AjaxService })
+        this.name = 'SpecialService'
+    }
+    /**
+     * 活动详情
+     * @param organizeId  组织Id
+     * @param activeId  活动Id
+     */
+    specialInfo(data = {}) {
+        return this.AjaxService.get({
+            url:'/commodity/MallOrganize/mall/detail', 
+            data, 
+            isLoading: false ,
+        })
+    }
+}