Browse Source

1111111

master
guoxing 1 year ago
parent
commit
8851cbf7dd
  1. 6
      common/request.api.js
  2. 77
      pages.json
  3. 99
      pages/bind/bind_pickUpCard2.vue
  4. 2
      pages/good/goodsDetail.vue
  5. 126
      pages/home/cloudCard2.vue
  6. 143
      pages/home/myCellar.vue
  7. 135
      pages/home/myHome.vue
  8. 8
      pages/records/reservationRecords.vue
  9. 8
      pages/records/reservationRecords2.vue
  10. 249
      pages/records/reservationRecords3.vue
  11. 257
      pages/records/reservationRecords4.vue
  12. BIN
      static/img/autumn.png
  13. BIN
      static/img/autumn_cur.png
  14. BIN
      static/img/spring.png
  15. BIN
      static/img/spring_cur.png
  16. BIN
      static/img/summer.png
  17. BIN
      static/img/summer_cur.png
  18. BIN
      static/img/winter.png
  19. BIN
      static/img/winter_cur.png
  20. BIN
      static/notice.png
  21. BIN
      static/phone-1.png
  22. BIN
      static/phone-2.png
  23. BIN
      static/shouqi.png
  24. BIN
      static/time.png
  25. BIN
      static/userService.png
  26. BIN
      static/zhankai.png

6
common/request.api.js

