接口对接

This commit is contained in:
donqi 2022-06-08 18:04:55 +08:00
parent 74b719b427
commit e8db1977a0
11 changed files with 122 additions and 84 deletions

View File

@ -1,5 +1,6 @@
export default { export default {
CONFIRM: 'confirmCallback', CONFIRM: 'confirmCallback',
CANCEL: 'cancelCallback',
VERTICAL_NAV_GET_ITEM: 'verticalNavGetItem', VERTICAL_NAV_GET_ITEM: 'verticalNavGetItem',
VERTICAL_NAV_SEARCH: 'verticalNavSearch', VERTICAL_NAV_SEARCH: 'verticalNavSearch',
CHOOSE_ADDRESS: 'chooseAddress' CHOOSE_ADDRESS: 'chooseAddress'

View File

@ -5,6 +5,10 @@ export default {
addInterceptor() { addInterceptor() {
uni.addInterceptor('request', { uni.addInterceptor('request', {
invoke(args) { invoke(args) {
uni.showLoading({
mask: true,
title: '加载中'
})
// request 触发前拼接 url // request 触发前拼接 url
// args.url = 'https://www.opsoul.com' + args.url; // args.url = 'https://www.opsoul.com' + args.url;
// args.url = 'http://10.45.137.214:80' + args.url; // args.url = 'http://10.45.137.214:80' + args.url;
@ -35,7 +39,7 @@ export default {
}) })
}, },
complete(res) { complete(res) {
console.log('interceptor-complete', res) uni.hideLoading();
} }
}) })
}, },
@ -373,6 +377,14 @@ export default {
}) })
return res[1].data; return res[1].data;
}, },
async updateOrder(params = {}) {
let res = await uni.request({
url: '/order/master/editOrderMaster',
method: 'POST',
data: params
})
return res[1].data;
},
async getHotGoods(params = {}) { async getHotGoods(params = {}) {
let res = await uni.request({ let res = await uni.request({
url: '/goods/goods/hot/list', url: '/goods/goods/hot/list',
@ -384,5 +396,5 @@ export default {
} }
}) })
return res[1].data; return res[1].data;
}, }
} }

View File

@ -8,8 +8,7 @@
</view> </view>
<view class="cu-bar bg-white"> <view class="cu-bar bg-white">
<view class="action margin-0 flex-sub text-black" @tap="hideModal">{{cancelMsg}}</view> <view class="action margin-0 flex-sub text-black" @tap="hideModal">{{cancelMsg}}</view>
<view class="action margin-0 flex-sub text-main-color solid-left" @tap="hideModal" <view class="action margin-0 flex-sub text-main-color solid-left" @click="confirmCallback">{{confirmMsg}}</view>
@click="confirmCallback">{{confirmMsg}}</view>
</view> </view>
</view> </view>
</view> </view>
@ -19,6 +18,7 @@
<script> <script>
export default { export default {
name: 'confirm-modal', name: 'confirm-modal',
emits: ["confirm", 'cancel'],
props: { props: {
content: { content: {
type: String, type: String,
@ -43,10 +43,12 @@
this.isShow = true this.isShow = true
}, },
hideModal(e) { hideModal(e) {
this.isShow = false this.$emit('cancel');
this.isShow = false;
}, },
confirmCallback(e) { confirmCallback(e) {
uni.$emit(this.$globalFun.CONFIRM); this.$emit('confirm');
this.hideModal();
} }
} }
} }

View File

