1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750 |
- <template>
- <view>
- <view v-if="chargingRecord.status==2" style="background-color: #fff; " >
- <ujp-navbar title="充电结束">
- </ujp-navbar>
- <view class="progress-bar2">
- <u-circle-progress width="300" active-color="green" duration='20' :percent="100" border-width="20">
- <view class="u-progress-content">
-
- <text class='u-progress-info' v-if="chargingGun.gunType==1">
- <p style="text-align: center;">{{chargingRecord.endSoc}}%</p>
- <p class="progress-text">当前电量</p>
- </text>
-
- <text class='u-progress-info' v-if="chargingGun.gunType==2">
- <p style="text-align: center;" >{{chargingRecord.electricQuantity?(chargingRecord.electricQuantity/10000).toFixed(2):0}}</p>
- <p class="progress-text">已充电量(度)</p>
- </text>
-
- </view>
-
- </u-circle-progress>
- </view>
- <!-- 充电信息 -->
-
- <!-- <view class="charge-infos">
- <view class="item">
- <view class="title">
- 充电金额
- </view>
- <view class="content">
- 50.00
- </view>
- </view>
- <view class="item">
- <view class="title">
- 充电时长
- </view>
- <view class="content">
- 00.00.00
- </view>
- </view>
- <view class="item">
- <view class="title">
- 优惠金额
- </view>
- <view class="content discounts">
- -6.00元
- </view>
- </view>
- <view class="item">
- <view class="title">
- 会员活动
- </view>
- <view class="content">
- 充电月卡
- </view>
- </view>
- </view> -->
- <view class="info" >
- <view class="info-name">
- 充电时长
- </view>
- <view class="info-text">
- {{getPercent2()}}
- </view>
- </view>
- <view class="info" >
- <view class="info-name">
- 充电金额
- </view>
- <view class="info-text" >
- {{chargingRecord.actualFee?chargingRecord.actualFee.toFixed(2):0}}元
- </view>
- </view>
- <view class="info" v-if="chargingRecord.discountAmount">
- <view class="info-name">
- 优惠金额
- </view>
- <view class="info-text" style="color:red">
- {{chargingRecord.discountAmount.toFixed(2)}}元
- </view>
- </view>
-
- <view class="info" v-if="chargingRecord.remark">
- <view class="info-name" style="width: 80px;">
- 结束原因
- </view>
- <view class="info-text" style="color: red;" >
- {{chargingRecord.remark}}
- </view>
- </view>
-
-
-
-
-
-
- <!--
- <view
-
- style="
- margin-top: 20px;
- text-align: center;
- padding: 0 45px;
- padding-bottom: 40px;
- color:#9e9e9e;
- ">
- <span style="color: red;">*</span>实际充电金额与所选金额会略有出入,最终结算金额将以实际充入电量为准。
- </view> -->
-
- <view class="bottom">
- <u-button size="default" style="background-color:#53b56b"
- shape="circle" @click="gotoMain(0)" >返回首页</u-button>
- <u-button style="background-color:#53b56b"
- size="default" shape="circle" @click="gotoMain(1)">查看订单详情</u-button>
- </view>
- <u-line color="#E6E6E6 100%" length="81%" margin="auto"/>
- <!-- 反馈 -->
- <view class="feedback">
- <view class="title-1">
- 您对本次充电服务还满意吗?
- </view>
- <view class="title-2">
- 请在下方描述您所遇到的问题,或填写您的反馈意见。我们将对优质内容的反馈者发放奖励!
- </view>
- <textarea value="" v-model="message" placeholder="请填写反馈内容" />
- <u-button class="submit" type="success" @click="submitMessage()">提交</u-button>
- </view>
- <u-line color="#E6E6E6 100%" length="81%" margin="auto"/>
-
- <view class="info" >
- <view class="info-name">
- 优惠券
- </view>
- <view class="info-text" style="color:red">
- {{couponObj&&couponObj.status=='1'?couponObj.text:'未使用'}}
- </view>
- </view>
- <view class="info" v-if="userCardBool" >
- <view class="info-name">
- 会员活动
- </view>
- <view class="info-text">
- 折扣卡
- </view>
- </view>
- <u-divider color="#B6BDC3" style="margin-bottom:20px;" bg-color="#ffffff">已经到底了</u-divider>
-
-
- <view>
- <u-toast ref="uToast" />
- </view>
- </view>
- <view style="background-color: #f7f8f8; padding-bottom: 0px;"
- class="progress-bar-main" v-else>
-
- <u-modal v-model="descriptionShow2do"
- confirm-text="知道了"
- title="【充电SOC限制】" >
- <view style="padding: 10px;font-size: 14px;">
- 为保障充电安全,并积极响应主管部门对新能源汽车充电安全工作,从即日起,该站充电设施SOC上限阈值为{{chargingStation.maxSoc}}%,即充电量达到满充电量{{chargingStation.maxSoc}}%时,充电设施将自动结束充电。
- </view>
- </u-modal>
-
-
- <u-modal v-model="showVin" class="showOss" @cancel="confirm()"
- confirm-text="继续充电" cancel-text="结束充电"
- :show-title="false" :show-cancel-button="true" >
- <view class="slot-content">
-
- <u-image width="120px" style="margin: auto;"
- mode="widthFix"
- src="@/static/img/充电中-缺省页.png"></u-image>
- <view style="padding:0 40px;font-size: 36rpx;">
- 系统检测出当前充电车辆与月卡所绑定的车辆不一致,该车辆可以正常充电,但无法享受月卡免服务费优惠。
-
- </view>
- </view>
- </u-modal>
-
- <view>
- <ujp-navbar :title="navbartitle">
-
- <view class="to-recharge"
- v-if="chargingRecord.payType==2"
- @click="gotoUrl('pages/user/finance/recharge')">
- 去充值
- </view>
- </ujp-navbar>
-
- <u-alert-tips type="warning"
- v-if="chargingGun.gunType==1&&chargingStation.maxSoc&&chargingStation.maxSoc!=100"
- :descStyle="{
- fontSize: '28rpx',
- color: '#ef7a30',
- }" @click="alerttipsCk2"
- :show-icon="true" :description="'【充电SOC限制】充电量达到满充电量'+chargingStation.maxSoc+'%时,充电设施将自动结束充电。点击查看详情>'"></u-alert-tips>
-
- <!-- 充电状态 -->
- <view class="charge-state">
- <view class="progress-bar">
- <u-circle-progress width="400" active-color="#53b56b" :percent="percent?percent:percentValue" border-width="35">
-
-
- <view class="u-progress-content" v-if="chargingRecord.status==4">
- <text class='u-progress-info' v-if="waitNum==1">排队中</text>
- <text class='u-progress-info' v-else >前方等待{{waitNum-1}}位</text>
- </view>
-
- <view class="u-progress-content" v-else>
-
- <text class='u-progress-info' >
- <view v-if="chargingGun.gunType==1" style="
- font-size: 80rpx;
- font-weight: bold;
- color: #009B52 ;
- " >{{percent}}<span style="font-size: 16px;">%</span></view>
- <view v-if="chargingGun.gunType==2"
- style="
- font-size: 60rpx;
- font-weight: bold;
- color: #009B52 ;
- "
-
- >{{chargingRecord.statusText}}</view>
- <view
-
- style="
- font-size: 32rpx;
- font-weight: bold;
- " >预计费用{{chargingRecord.dueFee?chargingRecord.dueFee.toFixed(2):'0.00'}}元</view>
- </text>
-
-
- </view>
-
- <view class="bot"></view>
- </u-circle-progress>
- </view>
- <!-- <view class="img">
- <img src="../../../assets/img/Group (2).png" alt="">
- </view>
- <view class="state-infos">
- <view class="state">
- <text><img src="../../../assets/img/if-flash.svg" alt=""></text>充电中...
- </view>
- <view class="electric-quantity">
- <p>当前电量</p>
- <view class="percent">
- 60<text>%</text>
- </view>
- </view>
- <view class="charge-time">
- <p>充电时长</p>
- <view class="time">
- 00:24:01
- </view>
- </view>
-
- </view> -->
-
- </view>
- <!-- 充电信息 -->
- <view class="charge-info">
- <view class="info-item">
- <view class="content">
- {{timer}}
- </view>
- <view class="name">
- 充电时长
- </view>
- </view>
- <view class="info-item">
- <view class="content" >
- {{chargingRecord.electricQuantity?(chargingRecord.electricQuantity/10000).toFixed(2):0}}
- </view>
- <view class="name">
- 已充电量(度)
- </view>
- </view>
- <view class="info-item" v-if="chargingRecord.payType==1">
- <view class="content" v-if="chargingRecord.estimateFee">
- {{chargingRecord.estimateFee.toFixed(2)}}
- </view>
- <view class="name">
- 预充金额(元)
- </view>
- </view>
-
- <view class="info-item" v-else>
- <view class="content" v-if="detail.balance>0||detail.balance==0">
-
- {{detail.balance>0&&chargingRecord.dueFee?((detail.balance*1000-chargingRecord.dueFee*1000)/1000).toFixed(2):detail.balance.toFixed(2)}}
-
- </view>
- <view class="name">
- {{chargingRecord.payType==3?'企业':'账户'}}余额(元)
- </view>
- </view>
-
- <view class="info-item" v-if="infoShow">
- <view class="content">
- {{chargingRecord.chargeVoltage?chargingRecord.chargeVoltage:0}}V
-
- </view>
- <view class="name">
- 电压
- <u-icon name="error-circle" v-if="chargingGun.gunType==1"
- @click="voltageShow=true"
- size="28"></u-icon>
- </view>
- </view>
- <view class="info-item" v-if="infoShow">
- <view class="content">
-
- {{chargingRecord.chargingPower?(chargingRecord.chargingPower/1000).toFixed(2):0}}kW
-
- </view>
- <view class="name">
- 功率
- </view>
- </view>
- <view class="info-item" v-if="infoShow">
- <view class="content">
- {{chargingRecord.chargeAmpere?chargingRecord.chargeAmpere:0}}A
- </view>
- <view class="name">
- 电流
- </view>
- </view>
- <template v-if="NODE_ENV!=='production'">
-
-
- <view class="info-item" v-if="infoShow">
- <view class="content">
- {{chargingGun.beforeMeter?chargingGun.beforeMeter:0}}度
- </view>
- <view class="name">
- 充电前电表
- </view>
- </view>
- <view class="info-item" v-if="infoShow">
- <view class="content">
- {{chargingGun.nowMeter?chargingGun.nowMeter:0}}度
- </view>
- <view class="name">
- 当前电表
- </view>
- </view>
- </template>
-
- <view class="spread" @tap="spreadInfo">
- <view class="" v-if="this.infoShow==false">
- 全部信息<text class="iconfont"></text>
- </view>
- <view class="pack-up" v-if="this.infoShow==true">
- 收起<text class="iconfont"></text>
- </view>
- </view>
-
-
- </view>
- <!-- 其他信息 -->
- <view class="else-infos">
-
- <u-modal v-model="voltageShow" :titleStyle="{
- 'font-size': '22px'
- }"
- title="更多充电信息" confirm-text="关闭"
- >
- <view style="padding: 15px;" class="voltageShow">
- <view>最高允许单体电压<span>{{voltageShowNum(chargingGun.maxAllowSingleVoltage)}}V</span>
-
- </view>
- <view>最高单体电压<span>{{voltageShowNum(chargingGun.singleMaxVoltage)}}V</span>
-
- </view>
- <view>最低单体电压<span>{{voltageShowNum(chargingGun.singleMinVoltage)}}V</span>
-
- </view>
- <view>最高允许单体温度<span>{{voltageShowNum(chargingGun.maxAllowTemperature)}}℃</span>
-
- </view>
- <view>最高单体温度<span>{{voltageShowNum(chargingGun.singleMaxTemperature)}}℃</span>
-
- </view>
- <view>充电枪温度<span>{{voltageShowNum(chargingGun.gunTemperature)}}℃</span>
-
- </view>
- </view>
- </u-modal>
- <u-modal v-model="parkingTips"
- title="新能源汽车停车费说明"
- confirm-text="知道了" confirm-color="#53b56b" >
- <view style="padding: 15px;"
- v-html="chargingStation.parkingSimpleDescription"
- ></view>
- </u-modal>
- <view class="item" v-if="chargingStation.parkingSimpleDescription">
-
- <view class="title" style="
- width: 100%;
- " @click="parkingTips=true">
- 停车费说明 <u-icon name="arrow-right" style="
- float: right;margin-top: 6px;" size="28"></u-icon>
- </view>
-
-
- </view>
- <view class="item" v-if="false">
- <view class="title">
- 充电车辆
- </view>
- <view class="detail">
- {{chargingRecord.carNumber?chargingRecord.carNumber:'未绑定'}}
- </view>
-
- </view>
- <view class="item" v-if="price.costPrice">
- <view class="title">
- <p class="price">充电价格</p>
- <p class="time">{{price.startTime}}-{{price.endTime}}</p>
- </view>
- <view class="detail">
- <p class="electrovalence">
- <text class="num" v-if="chargingRecord.userCardId">{{price.electricityPrice.toFixed(2)}}</text>
- <text class="num" v-else>
-
- <template v-if="(personInfo&&personInfo.userType==2)&&(chargingStation.giveDiscount||price.discountServicePrice)">
- <span >{{(price.electricityPrice+price.discountServicePrice).toFixed(2)}}</span>
- </template>
- <template v-else>
- {{(price.electricityPrice+price.servicePrice).toFixed(2)}}
-
- </template>
-
- </text>
- 元/度</p>
- <p class="electrovalence-monthlyCard">电价:{{price.electricityPrice}} | 服务费:
-
- <template v-if="chargingRecord.userCardId">
- 0(月卡)
- </template>
- <template v-else>
- <template v-if="(personInfo&&personInfo.userType==2)&&(chargingStation.giveDiscount||price.discountServicePrice)">
- <span style=" text-decoration: line-through;">{{price.servicePrice}}</span>折后{{price.discountServicePrice}}
- </template>
- <template v-else>
- {{price.servicePrice}}
- </template>
-
- </template>
-
- </p>
- </view>
-
- </view>
- <view class="item">
- <view class="title">
- {{chargingRecord.chargeStrategy==0?'充电模式':''}}
- {{chargingRecord.chargeStrategy==2?'充电金额':''}}
- </view>
- <view class="detail">
- {{chargingRecord.chargeStrategy==0?'充满自停':''}}
- {{chargingRecord.chargeStrategy==2?chargingRecord.estimateFee.toFixed(2)+'元':''}}
-
- </view>
-
- </view>
-
- <view class="itemTips" v-show="showChargingTag">
- <view class="itemTips1">
- <img src="@/assets/img/riFill-lightbulb-flash-fill.svg">
- 充电小贴士:
- </view>
- <view class="itemTips2" v-html="chargingTag">
-
- </view>
- <view class="itemTips3">
- <u-button type="success" @click="gotoBtn()"
- class="itemTips3Btn"
- shape="circle" >{{chargingTagUrl=='/pages/login/login'?'前往登录':'前往了解'}}</u-button>
- </view>
-
- </view>
-
- <view class="item">
- <view class="title">
- 优惠券
- </view>
- <view class="detail">
-
- {{couponObj&&couponObj.useText?couponObj.useText:'未使用优惠券'}}
-
- </view>
-
- </view>
- <view class="item" v-if="userCardBool" >
- <view class="title">
- 会员活动
- </view>
- <view class="detail">
- 折扣卡
- </view>
-
- </view>
- <view class="item" style=" border-bottom: 0;">
- <view class="title">
- 充电站点
- </view>
- <view class="detail">
- {{chargingRecord.stationName}}
- <br/>{{chargingRecord.deviceName}}
- </view>
-
- </view>
-
-
-
- </view>
- <view class="else-infos" v-if="false">
- <view class="item">常见问题</view>
- <u-tabs :list="tabList"
- height="60" style=" position: relative; left: -20rpx;"
- :current="current" @change="change" active-color="#101010" :bold="false" :bar-style="barstyle" inactive-color="#c4c0c0"></u-tabs>
-
- <view class="collapse" v-for="(itemList,i) in newsList" :key="i" v-show="current==i">
- <!-- -->
-
- <u-collapse v-if="itemList.length" >
- <u-collapse-item v-for="(item, index) in itemList" :title="(index+1)+'.'+item.title" :key="index">
- <!-- <textarea maxlength="-1" :auto-height="true" v-model="item.content" readonly ></textarea>
- --> <view v-html="item.content"></view>
- </u-collapse-item>
- </u-collapse>
-
- </view>
- </view>
- <!-- 常见问题 -->
- <view class="common-problem ">
- <view class="title">
- 常见问题
- </view>
- <view class="tabs">
- <u-tabs active-color="#333333" inactive-color="#999999" :list="tabList" :is-scroll="false"
- :current="current" @change="change"></u-tabs>
- </view>
- <view class="collapse" v-for="(itemList,i) in newsList" :key="i" v-show="current==i">
- <!-- -->
-
- <u-collapse v-if="itemList.length" >
- <u-collapse-item v-for="(item, index) in itemList" :title="(index+1)+'.'+item.title" :key="index">
- <!-- <textarea maxlength="-1" :auto-height="true" v-model="item.content" readonly ></textarea>
- --> <view v-html="item.content"></view>
- </u-collapse-item>
- </u-collapse>
-
- </view>
- </view>
-
- <view class="bottom">
- <view class="img-box" @click="show = true">
- <img src="../../../assets/img/customer-service-2-line.svg" alt="">
-
- </view>
- <button
- :style="(chargingRecord.status=='0'||chargingRecord.status=='1'||chargingRecord.status=='4')?'':'background-color: #b3abab;'"
- style="width: 80%;"
- @click="submit" >结束充电</button>
-
- <view class="img-box" v-if="false">
- <img src="../../../assets/img/tools-fill.svg" alt="">
- </view>
-
- </view>
- <u-modal v-model="show" @confirm="confirmPhone"
- :confirm-text="confirmText" confirm-color="#606266"
- :show-cancel-button="true" ref="uModal" :asyncClose="true" :title="title" :content="consumerPhone">
- </u-modal>
-
- <u-modal v-model="show2" @confirm="gotoGz"
- cancel-text="暂不关注" @cancel="cancelGz"
- confirm-text="前往关注"
-
- confirm-color="#53b56b"
- :show-cancel-button="true"
- ref="uModal2" :asyncClose="true"
- >
- <view style="padding: 15px;"
-
- >请关注<span style=" color: #53b56b;">{{projectName}}</span>公众号,以便第一时间收到充电结束消息提醒</view>
- </u-modal>
-
- </view>
-
- <view v-if="false">
- </view>
- </view>
- </view>
- </template>
- <script>
- var formatNum=function(num) {
- let res = Number(num);
- return res < 10 ? '0' + res : res;
- };
- import * as api from "@/apis/site.js"
-
- import * as API from '@/apis/chargeProcess.js'
- import * as API_weixin from '@/apis/weixin.js'
- import * as userAPI from '@/apis/user.js'
- import * as newsApi from '@/apis/news.js'
-
- import {
- newDate,
- secondsDistance,
- hourDistanceArr
- } from '@/utils'
- export default {
- data() {
- return {
- barstyle:{
- backgroundColor:"#19be6b"
- },
- tabList: [
- {name: '故障',type: 'CJWT-GZ'},
- {name: '软件使用',type: 'CJWT-RJSY'},
- {name: '活动优惠',type: 'CJWT-YHHD'},
- ],
- current: 0,
- newsList: [
- [],[],[]
- ],
- newsType: 'CJWT-GZ',
- pageIndex: 1,
- recordsTotal: 0,
- list: [
-
- ],
- NODE_ENV :process.car.NODE_ENV ,
- message: '',
- elderMode:false,
- timer:'',
- title: '联系客服',
- content: '0716-8123456',
- confirmText: '拨打电话',
- detail:{},
- navbartitle:"充电中",
- percent: 0,
- percentValue: 0,
- show3:false,
- consumerPhone: "",
- id: "",
- chargingGun: {},
- chargingRecord: {},
- couponObj:{},
- show: false,
- show2: false,
- isReady:true,
- waitNum:'',
- projectName:"",
- userCard:null,
- price:{},
- prices:[],
- chargingStation:{},
- parkingTips:false,
- showVin:false,
- showVinBl:false,
- descriptionShow2do:false,
- infoShow:false,
- voltageShow:false,
- showChargingTag:false,
- chargingTagUrl:false,
- chargingTag:false,
- personInfo:null,
- }
- },
- onLoad(op) {
- if(this.NODE_ENV!=='production'){
- this.infoShow=true
- }
- this.projectName=process.car.ProjectName;
-
- var plus=this.carhelp.getPersonInfoPlus()
- this.personInfo=this.carhelp.getPersonInfo()
- if(plus){
- this.userCard=plus.userCard;
- }
- if (op.id) {
- this.id = op.id;
- this.init()
- this.getInfo()
- }
- var consumerPhone = this.carhelp.getConfig().consumerPhone
- // img="https://yktwechat.xiaoxinda.com/config/xxd2021.jpg"
- if (consumerPhone) {
- this.consumerPhone = consumerPhone
- }
-
- },
- onShow() {
-
- if(!this.isReady){
- this.isReady=true;
- this.addpercent();
- this.getInfo()
- }
-
- },
- onHide() {
- this.isReady=false;
- console.log("onHide")
- },
- onUnload() {
- console.log("onUnload")
- this.isReady=false;
- },
- onReady() {
- this.elderMode = this.carhelp.get('getElderModeClass') == '长辈模式';
- if(this.elderMode)
- this.theme('elder')
- else
- this.theme('standard')
-
- this.addpercent()
- this.getNewsList();
- },
- computed:{
- userCardBool(){
- if(this.chargingRecord&&this.chargingRecord.userCardId&&!this.showVinBl){
-
- return true;
- }
- return false
- }
- },
- methods: {
- change(index) {
- this.current = index;
- this.newsType = this.tabList[index].type;
- if(this.newsList[this.current].length==0){
- this.getNewsList(true)
- }
-
- },
- getNewsList() {
-
-
-
- newsApi.newsInfoContentList({
- pageIndex: 1,
- pageSize: 100,
- shortName: this.newsType
- }).then((res) => {
-
- var newsList = res.data.data;
- this.newsList[this.current] = newsList.reverse()
- //this.recordsTotal = res.data.recordsTotal
- }).catch(error => {
- uni.showToast({
- title: error,
- icon: "none"
- })
- })
- },
- gotoBtn(){
- uni.navigateTo({
- url:this.chargingTagUrl
- })
- },
- voltageShowNum(num){
- if(num){
- if(num<0){
- return 0
- }
- return num
- }else{
- return 0
- }
- },
- spreadInfo(){
- this.infoShow=!this.infoShow
- },
- alerttipsCk2(){
- this.descriptionShow2do=true;
- },
- vinCk(){
-
- if(this.userCard&&this.userCard.vin&&this.chargingGun&&this.chargingGun.vin){
-
- if(this.userCard.vin==this.chargingGun.vin){
- return true
- }else{
-
- return false
- }
- }else{
- return true
- }
- },
- forPrice(){
- if(this.prices&&this.prices.length){
- let date = new Date();
- let hours = date.getHours();
- let minutes = date.getMinutes();
- let seconds = date.getSeconds();
- let date_str = formatNum(hours)+ ':'+ formatNum(minutes);//+ ' ' +formatWeek;
-
- for(var i in this.prices[0].priceList){
- var item=this.prices[0].priceList[i];
- if(date_str>=item.startTime && date_str<= item.endTime)
- {
- this.price= item
- }
- }
-
- }
- },
- getChargingStationPrice(id){
- if(this.prices&&this.prices.length){
- this.forPrice()
- return
- }
- if(!id||id==undefined){
- return
- }
- //id='e012f9fe-90a8-4a47-bb64-26ea139c3c05'
- api.getChargingStationPrice2({
- stationId:id,
- payType:this.chargingRecord.payType,
- recordId:this.chargingRecord.id
- }).then((res)=>{
- this.prices=res.data.prices
- this.chargingStation=res.data.chargingStation;
- this.forPrice()
-
-
-
- }).catch(error => {
- uni.showToast({
- title: error
- })
- })
- },
- showToast() {
- this.$refs.uToast.show({
- title: '提交成功',
- type: 'success'
- })
- },
- submitMessage() {
- if(!this.message) {
- uni.showToast({
- title: "请填写反馈内容",
- icon: "none"
- })
- return
- }
-
- uni.showLoading({
- title: "加载中",
- mask: true,
- })
- userAPI.feedback({content: this.message}).then(response => {
- uni.hideLoading()
- this.message = '';
- this.showToast();
- }).catch(error => {
- uni.showToast({
- title: error
- })
- })
- },
- theme(type) {
-
- if(type == 'elder')
- {
- document.getElementsByTagName('body')[0].setAttribute('data-theme',type);
-
- }
- else
- {
- document.getElementsByTagName('body')[0].setAttribute('data-theme',type);
-
-
- }
- },
- cancelGz(){
- this.carhelp.setGzDate()
- },
- gotoGz(){
- this.carhelp.setGzDate()
- var url="https://mp.weixin.qq.com/s/mCHz1nNvg0xAICiBeIyKRQ";
- window.location.href=url
-
- },
- gotoMain(i){
- if(i==0){
- uni.reLaunch({
- url:"/pages/index/index"
- })
- }
- if(i==1){
- uni.navigateTo({
-
- url:"/pages/record/details?id="+this.id
- })
- }
- },
- addpercent(){
- this.timer=this.getPercent()
- if(this.isReady){
- setTimeout(()=>{
- this.percentValue++;
- if(this.percentValue>=100){
- this.percentValue=0;
- }
- this.addpercent()
- },100)
- }
- },
- getPercent2() {
- var ms=this.chargingRecord.chargingMinute*60;
-
- var Hour = parseInt(Math.floor(ms / (60 * 60)));
- var Fen = parseInt(Math.floor(ms % (60 * 60) / 60));
- var S = parseInt(Math.floor(ms % (60) ));
-
- var obj = (Hour > 9 ? "" : "0") + Hour + ":" + (Fen > 9 ? "" : "0") + Fen+ ":" + (S > 9 ? "" : "0") + S
-
-
- return obj;
- },
- getPercent() {
- if(!this.chargingRecord.startTime){
- return '00:00:00'
- }
- var Hour=0;
- var Fen=0;
- var S=0;
- if (this.chargingRecord.status == 1) {
- var second = secondsDistance(newDate(this.chargingRecord.startTime));
-
- var ms=second;
-
- Hour = parseInt(Math.floor(ms / (60 * 60)));
- Fen = parseInt(Math.floor(ms % (60 * 60) / 60));
- S = parseInt(Math.floor(ms % (60) ));
-
- }
- var obj = (Hour > 9 ? "" : "0") + Hour + ":" + (Fen > 9 ? "" : "0") + Fen+ ":" + (S > 9 ? "" : "0") + S
-
-
- return obj;
- },
- init() {
-
-
- API.personalCenter().then((res) => {
-
- this.detail = res.data
- if(this.chargingRecord.payType==3&&this.chargingRecord.entAccountId){
- for(var i in this.detail.entRegList){
- var item=this.detail.entRegList[i];
- if(item.enterpriseAccount.id==this.chargingRecord.entAccountId){
- this.detail.balance=item.enterpriseAccount.totalAmount
- }
- }
- }
- }).catch(error => {
- uni.showToast({
- title: error
- })
- })
- },
- checkSubscribe(){
- API_weixin.checkSubscribe({
- openId: this.carhelp.getOpenId()
- }).then((res) => {
-
- if(res.data=="0"){
-
- this.show2=true;
- }else{
- this.carhelp.setGzDate()
- }
-
- //setGzDate
- }).catch(error => {
- uni.showToast({
- title: error
- })
- })
-
- },
- confirmPhone() {
- this.show = false;
- uni.makePhoneCall({
- phoneNumber: this.consumerPhone //仅为示例
- });
- },
- getInfo() {
- // uni.showLoading({
- // title: "加载中",
- // mask: true,
- // })
- API.chargingDetail({
- id: this.id
- }).then((res) => {
- this.showChargingTag=res.data.showChargingTag
- this.chargingTagUrl=res.data.chargingTagUrl
- this.chargingTag=res.data.chargingTag
-
- this.chargingRecord = res.data.chargingRecord
- if(this.chargingRecord.carNumber){
- this.navbartitle=this.chargingRecord.carNumber;
- }
- //(this.chargingRecord)
- this.couponObj= res.data.coupon
- this.chargingGun = res.data.chargingGun
- this.waitNum=res.data.chargingRecord.waitNum;
- this.getChargingStationPrice(this.chargingGun.stationId )
- //this.isReady = true;
- //直流
- if(this.chargingGun.gunType==1){
-
- if (this.chargingRecord.status == 1) {
- this.percent=this.chargingGun.soc
- if(this.userCardBool&&!this.showVinBl&&!this.vinCk()){
- this.showVin=true;
- this.showVinBl=true;//只提示1次
- }
-
- }
- }else if(this.chargingGun.gunType==2){
- //交流
- }
- if (this.chargingRecord.status == 1) {
- if(this.carhelp.getGzDate()&&!this.show2){
-
- this.checkSubscribe()
-
- }
- }
-
- if(this.isReady&&this.chargingRecord.status!=2){
- var time=1000;
- if(this.chargingRecord.status==0){
-
- }else{
- time=3000;
- this.init();
- }
- console.log(time)
- setTimeout(()=>{
- this.getInfo();
- },time)
- }
- uni.hideLoading()
- }).catch(error => {
- uni.showToast({
- title: error
- })
- })
- },
- submit() {
- if(this.chargingRecord.status==0||this.chargingRecord.status==1||this.chargingRecord.status==4){
-
- }else{
- return
- }
- uni.showModal({
- title: '提示',
- content: '确认结束充电?',
- success: res => {
- if (res.confirm) {
- //付钱 改为组件
- this.confirm()
-
- } else if (res.cancel) {
- //('用户点击取消');
- }
- }
- });
- },
- confirm() {
-
- ////(JSON.stringify(this.submitForm))
-
-
- uni.showLoading({
- title: "加载中",
- mask: true,
- })
-
- //this.submitForm.deviceNo = this.detail.deviceNo;
- API.stopCarCharging({
- chargingRecordId:this.chargingRecord.id
- }).then((res) => {
- this.getInfo()
- }).catch(error => {
-
- uni.showToast({
- title: error
- })
-
- })
- },
- }
- }
- </script>
- <style>
- page {
- background: #fff;
- padding-bottom: 50px;
- }
- </style>
- <style lang="scss" scoped>
-
-
- .common-problem {
- //margin: -125px 32rpx 0;
- border-radius: 8px;
- background-color: #fff;
- padding: 20rpx 24rpx 48rpx 24rpx;
- margin: 32rpx 40rpx 40rpx 40rpx;
-
- .title {
- color: rgba(16, 16, 16, 1);
- font-size: 32rpx;
- padding-bottom: 20rpx;
- border-bottom: 1px solid rgba(246, 246, 246, 1);
- padding-left: 32rpx;
- }
-
- .tabs {
- width: 400rpx;
- padding-bottom: 20rpx;
- border-bottom: 1px solid rgba(246, 246, 246, 1);
-
- /deep/.u-tab-bar {
- background-color: #00B962 !important;
- }
- }
-
- .collapse {
- padding: 0 32rpx;
- }
- }
- .voltageShow{
- color: rgba(119, 119, 119, 100);
- font-size: 18px;
- span{
- float: right;
- color: rgba(51, 51, 51, 100);
- font-size: 18px;
- // font-family: AlibabaPuHui-bold;
- font-weight: 550;
- }
- }
- .spread{
- width: 100%;
- background-color: rgba(244, 249, 247, 100);
- text-align: center;
- border: 1px solid rgba(206, 226, 217, 100);
- color: rgba(153, 153, 153, 100);
- line-height: 20px;
- border-radius: 0px 0px 12px 12px;
- padding: 4px 0;
- .iconfont{
- // font-size: 16px !important
- }
- }
- .progress-bar-main{
- .info-name2{
- color: #777777 ;
- font-size:14px;
- }
- .info-name{
- font-weight:bold;
- font-size: 20px;
-
- }
- }
- @import "@/_theme.scss";
- .tittle-font {
- @include themeify{
- font-size: themed('font-size7');
- }
- /* font-size: 24px;*/
- position: fixed;
- top: 12px;
- right: 16px;
- z-index: 99999;
- }
- .bot {
- width:100%;
- height:0;
- padding-top: 100%;
- border: 2px #00b962 dotted;
- border-radius:100%;
- box-sizing: border-box;
- position: absolute;
- top: 0px;
- left: 0px;
- right: 0px;
- margin: auto;
- }
- .progress-bar {
- text-align: center;
- // margin-top: 20px;
- /deep/.u-circle-progress {
- background-color:#f7f8f8 !important;
- position: relative;
- // min-width:220px;
- // min-height: 220px;
- }
- .u-progress-content {
- display: flex;
- align-items: center;
- justify-content: center;
- }
- .u-progress-dot {
- width: 16rpx;
- height: 16rpx;
- border-radius: 50%;
- background-color: #fb9126;
- }
- .u-progress-info {
- @include themeify{
- font-size: themed('font-size6');
- }
- /* font-size: 22px;*/
- padding-left: 16rpx;
- letter-spacing: 2rpx;
- color: rgba(51, 51, 51, 100);
- }
- /deep/.u-progress-dot[data-v-05b104e0] {
- display: none;
- }
- /deep/.u-circle-progress[data-v-cab6fc66] {
- margin: 40rpx;
- }
- }
- .starting {
- /* height: 22px;*/
- color: rgba(0, 185, 98, 100);
- @include themeify{
- font-size: themed('font-size3');
- height:themed('font-size6');
- }
- /* font-size: 16px;*/
- text-align: center;
- margin-top: 10px;
- }
- .timer {
- height: 43px;
- color: rgba(51, 51, 51, 100);
- @include themeify{
- font-size: themed('font-size13');
- }
- /* font-size: 36px;*/
- text-align: center;
- margin-top: 40px;
- }
- .charged {
- /* height: 20px;*/
- color: rgba(153, 153, 153, 100);
- @include themeify{
- font-size: themed('font-size2');
- height:themed('font-size5')
- }
- /* font-size: 14px;*/
- text-align: center;
- margin-top: 4px;
- }
- .cost {
- // width: 50%;
- padding: 0 50px;
- margin-top: 16px;
- margin: auto;
- width: 280px;
- display: flex;
- justify-content: space-between;
- .cost-top {
- line-height: 33px;
- text-align: center;
- @include themeify{
- font-size: themed('font-size7');
- }
- /* font-size: 24px;*/
- position: relative;
- .cost-font {
- position: absolute;
- top: 0;
- right: -25px;
- color: #ff6200;
- @include themeify{
- font-size: themed('font-size7');
- }
- /* font-size: 24px*/
- }
- }
- .cost-bottom {
- @include themeify{
- line-height: themed('font-size5');
- }
- /* line-height: 20px;*/
- color: #999999;
- text-align: center;
- }
- }
- .line {
- width: 0;
- height: 36px;
- border: 1px solid rgba(237, 237, 237, 100);
- margin-top: 10px;
- background-color: #ededed;
- }
- .power {
- display: flex;
- justify-content: space-around;
- padding: 0 55px;
- margin-top: 40px;
- .power-num {
- /* height: 27px;*/
- color: rgba(51, 51, 51, 100);
- @include themeify{
- font-size: themed('font-size5');
- height: themed('font-size9');
- }
- /* font-size: 20px;*/
- text-align: center;
- }
- .power-text {
- /* height: 20px;*/
- color: rgba(153, 153, 153, 100);
- @include themeify{
- font-size: themed('font-size2');
- height: themed('font-size5');
- }
- /* font-size: 14px;*/
- text-align: center;
- }
- }
- .info {
- display: flex;
- justify-content: space-between;
- margin: 0 80rpx;
- // height: 48px;
- line-height: 88rpx;
- background-color: rgba(255, 255, 255, 100);
- color: rgba(16, 16, 16, 100);
- border-bottom: 1px solid #ededed;
- .info-text {
-
- line-height: 48rpx;
- padding: 26rpx 0 26rpx;
- //width: 200px;
- text-align: right;
- }
- }
- .charge-infos{
- padding: 20px 36px;
- margin: 0 auto;
- .item{
- display: flex;
- justify-content: space-between;
- color: rgba(102, 102, 102, 100);
- font-size: 18px;
- margin-bottom: 12px;
- .discounts{
- color:red
- }
- }
- }
- .bottom2 {
-
- padding: 12px 20px;
- background-color: #fff;
- position: fixed;
- bottom: 0;
- left: 0;
- right: 0;
- margin: auto;
-
- }
-
- .progress-bar2 {
- text-align: center;
-
- /deep/.u-circle-progress {
- // margin-left: 23.3% !important;
- position: relative;
- }
- .u-progress-content {
- display: flex;
- align-items: center;
- justify-content: center;
- }
-
- .u-progress-dot {
- width: 16rpx;
- height: 16rpx;
- border-radius: 50%;
- background-color: #fb9126;
- }
- .u-progress-info {
- display: block;
- @include themeify{
- font-size: themed('font-size11');
- }
- /* font-size: 32px;*/
- padding-left: 16rpx;
- letter-spacing: 2rpx;
- color: rgba(51, 51, 51, 100);
- .progress-text {
- @include themeify{
- font-size: themed('font-size2');
- }
- /* font-size: 14px;*/
- text-align: center;
- color: #666666;
- }
- }
- /deep/.u-progress-dot[data-v-05b104e0] {
- display: none;
- }
- /deep/.u-circle-progress[data-v-cab6fc66] {
- margin: 40rpx;
- }
- }
- .time-price {
- display: flex;
- justify-content: space-between;
- padding: 0 65px;
- .item-num {
- /* height: 33px;*/
- color: rgba(51, 51, 51, 100);
- @include themeify{
- font-size: themed('font-size7');
- height:themed('font-size12')
- }
- /* font-size: 24px;*/
- text-align: center;
- }
- .item-text {
- eight: 20px;
- color: rgba(153, 153, 153, 100);
- @include themeify{
- font-size: themed('font-size2');
- }
- /* font-size: 14px;*/
- text-align: center;
- }
- }
- // .bottom {
- // background-color: #fff;
- // display: flex;
- // width: 91.4%;
- // padding: 0 16px;
- // margin:0 auto 40px;
- // .u-size-default {
- // border: 1px solid rgba(0, 185, 98, 100);
- // color: #00b962;
- // width: 44%;
- // }
- // }
- // 反馈
- .feedback{
- padding: 40rpx 72rpx ;
- .title-1{
- color: rgba(16, 16, 16, 100);
- font-size: 36rpx;
- }
- .title-2{
- color: rgba(102, 102, 102, 100);
- margin-top: 8px;
- line-height: 20px;
- }
- textarea{
- margin-top: 16px;
- width: 93.5%;
- height: 100px;
- background-color: rgba(228, 228, 228, 100);
- color: rgba(153, 153, 153, 100);
- font-size: 16px;
- border-radius: 12px;
- padding: 12px;
- line-height: 23px;
-
- }
- .submit{
- height: 80rpx;
- line-height: 26px;
- border-radius: 50px;
- background-color: rgba(0, 185, 98, 100);
- color: rgba(255, 255, 255, 100);
- font-size: 36rpx;
- margin-top: 16px;
- }
- }
- </style>
- <style lang="scss" scoped>
- .oldTextClassF{
- .electrovalence-monthlyCard{
-
- }
- }
- page {
- background-color: #f6f8f8;
- padding-bottom: 60px;
- }
- .to-recharge{
- position: absolute;
- right: 22px;
- color: #333333
- }
- // 充电状态
- .charge-state {
-
- width: 100%;
-
- }
- // 充电信息
- .charge-info {
- background-color: #ffffff;
-
- padding: 40rpx 0px 0px 0px;
- margin: 40rpx 40rpx 0;
- box-shadow: 0px 2px 8px 0px #1A095A34;
- border-radius: 12px;
- display: flex;
- flex-wrap: wrap;
- justify-content: space-between;
- .info-item {
- width: 33%;
- text-align: center;
- margin-bottom: 14px;
- .content {
- line-height: 33px;
- color: rgba(51, 51, 51, 100);
- font-size: 22px;
- font-weight: 550;
- }
- .name {
- line-height: 44rpx;
- color: rgba(119, 119, 119, 100);
- font-size: 32rpx;
- }
- }
- }
- //其他信息
- .else-infos {
- // /deep/.u-tab-item{
- // padding: 0px 60rpx 0px 0px !important;
-
- // }
- // /deep/.u-tab-bar{
- // transform: translate(2rpx, -100%)!important;
-
- // }
-
- padding: 0 24rpx 48rpx 24rpx;
- background-color: #ffffff;
- // width: 88.2%;
- box-shadow: 0px 2px 8px 0px #1A095A34;
- margin: 32rpx 40rpx 40rpx 40rpx;
- border-radius: 12px;
- .itemTips{
- border: 1px solid rgba(0, 185, 98, 1);
- background-color: rgba(235, 255, 246, 1);
- color: rgba(16, 16, 16, 1);
- padding:24rpx 10rpx;
- /deep/.chargingTag{
- color:#ff3d00;
- font-weight: bold;
- margin: 0 6rpx;
- }
- /deep/.chargingTag2{
- color:#00b962
- }
- .itemTips1{
- font-weight: bold;
- display: flex;
- align-items: center;
- padding:0 20rpx;
- color: rgba(0, 185, 98, 1);
- font-size: 32rpx;
- img{
- height: 32rpx;
- width: 32rpx;
- }
- }
- .itemTips2{
- line-height: 40rpx;
- margin: 10rpx 0 20rpx 0;
- padding:0 40rpx;
- }
- .itemTips3{
- padding:0 40rpx;
- margin-bottom: 10rpx;
- .itemTips3Btn{
- height: 62rpx;
- }
- }
- }
-
- .item{
- display: flex;
- justify-content: space-between;
- line-height: 23px;
- padding: 10px 0 10px 0;
- border-bottom: 1px solid #E9EBEE;
- .title{
- // width: 100px;
- width: 26.6vw;
- color: rgba(16, 16, 16, 100);
- font-size: 18px;
- font-weight: 550;
- .time{
- font-size: 13px;
- color: #666666 100%;
- font-weight: normal;
- }
- }
- .detail{
- // width: 197px;
- //width: 52.5vw;
- color: rgba(16, 16, 16, 100);
- font-size: 16px;
- text-align: right;
- .electrovalence{
- .num{
- color: rgba(255, 61, 0, 100);
- margin-right: 4px;
- }
- }
-
- .electrovalence-monthlyCard{
- font-size: 28rpx;
- color: #959595;
- }
- }
-
- }
- }
- // 底部按钮
- .bottom{
- background:white ;
- position: fixed;
- bottom: 0;
- left: 0;
- right: 0;
- display: flex;
- padding: 12px 24px;
- padding-bottom: 12px;
- z-index: 999;
- .img-box{
- width: 96rpx;
- height: 96rpx;
- padding: 24rpx 0;
- background-color: rgba(210, 215, 213, 100);
- text-align: center;
- border-radius: 999px;
-
- img{
-
- }
- }
- button{
-
- width: 45.8%;
- background-color: black;
- color: #fff;
- height: 80rpx;
- border-radius: 50px;
- font-size: 32rpx;
- }
- }
- </style>
|