@ -85,7 +85,7 @@ export default {
// 获取默认提菜信息
getStoreBySid: (params = {}) => request.get("/customerstore/getStoreBySid/" + params, params),
// 推荐有礼
myRecommend: (params = {}) => request.get("/appletgiftbag/recommendRecord/" + params, params),
myRecommend: (params = {}) => request.get("/newcomerrecorecord/recordList/" + params, params),
// 基本信息修改头像
headerUpload: config.baseUrl + '/lpkcustomer/modifyHeadImage',
// 修改昵称
@ -115,6 +115,8 @@ export default {
// 2024-1-15 新需求
// 获取轮播图
bannerList: (params = {}) => request.get("/wxapi/banner/list", params),
// 获取分类和品牌
getGoodsTypeAndBrand: (params = {}) => request.get("/lpkgoods/getGoodsTypeAndBrand", {}, {}, {}, true),
// 获取补充菜窖 商品分类列表
@ -133,6 +135,8 @@ export default {
createVegeOrder: (params = {}) => request.post("/empsreservoorder/createVegeOrder", params),
// 我的菜窖 通知公告
getNotices: (params = {}) => request.get("/appletnotice/getNotice", params),
// 我的菜窖 新人礼包列表
newUserQuota: (params = {}) => request.post("/appletgiftbag/newUserQuota", params),
// 结算新人礼包 支付

77
pages.json

@ -1,5 +1,7 @@
{
"pages": [ //pageshttps://uniapp.dcloud.io/collocation/pages
{
"path": "pages/login/login",
"style": {
@ -240,6 +242,7 @@
"backgroundColor": "#F8F8F8"
}
},
{
"path": "uni_modules/common-pay/pages/success/success",
"style": {
@ -247,6 +250,7 @@
"backgroundColor": "#F8F8F8"
}
},
{
"path": "pages/home/myHome",
"style": {
@ -293,62 +297,73 @@
}
},
{
"path" : "pages/records/reservationRecords",
"style" :
{
"navigationBarTitleText" : "预约记录",
"enablePullDownRefresh" : false
"path": "pages/records/reservationRecords",
"style": {
"navigationBarTitleText": "预约记录",
"enablePullDownRefresh": false
}
},
{
"path" : "pages/records/transferRecords",
"style" :
{
"navigationBarTitleText" : "转赠记录",
"enablePullDownRefresh" : false
"path": "pages/records/transferRecords",
"style": {
"navigationBarTitleText": "转赠记录",
"enablePullDownRefresh": false
}
},
{
"path" : "pages/records/transferRecords2",
"style" :
{
"navigationBarTitleText" : "转赠记录",
"enablePullDownRefresh" : false
"path": "pages/records/transferRecords2",
"style": {
"navigationBarTitleText": "转赠记录",
"enablePullDownRefresh": false
}
},
{
"path" : "pages/records/reservationRecords2",
"style" :
{
"navigationBarTitleText" : "预约记录",
"enablePullDownRefresh" : false
"path": "pages/records/reservationRecords2",
"style": {
"navigationBarTitleText": "预约记录",
"enablePullDownRefresh": false
}
},
{
"path" : "pages/bind/bind_cloudCard",
"path": "pages/records/reservationRecords3",
"style": {
"navigationBarTitleText": "预约记录",
"enablePullDownRefresh": false
}
},
{
"path": "pages/records/reservationRecords4",
"style": {
"navigationBarTitleText": "预约记录",
"enablePullDownRefresh": false
}
},
{
"path": "pages/bind/bind_cloudCard",
"style": {
"navigationStyle": "custom"
}
},
{
"path" : "pages/records/orderRecords",
"style" :
{
"navigationBarTitleText" : "我的订单",
"path": "pages/records/orderRecords",
"style": {
"navigationBarTitleText": "我的订单",
"disableScroll": true
}
},
{
"path" : "pages/records/orderDetail",
"style" :
{
"navigationBarTitleText" : "订单详情"
"path": "pages/records/orderDetail",
"style": {
"navigationBarTitleText": "订单详情"
}
},
{
"path" : "pages/good/transfer",
"path": "pages/good/transfer",
"style": {
"navigationBarTitleText" : "转赠亲友",
"navigationBarTitleText": "转赠亲友",
"disableScroll": true
}
}

99
pages/bind/bind_pickUpCard2.vue

@ -95,50 +95,50 @@
})
},
onLoad(options) {
let _this = this;
wx.login({
success: function(res) {
uni.request({
//
url: getApp().globalData.wxSilentLoginURL + "?wxCode=" + res.code,
method: "GET",
header: {
'content-type': "application/x-www-form-urlencoded"
},
data: {
"wxCode": res.code
},
success: res => {
if (res.statusCode == 200) {
if (!res.data.success) {
if (res.data.code == "110") {
//
uni.reLaunch({
url: '/pages/index/BindPhone?openid=' +
res.data.data.wxMpOpenid
})
} else {
// _this.status = 'more'
}
} else {
//
getApp().globalData.sid = res.data.data.sid
_this.page.customerSid = getApp().globalData.sid
console.log("用户sid", getApp().globalData.sid)
}
} else {
// _this.status = 'more'
}
},
fail: (err) => {
// _this.status = 'more'
}
});
},
fail: function(res) {
// _this.status = 'more'
}
});
// let _this = this;
// wx.login({
// success: function(res) {
// uni.request({
// //
// url: getApp().globalData.wxSilentLoginURL + "?wxCode=" + res.code,
// method: "GET",
// header: {
// 'content-type': "application/x-www-form-urlencoded"
// },
// data: {
// "wxCode": res.code
// },
// success: res => {
// if (res.statusCode == 200) {
// if (!res.data.success) {
// if (res.data.code == "110") {
// //
// uni.reLaunch({
// url: '/pages/index/BindPhone?openid=' +
// res.data.data.wxMpOpenid
// })
// } else {
// // _this.status = 'more'
// }
// } else {
// //
// getApp().globalData.sid = res.data.data.sid
// _this.page.customerSid = getApp().globalData.sid
// console.log("sid", getApp().globalData.sid)
// }
// } else {
// // _this.status = 'more'
// }
// },
// fail: (err) => {
// // _this.status = 'more'
// }
// });
// },
// fail: function(res) {
// // _this.status = 'more'
// }
// });
if (options) {
console.log("options", options)
@ -174,6 +174,9 @@
});
},
save() {
this.page.customerSid = getApp().globalData.sid
if (this.stringIsEmpty(this.page.code) || this.page.code.length != 20) {
this.shortToast('请输入20位提货编码')
return
@ -183,13 +186,13 @@
return
}
let _this = this
console.log("+++++++++++",this.page);
console.log("+++++++++++", this.page);
_this.$api.bindAllCard(this.page).then((resp) => {
// bus.$emit('order', "");
uni.switchTab({
url: '/pages/home/myCellar'
url: '/pages/home/myCellar'
})
}).catch(e => {

2
pages/good/goodsDetail.vue

@ -2,7 +2,7 @@
<loading-state ref="pageView" @request="request">
<view>
<image :src="data.picUrl" style="width: 100vw;height: 80vw;"></image>
<image :src="data.picUrl" style="width: 100vw;height: 80vw;" mode="aspectFill"></image>
<!-- <view
style="margin-top: 9px;margin-left: 9px;margin-right: 9px;border-top-left-radius: 13px;border-top-right-radius: 13px;display: flex;flex-direction: column;align-items: center;background-color: #FFFFFF;padding-top: 11px;">
<image src="../../static/goods_price_bg.png"

126
pages/home/cloudCard2.vue

@ -3,9 +3,24 @@
<view
style="display: flex;flex-direction: column;height: 100vh;background: -webkit-linear-gradient(left,#FEA65F,#FB9440);">
<view class="top" style="position: fixed;z-index: 0;" />
<view class="top" style="position: fixed;z-index: 2;">
<loading-state ref="pageView" @request="request" style="z-index: 2;">
<swiper class="swiper" ref="swiper" :indicator-dots="true" :autoplay="true" :interval="3000"
:duration="1200" :circular='true'>
<swiper-item v-for="(item,index) in imgList" style="" @click="swiperClick(item)">
<image :src="item.bannerUrl" style="width: 100%; " mode="scaleToFill">
</image>
</swiper-item>
</swiper>
</view>
<loading-state ref="pageView" @request="request" style="z-index: 0;">
<!-- 总高度 - 底部导航栏高度 60px -->
<view style="height: calc(100vh - 60px);box-sizing: border-box;display: flex;flex-direction: column;">
@ -19,7 +34,7 @@
<view class="center" style="">
<view
style="width: 24%;display: flex;flex-direction: column;overflow-y: auto;padding-top: 10px;">
style="width: 24%;display: flex;flex-direction: column;overflow-y: auto;padding-top: 20px;">
<view style="width: 100%;display: flex;flex-direction: column; ">
<view v-for="(item,index) in data.typeVos" @click="labelClick(index,item)"
@ -33,7 +48,8 @@
<view style="width: 77%;background-color: #fff;overflow-y: auto;">
<view style="z-index: 1;background: #FFFFFF;position: sticky;top: 0;padding: 10px;">
<view
style="z-index: 1;background: #FFFFFF;position: sticky;top: 0;padding: 10px; margin-top: 10px;">
<view style="display: flex;flex-direction: row;overflow-x: auto;">
@ -115,8 +131,7 @@
mode="aspectFill" style="width: 40vw;height: 40vw; "></image>
<view
style="display: flex;flex-direction: row;align-items: center;margin-top: -15px;">
<text
style="font-size: 16px; color: #999;">菜窖还在补充中~</text>
<text style="font-size: 16px; color: #999;">菜窖还在补充中~</text>
</view>
</view>
@ -170,7 +185,7 @@
<view style="display: flex;flex-direction: column;flex: 1;">
<text
style="font-size: 15px;color: #FF5006;margin-left: 5px;height: 20px;line-height: 20px;margin-top: 5px;font-weight: bold;">{{page.price}}</text>
<text
<text v-if="page.remarks!=''"
style="font-size: 10px;color: #666;margin-left: 5px; height: 10px;line-height: 10px;margin-bottom: 5px;">{{page.remarks}}</text>
</view>
</view>
@ -204,6 +219,19 @@
:content="data.brandVos[selectIndex2].qdxy"></uni-popup-dialog>
</uni-popup>
<!-- 弹窗蒙版 -->
<view class="model" catchtouchmove='preventTouchMove' v-if='showModal'></view>
<view class="modalDlg" catchtouchmove='preventTouchMove' v-if='showModal'>
<view style="display: flex;flex-direction: column;justify-content: center;align-items: center;">
<image :src="modalUrl" style="width:80vw; height: 80vh;" mode="scaleToFill"></image>
<image src="../../static/close.png" mode="aspectFill" style="width: 28px;height: 28px;margin-top: 10px;"
@click="colseDialog()"></image>
</view>
</view>
</view>
</template>
@ -212,6 +240,9 @@
export default {
data() {
return {
showModal: false,
modalUrl: "https://supervise.yxtsoft.com/lpk/image/banner.png",
imgList: [],
notData: false,
dialogContent: "这里是协议内容,这里是协议内容,这里是协议内容,这里是协议内容,这里是协议内容,这里是协议内容,这里是协议内容,这里是协议内容这里是协议内容,这里是协议内容",
confirmText: "我知道了(5s)",
@ -254,7 +285,8 @@
initReduce: "0",
initWeight: "0",
shareSid: "",
baseDataSuccess: false
baseDataSuccess: false,
}
},
onShow() {
@ -283,9 +315,28 @@
this.request()
this.shareGift()
this.getBannerList()
},
methods: {
getBannerList() {
let _this = this
_this.$api.bannerList().then((resp) => {
_this.imgList = resp
console.log("======", resp);
}).catch(e => {})
},
swiperClick(item) {
console.log("swiperClick======", item);
this.modalUrl = item.contentUrl
if (item.contentUrl != '') {
this.showModal = true
}
},
colseDialog() {
this.showModal = false
},
shareGift() {
@ -554,7 +605,8 @@
gotoCart() {
uni.navigateTo({
url: '/pages/good/shoppCart?affiliation=' + this.data.brandVos[this.selectIndex2].id +
"&weight=" + this.data.brandVos[this.selectIndex2].qssl+"&qdxy=" + this.data.brandVos[this.selectIndex2].qdxy
"&weight=" + this.data.brandVos[this.selectIndex2].qssl + "&qdxy=" + this.data.brandVos[
this.selectIndex2].qdxy
})
},
showPop2() {
@ -677,7 +729,36 @@
border: 0;
}
/* 弹窗样式 */
.model {
position: absolute;
width: 100%;
height: 100%;
background: #000;
z-index: 100000;
opacity: 0.7;
top: 0;
left: 0;
}
.modalDlg {
/* 设置超出滚动 */
overflow: auto;
width: 100%;
position: fixed;
height: 100%;
top: 0;
left: 0;
z-index: 100000;
display: flex;
justify-content: center;
align-items: center;
}
.top {
width: 100vw;
/* height: 126.66vw; */
height: 50vw;
@ -688,6 +769,33 @@
background-size: 100% 100%;
}
.swiper {
width: 100vw;
height: 100%;
}
.wx-swiper-dots {
position: relative;
left: 50%;
top: 90%;
}
.swiper /deep/ .wx-swiper-dot {
height: 12rpx;
width: 12rpx;
border-radius: 8rpx;
background: #98978C;
margin-right: 0;
}
.swiper /deep/ .wx-swiper-dot-active {
width: 44rpx;
height: 12rpx;
background: #FF9900;
border-radius: 8rpx;
}
.center {
display: flex;
flex-direction: row;

143
pages/home/myCellar.vue

@ -12,9 +12,22 @@
<loading-state ref="pageView" @request="request">
<view style="background: #fff; height: calc(100vh - 45px - 50vw);width: 100%;
<view style="background: #fff; height: calc(100vh - 45px - 65vw);width: 100%;
border-radius: 15px;display: flex;flex-direction: column; box-sizing: border-box;margin-top: -15px;">
<swiper v-if="notices.length>0" class='swiper-box' :autoplay='true' interval='5000' :vertical='true'
:circular='true'>
<swiper-item v-for="(item,index) in notices" @click="noticeClick(item)">
<!-- {{index + 1}}啊实打实阿斯加德阿斯asdas什么大塑料袋阿萨德的 -->
<view style="display: flex;flex-direction: row;align-items: center;box-sizing: border-box;">
<image src="../../static/notice.png" style="width: 18px;height: 18px;"></image>
<text
style="font-size: 13px; text-overflow: ellipsis;white-space: nowrap;overflow: hidden;color: #E26040; flex: 1;margin-left: 10px;margin-right: 10px;">{{index + 1}}{{item.title}}</text>
<image src="../../static/more.png" style="width: 15px;height:15px;"></image>
</view>
</swiper-item>
</swiper>
<view class="center">
<view style="width: 22%;display: flex;flex-direction: column;overflow-y: auto;padding-top: 10px;">
@ -349,6 +362,35 @@
</view>
<!-- 通知弹框 -->
<view class="model" catchtouchmove='preventTouchMove' v-if='showModal4' @click="colseDialog4()"></view>
<view class="modalDlg4" catchtouchmove='preventTouchMove' v-if='showModal4'>
<view style="display: flex;flex-direction: column;background: #fff; width: 80%; border-radius: 20px;
padding: 20px;">
<text
style="color: #333; font-size: 20px;font-weight: 800;font-family: sans-serif;width: 100%;text-align: center;">通知公告</text>
<view style="margin-top: 20px;" v-show="!noticeInfo.content==''">
<rich-text :nodes="noticeInfo.content | formatRichText" class="ql-editor"></rich-text>
</view>
<text style="color: #666; font-size: 13px; width: 95%;text-align:right;margin-top: 20px;">{{noticeInfo.releaseTime}}</text>
<view
style="flex-shrink: 0;display: flex;flex-direction: row;align-items: center;justify-content: center;margin-top: 20px;">
<text style="background: #FF9900;color: #fff;text-align: center;border-radius: 20px;
padding:8px 25px ;" @click="colseDialog4()">我知道了</text>
</view>
</view>
</view>
</view>
</template>
@ -357,12 +399,15 @@
export default {
data() {
return {
notices: [],
noticeInfo: {},
butdisabled: true,
transferNotData: true,
notData: false,
showModal: false,
showModal2: false,
showModal3: false,
showModal4: false,
scrollHeight: "",
scrollLeftTop: "0",
scrollRightTop: "0",
@ -428,6 +473,7 @@
}
this.request()
this.getNotice()
this.page.count = 0
},
onLoad(options) {
@ -445,15 +491,64 @@
this.shareGift()
},
filters: {
/**
* 处理富文本里的图片宽度自适应
* 1.去掉img标签里的stylewidthheight属性
* 2.img标签添加style属性max-width:100%;height:auto
* 3.修改所有style里的width属性为max-width:100%
* 4.去掉<br/>标签
* @param html
* @returns {void|string|*}
*/
formatRichText(html) {
//
if (html) {
let newContent = html.replace(/<img[^>]*>/gi, function(match, capture) {
match = match.replace(/style="[^"]+"/gi, '').replace(/style='[^']+'/gi, '');
match = match.replace(/width="[^"]+"/gi, '').replace(/width='[^']+'/gi, '');
match = match.replace(/height="[^"]+"/gi, '').replace(/height='[^']+'/gi, '');
return match;
});
newContent = newContent.replace(/style="[^"]+"/gi, function(match, capture) {
match = match.replace(/width:[^;]+;/gi, 'max-width:100%;').replace(/width:[^;]+;/gi,
'max-width:100%;');
return match;
});
newContent = newContent.replace(/<br[^>]*\/>/gi, '');
newContent = newContent.replace(/\<img/gi,
'<img style="max-width:100%;height:auto;display:block;margin:10rpx auto;"');
return newContent;
} else {
return '暂无商品详情';
}
},
},
methods: {
getNotice() {
let _this = this
this.$api.getNotices().then((resp) => {
console.log("getNotice>>>>", resp);
_this.notices = resp
}).catch(e => {})
},
noticeClick(item) {
console.log("noticeClick>>>>", item);
this.noticeInfo = item
this.showModal4 = true
},
onKeyInput(event) {
this.transferInfo.remarks = event.target.value
},
shareGift() {
console.log("shareGift>>>>", this.shareSid);
console.log("shareGift>>>>", this.orderSid);
// isNewUser==1
if (this.shareSid != '' && getApp().globalData.isNewUser == '1') {
if (this.stringIsNotEmpty(this.orderSid) && getApp().globalData.isNewUser == '1') {
var params = {
customerSid: getApp().globalData.sid,
@ -462,7 +557,6 @@
this.$api.recommendedAssistance(params).then((resp) => {
}).catch(e => {})
}
@ -665,6 +759,9 @@
colseDialog3() {
this.showModal3 = false
},
colseDialog4() {
this.showModal4 = false
},
onShareAppMessage: function(res) {
let _this = this
@ -740,6 +837,29 @@
</script>
<style>
.swiper-box {
margin-top: -55px;
height: 50rpx;
line-height: 50rpx;
padding: 0 20rpx;
background-color: #FDE0C6;
overflow: hidden;
opacity: 0.8;
border-radius: 5px;
margin-left: 10px;
margin-right: 10px;
margin-bottom: 5px;
}
.swiper-box .item {
white-space: nowrap;
text-overflow: ellipsis;
color: #E26040;
font-size: 10px;
}
button {
background: #FF9900;
color: #fff;
@ -768,7 +888,7 @@
.top {
width: 100vw;
/* height: 126.66vw; */
height: 50vw;
height: 65vw;
/* 加载背景图 */
background-image: url(https://supervise.yxtsoft.com/lpk/image/clound_bj1.png);
/* background-image: url(../../static/clound_bj1.png); */
@ -933,4 +1053,19 @@
flex-direction: column;
}
.modalDlg4 {
/* 设置超出滚动 */
overflow: auto;
position: fixed;
z-index: 100000;
display: flex;
width: 100%;
height: 100%;
top: 0;
left: 0;
flex-direction: column;
justify-content: center;
align-items: center;
}
</style>

135
pages/home/myHome.vue

@ -17,8 +17,17 @@
<image src="../../static/more_white.png"
style="width: 30px;height: 30px;margin-right: 10px;flex-shrink: 0;" :rotate="0"></image>
</view>
<view style="display: flex;flex-direction: row;align-items: center; width: 100%;
position: absolute;bottom: 8vw; " >
<view style="flex: 1;"></view>
<view style="margin-right: 20px;display: flex;flex-direction: row;align-items: center;" @click="makePhoneCall()">
<image src="../../static/userService.png" style="width: 25px;height: 25px;margin-right: 5px;"></image>
<text style="color: #fff;font-size: 16px;">客服电话</text>
</view>
</view>
</view>
<view class="view">
<view class="view" style="z-index: 2;">
<!-- 滚动视图 -->
<scroll-view scroll-y="true" class="scroll-view" bindscrolltoupper="upper" bindscrolltolower="lower"
bindscroll="scroll">
@ -123,26 +132,30 @@
</view>
<text style="font-size: 12px;color: #4B4B4B; margin-top: 8px;">邀请新朋友后您将获得蔬菜品鉴礼包</text>
<text style="font-size: 12px;color: #4B4B4B; margin-top: 8px;">{{recommend.remarks}}</text>
<!-- <view style="display: flex;flex-direction: row;align-items: center; "> -->
<view style="display: flex;flex-direction: row;align-items: center; margin-top: 10px;"
v-if="recommend.vos.length>0">
<!-- <image :src="recommend.iconUrl" style="width: 35%;height: 150px; border-radius: 10px;"
<!-- <image :src="recommend.iconUrl" style="width: 30%;height: 100px; border-radius: 10px;"
mode="aspectFill">
</image> -->
<!-- <view style="display: flex;flex-direction: column; margin-left: 20px; ">
<view v-for="(child,pos) in recommend.recordList" :key="pos"
style="display: flex;flex-direction: column;">
<view
style="display: flex;flex-direction: column; margin-left: 20px;width: 90%;box-sizing: border-box;">
<view v-for="(child,pos) in recommend.vos" :key="pos" @click="recommendClick(child)"
style="display: flex;flex-direction: column;width: 100%;box-sizing: border-box;">
<text style="color: #424242; font-size: 12px;line-height: 20px;">* {{child.content}}</text>
<text style="color: #424242; font-size: 13px;line-height: 25px;">* {{child.remarks}}</text>
</view>
</view> -->
<!-- </view> -->
</view>
</view>
</view>
@ -156,7 +169,7 @@
export default {
data() {
return {
butdisabled: true,
butdisabled: true,
page: {
startHeight: 0,
endHeight: 0
@ -175,7 +188,9 @@
mobile: ""
},
headImage: "",
recommend: {},
recommend: {
vos:[]
},
banKInfo: null
}
},
@ -187,7 +202,7 @@
}
this.getUserInfo()
// this.myRecommend()
this.myRecommend()
},
onLoad(options) {
// this.request()
@ -201,6 +216,12 @@
this.$refs.nav.defaultColorBgAlpha(res)
},
methods: {
makePhoneCall() {
wx.makePhoneCall({
phoneNumber: '15503115233',
})
},
getUserInfo() {
let _this = this
_this.$api.getUserInfo(getApp().globalData.sid).then((resp) => {
@ -223,12 +244,17 @@
let _this = this
_this.$api.myRecommend(getApp().globalData.sid).then((resp) => {
console.log("myRecommend>>>", resp)
_this.recommend = resp
}).catch(e => {
})
},
recommendClick(item) {
console.log("recommendClick>>>", item)
},
showDiaLog() {
uni.navigateTo({
url: '/pages/me/base_info'
@ -238,9 +264,9 @@
// console.log("res", res)
// console.log("data", res.target.dataset)
// var data = res.target.dataset.info
// this.shareCard()
// //
// let shareData = JSON.stringify({
// // params: {
@ -270,20 +296,20 @@
// console.log('aaaa', "")
// }
// }
let _this = this
const promise = new Promise(resolve => {
//
setTimeout(() => {
var params ={
customerSid:getApp().globalData.sid
var params = {
customerSid: getApp().globalData.sid
}
_this.$api.recommendNewUsers(params).then((resp) => {
let shareData = JSON.stringify({
// params: {
// code: resp.transferCode,
@ -292,46 +318,47 @@
// functionName: 'bindCard',
// url: '/pages/bind/bind_cloudCard?code=' + resp
// .transferCode + "&codeKey=" + resp.sid
url: '/pages/home/myCellar?shareSid=' + getApp().globalData.sid+"&orderSid=" + resp.sid,
url: '/pages/home/myCellar?shareSid=' + getApp()
.globalData.sid + "&orderSid=" + resp.sid,
functionName: 'share'
})
//
let value = encodeURIComponent(shareData)
resolve({
title: '汇融惠享-云菜窖',
//
path: '/pages/login/login?data=' + value,
imageUrl: 'https://supervise.yxtsoft.com/lpk/image/share_invite.png', // 5:4
})
}).catch(e => {
_this.shortToast('发生错误,请稍后再试.')
return
})
}, 0)
})
return promise
},
shareCard() {
let _this = this
var params ={
customerSid:getApp().globalData.sid
var params = {
customerSid: getApp().globalData.sid
}
_this.$api.recommendNewUsers(params).then((resp) => {
}).catch(e => {})
},
itemClick(type) {
switch (type) {
@ -339,22 +366,29 @@
uni.navigateTo({
url: '/pages/records/reservationRecords',
})
// uni.navigateTo({
// url: '/pages/records/reservationRecords3',
// })
break;
case "已提菜":
uni.navigateTo({
url: '/pages/records/reservationRecords2',
})
uni.navigateTo({
url: '/pages/records/reservationRecords2',
})
// uni.navigateTo({
// url: '/pages/records/reservationRecords4',
// })
break;
case "我的订单":
uni.navigateTo({
url: '/pages/records/orderRecords',
})
// uni.navigateTo({
// url:"/pages/records/orderDetail"
// })
break;
case "待付款":
@ -396,6 +430,8 @@
background-image: url(https://supervise.yxtsoft.com/lpk/image/my_bj.png);
/* 让背景图基于容器大小伸缩 */
background-size: 100% 100%;
position: relative;/*父元素位置要设置为相对*/
}
/* 顶部-用户信息 */
@ -429,12 +465,11 @@
/* 视图 */
.view {
box-sizing: border-box;margin-top: -15px;
background: #F7F7F7;
flex-flow: 1;
height: calc(100vh - 50vw - 48px);
height: calc(100vh - 45px - 65vw);;
width: 100%;
margin-top: -18vw;
border-radius: 25px;
border-radius: 15px;
}
/* 滚动视图 */
@ -442,7 +477,7 @@
height: 100%;
width: 100%;
padding: 15px;
border-radius: 25px;
border-radius: 15px;
box-sizing: border-box;
}

8
pages/records/reservationRecords.vue

@ -19,6 +19,14 @@
<text class="item_left">预约日期</text>
<text class="item_rifht">{{item.reserveDate}}</text>
</view>
<view class="item">
<text class="item_left">提货门店</text>
<text class="item_rifht">{{item.storeName}}</text>
</view>
<view class="item">
<text class="item_left">门店地址</text>
<text class="item_rifht">{{item.address}}</text>
</view>
<view class="item">
<text class="item_left">&ensp;&ensp;</text>
<text class="item_rifht">{{item.userName}}</text>

8
pages/records/reservationRecords2.vue

@ -19,6 +19,14 @@
<text class="item_left">预约日期</text>
<text class="item_rifht">{{item.reserveDate}}</text>
</view>
<view class="item">
<text class="item_left">提货门店</text>
<text class="item_rifht">{{item.storeName}}</text>
</view>
<view class="item">
<text class="item_left">门店地址</text>
<text class="item_rifht">{{item.address}}</text>
</view>
<view class="item">
<text class="item_left">&ensp;&ensp;</text>
<text class="item_rifht">{{item.userName}}</text>

249
pages/records/reservationRecords3.vue

@ -0,0 +1,249 @@
<template>
<view
style="display: flex;flex-direction: column;height: 100vh;background: -webkit-linear-gradient(left,#FEA65F,#FB9440);"
class="app">
<!-- 有列表的时候用 :auto='false' 需要你在onload等调用reload方法 -->
<z-paging ref="paging" v-model="data" @query="queryList" :pagingStyle='styleObject' :auto='true'>
<view v-for="(item,index) in data" style=" display: flex;flex-direction: column;margin-left: 10px;margin-right: 10px;background: #FFF7EA;margin-top: 10px;
padding: 10px 20px;
border-radius: 20px;">
<view class="item">
<view class="left-circle"></view>
<view class="right-circle"></view>
<view class="item-line"></view>
<view class="item-top">
<text class="item-top-code">预约单号{{item.reserveCode}}</text>
<text class="item-top-state">{{item.stateValue}}</text>
</view>
<view class="item-bom">
<view class="item-bom-left">
<view style="display: flex;flex-direction: row;align-items: center;">
<text style="font-size: 16px;margin-right: 5px;">{{item.storeName}}</text>
<image src="../../static/phone-2.png" style="width: 15px;height: 15px;"
@click="makePhoneCall(item.linkPhone)"></image>
</view>
<!-- <view style="display: flex;flex-direction: row;align-items: center;margin-top: 8px;">
<image src="../../static/logo.png" style="width: 15px;height: 15px;margin-right: 5px;">
</image>
<text style="font-size: 12px;color: #999; margin-right: 5px;">提菜日期</text>
<text style="font-size: 12px;color: #FF5006;">{{item.date}}</text>
</view> -->
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 20px;">
<text style="font-size: 12px;color: #999; margin-right: 5px;">提菜人</text>
<text style="font-size: 12px;color: #333; margin-right: 5px;">{{item.userName}}</text>
<text style="font-size: 12px;color: #333; ">{{item.userPhone}}</text>
</view>
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 8px;">
<text style="font-size: 12px;color: #999; margin-right: 5px;">预约时间</text>
<text style="font-size: 12px;color: #333;">{{item.createTime}}</text>
</view>
</view>
<view class="item-bom_right">
<image src="https://supervise.yxtsoft.com/lpk/image/daiticai.png"
style="width: 100px; height: 100px;z-index: 100;">
</image>
</view>
</view>
<view class="item_list" v-if="item.showLsit">
<view v-for="(child,index) in item.goodsVo"
style="display: flex;flex-direction: row;width: 100%;">
<view style="display: flex;flex-direction: row;align-items: center;justify-content: space-between;width: 100%;
padding-left: 10px;padding-right: 10px;margin-top: 8px;">
<text style="font-size: 12px;color: #666;">{{child.goodName}}</text>
<text style="font-size: 12px;color: #666;">{{child.num}}{{child.unitName}}</text>
</view>
</view>
</view>
<view class="item_btn" v-if="item.showLsit" @click="showList(item)">
<text style="font-size: 12px;color: #999; margin-right: 5px;">展开</text>
<image src="../../static/zhankai.png" style="width: 15px;height: 15px;"></image>
</view>
<view class="item_btn" v-if="!item.showLsit" @click="showList(item)">
<text style="font-size: 12px;color: #999; margin-right: 5px;">收起</text>
<image src="../../static/shouqi.png" style="width: 15px;height: 15px;"></image>
</view>
</view>
</view>
</z-paging>
</view>
</template>
<script>
export default {
data() {
return {
styleObject: {
'padding-top': '10px',
'padding-bottom': '10px',
'border-radius': '15px',
'background': '#f2f2f2'
},
data: []
}
},
onLoad() {
// this.$refs.paging.complete(_this.data)
// this.$refs.paging.complete(true)
},
methods: {
makePhoneCall(phone) {
if (this.stringIsNotEmpty(phone))
wx.makePhoneCall({
phoneNumber: phone,
})
},
showList(item) {
item.showLsit = !item.showLsit
},
//
queryList(pageNo, pageSize) {
let _this = this
_this.$api.myOrderListByUserSid({
"current": pageNo,
"size": pageSize,
"params": {
"customerSid": getApp().globalData.sid,
"state": '0', //0 1
}
}).then((resp) => {
//
this.$refs.paging.complete(resp.records)
}).catch(e => {
//
_this.$refs.paging.complete(false);
})
},
}
}
</script>
<style lang="scss" scoped>
.app {
--bgcolor: #f2f2f2;
}
.item {
position: relative;
box-sizing: border-box;
// /**/
// background-image: radial-gradient(circle at left 50%, #f2f2f2, #f2f2f2 12px, transparent 12px),
// radial-gradient(circle at right 50%, #f2f2f2, #f2f2f2 12px, transparent 12px);
.item-line {
width: 100%;
border-bottom: 10rpx dashed #fff;
position: absolute;
height: 20rpx;
top: 50%;
}
.left-circle {
background-color: var(--bgcolor);
position: absolute;
width: 40rpx;
height: 40rpx;
border-radius: 50%;
top: 50%;
left: -50rpx;
}
.right-circle {
background-color: var(--bgcolor);
position: absolute;
width: 40rpx;
height: 40rpx;
border-radius: 50%;
top: 50%;
right: -50rpx;
}
.item-top {
position: relative; //
z-index: 100;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
padding-bottom: 8px;
border-bottom: 1px solid #eee;
.item-top-code {
font-size: 13px;
color: #333;
}
.item-top-state {
font-size: 14px;
color: #FF9900;
}
}
.item-bom {
position: relative; //
z-index: 100;
margin-top: 10px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
.item-bom-left {
display: flex;
flex-direction: column;
}
.item-bom_right {
border-radius: 20px;
}
}
.item_list {
position: relative; //
z-index: 100;
margin-top: 10px;
}
.item_btn {
z-index: 100;
display: flex;
flex-direction: row;
align-items: center;
width: 100%;
justify-content: center;
margin-top: 10px;
}
}
</style>

257
pages/records/reservationRecords4.vue

@ -0,0 +1,257 @@
<template>
<view
style="display: flex;flex-direction: column;height: 100vh;background: -webkit-linear-gradient(left,#FEA65F,#FB9440);"
class="app">
<!-- 有列表的时候用 :auto='false' 需要你在onload等调用reload方法 -->
<z-paging ref="paging" v-model="data" @query="queryList" :pagingStyle='styleObject' :auto='true'>
<view v-for="(item,index) in data" style=" display: flex;flex-direction: column;margin-left: 10px;margin-right: 10px;background: #fff;margin-top: 10px;
padding: 10px 20px;
border-radius: 20px;">
<view class="item">
<view class="left-circle"></view>
<view class="right-circle"></view>
<view class="item-line"></view>
<view class="item-top">
<text class="item-top-code">预约单号{{item.reserveCode}}</text>
<text class="item-top-state">{{item.stateValue}}</text>
</view>
<view class="item-bom">
<view class="item-bom-left">
<view style="display: flex;flex-direction: row;align-items: center;">
<text
style="font-size: 16px;margin-right: 5px;color: #BBBBBB;">{{item.storeName}}</text>
<image src="../../static/phone-1.png" style="width: 15px;height: 15px;"
@click="makePhoneCall(item.linkPhone)"></image>
</view>
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 8px;">
<image src="../../static/time.png" style="width: 15px;height: 15px;margin-right: 5px;">
</image>
<text style="font-size: 12px;color: #BBBBBB; margin-right: 5px;">提菜日期</text>
<text style="font-size: 12px;color: #BBBBBB;">{{item.endTime}}</text>
</view>
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 20px;">
<text style="font-size: 12px;color: #BBBBBB; margin-right: 5px;">提菜人</text>
<text
style="font-size: 12px;color: #BBBBBB; margin-right: 5px;">{{item.userName}}</text>
<text style="font-size: 12px;color: #BBBBBB; ">{{item.userPhone}}</text>
</view>
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 8px;">
<text style="font-size: 12px;color: #BBBBBB; margin-right: 5px;">预约时间</text>
<text style="font-size: 12px;color: #BBBBBB;">{{item.createTime}}</text>
</view>
</view>
<view class="item-bom_right" style="box-sizing: border-box;">
<text style="opacity: 0.7;font-size: 18px;font-weight: 800;font-family: sans-serif;z-index: 101;
width: 100px; height: 100px;line-height: 100px; text-align: center; background: #666;
position: absolute;border-radius: 20px;color: #fff;">已失效</text>
<image src="https://supervise.yxtsoft.com/lpk/image/daiticai.png"
style="width: 100px; height: 100px;z-index: 100;border-radius: 20px;">
</image>
</view>
</view>
<view class="item_list" v-if="item.showLsit">
<view v-for="(child,index) in item.goodsVo"
style="display: flex;flex-direction: row;width: 100%;">
<view style="display: flex;flex-direction: row;align-items: center;justify-content: space-between;width: 100%;
padding-left: 10px;padding-right: 10px;margin-top: 8px;">
<text style="font-size: 12px;color: #BBBBBB;">{{child.goodName}}</text>
<text style="font-size: 12px;color: #BBBBBB;">{{child.num}}{{child.unitName}}</text>
</view>
</view>
</view>
<view class="item_btn" v-if="item.showLsit" @click="showList(item)">
<text style="font-size: 12px;color: #999; margin-right: 5px;">展开</text>
<image src="../../static/zhankai.png" style="width: 15px;height: 15px;"></image>
</view>
<view class="item_btn" v-if="!item.showLsit" @click="showList(item)">
<text style="font-size: 12px;color: #999; margin-right: 5px;">收起</text>
<image src="../../static/shouqi.png" style="width: 15px;height: 15px;"></image>
</view>
</view>
</view>
</z-paging>
</view>
</template>
<script>
export default {
data() {
return {
styleObject: {
'padding-top': '10px',
'padding-bottom': '10px',
'border-radius': '15px',
'background': '#f2f2f2'
},
data: []
}
},
onLoad() {
// this.$refs.paging.complete(_this.data)
// this.$refs.paging.complete(true)
},
methods: {
makePhoneCall(phone) {
if (this.stringIsNotEmpty(phone))
wx.makePhoneCall({
phoneNumber: phone,
})
},
showList(item) {
item.showLsit = !item.showLsit
},
//
queryList(pageNo, pageSize) {
let _this = this
_this.$api.myOrderListByUserSid({
"current": pageNo,
"size": pageSize,
"params": {
"customerSid": getApp().globalData.sid,
"state": '1', //0 1
}
}).then((resp) => {
//
this.$refs.paging.complete(resp.records)
}).catch(e => {
//
_this.$refs.paging.complete(false);
})
},
}
}
</script>
<style lang="scss" scoped>
.app {
--bgcolor: #f2f2f2;
}
.item {
position: relative;
box-sizing: border-box;
// /**/
// background-image: radial-gradient(circle at left 50%, #f2f2f2, #f2f2f2 12px, transparent 12px),
// radial-gradient(circle at right 50%, #f2f2f2, #f2f2f2 12px, transparent 12px);
.item-line {
width: 100%;
border-bottom: 10rpx dashed #EAEAEA;
position: absolute;
height: 20rpx;
top: 50%;
}
.left-circle {
background-color: var(--bgcolor);
position: absolute;
width: 40rpx;
height: 40rpx;
border-radius: 50%;
top: 50%;
left: -50rpx;
}
.right-circle {
background-color: var(--bgcolor);
position: absolute;
width: 40rpx;
height: 40rpx;
border-radius: 50%;
top: 50%;
right: -50rpx;
}
.item-top {
position: relative; //
z-index: 100;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
padding-bottom: 8px;
border-bottom: 1px solid #eee;
.item-top-code {
font-size: 13px;
color: #BBBBBB;
}
.item-top-state {
font-size: 14px;
color: #999999;
}
}
.item-bom {
position: relative; //
z-index: 100;
margin-top: 10px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
.item-bom-left {
display: flex;
flex-direction: column;
}
.item-bom_right {
// position: relative;
// border-radius: 20px;
}
}
.item_list {
position: relative; //
z-index: 100;
margin-top: 10px;
}
.item_btn {
z-index: 100;
display: flex;
flex-direction: row;
align-items: center;
width: 100%;
justify-content: center;
margin-top: 10px;
}
}
</style>

BIN
static/img/autumn.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

BIN
static/img/autumn_cur.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

BIN
static/img/spring.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

BIN
static/img/spring_cur.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

BIN
static/img/summer.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

BIN
static/img/summer_cur.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

BIN
static/img/winter.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

BIN
static/img/winter_cur.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

BIN
static/notice.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 376 B

BIN
static/phone-1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 620 B

BIN
static/phone-2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 636 B

BIN
static/shouqi.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 B

BIN
static/time.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 370 B

BIN
static/userService.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
static/zhankai.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 B

Loading…
Cancel
Save