This commit is contained in:
xiaozhiyong
2024-12-31 14:45:51 +08:00
parent 5803d8a222
commit 949707d0ec
12 changed files with 264 additions and 110 deletions

View File

@@ -135,7 +135,7 @@
</view>
<view class="text-center" style="width: 60%;margin: 0 2%;">
<input v-model="vol" @input="checkeNumber" @blur="getMoneyVol" type="digit" class="block"
placeholder="请输入油机金额" value="" style="border-bottom: 1px solid #efefef;" />
placeholder="请输入油机金额" value="" style="border-bottom: 1px solid #efefef;" :disabled="readonlyRealMoney" />
</view>
<view class="">
<text class=" padding-right-sm">
@@ -166,7 +166,7 @@
</view>
<view class="text-center">
<input v-model="ty.realMoney" @input="onInputTyMoney" type="digit" class="block"
placeholder="加油金额" value="" />
placeholder="加油金额" value="" />
</view>
<view class="">
<text class="text-bold padding-right-sm">
@@ -188,24 +188,24 @@
</view>
</view>
</view>
<view class=" menu cu-list " v-if="plateNumberOcrShow==true">
<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 @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">
<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>
@@ -385,9 +385,9 @@
</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>
@@ -395,29 +395,31 @@
<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 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 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-dialog mode="input" title="请输入车牌号" value="" :before-close="true" placeholder="请输入"
@close="inputClose" @confirm="inputConfirm"></uni-popup-dialog>
</uni-popup>
</view>
</template>
@@ -459,6 +461,7 @@
},
data() {
return {
readonlyRealMoney: false,
thirdPartyDynamicData: ['LAIYOU'],
vlom: '',
discount: '',
@@ -557,10 +560,10 @@
checkBar: [],
realMoney: '',
xoilAmountGun: '',
plateNumberOcr:'',
plateNumberOcrShow:false,
showPlicePhoto:'',
plateNumberImages:''
plateNumberOcr: '',
plateNumberOcrShow: false,
showPlicePhoto: '',
plateNumberImages: ''
}
},
created() {
@@ -570,8 +573,7 @@
companyId = JSON.parse(uni.getStorageSync('companyCard')).companyId
if (otherUser) {
this.isOtherUser = true
} else {
}
} else {}
this.showtitles = oilItem.listTag;
this.init()
this.getCompanyConfig(companyId)
@@ -645,39 +647,39 @@
}
},
methods: {
manualInput(){
this.showPlicePhoto=''
manualInput() {
this.showPlicePhoto = ''
this.$refs.inputDialog.open()
},
inputClose(){
inputClose() {
this.$refs.inputDialog.close()
},
inputConfirm(val){
if(val){
inputConfirm(val) {
if (val) {
this.plateNumberOcr = val
this.$refs.inputDialog.close()
}else{
} else {
uni.showToast({
title: '请输入车牌号',
icon: 'none'
})
}
},
getCompanyConfig(companyId){
if(companyId){
user.getCompanyConfigByCompanyId(companyId).then(res=>{
if(res.data.plateNumberOcr==1){
getCompanyConfig(companyId) {
if (companyId) {
user.getCompanyConfigByCompanyId(companyId).then(res => {
if (res.data.plateNumberOcr == 1) {
this.plateNumberOcrShow = true
}else{
} else {
this.plateNumberOcrShow = false
}
})
}
},
srcPhoto(){
this.showPlicePhoto=''
srcPhoto() {
this.showPlicePhoto = ''
let _that = this
uni.chooseImage({
count: 1, //默认9
@@ -688,7 +690,7 @@
title: '识别中',
mask: true
});
const JSESSIONID = utils.uuid()
uni.uploadFile({
url: 'http://uat.xingoil.com/adminapi/oil-oss/obejct/carNoIdentify',
@@ -706,20 +708,21 @@
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{
if (obj.data && obj.data.carNo) {
_that.plateNumberOcr = obj.data.carNo
_that.plateNumberImages = obj.data.imgUrl
} else {
_that.plateNumberOcr = ''
_that.showPlicePhoto = 'show'
}
},fail(res){
},
fail(res) {
uni.hideLoading()
_that.showPlicePhoto = 'show'
}
})
}
})
@@ -1247,8 +1250,8 @@
'xoilAmountGun': this.vol
}
} else {
if(this.plateNumberOcrShow == true){
if(!this.plateNumberOcr){
if (this.plateNumberOcrShow == true) {
if (!this.plateNumberOcr) {
uni.showToast({
icon: 'none',
title: '请上传车牌照片'
@@ -1256,27 +1259,27 @@
return
}
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.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
.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
}
}else{
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.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
.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
}
} else {
var orderData = {
amountGun: this.activeChannelCode == 'TY' ? this.ty.realMoney : '',
shareCompanyQuota: 0, // 共享标识
@@ -1298,7 +1301,7 @@
'xoilAmountGun': this.vol
}
}
}
let location = uni.getStorageSync('location') || {
longitude: '',
@@ -1344,11 +1347,31 @@
this.radio = 0
this.plateNumbers = res.data.plateNumbers
this.oilSitePriceDetailsVo = res.data.oilSitePriceDetailsVo
this.couponFaceValueListHandle(this.radio)
this.activeSitePrice = res.data.oilSitePriceDetailsVo[0].priceId
this.siteUserNames = res.data.siteUserNames
}
})
},
couponFaceValueListHandle(index) {
if (this.oilSitePriceDetailsVo[index].couponFaceValueList) {
this.readonlyRealMoney = true
this.checkMoney = this.oilSitePriceDetailsVo[index].couponFaceValueList.reduce((prev, item) => {
prev.push({
value: +item,
name: (+item).toFixed(0),
checked: false,
hot: false,
})
return prev
}, [])
console.log('this.checkMoney', this.checkMoney)
}
},
pickJober(e) {
this.joberIndex = e.detail.value
},
@@ -1391,6 +1414,8 @@
this.activeSitePrice = this.oilSitePriceDetailsVo[this.radio].priceId
this.realMoney = '--'
this.xoilAmountGun = ''
this.couponFaceValueListHandle(this.radio)
},
tabSelect(e) {
this.activeChannelCode = e.currentTarget.dataset.channelCode;
@@ -1795,4 +1820,4 @@
.padding-bottom-40 {
padding-bottom: 20%;
}
</style>
</style>