Browse Source

111111111

master
guoxing 1 year ago
parent
commit
f37a1de4f9
  1. 2
      common/request.api.js
  2. 7
      pages.json
  3. 29
      pages/bind/bind_cloudCard.vue
  4. 4
      pages/good/reservation.vue
  5. 31
      pages/good/shoppCart.vue
  6. 267
      pages/good/transfer.vue
  7. 17
      pages/home/cloudCard2.vue
  8. 23
      pages/home/myCellar.vue
  9. 12
      pages/home/myHome.vue
  10. 2
      pages/records/transferRecords.vue

2
common/request.api.js

@ -139,6 +139,8 @@ export default {
vegeCellarList: (params = {}) => request.post("/lpkgoods/vegeCellarList", params),
// 我的菜窖 转赠亲友
transSubmission: (params = {}) => request.post("/transferrecords/submission", params),
// 我的菜窖 获取转赠内容
getTransferByCode: (params = {}) => request.post("/transferrecords/getTransferByCode/"+params, params),
// 我的菜窖 领取/绑定转赠菜窖
receiveTransferGoods: (params = {}) => request.post("/vegetablecellar/receiveTransferGoods", params),
// 我的菜窖 绑定之前发出的礼品卡

7
pages.json

@ -344,6 +344,13 @@
{
"navigationBarTitleText" : "订单详情"
}
},
{
"path" : "pages/good/transfer",
"style": {
"navigationBarTitleText" : "转赠亲友",
"disableScroll": true
}
}

29
pages/bind/bind_cloudCard.vue

