You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

279 lines
8.0 KiB

2 years ago
<template>
<view style="position: relative;" class="modify_popup">
<uni-icons @click="$emit('closeFn')" style="position: absolute;right: 5rpx;top: 5rpx;" color="#bbbbbb" type="clear" size="30"></uni-icons>
<view style="position: relative;">
<!-- <text class="hui fonsize">{{newSeleData.id}}</text> -->
<view class="modify_popup_header">
<view style="width: 52rpx; height: 55rpx;">
<uni-icons color="#2866ff" custom-prefix="iconfont" type="iconjiayou" size="30"></uni-icons>
</view>
<view class="flexGrow">
<view>{{newSeleData.siteName}}</view>
<view class="samallfonsize hui">{{newSeleData.siteId}}</view>
</view>
</view>
<view class="border" style="display: flex;flex-direction: column;gap:16rpx;margin-top: 20rpx;">
<view class="flex acenter">
<text class="lable_minwidth hui">油号</text>
<text style="color: #EC4645;font-size: 32rpx;"
class="flexGrow">{{newSeleData.oilProductCode}}</text>
</view>
<view class="flex acenter ">
<text class="lable_minwidth hui">发改委价格</text>
<view class="flexGrow flex acenter">
<view
style="width: 168rpx;background-color: #F1F1F1;height: 60rpx;display: flex;align-items: center;">
<input @input="inputFn('marketPrice')" :style="{color:disabled?'#bbbbbb':''}" :disabled="disabled"
v-model="newSeleData.marketPrice" style="text-align: center;" type="digit" value=""
placeholder="6.88" />
</view>
<uni-icons :color=" Number(newSeleData.marketPrice) >= Number(newSeleData.oldMarketPrice)? '#ff5555':'#2CE308' " custom-prefix="iconfont" :type="Number(newSeleData.marketPrice)>=Number(newSeleData.oldMarketPrice)?'icona-shangzhang1':'icona-xiadie2' " size="15"></uni-icons>
<text
style="margin-left: 10rpx; text-decoration: line-through">{{newSeleData.oldMarketPrice}}</text>
</view>
</view>
<view class="flex acenter">
<text class="lable_minwidth hui">油站价格</text>
<view class="flexGrow flex acenter">
<view
style="width: 168rpx;background-color: #F1F1F1;height: 60rpx;display: flex;align-items: center;">
<input @input="inputFn('sitePrice')" :style="{color:disabled?'#bbbbbb':''}" :disabled="disabled"
v-model="newSeleData.sitePrice" style="text-align: center;" type="digit" value=""
placeholder="6.88" />
</view>
<uni-icons :color=" Number(newSeleData.sitePrice) >= Number(newSeleData.oldSitePrice)? '#ff5555':'#2CE308' " custom-prefix="iconfont" :type="Number(newSeleData.sitePrice)>=Number(newSeleData.oldSitePrice)?'icona-shangzhang1':'icona-xiadie2' " size="15"></uni-icons>
<text
style="margin-left: 10rpx; text-decoration: line-through">{{newSeleData.oldSitePrice}}</text>
</view>
</view>
</view>
<view class="flex acenter border ">
<text class="lable_minwidth hui">调价类型</text>
<view class="flexGrow flex acenter">
<!-- <text
:style="{color:disabled?'#bbbbbb':''}"
@click="disabled? '': newSeleData.effectiveMode == 0? newSeleData.effectiveMode=1:newSeleData.effectiveMode=0"
style="width: 168rpx;height: 60rpx;display: flex;align-items: center">{{Number(newSeleData.effectiveMode)==0?'立即':'预约'}}</text> -->
<text :style="{color:disabled?'#bbbbbb':''}" style="width: 168rpx;height: 60rpx;display: flex;align-items: center">{{Number(newSeleData.effectiveMode)==0?'立即':'预约'}}</text>
</view>
</view>
<view v-if="newSeleData.effectiveMode==1" class="flex acenter border ">
<text class="lable_minwidth hui">请选择时间</text>
<view class="flexGrow flex acenter">
<text
style="margin-left: 10rpx;">{{newSeleData.subEntryTime?newSeleData.subEntryTime:'请选择时间'}}</text>
</view>
</view>
<view style="border-bottom: 0px;" class="flex acenter border">
<text class="lable_minwidth hui">审核状态</text>
<view :style="{color:'#EBC153'}" class="flexGrow flex acenter">{{newSeleData.applyStatus|applyStatus}}
</view>
</view>
</view>
<view v-if="seleData.applyStatus==0" style="margin-top: 27rpx;" class="flex jb">
<view @click="lefnFn" :style="{background: butten.leftButten.bg,color:butten.leftButten.color}"
class="footer_zbutten">{{butten.leftButten.text}}</view>
<view @click="rightFn" :style="{background: butten.rightButten.bg,color:butten.rightButten.color}"
class="footer_butten">{{butten.rightButten.text}}</view>
</view>
<u-picker @confirm='dateConfirm' v-model="show" :params="params" mode="time"></u-picker>
</view>
</template>
<script>
import tool from '@/utils/tool.js'
export default {
props: {
seleData: {
type: Object,
default: () => {
return null
}
}
},
data() {
return {
params: {
year: true,
month: true,
day: true,
hour: true,
minute: true,
second: false
},
newSeleData: null,
show: false,
disabled: true,
butten: {
leftButten: {
bg: '',
color: '',
text: '撤回'
},
rightButten: {
bg: '',
color: '',
text: '修改价格'
}
}
}
},
created() {
this.initFn()
},
filters: {
applyStatus(e) {
/*
-3执行失败
-2已撤回
-1审核失败
0待审核
1审核通过
2等待执行
3执行成功
*/
switch (Number(e)) {
case 1:
return '审核通过'
case 2:
return '等待执行'
case 3:
return '执行成功'
case 0:
return '等待审核'
case -1:
return '审核失败'
case -2:
return '已撤回'
case -3:
return '执行失败'
case -4:
return '已撤销'
}
}
},
methods: {
inputFn(e) {
console.log(this.newSeleData[e])
if (this.newSeleData[e].indexOf('.') != -1) {
if (this.newSeleData[e].split('.')[1].length > 2) {
uni.showToast({
title: '最多保留小数点后两位',
icon: 'none'
})
this.$nextTick(function() {
this.newSeleData[e] = Number(this.newSeleData[e]).toFixed(2)
})
}
}
},
lefnFn() {
if (this.butten.leftButten.text == '恢复') {
this.disabled = true
this.butten.rightButten.text = '修改价格'
this.butten.leftButten.text = '撤回'
this.newSeleData = JSON.parse(JSON.stringify(this.seleData))
} else {
uni.showToast({
title: '撤回了',
icon: 'success'
})
this.$emit('reject',{id:this.newSeleData.id})
}
},
rightFn() {
if (this.butten.rightButten.text == '修改价格') {
this.disabled = false
this.butten.rightButten.text = '重新提交'
this.butten.leftButten.text = '恢复'
} else {
this.newSeleData.updateSource = 'OMS-MINIAPP'
this.$emit('postFn',this.newSeleData)
uni.showToast({
title: '提交了',
icon: 'success'
})
}
},
initFn() {
this.newSeleData = JSON.parse(JSON.stringify(this.seleData))
},
dateConfirm(e) {
this.newSeleData.subEntryTime = `${e.year}-${e.day}-${e.month} ${e.hour}:${e.minute}`
console.log(e)
},
}
}
</script>
<style scoped>
.footer_zbutten {
width: 227rpx;
background-color: #EC4645;
border-radius: 15rpx;
padding: 22rpx 0;
text-align: center;
color: white;
}
.footer_butten {
width: 227rpx;
background-color: #2866FF;
border-radius: 15rpx;
padding: 22rpx 0;
text-align: center;
color: white;
}
.jb {
justify-content: space-between;
}
.border {
border-bottom: 1rpx solid #F0F0F0;
padding: 10rpx 0;
}
.lable_minwidth {
width: 30%;
}
.flex {
display: flex;
}
.acenter {
align-items: center;
}
.hui {
color: #999999;
}
.fonsize {
font-size: 27rpx;
}
.flexGrow {
flex-grow: 1;
}
.samallfonsize {
font-size: 24rpx;
}
.modify_popup_header {
display: flex;
border-bottom: 1rpx solid #F0F0F0;
padding-bottom: 20rpx;
margin-top: 39rpx;
align-items: center;
gap: 25rpx
}
.modify_popup {
padding: 26rpx 46rpx;
font-size: 28rpx;
}
</style>