oms
This commit is contained in:
571
oilDistribution/distribute/distribute.vue
Normal file
571
oilDistribution/distribute/distribute.vue
Normal file
@@ -0,0 +1,571 @@
|
||||
<template>
|
||||
<view class="oil_body">
|
||||
<view class="oil_header">请选择分油类型</view>
|
||||
<view class="sele_car">
|
||||
<view @tap="seleFn(1)"
|
||||
:style=" {zIndex: seleindex!=1? '1':'',transform:seleindex!=1? 'scale(0.9)':'',backgroundColor: seleindex!=1?'#66AFFF':''} "
|
||||
class="car_itme car_itme_left">
|
||||
<view v-if="seleindex==1" style="width: 100%;" class="car_body">
|
||||
<view class="car_itme_title">
|
||||
接收方:个人
|
||||
</view>
|
||||
<view class="img">
|
||||
<view style="width: 79rpx; height: 81rpx;">
|
||||
<image style="width: 100%;height: 100%;" src="@/static/cargs.png"></image>
|
||||
</view>
|
||||
<view style="width: 61rpx; height: 34rpx;">
|
||||
<image style="width: 100%;height: 100%;" src="@/static/arrow.png"></image>
|
||||
</view>
|
||||
<view style="height: 81rpx;width: 73rpx;">
|
||||
<image style="width: 100%;height: 100%;" src="@/static/carUser.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="car_itme_title">企业对个人</view>
|
||||
</view>
|
||||
<view v-if="seleindex!=1" style="left: 0; position: absolute;" class="hideTip">
|
||||
接收方:个人
|
||||
<image style="height: 141rpx; width: 100rpx; margin-top: 31rpx;" src="@/static/carsz.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view @tap="seleFn(2)"
|
||||
:style="{zIndex: seleindex!=2? '1':'',transform:seleindex!=2? 'scale(0.9)':'',backgroundColor: seleindex!=2?'#66AFFF':''}"
|
||||
class="car_itme car_itme_right">
|
||||
<view v-if="seleindex==2" style="width: 100%;" class="car_body">
|
||||
<view class="car_itme_title">
|
||||
接收方:企业
|
||||
</view>
|
||||
<view class="img">
|
||||
<view style="width: 79rpx; height: 81rpx;">
|
||||
<image style="width: 100%;height: 100%;" src="@/static/cargs.png"></image>
|
||||
</view>
|
||||
<view style="width: 61rpx; height: 34rpx;">
|
||||
<image style="width: 100%;height: 100%;" src="@/static/arrow.png"></image>
|
||||
</view>
|
||||
<view style="width: 79rpx; height: 81rpx;">
|
||||
<image style="width: 100%;height: 100%;" src="@/static/cargs.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="car_itme_title">企业对企业</view>
|
||||
</view>
|
||||
<view v-if="seleindex!=2" style="right: 0; position: absolute;" class="hideTip">
|
||||
接收方:企业
|
||||
<image style="height: 141rpx; width: 100rpx; margin-top: 31rpx;" src="@/static/carsz.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="sele_Bar">
|
||||
<view
|
||||
:style="{transform: barIndex==2? 'translateX( calc(100% - 20rpx) )' :'' ,background:barIndex==2? '#EC4645' :'' }"
|
||||
class="move_item"></view>
|
||||
<view @tap="seleBarFn(1)" :style="{color:barIndex==1? 'white' : ''}" class="sele_Bar_item">分油</view>
|
||||
<view @tap="seleBarFn(2)" :style="{color:barIndex==2? 'white' : ''}" class="sele_Bar_item">圈回</view>
|
||||
</view>
|
||||
<view class="oli_list">
|
||||
<view @tap='jump(1)' class="oli_list_item">
|
||||
<view class="oli_list_item_body">
|
||||
<view class="oli_list_item_body_left">
|
||||
<view class="oli_list_item_body_left_img">
|
||||
<image style="width: 100%; height: 100%;" src="@/static/fyjt.png"></image>
|
||||
</view>
|
||||
<view style="font-size: 28rpx;color: #333333;">
|
||||
<view v-if="sendData!=null">
|
||||
<view>{{sendData.name}}</view>
|
||||
<view style="margin-top: 26rpx;color: #999999;">可用余额:¥{{ sendData.balance }}</view>
|
||||
</view>
|
||||
<view v-if="sendData==null">发起方</view>
|
||||
</view>
|
||||
</view>
|
||||
<view>
|
||||
<uni-icons type="right" size="20" color="#bbbbbb"></uni-icons>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view @tap='jump(2)' class="oli_list_item">
|
||||
<view class="oli_list_item_body">
|
||||
<view class="oli_list_item_body_left">
|
||||
<view class="oli_list_item_body_left_img">
|
||||
<image style="width: 100%; height: 100%;" src="@/static/jsjt.png"></image>
|
||||
</view>
|
||||
<view style="font-size: 28rpx;color: #333333;">
|
||||
<view style="font-size: 28rpx;color: #333333;">
|
||||
<view v-if="receiveData!=null">
|
||||
<view>
|
||||
{{receiveData.name?receiveData.name?receiveData.name:'未设置':receiveData.userName?receiveData.userName:'未设置'}}
|
||||
</view>
|
||||
<view style="margin-top: 26rpx;color: #999999;">可用余额:¥{{receiveData.balance }}
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="receiveData==null">接收方</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view>
|
||||
<uni-icons type="right" size="20" color="#bbbbbb"></uni-icons>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="oilInput">
|
||||
<text class="oliPrice" style=""> 金额 </text>
|
||||
<view
|
||||
style="flex: 1; background-color: #F1F1F1; margin-left: 23rpx; height: 74rpx;align-items: center; display: flex; padding: 0 33rpx ;">
|
||||
<input @input="inputFn" type="digit" v-model="postData.disAmount" style="flex: 1; margin-left: 47rpx; "
|
||||
placeholder="请输入金额" />
|
||||
<view
|
||||
@tap=' barIndex==2? postData.disAmount = receiveData.balance : postData.disAmount = sendData.balance'
|
||||
class="oilInputMax">MAX</view>
|
||||
</view>
|
||||
</view>
|
||||
<button @tap='postFn' :style="{background:barIndex==2? '#EC4645' :''}"
|
||||
class="oliButten">{{barIndex==2?'圈回':'分油'}}</button>
|
||||
|
||||
<popup @confirmFn='confirmFn' @closeFn='closeFn' v-model="iShow.seting">
|
||||
<view slot="coment">
|
||||
<view class="tiptext"> 是否{{barIndex==2?'圈回':'分油'}}给该司机/企业?</view>
|
||||
</view>
|
||||
</popup>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import oilDistribution from '@/api/oilDistribution'
|
||||
import popup from '@/components/customPopup'
|
||||
export default {
|
||||
components: {
|
||||
popup
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
postData: {
|
||||
disCompanyId: '',
|
||||
disTagType: '',
|
||||
disType: '',
|
||||
customerId: '',
|
||||
companyId: '',
|
||||
disAmount: ''
|
||||
},
|
||||
iShow: {
|
||||
seting: false
|
||||
},
|
||||
sendData: null,
|
||||
receiveData: null,
|
||||
seleindex: 1,
|
||||
barIndex: 1,
|
||||
transition: {
|
||||
zIndex: '1',
|
||||
// height: '323rpx',
|
||||
// width: '397rpx',
|
||||
transform: "scale(0.9)",
|
||||
backgroundColor: '#66AFFF'
|
||||
}
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
let that = this
|
||||
uni.$on('driverfn', function(e) {
|
||||
console.log(e, '司机参数更新')
|
||||
that.receiveData = e
|
||||
that.postData.customerId = e.id
|
||||
that.postData.companyId = ''
|
||||
that.postData.disTagType = e.companyCustomerNature == 0 ? 'OUTSIDE' : 'ESELF_SUPPORT'
|
||||
})
|
||||
uni.$on('company', function(e) {
|
||||
console.log(e.type, e)
|
||||
that.receiveData = null
|
||||
if (e.type == 'send') {
|
||||
that.sendData = e
|
||||
that.postData.disCompanyId = e.id
|
||||
} else if (e.type == 'receive') {
|
||||
that.receiveData = e
|
||||
that.postData.companyId = e.id
|
||||
that.postData.customerId = ''
|
||||
that.postData.disTagType = 'SUBCOMPANY'
|
||||
}
|
||||
console.log(e, '公司参数更新')
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
inputFn(e) {
|
||||
// this.postData.disAmount = Number(this.postData.disAmount).toFixed(2)
|
||||
if (this.postData.disAmount.indexOf('.') != -1) {
|
||||
if (this.postData.disAmount.split('.')[1].length > 2) {
|
||||
uni.showToast({
|
||||
title: '最多保留小数点后两位',
|
||||
icon: 'none'
|
||||
})
|
||||
this.$nextTick(function() {
|
||||
this.postData.disAmount = Number(this.postData.disAmount).toFixed(2)
|
||||
console.log(this.postData.disAmount)
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
confirmFn() {
|
||||
if (this.barIndex == 2) {
|
||||
if (Number(this.receiveData.balance) == 0) {
|
||||
uni.showToast({
|
||||
title: '圈回对象账户不能为零',
|
||||
icon: "none"
|
||||
})
|
||||
return
|
||||
}
|
||||
if (Number(this.postData.disAmount) > Number(this.receiveData.balance)) {
|
||||
uni.showToast({
|
||||
title: '输入金额不能大于圈回对象总余额',
|
||||
icon: "none"
|
||||
})
|
||||
return
|
||||
}
|
||||
} else {
|
||||
if (Number(this.postData.disAmount) > Number(this.sendData.balance)) {
|
||||
uni.showToast({
|
||||
title: '输入金额不能大于总余额',
|
||||
icon: "none"
|
||||
})
|
||||
return
|
||||
}
|
||||
if (Number(this.sendData.balance) == 0) {
|
||||
uni.showToast({
|
||||
title: '转账方金额不能为零',
|
||||
icon: "none"
|
||||
})
|
||||
return
|
||||
}
|
||||
}
|
||||
if (Number(this.postData.disAmount) == 0) {
|
||||
uni.showToast({
|
||||
title: '操作金额不能为零',
|
||||
icon: "none"
|
||||
})
|
||||
return
|
||||
}
|
||||
// if (this.seleindex == 2 && this.sendData.id == this.receiveData) {
|
||||
// uni.showToast({
|
||||
// title: '双方账户不能重复',
|
||||
// icon: "none"
|
||||
// })
|
||||
// return
|
||||
// }
|
||||
let that = this
|
||||
this.postData.disType = this.barIndex == 1 ? 1 : -1
|
||||
console.log(this.postData)
|
||||
oilDistribution.oilDistributions(that.postData).then(res => {
|
||||
if (res.code !== 20000) return
|
||||
uni.showToast({
|
||||
title: '操作成功',
|
||||
icon: 'none'
|
||||
})
|
||||
this.iShow.seting = false
|
||||
setTimeout(() => {
|
||||
uni.redirectTo({
|
||||
url: '../index/index'
|
||||
})
|
||||
}, 500)
|
||||
});
|
||||
},
|
||||
closeFn() {
|
||||
this.iShow.seting = false
|
||||
console.log('取消')
|
||||
},
|
||||
postFn() {
|
||||
if (this.sendData == null || this.receiveData == null) {
|
||||
return
|
||||
}
|
||||
if (this.postData.disAmount == '' || this.postData.disAmount == 0) {
|
||||
uni.showToast({
|
||||
title: '金额不能为零',
|
||||
icon: 'none'
|
||||
})
|
||||
return
|
||||
}
|
||||
this.iShow.seting = true
|
||||
},
|
||||
jump(e) {
|
||||
switch (e) {
|
||||
case 1:
|
||||
// clc 写 clc 注
|
||||
// uni.navigateTo({
|
||||
// url: '/driverManagement/company/company?jsData=' + JSON.stringify({
|
||||
// type:'send',
|
||||
// data:''
|
||||
// })
|
||||
// })
|
||||
uni.navigateTo({
|
||||
url: '../newSeleCompany/newSeleCompany?jsData=' + JSON.stringify({
|
||||
type: 'send',
|
||||
data: ''
|
||||
})
|
||||
})
|
||||
break
|
||||
case 2:
|
||||
// uni.navigateTo({
|
||||
// url: '../newSeleDirver/newSeleDirver'
|
||||
// })
|
||||
if (this.sendData == null && this.seleindex == 1) {
|
||||
uni.showToast({
|
||||
title: '请先选择企业',
|
||||
icon: 'none'
|
||||
})
|
||||
return
|
||||
}
|
||||
if (this.seleindex == 1) {
|
||||
uni.navigateTo({
|
||||
url: '../newSeleDirver/newSeleDirver?jsData=' + JSON.stringify(this.sendData),
|
||||
fail(e) {
|
||||
console.log(e)
|
||||
}
|
||||
})
|
||||
// uni.navigateTo({
|
||||
// url: '/driverManagement/seleDriver/seleDriver?jsData=' + JSON.stringify(this
|
||||
// .sendData)
|
||||
// })
|
||||
} else {
|
||||
// console.log(this.sendData,'66666')
|
||||
// uni.navigateTo({
|
||||
// url: '../newSeleCompany/newSeleCompany?jsData=' + JSON.stringify(
|
||||
// {
|
||||
// type:'receive',
|
||||
// id:this.sendData.id
|
||||
// })
|
||||
// })
|
||||
uni.navigateTo({
|
||||
url: '../newSeleCompany/newSeleCompany?jsData=' + JSON.stringify({
|
||||
type: 'receive',
|
||||
data: this.sendData
|
||||
}),
|
||||
fail(e) {
|
||||
console.log(e)
|
||||
}
|
||||
})
|
||||
}
|
||||
break
|
||||
}
|
||||
},
|
||||
seleBarFn(e) {
|
||||
this.barIndex = e
|
||||
},
|
||||
seleFn(e) {
|
||||
this.seleindex = e
|
||||
this.postData.disAmount = ''
|
||||
this.receiveData = null
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.tiptext {
|
||||
font-size: 32rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: bold;
|
||||
color: #999999;
|
||||
text-align: center;
|
||||
margin: 64rpx 0;
|
||||
}
|
||||
|
||||
.oliButten {
|
||||
margin-top: 48rpx;
|
||||
background: #2866FF;
|
||||
border-radius: 10rpx;
|
||||
font-size: 36rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.oilInputMax {
|
||||
background: #BBBBBB;
|
||||
border-radius: 21rpx;
|
||||
padding: 11rpx 17rpx;
|
||||
font-size: 28rpx;
|
||||
font-family: Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
color: #FFFFFF;
|
||||
margin-left: 25rpx;
|
||||
|
||||
}
|
||||
|
||||
.oliPrice {
|
||||
font-size: 30rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: bold;
|
||||
color: #000000;
|
||||
|
||||
}
|
||||
|
||||
.oilInput {
|
||||
height: 133rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 20rpx;
|
||||
display: flex;
|
||||
padding: 0 20rpx;
|
||||
align-items: center;
|
||||
margin-top: 20rpx;
|
||||
}
|
||||
|
||||
.car_itme_title {
|
||||
font-size: 32rpx;
|
||||
font-family: Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.oli_list_item_body_left_img {
|
||||
width: 80rpx;
|
||||
height: 73rpx;
|
||||
margin-right: 33rpx;
|
||||
}
|
||||
|
||||
.oli_list_item_body_left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.oli_list_item_body {
|
||||
border-bottom: 1px #F0F2FF solid;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding-left: 20rpx;
|
||||
/* padding: 20rpx 0; */
|
||||
|
||||
}
|
||||
|
||||
.oli_list_item {
|
||||
flex: 1;
|
||||
padding: 0 20rpx;
|
||||
}
|
||||
|
||||
.oli_list {
|
||||
height: 333rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 20rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.img {
|
||||
width: 100%;
|
||||
height: 81rpx;
|
||||
margin-top: 43rpx;
|
||||
margin-bottom: 30rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 0 83rpx;
|
||||
}
|
||||
|
||||
.car_body {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.move_item {
|
||||
position: absolute;
|
||||
left: 10rpx;
|
||||
width: 50%;
|
||||
height: 60rpx;
|
||||
background: #2866FF;
|
||||
border-radius: 10rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: #999999;
|
||||
z-index: 0;
|
||||
transition: all .3s;
|
||||
}
|
||||
|
||||
.sele_Bar_item {
|
||||
|
||||
/* width: 287rpx; */
|
||||
flex: 1;
|
||||
height: 60rpx;
|
||||
/* background: #2866FF; */
|
||||
border-radius: 10rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: #999999;
|
||||
z-index: 1;
|
||||
transition: color .4s;
|
||||
}
|
||||
|
||||
.sele_Bar {
|
||||
/* background-color: #18B566; */
|
||||
margin: 31rpx 40rpx;
|
||||
padding: 10rpx;
|
||||
display: flex;
|
||||
position: relative;
|
||||
background-color: #FFFFFF;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.hideTip {
|
||||
/* background-color: #E43D33; */
|
||||
width: calc(100% - (882rpx - (100vw - 62rpx)));
|
||||
/* width: calc( 100vw - 62rpx - 441rpx ); */
|
||||
height: 100%;
|
||||
padding: 29rpx 38rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.car_itme_right {
|
||||
right: 0;
|
||||
/* top:0;
|
||||
bottom: 0;
|
||||
margin: auto; */
|
||||
}
|
||||
|
||||
.car_itme_left {
|
||||
left: 0;
|
||||
/* top:0;
|
||||
bottom: 0;
|
||||
margin: auto; */
|
||||
}
|
||||
|
||||
.car_itme {
|
||||
/* opacity: .3; */
|
||||
height: 359rpx;
|
||||
width: 441rpx;
|
||||
border-radius: 20rpx;
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
/* transition: width .4s,height .4s ,background .4s,z-index 0s ; */
|
||||
transition: transform .4s, background .8s;
|
||||
z-index: 2;
|
||||
background-color: #2866FF;
|
||||
box-shadow: 0px 3px 9px 0px rgba(88, 88, 88, 0.2);
|
||||
color: white;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.sele_car {
|
||||
margin-top: 25rpx;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
position: relative;
|
||||
height: 359rpx;
|
||||
}
|
||||
|
||||
.oil_body {
|
||||
padding: 42rpx 31rpx;
|
||||
}
|
||||
|
||||
.oil_header {
|
||||
font-size: 34rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: bold;
|
||||
color: #333333;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user