Browse Source

11111111111

master
guoxing 1 year ago
parent
commit
322dc46633
  1. 8
      common/request.api.js
  2. 16
      pages.json
  3. 71
      pages/home/cloudCard2.vue
  4. 519
      pages/home/myCellar.vue
  5. 168
      pages/home/myHome.vue
  6. 6
      pages/home/recordList2.vue
  7. 94
      pages/records/reservationRecords.vue
  8. 94
      pages/records/reservationRecords2.vue
  9. BIN
      static/close.png

8
common/request.api.js

@ -69,7 +69,8 @@ export default {
getAllGiftBag: (params = {}) => request.get("/lpkgoods/getAllGiftBag", params),
// 結算商品
createOrder: (params = {}) => request.post("/empsreservoorder/createOrder", params),
// 预约记录
orderListByUserSid: (params = {}) => request.post("/lpksreservoorder/orderListByUserSid", params, {}, {}, true),
// 我的
// 获取头像 昵称
@ -92,7 +93,8 @@ export default {
getRealInfo: (params = {}) => request.get("/lpkcustomer/getRealInfo/" + params, params, {}, {}, true),
// 保存实名
saveRealInfo: (params = {}) => request.post("/lpkcustomer/saveRealInfo", params),
// 我的 预约记录
myOrderListByUserSid: (params = {}) => request.post("/lpksreservoorders/orderListByUserSid", params, {}, {}, true),
// 2024-1-15 新需求
// 获取分类和品牌
@ -110,6 +112,8 @@ export default {
// 结算 跳过支付
saveGoods: (params = {}) => request.post("/vegetablecellar/saveGoods", params),
// 我的菜窖 新人礼包列表
newUserQuota: (params = {}) => request.post("/appletgiftbag/newUserQuota", params),
// 我的菜窖 类型列表
vegeCellarTypeList: (params = {}) => request.post("/lpkgoods/vegeCellarTypeList", params),
// 我的菜窖 商品列表

16
pages.json

@ -290,6 +290,22 @@
"style": {
"navigationStyle": "custom"
}
},
{
"path" : "pages/records/reservationRecords",
"style" :
{
"navigationBarTitleText" : "预约记录",
"enablePullDownRefresh" : false
}
},
{
"path" : "pages/records/reservationRecords2",
"style" :
{
"navigationBarTitleText" : "预约记录",
"enablePullDownRefresh" : false
}
}

71
pages/home/cloudCard2.vue

@ -168,6 +168,8 @@
</loading-state>
<uni-popup ref="inputDialog" type="dialog">
<uni-popup-dialog ref="inputClose" mode="base" title="订购协议" :showConfirm="true"
:beforeClose="dialogBeforeClose" @confirm="dialogInputConfirm"
@ -186,16 +188,12 @@
confirmText: "我知道了(5s)",
dialogBeforeClose: false,
countdown: 5,
scrollHeight: "",
scrollLeftTop: "0",
scrollRightTop: "0",
searchInfo: {
sid: "0",
name: "",
affiliation: "",
customerSid: ""
},
brandType: "0",
styleObject: {
// 'position': 'fixed',
// 'top':'80vw',
@ -213,12 +211,6 @@
price: '0',
reduce: "0",
weight: "0",
// price2: '0',
// reduce2: "0",
// weight2: "0",
// price3: '0',
// reduce3: "0",
// weight3: "0",
count: "0",
startHeight: 0,
endHeight: 0
@ -294,7 +286,7 @@
this.getgoods()
} else {
let _this = this
_this.$api.getGoodsTypeAndBrand(_this.brandType).then((resp) => {
_this.$api.getGoodsTypeAndBrand().then((resp) => {
_this.data = resp
console.log("======", resp);
_this.baseDataSuccess = true
@ -350,35 +342,7 @@
})
})
},
itemShow(item) {
item.showCart = true
console.log("item", item.showCart);
},
itemShow2(item) {
if (item.goodsNumber == 0) {
this.shortToast('请添加商品。')
return
}
var good = {
goodsSid: item.goodsSid,
goodsName: item.name,
goodsNumber: item.goodsNumber,
affiliation: this.brandType,
price: item.mefenPrice,
weight: item.weight,
customerSid: getApp().globalData.sid
}
console.log("itemShow2", good);
let _this = this
_this.$api.addShoppingCart(good).then((resp) => {
item.showCart = false
console.log("item2", item.showCart);
}).catch(e => {})
},
jian(item) {
const that = this
console.log("item》》》》", item)
@ -428,14 +392,7 @@
}
this.page.price = num
// if (this.brandType == '0')
// this.page.price1 = num
// if (this.brandType == '1')
// this.page.price2 = num
// if (this.brandType == '2')
// this.page.price3 = num
},
getweight() {
@ -448,26 +405,8 @@
this.page.weight = num
// if (this.brandType == '0')
// this.page.weight1 = num
// if (this.brandType == '1')
// this.page.weight2 = num
// if (this.brandType == '2')
// this.page.weight3 = num
},
// getcount() {
// let num = 0;
// for (var i = 0; i < this.goods.length; i++) {
// num += Number(this.goods[i].goodsNumber);
// }
// this.page.goodsNumber = num
// },
upDateShoppCart(item) {
var good = {
goodsSid: item.goodsSid,

519
pages/home/myCellar.vue

@ -11,40 +11,12 @@
<view class="center">
<!-- 左侧菜单区 -->
<view class="menu-area">
<!-- <text style="font-weight: 600;font-family: sans-serif;
color: #333;
font-size: 15px;
padding-top: 15px;
padding-bottom: 15px;
margin-top: -20px;
text-align: center;">菜窖分类</text> -->
<!-- <scroll-view scroll-y="true" style="height: 100%; width: 100%;border-bottom-left-radius: 25px;"
:scroll-top="scrollLeftTop" bindscrolltoupper="upper" bindscrolltolower="lower"
:show-scrollbar="false" :enhanced="true" bindscroll="scroll">
<view
style="width: 100%;height: 100%;; display: flex;flex-direction: column; background: #F7F7F7;border-bottom-left-radius: 25px;">
<view v-for="(item,index) in data" @click="labelClick(index,item)"
style="display: flex;flex-direction: column;justify-content: center; margin-bottom: 15px; position: relative;">
<text class="label" :class="{ label2: selectIndex==index }">{{item.name}}</text>
<view v-if="item.count>0" style="border-radius: 50%;text-align: center;background: #f00;color: #fff;font-size: 8px;
position: absolute;
top: 8px;
right: 3px;
padding: 2px 5px;
width: auto;">{{item.count}}</view>
</view>
</view>
</scroll-view> -->
<!-- 左侧菜单列表 -->
<scroll-view scroll-y="true" style="height: 100%; width: 100%;border-bottom-left-radius: 25px;"
:scroll-top="scrollLeftTop" bindscrolltoupper="upper" bindscrolltolower="lower"
:show-scrollbar="false" :enhanced="true" bindscroll="scroll">
<view class="menu">
<view v-for="(item,index) in data" @click="labelClick(index,item)" class="method">
<view v-for="(item,index) in data" @click="labelClick(index,item)" class="method">
<text class="label" :class="{'label-selected':selectIndex==index}">{{item.name}}</text>
<view v-if="item.count>0" class="goods-count">{{item.count}}</view>
</view>
@ -52,13 +24,13 @@
</scroll-view>
</view>
<view style="width: 78%;background-color: #fff;overflow-y: auto;">
<scroll-view scroll-y="true" style="height: 100%; width: 100%;" bindscrolltoupper="upper"
<scroll-view scroll-y="true" style="height: 100%; width: 100%;padding-left: 10px;padding-right: 10px;box-sizing: border-box;" bindscrolltoupper="upper"
bindscrolltolower="lower" bindscroll="scroll" :show-scrollbar="false"
:scroll-top="scrollRightTop" :enhanced="true">
<view style="width: 100%; display: flex;flex-direction: column;">
<view style="width: 100%; display: flex;flex-direction: column;box-sizing: border-box;">
<view v-for="(item,index) in goods" @click="itemClick(item.goodsSid)"
style="display: flex;flex-direction: column;justify-content: center;width: 100%; margin-top: 15px; ">
@ -127,10 +99,10 @@
</view>
<view v-if="notData"
style="display: flex;flex-direction: column;justify-content: center;align-items: center;">
style="display: flex;flex-direction: column;justify-content: center;align-items: center;margin-top: 10vw;">
<image src="https://supervise.yxtsoft.com/lpk/image/buchongcaijiao.png"
mode="aspectFit" style="width: 50vw;height: 50vw;"></image>
<image src="https://supervise.yxtsoft.com/lpk/image/buchongcaijiao.png" mode="aspectFit"
style="width: 50vw;height: 50vw;"></image>
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 15px;">
<text style="font-size: 14px; color: #666;margin-right: 5px;">您的菜窖为空,</text>
<text
@ -146,195 +118,182 @@
</view>
<view style="display: flex;flex-direction: column;border-top: 1px solid #F8F8F8; border-bottom-left-radius: 25px;border-bottom-right-radius: 25px;
padding-top: 5px; flex-shrink: 0; ">
<view
style="display: flex;flex-direction: row; justify-content: center;align-items: center;padding-bottom: 10px;margin-top: 5px;">
<view class="bottom">
<text style="background: #FF9900; color: #fff;font-size: 13px; padding: 8px 15px;
border: 1px #FF5006 solid; border-top-left-radius: 25px; border-bottom-left-radius: 25px;">转赠亲友</text>
<view style="border: 1px #FF5006 solid;margin-left: 5px;margin-right: 5px;padding: 5px 10px;
display: flex;flex-direction: row;align-items: center;" @click="gotoCart()">
<image src="../../static/shoppCart_icon.png" mode="aspectFill"
style="height: 20px;width: 25px;"></image>
<text style="font-size: 12px;color: #666;margin-left: 10px; ">共选</text>
<view
style="display: flex;flex-direction: row; justify-content: center;align-items: center;padding-bottom: 10px;margin-top: 5px;padding: 0px 10px;">
<text style="background: #FF9900;
color: #fff;
height: 42px;
line-height: 40px;
font-size: 13px;
padding: 0px 15px;
border: 1px #FF5006 solid;
border-top-left-radius: 25px;
border-bottom-left-radius: 25px;
border-top-right-radius: 0px;
border-bottom-right-radius: 0px;" @click="transfer()">转赠亲友</text>
<view style="border: 1px #FF5006 solid;margin-left: 5px;margin-right: 5px;padding: 0px 10px;height: 42px;flex: 1;
display: flex;flex-direction: row;align-items: center;box-sizing: border-box;" @click="gotoCart()">
<!-- image src="../../static/shoppCart_icon.png" mode="aspectFill"
style="height: 20px;width: 25px;"></image> -->
<text style="font-size: 12px;color: #666;margin-left: 10px; ">选中</text>
<text style="font-size: 15px;color: #FF5006;margin-left: 10px; ">{{page.count}}</text>
<text style="font-size: 12px;color: #666;margin-left: 10px; ">份蔬菜</text>
</view>
<text style="background: #FF9900; color: #fff;font-size: 13px; padding: 8px 15px;
border: 1px #FF5006 solid; border-top-right-radius: 25px; border-bottom-right-radius: 25px;"
<text style="background: #FF9900; color: #fff;font-size: 13px; padding: 0px 15px;height: 40px;line-height: 40px;
border: 1px #FF5006 solid; border-top-right-radius: 25px; border-bottom-right-radius: 25px;flex-shrink: 0;"
@click="reservation()">预约提菜</text>
</view>
</view>
</view>
<!-- 礼包列表弹框 -->
<view class="model" catchtouchmove='preventTouchMove' v-if='showModal2'></view>
<view class="modalDlg2" catchtouchmove='preventTouchMove' v-if='showModal2'>
<view style="display: flex;flex-direction: column;justify-content: center;align-items: center;
background: #fff; margin-top: -50px;">
<image src="https://supervise.yxtsoft.com/lpk/image/newpor_top" mode="aspectFill"
style="margin-left: 5vw;margin-right: 5vw; height: 5vw;"></image>
<!-- 弹窗蒙版 -->
<view class="model" catchtouchmove='preventTouchMove' v-if='showModal' @click.stop="colseDialog()"></view>
<view class="modalDlg" catchtouchmove='preventTouchMove' v-if='showModal'>
<scroll-view scroll-y="true" style="min-height: calc(100% - 50px);; padding-top: 10px;"
bindscrolltoupper="upper" bindscrolltolower="lower" bindscroll="scroll">
<view style="display: flex;flex-direction: column; margin: 20px;padding-top: 10px;">
<view
style="display: flex;flex-direction: row;align-items: center;justify-content: space-between;">
<text
style="font-size: 16px; color: #333; font-weight: 600; font-family: sans-serif;">提菜点信息</text>
<view style="display: flex;flex-direction: column;overflow-y: auto;">
<view style="display: flex;flex-direction: row;align-items: center;">
<text v-if="pickingUp.name==''"
style="font-size: 14px;color: #666;margin-right: 10px;">{{pickingUp.type}}</text>
<text v-if="pickingUp.name!=''"
style="font-size: 16px;color: #333;margin-right: 10px;">{{pickingUp.name}}</text>
<image src="../../static/right_icon.png" mode="aspectFill"
style="width: 20px;height: 20px;"></image>
<radio-group bindchange="radioChange">
<view v-for="(item,index) in newPerGiftList" class="device-list">
<view>
<radio :value="item.goodsSid" checked="true" />
</view>
</view>
<view v-if="pickingUp.name!=''" style="display: flex;flex-direction: column;">
<view style="display: flex;flex-direction: row;align-items: center;">
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 15px;">
<image src="https://supervise.yxtsoft.com/lpk/image/date.png"
style="width:20px;height: 20px;"></image>
<image :src="item.iconUrl" mode="aspectFill"
style="border-radius: 8px;width: 36px;height: 36px;"></image>
<text style="font-size: 14px;color: #101010;margin-left: 5px;">{{item.name}}</text>
<text
style="margin-left: 5px;flex: 1;color: #666;font-size: 14px;">营业时间:{{pickingUp.date}}</text>
</view>
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 15px;">
<image src="https://supervise.yxtsoft.com/lpk/image/location.png"
style="width: 20px;height: 20px;"></image>
style="font-size: 14px;color: #101010;margin-left: 10px;">{{item.weight}}{{item.specificationUnit}}</text>
<text style="font-size: 16px;color: #FF5006;margin-left: 20px;">{{item.name}}</text>
<text
style="margin-left: 5px;flex: 1; color: #666;font-size: 14px;">{{pickingUp.address}}</text>
style="font-size: 14px;color: #999;text-decoration:line-through;margin-left: 10px;">{{item.mefenPrice}}</text>
</view>
</view>
</radio-group>
<view
style="display: flex;flex-direction: row;align-items: center;justify-content: space-between;margin-top: 20px;">
<text
style="font-size: 16px; color: #333; font-weight: 600; font-family: sans-serif;">提菜人信息</text>
<view style="display: flex;flex-direction: row;align-items: center;">
<text v-if="userInfo.name==''"
style="font-size: 14px;color: #666;margin-right: 10px;">{{userInfo.type}}</text>
<text v-if="userInfo.name!=''"
style="font-size: 16px;color: #333;margin-right: 10px;">{{userInfo.name}}</text>
<text v-if="userInfo.phone!=''"
style="font-size: 14px;color: #666;margin-right: 10px;">{{userInfo.phone}}</text>
<image src="../../static/right_icon.png" mode="aspectFill"
style="width: 20px;height: 20px;"></image>
</view>
</view>
<view style="display: flex;flex-direction: column;margin-top: 20px;">
<text
style="font-size: 16px; color: #333; font-weight: 600; font-family: sans-serif;">所提蔬菜列表</text>
<view style="width: 100%; display: flex;flex-direction: column;">
<view v-for="(item,index) in pickingUpGoods" @click="itemClick(item.goodsSid)"
style="display: flex;flex-direction: column;justify-content: center;width: 100%; margin-top: 15px; ">
</view>
<view style="display: flex;flex-direction: row;align-items: center;width: 100%; ">
<view>
<text>确认结算</text>
</view>
<image :src="item.iconUrl"
style="width: 90px;height: 90px; border-radius: 10px; " mode="aspectFill">
</image>
<view
style="display: flex;flex-direction: column;flex: 1; padding-bottom: 15px; margin-left: 10px;"
:style="{'border-bottom':(index == pickingUpGoods.length-1 ? 'none' : '1px #EFEFEF solid')}">
</view>
<text style="font-size: 13px;color: #000;">{{item.name}}</text>
</view>
<text
style="font-size: 10px;color: #999;margin-top: 5px;">{{item.remark}}</text>
<!-- 转赠弹框 -->
<view class="model" catchtouchmove='preventTouchMove' v-if='showModal3' @click="colseDialog3()"></view>
<view class="modalDlg3" catchtouchmove='preventTouchMove' v-if='showModal3'>
<view style="display: flex;flex-direction: column;background: #fff;
padding: 10px 20px;overflow-y: auto;">
<view
style="display: flex;flex-direction: row;align-items: center;margin-top: 8px;">
<text
style="border: 1px #EE752F solid; border-radius: 5px; padding: 0px 8px;
font-size: 10px;color: #EE752F; margin-right: 10px; ">{{item.weight}}{{item.specificationUnit}}/{{item.unitName}}</text>
<text
style="font-size: 15px;color: #000;font-weight: 600;font-family: sans-serif;margin-top: 10px;margin-bottom:10px ;">转赠蔬菜列表</text>
<text
style="border: 1px #EE752F solid; background: #FF9900; color: #fff; font-size: 10px;border-radius: 5px; padding: 0px 8px;"
v-if="item.type=='0'">百姓菜!</text>
<text
style="border: 1px #3AA15F solid; background: #40C772; color: #fff; font-size: 10px;border-radius: 5px; padding: 0px 8px;"
v-if="item.type=='1'">精品菜!</text>
<text
style="border: 1px #1D60C7 solid; background: #2489F7; color: #fff; font-size: 10px;border-radius: 5px; padding: 0px 8px;"
v-if="item.type=='2'">企业菜!</text>
<view style="display: flex;flex-direction: column;overflow-y: auto;">
</view>
<view v-for="(item,index) in goods"
style="display: flex;flex-direction: row;margin-top: 15px; margin-bottom: 10px;">
<view style="display: flex;flex-direction: row;align-items: center;justify-content: space-between; margin-top: 15px;
margin-right: 15px;">
<view style="display: flex;flex-direction: row;align-items: center;width: 100%; ">
<image :src="item.iconUrl" style="width: 90px;height: 90px; border-radius: 10px; "
mode="aspectFill" @click="itemClick(item.goodsSid)"></image>
<view style="display: flex;flex-direction: row;align-items: center;">
<text style="font-size: 12px;color: #FF5006;">剩余</text>
<text
style="font-size: 14px;color: #FF5006;">{{item.goodsNumber}}{{item.unitName}}</text>
</view>
<view
style="display: flex;flex-direction: column;flex: 1; padding-bottom: 15px; margin-left: 10px;"
:style="{'border-bottom':(index == goods.length-1 ? 'none' : '1px #EFEFEF solid')}">
<text style="font-size: 14px;color: #000; font-weight: 600;">{{item.name}}</text>
<text style="font-size: 10px;color: #999;margin-top: 5px;">{{item.remark}}</text>
<view style="display: flex;flex-direction: row;align-items: center;">
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 8px;">
<text style="border: 1px #EE752F solid; border-radius: 5px; padding: 0px 8px;
font-size: 10px;color: #EE752F;">{{item.weight}}{{item.specificationUnit}}/{{item.unitName}}</text>
<image src="../../static/jian_icon.png" mode="aspectFill"
style="width: 20px;height: 20px;" @click.stop="jian(item)">
</image>
<text
style="border: 1px #EE752F solid; background: #FF9900;margin-left: 10px; color: #fff; font-size: 10px;border-radius: 5px; padding: 0px 8px;"
v-if="item.type=='0'">百姓菜!</text>
<text
style="border: 1px #3AA15F solid; background: #40C772;margin-left: 10px; color: #fff; font-size: 10px;border-radius: 5px; padding: 0px 8px;"
v-if="item.type=='1'">精品菜!</text>
<text
style="border: 1px #1D60C7 solid; background: #2489F7;margin-left: 10px; color: #fff; font-size: 10px;border-radius: 5px; padding: 0px 8px;"
v-if="item.type=='2'">企业菜!</text>
</view>
<text
style="font-size: 14px;margin-left: 8px;margin-right: 8px;">{{item.count}}</text>
<image src="../../static/jia_icon.png" mode="aspectFill"
style="width: 20px;height: 20px;" @click.stop="jia(item)">
</image>
<view style="display: flex;flex-direction: row;align-items: center;justify-content: space-between; margin-top: 15px;
margin-right: 15px;">
<view style="display: flex;flex-direction: row;align-items: center;">
<text style="font-size: 10px;color: #FF5006;">剩余</text>
<text
style="font-size: 14px;color: #FF5006;">{{item.goodsNumber}}{{item.unitName}}</text>
</view>
</view>
<view style="display: flex;flex-direction: row;align-items: center;">
</view>
<image src="../../static/jian_icon.png" mode="aspectFill"
style="width: 20px;height: 20px;" @click.stop="jian(item)"></image>
</view>
<text
style="font-size: 14px;margin-left: 8px;margin-right: 8px;">{{item.count}}</text>
<image src="../../static/jia_icon.png" mode="aspectFill"
style="width: 20px;height: 20px;" @click.stop="jia(item)"></image>
</view>
</view>
</view>
</view>
<view style="height: 150px;"></view>
</view>
</view>
<text style="background: #FF9900;color: #fff; margin-left: 20px; margin-right: 20px;border-radius: 20px;
padding-top: 10px;padding-bottom: 10px;text-align: center;">确认提菜</text>
<view style="height: 80px;"></view>
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 15px;">
<text style="font-size: 14px;margin-right: 10px;font-weight: 600;">转赠留言</text>
<input placeholder="可以写下您对亲友的祝福"
style="font-size: 30rpx;flex: 1;background: #F2F2F2;border-radius: 5px;height: 40px;line-height: 40px;padding-left: 10px;padding-right: 10px;"
:value="transferInfo.remarks" @input="onKeyInput" />
</view>
<!-- <view style="display: flex;flex-direction: row;align-items: center;margin-top: 15px;">
<checkbox @change="checboxChange()" color="#FF9900" style="transform:scale(0.7)"></checkbox>
<view style="display: flex;flex-direction: row;align-items: center;">
<text style="color: #A4A4A4; font-size: 12px;">我已阅读并同意</text>
<text style="color: #5B7096; font-size: 12px;">蔬菜转赠协议</text>
</view>
</view> -->
</scroll-view>
</view>
<button open-type="share">确认</button>
</view>
</view>
</view>
</view>
</template>
@ -345,9 +304,8 @@
return {
notData: false,
showModal: false,
scrollHeight: "",
scrollLeftTop: "0",
scrollRightTop: "0",
showModal2: false,
showModal3: false,
brandType: "0",
styleObject: {
// 'position': 'fixed',
@ -383,10 +341,23 @@
},
pickingUpGoods: [
]
],
baseDataSuccess: false,
newPerGiftList: [
],
transferInfo: {
}
}
},
created() {
console.log("==========", getApp().globalData.isNewUser);
// if (getApp().globalData.isNewUser=='1')
// this.showModal = true
},
onShow() {
if (typeof this.$mp.page.getTabBar === 'function' && this.$mp.page.getTabBar()) {
this.$mp.page.getTabBar().setData({
@ -394,25 +365,34 @@
})
}
this.request()
this.page.count=0
},
onHide() {
this.colseDialog()
this.request()
this.page.count = 0
},
onLoad() {
this.shareSid = options.shareSid
console.log("shareSid>>>>", this.shareSid);
let info = uni.getSystemInfoSync();
this.page.startHeight = info.windowWidth * 0.6
this.page.endHeight = info.windowWidth * 0.8
this.shareGift()
},
methods: {
onKeyInput() {
this.transferInfo.remarks = event.target.value
},
shareGift() {
if (this.shareSid && getApp().globalData.isNewUser) {
}
},
labelClick(index, item) {
this.selectIndex = index
this.brandType = item.sid
@ -429,25 +409,35 @@
_this.$api.vegeCellarTypeList(params).then((resp) => {
_this.data = resp
_this.selectIndex = 0
_this.baseDataSuccess = true
_this.getgoods()
_this.scrollLeftTop = _this.scrollLeftTop == 0 ? -1 : 0
_this.scrollRightTop = _this.scrollRightTop == 0 ? -1 : 0
}).catch(e => {})
}).catch(e => {
_this.$nextTick(() => {
_this.$refs.pageView.setLoadState(1)
})
})
},
getgoods() {
let _this = this
var params = {
customerSid: getApp().globalData.sid,
affiliation: this.brandType
affiliation: this.data[this.selectIndex].id
}
_this.$api.vegeCellarList(params).then((resp) => {
_this.goods = resp
_this.notData = resp.length == 0
}).catch(e => {})
_this.$nextTick(() => {
_this.$refs.pageView.setLoadState(2)
})
}).catch(e => {
_this.$nextTick(() => {
_this.$refs.pageView.setLoadState(1)
})
})
},
jian(item) {
if (Number(item.count) > 0) {
@ -503,34 +493,109 @@
url: '/pages/home/cloudCard2',
})
},
transfer() {
this.showModal3 = true
},
reservation() {
if (this.pickingUpGoods.length > 0){
if (this.pickingUpGoods.length > 0) {
uni.navigateTo({
url: '/pages/good/reservation?pickingUpGoods='+JSON.stringify(this.pickingUpGoods)+"&affiliation="+this.brandType,
url: '/pages/good/reservation?pickingUpGoods=' + JSON.stringify(this.pickingUpGoods) +
"&affiliation=" + this.brandType,
})
// this.showModal = true
}else{
} else {
this.shortToast('请先选择商品')
}
},
colseDialog() {
this.showModal = false
},
showGift() {
let _this = this
_this.$api.newUserQuota().then((resp) => {
console.log("--------", resp);
_this.newPerGiftList = resp
_this.showModal = false
_this.showModal2 = true
}).catch(e => {
})
},
colseDialog() {
this.showModal = false
},
colseDialog3() {
this.showModal3 = false
},
onShareAppMessage: function(res) {
console.log("res", res)
console.log("data", res.target.dataset)
var data = res.target.dataset.info
// //
// let shareData = JSON.stringify({
// params: {
// code: data.code,
// codeKey: data.codeKey,
// customerSid: ''
// },
// functionName: 'bindCard',
// url: '/pages/detail/detail_affeection?sid=' + data.sid
// // url: '/pages/home/cloudCard2?shareSid=' + getApp().globalData.sid,
// // functionName: 'share'
// })
// //
// let value = encodeURIComponent(shareData)
// return {
// title: '-',
// //
// path: '/pages/login/login?data=' + value,
// imageUrl: 'https://supervise.yxtsoft.com/lpk/image/shareAffeection.png', // 5:4
// success: function(res) {
// console.log('aaaa', "")
// },
// fail: function(res) {
// //
// console.log('aaaa', "")
// }
// }
},
shareCard(sid) {
let _this = this
_this.$api.shareEmpCard(sid).then((resp) => {
var item = _this.data.empCardGiftVos.find(item => item.sid === sid)
console.log("item", item);
item.share = '2'
}).catch(e => {})
}
}
}
</script>
<style>
#page{
#page {
display: flex;
flex-direction: column;
height: 100vh;
background: -webkit-linear-gradient(left,#FEA65F,#FB9440);
background: -webkit-linear-gradient(left, #FEA65F, #FB9440);
}
/* 顶部 */
.top {
width: 100vw;
@ -542,43 +607,45 @@
/* 让背景图基于容器大小伸缩 */
background-size: 100% 100%;
}
/* 功能区 */
.func-area{
background: #fff;
.func-area {
background: #fff;
height: calc(100vh - 45px - 50vw);
width: 100%;
width: 100%;
border-radius: 15px;
display: flex;
flex-direction: column;
flex-direction: column;
box-sizing: border-box;
margin-top: -15px;
box-sizing: border-box;
}
/* 功能区-菜单区 */
.func-area .menu-area{
width: 22%;
.func-area .menu-area {
width: 22%;
display: flex;
flex-direction: column;
overflow-y: auto;
padding-top: 10px;
}
}
/* 功能区-菜单区-菜单 */
.func-area .menu-area .menu{
.func-area .menu-area .menu {
width: 100%;
display: flex;
flex-direction: column;
flex-direction: column;
}
/* 功能区-菜单区-菜单-显示方法 */
.func-area .menu-area .menu .method{
.func-area .menu-area .menu .method {
display: flex;
flex-direction: column;
justify-content: center;
}
/* 功能区-菜单区-菜单-标签 */
.func-area .menu-area .menu .label{
.func-area .menu-area .menu .label {
color: #191919;
font-size: 12px;
margin-top: 10px;
@ -588,8 +655,9 @@
padding-bottom: 7px;
margin-left: 5px;
}
/* 功能区-菜单区-菜单-标签选中 */
.func-area .menu-area .menu .label-selected{
.func-area .menu-area .menu .label-selected {
background: #FFF;
color: #FFF;
background-color: #FF9900;
@ -603,36 +671,20 @@
border-radius: 20px;
margin-left: 5px;
}
/* 功能区-菜单区-菜单-商品数量 */
.func-area .menu-area .menu .goods-count{
border-radius: 50%;
.func-area .menu-area .menu .goods-count {
border-radius: 50%;
text-align: center;
background: #f00;
color: #fff;
font-size: 8px;
position: absolute;
top: 8px;
right: 3px;
padding: 2px 5px;
width: auto;
}
/* .label {
background: #fff;
color: #FF9900;
font-size: 13px;
padding-top: 15px;
padding-bottom: 15px;
text-align: center;
position: absolute;
top: 10px;
right: 8px;
padding: 2px 5px;
width: auto;
}
.label2 {
background: #FF9900;
color: #fff;
font-size: 13px;
padding-top: 15px;
padding-bottom: 15px;
text-align: center;
} */
.center {
display: flex;
@ -644,6 +696,15 @@
min-width: 0;
}
.bottom {
display: flex;
flex-direction: column;
border-top: 1px solid #F8F8F8;
padding-top: 5px;
flex-shrink: 0;
margin-bottom: 10px;
}
/* 弹窗样式 */
.model {
position: absolute;
@ -666,7 +727,7 @@
left: 0;
right: 0;
z-index: 9999;
opacity:1;
opacity: 1;
background-color: #fff;
border-top-right-radius: 20px;
border-top-left-radius: 20px;

168
pages/home/myHome.vue

@ -2,7 +2,8 @@
<view id="page">
<!-- 顶部 -->
<view class="top">
<NavBar ref="nav" navTitle=" " :showIcon="false" :start-change-height="page.startHeight" :end-change-height="page.endHeight"></NavBar>
<NavBar ref="nav" navTitle=" " :showIcon="false" :start-change-height="page.startHeight"
:end-change-height="page.endHeight"></NavBar>
<!-- 用户信息 -->
<view class="userinfo">
<!-- 头像 -->
@ -17,24 +18,26 @@
</view>
<view class="view">
<!-- 滚动视图 -->
<scroll-view scroll-y="true" class="scroll-view"
bindscrolltoupper="upper" bindscrolltolower="lower" bindscroll="scroll">
<scroll-view scroll-y="true" class="scroll-view" bindscrolltoupper="upper" bindscrolltolower="lower"
bindscroll="scroll">
<!-- 预约记录 -->
<view class="icon-cow">
<text class="title">预约记录</text>
<view class="group">
<!-- 待提菜 -->
<view class="icon-name">
<view class="icon-name" @click="itemClick('待提菜')">
<view class="icon">
<image class="img" src="../../static/img/record-query/waiting_extraction.png" mode="aspectFill"></image>
<image class="img" src="../../static/img/record-query/waiting_extraction.png"
mode="aspectFill"></image>
<view v-if="data.count>0" class="count">{{data.count}}</view>
</view>
<text class="name">待提菜</text>
</view>
<!-- 已提菜 -->
<view class="icon-name">
<view class="icon-name" @click="itemClick('已提菜')">
<view class="icon">
<image class="img" src="../../static/img/record-query/extracted.png" mode="aspectFill"></image>
<image class="img" src="../../static/img/record-query/extracted.png" mode="aspectFill">
</image>
</view>
<text class="name">已提菜</text>
</view>
@ -48,17 +51,19 @@
<text class="title">订单记录</text>
<view class="group">
<!-- 待付款 -->
<view class="icon-name">
<view class="icon-name" @click="itemClick('待付款')">
<view class="icon">
<image class="img" src="../../static/img/record-query/obligation.png" mode="aspectFill"></image>
<image class="img" src="../../static/img/record-query/obligation.png" mode="aspectFill">
</image>
<view v-if="data.count>0" class="count">{{data.count}}</view>
</view>
<text class="name">待付款</text>
</view>
<!-- 已提菜 -->
<view class="icon-name">
<view class="icon-name" @click="itemClick('已付款')">
<view class="icon">
<image class="img" src="../../static/img/record-query/paid.png" mode="aspectFill"></image>
<image class="img" src="../../static/img/record-query/paid.png" mode="aspectFill">
</image>
</view>
<text class="name">已付款</text>
</view>
@ -71,16 +76,18 @@
<text class="title">转赠记录</text>
<view class="group">
<!-- 赠与我的 -->
<view class="icon-name">
<view class="icon-name" @click="itemClick('赠与我的')">
<view class="icon">
<image class="img" src="../../static/img/record-query/gifted_to_me.png" mode="aspectFill"></image>
<image class="img" src="../../static/img/record-query/gifted_to_me.png"
mode="aspectFill"></image>
</view>
<text class="name">赠与我的</text>
</view>
<!-- 我的转赠 -->
<view class="icon-name">
<view class="icon-name" @click="itemClick('我的转赠')">
<view class="icon">
<image class="img" src="../../static/img/record-query/my_gift.png" mode="aspectFill"></image>
<image class="img" src="../../static/img/record-query/my_gift.png" mode="aspectFill">
</image>
</view>
<text class="name">我的转赠</text>
</view>
@ -239,8 +246,8 @@
// functionName: 'bindCard',
// url: '/pages/detail/detail_affeection?sid=' + data.sid
url:'/pages/home/cloudCard2?shareSid='+getApp().globalData.sid,
functionName:'share'
url: '/pages/home/cloudCard2?shareSid=' + getApp().globalData.sid,
functionName: 'share'
})
//
let value = encodeURIComponent(shareData)
@ -259,6 +266,33 @@
}
}
},
itemClick(type) {
switch (type) {
case "待提菜":
uni.navigateTo({
url: '/pages/records/reservationRecords',
})
break;
case "已提菜":
uni.navigateTo({
url: '/pages/records/reservationRecords2',
})
break;
case "待付款":
break;
case "已付款":
break;
case "赠与我的":
break;
case "我的转赠":
break;
}
}
}
}
</script>
@ -266,11 +300,12 @@
<style>
#page {
display: flex;
flex-direction: column;
flex-direction: column;
height: 100vh;
background: -webkit-linear-gradient(left,#FEA65F,#FB9440);
background: -webkit-linear-gradient(left, #FEA65F, #FB9440);
box-sizing: border-box;
}
/* 顶部 */
.top {
width: 100vw;
@ -281,61 +316,74 @@
/* 让背景图基于容器大小伸缩 */
background-size: 100% 100%;
}
/* 顶部-用户信息 */
.top .userinfo{
display: flex;flex-direction: row;align-items: center;margin-top: 25vw; margin-left: 8vw;
.top .userinfo {
display: flex;
flex-direction: row;
align-items: center;
margin-top: 25vw;
margin-left: 8vw;
}
/* 顶部-用户信息-头像 */
.top .userinfo .head-img{
width: 60px;
.top .userinfo .head-img {
width: 60px;
height: 60px;
border-radius: 50%;
}
/* 顶部-用户信息-名称手机 */
.top .userinfo .name-mob{
display: flex;
.top .userinfo .name-mob {
display: flex;
flex-direction: column;
margin-left: 10px;
}
/* 顶部-用户信息-名称手机-文本样式 */
.top .userinfo .name-mob text{
font-size: 16px;color: #fff;
.top .userinfo .name-mob text {
font-size: 16px;
color: #fff;
}
/* 视图 */
.view{
background: #F7F7F7;
flex-flow: 1;
height: calc(100vh - 50vw - 48px);
width: 100%;
.view {
background: #F7F7F7;
flex-flow: 1;
height: calc(100vh - 50vw - 48px);
width: 100%;
margin-top: -18vw;
border-radius: 25px;
}
/* 滚动视图 */
.scroll-view{
height: 100%;
width: 100%;
.scroll-view {
height: 100%;
width: 100%;
padding: 15px;
border-radius: 25px;
border-radius: 25px;
box-sizing: border-box;
}
/* 图标显示行 */
.icon-cow {
.icon-cow {
display: flex;
flex-direction: column;
flex-direction: column;
border-radius: 10px;
background: #fff;
background: #fff;
padding: 12px;
margin-bottom:10px
margin-bottom: 10px
}
/* 图标显示行-标题 */
.icon-cow .title {
font-size: 15px;
font-size: 15px;
color: #101010;
font-weight: 600;
font-family: sans-serif;
}
/* 图标显示行-图标群 */
/* 图标显示行-图标群 */
.icon-cow .group {
display: flex;
flex-direction: row;
@ -343,6 +391,7 @@
align-items: center;
margin-top: 10px;
}
/* 图标显示行-图标群-图标和名称*/
.icon-cow .group .icon-name {
flex: 1;
@ -351,40 +400,44 @@
justify-content: center;
align-items: center;
}
/* 图标显示行-图标群-图标和名称-图标*/
.icon-cow .group .icon-name .icon {
position: relative;
width: 35px;
height: 35px;
}
/* 图标显示行-图标群-图标和名称-图标-图片*/
.icon-cow .group .icon-name .icon .img{
width: 28px;
.icon-cow .group .icon-name .icon .img {
width: 28px;
height: 28px;
margin-left: 5px;
margin-left: 5px;
margin-top: 5px;
}
/* 图标显示行-图标群-图标和名称-图标-数量*/
.icon-cow .group .icon-name .icon .count {
border-radius: 50%;
.icon-cow .group .icon-name .icon .count {
border-radius: 50%;
text-align: center;
background: #f00;
color: #fff;
font-size: 8px;
position: absolute;
top: 2px;
right: 0px;
padding: 2px 5px;
width: auto;
top: 2px;
right: 0px;
padding: 2px 5px;
width: auto;
}
/* 图标显示行-图标群-图标和名称-图标名称*/
.icon-cow .group .icon-name .name {
font-size:13px;
font-size: 13px;
color: #101010;
margin-top:5px;
margin-top: 5px;
}
.sharebtn {
margin-right: -10px;
background: #fff;
@ -398,7 +451,4 @@
.sharebtn::after {
border: none;
}
</style>

6
pages/home/recordList2.vue

@ -193,12 +193,6 @@
}
},
onShow() {
if (typeof this.$mp.page.getTabBar === 'function' && this.$mp.page.getTabBar()) {
this.$mp.page.getTabBar().setData({
selected: 2
})
}
},
created() {
// this.$bus.$on('order', msg => {

94
pages/records/reservationRecords.vue

@ -0,0 +1,94 @@
<template>
<view
style="display: flex;flex-direction: column;height: 100vh;background: -webkit-linear-gradient(left,#FEA65F,#FB9440);">
<!-- 有列表的时候用 :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;
border-radius: 10px;padding: 10px 20px;">
<view class="item">
<text class="item_left">预约单号</text>
<text class="item_rifht">{{item.reserveCode}}</text>
</view>
<view class="item">
<text class="item_left">菜窖类型</text>
<text class="item_rifht">{{item.affiliationValue}}</text>
</view>
<view class="item">
<text class="item_left">预约日期</text>
<text class="item_rifht">{{item.reserveDate}}</text>
</view>
<view class="item">
<text class="item_left">&ensp;&ensp;</text>
<text class="item_rifht">{{item.userName}}</text>
</view>
<view class="item">
<text class="item_left">联系电话</text>
<text class="item_rifht">{{item.userPhone}}</text>
</view>
<view class="item">
<text class="item_left">&ensp;&ensp;&ensp;&ensp;</text>
<text class="item_rifht">{{item.stateValue}}</text>
</view>
<view style=" display: flex;flex-direction: row;align-items: center;margin-top: 5px;">
<text style="color: #999; font-size: 12px;">- {{item.goodss}}</text>
</view>
</view>
</z-paging>
</view>
</template>
<script>
export default {
data() {
return {
styleObject: {
'padding-top': '10px',
'padding-bottom': '10px',
'border-radius': '15px',
'background': '#f2f2f2'
},
data: []
}
},
methods: {
//
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 scoped>
.item {
margin-top: 5px;
}
.item_left {
font-size: 14px;
color: #333;
}
.item_rifht {
font-size: 13px;
color: #666;
}
</style>

94
pages/records/reservationRecords2.vue

@ -0,0 +1,94 @@
<template>
<view
style="display: flex;flex-direction: column;height: 100vh;background: -webkit-linear-gradient(left,#FEA65F,#FB9440);">
<!-- 有列表的时候用 :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;
border-radius: 10px;padding: 10px 20px;">
<view class="item">
<text class="item_left">预约单号</text>
<text class="item_rifht">{{item.reserveCode}}</text>
</view>
<view class="item">
<text class="item_left">菜窖类型</text>
<text class="item_rifht">{{item.affiliationValue}}</text>
</view>
<view class="item">
<text class="item_left">预约日期</text>
<text class="item_rifht">{{item.reserveDate}}</text>
</view>
<view class="item">
<text class="item_left">&ensp;&ensp;</text>
<text class="item_rifht">{{item.userName}}</text>
</view>
<view class="item">
<text class="item_left">联系电话</text>
<text class="item_rifht">{{item.userPhone}}</text>
</view>
<view class="item">
<text class="item_left">&ensp;&ensp;&ensp;&ensp;</text>
<text class="item_rifht">{{item.stateValue}}</text>
</view>
<view style=" display: flex;flex-direction: row;align-items: center;margin-top: 5px;">
<text style="color: #999; font-size: 12px;">- {{item.goodss}}</text>
</view>
</view>
</z-paging>
</view>
</template>
<script>
export default {
data() {
return {
styleObject: {
'padding-top': '10px',
'padding-bottom': '10px',
'border-radius': '15px',
'background': '#f2f2f2'
},
data: []
}
},
methods: {
//
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 scoped>
.item {
margin-top: 5px;
}
.item_left {
font-size: 14px;
color: #333;
}
.item_rifht {
font-size: 13px;
color: #666;
}
</style>

BIN
static/close.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 575 B

Loading…
Cancel
Save