|
|
|
@ -188,6 +188,24 @@ |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
<view class=" menu cu-list " v-if="plateNumberOcrShow==true"> |
|
|
|
|
<view class="cu-item nowrap"> |
|
|
|
|
<view class="text-bold "> |
|
|
|
|
车牌识别 |
|
|
|
|
</view> |
|
|
|
|
<view @tap="srcPhoto" class="text-center" style="width: 60%;margin: 0 2%;"> |
|
|
|
|
<input v-model="plateNumberOcr" type="digit" class="block" |
|
|
|
|
placeholder="请点击拍照识别车牌" value="" style="border-bottom: 1px solid #efefef;" /> |
|
|
|
|
</view> |
|
|
|
|
<view @tap="srcPhoto"> |
|
|
|
|
<uni-icons type="camera-filled" size="30"></uni-icons> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<view class="bg-white padding"> |
|
|
|
|
<view class=""> |
|
|
|
|
<text class="text-bold">优惠</text> |
|
|
|
@ -367,6 +385,39 @@ |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
<view class="cu-modal bottom-modal " :class="showPlicePhoto"> |
|
|
|
|
|
|
|
|
|
<view class="cu-dialog bg-white"> |
|
|
|
|
<view class="cu-bar bg-white justify-end"> |
|
|
|
|
<view class="content"></view> |
|
|
|
|
<view class="action" @tap="showPlicePhoto=''"> |
|
|
|
|
<text class="cuIcon-close text-red"></text> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
<view style="height: 1000rpx;"> |
|
|
|
|
<view style="margin: 100rpx 0;"> |
|
|
|
|
<uni-icons type="clear" size="80" color="#f56c6c"></uni-icons> |
|
|
|
|
<view> |
|
|
|
|
<text style="color: #d9001b;font-size: 30rpx;font-weight: bold;">识别失败!</text> |
|
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
</view> |
|
|
|
|
<view style="margin: 60rpx 0;"> |
|
|
|
|
<button @tap="srcPhoto" style="width: 60%;background-color: #409EFF;color: #ffffff;">重新拍照</button> |
|
|
|
|
</view> |
|
|
|
|
<view style="margin: 60rpx 0;"> |
|
|
|
|
<button style="width: 60%;background-color: #F59A23;color: #ffffff;" @click="manualInput">手动输入车牌号</button> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<uni-popup ref="inputDialog" type="dialog"> |
|
|
|
|
<uni-popup-dialog mode="input" title="请输入车牌号" value="" :before-close="true" |
|
|
|
|
placeholder="请输入" @close="inputClose" @confirm="inputConfirm"></uni-popup-dialog> |
|
|
|
|
</uni-popup> |
|
|
|
|
|
|
|
|
|
</view> |
|
|
|
|
</template> |
|
|
|
|
|
|
|
|
@ -377,6 +428,7 @@ |
|
|
|
|
import oilOssApi from '@/api/oil-oss.js' |
|
|
|
|
import utils from '@/utils/encode' |
|
|
|
|
import oilInterfacesApi from '@/api/oil-interfaces.js' |
|
|
|
|
import user from '@/api/user.js' |
|
|
|
|
export default { |
|
|
|
|
props: { |
|
|
|
|
channelList: { |
|
|
|
@ -504,13 +556,18 @@ |
|
|
|
|
activeChannelCode: '', |
|
|
|
|
checkBar: [], |
|
|
|
|
realMoney: '', |
|
|
|
|
xoilAmountGun: '' |
|
|
|
|
xoilAmountGun: '', |
|
|
|
|
plateNumberOcr:'', |
|
|
|
|
plateNumberOcrShow:false, |
|
|
|
|
showPlicePhoto:'', |
|
|
|
|
plateNumberImages:'' |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
created() { |
|
|
|
|
let oilItem = uni.getStorageSync('oilItem'), |
|
|
|
|
oilSite = uni.getStorageSync(''), |
|
|
|
|
otherUser = uni.getStorageSync('otherUserInfo') |
|
|
|
|
otherUser = uni.getStorageSync('otherUserInfo'), |
|
|
|
|
companyId = JSON.parse(uni.getStorageSync('companyCard')).companyId |
|
|
|
|
if (otherUser) { |
|
|
|
|
// console.log('这里是卡里') |
|
|
|
|
this.isOtherUser = true |
|
|
|
@ -520,6 +577,8 @@ |
|
|
|
|
console.log('oilItem', oilItem) |
|
|
|
|
this.showtitles = oilItem.listTag; |
|
|
|
|
this.init() |
|
|
|
|
console.log(companyId) |
|
|
|
|
this.getCompanyConfig(companyId) |
|
|
|
|
}, |
|
|
|
|
watch: { |
|
|
|
|
activeChannelCode: { |
|
|
|
@ -598,6 +657,86 @@ |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
methods: { |
|
|
|
|
manualInput(){ |
|
|
|
|
this.showPlicePhoto='' |
|
|
|
|
this.$refs.inputDialog.open() |
|
|
|
|
}, |
|
|
|
|
inputClose(){ |
|
|
|
|
this.$refs.inputDialog.close() |
|
|
|
|
}, |
|
|
|
|
inputConfirm(val){ |
|
|
|
|
if(val){ |
|
|
|
|
this.plateNumberOcr = val |
|
|
|
|
this.$refs.inputDialog.close() |
|
|
|
|
}else{ |
|
|
|
|
uni.showToast({ |
|
|
|
|
title: '请输入车牌号', |
|
|
|
|
icon: 'none' |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
getCompanyConfig(companyId){ |
|
|
|
|
if(companyId){ |
|
|
|
|
user.getCompanyConfigByCompanyId(companyId).then(res=>{ |
|
|
|
|
if(res.data.plateNumberOcr==1){ |
|
|
|
|
this.plateNumberOcrShow = true |
|
|
|
|
}else{ |
|
|
|
|
this.plateNumberOcrShow = false |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
srcPhoto(){ |
|
|
|
|
this.showPlicePhoto='' |
|
|
|
|
let _that = this |
|
|
|
|
uni.chooseImage({ |
|
|
|
|
count: 1, //默认9 |
|
|
|
|
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有 |
|
|
|
|
sourceType: ['camera'], // 只能拍照 |
|
|
|
|
success: function(res) { |
|
|
|
|
uni.showLoading({ |
|
|
|
|
title: '识别中', |
|
|
|
|
mask: true |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
const JSESSIONID = utils.uuid() |
|
|
|
|
uni.uploadFile({ |
|
|
|
|
url: 'http://uat.xingoil.com/adminapi/oil-oss/obejct/carNoIdentify', |
|
|
|
|
filePath: res.tempFilePaths[0], |
|
|
|
|
name: 'file', |
|
|
|
|
header: { |
|
|
|
|
"Content-Type": "multipart/form-data", |
|
|
|
|
"Authorization": uni.getStorageSync('Authorization'), |
|
|
|
|
'dataSources': 'MP', |
|
|
|
|
"imei": uni.getStorageSync('unionid'), |
|
|
|
|
"openId": uni.getStorageSync('openid'), |
|
|
|
|
'JSESSIONID': JSESSIONID, |
|
|
|
|
'token': utils.md5Salt(JSESSIONID) |
|
|
|
|
}, |
|
|
|
|
success(e) { |
|
|
|
|
uni.hideLoading() |
|
|
|
|
let obj = JSON.parse(e.data) |
|
|
|
|
if(obj.data&&obj.data.carNo){ |
|
|
|
|
_that.plateNumberOcr = obj.data.carNo |
|
|
|
|
_that.plateNumberImages = obj.data.imgUrl |
|
|
|
|
}else{ |
|
|
|
|
_that.plateNumberOcr = '' |
|
|
|
|
_that.showPlicePhoto = 'show' |
|
|
|
|
} |
|
|
|
|
},fail(res){ |
|
|
|
|
uni.hideLoading() |
|
|
|
|
_that.showPlicePhoto = 'show' |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
typeChenk() { |
|
|
|
|
return this.channelList[this.activeCur]?.secondChannelCode && this.thirdPartyDynamicData.includes(this |
|
|
|
|
.channelList[this.activeCur].secondChannelCode) |
|
|
|
@ -1135,14 +1274,23 @@ |
|
|
|
|
'xoilAmountGun': this.vol |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
var orderData = { |
|
|
|
|
if(!this.plateNumberOcr){ |
|
|
|
|
uni.showToast({ |
|
|
|
|
icon: 'none', |
|
|
|
|
title: '请上传车牌照片' |
|
|
|
|
}) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
if(this.plateNumberOcrShow == true){ |
|
|
|
|
var orderData = { |
|
|
|
|
amountGun: this.activeChannelCode == 'TY' ? this.ty.realMoney : '', |
|
|
|
|
shareCompanyQuota: 0, // 共享标识 |
|
|
|
|
priceId: this.oilSitePriceDetailsVo[this.radio].priceId, //类型:String 必有字段 备注:油价主键 |
|
|
|
|
orderType: "REAL_ORDER", //类型:String 必有字段 备注:订单类型(REAL_ORDER:真实订单 VIRTUAL_ORDER:虚拟订单) |
|
|
|
|
orderSource: "WECHAT_MINIAPPS", //类型:String 必有字段 备注:订单来源(WECHAT_MINIAPPS) |
|
|
|
|
plateNumber: this.plateNumber ? this.plateNumber : this |
|
|
|
|
.plateNumberSel, //类型:String 必有字段 备注:车牌号 |
|
|
|
|
plateNumber: this.plateNumberOcrShow == true ? this.plateNumberOcr : this |
|
|
|
|
.plateNumber, //类型:String 必有字段 备注:车牌号 |
|
|
|
|
plateNumberImages: this.plateNumberImages, // 车牌照片地址 |
|
|
|
|
siteUserName: this.jober, //类型:String 必有字段 备注:加油员 |
|
|
|
|
oilsBar: this.oilBar, //类型:Number 必有字段 备注:油枪 |
|
|
|
|
volume: this.activeChannelCode == 'TY' ? this.tyRes.liter : this |
|
|
|
@ -1155,6 +1303,29 @@ |
|
|
|
|
'version': 1, |
|
|
|
|
'xoilAmountGun': this.vol |
|
|
|
|
} |
|
|
|
|
}else{ |
|
|
|
|
var orderData = { |
|
|
|
|
amountGun: this.activeChannelCode == 'TY' ? this.ty.realMoney : '', |
|
|
|
|
shareCompanyQuota: 0, // 共享标识 |
|
|
|
|
priceId: this.oilSitePriceDetailsVo[this.radio].priceId, //类型:String 必有字段 备注:油价主键 |
|
|
|
|
orderType: "REAL_ORDER", //类型:String 必有字段 备注:订单类型(REAL_ORDER:真实订单 VIRTUAL_ORDER:虚拟订单) |
|
|
|
|
orderSource: "WECHAT_MINIAPPS", //类型:String 必有字段 备注:订单来源(WECHAT_MINIAPPS) |
|
|
|
|
plateNumber: this.plateNumber ? this.plateNumber : this |
|
|
|
|
.plateNumberSel, //类型:String 必有字段 备注:车牌号 |
|
|
|
|
siteUserName: this.jober, //类型:String 必有字段 备注:加油员 |
|
|
|
|
oilsBar: this.oilBar, //类型:Number 必有字段 备注:油枪 |
|
|
|
|
volume: this.activeChannelCode == 'TY' ? this.tyRes.liter : this |
|
|
|
|
.vol, //类型:Number 必有字段 备注:加油升数 |
|
|
|
|
realPrice: this.oilSitePriceDetailsVo[this.radio].sitePrice, //类型:Number 必有字段 备注:实际加油价格 |
|
|
|
|
suppleMark: 0, //类型:Number 必有字段 备注:补录标识(0:实时订单 1:补录订单) |
|
|
|
|
createSource: "XOIL_DRIVER_COMPANY_WECHAT_APPLET", //类型:String 必有字段 备注:创建来源( XOIL_DRIVER_COMPANY_WECHAT_APPLET) |
|
|
|
|
// "deviceImei": "mock", //类型:String 可有字段 备注:设备唯一码 |
|
|
|
|
// "networkIp": "mock" //类型:String 可有字段 备注:ip地址 |
|
|
|
|
'version': 1, |
|
|
|
|
'xoilAmountGun': this.vol |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
// console.log(orderData) |
|
|
|
|
let location = uni.getStorageSync('location') || { |
|
|
|
|