Commit 0cf0902c authored by Damon's avatar Damon

Merge branch 'dev' of https://git.banshouhui.com/lijundan/self-support into dev

parents fb9889fd 71c5f166
......@@ -12,8 +12,11 @@
}
} else if (process.env.NODE_ENV === "production") {
ENV_VAR = require('./.env.prod.js');
// ENV_VAR = require('./.env.test.js');
if (NODE_ENV === 'test') {
ENV_VAR = require('./.env.test.js');
} else if (NODE_ENV === 'prod') {
ENV_VAR = require('./.env.prod.js');
}
}
if (ENV_VAR) {
process.uniEnv = {};
......
......@@ -40,7 +40,10 @@ let orderApiFun = function(vm){
* 订单详情查询
*/
let orderDetail = async (params = {},orderId) => await vm.$u.get('/wxh-worker-rest/rest/order/revision/'+ vm.vuex_token+'/'+orderId, params);
/**
* 结算详情查询
*/
let querySettleByOrder = async (params = {},orderId) => await vm.$u.get('/wxh-worker-rest/rest/settle/'+ vm.vuex_token+'/querySettleByOrder/'+orderId, params);
/* 过程反馈查询接口 */
let feedbackConfig = async (params = {}) => await vm.$u.get('/wxh-worker-rest/rest/order/v2/getFeedBack/' + vm.vuex_token, params)
......@@ -172,6 +175,7 @@ let orderApiFun = function(vm){
workerAppointment,
maintainWorkerCheckin,
orderDetail,
querySettleByOrder,
listOrderRecord,
orderAccept,
orderGan,
......
......@@ -148,7 +148,7 @@
},
handleClickCell(orderId) {
this.$u.route({
url: 'pages/order/detail',
url: 'pages/order/detail?isFromMine=1',
params: {
id: orderId
}
......
......@@ -107,7 +107,7 @@
handleClickCell(orderId) {
uni.navigateTo({
url: 'pages/order/detail?id=' + orderId
url: 'pages/order/detail?isFromMine=1&id=' + orderId
})
},
async loadStatement() {
......
......@@ -72,10 +72,29 @@
</view>
<!-- </u-read-more> -->
</view>
<view class="card appoint-item" v-show="showTimeSelect">
<appoint-time :dateList="dateList" :timeList="timeList" @dateChange="dateChange" @timeChange="timeChange" @weekChange="weekChange"></appoint-time>
<!-- 从我的页面进来显示计算信息 -->
<view v-if="isFromMine" class="settlement-view">
<view class="settlement-title">结算信息</view>
<view class="settlement-content">
<text class="content-left">工单确认时间:</text>
<text>{{settlementInfo.formatTime}}</text>
</view>
<view class="settlement-content" v-for="(item, index) in settlementInfo.list" :key="index">
<text class="content-left">{{item.businessSettlementType + ':'}}</text>
<text>{{(item.realSettlementAmount || item.settlementAmount) + '元'}}</text>
<text v-if="item.adjustmentRemark">{{'-' + item.adjustmentRemark}}</text>
</view>
<view class="settlement-content">
<text class="content-left">最终结算金额:</text>
<text>{{settlementInfo.amount}}</text>
</view>
</view>
<view class="card order-item record-item">
<!-- 其他页面进来 -->
<view v-else>
<view class="card appoint-item" v-show="showTimeSelect">
<appoint-time :dateList="dateList" :timeList="timeList" @dateChange="dateChange" @timeChange="timeChange" @weekChange="weekChange"></appoint-time>
</view>
<view class="card order-item record-item">
<view class="top-item">
<text class="title">履约记录</text>
</view>
......@@ -113,53 +132,57 @@
<view v-else style="height: 10rpx;"></view>
</view>
</view>
</view>
<view v-if="showCenterBtn" class="toolbar">
<!-- 背景,内容,请求接口 根据状态不同改变 {{operationDoing[order.orderStatus].background}} -->
<!-- 过程反馈 -->
<view class="left">
<view v-if="allowFeedback" @click="clickFeedback" class="button">
<text>反馈</text>
</view>
</view>
<!--接单,抢单,已被抢, 预约 ,签到 ,去完工 timestampDiff(order.currentOverTime)>0 -->
<view class="center">
<view>
<u-toast ref="uToast" />
</view>
<!-- 不是从我的页面进来不用显示 -->
<template v-if="!isFromMine">
<view v-if="showCenterBtn" class="toolbar">
<!-- 背景,内容,请求接口 根据状态不同改变 {{operationDoing[order.orderStatus].background}} -->
<!-- 过程反馈 -->
<view class="left">
<view v-if="allowFeedback" @click="clickFeedback" class="button">
<text>反馈</text>
</view>
</view>
<view v-if="showCenterBtn" @click="$u.throttle(handleBtn, 500)" class="button" :class="['center-button-view', btnClass]">
<text>{{ centerButtonText }}</text>
<view v-if="order.currentOverTime && showTimeOut" class="time-view">
<text style="padding-right: 8rpx;">{{order.currentOverTime > new Date().getTime()?'剩':'超'}}</text>
<u-count-down
:timestamp="timestampDiff(order.currentOverTime)"
font-size="20"
color="#FFFFFF"
bg-color="transparent"
separator-color="#FFFFFF"
separator-size="20"
:ref="'uCountDown'"
show-days
height="20"
:show-days="threeDays()"
:show-minutes="!threeDays()"
:show-seconds="!threeDays()"
:separator="threeDays() ? 'zh' : 'colon'"
@change="timeOutChange(order.currentOverTime)" >
</u-count-down>
<!--接单,抢单,已被抢, 预约 ,签到 ,去完工 timestampDiff(order.currentOverTime)>0 -->
<view class="center">
<view>
<u-toast ref="uToast" />
</view>
<view v-if="showCenterBtn" @click="$u.throttle(handleBtn, 500)" class="button" :class="['center-button-view', btnClass]">
<text>{{ centerButtonText }}</text>
<view v-if="order.currentOverTime && showTimeOut" class="time-view">
<text style="padding-right: 8rpx;">{{order.currentOverTime > new Date().getTime()?'剩':'超'}}</text>
<u-count-down
:timestamp="timestampDiff(order.currentOverTime)"
font-size="20"
color="#FFFFFF"
bg-color="transparent"
separator-color="#FFFFFF"
separator-size="20"
:ref="'uCountDown'"
show-days
height="20"
:show-days="threeDays()"
:show-minutes="!threeDays()"
:show-seconds="!threeDays()"
:separator="threeDays() ? 'zh' : 'colon'"
@change="timeOutChange(order.currentOverTime)" >
</u-count-down>
</view>
</view>
</view>
</view>
<!-- 异常预约 ,现场拍照 这里是调用拍照的两个组件-->
<view class="right">
<view v-if="errorSignIn || scenePhoto" @click="$u.throttle(handleClickRight, 500)" :class="['button', {'active': scenePhoto}]">
<text :style="errorSignIn ? 'font-size:24rpx' : ''">{{errorSignIn ? '异常\n签到' : '拍照'}}</text>
<!-- 异常预约 ,现场拍照 这里是调用拍照的两个组件-->
<view class="right">
<view v-if="errorSignIn || scenePhoto" @click="$u.throttle(handleClickRight, 500)" :class="['button', {'active': scenePhoto}]">
<text :style="errorSignIn ? 'font-size:24rpx' : ''">{{errorSignIn ? '异常\n签到' : '拍照'}}</text>
</view>
</view>
</view>
</view>
<take-photo type="test" v-if="takeStatus" @close="closeTake" :num="1"></take-photo>
<PopView title="查看交互规范" message="为完善交付质量,请查看对应的交付规范" :visible.sync="visibale" @click="handleClick"/>
<take-photo type="test" v-if="takeStatus" @close="closeTake" :num="1"></take-photo>
<PopView title="查看交互规范" message="为完善交付质量,请查看对应的交付规范" :visible.sync="visibale" @click="handleClick"/>
</template>
</view>
</template>
......@@ -237,7 +260,9 @@
showTimeOut:true,
clicking: false,
dateItem: null,
centerBtnDisabled:false
centerBtnDisabled:false,
isFromMine: false,
settlementInfo: {formatTime: '-', list: [], amount: ''}
}
},
onLoad(option) {
......@@ -246,9 +271,17 @@
this.orderId = option.id
}
this.loadOrderDetail()
this.loadOrderRecord()
this.getLocation()
this.getSignDistance()
if (option && option.isFromMine) {
this.isFromMine = true
// 获取结算信息
this.loadSettlement()
} else {
this.loadOrderRecord()
this.getLocation()
this.getSignDistance()
}
},
onHide() {
this.closeLocationChange()
......@@ -295,7 +328,7 @@
address += self.order.contactAddress || ""
}
return address
},
}
},
methods: {
openLocation(address){
......@@ -404,6 +437,26 @@
if(self.order.isFirstOrder){
this.visibale = true
}
// 格式化时间
this.settlementInfo.formatTime = this.order.settleCenterSyncDatetime ? this.$u.timeFormat(this.order.settleCenterSyncDatetime, 'yyyy.mm.dd hh:MM:ss') : '-'
} else {
console.log(res.message, "获取订单详情失败!");
}
});
},
loadSettlement() { // 获取工单详情
let self = this
var data = {
'orderId': self.orderId
};
self.$u.api.querySettleByOrder(data, self.orderId).then((res) => {
if (res.code == 200) {
var amount = 0
for (var item of res.data) {
amount += (item.realSettlementAmount || item.settlementAmount)
}
this.settlementInfo.amount = amount
this.settlementInfo.list = res.data
} else {
console.log(res.message, "获取订单详情失败!");
}
......@@ -1137,4 +1190,25 @@
text-align: left;
flex-shrink: 0;
}
.settlement-view {
padding: 30rpx;
background-color: #FFFFFF;
border-radius: 12rpx;
.settlement-title {
font-size: 32rpx;
font-weight: bold;
color: #333333;
margin-bottom: 30rpx;
}
.settlement-content {
font-size: 26rpx;
color: #333333;
margin-bottom: 20rpx;
display: flex;
align-items: flex-start;
.content-left {
flex-shrink: 0;
}
}
}
</style>
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