Commit ce18827b authored by Morson's avatar Morson

修复师傅入驻参数获取失败问题

结算明显页面接口对接
parent af6dd7e2
......@@ -118,7 +118,7 @@ export default {
return false;
}
vm.$u.vuex('vuex_settled', res.data && res.data.record || null);
vm.$u.vuex('vuex_settled', res.data || null);
if (!res.data) {
return;
}
......
......@@ -159,13 +159,13 @@ let orderApiFun = function(vm){
// 获取我的钱包-资产信息
let getAssets = async (params = {}) => await vm.$u.get(settle + '/v2/total', params);
// 获取我的钱包-结算明细
let listStatement = async (params = {}) => await vm.$u.get(settle + '/v2/statement', params);
// 获取我的钱包-支付单一览
let payableRecord = async (params = {}) => await vm.$u.get(settle + '/payable/v2/queryPayableRecord', params);
// 获取我的钱包-师傅提现
let workerApplyPay = async (params = {}, payableRecordId) => await vm.$u.post(`/wxh-worker-rest/rest/${token}/applypay/${payableRecordId}/workerApplyPay`, params);
let workerApplyPay = async (payableId) => await vm.$u.post(`/wxh-worker-rest/rest/${token}/applypay/${payableId}/workerApplyPay`);
// 获取我的钱包-结算账单
let payableRecord = async (params = {}) => await vm.$u.post(settle + '/payable/v2/queryPayableRecord', params, formType);
// 获取我的钱包-收入流水
let listStatement = async (params = {}) => await vm.$u.get(settle + '/v2/statement', params);
const orderApi = {
listByRecommendOrder,
listOrderCount,
......
......@@ -13,8 +13,8 @@
</view>
</view>
<view class="right-view">
<view :class="['statement-status-view', statementTypeClass]">{{data.payableRecordStatusText}}</view>
<view class="statement-amount-view">+{{data.payableAmount}}</view>
<view :class="['statement-status-view', statementTypeClass]">{{data.status}}</view>
<view class="statement-amount-view">+{{data.amount}}</view>
</view>
</view>
<view class="line-view"></view>
......@@ -29,11 +29,11 @@
default () {
return {
paymentTime: new Date().getTime(),
payableRecordStatusText: '预结',
status: '预结',
orderNumber: 'EE999777',
orderServiceType: '安装',
orderServiceTypeText: '安装',
inGuaranteePeriod: false, // true 保内;false 保外
payableAmount: 9899
amount: 9899
}
}
}
......@@ -45,18 +45,21 @@
},
computed: {
statementTypeClass() {
switch (this.data.payableRecordStatusText) {
switch (this.data.status) {
case '预结':
return 'statement-type-y'
case '已确认':
return 'statement-type-h'
}
},
isWarranty() {
return this.data.inGuaranteePeriod ? '保内' : '保外'
},
typeText() {
return (this.data.inGuaranteePeriod ? '保内' : '保外') + '-' + this.data.orderServiceType
return this.isWarranty + '-' + this.data.orderServiceTypeText
},
timeText() {
return this.$u.timeFormat(this.data.paymentTime, 'mm.dd')
return this.$u.timeFormat(this.data.updateDatetime, 'mm.dd')
}
},
methods:{
......
......@@ -35,6 +35,7 @@
</template>
<script>
const app = getApp();
import takePhoto from '@/components/take/index.vue'
export default {
components: {
......@@ -47,15 +48,18 @@
}
},
computed: {
settled() {
return this.vuex_settled && this.vuex_settled.record || null
},
avatar() {
return this.vuex_settled && this.vuex_settled.avatar || ''
},
name() {
return this.vuex_settled && this.vuex_settled.id_card_name
|| this.vuex_settled.nickname || this.vuex_settled.name || ''
return this.settled && this.settled.id_card_name
|| this.settled.nickname || this.settled.name || ''
},
mobile() {
return this.vuex_settled && this.vuex_settled.mobile || ''
return this.settled && this.settled.mobile || ''
},
items() {
return [{
......@@ -122,22 +126,32 @@
}
},
onLoad() {
if(this.vuex_token && !this.settled) {
this.getData()
}
},
methods: {
handleClick(index) {
uni.navigateTo({
url: 'pages/mine/' + this.pages[index] + '/index'
})
getData() {
let self = this
app.getBaseInfo(self);
},
handleClick(index) {
if(this.vuex_token) {
this.$u.route({
url: 'pages/mine/' + this.pages[index] + '/index'
})
} else {
this.$u.route({url: "pages/login/index"})
}
},
handleClickName() {
if(this.vuex_token && this.vuex_settled) {
if(this.vuex_token && this.settled) {
return false
}
this.$u.route({url: "pages/login/index"})
},
handleClickTel() {
if(this.vuex_token && this.vuex_settled && this.mobile) {
if(this.vuex_token && this.settled && this.mobile) {
return false
}
this.$u.route({url: "pages/login/index"})
......
......@@ -78,37 +78,39 @@ export default {
return {
title: '新增地址',
show: false,
type: '充电桩安装',
name: '',
mobile: '',
address: '',
location: '',
};
},
computed: {
settled() {
return this.vuex_settled && this.vuex_settled.record || null
},
type() {
return this.settled.type || '充电桩安装'
},
name() {
return this.settled.id_card_name || this.settled.nickname || this.settled.name || '--'
},
mobile() {
return this.settled.mobile
},
address() {
return this.settled.address
},
},
async onLoad(e) {
if(e && e.title) {
this.title = decodeURIComponent(e.title)
}
if(this.vuex_token && this.vuex_settled) {
const settled = this.vuex_settled
this.name = settled.id_card_name || settled.nickname || settled.name || '--'
this.mobile = settled.mobile
this.address = settled.address
this.type = settled.type
} else {
this.$u.route({
type: 'redirect',
url: "pages/mine/address/index",
params: {
sync: true
}
})
if(!this.vuex_token) {
this.$u.route({url: 'pages/login/index'})
} else if(!this.settled) {
this.getData();
}
await this.setDefault()
},
methods: {
async setDefault() {
async getData() {
getApp().getBaseInfo(this);
this.initLocation()
},
/**
......
......@@ -31,36 +31,30 @@ export default {
background: {
backgroundColor: 'none'
},
settledInfo: null,
siteList: []
};
},
onLoad(e) {
if(e && e.sync) {
this.getData();
} else {
if(this.vuex_token && this.vuex_settled) {
this.settledInfo = this.vuex_settled
} else {
this.getData();
}
}
},
computed: {
editPen() {
return process.uniEnv.qn_base_url + 'icon/edit-pen.png'
},
settled() {
return this.vuex_settled && this.vuex_settled.record || null
},
},
onLoad(e) {
if(!this.vuex_token) {
this.$u.route({url: 'pages/login/index'})
} else if (e && e.sync) {
this.getData();
} else if(!this.settled) {
this.getData();
}
},
methods: {
getData() {
let self = this
const callBack = (vm, result) => {
// 后台自动判断入驻流程是否完成,前台通过status确定状态
if (result && result.record) {
self.settledInfo = result.record
}
};
app.getBaseInfo(self, callBack);
app.getBaseInfo(self);
},
toAddSite(title){
this.$u.route({
......
......@@ -31,7 +31,6 @@
export default {
data() {
return {
settled: null,
rules: [
{
question: '为什么缴纳设备押金?',
......@@ -51,24 +50,21 @@
amount() {
return this.settled && this.settled.deposit || '0.00';
},
settled() {
return this.vuex_settled && this.vuex_settled.record || null
},
},
onLoad() {
if(this.vuex_token && this.vuex_settled) {
this.settled = this.vuex_settled
} else {
if(!this.vuex_token) {
this.$u.route({url: 'pages/login/index'})
} else if(!this.settled) {
this.getData();
}
},
methods: {
getData() {
let self = this
const callBack = (vm, result) => {
// 后台自动判断入驻流程是否完成,前台通过status确定状态
if (result && result.record) {
self.settled = result.record
}
};
app.getBaseInfo(self, callBack);
getApp().getBaseInfo(self);
},
refund() {
this.$u.route({
......
......@@ -40,6 +40,9 @@
</view>
<view class="line-view"></view>
<view class="list-view">
<view class="u-flex u-row-center" v-if="loading">
<u-loading color="#2272FF" :show="loading"></u-loading>
</view>
<view v-for="(item, index) in statementList" :key="index">
<Statement :data="item" @click="handleClickCell"></Statement>
</view>
......@@ -63,10 +66,19 @@
totalPayAmount: 0, // 总共收入
saveAndApplyAmount: 0, // 预计待入账
},
statementList: []
loading: true,
statementList: [],
settledAmount: 0,
}
},
computed: {
statementContent() {
if(this.loading) {
return '当前展示最近5条,点击查看全部'
}
return this.statementList && this.statementList.length
&& '当前展示最近5条,点击查看全部' || '暂无流水'
},
lists() {
return [{
title: '结算账单',
......@@ -74,7 +86,7 @@
icon: this.imageUrl + 'jiesuan.png'
}, {
title: '收入流水',
content: '当前展示最近5条,点击查看全部',
content: this.statementContent,
icon: this.imageUrl + 'liushui.png'
}]
},
......@@ -105,19 +117,8 @@
return ['settlement','statement']
}
},
created() {
// var item = {
// paymentTime: new Date().getTime(),
// payableRecordStatusText: '预结',
// orderNumber: 'EE999777',
// orderServiceType: '安装',
// inGuaranteePeriod: false, // true 保内;false 保外
// payableAmount: 9899,
// orderId: 12313,
// }
// this.statementList = [item, item, item, item, item]
},
onLoad() {
// 未登录,先跳转登录
if(!this.vuex_token) {
this.$u.route({url: 'pages/login/index'})
}
......@@ -127,18 +128,21 @@
methods: {
// 提现
handleClickWithdraw() {
uni.navigateTo({
url: 'pages/mine/wallet/' + 'withdraw'
this.$u.route({
url: 'pages/mine/wallet/withdraw'
})
},
handleClick(index) {
uni.navigateTo({
this.$u.route({
url: 'pages/mine/wallet/' + this.pages[index]
})
},
handleClickCell(orderId) {
uni.navigateTo({
url: 'pages/order/detail?id=' + orderId
this.$u.route({
url: 'pages/order/detail',
params: {
id: orderId
}
})
},
async loadAssets() {
......@@ -150,18 +154,19 @@
},
async loadStatement() {
let self = this
self.loading = true
let res = await self.$u.api.listStatement()
self.loading = false
if(res && res.code == 200) {
self.statementList = res.data && res.data.orderList || []
let data = res.data && res.data.orderList || []
self.settledAmount = res.data && res.data.settledAmount || 0
if (data.length < 6) {
self.statementList = data
} else {
self.statementList = data.slice(0, 5)
}
}
},
async loadPayRecord() {
let self = this
let res = await self.$u.api.payableRecord()
// if(res && res.code == 200) {
// self.info = res.data || self.info
// }
},
}
}
</script>
......
......@@ -32,6 +32,7 @@
</template>
<script>
let now = new Date(new Date().toLocaleDateString()).getTime();
import Settlement from "@/components/mine/settlement.vue"
export default {
components: {
......@@ -43,8 +44,12 @@
totalAmount: 0,
payableRecordExtendDtos: []
},
date: '2021-05'
date: '2021-05',
params: {
payableRecordStatus: null,
starDate: null,
endDate: null,
},
}
},
computed: {
......@@ -63,10 +68,25 @@
settlementAmount: 9899
}
this.info.payableRecordExtendDtos = [item, item, item, item, item]
},
onLoad() {
this.loadPayRecord()
},
methods: {
methods: {
async loadPayRecord() {
let self = this
let startTime = self.moment(self.date).format('YYYY-MM-DD')
let endTime = self.moment(self.date).endOf('month').format('YYYY-MM-DD')
self.params.starDate = startTime
self.params.endDate = endTime
let res = await self.$u.api.payableRecord(self.params)
if(res && res.code == 200) {
self.info = res.data && res.data[self.date] || self.info
}
},
bindDateChange: function(e) {
this.date = e.target.value
this.date = e.target.value
this.loadPayRecord()
},
handleClickCell(orderId) {
uni.navigateTo({
......
......@@ -79,6 +79,9 @@
payableAmount: 9899
}
this.data.statementList = [item, item, item, item, item]
},
onLoad() {
},
methods: {
bindDateChange: function(e) {
......
......@@ -18,10 +18,10 @@
<script>
export default {
data() {
return {
amount: 0
amount: 0,
payableId: 0,
}
},
computed: {
......@@ -34,11 +34,27 @@
};
},
},
onLoad() {
this.loadAssets()
},
methods: {
handleClick() {
async handleClick() {
let self = this
self.$u.api.workerApplyPay()
}
self.payableId = 666
let res = await self.$u.api.workerApplyPay(self.payableId)
if(res && res.code == 200) {
self.$u.ruote({type: 'redirect', url: 'pages/wallet/index'})
} else {
self.$u.toast(res.message || '系统异常,提现失败!');
}
},
async loadAssets() {
let self = this
let res = await self.$u.api.getAssets()
if(res && res.code == 200) {
self.amount = res.data && res.data.canApplyAmount
}
},
}
}
</script>
......
......@@ -249,7 +249,10 @@ export default {
'font-size': '32rpx',
'font-weight': 'bold'
}
}
},
settled() {
return this.vuex_settled && this.vuex_settled.record || null
},
},
components: {
......@@ -258,16 +261,14 @@ export default {
// 初始化入驻信息
async initSettledInfo() {
let self = this
let settledInfo = self.vuex_settled
if(settledInfo && settledInfo.length) {
self.fileInfo.id = settledInfo.id
const callBack = (vm, result) => {
vm.settledInfo = result.record
vm.fileInfo.id = result.record.id
}
if(self.settled && self.settled.length) {
callBack(self, self.vuex_settled)
} else {
const app = getApp()
const callBack = (vm, result) => {
vm.settledInfo = result.record
vm.fileInfo.id = result.record.id
}
settledInfo = await app.getBaseInfo(self, callBack)
await getApp().getBaseInfo(self, callBack)
uni.hideLoading()
}
},
......
......@@ -66,7 +66,10 @@
computed: {
weixinImage() {
return process.uniEnv.qn_base_url + 'weixin.png'
}
},
settled() {
return this.vuex_settled && this.vuex_settled.record || null
},
},
watch: {
isRefresh(val) {
......@@ -88,9 +91,8 @@
const callBack = (vm, result) => {
vm.settledInfo = result
}
let settledInfo = self.vuex_settled
if (settledInfo) {
callBack(self, settledInfo)
if (self.settled) {
callBack(self, self.vuex_settled)
return
}
await app.getBaseInfo(self, callBack)
......
......@@ -150,7 +150,10 @@
'font-size': '32rpx',
'font-weight': 'bold'
}
}
},
settled() {
return this.vuex_settled && this.vuex_settled.record || null
},
},
components: {
......@@ -299,9 +302,8 @@
vm.baseInfo.name = record.id_card_name
vm.baseInfo.id = record.id
}
let settledInfo = self.vuex_settled
if (settledInfo) {
callBack(self, settledInfo)
if (self.settled) {
callBack(self, self.vuex_settled)
return
}
await app.getBaseInfo(self, callBack)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment