guoxing 1 year ago
parent
commit
41d730fc11
  1. 14
      pages.json
  2. 22
      pages/home/myCellar.vue
  3. 184
      pages/me/applyRefund.vue
  4. 168
      pages/me/refundDetail.vue
  5. 29
      pages/records/orderDetail.vue
  6. BIN
      static/materialCode.png

14
pages.json

@ -407,6 +407,20 @@
"navigationBarTitleText": "新增发票",
"disableScroll": true
}
},
{
"path": "pages/me/applyRefund",
"style": {
"navigationBarTitleText": "申请退款",
"disableScroll": true
}
},
{
"path": "pages/me/refundDetail",
"style": {
"navigationBarTitleText": "退款详情",
"disableScroll": true
}
}

22
pages/home/myCellar.vue

@ -402,9 +402,21 @@
mode="scaleToFill"></image>
<text
style="margin-top: 16px;font-size: 18px;color: #101010;font-weight: 600;font-family: sans-serif;">重要提醒</text>
<text
style="margin-top: 12px;font-size: 14px;color: #333;padding-left: 30px;padding-right: 30px;">您好云菜窖菜品提货截止日为2024年3月31日过期后菜品将自动失效请尽快进行预约提货</text>
style="margin-top: 16px;font-size: 18px;color: #101010;font-weight: 600;font-family: sans-serif;"> </text>
<view style="display: flex;flex-direction: column; max-height:30vh; overflow-y: auto;">
<text
style="margin-top: 12px;font-size: 14px;color: #333;padding-left: 30px;padding-right: 30px; ">尊敬的客户
&ensp;&ensp;&ensp;&ensp;冬去春来惠享云菜窖已伴随您走过了120个平凡又温馨的日子首先向您表达诚挚的谢意正是您的支持与陪伴激励着我们不断对产品和程序进行改进升级也最终使得首期活动得以顺利开展圆满闭窖
&ensp;&ensp;&ensp;&ensp;平价优质便捷是我们给您的一贯承诺在活动中我们为您储备了基地直采的优质实惠的蔬菜和水果把绿色新鲜健康送到您的身边我们与您和社区的关系更加紧密也践行了助力乡村振兴的使命和担当
&ensp;&ensp;&ensp;&ensp;在磨合中我们也发现菜品品种需要丰富服务水平需要加强配送效率需要提升等不足但是我们坚信拥有热忱便会进步我们会总结经验不断前行在2024年10月份的云菜窖正式开窖时给您更好的体验
&ensp;&ensp;&ensp;&ensp;接下来我们即将开启汇融惠农家庭菜园家庭果园等活动期待得到您的持续关注与支持再次向您表达真诚的谢意祝您生活愉快身体健康
&ensp;&ensp;更多精彩请您扫码关注</text>
</view>
<image src="../../static/materialCode.png"
style="width: 80px;height: 80px; margin-top: 10px;" mode="aspectFit"></image>
<text style="margin-top: 25px;margin-bottom: 20px;border: 1px #FF9900 solid; color: #FF9900;font-size: 14px;
border-radius: 20px;height: 40px; line-height: 40px;padding-left: 30px;padding-right: 30px;"
@ -511,8 +523,8 @@
this.page.count = 0
},
onLoad(options) {
this.showModal5 = true
this.showModal5 = true
this.shareSid = options.shareSid
this.orderSid = options.orderSid

184
pages/me/applyRefund.vue

@ -0,0 +1,184 @@
<template>
<view style="display: flex;flex-direction: column;height: 100vh; background: #F7F7F7;">
<loading-state ref="pageView" @request="request">
<view style="height: 100vh;overflow: hidden;overflow-y: auto;">
<view
style="background: #fff;border-radius: 10px;display: flex;flex-direction: column;padding: 15px;margin-top: 15px; margin-left: 10px;margin-right: 10px;">
<text style="font-size: 18px;font-weight: 600;font-family: serif;margin-bottom: 10px;">退款商品</text>
<view v-for="(item,index) in data.ordOrderDetails"
style=" display: flex;flex-direction: row;align-items: center; margin-bottom: 10px;">
<image :src="item.picUrl" @click="itemClick(item.goodsSid)"
style="width: 70px;height: 70px;border-radius: 15px;" mode="scaleToFill">
</image>
<view style="margin-left: 10px;display: flex;flex-direction: column;flex: 1;">
<view style="display: flex;flex-direction: row;width: 100%;">
<text style="flex: 1;font-weight: 600;font-family: sans-serif;font-size: 14px;"
@click="itemClick(item.goodsSid)">{{item.goodsName}}</text>
<text
style="font-weight: 600;font-family: sans-serif;font-size: 14px;">{{item.pricePart}}</text>
</view>
<!-- <text style="margin-top: 10px;font-size: 12px;color: #999;">{{item.remarks}}</text> -->
<view style="margin-top: 8px;display: flex;flex-direction: column;">
<view style="display: flex;flex-direction: row;align-items: center;">
<text style="border: 1px #EE752F solid; border-radius: 5px; padding: 0px 8px;
font-size: 10px;color: #EE752F;">{{item.priceUnit}}/{{item.specificationUnit}}</text>
<text
style="border: 1px #EE752F solid; border-radius: 5px; padding: 0px 8px;
font-size: 10px;color: #EE752F; margin-left: 10px; margin-right: 10px; ">{{item.numofPart}}{{item.specificationUnit}}/{{item.unitName}}</text>
</view>
<text
style="margin-top: 12px;font-size: 12px;color: #999;">份数{{item.partNumber}}{{item.unitName}}</text>
</view>
</view>
</view>
</view>
<view style="background: #fff;border-radius: 10px;margin-top: 12px;margin-left: 10px;margin-right: 10px;
display: flex;flex-direction: column;padding: 12px 16px;">
<text style="font-size: 16px;">订单信息</text>
<view style="display: flex;flex-direction: column;margin-top: 15px; ">
<view style="display: flex;flex-direction: row;align-items: center;">
<text style="font-size: 14px;color: #999;">订单编号</text>
<text
style="margin-left: 15px;font-size: 14px;color: #333;word-break: break-all;">{{data.outTradeNo}}</text>
</view>
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 8px;">
<text style="font-size: 14px;color: #999;">下单时间</text>
<text style="margin-left: 15px;font-size: 14px;color: #333;">{{data.createTime}}</text>
</view>
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 8px;">
<text style="font-size: 14px;color: #999;">支付方式</text>
<text style="margin-left: 15px;font-size: 14px;color: #333;">{{data.payType}}</text>
</view>
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 8px;"
v-if="data.payStatus=='4'">
<text style="font-size: 14px;color: #999;">付款时间</text>
<text style="margin-left: 15px;font-size: 14px;color: #333;">{{data.payTime}}</text>
</view>
</view>
</view>
<view style="background: #fff;border-radius: 10px;margin-top: 12px;margin-left: 10px;margin-right: 10px;
display: flex;flex-direction: column;padding: 12px 16px;margin-bottom: 100px; box-sizing: border-box;">
<view style="display: flex;flex-direction: row; align-items: center;">
<text style="font-size: 16px;font-weight: 600;font-family: serif;">退款原因</text>
<text style="font-size: 16px;color: #FF9900;margin-left: 5px;">(必填)</text>
</view>
<textarea type="text" v-model="reason" placeholder="补充详细退款原因,有利于商家更快的帮您处理。"
style="margin-top: 12px; box-sizing: border-box; width: 100%; background: #FAFAFA;color: #999;font-size: 16px;min-height: 150px; padding: 12px 16px;" />
</view>
</view>
</loading-state>
<view
style="position: absolute; bottom: 0px; display: flex;flex-direction: row;width: 100%;align-items: center;
box-sizing: border-box; padding-left: 16px;padding-right: 16px;background: #fff; height: 8vh;border-top: 1px solid #EFEFEF;">
<view style="display: flex;flex-direction: row;align-items: center;flex: 1;">
<text style="font-size: 14px;">退款金额</text>
<text style="font-size: 18px;color: #FF5006;">{{data.totalTee}}</text>
</view>
<text style="font-size: 16px;color: #fff; background-color: #FF9900; height: 5vh;line-height: 5vh;
padding: 0px 20px;border-radius: 20px;" @click="submitApply">提交申请</text>
</view>
</view>
</template>
<script>
export default {
data() {
return {
page: {
sid: ""
},
data: {},
reason: ""
}
},
onLoad(options) {
this.page.sid = options.sid
this.request()
},
methods: {
//
request() {
let _this = this
_this.$api.orderDetails(_this.page.sid).then((resp) => {
_this.data = resp
_this.$nextTick(() => {
_this.$refs.pageView.setLoadState(2)
})
}).catch(e => {
_this.$nextTick(() => {
_this.$refs.pageView.setLoadState(1)
})
})
},
itemClick(goodsSid) {
uni.navigateTo({
url: '/pages/good/goodsDetail?sid=' + goodsSid
})
},
submitApply() {
if (this.stringIsEmpty(this.reason)) {
this.shortToast('请填写退款原图')
return
}
},
}
}
</script>
<style>
</style>

168
pages/me/refundDetail.vue

@ -0,0 +1,168 @@
<template>
<view style="display: flex;flex-direction: column;height: 100vh; background: #F7F7F7;">
<loading-state ref="pageView" @request="request">
<view style="height: 100vh;overflow: hidden;overflow-y: auto;">
<view style="background: #fff;border-radius: 10px;margin-top: 12px;margin-left: 10px;margin-right: 10px;
display: flex;flex-direction: column;padding: 12px 16px;">
<view
style="display: flex;flex-direction: column; border-bottom: 1px #F7F7F7 solid; padding-bottom: 16px;">
<text style="font-size: 20px;color: #000;">退款中</text>
<text style="font-size: 14px;color: #999;">您已提交退款申请请等待处理</text>
</view>
<view
style="display: flex;flex-direction:row;justify-content: space-between;align-items: center;margin-top: 16px;">
<text style="font-size: 16px;color: #666;">退款金额</text>
<text style="font-size: 16px;color: #FF5006;">{{data.totalTee}}</text>
</view>
<view
style="display: flex;flex-direction:row;justify-content: space-between;align-items: center;margin-top: 10px;">
<text style="font-size: 16px;color: #666;">退款原因</text>
<text style="font-size: 16px;color: #333;">您已提交退款申请请等待处理</text>
</view>
</view>
<view
style="background: #fff;border-radius: 10px;display: flex;flex-direction: column;padding: 15px;margin-top: 15px; margin-left: 10px;margin-right: 10px;">
<text style="font-size: 18px;font-weight: 600;font-family: serif;margin-bottom: 10px;">退款商品</text>
<view v-for="(item,index) in data.ordOrderDetails"
style=" display: flex;flex-direction: row;align-items: center; margin-bottom: 10px;">
<image :src="item.picUrl" @click="itemClick(item.goodsSid)"
style="width: 70px;height: 70px;border-radius: 15px;" mode="scaleToFill">
</image>
<view style="margin-left: 10px;display: flex;flex-direction: column;flex: 1;">
<view style="display: flex;flex-direction: row;width: 100%;">
<text style="flex: 1;font-weight: 600;font-family: sans-serif;font-size: 14px;"
@click="itemClick(item.goodsSid)">{{item.goodsName}}</text>
<text
style="font-weight: 600;font-family: sans-serif;font-size: 14px;">{{item.pricePart}}</text>
</view>
<!-- <text style="margin-top: 10px;font-size: 12px;color: #999;">{{item.remarks}}</text> -->
<view style="margin-top: 8px;display: flex;flex-direction: column;">
<view style="display: flex;flex-direction: row;align-items: center;">
<text style="border: 1px #EE752F solid; border-radius: 5px; padding: 0px 8px;
font-size: 10px;color: #EE752F;">{{item.priceUnit}}/{{item.specificationUnit}}</text>
<text
style="border: 1px #EE752F solid; border-radius: 5px; padding: 0px 8px;
font-size: 10px;color: #EE752F; margin-left: 10px; margin-right: 10px; ">{{item.numofPart}}{{item.specificationUnit}}/{{item.unitName}}</text>
</view>
<text
style="margin-top: 12px;font-size: 12px;color: #999;">份数{{item.partNumber}}{{item.unitName}}</text>
</view>
</view>
</view>
</view>
<view style="background: #fff;border-radius: 10px;margin-top: 12px;margin-left: 10px;margin-right: 10px;
display: flex;flex-direction: column;padding: 12px 16px;margin-bottom: 100px;">
<text style="font-size: 16px;">订单信息</text>
<view style="display: flex;flex-direction: column;margin-top: 15px; ">
<view style="display: flex;flex-direction: row;align-items: center;">
<text style="font-size: 14px;color: #999;">订单编号</text>
<text
style="margin-left: 15px;font-size: 14px;color: #333;word-break: break-all;">{{data.outTradeNo}}</text>
</view>
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 8px;">
<text style="font-size: 14px;color: #999;">下单时间</text>
<text style="margin-left: 15px;font-size: 14px;color: #333;">{{data.createTime}}</text>
</view>
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 8px;">
<text style="font-size: 14px;color: #999;">支付方式</text>
<text style="margin-left: 15px;font-size: 14px;color: #333;">{{data.payType}}</text>
</view>
<view style="display: flex;flex-direction: row;align-items: center;margin-top: 8px;"
v-if="data.payStatus=='4'">
<text style="font-size: 14px;color: #999;">付款时间</text>
<text style="margin-left: 15px;font-size: 14px;color: #333;">{{data.payTime}}</text>
</view>
</view>
</view>
</view>
</loading-state>
</view>
</template>
<script>
export default {
data() {
return {
page: {
sid: ""
},
data: {},
reason: ""
}
},
onLoad(options) {
this.page.sid = options.sid
this.request()
},
methods: {
//
request() {
let _this = this
_this.$api.orderDetails(_this.page.sid).then((resp) => {
_this.data = resp
_this.$nextTick(() => {
_this.$refs.pageView.setLoadState(2)
})
}).catch(e => {
_this.$nextTick(() => {
_this.$refs.pageView.setLoadState(1)
})
})
},
itemClick(goodsSid) {
uni.navigateTo({
url: '/pages/good/goodsDetail?sid=' + goodsSid
})
},
}
}
</script>
<style>
</style>

29
pages/records/orderDetail.vue

@ -138,11 +138,18 @@
</view>
</loading-state>
<view
<view v-if="data.payStatus=='2'||data.payStatus=='4'"
style="position: absolute; bottom: 0px; display: flex;flex-direction: row;width: 100%;align-items: center;
box-sizing: border-box; padding-left: 16px;padding-right: 16px;background: #fff; height: 8vh;border-top: 1px solid #EFEFEF;">
<view style="flex: 1;"></view>
<text style="font-size: 16px;color: #fff; background-color: #FF9900; height: 5vh;line-height: 5vh;
padding: 0px 20px;border-radius: 20px;" @click="continuePy" v-if="data.payStatus=='2'">继续付款</text>
<text style="font-size: 16px;color: #fff; background-color: #FF9900; height: 5vh;line-height: 5vh;
padding: 0px 20px;border-radius: 20px;margin-right: 10px;" @click="refund" >申请退款</text>
<view style="display: flex;flex-direction: row;align-items: center;" v-if="data.payStatus=='4'">
<text style="font-size: 16px;color: #666; border: 1px #D3D3D3 solid; height: 5vh;line-height: 5vh;
padding: 0px 20px;border-radius: 20px;" @click="makeInvoice(data.sid)" v-if="data.invoiceStatus=='0'">开具发票</text>
@ -162,7 +169,7 @@
</view>
</view> -->
<view v-if="data.payStatus=='2'"
<!-- <view v-if="data.payStatus=='2'"
style="position: absolute; bottom: 0px; display: flex;flex-direction: row;width: 100%;align-items: center;
box-sizing: border-box; padding-left: 16px;padding-right: 16px;background: #fff; height: 8vh;border-top: 1px solid #EFEFEF;">
@ -170,7 +177,7 @@
<text style="font-size: 16px;color: #fff; background-color: #FF9900; height: 5vh;line-height: 5vh;
padding: 0px 20px;border-radius: 20px;" @click="continuePy">继续付款</text>
</view>
</view -->
@ -279,7 +286,7 @@
})
},
makeInvoice() {
makeInvoice(sid) {
// let _this = this
// var params = {
@ -314,12 +321,22 @@
uni.navigateTo({
url: "/pages/me/makeInvoice?sid=" + sid
url: "/pages/me/makeInvoice?sid=" +sid
})
},
refund(){
// uni.navigateTo({
// url: "/pages/me/applyRefund?sid=" + this.page.sid
// })
uni.navigateTo({
url: "/pages/me/refundDetail?sid=" + this.page.sid
})
}
}

BIN
static/materialCode.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Loading…
Cancel
Save