@ -139,6 +139,10 @@
}, },
methods: { methods: {
async loadData() { async loadData() {
uni.showLoading({
mask: true,
title: '加载中'
})
// userInfo // userInfo
let res = await this.$request.storageExistUser(); let res = await this.$request.storageExistUser();
// userInfo // userInfo
@ -151,6 +155,8 @@
if (this.isAuthWxPhoneModal) { if (this.isAuthWxPhoneModal) {
return; return;
} }
uni.hideLoading();
// //
this.loadRegionList(); this.loadRegionList();
// //

View File

@ -88,7 +88,7 @@
<block>{{myInfo.serOrderNum.wait2Serv}}</block> <block>{{myInfo.serOrderNum.wait2Serv}}</block>
</view> </view>
</view> </view>
<text>服务</text> <text>排期</text>
</view> </view>
<view class="cu-item" @click="showMyOrders(servOrderTabList, 2, servOrderType)"> <view class="cu-item" @click="showMyOrders(servOrderTabList, 2, servOrderType)">
<view class="cuIcon-repair"> <view class="cuIcon-repair">
@ -96,7 +96,7 @@
<block>{{myInfo.serOrderNum.processing}}</block> <block>{{myInfo.serOrderNum.processing}}</block>
</view> </view>
</view> </view>
<text>进行中</text> <text>待上门</text>
</view> </view>
<view class="cu-item" @click="showMyOrders(servOrderTabList, 3, servOrderType)"> <view class="cu-item" @click="showMyOrders(servOrderTabList, 3, servOrderType)">
<view class="cuIcon-comment"> <view class="cuIcon-comment">
@ -104,7 +104,7 @@
<block>{{myInfo.serOrderNum.afterServ}}</block> <block>{{myInfo.serOrderNum.afterServ}}</block>
</view> </view>
</view> </view>
<text>售后</text> <text>服务</text>
</view> </view>
<view class="cu-item" @click="showMyOrders(servOrderTabList, 4, servOrderType)"> <view class="cu-item" @click="showMyOrders(servOrderTabList, 4, servOrderType)">
<view class="cuIcon-forward"> <view class="cuIcon-forward">
@ -112,7 +112,7 @@
<block>{{myInfo.serOrderNum.wait2Forward}}</block> <block>{{myInfo.serOrderNum.wait2Forward}}</block>
</view> </view>
</view> </view>
<text>待转发</text> <text>已完成</text>
</view> </view>
</view> </view>
<!-- 商品订单 --> <!-- 商品订单 -->

View File

@ -45,6 +45,7 @@
<script> <script>
export default { export default {
nama: 'new-serv-price', nama: 'new-serv-price',
emits: ['hideModal'],
props: { props: {
show: { show: {
type: Boolean, type: Boolean,
@ -64,7 +65,7 @@
}, },
methods: { methods: {
hideModal(e) { hideModal(e) {
this.$emit(this.$globalFun.HIDE_MODAL, e); this.$emit('hideModal', e);
}, },
sendUrgentMsg(e) { sendUrgentMsg(e) {

View File

@ -32,7 +32,7 @@
<button class="cu-btn bg-main-color long-btn margin-lr-sm shadow-blur" @click="addEditAddress(null)">新增地址</button> <button class="cu-btn bg-main-color long-btn margin-lr-sm shadow-blur" @click="addEditAddress(null)">新增地址</button>
</view> </view>
<!-- 模态框 --> <!-- 模态框 -->
<confirm-modal ref="confirmModal" :content="'是否确定删除?'"></confirm-modal> <confirm-modal ref="confirmModal" :content="'是否确定删除?'" @confirm="delAddress"></confirm-modal>
</view> </view>
</template> </template>
@ -50,14 +50,10 @@
if (Boolean(options)) { if (Boolean(options)) {
this.chooseMode = options.chooseMode === 'true' ? true : false; this.chooseMode = options.chooseMode === 'true' ? true : false;
} }
this.bindEvent();
}, },
onShow() { onShow() {
this.loadData(); this.loadData();
}, },
onUnload() {
this.offBindEvent();
},
methods: { methods: {
async loadData() { async loadData() {
// this.myAddressList = await this.$api.data('myAddressList'); // this.myAddressList = await this.$api.data('myAddressList');
@ -66,12 +62,6 @@
}); });
this.myAddressList = res.data; this.myAddressList = res.data;
}, },
bindEvent() {
uni.$on(this.$globalFun.CONFIRM, this.delAddress);
},
offBindEvent() {
uni.$off(this.$globalFun.CONFIRM);
},
addEditAddress(addressInfo) { addEditAddress(addressInfo) {
let url = null; let url = null;
let params = null; let params = null;
@ -122,12 +112,6 @@
}) })
} }
}, },
showModal(e) {
this.modalName = typeof e === 'string' ? e : e.currentTarget.dataset.target
},
hideModal(e) {
this.modalName = null
},
chooseAddress(addressInfo) { chooseAddress(addressInfo) {
if (this.chooseMode) { if (this.chooseMode) {
uni.$emit(this.$globalFun.CHOOSE_ADDRESS, addressInfo); uni.$emit(this.$globalFun.CHOOSE_ADDRESS, addressInfo);

View File

@ -27,7 +27,7 @@
<view class="cuIcon-right"></view> <view class="cuIcon-right"></view>
</view> </view>
</view> </view>
<view class='cu-tag bg-yellow radius margin-right-sm' v-if="shopOrder.mainProcess === 'ordersServing'" @click="showServDetail(shopOrder)">查看订单详情</view> <view class='cu-tag bg-yellow radius margin-right-sm' v-if="tabCur === 3" @click="showServDetail(shopOrder)">查看订单详情</view>
</view> </view>
<view class="padding-lr"> <view class="padding-lr">
<view class="margin-top-sm"> <view class="margin-top-sm">
@ -41,25 +41,27 @@
<view class="text-lg"><text>需付款</text><text <view class="text-lg"><text>需付款</text><text
class="text-price text-red text-lg text-bold">{{shopOrder.payMoney}}</text></view> class="text-price text-red text-lg text-bold">{{shopOrder.payMoney}}</text></view>
</view> </view>
<view v-if="orderType === 0"> <view v-if="orderType === 0" class="padding-tb-sm">
<!-- <view class="padding-tb-sm flex justify-end oper-bar" v-if=""> <view class="flex justify-end" v-if="tabCur === 0">
<button class="cu-btn bg-gray margin-right-sm shadow-blur" @click="showModalByRef('confirmModal', shopOrder)">取消订单</button>
<button v-if="shopOrder.payStatus === 0" class="cu-btn bg-main-color shadow-blur" @click="wxpay(shopOrder)">付款</button>
</view>
<view class="flex justify-end" v-if="tabCur === 1">
<button class="cu-btn bg-gray margin-right-sm shadow-blur">取消订单</button>
<button class="cu-btn bg-gray margin-right-sm shadow-blur">撤换师傅</button>
<button class="cu-btn bg-main-color margin-right-sm shadow-blur">催单</button>
</view>
<view class="flex justify-end" v-if="tabCur === 2">
<button class="cu-btn bg-gray margin-right-sm shadow-blur">取消订单</button>
<button class="cu-btn bg-gray margin-right-sm shadow-blur">撤换师傅</button>
</view>
<view class="flex justify-end" v-if="tabCur === 3">
<!-- <button class="cu-btn bg-gray margin-right-sm shadow-blur">申请售后</button> -->
<button class="cu-btn bg-main-color margin-right-sm shadow-blur">加价</button>
</view>
<!-- <view class="flex justify-end" v-if="tabCur === 4">
<button class="cu-btn bg-main-color margin-right-sm shadow-blur">评价</button>
</view> --> </view> -->
<button v-if="shopOrder.subProcessStatus <= 4 && shopOrder.mainProcess !== 'ordersWait2Serv'"
class="cu-btn line-black margin-right-sm">取消订单</button>
<button v-if="shopOrder.subProcessStatus >= 1 && shopOrder.subProcessStatus <= 2"
class="cu-btn line-black margin-right-sm">催单</button>
<button v-if="shopOrder.subProcessStatus >= 2 && shopOrder.subProcessStatus <= 3"
class="cu-btn line-black margin-right-sm">撤换师傅</button>
<button v-if="shopOrder.subProcessStatus >= 1 && shopOrder.subProcessStatus <= 3"
class="cu-btn line-black margin-right-sm">加价</button>
<button v-if="shopOrder.subProcessStatus === 5"
class="cu-btn line-black margin-right-sm">申请售后</button>
<button v-if="shopOrder.subProcessStatus >= 4 && shopOrder.subProcessStatus <= 5"
class="cu-btn line-black margin-right-sm">评价</button>
<button v-if="shopOrder.subProcessStatus === 6"
class="cu-btn line-black margin-right-sm">查看进度</button>
<button v-if="shopOrder.payStatus === 0" class="cu-btn bg-main-color">付款</button>
</view> </view>
<view v-if="orderType === 0 && shopOrder.subProcessStatus === 4" <view v-if="orderType === 0 && shopOrder.subProcessStatus === 4"
class="padding-tb-sm solid-top"> class="padding-tb-sm solid-top">
@ -82,7 +84,7 @@
</view> </view>
</view> </view>
<view <view
v-if="orderType === 0 && (shopOrder.subProcessStatus === 2 || shopOrder.subProcessStatus === 3)" v-if="orderType === 0 && (tabCur === 1 || tabCur === 2)"
class="padding-tb-sm solid-top"> class="padding-tb-sm solid-top">
<view>约定服务时间</view> <view>约定服务时间</view>
<view class="flex justify-between align-end"> <view class="flex justify-between align-end">
@ -109,7 +111,7 @@
</view> </view>
</view> </view>
<load-status-bar ref="loadStatusBar"></load-status-bar> <load-status-bar ref="loadStatusBar"></load-status-bar>
<confirm-modal ref="confirmModal" :content="'是否确定取消订单?'" @confirm="cancelOrder"></confirm-modal> <confirm-modal ref="confirmModal" :content="'是否确定取消订单?'" @confirm="cancelOrder" @cancel="blurCurOrder"></confirm-modal>
</view> </view>
</template> </template>
@ -130,7 +132,8 @@
orderType: '', orderType: '',
myOrders: [], myOrders: [],
pageParams: [], pageParams: [],
stickyTop: this.CustomBar stickyTop: this.CustomBar,
curOrder: null
} }
}, },
onLoad(options) { onLoad(options) {
@ -213,11 +216,50 @@
url: '/pages/my/serv-detail' url: '/pages/my/serv-detail'
}) })
}, },
decideIfCancelOrder() { showModalByRef(refName, curOrder) {
this.$refs.confirmModal.showModal(); this.$refs[refName].showModal();
this.curOrder = curOrder;
}, },
cancelOrder() { blurCurOrder() {
console.log("取消订单") this.curOrder = null;
},
async cancelOrder() {
let res = await this.$request.updateOrder({
id: this.curOrder.orderMasterId,
orderStatus: 5
});
if (res.code === 0) {
uni.showToast({
title: '取消成功',
icon: 'success'
})
this.reloadOrderPage();
}
},
async wxpay(curOrder) {
try {
//
let wxPayParams = {
code: this.$request.getCurUserInfo().openId,
orderMasterCode: curOrder.orderMasterCode
}
let wxPayParamRes = await this.$request.getWxPayParams(wxPayParams);
// ,
let payInfo = JSON.parse(wxPayParamRes.data.expend.pay_info);
let wxPayRes = await wx.requestPayment(payInfo);
if (wxPayRes.errMsg === "requestPayment:ok") {
uni.navigateTo({
url: '/pages/order/pay-result?payResult=0'
})
} else {
throw 'err';
}
} catch(e) {
//
uni.navigateTo({
url: '/pages/order/pay-result?payResult=1'
})
}
} }
} }
} }

