Commit ce18827b authored by Morson's avatar Morson

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

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