@ -64,6 +64,22 @@
type="number" :value="page.codeKey" @input="onKeyInput2" />
</view> -->
<text style="margin-left: 8px;font-size: 14px;color: #333;margin-top: 20px;">转赠内容</text>
<scroll-view scroll-y="true" style="height:20vh; width: 100%;margin-top: 10px;" bindscrolltoupper="upper"
bindscrolltolower="lower" bindscroll="scroll">
<view v-for="(item,index) in data" 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: 20px;padding-right: 20px;margin-top: 8px;">
<text style="font-size: 12px;color: #666;">{{item.goodsName}}</text>
<text style="font-size: 12px;color: #666;">{{item.remarks}}</text>
</view>
</view>
</scroll-view>
<view style="background: -webkit-linear-gradient(left,#FFB176,#FE923B); position: absolute; bottom: 30px;
width: 90%;border-radius: 100rpx;height: 80rpx;display: flex;
flex-direction: column;align-items: center;line-height: 80rpx;color: #FFFFFF;font-size: 36rpx;" @click="save">
@ -85,6 +101,7 @@
startHeight: 0,
endHeight: 0
},
data:[]
}
},
onLoad(options) {
@ -98,8 +115,20 @@
this.page.startHeight = info.windowWidth * 0.6
this.page.endHeight = info.windowWidth * 0.8
this.getData()
},
methods: {
getData(){
let _this = this
_this.$api.getTransferByCode(this.page.code).then((resp) => {
_this.data = resp
}).catch(e => {
_this.longToast(e.msg)
})
},
onKeyInput1(event) {
this.page.code = event.target.value
},

4
pages/good/reservation.vue

@ -33,7 +33,7 @@
style="display: flex;flex-direction: row;align-items: center;justify-content: space-between;">
<text
style="font-size: 16px;color: #000; font-weight: 600;font-family: sans-serif;">暂无提货信息</text>
style="font-size: 16px;color: #000; font-weight: 600;font-family: sans-serif;">暂无提货信息</text>
<view style="display: flex;flex-direction: row;align-items: center;" @click="address()">
<text style="font-size: 12px;color: #FF9900;">去完善</text>
@ -94,7 +94,7 @@
<view v-if="info.name==''" style="display: flex;flex-direction: row;align-items: center;"
@click="changePer()">
<text style="font-size: 12px;color: #999; margin-left: 8px;">完善</text>
<text style="font-size: 12px;color: #999; margin-left: 8px;">完善</text>
<image src="../../static/right_icon.png" style="width: 15px;height: 15px;margin-left: 5px;">
</image>

31
pages/good/shoppCart.vue

@ -57,10 +57,9 @@
</view>
<view style="height: 150px; background: #F2F2F2;"></view>
</view>
<view v-if="notData"
style="display: flex;flex-direction: column;align-items: center;margin-top: -30vw;">
<view v-if="notData" style="display: flex;flex-direction: column;align-items: center;margin-top: -30vw;">
<image src="https://supervise.yxtsoft.com/lpk/image/not_Cart.png" mode="aspectFit"
style="width: 50vw;height: 50vw;"></image>
<view style="display: flex;flex-direction: column;align-items: center;margin-top: 10px;">
@ -69,7 +68,7 @@
background: -webkit-linear-gradient(left,#FFC369,#FF9901);margin-top: 10px;" @click="gotoShopp()">去逛逛</text>
</view>
</view>
<!-- </scroll-view> -->
<view style=" width: 100%; display: flex;flex-direction: column;position: fixed;bottom: 0;overflow:hidden;
@ -119,8 +118,7 @@
<uni-popup ref="inputDialog" type="dialog">
<uni-popup-dialog ref="inputClose" mode="base" title="起订说明" :showConfirm="true"
:beforeClose="dialogBeforeClose" @confirm="dialogInputConfirm"
content="百姓菜窖及精品菜窖起订量为20斤,\n\n20斤-99斤需额外支付10%附加费用,\n\n100斤-199斤需额外支付5%附加费用,\n\n满200斤及以上无附加费。"></uni-popup-dialog>
:beforeClose="dialogBeforeClose" @confirm="dialogInputConfirm" :content="page.qdxy"></uni-popup-dialog>
</uni-popup>
</view>
@ -130,7 +128,7 @@
export default {
data() {
return {
notData:false,
notData: false,
dialogBeforeClose: false,
page: {
affiliation: '',
@ -138,7 +136,8 @@
price: "0",
reduce: "0",
remarks: "",
qssl: ""
qssl: "",
qdxy: ""
},
data: [
@ -148,16 +147,17 @@
onLoad(options) {
this.page.affiliation = options.affiliation
this.page.qssl = options.weight
this.page.qdxy = options.qdxy
console.log(" options", options);
},
onShow() {
this.request()
},
methods: {
gotoShopp(){
gotoShopp() {
uni.reLaunch({
url:"/pages/home/cloudCard2"
url: "/pages/home/cloudCard2"
})
},
showPop() {
@ -180,8 +180,8 @@
_this.$api.shoppingCartList(params).then((resp) => {
console.log("resp", resp);
_this.data = resp
_this.notData = resp.length==0
_this.notData = resp.length == 0
// _this.getallPrice()
// _this.getweight()
_this.getAllPriceOrWeight()
@ -342,8 +342,7 @@
// console.log("resp", resp);
this.$pay(resp)
}).catch(e => {
})
}).catch(e => {})
},

267
pages/good/transfer.vue

@ -0,0 +1,267 @@
<template>
<view style="width: 100%;height: 100%;background: #FFA35A;display: flex;flex-direction: column;">
<!-- <NavBar ref="nav" navTitle="转赠亲友" :showIcon="true" :supportChange="false">
</NavBar> -->
<view
style="display: flex;flex-direction: column;background: #f7f7f7;padding: 10px;border-radius: 15px; height: 100vh;width: 100%; box-sizing: border-box;">
<scroll-view scroll-y="true" style="height: calc(100vh - 150px); width: 100%; background: #fff;padding: 10px; box-sizing: border-box;
" bindscrolltoupper="upper" bindscrolltolower="lower" bindscroll="scroll">
<view style="display: flex;flex-direction: column;">
<view v-for="(item,index) in pickingUpGoods"
style=" display: flex;flex-direction: row;margin-top: 15px; margin-bottom: 10px;">
<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: 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;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>
<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>
<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 style="display: flex;flex-direction: row;align-items: center;">
<image src="../../static/jian_icon.png" mode="aspectFill"
style="width: 20px;height: 20px;" @click.stop="jian(item)"></image>
<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>
<view v-if="transferNotData"
style="display: flex;flex-direction: column;justify-content: center;align-items: center;margin-top: 5vw;">
<image src="https://supervise.yxtsoft.com/lpk/image/supplementing.png" mode="aspectFit"
style="width: 50vw;height: 50vw;"></image>
<view style="display: flex;flex-direction: row;align-items: center;margin-top: -15px;">
<text style=" border-radius: 8px; padding: 3px 8px; color: #999;">没有商品咯,请添加~</text>
</view>
</view>
</view>
</scroll-view>
</view>
<view style="position: fixed;bottom: 0;display: flex;flex-direction: column;
border-top: 1px solid #f7f7f7;
justify-content: center;background: #fff; width: 100%;box-sizing:border-box;">
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 15px;
padding-left: 15px;padding-right: 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>
<button open-type="share" :disabled="transferNotData">确认</button>
</view>
</view>
</template>
<script>
export default {
data() {
return {
affiliation: "",
transferNotData: false,
transferInfo: {
},
pickingUpGoods: [],
}
},
onLoad(options) {
this.pickingUpGoods = JSON.parse(decodeURIComponent(options.pickingUpGoods))
this.affiliation = options.affiliation
console.log(">>>>>", options);
console.log(">>>>>", this.pickingUpGoods);
console.log(">>>>>", this.affiliation);
},
onPageScroll(res) {
//
this.$refs.nav.defaultColorBgAlpha(res)
},
methods: {
onKeyInput(event) {
this.transferInfo.remarks = event.target.value
},
jian(item) {
console.log("item》》》》", item)
const that = this
if (Number(item.count) == 1) {
wx.showModal({
content: '确定不要了吗',
cancelText: "再想想",
confirmText: "删除",
confirmColor: "#FF9900",
success(res) {
if (res.confirm) {
console.log('用户点击确定')
item.count = 0
const index = that.pickingUpGoods.findIndex((info) => info.goodsSid === item
.goodsSid)
console.log("index》》》》", index)
that.pickingUpGoods.splice(index, 1)
that.transferNotData = that.pickingUpGoods.length == 0
} else if (res.cancel) {
}
}
})
} else {
if (Number(item.count) > 0) {
item.count = Number(item.count) - 1
}
}
},
jia(item) {
if (item.count < item.goodsNumber)
item.count = Number(item.count) + 1
},
onShareAppMessage: function(res) {
let _this = this
const promise = new Promise(resolve => {
//
setTimeout(() => {
var list = []
for (var i = 0; i < this.pickingUpGoods.length; i++) {
var item = this.pickingUpGoods[i]
if (item.count > 0) {
list.push({
goodsSid: item.goodsSid,
select: item.count
})
}
}
var params = {
customerSid: getApp().globalData.sid,
brandId: _this.affiliation,
remarks: _this.transferInfo.remarks,
vos: list
}
// console.log("=========0", params);
_this.$api.transSubmission(params).then((resp) => {
// console.log("=========", resp);
_this.showModal3 = false
let shareData = JSON.stringify({
params: {
code: resp.transferCode,
codeKey: resp.sid
},
functionName: 'bindCard',
url: '/pages/bind/bind_cloudCard?code=' + resp
.transferCode + "&codeKey=" + resp.sid
// url: '/pages/home/cloudCard2?shareSid=' + getApp().globalData.sid,
// functionName: 'share'
})
//
let value = encodeURIComponent(shareData)
resolve({
title: '汇融惠享-云菜窖',
//
path: '/pages/login/login?data=' + value,
imageUrl: 'https://supervise.yxtsoft.com/lpk/image/share_transfer.png', // 5:4
})
}).catch(e => {
_this.shortToast('发生错误,请稍后再试.')
return
})
}, 0)
})
return promise
},
}
}
</script>
<style>
button {
background: #FF9900;
color: #fff;
margin-top: 20px;
height: 40px;
width: 80%;
line-height: 40px;
text-align: center;
border-radius: 20px;
margin-bottom: 20px;
}
</style>

17
pages/home/cloudCard2.vue

@ -16,7 +16,7 @@
<view
style="background: #fff; width: 100%; border-radius: 15px;display: flex;flex-direction: column; box-sizing: border-box;flex: 1">
<view class="center" style="flex: 1;">
<view class="center" style="">
<view
style="width: 24%;display: flex;flex-direction: column;overflow-y: auto;padding-top: 10px;">
@ -158,7 +158,7 @@
</view>
<view
style="display: flex;flex-direction: row; justify-content: center;align-items: center;padding-bottom: 10px;margin-top: 5px;padding: 0px 10px;">
style="display: flex;flex-direction: row; justify-content: center;align-items: center;margin-top: 5px;padding: 0px 10px;">
<button open-type="share">分享新人有礼</button>
@ -201,7 +201,7 @@
<uni-popup ref="inputDialog2" type="dialog">
<uni-popup-dialog ref="inputClose" mode="base" title="起订说明" :showConfirm="true"
:beforeClose="dialogBeforeClose2" @confirm="dialogInputConfirm2"
content="百姓菜窖及精品菜窖起订量为20斤,\n\n20斤-99斤需额外支付10%附加费用,\n\n100斤-199斤需额外支付5%附加费用,\n\n满200斤及以上无附加费。"></uni-popup-dialog>
:content="data.brandVos[selectIndex2].qdxy"></uni-popup-dialog>
</uni-popup>
</view>
@ -554,7 +554,7 @@
gotoCart() {
uni.navigateTo({
url: '/pages/good/shoppCart?affiliation=' + this.data.brandVos[this.selectIndex2].id +
"&weight=" + this.data.brandVos[this.selectIndex2].qssl
"&weight=" + this.data.brandVos[this.selectIndex2].qssl+"&qdxy=" + this.data.brandVos[this.selectIndex2].qdxy
})
},
showPop2() {
@ -645,6 +645,13 @@
},
onShareTimeline() {
return {
title: '邀请您使用XXX小程序', //
path: '/pages/index/index', // URL
imageUrl: '/static/logo_icon.png', // PNGJPG
};
},
}
}
@ -685,6 +692,7 @@
display: flex;
flex-direction: row;
/* 这里注意,影响弹窗 */
height: calc(100vh - 120px - 50vw);
background-color: #f7f7f7;
border-radius: 15px;
overflow: hidden;
@ -697,7 +705,6 @@
border-top: 1px solid #F8F8F8;
padding-top: 5px;
flex-shrink: 0;
margin-bottom: 10px;
}
.label {

23
pages/home/myCellar.vue

@ -316,7 +316,8 @@
<image src="https://supervise.yxtsoft.com/lpk/image/supplementing.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
style="background: #FF9900; border-radius: 8px; padding: 3px 8px; color: #fff;">请添加~</text>
</view>
</view>
@ -449,11 +450,13 @@
this.transferInfo.remarks = event.target.value
},
shareGift() {
console.log("shareGift>>>>", this.shareSid);
// isNewUser==1
if (this.shareSid != '' && getApp().globalData.isNewUser == '1') {
var params = {
customerSid: this.shareSid,
customerSid: getApp().globalData.sid,
orderSid: this.orderSid
}
@ -583,15 +586,25 @@
},
transfer() {
this.showModal3 = true
if (this.pickingUpGoods.length > 0) {
// this.showModal3 = true
uni.navigateTo({
url: '/pages/good/transfer?pickingUpGoods=' + encodeURIComponent(JSON.stringify(this
.pickingUpGoods)) + "&affiliation=" + this.data[this.selectIndex].id,
})
} else {
this.shortToast('请先选择商品')
}
},
reservation() {
console.log(">>>>>>>>>>",this.pickingUpGoods);
console.log(">>>>>>>>>>", this.pickingUpGoods);
if (this.pickingUpGoods.length > 0) {
uni.navigateTo({
url: '/pages/good/reservation?pickingUpGoods=' + encodeURIComponent(JSON.stringify(this.pickingUpGoods)) +
url: '/pages/good/reservation?pickingUpGoods=' + encodeURIComponent(JSON.stringify(this
.pickingUpGoods)) +
"&affiliation=" + this.data[this.selectIndex].id,
})

12
pages/home/myHome.vue

@ -125,24 +125,24 @@
<text style="font-size: 12px;color: #4B4B4B; margin-top: 8px;">邀请新朋友后您将获得蔬菜品鉴礼包</text>
<!-- <view style="display: flex;flex-direction: row;align-items: center; ">
<!-- <view style="display: flex;flex-direction: row;align-items: center; "> -->
<image :src="recommend.iconUrl" style="width: 35%;height: 150px; border-radius: 10px;"
<!-- <image :src="recommend.iconUrl" style="width: 35%;height: 150px; border-radius: 10px;"
mode="aspectFill">
</image>
</image> -->
<view style="display: flex;flex-direction: column; margin-left: 20px; ">
<!-- <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;">
<text style="color: #424242; font-size: 12px;line-height: 20px;">* {{child.content}}</text>
</view>
</view>
</view> -->
</view> -->
<!-- </view> -->
</view>

2
pages/records/transferRecords.vue

@ -95,7 +95,7 @@
title: '汇融惠享-云菜窖',
//
path: '/pages/login/login?data=' + value,
imageUrl: 'https://supervise.yxtsoft.com/lpk/image/shareAffeection.png', // 5:4
imageUrl: 'https://supervise.yxtsoft.com/lpk/image/share_transfer.png', // 5:4
success: function(res) {
console.log('aaaa', "分享成功")
},

Loading…
Cancel
Save