View File

@ -111,13 +111,13 @@
<!-- <view class="bg-main-color submit">立即上门</view> --> <!-- <view class="bg-main-color submit">立即上门</view> -->
</view> </view>
<uni-popup ref="orderManage" type="bottom" @change="changePopupState"> <uni-popup ref="orderManage" type="bottom" @change="changePopupState">
<view class="bg-white text-center"> <view class="cu-bar bg-white tabbar border fixed-bottom-bar">
<view v-for="(menu,index) in orderManageMenu" class="padding solid-bottom" :data-action="menu.action" @click="clickOrderManageMenu"> <view class="bg-white text-center" style="width: 100%;">
{{menu.name}} <view v-for="(menu,index) in orderManageMenu" class="padding solid-bottom" :data-action="menu.action" @click="clickOrderManageMenu">
{{menu.name}}
</view>
</view> </view>
</view> </view>
<!-- 底部占位 -->
<view class="cu-bar bg-white fixed-bottom-bar"></view>
</uni-popup> </uni-popup>
<!-- 模态框 --> <!-- 模态框 -->
<urgent-msg :show="sendUrgentMsgModal" @hideModal="hideModal"></urgent-msg> <urgent-msg :show="sendUrgentMsgModal" @hideModal="hideModal"></urgent-msg>
@ -131,7 +131,8 @@
export default { export default {
components: { components: {
productPicked productPicked,
urgentMsg
}, },
data() { data() {
return { return {
@ -151,10 +152,6 @@
}, },
onLoad() { onLoad() {
this.loadData(); this.loadData();
// this.bindEvent();
},
onUnload() {
// this.offBindEvent();
}, },
methods: { methods: {
async loadData() { async loadData() {
@ -168,12 +165,6 @@
this.finishList4Show[i].finishList = finishList; this.finishList4Show[i].finishList = finishList;
} }
}, },
// bindEvent() {
// uni.$on(this.$globalFun.CONFIRM, this.cancelOrder);
// },
// offBindEvent() {
// uni.$off(this.$globalFun.CONFIRM);
// },
changePopupState(e) { changePopupState(e) {
this.ifShowPageMeta = e.show; this.ifShowPageMeta = e.show;
}, },

View File

@ -22,22 +22,21 @@
payResult: false, payResult: false,
customTip: null, customTip: null,
servOrderTabList: [{ servOrderTabList: [{
type: 'ordersWait2Pay',
name: '待付款' name: '待付款'
}, { }, {
type: 'ordersWait2Serv', type: 1,
name: '待服务' name: '待排期'
}, { }, {
type: 'ordersServing', type: 2,
name: '待上门'
}, {
type: 3,
name: '服务中' name: '服务中'
}, { }, {
type: 'ordersAfterServ', type: 4,
name: '售后中'
}, {
type: 'ordersFinish',
name: '已完成' name: '已完成'
}], }],
servOrderType: 'servOrder' servOrderType: 0
} }
}, },
onLoad(options) { onLoad(options) {

View File

@ -9,8 +9,8 @@
bottom: 0 !important; bottom: 0 !important;
margin-bottom: 0 !important; margin-bottom: 0 !important;
z-index: 98; z-index: 98;
padding-bottom: constant(safe-area-inset-bottom / 2) !important; /*兼容 IOS<11.2*/ padding-bottom: constant(safe-area-inset-bottom / 2) !important;/*兼容 IOS<11.2*/
padding-bottom: env(safe-area-inset-bottom / 2) !important; /*兼容 IOS>11.2*/ padding-bottom: env(safe-area-inset-bottom / 2) !important;/*兼容 IOS>11.2*/
} }
.cu-bar.tabbar.border .action checkbox { .cu-bar.tabbar.border .action checkbox {