From d8ad0c1805b0701afadd069c79950edde490d5c9 Mon Sep 17 00:00:00 2001 From: xuxueyang <xuxy@fengyuntec.com> Date: 星期一, 08 七月 2024 17:17:16 +0800 Subject: [PATCH] update 花店小程序 --- static/images/customer/footer/footer-home-1.png | 0 pages/home/home.vue | 2 sub_pages/customer/shopping/shopping.vue | 22 static/images/customer/footer/footer-shopping-0.png | 0 static/images/customer/order/order-type-4.png | 0 static/images/customer/service/service-icon-2.png | 0 pages/home/supplier-home.vue | 2 pages/user/user-customer.scss | 68 ++ sub_pages/partner/order-manage/order-manage.vue | 2 static/images/customer/footer/footer-self-0.png | 0 static/images/customer/footer/footer-shopping-1.png | 0 store/index.js | 38 + pages/login/supplier-login.vue | 839 +++++++++++++------------- static/images/customer/order/order-type-3.png | 0 components/footer/customer-footer.vue | 85 ++ static/images/customer/service/service-icon-3.png | 0 main.js | 10 static/images/customer/footer/footer-self-1.png | 0 sub_pages/customer/trade/trade.vue | 22 pages/user/supplier-user.vue | 346 ++++++---- static/images/customer/footer/footer-home-0.png | 0 static/images/customer/order/order-type-2.png | 0 pages.json | 347 +++++----- static/images/customer/service/service-icon-5.png | 0 static/images/customer/service/service-icon-4.png | 0 static/images/customer/footer/footer-trade-0.png | 0 static/images/customer/service/service-icon-1.png | 0 /dev/null | 81 -- static/images/customer/service/service-icon-6.png | 0 package.json | 11 static/images/customer/order/order-type-5.png | 0 static/images/customer/order/order-type-1.png | 0 static/images/customer/footer/footer-trade-1.png | 0 33 files changed, 1,080 insertions(+), 795 deletions(-) diff --git a/components/footer/bussincess-footer.vue b/components/footer/bussincess-footer.vue deleted file mode 100644 index ff7170d..0000000 --- a/components/footer/bussincess-footer.vue +++ /dev/null @@ -1,81 +0,0 @@ -<template> - <view class="footer flex bussincess-footer" style=""> - <view v-for="(item,index) in tabBar" :key="index" class="footer-item"> - <view class="item flex" :class="flg==index?'cur':''" @click="go(index,item)"> - <!-- <image - class="icon" - :src="flg==index?item.selectedIconPath:item.iconPath" - mode="scaleToFill" - /> --> - <view v-if="index==0"> - <image src="../../static/imgs/footer/footer-home-1.png" class="footer-icon" v-if="flg==0"></image> - <image src="../../static/imgs/footer/footer-home-0.png" class="footer-icon" v-if="flg!=0"></image> - </view> - <view v-if="index==1"> - <image src="../../static/imgs/footer/footer-self-1.png" class="footer-icon" v-if="flg==1"></image> - <image src="../../static/imgs/footer/footer-self-0.png" class="footer-icon" v-if="flg!=1"></image> - - </view> - - <view> - {{item.text}} - </view> - - </view> - </view> - - - </view> -</template> -<script> - export default { - data() { - return { - tabBar: [ - { - "pagePath": "/pages/home/bussiness-home", - "iconPath": "/static/tabbar/home.png", - "selectedIconPath": "/static/tabbar/home_s.png", - "text": "商家首页" - }, - - { - "pagePath": "/pages/user/bussincess-user", - "iconPath": "/static/tabbar/my.png", - "selectedIconPath": "/static/tabbar/my_s.png", - "text": "我的" - } - ] - } - }, - props: { - flg: { - type: String, - }, - bussincess: { - type: Boolean, - default () { - return false - } - } - }, - created() { - }, - methods: { - - go(index, item) { - //todo 可能需要考虑一下加载问题,获取上一个页面树,如果是对应的home和user就要切换,而非relaunch - if (this.flg == ('' + index)) { - return - } - uni.redirectTo({ - url: item.pagePath - - }); - }, - } - } -</script> -<style lang="scss"> - @import "./main.scss"; -</style> diff --git a/components/footer/customer-footer.vue b/components/footer/customer-footer.vue new file mode 100644 index 0000000..7298a72 --- /dev/null +++ b/components/footer/customer-footer.vue @@ -0,0 +1,85 @@ +<template> + <view class="footer flex customer-footer" style=""> + <view v-for="(item,index) in tabBar" :key="index" class="footer-item"> + <view class="item flex" :class="flg==index?'cur':''" @click="go(index,item)"> + + <view v-if="index==0"> + <image src="../../static/images/customer/footer/footer-home-1.png" class="footer-icon" v-if="flg==0"></image> + <image src="../../static/images/customer/footer/footer-home-0.png" class="footer-icon" v-if="flg!=0"></image> + </view> + <view v-if="index==1"> + <image src="../../static/images/customer/footer/footer-trade-1.png" class="footer-icon" v-if="flg==0"></image> + <image src="../../static/images/customer/footer/footer-trade-0.png" class="footer-icon" v-if="flg!=0"></image> + </view> + <view v-if="index==2"> + <image src="../../static/images/customer/footer/footer-shopping-1.png" class="footer-icon" v-if="flg==0"> + </image> + <image src="../../static/images/customer/footer/footer-shopping-0.png" class="footer-icon" v-if="flg!=0"> + </image> + </view> + <view v-if="index==3"> + <image src="../../static/images/customer/footer/footer-self-1.png" class="footer-icon" v-if="flg==1"></image> + <image src="../../static/images/customer/footer/footer-self-0.png" class="footer-icon" v-if="flg!=1"></image> + </view> + + <view> + {{item.text}} + </view> + + </view> + </view> + + + </view> +</template> +<script> + export default { + data() { + return { + tabBar: [{ + + "text": "首页" + }, + { + + "text": "交易大厅" + }, + { + + "text": "购物车" + }, + { + "text": "我的" + } + ] + } + }, + props: { + flg: { + type: String, + }, + bussincess: { + type: Boolean, + default () { + return false + } + } + }, + created() {}, + methods: { + + go(index, item) { + if (this.flg == ('' + index)) { + return + } + uni.redirectTo({ + url: item.pagePath + + }); + }, + } + } +</script> +<style lang="scss"> + @import "./main.scss"; +</style> \ No newline at end of file diff --git a/main.js b/main.js index 216615a..691a3d3 100644 --- a/main.js +++ b/main.js @@ -48,8 +48,16 @@ +// #ifdef PUB_CUSTOMER +import customerFooter from '@/components/footer/customer-footer' +Vue.component('common-footer', customerFooter) +// #endif + +// #ifndef PUB_CUSTOMER import supplierfooter from '@/components/footer/supplier-footer' -Vue.component('supplier-footer', supplierfooter) +Vue.component('common-footer', supplierfooter) +// #endif + import nodata from '@/components/no-data' Vue.component('no-data', nodata) // import bfooter from '@/components/footer/bussincess-footer' diff --git a/package.json b/package.json index ef0382d..5b4330c 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,17 @@ "define": { "PUB_PARTNER": true } + }, + "customer":{ + "title": "花店/用户-小程序", + "BROWSER": "Chrome", + "env": { + "UNI_PLATFORM": "mp-weixin", + "PUB_TYPE": "customer" + }, + "define": { + "PUB_CUSTOMER": true + } } } diff --git a/pages.json b/pages.json index 583ec8c..cd0f85d 100644 --- a/pages.json +++ b/pages.json @@ -1,161 +1,188 @@ -{ - // 如果您是通过uni_modules形式引入uView,可以忽略此配置 - "easycom": { - "^u-(.*)": "uview-ui/components/u-$1/u-$1.vue" - }, - "pages": [{ - "path": "pages/login/supplier-login", - "style": { - "navigationBarTitleText": "登录", - "enablePullDownRefresh": false, - "navigationStyle": "custom" - } - }, { - "path": "pages/home/supplier-home", - "style": { - "navigationBarTitleText": "首页", - "enablePullDownRefresh": true, - "navigationStyle": "custom" - } - - }, { - "path": "pages/user/supplier-user", - "style": { - "navigationBarTitleText": "我的", - "enablePullDownRefresh": true, - "navigationStyle": "custom" - } - }, - { - "path": "pages/user/user-info/user-info", - "style": { - "navigationBarTitleText": "我的信息", - "enablePullDownRefresh": false - } - }, - { - "path": "pages/notice/notice", - "style": { - "navigationBarTitleText": "通知公告", - "enablePullDownRefresh": false - } - }, - { - "path": "pages/notice/list", - "style": { - "navigationBarTitleText": "通知公告", - "enablePullDownRefresh": true - } - }, - { - "path" : "pages/user/user-pwd/user-pwd", - "style" : - { - "navigationBarTitleText" : "修改密码", - "enablePullDownRefresh" : false - } - } - ], - - "subPackages": [{ - "root": "sub_pages/supplier", - "pages": [{ - "path": "supplier-info/supplier-info", - "style": { - "navigationBarTitleText": "信息维护", - "enablePullDownRefresh": false - } - }, { - "path": "order-settlement/order-settlement", - "style": { - "navigationBarTitleText": "账单结算", - "enablePullDownRefresh": true - } - }, - { - "path": "flower-manage/flower-manage", - "style": { - "navigationBarTitleText": "商品管理", - "enablePullDownRefresh": true - } - }, - { - "path": "order-sale/order-sale", - "style": { - "navigationBarTitleText": "售后理赔", - "enablePullDownRefresh": true - } - }, - { - "path": "order-records/order-records", - "style": { - "navigationBarTitleText": "扣款记录", - "enablePullDownRefresh": false, - "navigationBarBackgroundColor": "#E6F2EB" - - } - }, - { - "path": "flower-manage/flower-add", - "style": { - "navigationBarTitleText": "", - "enablePullDownRefresh": false - } - }, - { - "path": "supplier-reg/supplier-reg", - "style": { - "navigationBarTitleText": "申请入住", - "navigationStyle": "custom" - } - }, - { - "path" : "protocol", - "style" : - { - "navigationBarTitleText" : "协议", - "enablePullDownRefresh" : false - } - } - ] - - - },{ - "root": "sub_pages/partner", - "pages": [{ - "path" : "order-manage/order-manage", - "style" : - { - "navigationBarTitleText" : "订单管理", - "enablePullDownRefresh" : false - } - }, - { - "path" : "markup-config/markup-config", - "style" : - { - "navigationBarTitleText" : "加价配置", - "enablePullDownRefresh" : false - } - } - - ] - }], - "globalStyle": { - "navigationBarTextStyle": "black", - "navigationBarTitleText": "uni-app", - "navigationBarBackgroundColor": "#F8F8F8", - "backgroundColor": "#F8F8F8", - "app-plus": { - "background": "#efeff4" - } - }, - "condition": { //模式配置,仅开发期间生效 - "current": 0, //当前激活的模式(list 的索引项) - "list": [{ - "name": "", //模式名称 - "path": "", //启动页面,必选 - "query": "" //启动参数,在页面的onLoad函数里面得到 - }] - } +{ + // 如果您是通过uni_modules形式引入uView,可以忽略此配置 + "easycom": { + "^u-(.*)": "uview-ui/components/u-$1/u-$1.vue" + }, + "pages": [ + // #ifdef PUB_CUSTOMER + { + "path": "pages/home/home", + "style": { + "navigationBarTitleText": "首页", + "enablePullDownRefresh": true, + "navigationStyle": "custom" + } + + }, + // #endif + { + "path": "pages/login/supplier-login", + "style": { + "navigationBarTitleText": "登录", + "enablePullDownRefresh": false, + "navigationStyle": "custom" + } + }, { + "path": "pages/home/supplier-home", + "style": { + "navigationBarTitleText": "首页", + "enablePullDownRefresh": true, + "navigationStyle": "custom" + } + + }, + { + "path": "pages/user/supplier-user", + "style": { + "navigationBarTitleText": "我的", + "enablePullDownRefresh": true, + "navigationStyle": "custom" + } + }, + { + "path": "pages/user/user-info/user-info", + "style": { + "navigationBarTitleText": "我的信息", + "enablePullDownRefresh": false + } + }, + { + "path": "pages/notice/notice", + "style": { + "navigationBarTitleText": "通知公告", + "enablePullDownRefresh": false + } + }, + { + "path": "pages/notice/list", + "style": { + "navigationBarTitleText": "通知公告", + "enablePullDownRefresh": true + } + }, + { + "path": "pages/user/user-pwd/user-pwd", + "style": { + "navigationBarTitleText": "修改密码", + "enablePullDownRefresh": false + } + } + ], + + "subPackages": [{ + "root": "sub_pages/supplier", + "pages": [{ + "path": "supplier-info/supplier-info", + "style": { + "navigationBarTitleText": "信息维护", + "enablePullDownRefresh": false + } + }, { + "path": "order-settlement/order-settlement", + "style": { + "navigationBarTitleText": "账单结算", + "enablePullDownRefresh": true + } + }, + { + "path": "flower-manage/flower-manage", + "style": { + "navigationBarTitleText": "商品管理", + "enablePullDownRefresh": true + } + }, + { + "path": "order-sale/order-sale", + "style": { + "navigationBarTitleText": "售后理赔", + "enablePullDownRefresh": true + } + }, + { + "path": "order-records/order-records", + "style": { + "navigationBarTitleText": "扣款记录", + "enablePullDownRefresh": true, + "navigationBarBackgroundColor": "#E6F2EB" + + } + }, + { + "path": "flower-manage/flower-add", + "style": { + "navigationBarTitleText": "", + "enablePullDownRefresh": false + } + }, + { + "path": "supplier-reg/supplier-reg", + "style": { + "navigationBarTitleText": "申请入住", + "navigationStyle": "custom" + } + }, + { + "path": "protocol", + "style": { + "navigationBarTitleText": "协议", + "enablePullDownRefresh": false + } + } + ] + + + }, { + "root": "sub_pages/partner", + "pages": [{ + "path": "order-manage/order-manage", + "style": { + "navigationBarTitleText": "订单管理", + "enablePullDownRefresh": true + } + }, + { + "path": "markup-config/markup-config", + "style": { + "navigationBarTitleText": "加价配置", + "enablePullDownRefresh": true + } + } + + ] + }, { + "root": "sub_pages/customer", + "pages": [{ + "path": "trade/trade", + "style": { + "navigationBarTitleText": "交易大厅", + "enablePullDownRefresh": true + } + }, + { + "path": "shopping/shopping", + "style": { + "navigationBarTitleText": "购物车", + "enablePullDownRefresh": true + } + } + + ] + }], + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "uni-app", + "navigationBarBackgroundColor": "#F8F8F8", + "backgroundColor": "#F8F8F8", + "app-plus": { + "background": "#efeff4" + } + }, + "condition": { //模式配置,仅开发期间生效 + "current": 0, //当前激活的模式(list 的索引项) + "list": [{ + "name": "", //模式名称 + "path": "", //启动页面,必选 + "query": "" //启动参数,在页面的onLoad函数里面得到 + }] + } } \ No newline at end of file diff --git a/pages/home/bussiness-home.vue b/pages/home/bussiness-home.vue deleted file mode 100644 index fc21511..0000000 --- a/pages/home/bussiness-home.vue +++ /dev/null @@ -1,251 +0,0 @@ -<template> - <view class="main-container home"> - <!-- 顶部,可能 --> - <view class="school" :style="{'background-color': color,'padding-top':(StatusBar)+'px' - ,height:CustomBar+'rpx','line-height':CustomBar+'rpx' }"> - <!-- <picker @change="PickerChangeSchool" :value="schoolIndex" :range="schools" range-key="name"> - <view class="picker"> - <uni-icons type="location" class="m-l-15 m-r-10"></uni-icons> - {{ schoolIndex>=0&&schools[schoolIndex].s_name ? schools[schoolIndex].s_name : '选择校区' }} - </view> - </picker> --> - </view> - <!-- <view :style="{'background-color': color,'padding-top':(StatusBar)+'px',height:CustomBar+'px'}"></view> --> - - - <!-- banner --> - <uni-swiper-dot class="uni-swiper-dot-box" @clickItem=clickItem :info="info" :current="currentBanner" - :mode="'dot'" :dots-styles="dotsStyles[0]" field="content"> - <swiper class="swiper-box" @change="changeBanner" :current="0" :interval="10000" :circular="true" v-if="banners&&banners.length>0" :autoplay="true"> - <swiper-item v-for="(item, index) in banners" :key="index"> - <view class="swiper-item" :class="'swiper-item' + index"> - <image @click="previewImg(item.imageSmall||item.image)" class="home-banner-image" mode="aspectFit" :src="item.imageSmall||item.image"> - </image> - </view> - </swiper-item> - </swiper> - <swiper class="swiper-box" @change="changeBanner" :current="0" v-if="!banners||banners.length==0"> - <swiper-item v-for="(item, index) in 1" :key="index"> - <view class="swiper-item" :class="'swiper-item' + index"> - <image class="home-banner-image" mode="scaleToFill" - src="https://xy-go.oss-cn-beijing.aliyuncs.com/fd/fdcf045d4da848938d65d85a8a512c1bhome-banner.png"> - </image> - </view> - </swiper-item> - </swiper> - </uni-swiper-dot> - <!-- tip --> - <view class="p10"> - <uni-notice-bar @click="getNoticeMore" v-if="currentNotice&¤tNotice.id" class="notice-bar" - color="#333" background-color="#fff" show-get-more show-icon :scrollable="scrollable" - :text="currentNotice.title" :key="currentNotice.id" /> - <span v-if="!currentNotice||!currentNotice.id"> </span> - </view> - - <!-- 各种按钮 --> - <home-buttons source="bussiness"></home-buttons> - - <view style="padding-bottom:200rpx"> - </view> - <bussincess-footer flg="0"></bussincess-footer> - - </view> -</template> - -<script> - import homeButtons from './components/home-buttons.vue' - import homeGoods from './components/home-goods.vue' - - - export default { - components: { - homeButtons, - homeGoods - }, - data() { - return { - CustomBar: uni.getStorageSync('CustomBar'), - StatusBar: uni.getStorageSync('StatusBar'), - // StatusBar:0, - color: '#fff', - schools: [], - schoolIndex: -1, - tabs: [{ - name: '团购', - id: 'shop' - }, - { - name: '粗去玩', - id: 'travel' - }, - { - name: '挖宝商品', - id: 'good' - }, - ], - tabIndex: 2, - info: [{ - colorClass: 'uni-bg-red', - url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/shuijiao.jpg', - content: '内容 A' - }, - { - colorClass: 'uni-bg-green', - url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/shuijiao.jpg', - content: '内容 B' - }, - { - colorClass: 'uni-bg-blue', - url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/shuijiao.jpg', - content: '内容 C' - } - ], - dotStyle: [{ - backgroundColor: 'rgba(0, 0, 0, .3)', - border: '1px rgba(0, 0, 0, .3) solid', - color: '#fff', - selectedBackgroundColor: 'rgba(0, 0, 0, .9)', - selectedBorder: '1px rgba(0, 0, 0, .9) solid' - }, - { - backgroundColor: 'rgba(255, 90, 95,0.3)', - border: '1px rgba(255, 90, 95,0.3) solid', - color: '#fff', - selectedBackgroundColor: 'rgba(255, 90, 95,0.9)', - selectedBorder: '1px rgba(255, 90, 95,0.9) solid' - }, - { - backgroundColor: 'rgba(83, 200, 249,0.3)', - border: '1px rgba(83, 200, 249,0.3) solid', - color: '#fff', - selectedBackgroundColor: 'rgba(83, 200, 249,0.9)', - selectedBorder: '1px rgba(83, 200, 249,0.9) solid' - } - ], - currentBanner: 0, - banners: [], - noticeList: [], - currentNoticeIndex: 0, - currentNotice: { - - } - }; - }, - onLoad() { - // console.log('home created') - //这里进行一次初始化即可 - // console.log('home created') - //这里进行一次初始化即可 - // this.$http.request('get','/api/school/area/list',{ - - // }).then(res=>{ - // if(res.code==0){ - // this.schools = res.data || [] - // } - // }) - //获取banner图 - this.$http.request('get', '/api/ua/banner/list', { - - }).then(res => { - if (res.code == 0) { - this.banners = res.data.records || [] - } - }) - // uni.setStorageSync('schoolId', this.school[parseInt(e.detail.value)].id); - // uni.setStorageSync('schoolIndex', parseInt(e.detail.value)); - // var schoolIndex = uni.getStorageSync('schoolIndex') - // if(!schoolIndex&&schoolIndex!==0){ - - // }else{ - // this.schoolIndex = schoolIndex - // } - //公告 - this.$http.request('get', '/api/ua/announcement/list', { - params: { - size: 5, - status: 'A' - } - }).then(res => { - if (res.code == 0) { - this.noticeList = (res.data && res.data.records || []) - if (this.noticeList.length > 0) { - this.currentNotice = this.noticeList[0] - if (this.currentNotice.title && this.currentNotice.title.length >= 30) { - this.scrollable = true - } else { - this.scrollable = false - } - let that = this - if (this.noticeList.length >= 1) { - setInterval(() => { - console.log('interval,1') - - that.currentNoticeIndex += 1 - that.currentNoticeIndex %= that.noticeList.length - that.currentNotice = that.noticeList[that.currentNoticeIndex] - if (that.currentNotice.title && that.currentNotice.title.length >= 30) { - that.scrollable = true - } else { - that.scrollable = false - } - }, 8000) - } - - } - } - }) - - }, - methods: { - changeBanner(e) { - this.currentBanner = e.detail.current - }, - changeTab(e) { - - }, - getNoticeMore() { - if (this.currentNotice.id) { - // uni.navigateTo({ - // url: '/pages/notice/notice?id=' + this.currentNotice.id - // }) - } - uni.navigateTo({ - url: '/pages/notice/list?id=' + this.currentNotice.id - }) - }, - PickerChangeSchool(e) { - if (e.detail.value == '-1') { - this.$message.showToast('未选择校区') - return - } - console.log(' this.schools', this.schools, parseInt(e.detail.value), e); - // this.setData({ - // index: e.detail.value, - // schoolInfo: this.school[parseInt(e.detail.value)], - // s_id: this.school[parseInt(e.detail.value)].s_id, - // current: 0 - // }); - - this.schoolIndex = parseInt(e.detail.value) - uni.setStorageSync('schoolId', this.schools[parseInt(e.detail.value)].id); - uni.setStorageSync('schoolIndex', parseInt(e.detail.value)); - // if (uni.getStorageSync('token')) { - // this.userChangeSchool(this.school[parseInt(e.detail.value)].s_id) - // } - // this.getSchoolInfo(this.school[parseInt(e.detail.value)].s_id); - // this.getSysparment(); //全局加载变量设置为真,信息圈的列表需要重新加载 - // // this.getOrderData(); - // // this.getHistoryList(); - // this.getRank(); - // this.setData({ - // dataList: [] - // }); - }, - - } - } -</script> - -<style lang="scss" scoped> - @import "./home.scss"; -</style> \ No newline at end of file diff --git a/pages/home/components/home-buttons.vue b/pages/home/components/home-buttons.vue deleted file mode 100644 index 2a262ce..0000000 --- a/pages/home/components/home-buttons.vue +++ /dev/null @@ -1,168 +0,0 @@ -<!-- 一起团购,深夜食堂、挖宝专区 --> -<template> - <view class="home-buttons p15"> - <!-- {{source}} --> - <view class="home-buttons_top_container flex"> - <view class="p10 left" - @click="goto(source=='bussiness'?'/pages/order/bussiness-order/bussiness-order?type=shop':'/pages/shop/shop')"> - <view class="title">一起团购</view> - <view class="desc">一键分享,团你所团</view> - <image class="icon" src="/static/imgs/home/home-icon-shop.png" mode="aspectFit" /> - </view> - <view class="right"> - - - <view class="p10 container" - @click="goto(source=='bussiness'?'/pages/order/bussiness-order/bussiness-order?type=canteen':'/pages/canteen/canteen')"> - <view class="title">每日维C</view> - <view class="desc">今日份维C 小狗狗帮你补齐</view> - </view> - <!-- <view class="p10 container home-container-canteen"> - <view class="title">每日维C</view> - <view class="desc">每日维C 觅食专区</view> - </view> --> - <view class="p10 container" - @click="goto(source=='bussiness'?'/pages/order/bussiness-order/bussiness-order?type=good':'/pages/good/good')"> - <view class="title">挖宝专区</view> - <view class="desc">支持各平台验货,包邮送到手</view> - </view> - </view> - - </view> - <view class="home-buttons_bottom_container flex" - @click="goto(source=='bussiness'?'/pages/order/bussiness-order/bussiness-order?type=travel':'/pages/travel/travel')"> - <view class="left"> - <view class="title">粗去玩</view> - <view class="desc">小狗go!</view> - <view class="desc">即将满员,快来抢位</view> - </view> - <view class="right"> - <image class="icon" src="/static/imgs/home/home-icon-travel.png" mode="aspectFit"></image> - </view> - </view> - </view> - -</template> -<script> - export default { - data() { - return { - // source: '', //bussiness - } - }, - props: { - source: { - type: String, - default () { - return '' - } - } - } - } -</script> - -<style lang="scss"> - .home-buttons { - padding-top: 0px; - - .home-buttons_top_container { - // height: 334rpx; - // 167 - // max-height: 334rpx; - margin-bottom: 22rpx; - text-align: center; - - .left { - width: 280rpx; - background: #FFFFFF; - border-radius: 20rpx; - margin-right: 22rpx; - padding-top: 18rpx; - - .desc { - margin-top: 4rpx; - } - - .icon { - width: 186rpx; - height: 202rpx; - margin-top: 22rpx; - } - } - - // 334 - // 156 * 2 = 312 + 22 - .right { - flex: 1; - - .container { - // width: 354rpx; - height: 156rpx; - max-height: 156rpx; - background: #FFFFFF; - border-radius: 20rpx; - - .title { - margin-top: 34rpx; - margin-bottom: 4rpx; - } - } - .home-container-canteen{ - // background-image: url('../../../static/imgs/home/freecompress-home-canteen-todo.png'); - background-size: 100% 100%; - } - - .container+.container { - margin-top: 22rpx; - } - - } - } - - .home-buttons_bottom_container { - width: 690rpx; - min-height: 169rpx; - background: #FFFFFF; - border-radius: 20rpx; - // margin-top: 44px; - padding-top: 15px; - - .left { - - flex: 1; - text-align: center; - - .desc { - margin-top: 4rpx; - } - } - - .right { - flex: 1; - - .icon { - width: 214rpx; - height: 126rpx; - margin: 0 auto; - display: block; - } - } - } - - .title { - font-size: 36rpx; - font-family: PingFangSC, PingFang SC; - font-weight: 600; - color: #000000; - line-height: 50rpx; - } - - .desc { - font-size: 24rpx; - font-family: PingFangSC, PingFang SC; - font-weight: 400; - color: #666666; - line-height: 34rpx; - } - } -</style> \ No newline at end of file diff --git a/pages/home/components/home-goods.vue b/pages/home/components/home-goods.vue deleted file mode 100644 index 2e2703b..0000000 --- a/pages/home/components/home-goods.vue +++ /dev/null @@ -1,81 +0,0 @@ -<template> - <!-- 挖宝商品 --> - <view class="main-container" style="min-height: 400rpx;"> - <loading v-if="loading"></loading> - <view v-if="!loading"> - <view class='productList'> - <view class='list acea-row row-between-wrapper'> - <no-data v-if="!list||list.length==0" style="width: 100%;"></no-data> - - <view class='item' v-for="(item,index) in list" :key="index" @click="navToDetailPage(item.id)"> - <view class='pictrue'> - <image :src='item.cover'></image> - </view> - <view class='text'> - <view class='name line1'>{{item.name}}</view> - <view class='money font-color flex'> - <view>¥<text class='num'>{{item.defaultWabaoPrice}}</text></view> - <view class="info"> - <text class="oldprice">¥{{item.defaultNormalPrice}}</text> - <text class="desc">{{item.phaseStr || ''}}</text> - - </view> - </view> - </view> - </view> - </view> - </view> - <!-- <view style="color:#999;font-size:14px;text-align:center;padding:3%;background-color:#f5f5f5;" v-if="nodata"> - 暂无数据~ - </view> --> - </view> - </view> -</template> - -<script> - // import util from '@/utils/util.js' - // import gzmzApi from '@/api/gzmzApi.js' - // import myCache from '@/utils/myCache.js' - export default { - data() { - return { - loading: false, - nodata: false, - category_id: '', - appshow: 1 - } - }, - onLoad(options) { - // this.category_id = options.category_id - // this.initData(this.page, this.category_id); - // uni.setNavigationBarTitle({ - // title: options.category_name - // }) - - - }, - onReachBottom() { - // if (!this.nodata) { - // this.page++; - // this.initData(this.page, this.category_id); - // } - }, - methods: { - updateGoods() { - console.log('updateGoods') - this.listApi = '/api/wabao/customer/list' - this.page.size = 4 - this.getList() - }, - navToDetailPage(toid) { - uni.navigateTo({ - url: '/pages/good/good-detail?id=' + toid - }) - } - } - } -</script> -<style scoped lang="scss"> - @import "../../good/good.scss"; - -</style> \ No newline at end of file diff --git a/pages/home/home.vue b/pages/home/home.vue index 575ad37..e89364d 100644 --- a/pages/home/home.vue +++ b/pages/home/home.vue @@ -110,7 +110,7 @@ </view> <view style="padding-bottom:200rpx"> </view> - <supplier-footer flg="0"></supplier-footer> + <common-footer flg="0"></common-footer> </view> </template> diff --git a/pages/home/supplier-home.vue b/pages/home/supplier-home.vue index f393031..a19329a 100644 --- a/pages/home/supplier-home.vue +++ b/pages/home/supplier-home.vue @@ -171,7 +171,7 @@ <view style="padding-bottom:200rpx"> </view> - <supplier-footer flg="0"></supplier-footer> + <common-footer flg="0"></common-footer> </view> diff --git a/pages/login/supplier-login.vue b/pages/login/supplier-login.vue index 51d8a60..5d7d5e5 100644 --- a/pages/login/supplier-login.vue +++ b/pages/login/supplier-login.vue @@ -1,419 +1,422 @@ -<template> - <view class="main-container login-container img100 relative" style="margin-top: 0rpx;"> - <!-- background-image:url('@/static/images/supplier/login/bg.png') --> - - <image class="component-bg" - src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/a5/a54508de179a4942918ecb2c5a4aa9f5bg.png" - mode="scaleToFill" /> - <view class="t-login top-bg"> - <view class="nav-title">登录</view> - <view class="login"> - <form class="cl"> - <view class="t-a titles-top"> - <view class="title-1">HELLO</view> - <view class="title-2">欢迎登录<span class="title-3">花满芜</span></view> - </view> - <view class="t-a input" v-if="loginType=='pwd'"> - <input type="text" name="userName" placeholder="请输入账号" v-model="userName" /> - </view> - <view class="t-a input" v-if="loginType=='pwd'"> - <input type="text" :password="true" name="password" placeholder="请输入密码" v-model="password" /> - </view> - <view class="t-a input" v-if="loginType=='code'"> - - - <input type="text" name="userName" placeholder="请输入手机号" v-model="phoneNumber" /> - <view class="get-code" :style="{'color':getCodeBtnColor}" @click.stop="getCode()"> - {{getCodeText}} - </view> - </view> - - - <view class="t-a input" v-if="loginType=='code'"> - <input type="text" name="userName" placeholder="请输入手机验证码" v-model="smsCode" /> - </view> - - <button @tap="login()" class="bottom-button">登 录</button> - - <view class="flex"> - <view class="topic-font" v-if="loginType=='pwd'" @click="loginType='code'">手机验证码登录</view> - <view class="topic-font" v-if="loginType=='code'" @click="loginType='pwd'">账号密码登录</view> - - <view class="topic-font m-l-a m-r-0" @click="toReg">前往注册</view> - </view> - </form> - </view> - </view> - </view> -</template> -<script> - // import util from '@/utils/util.js' - // import gzmzApi from '@/api/gzmzApi.js' - // import myCache from '@/utils/myCache.js' - export default { - props: { - // apitype: 'loginSupplier', - apitype: { - type:String, - default(){ - // #ifdef PUB_SUPPLIER - return 'loginSupplier' - // #endif - // #ifdef PUB_PARTNER - return 'loginPartner' - // #endif - return '' - // return 'loginPartner' - } - }, - }, - data() { - return { - openId: '-1', - userName: 'gzm', - password: '123456', - // userName: '', - // password: '', - - phoneNumber: '', - smsCode: '', - - checked: false, - loginType: 'pwd', //pwd和code,密码和验证码登录 - pcfvalue: undefined, - getCodeText: '获取验证码', - getCodeBtnColor: "#20613D", - getCodeisWaiting: false, - Timer: undefined - }; - }, - methods: { - async getCode() { - uni.hideKeyboard() //隐藏已经显示的软键盘,如果软键盘没有显示则不做任何操作。 - if (this.getCodeisWaiting) { - return; - } - if (!(/^1(3|4|5|6|7|8|9)\d{9}$/.test(this.phoneNumber))) { //校验手机号码是否有误 - this.$message.showToast('请填写正确手机号码') - return false; - } - this.getCodeText = "发送中..." //发送验证码 - this.getCodeisWaiting = true; - this.getCodeBtnColor = "#000" //追加样式,修改颜色 - //示例用定时器模拟请求效果 - //setTimeout(()用于在指定的毫秒数后调用函数或计算表达式 - const { - code - } = await this.$http.request('post', '/api/sms/send/code', { - data: { - tel: this.phoneNumber, - userType: 'supplier' - } - }) - if (code == 0) { - uni.showToast({ - title: '验证码已发送', - icon: "none" - }); - this.setTimer(); //调用定时器方法 - } - // setTimeout(() => { - // uni.showToast({ - // title: '验证码已发送', - // icon: "none" - // }); //弹出提示框 - // //示例默认1234,生产中请删除这一句。 - // // this.code = '1234'; //发送验证码,进行填入 - // this.setTimer(); //调用定时器方法 - // }, 1000) - }, - //setTimer: 需要每隔一段时间执行一件事的的时候就需要使用SetTimer函数 - setTimer() { - let holdTime = 60; //定义变量并赋值 - this.getCodeText = "重新获取(60)" - //setInterval()是一个实现定时调用的函数,可按照指定的周期(以毫秒计)来调用函数或计算表达式。 - //setInterval方法会不停地调用函数,直到 clearInterval被调用或窗口被关闭。 - this.Timer = setInterval(() => { - if (holdTime <= 0) { - this.getCodeisWaiting = false; - this.getCodeBtnColor = "#20613D"; - this.getCodeText = "获取验证码" - clearInterval(this.Timer); //清除该函数 - return; //返回前面 - } - this.getCodeText = "重新获取(" + holdTime + ")" - holdTime--; - }, 1000) - }, - toReg() { - // uni.switchTab({ - // url: '/pages/index/index' - // }) - uni.redirectTo({ - url: '/sub_pages/supplier/supplier-reg/supplier-reg' - }) - - }, - changeAll(e) { - this.pcfvalue = e.detail.value[0] - }, - async login() { - uni.showLoading({ - title: '登陆中' - }); - var that = this; - if (this.loginType == 'pwd') { - if (!that.userName) { - uni.showToast({ - title: '请输入用户名', - icon: 'none' - }); - return; - } - if (!that.password) { - uni.showToast({ - title: '请输入密码', - icon: 'none' - }); - return; - } - } - if (this.loginType == 'code') { - if (!that.tel) { - uni.showToast({ - title: '请输入手机号', - icon: 'none' - }); - return; - } - if (!that.smsCode) { - uni.showToast({ - title: '请输入手机验证码', - icon: 'none' - }); - return; - } - } - // if (this.pcfvalue == undefined) { - // util.showMyToast('必须勾选《用户服务协议》及《隐私政策》'); - // return; - // } - let post = { - username: this.userName, - password: this.password, - tel: this.phoneNumber, - smsCode: this.smsCode - // openId: '123456789' - } - // const { - // code - // } = await this.$http.request('get', '/api/login/admin') - const resp = await this.$store.dispatch(this.apitype, post); - // uni.hideLoading() - - if (resp.code == 0) { - - // myCache.cache("userToken", res.data.accessToken) - // let userRes = await gzmzApi.getMemberInfo(); - // if (userRes.status) { - // myCache.cache("userInfo", JSON.stringify(userRes.data)) - // } - // setTimeout(() => { - // uni.navigateBack(); - // }, 1000); - - } else { - uni.showToast({ - title: '登录失败!', - icon: 'none' - }); - return; - } - - }, - tc1(id) { - uni.navigateTo({ - url: '/pages/users/xieyi?id=' + id, - }); - } - } - }; -</script> - -<style lang="scss" scoped> - @import './login.scss'; - - .main-container { - margin: 20px 0; - } - - .img-a { - position: absolute; - width: 100%; - top: -150rpx; - right: 0; - } - - .img-b { - position: absolute; - width: 50%; - bottom: 0; - left: -120rpx; - } - - .to-home { - margin-top: 30rpx; - font-size: 30rpx; - color: #5af; - display: flex; - flex-direction: row-reverse; - } - - .t-login { - width: 100%; - margin: 0 auto; - font-size: 28rpx; - color: #000; - } - - .t-login .bg { - width: 100%; - position: relative; - } - - .t-login .login { - width: 650rpx; - margin: 60rpx auto; - margin-top: 0rpx; - font-size: 28rpx; - color: #000; - } - - .t-login button { - font-size: 28rpx; - background: #5677fc; - color: #fff; - height: 90rpx; - line-height: 90rpx; - border-radius: 50rpx; - box-shadow: 0 5px 7px 0 rgba(86, 119, 252, 0.2); - } - - .t-login input { - padding: 0 20rpx 0 120rpx; - height: 90rpx; - line-height: 90rpx; - margin-bottom: 50rpx; - background: #f8f7fc; - border: 1px solid #e9e9e9; - font-size: 28rpx; - border-radius: 50rpx; - } - - .t-login .t-a { - position: relative; - - .get-code { - position: absolute; - right: 40rpx; - top: 25rpx; - } - } - - .t-login .t-a .icon { - width: 40rpx; - height: 40rpx; - position: absolute; - left: 24rpx; - top: 14rpx; - margin-right: 20rpx; - } - - .t-login .t-a .line { - width: 2rpx; - height: 40rpx; - background-color: #dedede; - position: absolute; - top: 28rpx; - left: 98rpx; - } - - .t-login .t-b { - text-align: left; - font-size: 46rpx; - color: #000; - padding: 300rpx 0 30rpx 0; - font-weight: bold; - } - - .t-login .t-b2 { - text-align: left; - font-size: 32rpx; - color: #aaaaaa; - padding: 0rpx 0 120rpx 0; - } - - .t-login .t-c { - position: absolute; - right: 22rpx; - top: 22rpx; - background: #5677fc; - color: #fff; - font-size: 24rpx; - border-radius: 50rpx; - height: 50rpx; - line-height: 50rpx; - padding: 0 25rpx; - z-index: 999; - } - - .t-login .t-d { - text-align: center; - color: #999; - margin: 80rpx 0; - } - - .t-login .t-e { - text-align: center; - width: 250rpx; - margin: 80rpx auto 0; - } - - .t-login .t-g { - float: left; - width: 50%; - } - - .t-login .t-e image { - width: 50rpx; - height: 50rpx; - } - - .t-login .t-f { - text-align: center; - margin: 200rpx 0 0 0; - color: #666; - } - - .t-login .t-f text { - margin-left: 20rpx; - color: #aaaaaa; - font-size: 27rpx; - } - - .t-login .uni-input-placeholder { - color: #000; - } - - .cl { - zoom: 1; - } - - .cl:after { - clear: both; - display: block; - visibility: hidden; - height: 0; - content: '\20'; - } +<template> + <view class="main-container login-container img100 relative" style="margin-top: 0rpx;"> + <!-- background-image:url('@/static/images/supplier/login/bg.png') --> + + <image class="component-bg" + src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/a5/a54508de179a4942918ecb2c5a4aa9f5bg.png" + mode="scaleToFill" /> + <view class="t-login top-bg"> + <view class="nav-title">登录</view> + <view class="login"> + <form class="cl"> + <view class="t-a titles-top"> + <view class="title-1">HELLO</view> + <view class="title-2">欢迎登录<span class="title-3">花满芜</span></view> + </view> + <view class="t-a input" v-if="loginType=='pwd'"> + <input type="text" name="userName" placeholder="请输入账号" v-model="userName" /> + </view> + <view class="t-a input" v-if="loginType=='pwd'"> + <input type="text" :password="true" name="password" placeholder="请输入密码" v-model="password" /> + </view> + <view class="t-a input" v-if="loginType=='code'"> + + + <input type="text" name="userName" placeholder="请输入手机号" v-model="phoneNumber" /> + <view class="get-code" :style="{'color':getCodeBtnColor}" @click.stop="getCode()"> + {{getCodeText}} + </view> + </view> + + + <view class="t-a input" v-if="loginType=='code'"> + <input type="text" name="userName" placeholder="请输入手机验证码" v-model="smsCode" /> + </view> + + <button @tap="login()" class="bottom-button">登 录</button> + + <view class="flex"> + <view class="topic-font" v-if="loginType=='pwd'" @click="loginType='code'">手机验证码登录</view> + <view class="topic-font" v-if="loginType=='code'" @click="loginType='pwd'">账号密码登录</view> + + <view class="topic-font m-l-a m-r-0" @click="toReg">前往注册</view> + </view> + </form> + </view> + </view> + </view> +</template> +<script> + // import util from '@/utils/util.js' + // import gzmzApi from '@/api/gzmzApi.js' + // import myCache from '@/utils/myCache.js' + export default { + props: { + // apitype: 'loginSupplier', + apitype: { + type: String, + default () { + // #ifdef PUB_SUPPLIER + return 'loginSupplier' + // #endif + // #ifdef PUB_PARTNER + return 'loginPartner' + // #endif + // #ifdef PUB_CUSTOMER + return 'loginCustomer' + // #endif + return '' + // return 'loginPartner' + } + }, + }, + data() { + return { + openId: '-1', + userName: 'gzm', + password: '123456', + // userName: '', + // password: '', + + phoneNumber: '', + smsCode: '', + + checked: false, + loginType: 'pwd', //pwd和code,密码和验证码登录 + pcfvalue: undefined, + getCodeText: '获取验证码', + getCodeBtnColor: "#20613D", + getCodeisWaiting: false, + Timer: undefined + }; + }, + methods: { + async getCode() { + uni.hideKeyboard() //隐藏已经显示的软键盘,如果软键盘没有显示则不做任何操作。 + if (this.getCodeisWaiting) { + return; + } + if (!(/^1(3|4|5|6|7|8|9)\d{9}$/.test(this.phoneNumber))) { //校验手机号码是否有误 + this.$message.showToast('请填写正确手机号码') + return false; + } + this.getCodeText = "发送中..." //发送验证码 + this.getCodeisWaiting = true; + this.getCodeBtnColor = "#000" //追加样式,修改颜色 + //示例用定时器模拟请求效果 + //setTimeout(()用于在指定的毫秒数后调用函数或计算表达式 + const { + code + } = await this.$http.request('post', '/api/sms/send/code', { + data: { + tel: this.phoneNumber, + userType: 'supplier' + } + }) + if (code == 0) { + uni.showToast({ + title: '验证码已发送', + icon: "none" + }); + this.setTimer(); //调用定时器方法 + } + // setTimeout(() => { + // uni.showToast({ + // title: '验证码已发送', + // icon: "none" + // }); //弹出提示框 + // //示例默认1234,生产中请删除这一句。 + // // this.code = '1234'; //发送验证码,进行填入 + // this.setTimer(); //调用定时器方法 + // }, 1000) + }, + //setTimer: 需要每隔一段时间执行一件事的的时候就需要使用SetTimer函数 + setTimer() { + let holdTime = 60; //定义变量并赋值 + this.getCodeText = "重新获取(60)" + //setInterval()是一个实现定时调用的函数,可按照指定的周期(以毫秒计)来调用函数或计算表达式。 + //setInterval方法会不停地调用函数,直到 clearInterval被调用或窗口被关闭。 + this.Timer = setInterval(() => { + if (holdTime <= 0) { + this.getCodeisWaiting = false; + this.getCodeBtnColor = "#20613D"; + this.getCodeText = "获取验证码" + clearInterval(this.Timer); //清除该函数 + return; //返回前面 + } + this.getCodeText = "重新获取(" + holdTime + ")" + holdTime--; + }, 1000) + }, + toReg() { + // uni.switchTab({ + // url: '/pages/index/index' + // }) + uni.redirectTo({ + url: '/sub_pages/supplier/supplier-reg/supplier-reg' + }) + + }, + changeAll(e) { + this.pcfvalue = e.detail.value[0] + }, + async login() { + uni.showLoading({ + title: '登陆中' + }); + var that = this; + if (this.loginType == 'pwd') { + if (!that.userName) { + uni.showToast({ + title: '请输入用户名', + icon: 'none' + }); + return; + } + if (!that.password) { + uni.showToast({ + title: '请输入密码', + icon: 'none' + }); + return; + } + } + if (this.loginType == 'code') { + if (!that.tel) { + uni.showToast({ + title: '请输入手机号', + icon: 'none' + }); + return; + } + if (!that.smsCode) { + uni.showToast({ + title: '请输入手机验证码', + icon: 'none' + }); + return; + } + } + // if (this.pcfvalue == undefined) { + // util.showMyToast('必须勾选《用户服务协议》及《隐私政策》'); + // return; + // } + let post = { + username: this.userName, + password: this.password, + tel: this.phoneNumber, + smsCode: this.smsCode + // openId: '123456789' + } + // const { + // code + // } = await this.$http.request('get', '/api/login/admin') + const resp = await this.$store.dispatch(this.apitype, post); + // uni.hideLoading() + + if (resp.code == 0) { + + // myCache.cache("userToken", res.data.accessToken) + // let userRes = await gzmzApi.getMemberInfo(); + // if (userRes.status) { + // myCache.cache("userInfo", JSON.stringify(userRes.data)) + // } + // setTimeout(() => { + // uni.navigateBack(); + // }, 1000); + + } else { + uni.showToast({ + title: '登录失败!', + icon: 'none' + }); + return; + } + + }, + tc1(id) { + uni.navigateTo({ + url: '/pages/users/xieyi?id=' + id, + }); + } + } + }; +</script> + +<style lang="scss" scoped> + @import './login.scss'; + + .main-container { + margin: 20px 0; + } + + .img-a { + position: absolute; + width: 100%; + top: -150rpx; + right: 0; + } + + .img-b { + position: absolute; + width: 50%; + bottom: 0; + left: -120rpx; + } + + .to-home { + margin-top: 30rpx; + font-size: 30rpx; + color: #5af; + display: flex; + flex-direction: row-reverse; + } + + .t-login { + width: 100%; + margin: 0 auto; + font-size: 28rpx; + color: #000; + } + + .t-login .bg { + width: 100%; + position: relative; + } + + .t-login .login { + width: 650rpx; + margin: 60rpx auto; + margin-top: 0rpx; + font-size: 28rpx; + color: #000; + } + + .t-login button { + font-size: 28rpx; + background: #5677fc; + color: #fff; + height: 90rpx; + line-height: 90rpx; + border-radius: 50rpx; + box-shadow: 0 5px 7px 0 rgba(86, 119, 252, 0.2); + } + + .t-login input { + padding: 0 20rpx 0 120rpx; + height: 90rpx; + line-height: 90rpx; + margin-bottom: 50rpx; + background: #f8f7fc; + border: 1px solid #e9e9e9; + font-size: 28rpx; + border-radius: 50rpx; + } + + .t-login .t-a { + position: relative; + + .get-code { + position: absolute; + right: 40rpx; + top: 25rpx; + } + } + + .t-login .t-a .icon { + width: 40rpx; + height: 40rpx; + position: absolute; + left: 24rpx; + top: 14rpx; + margin-right: 20rpx; + } + + .t-login .t-a .line { + width: 2rpx; + height: 40rpx; + background-color: #dedede; + position: absolute; + top: 28rpx; + left: 98rpx; + } + + .t-login .t-b { + text-align: left; + font-size: 46rpx; + color: #000; + padding: 300rpx 0 30rpx 0; + font-weight: bold; + } + + .t-login .t-b2 { + text-align: left; + font-size: 32rpx; + color: #aaaaaa; + padding: 0rpx 0 120rpx 0; + } + + .t-login .t-c { + position: absolute; + right: 22rpx; + top: 22rpx; + background: #5677fc; + color: #fff; + font-size: 24rpx; + border-radius: 50rpx; + height: 50rpx; + line-height: 50rpx; + padding: 0 25rpx; + z-index: 999; + } + + .t-login .t-d { + text-align: center; + color: #999; + margin: 80rpx 0; + } + + .t-login .t-e { + text-align: center; + width: 250rpx; + margin: 80rpx auto 0; + } + + .t-login .t-g { + float: left; + width: 50%; + } + + .t-login .t-e image { + width: 50rpx; + height: 50rpx; + } + + .t-login .t-f { + text-align: center; + margin: 200rpx 0 0 0; + color: #666; + } + + .t-login .t-f text { + margin-left: 20rpx; + color: #aaaaaa; + font-size: 27rpx; + } + + .t-login .uni-input-placeholder { + color: #000; + } + + .cl { + zoom: 1; + } + + .cl:after { + clear: both; + display: block; + visibility: hidden; + height: 0; + content: '\20'; + } </style> \ No newline at end of file diff --git a/pages/user/supplier-user.vue b/pages/user/supplier-user.vue index c5ced80..ec5c144 100644 --- a/pages/user/supplier-user.vue +++ b/pages/user/supplier-user.vue @@ -1,137 +1,221 @@ -<template> - <view class="main-container user-container"> - <!-- <view> - 我的 - </view> --> - <!-- 背景图 --> - <view class="top-bg img100 relative" :style="{'padding-top':(StatusBar)+'px','line-height':CustomBar+'rpx' }"> - <image class="component-bg" - src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/21/21c95c14e9504be69edff7785e3b44a9bg.png" - mode="scaleToFill" /> - - <view class="title" style="position: relative;"> - 我的 - - </view> - <view class="flex user-info" v-if="currentInfo&&(currentInfo.id)"> - <!-- 头像 --> - <image class="user-icon" v-if="!currentInfo.picture" src="../../static/imgs/home/home-shop-top-icon.png" - mode="aspectFit"></image> - <image class="user-icon" v-if="currentInfo.picture" :src="currentInfo.picture" mode="aspectFit"></image> - - <view class="name"> - <view class="t1"> - {{ (!!currentInfo.supplierDTO?(currentInfo.supplierDTO.name):"") || currentInfo.nickName || currentInfo.loginName || '-'}}<span - v-if="currentInfo.supplierDTO&¤tInfo.supplierDTO.status!=='P'"> - ({{currentInfo.supplierDTO?currentInfo.supplierDTO.statusStr:''}})</span> +<template> + <view class="main-container user-container"> + <!-- <view> + 我的 + </view> --> + <!-- 背景图 --> + <view class="top-bg img100 relative" :style="{'padding-top':(StatusBar)+'px','line-height':CustomBar+'rpx' }"> + <image class="component-bg" + src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/21/21c95c14e9504be69edff7785e3b44a9bg.png" + mode="scaleToFill" /> + + <view class="title" style="position: relative;"> + 我的 + + </view> + <view class="flex user-info" v-if="currentInfo&&(currentInfo.id)"> + <!-- 头像 --> + <image class="user-icon" v-if="!currentInfo.picture" src="../../static/imgs/home/home-shop-top-icon.png" + mode="aspectFit"></image> + <image class="user-icon" v-if="currentInfo.picture" :src="currentInfo.picture" mode="aspectFit"></image> + + <view class="name"> + <view class="t1"> + {{ (!!currentInfo.supplierDTO?(currentInfo.supplierDTO.name):"") || currentInfo.nickName || currentInfo.loginName || '-'}}<span + v-if="currentInfo.supplierDTO&¤tInfo.supplierDTO.status!=='P'"> + ({{currentInfo.supplierDTO?currentInfo.supplierDTO.statusStr:''}})</span> + </view> + <view class="t2">{{currentInfo.tel || '暂无电话'}}</view> + </view> + <image class="icon-setting" src="../../static/common/icon-setting.png" mode="aspectFit"></image> + </view> + + </view> + <!-- #ifdef PUB_CUSTOMER --> + <view class="user-utils m-20" v-if="selftype==='customer'"> + <view class="user-util m-t-12 user-customer-order-infos"> + <view class="title flex"> + <view>我的订单</view> + <view class="m-r-a m-r-0 more">全部订单<uni-icons type="right"></uni-icons></view> + </view> + <view class="flex order-icons-container"> + <view class="order-icons"> + <image src="../../static/images/customer/order/order-type-1.png" class="order-icon dfk"></image> + <view>待付款</view> + </view> + <view class="order-icons"> + <image src="../../static/images/customer/order/order-type-2.png" class="order-icon dfh"></image> + <view>待发货</view> + </view> + <view class="order-icons"> + <image src="../../static/images/customer/order/order-type-3.png" class="order-icon dsh"></image> + <view>待收货</view> + </view> + <view class="order-icons"> + <image src="../../static/images/customer/order/order-type-4.png" class="order-icon dpj"></image> + <view>待评价</view> + </view> + <view class="order-icons"> + <image src="../../static/images/customer/order/order-type-5.png" class="order-icon sh"></image> + <view>售后</view> + </view> + </view> + </view> + </view> + <view class="user-utils m-20" v-if="selftype==='customer'"> + <view class="user-util m-t-12 user-customer-service-infos"> + <view class="title flex"> + <view>我的服务</view> + </view> + <view class="flex service-icons-container"> + <view class="service-icons"> + <image src="../../static/images/customer/service/service-icon-1.png" class="service-icon "> + </image> + <view>关注店铺</view> + </view> + <view class="service-icons"> + <image src="../../static/images/customer/service/service-icon-2.png" class="service-icon "> + </image> + <view>我的收藏</view> </view> - <view class="t2">{{currentInfo.tel || '暂无电话'}}</view> - </view> - <image class="icon-setting" src="../../static/common/icon-setting.png" mode="aspectFit"></image> - </view> - - </view> - <view class="user-utils m-20"> - <view class="user-util m-t-12 flex" @click="goto('/pages/user/user-info/user-info',true)"> - <view class="title">个人信息</view> - <view class="right-icon"> - <uni-icons type="right"></uni-icons> - </view> - </view> - <view class="user-util m-t-12 flex" v-if="selftype==='supplier'" - @click="goto('/sub_pages/supplier/supplier-info/supplier-info',true)"> - <view class="title">店铺信息</view> - <view class="right-icon"> - <uni-icons type="right"></uni-icons> - </view> - </view> - <view class="user-util m-t-12 flex" @click="goto('/pages/user/user-pwd/user-pwd',true)"> - <view class="title">修改密码</view> - <view class="right-icon"> - <uni-icons type="right"></uni-icons> - </view> - </view> - <view class="user-util m-t-12 " @click="callTel" v-if="selftype==='supplier'"> - <view class="title">我的客服</view> - <view class="flex"> - <image class="icon-clock m-r-6 m-t-2" src="../../static/common/icon-call.png"></image> - <view class="name"> - 客服电话 : <span class="topic-gray">{{tel}}</span> + <view class="service-icons"> + <image src="../../static/images/customer/service/service-icon-3.png" class="service-icon "> + </image> + <view>地址管理</view> </view> - </view> - </view> - <!-- <view class="user-util m-t-12 " @click="callTel" v-if="selftype==='partner'"> - <view class="name"> - 账号: <span class="topic-gray">{{tel}}</span> - </view> - <view class="name"> - 密码: <span class="topic-gray">{{tel}}</span> - </view> - </view> --> - </view> + <view class="service-icons"> + <image src="../../static/images/customer/service/service-icon-4.png" class="service-icon "> + </image> + <view>售后规则</view> + </view> + <view class="service-icons"> + <image src="../../static/images/customer/service/service-icon-5.png" class="t2 service-icon "> + </image> + <view>新手帮助</view> + </view> + <view class="service-icons"> + <image src="../../static/images/customer/service/service-icon-6.png" class="t2 service-icon "> + </image> + <view>运费详查</view> + </view> + </view> + </view> + </view> + <!-- #endif --> + <view class="user-utils m-20"> + <view class="user-util m-t-12 flex" @click="goto('/pages/user/user-info/user-info',true)"> + <view class="title">个人信息</view> + <view class="right-icon"> + <uni-icons type="right"></uni-icons> + </view> + </view> + <view class="user-util m-t-12 flex" v-if="selftype==='supplier'" + @click="goto('/sub_pages/supplier/supplier-info/supplier-info',true)"> + <view class="title">店铺信息</view> + <view class="right-icon"> + <uni-icons type="right"></uni-icons> + </view> + </view> + <view class="user-util m-t-12 flex" @click="goto('/pages/user/user-pwd/user-pwd',true)"> + <view class="title">修改密码</view> + <view class="right-icon"> + <uni-icons type="right"></uni-icons> + </view> + </view> + <view class="user-util m-t-12 " @click="callTel" v-if="selftype==='supplier'||selftype==='customer'"> + <view class="title">我的客服</view> + <view class="flex"> + <image class="icon-clock m-r-6 m-t-2" src="../../static/common/icon-call.png"></image> + <view class="name"> + 客服电话 : <span class="topic-gray">{{tel}}</span> + </view> + </view> + </view> + <!-- <view class="user-util m-t-12 " @click="callTel" v-if="selftype==='partner'"> + <view class="name"> + 账号: <span class="topic-gray">{{tel}}</span> + </view> + <view class="name"> + 密码: <span class="topic-gray">{{tel}}</span> + </view> + </view> --> + </view> + + - - <view class="button-login-out topic-gray" @click="clearlogout"> - 退出登录 - </view> - + <!-- #ifdef PUB_CUSTOMER --> <view style="padding-bottom:200rpx"> </view> - <supplier-footer flg="1"></supplier-footer> - - - </view> -</template> - -<script> - export default { - data() { - return { - CustomBar: uni.getStorageSync('CustomBar'), - StatusBar: uni.getStorageSync('StatusBar'), - tcode: '', - inviterName: '', - // StatusBar:0, - tel: '1386785374' - }; - }, - - onLoad(options) { - const url = options.q ? decodeURIComponent(options.q) : ''; - const urlcode = options.url && decodeURIComponent(options.url) || '' - }, - created() { - - }, - async onPullDownRefresh() { - await this.$store.dispatch('getCurrentInfo') - uni.stopPullDownRefresh() - }, - methods: { - - async clearlogout() { - await this.$message.confirm('是否退出登录?') - this.$store.commit('updateLogin', false) - - uni.reLaunch({ - url: '/pages/login/supplier-login' - }) - }, - async callTel() { - await this.$message.confirm('是否拨打客服电话') - uni.makePhoneCall({ - phoneNumber: this.tel //仅为示例 - }); - } - - - } - } -</script> - -<style lang="scss" scoped> - @import "./user.scss"; -</style> - -<style lang="scss" scoped> + <common-footer flg="4"></common-footer> + <!-- #endif --> + <!-- #ifndef PUB_CUSTOMER --> + <view class="button-login-out topic-gray" @click="clearlogout"> + 退出登录 + </view> + + <view style="padding-bottom:200rpx"> + </view> + <common-footer flg="1"></common-footer> + <!-- #endif --> + + + + </view> +</template> + +<script> + export default { + data() { + return { + CustomBar: uni.getStorageSync('CustomBar'), + StatusBar: uni.getStorageSync('StatusBar'), + tcode: '', + inviterName: '', + // StatusBar:0, + tel: '1386785374' + }; + }, + + onLoad(options) { + const url = options.q ? decodeURIComponent(options.q) : ''; + const urlcode = options.url && decodeURIComponent(options.url) || '' + }, + created() { + + }, + async onPullDownRefresh() { + await this.$store.dispatch('getCurrentInfo') + uni.stopPullDownRefresh() + }, + methods: { + + async clearlogout() { + await this.$message.confirm('是否退出登录?') + this.$store.commit('updateLogin', false) + + uni.reLaunch({ + url: '/pages/login/supplier-login' + }) + }, + async callTel() { + await this.$message.confirm('是否拨打客服电话') + uni.makePhoneCall({ + phoneNumber: this.tel //仅为示例 + }); + } + + + } + } +</script> + +<style lang="scss" scoped> + @import "./user.scss"; +</style> +<!-- #ifdef PUB_CUSTOMER --> +<style lang="scss" scoped> + @import "./user-customer.scss"; +</style> +<!-- #endif --> +<style lang="scss" scoped> </style> \ No newline at end of file diff --git a/pages/user/user-customer.scss b/pages/user/user-customer.scss new file mode 100644 index 0000000..4a7ba2a --- /dev/null +++ b/pages/user/user-customer.scss @@ -0,0 +1,68 @@ +.user-customer-order-infos{ + .more{ + font-weight: 400; + font-size: 24rpx; + color: #666666; + line-height: 34rpx; + } + .order-icons-container{ + .order-icons{ + margin: 0 auto; + margin-top: 26rpx; + text-align: center; + width: fit-content; + font-weight: 400; + font-size: 24rpx; + color: #000000; + line-height: 34rpx; + .order-icon{ + flex:1; + margin: 0 auto; + width: 52rpx; + height: 52rpx; + } + .order-icon.dsh{ + width: 48rpx; + height: 46rpx; + margin-top: 3rpx; + } + .order-icon.sh{ + width: 48rpx; + height: 46rpx; + margin-top: 3rpx; + } + } + .order-icons:last-child{ + margin-right: 0rpx; + } + .order-icons:first-child{ + margin-left: 0rpx; + } + } + +} + + +.user-customer-service-infos{ + .service-icons-container{ + flex-wrap: wrap; + .service-icons{ + min-width: 25%; + max-width: 33%; + flex: 1; + margin: 0 auto; + margin-top: 24rpx; + text-align: center; + .service-icons{ + height: 52rpx; + width: 52rpx; + } + .service-icons.t2{ + height: 52rpx; + width: 56rpx; + } + } + + } +} + diff --git a/static/images/customer/footer/footer-home-0.png b/static/images/customer/footer/footer-home-0.png new file mode 100644 index 0000000..3a85568 --- /dev/null +++ b/static/images/customer/footer/footer-home-0.png Binary files differ diff --git a/static/images/customer/footer/footer-home-1.png b/static/images/customer/footer/footer-home-1.png new file mode 100644 index 0000000..2dad664 --- /dev/null +++ b/static/images/customer/footer/footer-home-1.png Binary files differ diff --git a/static/images/customer/footer/footer-self-0.png b/static/images/customer/footer/footer-self-0.png new file mode 100644 index 0000000..1b94191 --- /dev/null +++ b/static/images/customer/footer/footer-self-0.png Binary files differ diff --git a/static/images/customer/footer/footer-self-1.png b/static/images/customer/footer/footer-self-1.png new file mode 100644 index 0000000..b7947c0 --- /dev/null +++ b/static/images/customer/footer/footer-self-1.png Binary files differ diff --git a/static/images/customer/footer/footer-shopping-0.png b/static/images/customer/footer/footer-shopping-0.png new file mode 100644 index 0000000..f24f1b0 --- /dev/null +++ b/static/images/customer/footer/footer-shopping-0.png Binary files differ diff --git a/static/images/customer/footer/footer-shopping-1.png b/static/images/customer/footer/footer-shopping-1.png new file mode 100644 index 0000000..49b94d0 --- /dev/null +++ b/static/images/customer/footer/footer-shopping-1.png Binary files differ diff --git a/static/images/customer/footer/footer-trade-0.png b/static/images/customer/footer/footer-trade-0.png new file mode 100644 index 0000000..5cda1da --- /dev/null +++ b/static/images/customer/footer/footer-trade-0.png Binary files differ diff --git a/static/images/customer/footer/footer-trade-1.png b/static/images/customer/footer/footer-trade-1.png new file mode 100644 index 0000000..3157669 --- /dev/null +++ b/static/images/customer/footer/footer-trade-1.png Binary files differ diff --git a/static/images/customer/order/order-type-1.png b/static/images/customer/order/order-type-1.png new file mode 100644 index 0000000..256553a --- /dev/null +++ b/static/images/customer/order/order-type-1.png Binary files differ diff --git a/static/images/customer/order/order-type-2.png b/static/images/customer/order/order-type-2.png new file mode 100644 index 0000000..1844427 --- /dev/null +++ b/static/images/customer/order/order-type-2.png Binary files differ diff --git a/static/images/customer/order/order-type-3.png b/static/images/customer/order/order-type-3.png new file mode 100644 index 0000000..8a0b91a --- /dev/null +++ b/static/images/customer/order/order-type-3.png Binary files differ diff --git a/static/images/customer/order/order-type-4.png b/static/images/customer/order/order-type-4.png new file mode 100644 index 0000000..cba2161 --- /dev/null +++ b/static/images/customer/order/order-type-4.png Binary files differ diff --git a/static/images/customer/order/order-type-5.png b/static/images/customer/order/order-type-5.png new file mode 100644 index 0000000..63c0c5d --- /dev/null +++ b/static/images/customer/order/order-type-5.png Binary files differ diff --git a/static/images/customer/service/service-icon-1.png b/static/images/customer/service/service-icon-1.png new file mode 100644 index 0000000..873f96a --- /dev/null +++ b/static/images/customer/service/service-icon-1.png Binary files differ diff --git a/static/images/customer/service/service-icon-2.png b/static/images/customer/service/service-icon-2.png new file mode 100644 index 0000000..3ae30cc --- /dev/null +++ b/static/images/customer/service/service-icon-2.png Binary files differ diff --git a/static/images/customer/service/service-icon-3.png b/static/images/customer/service/service-icon-3.png new file mode 100644 index 0000000..a20c87c --- /dev/null +++ b/static/images/customer/service/service-icon-3.png Binary files differ diff --git a/static/images/customer/service/service-icon-4.png b/static/images/customer/service/service-icon-4.png new file mode 100644 index 0000000..9559dd5 --- /dev/null +++ b/static/images/customer/service/service-icon-4.png Binary files differ diff --git a/static/images/customer/service/service-icon-5.png b/static/images/customer/service/service-icon-5.png new file mode 100644 index 0000000..3f7ddcf --- /dev/null +++ b/static/images/customer/service/service-icon-5.png Binary files differ diff --git a/static/images/customer/service/service-icon-6.png b/static/images/customer/service/service-icon-6.png new file mode 100644 index 0000000..91f7d84 --- /dev/null +++ b/static/images/customer/service/service-icon-6.png Binary files differ diff --git a/store/index.js b/store/index.js index e2d564a..edf7a1b 100644 --- a/store/index.js +++ b/store/index.js @@ -392,7 +392,43 @@ return resp } - } + }, + + loginCustomer:async function({ + commit, + dispatch, + state + }, data) { + { + const resp = await http.request('post', '/api/login/customer' + (data + .phoneNumber ? '/phone' : ''), { + data: { + username: data.username, + password: data.password, + tel: data.phoneNumber || data.tel, + smsCode: data.smsCode || '' + }, + params: { + clientType: data.clientType || 'app' + } + }) + console.log('resp', resp) + if (resp && resp.code == 0) { + storage.setItem('token', resp.data.access_token) + commit("updateLogin", true) + await dispatch('getCurrentInfo') + uni.reLaunch({ + url: '/pages/home/home' + }) + } else { + + + } + return resp + } + + }, + } }) diff --git a/sub_pages/customer/shopping/shopping.vue b/sub_pages/customer/shopping/shopping.vue new file mode 100644 index 0000000..8183fd0 --- /dev/null +++ b/sub_pages/customer/shopping/shopping.vue @@ -0,0 +1,22 @@ +<template> + <view> + + </view> +</template> + +<script> + export default { + data() { + return { + + } + }, + methods: { + + } + } +</script> + +<style> + +</style> diff --git a/sub_pages/customer/trade/trade.vue b/sub_pages/customer/trade/trade.vue new file mode 100644 index 0000000..8183fd0 --- /dev/null +++ b/sub_pages/customer/trade/trade.vue @@ -0,0 +1,22 @@ +<template> + <view> + + </view> +</template> + +<script> + export default { + data() { + return { + + } + }, + methods: { + + } + } +</script> + +<style> + +</style> diff --git a/sub_pages/partner/order-manage/order-manage.vue b/sub_pages/partner/order-manage/order-manage.vue index 6209cc1..19c5ba1 100644 --- a/sub_pages/partner/order-manage/order-manage.vue +++ b/sub_pages/partner/order-manage/order-manage.vue @@ -1,7 +1,7 @@ <template> <view class="list-container order-settlement supplier"> <view class="component-tab-container m-t-12"> - <view class="tab-item" :class="[tabIndex==0?'cur':'']" @click="changeIndex(0)">带配送</view> + <view class="tab-item" :class="[tabIndex==0?'cur':'']" @click="changeIndex(0)">待配送</view> <view class="tab-item" :class="[tabIndex==1?'cur':'']" @click="changeIndex(1)">已配送</view> </view> -- Gitblit v1.9.3