Files
company_h5/src/views/orderDetails/components/optionalOilLable.vue
caolc 63bb475012 11
2022-08-29 09:45:23 +08:00

207 lines
5.6 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<div class="oilLable">
<div class="oilLable-sele flex ac jc">
请提醒加油员使用 <span style="color:red">星油云站</span> 进行订单核实
</div>
<div class="oilLableDetails">
<div @click="seleFn(index)" v-for="(itemx, index) in oilType.oilSitePriceDetailsVos" :key="index"
class="oilLableDetails-item flex ac">
<div :class="seleIndex == index ? 'seleLable' : 'label'" class=" flex ac jc">
<van-icon size="15" :color="seleIndex == index ? '#FFFFFF' : '#636262'" name="success" />
</div>
<div style=" overflow: hidden;" class="flex ac">
<span class="oilLableDetails-item-tip"></span>
<span class="oilLableDetails-item-oilNumber">{{ itemx.oilProductCode }}</span>
<span class="oilLableDetails-item-oilPrice">{{ itemx.sitePrice | moneyIntercept }}/L</span>
<span class="oilLableDetails-item-originalPrice">{{ itemx.oilSitePrice | moneyIntercept }}/L</span>
<span class="oilLableDetails-item-text ">预计每100L节省{{ (100 * (itemx.oilSitePrice - itemx.sitePrice))
| moneyFormat
}}</span>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
props: {
value: {
type: Object,
default: null
},
oilType: {
type: Object,
default: () => null
}
},
data() {
return {
seleIndex: 0
}
},
created() {
this.seleFn(this.seleIndex)
},
methods: {
seleFn(index) {
console.log(11)
this.seleIndex = index;
this.$emit('input', Object.assign(Object.assign(JSON.parse(JSON.stringify(this.value)), this.oilType.oilSitePriceDetailsVos[index])))
},
},
filters: {
moneyIntercept(value) {
if (value != 'xxx.x') {
return String(value).split('.')[1] && String(value).split('.')[1].length > 2 ? Number(`${String(value).split('.')[0]}.${String(value).split('.')[1].substring(0, 1)}${Number(String(value).split('.')[1].substring(1, 2)) + 1}`) : Number(value).toFixed(2);
} else {
return Number(value).toFixed(2)
}
},
moneyFormat(value) {
if (value != 'xxx.x') {
console.log('old:', value)
let realAmount = Math.floor(value * 100) / 100
console.log('new:', realAmount)
// return realAmount
return Number(value).toFixed(2)
} else {
return Number(value).toFixed(2)
}
},
channelCodeFamt(value) {
if (value) {
// 渠道编码 ( XOIL星油 WJY万金油 LV老吕找油网 TY团油 YDJY一点加油壳牌)
switch (value) {
case 'XOIL':
return '星油'
case 'WJY':
return '万金油'
case 'LV':
return '老吕(找油网)'
case 'TY':
return '团油'
case 'YDJY':
return '一点加油(壳牌)'
}
}
}
}
}
</script>
<style scoped>
.seleLable {
width: 31px;
height: 31px;
border: none;
border-radius: 50%;
background-color: #FF6700;
}
.label {
/* box-sizing: border-box; */
width: 31px;
height: 31px;
/* border: solid 1px #636262; */
border-radius: 50%;
}
.oilLableDetails-item:last-child {
margin-bottom: 0px !important;
}
.oilLableDetails-item-text {
font-size: 22px;
font-family: PingFang SC-中等, PingFang SC;
font-weight: normal;
color: #999999;
margin-left: 10px;
width: 300px;
flex: 1;
/* background-color: #999999; */
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.oilLableDetails-item-originalPrice {
font-size: 22px;
font-family: PingFang SC-中等, PingFang SC;
font-weight: normal;
color: #999999;
text-decoration: line-through;
margin-left: 13px;
}
.oilLableDetails-item-oilPrice {
font-size: 32px;
font-family: PingFang SC-特粗, PingFang SC;
font-weight: normal;
color: #FF6700;
margin-left: 10px;
}
.oilLableDetails-item-oilNumber {
color: #000000;
font-size: 34px;
margin-left: 17px;
min-width: 70px;
text-align: center;
}
.oilLableDetails-item-tip {
width: 35px;
/* height: 35px; */
box-sizing: border-box;
border: solid 1px #FF6700;
font-size: 25px;
color: #FF6700;
margin-left: 15px;
/* padding: 2px; */
}
.oilLableDetails-item {
width: 100%;
/* overflow: hidden; */
margin-bottom: 15px;
}
.oilLableDetails {
width: 100%;
margin-top: 37px;
}
.oilLable-sele-item {
width: fit-content;
border-bottom: 4px solid #FF6700;
padding-bottom: 5px;
box-sizing: border-box;
}
.oilLable-sele img {
width: 45px;
height: 45px;
margin-right: 10px;
}
.oilLable-sele {
width: 100%;
font-size: 28px;
font-family: PingFang SC-中等, PingFang SC;
font-weight: normal;
color: #333333;
}
.oilLable {
--pd: calc((100vw - 684px)/2);
width: 100%;
background-color: #ffffff;
margin-top: -62px;
box-sizing: border-box;
padding-top: 102px;
padding-left: var(--pd);
padding-right: var(--pd);
padding-bottom: 36px;
}
</style>