| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346 |
- <template>
- <view>
- <!-- 20240830取消提示弹框 -->
- <view v-if="false" @click="endGuide" class="guide-box">
- <!-- 引导框,这里可以放置引导提示信息 -->
- <view
- style="margin: 30% auto;display: grid;justify-items: center;border: 5px double #004aff94;width: 250px;height: 250px;align-content: center;background-color: white;border-radius: 10px">
- <view style="display: flex;align-items: center;color: #c50303;font-size: x-large;font-weight: 800;">
- <image style="width: 50px;height: 50px;" src="../../static/quan.png"></image>
- <text>领取一元支付券</text>
- </view>
- <text class="shake-animation">选择插座,购买安全险;</text>
- <text class="shake-animation">领取支付优惠券,开始充电;</text>
- <view style="display: flex;align-items: center;color: #787272;font-size: small;margin-top: 60px">
- <image style="width: 25px;height: 25px;" src="../../static/mayi.png"></image>
- <text>蚂蚁保</text>
- <image style="width: 25px;height: 25px;" src="../../static/x.png"></image>
- <image style="width: 23px;height: 23px;" src="../../static/zongan.png"></image>
- <text>众安保险</text>
- </view>
- <!-- <button style="width: 150px;border-radius: 20px;margin-top: 10px" type="primary"
- @click="endGuide">我知道了</button> -->
- </view>
- </view>
- <view class="head">
- <view style="float: left;">
- <view id="header-content1">
- <view id="header-score1">
- 余额:<span>{{goods==''?0:data.balance}}</span>
- </view>
- </view>
- <view class="cz-panel">
- <view class="fz1 cz-btn" @click="selectCF();">
- 充值
- </view>
- </view>
- </view>
- <view style="float: right;display: flex;">
- <view @click="mycenter()" style="margin-right: 5px;color: #4592FF;">
- 个人中心
- </view>
- <view @click="customers()" style="margin-right: 5px;color: #4592FF;">联系客服</view>
- </view>
- </view>
- <view>
- <uni-popup ref="popup" background-color="#fff;" :is-mask-click="false">
- <view style="width: 80%; text-align: center; font-size: 16px; margin: 0 auto; padding: 7px;">
- 充值活动中, 充值金额仅用于【充电使用】, 不支持设备自动退款, 如需退款请点击右上角【联系客服】联系设备运营者退款
- </view>
- <span style=" display: flex;
- align-items: center;
- justify-content: center;
- flex-wrap: wrap;">
- <view v-if="recharge.length<1">暂无充值套餐</view>
- <view v-for="(item, index) in recharge" :key="index" class="each_option_recharge">
- <view class="item" @click="payOrder(item[0], item[1])">
- <view class="item-number-p">
- <image class="icon" src="../../static/chong.png" />
- <text>{{ item[0] }}元</text>
- </view>
- <view v-if="item[1] > 0" class="item-status-p">
- <image class="icon" src="../../static/song.png" />
- <text>{{ item[1] }}元</text>
- </view>
- </view>
- </view>
- <view class="cz-po-cs" @click="canCZ()">
- 取消
- </view>
- </span>
- </uni-popup>
- </view>
- <view class="info-pane">
- <view>
- {{goods==''?'':goods.sub_region_name}}
- </view>
- <view>
- <text>设备编号: {{goods==''?'':goods.sn}}</text>
- <!-- 设备编号:{$goods['sn']}-->
- <view style="float: left;">
- <view @click="coupons()" id="applyCoupons">
- <view class="applyCouponsClass" style="background: none">
- <view id="" style="color:#4592FF;font-weight: bold">
- 办理卡券
- </view>
- </view>
- </view>
- </view>
- </view>
- </view>
- <view :style="hide_show" class="tip-panel-all tip-panel-zf animate-bounce-down">
- <view class="tip-panel-bor-all tip-panel-bor"></view>
- <view class="tip-panel-text-all tip-panel-text">
- 遇到问题</br>
- 及时联系客服
- </view>
- </view>
- <view class="s">
- </view>
- <view class="bk-mk"></view>
- <view class="options-panel">
- <view style="background-color: #ffffff; padding: 10px 3px;
- border-radius: 8px;">
- <view style="width: 47%;display: inline-block;padding-left: 6px;">
- 选择插座
- </view>
- <view style="width: 49%;display: inline-block;text-align: right;" @tap="port_refresh()">刷新
- </view>
- <view v-for="item in port_list" :key="item.port_id">
- <view class="each-option">
- <view
- :class="{'item-selected':selectedNum==item.port_id,'item-busy':item.status==2,'item-disable':item.status==3,'item-disable':item.status==4,'item-ready':item.status==5}"
- class="item" @click="channel_select( item.port_id,item.status);" :id="'port_'+item.port_id">
- <view class="item-number">{{item.port_id}}号</view>
- <view class="item-status">{{getStatus(item.status) }}</view>
- </view>
- </view>
- <input type="hidden" style="display: none;" name="updatetime" :value="item.updatetime">
- <input type="hidden" style="display: none;" :id="'port_status_'+(item.port_id)"
- :value="item.status">
- </view>
- <view style="clear: both;"></view>
- </view>
- <input type="hidden" style="display: none;" name="selected_port" id="selected_port">
- <view class="ct-panel" style="width: 100%;">
- <view class="fz1">
- 选择套餐
- </view>
- <!-- 用户自定义是否显示主板计费规则 -->
- <view v-if="isempty(fee_tpl.board_rules_hide)" class="fz1" style="text-align: right;font-size: 14px;">
- 计费方式:
- </view>
- <view v-if="isempty(fee_tpl.board_rules_hide)" class="fz1 ct-ck" style="font-size: 14px;"
- @click="showTip();">
- {{data==''?'':data.fee_type_name}}
- </view>
- </view>
- <!-- 用户自定义是否显示主板计费规则 -->
-
- <view class="fee" v-if="fee_rule.show_rule" v-show="tip_panel_show">
- <view class="fee-h1 elec">电价({{ fee_rule.fee_type_text }})</view>
- <view class="ele-price-title flexSpaceBetween">
- <view class="title-item">{{ fee_rule.title.title1 }}</view>
- <view class="title-item">{{ fee_rule.title.title2 }}</view>
- <view class="title-item" v-if="!isempty(fee_rule.title.title3)">{{ fee_rule.title.title3 }}</view>
- </view>
- <view v-for="(item, key) in fee_rule.list" :key="key" class="time-item flexSpaceBetween">
- <text class="item">{{ item.v1 }}</text>
- <text class="item">{{ item.v2 }}</text>
- <text class="item" v-if="!isempty(fee_rule.title.title3)">{{ item.v3 }}</text>
- </view>
-
- <template v-if="!isempty(fee_rule.service_fee)">
- <view v-if="[1, 3].includes(fee_rule.service_fee.type)" class="flexSpaceBetween service-fee">
- <view class="fee-item">服务费({{ fee_rule.service_fee.type_name }})</view>
- <view class="fee-item">{{ fee_rule.service_fee.config }}{{ fee_rule.service_fee.unit }}</view>
- </view>
-
- <view v-else class="service-fee">
- <view class="fee-h1">服务费({{ fee_rule.service_fee.type_name }})</view>
- <view class="flexSpaceBetween sub-title">
- <view>功率档位(W)</view>
- <view>服务费(元/度)</view>
- </view>
- <view class="flexSpaceBetween sub-item" v-for="(v, k) in fee_rule.service_fee.config" :key="k">
- <view class="flex"
- >{{ v[0] }}<text class="sub-power" v-if="!isempty(v[1])"> ~ {{ v[1] }}</text></view
- >
- <view>{{ v[2] }}</view>
- </view>
- </view>
- </template>
- <view class="fee-tips-bottom">发改委 [2024] 537号文件,实行电费+服务费的资费模式。</view>
- </view>
-
- <view v-if="!isempty(fee_tpl.full_stop_fee)" class="pay-btn-content" style="position: relative;">
- <view @click="full_to_stop(data.balance, fee_tpl.full_stop_fee);" class="pay-btn item-tc"
- style="color: #454955;text-align: left;">
- <view class="weui-flex3" style="padding: 6px 15px 0px 15px;font-size: 15px;font-weight: bold;">
- <view>
- 充满自停
- </view>
- <view style="font-size: 14px;
- color: #9199af;font-weight: normal;">
- <!-- {if empty($item['remark'])} -->
- <!-- <text v-if="item.remark!='.'">
- {{item.remark}}
- </text> -->
- <text>
- 套餐</text>
- <!-- {/if}
- {/if} -->
- </view>
- </view>
- <view class="weui-flex1"
- style="text-align: right;font-weight: bold;font-size: 26px;color: #ff6565;line-height: 52px;padding: 0px 12px">
- </view>
- </view>
- </view>
- <view v-for="item in params_sort" >
- <view v-if="!isempty(item.mny)" class="pay-btn-content" style="position: relative;">
- <view @click="selectmenu(item.mny)" :id="''+item.mny" class="pay-btn item-tc"
- style="color: #454955;text-align: left;" :class="total==item.mny?'item-selected':''">
- <view class="weui-flex3" style="padding: 6px 15px 0px 15px;font-size: 15px;font-weight: bold;">
- <view>
- {{item.mny}}元
- <text v-if="data.fee_type==1 && (isempty(goods.time_hide) && !isempty(item.tm))">
- {{item.tm}}分钟
- </text>
- <text v-if="!isempty(goods.para_type)&&(isempty(goods.coin_hide)&&!isempty(item.coin))">
- {$item['coin']}币
- </text>
- </view>
- <view style="font-size: 14px;
- color: #9199af;font-weight: normal;">
- <text v-if="isempty(item.remark)&&goods.type!=9">套餐</text>
- <text v-else-if="item.remark!='.'">
- {{item.remark}}
- </text>
- </view>
- </view>
- <view class="weui-flex1"
- style="text-align: right;font-weight: bold;font-size: 26px;color: #ff6565;line-height: 52px;padding: 0px 12px">
- <span>{{item.mny}}</span><span style="font-size: 13px;">元</span>
- </view>
- </view>
- </view>
- </view>
- <input type="hidden" style="display: none;" id="selected_num" :value="selectedNum">
- <input type="hidden" style="display: none;" id="total" :value="total">
- <input type="hidden" id="dev_status_checked" style="display: none;" value="0">
- <input type="hidden" id="dev_status_unavail" style="display: none;" :value="dev_status_unavail">
- </view>
- <view style="height: 100px;"></view>
- <view @click="startCharging()" class="confirm-panel">
- <view class="confirm-btn" id="confirm">
- 开始充电
- </view>
- </view>
- <view>
- <!-- 提示窗示例 -->
- <uni-popup ref="alertDialog" type="dialog">
- <uni-popup-dialog mode="base" title="客服服务">
- <view style="display: grid;line-height: 25px;">
- <text>支付成功后,设备未立即启动,可能存在网络延迟,请稍等。若仍未启动,可采用如下方式:</text>
- <view style="color: #4592FF;display: flex;justify-content: space-between;" @click="feedback()">
- 反馈问题<uni-icons style="margin-right: 0;" type="right"></uni-icons>
- </view>
- <view style="color: #4592FF;display: flex;justify-content: space-between;">
- 客服电话:<text style="margin-right: 0;">{{telephone}}</text></view>
- </view>
- </uni-popup-dialog>
- </uni-popup>
- </view>
- <view>
- <!-- 退出弹框 -->
- <uni-popup ref="popupclose" type="dialog">
- <uni-popup-dialog mode="base" title="注意" showClose="false" @close="closeout" @confirm="closeout">
- <view style="display: grid;line-height: 25px;">
- <text>请重新扫描设备二维码进入小程序</text>
- </view>
- </uni-popup-dialog>
- </uni-popup>
- <!--
-
- <uni-popup ref="popupclose" type="dialog">
- <uni-popup-message type="success" message="成功消息" :duration="2000">
- <view style="display: grid;line-height: 25px;">
- <text>请重新扫描设备二维码进入小程序</text>
- <button @click="exitMiniProgram">退出</button>
- </view>
- </uni-popup-message>
- </uni-popup> -->
- </view>
- <!-- 广告 -->
- <view>
- <riding-risk-component-pop :visible="visible" onPopupClose="onPopupClose" onSuccess="onSuccess"
- onAdError="onAdError" onClose="onClose"></riding-risk-component-pop>
- </view>
- <!-- 支付券 -->
- <uni-popup :is-mask-click="false" ref="popupmarketings" type="message">
- <view
- style=" background-color: #f1f1f1c7;width: 320px;height: 450px;display: flex;flex-direction: column;align-items: center;">
- <view style="display: grid;padding: 12px 10px;">
- <text style="text-align: center;margin: auto;font-weight: 900;color: #e94242;">{{message1}}</text>
- <text style="margin: auto;font-size: 12px;color: #4e4646">{{message2}}</text>
- </view>
- <view>
- <image style="margin: 0px 10px;width: 200px;height: 200px;" src="../../static/market.png"></image>
- </view>
- <get-coupon onBeforeGetCoupon="onBeforeGetCoupon" onGetCouponSuccess="onGetCouponSuccess"
- onGetCouponFail="onGetCouponFail" onUseImmediately="onUseImmediately" onClose="onClose"
- :params="params" :dialogBtnType="dialogBtnType" :dialogBtnStyle="dialogBtnStyle" :zIndex="9998">
- <button style="text-align: center;color: #4592FF;width: 200px;">领取优惠券</button>
- </get-coupon>
- <button style="text-align: center;color: #c30061;width: 200px;margin-top: 20px;"
- @click="closeMarket()">关闭领取</button>
- </view>
- </uni-popup>
- </view>
- </template>
- <script>
- import config from '@/config.js'
- let pluginIns;
- export default {
- data() {
- return {
- message1: '领取优惠券',
- message2: '1、本券不可兑换现金,不可找零。\n2、如果消费并使用优惠券后,订单发生退款,优惠券无法退还。',
- loading: false,
- balance: '0', // 示例余额
- data: '',
- goods: '',
- port_list: '',
- fee_tpl: '',
- fee_rule:{},
- params_sort: [],
- oem_info: '',
- ports: [{
- id: '1',
- status: '空闲'
- },
- {
- id: '2',
- status: '使用中'
- },
- {
- id: '3',
- status: '禁用'
- },
- {
- id: '4',
- status: '故障'
- },
- {
- id: '5',
- status: '已接入'
- },
- {
- id: '6',
- status: '已预约'
- },
- {
- id: '7',
- status: '完成'
- },
- {
- id: '8',
- status: '急停'
- }
- ],
- fee_type_names: [{
- type: 2,
- name: '按功率计费'
- },
- {
- type: 1,
- name: '按时间计费'
- },
- {
- type: 3,
- name: '按电量计费'
- },
- {
- type: 4,
- name: '刷卡免费模式'
- }
- ],
- tip_panel_show: false,
- hide_show: '',
- checkSelectShow: false,
- selectedNum: '',
- total: '',
- telephone: '',
- dev_status_unavail: 0,
- processing: false,
- recharge: [],
- checkClazz: '',
- openid: '',
- unionid: '',
- starting: false,
- dev_status_checked: 0,
- sessionId: '',
- device_sn: '',
- visible: false,
- hasPop:false,
- title: '',
- showMask: true,
- scanChannel:0,
- // alipay
- params: [{
- //活动id
- activityId: '2024062400826004792330551163',
- outBizNo: '202305226095221590xxxxxxxxx',
- }],
- dialogBtnType: 2,
- dialogBtnStyle: {
- color: '#000',
- borderColor: '#59bdff',
- backgroundColor: '#59bdff'
- },
- marketStatus: 'unknown',
- marketingIs: false,
- succBack: false,
- showGuide: false // 控制引导框的显示
- }
- },
- onReady() {
- if (this.device_sn == '') {
-
- this.mycenter();
- //this.$refs.popupclose.open("center")
- }
- //this.$refs.popupmarketings.open("center")
- },
- onShow() {
- var _this = this
- _this.selectedNum = ''
- _this.total = ''
- _this.hide_show = '';
- setTimeout(function() {
- _this.hide_show = 'display: none;';
- console.log("这段代码将在1000毫秒后执行");
- }, 3000);
- _this.flushed(_this.device_sn);
- my.getAuthCode({
- scopes: 'auth_user',
- success: (res) => {
- console.log('res>>>auth_user>>' + JSON.stringify(res))
- uni.request({
- method: 'get',
- url: config.baseUrl +
- 'app/index.php?i=1&j=1&c=entry&m=wdl_shopping&debugSkip=true&do=getOpenId&auth_code=' +
- res.authCode + '&state=' +
- _this
- .sessionId,
- success(res) {
- console.log('openid>>>>>>>>===' + JSON.stringify(res.data.openid))
- }
- })
- },
- });
- },
- onLoad(option) {
- //领券弹框
- this.$scope.onGetCouponSuccess = this.onGetCouponSuccess.bind(this)
- this.$scope.onUseImmediately = this.onUseImmediately.bind(this)
- this.$scope.onGetCouponFail = this.onGetCouponFail.bind(this)
- //领券弹框
- //保险
- console.log("这段index>>onload>>" + JSON.stringify(option));
- this.$scope.onPopupClose = this.onPopupClose.bind(this)
- this.$scope.onSuccess = this.onSuccess.bind(this)
- this.$scope.onClose = this.onClose.bind(this)
- this.$scope.onAdError = this.onAdError.bind(this)
- //保险
-
-
- var _this = this
- _this.device_sn = uni.getStorageSync("device_sn")
- _this.title = uni.getStorageSync("title")
- _this.scanChannel = uni.getStorageSync("channel")
- _this.sessionId = 'we7sid-' + uni.getStorageSync("sessionId")
- // _this.device_sn = 'GD1B397202'
- // _this.sessionId = 'we7sid-' + '01deee25ece67d8f799372954746638d';
- uni.setNavigationBarTitle({
- title: _this.title
- })
-
- },
- methods: {
- endGuide() {
- // 结束引导
- this.showGuide = false;
- // 将引导结束状态存储到本地
- //uni.setStorageSync('isGuideShown', true);
- },
- closeMarket() {
- //关闭领取弹框
- var _this = this
- uni.showModal({
- title: '提示',
- content: '确认不领取该优惠券?',
- success: function(res) {
- if (res.confirm) {
- console.log('用户点击确定');
- _this.$refs.popupmarketings.close()
- } else if (res.cancel) {
- console.log('用户点击取消');
- }
- }
- });
- },
- onUseImmediately() {
- this.$refs.popupmarketings.close()
- console.log('去支付')
- },
- //保险弹框冲突不使用
- onClosed() {
- console.log('领个券关闭>>>>')
- this.$refs.popupmarketings.close()
- },
- onGetCouponSuccess(e) {
- console.log('领券成功', e)
- uni.showToast({
- title: '领取成功',
- icon: 'success',
- duration: 1000,
- })
- //this.$refs.popupmarketings.close()
- },
- onGetCouponFail(e) {
- console.log('领券失败', e)
- uni.showToast({
- title: '领券失败',
- icon: 'fail',
- duration: 1000,
- })
- },
- closeout(e) {
- // 如果成功退出小程序,会直接结束小程序进程,一般情况已经来不及执行success/complete回调。
- my.exitMiniProgram();
- },
- onShowBtn() {
- if(this.hasPop){
- return;
- }
- this.visible = true
- this.hasPop=true
- },
- onPopupClose() {
- this.visible = false
- },
- onSuccess() {
- console.log("加载成功")
- if (this.device_sn == "" || this.device_sn == null) {
- this.showGuide = false;
- return;
- }
- this.showGuide = true;
- },
- async onClose(err) {
- console.log('关闭保险领取')
- uni.showLoading({
- title: '获取中,请稍候'
- });
- //console.log('广告关闭???????????>>>>' + JSON.stringify(err))
- //广告关闭判断是否购买保险成功
- var _this = this
- var bizId = err.bizId
- if (!_this.isempty(bizId)) {
- //验证回调
- _this.doSomething();
- await uni.request({
- method: 'get',
- url: config.baseUrl +
- 'app/index.php?i=1&j=1&c=auth&a=alipay_code_money&do=succ_back&bizId=' +
- bizId + '&state=' +
- _this
- .sessionId,
- success(res) {
- console.log('验证回调接口是否有用户购买成功的信息>.1')
- if (res.data.code == 1) {
- _this.succBack = true;
- } else {
- _this.succBack = false
- uni.showToast({
- title: '用户购未购买'
- })
- console.log('验证回调接口是否有用户购买未购买的信息>.1.5')
- uni.hideLoading();
- return
- }
- },
- fail(res) {
- console.log('验证回调接口是否有用户购买失败的信息>.2')
- _this.succBack = false
- uni.showToast({
- title: '验证购买失败'
- })
- uni.hideLoading();
- return
- },
- complete(res) {
- console.log('验证回调接口是否有用户购买完成的信息>.3')
- //_this.succBack = false
- return;
- }
- })
- if (!_this.succBack) {
- return
- }
- } else {
- console.log("广告关闭,未知bizid4")
- // uni.showToast({
- // title: '未知bizid'
- // })
- uni.hideLoading();
- return
- }
- console.log("广告关闭,查询的回调结果为true,购买保险成功5")
- //购买成功继续
- //1.判断活动情况 2.活动正常弹出领券
- console.log('验证是否发券的结果???????????>>>>6')
- await uni.request({
- method: 'get',
- url: config.baseUrl +
- 'app/index.php?i=1&j=1&c=entry&m=wdl_shopping&debugSkip=true&do=marketing&state=' +
- _this
- .sessionId,
- success(res) {
- console.log('咨询用户是否可以领取该活动优惠券>.7')
- if (res.data.rv == 1) {
- //成功,弹出领取福利窗口
- _this.showMask = true
- _this.message1 = res.data.msg.voucher_display_pattern_info.voucher_name
- _this.message2 = res.data.msg.voucher_display_pattern_info.voucher_description
- _this.marketStatus = res.data.msg.activity_base_info.activity_status
- _this.params = [{
- activityId: res.data.msg.activity_base_info.activity_id,
- outBizNo: bizId,
- }]
- // 活动已激活: ACTIVE
- // 活动已暂停: PAUSE
- // 活动已结束: FINISHED
- if (_this.marketStatus == 'ACTIVE') {
- _this.$refs.popupmarketings.open("center")
- } else {
- uni.showToast({
- title: _this.marketStatus == 'PAUSE' ? '活动暂停' : _this
- .marketStatus ==
- 'FINISHED' ? '活动已结束' : _this.marketStatus
- })
- uni.hideLoading();
- }
- }
- },
- fail(res) {
- console.log('咨询用户是否可以领取该活动优惠券失败8>.')
- uni.showToast({
- title: '优惠券加载失败'
- })
- uni.hideLoading();
- },
- complete(res) {
- console.log('咨询用户是否可以领取该活动优惠券完成9>.')
- _this.$scope.onClose = _this.onClosed.bind(_this)
- }
- })
- uni.hideLoading();
- },
- onAdError(err) {
- console.log('广告加载失败???????????>>>>' + JSON.stringify(err))
- },
- sleep(duration = 2000) {
- return new Promise(resolve => {
- setTimeout(resolve, duration);
- });
- },
- // 使用示例
- async doSomething() {
- console.log('开始睡眠');
- await sleep(1500); // 休眠5秒
- console.log('休眠结束');
- },
- flushed(sn) {
- if (this.device_sn == "" || this.device_sn == null) {
- return;
- }
- uni.showLoading({
- title: '获取中,请稍候'
- });
- console.log('flushed设备详情>>>' + this.sessionId)
- var _this = this
- uni.request({
- method: 'get',
- url: config.baseUrl +
- '/app/index.php?i=1&j=1&c=entry&debugSkip=true&debug=1&isajax=1&m=wdl_shopping&do=wepay&sn=' +
- sn + '&channel='+_this.scanChannel+'&state=' +
- _this
- .sessionId,
- success(res) {
- console.log('res>>>' + JSON.stringify(res))
- _this.goods = res.data.goods
- _this.port_list = res.data.port_list
- _this.fee_tpl = res.data.fee_tpl
- _this.data = res.data.data
- _this.params_sort = res.data.params_sort
- _this.oem_info = res.data.oem_info
- _this.fee_rule = res.data.fee_rule
- uni.hideLoading();
- // uni.showToast({
- // title: '因支付宝用户系统升级,若您的余额丢失,请进入右上角 个人中心 点击同步余额功能。给您造成了不便,深表歉意。',
- // duration: 3000
- // });
- },
- fail(res) {
- console.log(JSON.stringify(res))
- uni.hideLoading();
- },
- complete() {
- _this.dev_status_check();
- uni.hideLoading();
- }
- })
- },
- coupons() {
- if (this.sessionId == 'we7sid-' || this.sessionId == '') {
- this.$refs.popupclose.open("center")
- return;
- }
- //var url = config.baseUrl + "/app/index.php?i=1&j=1&c=entry&m=wdl_shopping&do=coupons&sn=" + this.goods.sn
- //
- console.log('coupons?>>>>>>')
- uni.navigateTo({
- url: '/pages/coupons/coupons?sn=' + this.goods.sn
- })
- },
- payOrder(recharge, award) {
- if (this.sessionId == 'we7sid-' || this.sessionId == '') {
-
- this.$refs.popupclose.open("center")
- return;
- }
- //console.log('>>>'+JSON.stringify(window.location.href) )
- if (this.processing) { // 判断是否在处理中
- return;
- }
- if (this.goods.weid === '0') {
- uni.showToast({
- title: '设备未绑定,请登录管理后台扫码绑定后再操作',
- icon: 'none'
- });
- return;
- }
- uni.showLoading({
- title: '支付发起中,请稍后'
- });
- uni.hideLoading();
- // setTimeout(function() {
- // uni.hideLoading();
- // }, 4000);
- this.processing = true;
- // uni.navigateTo({
- // url:'/pages/userrecharge/userrecharge?dev_id=' + this.goods.id + '&weid=' + this.goods.weid + '&recharge='+recharge+'&award='+award
- // })
- const url = config.baseUrl +
- "app/index.php?i=1&j=1&c=entry&do=recharge&m=wdl_shopping&alipay_mini=1" +
- "&dev_id=" + this.goods.id + "&weid=" + this
- .goods.weid + "&recharge=" + recharge + "&award=" + award + '&state=' + this.sessionId;
- const params = {
- recharge,
- award,
- callback: '', // 获取当前页面路径
- ajax: '1'
- };
- uni.request({
- url,
- data: params,
- method: 'get',
- success: (res) => {
- console.log('payOrder()>>res>>>' + JSON.stringify(res))
- this.processing = false;
- uni.hideLoading();
- if (res.data.rv == '1') {
- const is_third = res.data.is_third || '';
- if (is_third == 1) {
- // uni.navigateTo({
- // url:'/pages/userrecharge/userrecharge?src='+res.data.order.payUrl,
- // })
- uni.request({
- url: res.data.order.payUrl,
- method: 'get',
- success(res) {
- console.log('succ>>>' + JSON.stringify(res))
- },
- fail(res) {
- console.log('fail>>>>>>' + res)
- }
- })
- } else {
- this.tradePay(res.data.trade_no);
- }
- } else {
- uni.showToast({
- title: res.data.msg,
- icon: 'none'
- });
- uni.navigateBack({
- delta: 1 // 回退一级页面,如果当前页面是首页,将返回首页
- });
- }
- },
- fail: (error) => {
- this.processing = false;
- uni.hideLoading();
- console.error('请求出错:', error);
- },
- complete: () => {
- uni.hideLoading();
- },
- dataType: 'json'
- });
- },
- tradePay(trade_no) {
- if (this.sessionId == 'we7sid-' || this.sessionId == '') {
- this.$refs.popupclose.open("center")
- return;
- }
- var _this = this
- _this.canCZ()
- uni.requestPayment({
- provider: 'alipay',
- orderInfo: trade_no, //微信、支付宝订单数据 【注意微信的订单信息,键值应该全部是小写,不能采用驼峰命名】
- success: function(res) {
- console.log('success:' + JSON.stringify(res));
- //刷新当前页面
- _this.flushed(_this.goods.sn);
- },
- fail: function(err) {
- console.log('fail:' + JSON.stringify(err));
- _this.flushed(_this.goods.sn);
- }
- });
- },
- selectCF() {
- if (this.sessionId == 'we7sid-' || this.sessionId == '') {
- this.$refs.popupclose.open("center")
- return;
- }
- //充值
- var url = config.baseUrl + "api/dev_info.php?do=recharge_options_get&uid=" + this.goods.weid +
- '®ion_id=' + this.goods.region_id + '&state=' + this.sessionId;
- uni.request({
- url,
- method: 'get',
- success: (res) => {
- console.log('selectCF>>' + JSON.stringify(res))
- this.recharge = res.data.list
- this.$refs.popup.open("bottom")
- }
- })
- },
- canCZ() {
- this.$refs.popup.close()
- },
- port_refresh() {
-
- if (this.sessionId == 'we7sid-' || this.sessionId == '') {
- this.mycenter();
- // this.$refs.popupclose.open("center")
- return;
- }
- //刷新
- var _this = this
- const url = config.baseUrl + "api/devstate.php?do=dev_state_req_id&dev_id=" + _this.goods.id + '&state=' +
- _this.sessionId;
- if (_this.processing) {
- return;
- }
- uni.showLoading({
- title: '获取中,请稍候'
- });
- _this.processing = true;
- const param = {
- dev_id: _this.goods.id,
- sn: _this.goods.sn
- };
- uni.request({
- url,
- data: param,
- method: 'get',
- success: (res) => {
- _this.processing = false;
- console.log('刷新>>>' + JSON.stringify(res))
- setTimeout(() => {
- uni.hideLoading();
- // 假设当前在pages.json中定义了pages/index/index页面
- uni.redirectTo({
- url: '/pages/index/index'
- })
- }, 3000);
- },
- fail: (error) => {
- console.error(error);
- uni.hideLoading();
- uni.showToast({
- icon: 'error',
- title: '刷新失败'
- })
- _this.processing = false;
- }
- });
- },
- port_status_req() {
- if (this.sessionId == 'we7sid-' || this.sessionId == '') {
- this.mycenter();
- //this.$refs.popupclose.open("center")
- return;
- }
- const url = config.baseUrl + "api/devstate.php?do=dev_state_req_id&dev_id=" + this.dev.id + '&state=' +
- _this.sessionId;
- const param = {
- dev_id: this.goods.id,
- sn: this.goods.sn
- };
- uni.request({
- url,
- data: param,
- method: 'POST',
- success: (res) => {
- // 在这里处理响应
- console.log('' + res)
- },
- fail: (error) => {
- console.error(error);
- }
- });
- },
- dev_status_check() {
- var _this = this
- const dev_status_get_url = config.baseUrl + "api/dev_info.php?do=dev_status_check&state=" + _this
- .sessionId;
- const dev_status_get_param = {
- dev_id: _this.goods.id,
- title: _this.goods.title,
- type: _this.goods.type
- };
- console.log('dev_status_check>dev_status_get_param>>' + JSON.stringify(dev_status_get_url))
- try {
- const res = uni.request({
- url: dev_status_get_url,
- data: dev_status_get_param,
- method: 'GET',
- success(res) {
- console.log('dev_status_check>>' + JSON.stringify(res))
- if (res.data.rv == '1') {
- _this.dev_status_checked = 1;
- return;
- }
- if (res.data.rv == '0') {
- uni.showToast({
- title: res.data.msg,
- icon: 'none'
- });
- return;
- }
- if (res.data.rv == '2') {
- _this.port_status_req();
- let get_count = 0;
- const timer = setInterval(async () => {
- const res = await uni.request({
- url: dev_status_get_url,
- data: dev_status_get_param,
- method: 'GET'
- });
- if (res[1].data.rv === '1') {
- clearInterval(timer);
- _this.dev_status_checked = 1;
- uni.hideLoading();
- uni.showToast({
- title: '设备查询成功,请选择套餐',
- icon: 'none'
- });
- return;
- }
- get_count++;
- if (get_count > 5) {
- clearInterval(timer);
- _this.dev_status_unavail = 1;
- uni.hideLoading();
- uni.showToast({
- title: '设备异常,请选择其他设备',
- icon: 'none'
- });
- return;
- }
- }, 4000);
- }
- }
- });
- } catch (error) {
- console.error(error);
- }
- },
- feedback() {
- //反馈问题
- if (this.sessionId == 'we7sid-' || this.sessionId == '') {
- this.$refs.popupclose.open("center")
- return;
- }
- uni.navigateTo({
- url: '/pages/feedback/feedback?weid=' + this.goods.weid + '&state=' + this.sessionId
- })
- },
- channel_select(port_id, status) {
- if (this.sessionId == 'we7sid-' || this.sessionId == '') {
- this.$refs.popupclose.open("center")
- return;
- }
- //选择插座
- if (status == 1) {
- //空闲
- for (let ports of this.port_list) {
- console.log('port_' + port_id)
- if (ports.port_id == port_id) {
- console.log('port_>>' + port_id)
- if (this.selectedNum != port_id) {
- this.selectedNum = port_id
- console.log('selectedNum>' + this.selectedNum)
- //保险弹框
- this.onShowBtn()
- } else {
- this.selectedNum = ''
- }
- }
- }
- if (this.selectedNum == '') {
- this.total = ''
- }
- } else {
- //非空闲不可用
- uni.showToast({
- title: '端口' + port_id + '不可用,请重新选择',
- icon: 'error'
- })
- }
- },
- selectmenu(mny) {
- //选择套餐
- if (this.sessionId == 'we7sid-' || this.sessionId == '') {
- this.$refs.popupclose.open("center")
- return;
- }
- console.log('mny>>' + JSON.stringify(mny))
- var channel = this.selectedNum
- if (channel == "") {
- uni.showToast({
- title: '请先选择端口',
- icon: 'error'
- })
- return false;
- }
- console.log('.params_sort>' + JSON.stringify(this.params_sort))
- if (this.total == mny) {
- this.total = ''
- } else {
- this.total = mny
- }
- var total_int = parseInt(this.total);
- var balance = parseInt(this.balance);
- console.log('mny>>' + JSON.stringify(mny))
- if (1 == this.fee_tpl.pay_mode) {
- if (total_int > balance) {
- uni.showToast({
- icon: 'error',
- title: '请先充值使用充值余额支付'
- });
- return false;
- }
- }
- },
- showTip() {
- //计费模型展示
- this.tip_panel_show = !this.tip_panel_show
- },
- // isempty(item) {
- // //判断工具
- // if (item == 0 || item == '' || item == null) {
- // return true;
- // } else {
- // return false;
- // }
- // },
-
- isempty(value) {
- if (value === null || value === undefined || value==0) {
- return true;
- }
- if (typeof value === 'string' && value.trim().length === 0) {
- return true;
- }
- if (Array.isArray(value) && value.length === 0) {
- return true;
- }
- if (typeof value === 'object' && Object.keys(value).length === 0) {
- return true;
- }
- return false;
- },
-
- getStatus(status) {
- //选择端口
- const port = this.ports.find(p => p.id == status);
- return port ? port.status : '未知状态'; // 如果找不到对应的端口,返回'未知状态'
- },
- getFeeType(type) {
- const feeType = this.fee_type_names.find(f => f.type == type);
- return feeType ? feeType.name : '未知状态'; // 如果找不到对应的端口,返回'未知状态'
- },
- goToCenter() {
- // 跳转至个人中心的逻辑
- },
- mycenter() {
- if (this.sessionId == 'we7sid-' || this.sessionId == '') {
- console.log("not login 进入登录页面");
- //this.mycenter();
- // this.$refs.popupclose.open("center")
- uni.redirectTo({
- url: '/pages/auth/auth'
- })
- return;
- }
- let oid = 1
- if (!this.isempty(this.oem_info.uid) && !this.isempty(this.oem_info.mp_permit)) {
- oid = this.oem_info.uid
- }
- uni.navigateTo({
- url: '/pages/user/user?&oid=' + oid + '&sessionid=' + this.sessionId
- })
- },
- customers() {
- // 联系客服的逻辑
- if (this.sessionId == 'we7sid-' || this.sessionId == '') {
- this.$refs.popupclose.open("center")
- return;
- }
- var _this = this
- uni.request({
- method: 'get',
- url: config.baseUrl + "api/dev_info.php?do=customer_service&uid=" + _this.goods.weid +
- '®ion_id=' + _this.goods.region_id + '&state=' + _this.sessionId,
- success(res) {
- console.log(JSON.stringify(res.data))
- if (res.data.rv == 1) {
- _this.telephone = res.data.msg
- _this.$refs.alertDialog.open("center")
- } else {
- uni.showToast({
- icon: 'none',
- title: res.data.msg
- })
- }
- },
- fail(res) {
- console.log(res)
- }
- })
- },
- close() {
- this.$refs.alertDialog.close()
- },
- selectPackage(pe) {
- // 选择套餐的逻辑
- this.selectedPackage = pe;
- },
- startCharging() {
- console.log('...111')
- if (this.sessionId == 'we7sid-' || this.sessionId == '') {
- this.$refs.popupclose.open("center")
- return;
- }
- // 开始充电的逻辑
- // uni.showToast({
- // title: '充电开始',
- // icon: 'success'
- // });
- if (this.starting == true) {
- return false;
- }
- if (this.goods.weid == '0') {
- uni.showToast({
- title: '设备未绑定,请登录管理后台扫码绑定后再操作',
- icon: 'none'
- });
- return false;
- }
- if (this.selectedNum == "") {
- uni.showToast({
- title: '请选择端口',
- icon: 'none'
- });
- return false;
- }
- if (this.total == '') {
- uni.showToast({
- title: '请选择套餐',
- icon: 'none'
- });
- return false;
- }
- if (this.dev_status_unavail == 1) {
- uni.showToast({
- title: '设备异常,请选择其他设备',
- icon: 'none'
- });
- return false;
- }
- if (this.dev_status_checked == 0) {
- uni.showToast({
- title: '查询设备中,请稍候',
- icon: 'none'
- });
- return false;
- }
- if (!this.selectedNum || !this.total) {
- uni.showToast({
- title: '请选择插座和套餐',
- icon: 'none'
- });
- return;
- }
- //0611:转到H5支付
- uni.navigateTo({
- url: '/pages/rechargepay/rechargepay?id=' + this.goods.id + '&sn=' + this.goods.sn +
- '&title=' + this.goods.title + '&total=' + this.total + '&channel=' + this.selectedNum +
- '&sessionid=' + this.sessionId
- })
- },
- full_to_stop(balance, fee) {
- this.total = ''
- let surplus = parseInt(balance);
- if (surplus === 0) {
- uni.showToast({
- title: '余额为0,请充值',
- icon: 'none'
- });
- return;
- }
- const channel = this.selectedNum; // 假设这是获取渠道值的方法
- if (!channel) {
- uni.showToast({
- title: '请先选择端口',
- icon: 'none'
- });
- return;
- }
- const dev_status_unavail = this.dev_status_unavail; // 假设这是获取设备状态值的方法
- if (dev_status_unavail === 1) {
- uni.showToast({
- title: '设备异常,请选择其他设备',
- icon: 'none'
- });
- return;
- }
- const dev_status_checked = this.dev_status_checked; // 假设这是获取设备状态检查值的方法
- if (dev_status_checked === 0) {
- uni.showLoading({
- mask: true,
- title: '查询设备中,请稍候'
- });
- return;
- }
- if (this.processing) {
- return;
- }
- console.log('surplus>>' + surplus + '<><>' + fee)
- if (surplus >= fee) {
- surplus = fee;
- } else {
- uni.showToast({
- title: '充满自停将预扣费' + fee + '元,余额不足,请先点击上方充值',
- icon: 'none'
- });
- return;
- }
- const msg = '充满自停将预扣费' + fee + '元, 充电结束后退回多余的余额,请确认';
- uni.showModal({
- title: '操作确认',
- content: msg,
- success: (res) => {
- if (res.confirm) {
- this.processing = true;
- this.doPostRequest(channel, fee);
- } else if (res.cancel) {
- // 取消操作
- }
- }
- });
- },
- doPostRequest(channel, surplus) {
-
- // 这里是发送充满自停请求
- uni.showLoading({
- mask: true,
- title: '请稍候'
- });
- console.log('dev_id>>' + this.goods.id)
- console.log('channel>>' + channel)
- console.log('total>>' + surplus)
- var _this = this;
- // const url = config.baseUrl + 'app/index.php?i=1&j=1&c=auth&a=devstart&do=dev_full_to_stop&dev_id=' +
- // _this.goods.id + '&state=' + _this.sessionId
- //console.log('dev_full_to_stop>>>' + url)
- const params = {
- 'channel': channel,
- 'total': surplus
- };
- console.log('充满自停>>>'+config.baseUrl+'app/index.php?i=1&j=1&c=auth&a=devstart&do=dev_full_to_stop&dev_id=' +_this.goods.id + '&state=' + _this.sessionId)
- console.log('canshu>>'+JSON.stringify(params))
-
- uni.request({
- url: config.baseUrl+'app/index.php?i=1&j=1&c=auth&a=devstart&do=dev_full_to_stop&alipay=1&dev_id=' +
- _this.goods.id + '&state=' + _this.sessionId,
- method: 'get',
- data: params,
- success: (res) => {
- uni.hideLoading()
- console.log('doPostRequest>>' + JSON.stringify(res))
- _this.processing = false;
- if (res.data.rv === '1') {
- uni.showToast({
- title: res.data.msg
- });
- setTimeout(() => {
- _this.showmp(surplus)
- }, 2000);
- } else {
- uni.showToast({
- title: res.data.msg,
- icon: 'none'
- });
- }
- },
- fail: (err) => {
- console.error('请求失败:', err);
- uni.hideLoading()
- _this.processing = false;
- uni.showToast({
- title: '请求失败,请稍后重试',
- icon: 'none'
- });
- },
- complete() {
- _this.processing = false
- uni.hideLoading()
- }
- });
-
- },
- showmp(surplus) {
- //启动完成跳转,
- uni.navigateTo({
- url: '/pages/showmp/showmp?oid=1&total=' + surplus + '&dev_id=' + this.goods.id + "&sn=" + this
- .device_sn + "&state=" + this.sessionId,
- })
- },
- formatDate(time) {
- let date = new Date(time * 1000);
- let year = date.getUTCFullYear();
- let month = date.getUTCMonth() + 1;
- let day = date.getUTCDate();
- let hours = date.getUTCHours();
- let minutes = date.getUTCMinutes();
- let seconds = date.getUTCSeconds();
- // 为了使结果更加易读,可以对月、日、小时、分钟和秒进行补零操作
- month = month < 10 ? '0' + month : month;
- day = day < 10 ? '0' + day : day;
- hours = hours < 10 ? '0' + hours : hours;
- minutes = minutes < 10 ? '0' + minutes : minutes;
- seconds = seconds < 10 ? '0' + seconds : seconds;
- return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
- }
- }
- };
- </script>
- <style scoped>
- /* */
- .popup-content {
- align-items: center;
- justify-content: center;
- padding: 15px;
- height: 50px;
- background-color: #fff;
- }
- .info-pane {
- padding: 0px 8px;
- font-size: 15px;
- margin-top: 49px
- }
- .ct-panel {
- display: flex;
- padding: 5px 2px 0px 8px;
- }
- .ct-ck {
- text-align: right;
- font-weight: bold;
- position: relative;
- padding-right: 40px;
- }
- .ct-ck:after {
- content: " ";
- display: inline-block;
- -webkit-transform: rotate(135deg);
- transform: rotate(135deg);
- height: 9px;
- width: 9px;
- border-width: 2px 2px 0 0;
- border-color: #247aff;
- border-style: solid;
- position: absolute;
- right: 11px;
- top: 5px;
- }
- .ct-ck1:after {
- -webkit-transform: rotate(315deg);
- transform: rotate(315deg);
- top: 12px;
- }
- .tip-panel {
- border-top: 1px #AEAEAE solid;
- display: none;
- padding-left: 8px;
- }
- /* */
- .kt {
- position: fixed;
- right: 0px;
- top: 45px;
- width: 60px;
- /* border: 1px #089BFB solid; */
- z-index: 999;
- border-radius: 30px 0px 0px 30px;
- padding: 5px;
- background-color: #ffffff;
- box-shadow: -2px 2px 6px #939a9e;
- }
- .kt-ic {
- color: #089BFB;
- }
- .kt-f {
- font-size: 11px;
- text-align: center;
- color: #089BFB;
- }
- .cz-po {
- display: none;
- z-index: 1001;
- width: 95%;
- /* height: 200px; */
- border-radius: 5px;
- position: fixed;
- left: 0;
- right: 0;
- bottom: 0px;
- background-color: #ffffff;
- margin: auto;
- padding: 10px 8px 81px 8px;
- }
- .kt-po {
- display: none;
- z-index: 1001;
- width: 80%;
- height: 200px;
- border-radius: 5px;
- position: fixed;
- left: 0;
- right: 0;
- top: 12px;
- bottom: 0;
- background-color: #ffffff;
- margin: auto;
- padding: 8px;
- }
- .cz-po-cs {
- margin-top: 20px;
- text-align: center;
- color: #ff8c56;
- bottom: 12px;
- /* margin: auto; */
- right: 0px;
- left: 0px;
- font-size: 18px;
- width: 100%;
- height: 50px;
- }
- .kt-po-cs {
- text-align: center;
- color: #ff8c56;
- position: absolute;
- bottom: 12px;
- margin: auto;
- right: 0px;
- left: 0px;
- font-size: 18px;
- padding-top: 8px;
- }
- .kt-po-ft {
- color: #089BFB;
- padding: 10px;
- border-bottom: 1px #ddd solid;
- }
- .bk-mk {
- position: fixed;
- top: 0px;
- right: 0px;
- width: 100%;
- height: 100%;
- z-index: 1000;
- background-color: #565656;
- filter: alpha(Opacity=80);
- -moz-opacity: 0.5;
- opacity: 0.5;
- display: none;
- }
- .gg-phone {
- margin: auto;
- box-sizing: border-box;
- position: relative;
- display: block;
- width: 22px;
- height: 22px;
- transform: scale(var(--ggs, 1))
- }
- .gg-phone::after,
- .gg-phone::before {
- content: "";
- display: block;
- box-sizing: border-box;
- position: absolute
- }
- .gg-phone::after {
- width: 18px;
- height: 18px;
- border-top-left-radius: 1px;
- border-bottom-right-radius: 1px;
- border-bottom-left-radius: 12px;
- border-left: 4px solid;
- border-bottom: 4px solid;
- left: 2px;
- bottom: 0px;
- background:
- linear-gradient(to left,
- currentColor 10px,
- transparent 0) no-repeat right 11px/6px 4px,
- linear-gradient(to left,
- currentColor 10px,
- transparent 0) no-repeat -1px 0/4px 6px
- }
- .gg-phone::before {
- width: 20px;
- height: 20px;
- border: 6px double;
- border-top-color: transparent;
- border-bottom-color: transparent;
- border-left-color: transparent;
- border-radius: 50%;
- transform: rotate(-45deg);
- bottom: 0px;
- left: 2px
- }
- /* */
- .options-panel {
- /* background: #ffffff; */
- overflow: hidden;
- }
- .each-option {
- position: relative;
- float: left;
- padding: 5px 0px;
- width: 18%;
- box-sizing: border-box;
- border: 0px red solid;
- text-align: center;
- color: #2A2A2A;
- border-radius: 5px;
- margin: 1%;
- height: 58px;
- }
- .item {
- border-radius: 5px;
- height: 65px;
- background-color: #F2F7FF;
- display: grid;
- align-content: space-around;
- justify-items: center;
- }
- .item-busy {
- color: #FF7D12;
- background-color: #FFF3E9;
- }
- .item-zt {
- color: #959595;
- background-color: #F9F9F9;
- }
- .item-disable {
- color: #FF4747;
- background-color: #FFF0F0;
- }
- .item-number {
- font-size: 18px;
- line-height: 23px;
- padding-top: 5px;
- }
- .item-status {
- font-size: 14px;
- line-height: 20px;
- padding-top: 1px;
- }
- .item-selected {
- color: #1B7BFF !important;
- background: #EDF4FF;
- border: 1px #1B7BFF solid !important;
- height: 58px;
- position: relative;
- margin: 0 auto;
- text-align: center;
- background-color: #fff;
- }
- .item-selected:before {
- content: '';
- position: absolute;
- right: -1px;
- bottom: -1px;
- border: 12px solid #089BFB;
- border-top-color: transparent;
- border-left-color: transparent;
- border-radius: 0px 0px 7px 0px;
- }
- .item-selected:after {
- content: '';
- width: 2px;
- height: 6px;
- position: absolute;
- right: 3px;
- bottom: 4px;
- border: 2px solid #fff;
- border-top-color: transparent;
- border-left-color: transparent;
- transform: rotate(45deg);
- }
- /* */
- .each-tc {
- position: relative;
- float: left;
- width: 29.333333333%;
- box-sizing: border-box;
- border: 0px red solid;
- text-align: center;
- color: #2A2A2A;
- border-radius: 5px;
- margin: 2%;
- }
- .item-tc {
- border-radius: 5px;
- height: 40px;
- background-color: #ffffff;
- /* border: 1px #AEAEAE solid; */
- }
- .item-tc-nr {
- font-size: 15px;
- line-height: 40px;
- border-radius: 5px;
- }
- /* */
- .confirm-panel {
- background-color: #ffffff;
- border-radius: 0px 0px 5px 5px;
- padding: 5px 0px 24px 0px;
- position: fixed;
- bottom: 0px;
- width: 100%;
- }
- .confirm-btn {
- margin: 0 auto;
- width: 93%;
- height: 50px;
- text-align: center;
- font-size: 17px;
- color: #ffffff;
- background-color: #089BFB;
- line-height: 50px;
- border-radius: 7px;
- }
- /* */
- .cz-panel {
- display: flex;
- background-color: #ffffff;
- padding: 8px;
- border-radius: 5px;
- margin-left: 110px;
- }
- .cz-btn {
- width: 71px;
- height: 28px;
- text-align: center;
- font-size: 14px;
- color: #ffffff;
- background-color: #089BFB;
- line-height: 19px;
- border-radius: 20px;
- }
- .fz1 {
- flex: 1;
- line-height: 28px;
- }
- .fz2 {
- flex: 2;
- line-height: 40px;
- }
- .fz3 {
- flex: 3;
- line-height: 40px;
- }
- /* */
- .bot {
- text-align: center;
- height: 50px;
- line-height: 45px;
- background: #fff;
- position: fixed;
- left: 0;
- bottom: 0;
- z-index: 1;
- width: 100%;
- background-color: #ffffff;
- color: #636363;
- display: flex;
- }
- .gg-clipboard {
- box-sizing: border-box;
- position: relative;
- display: block;
- transform: scale(var(--ggs, 1));
- width: 18px;
- height: 18px;
- border: 2px solid;
- border-radius: 2px;
- margin: auto;
- }
- .gg-clipboard::after,
- .gg-clipboard::before {
- content: "";
- display: block;
- box-sizing: border-box;
- position: absolute;
- border-radius: 2px;
- width: 10px;
- left: 2px
- }
- .gg-clipboard::before {
- border: 2px solid;
- border-bottom-left-radius: 3px;
- border-bottom-right-radius: 3px;
- top: -2px;
- height: 6px
- }
- .gg-clipboard::after {
- height: 2px;
- background: currentColor;
- box-shadow: 0 -4px 0 0;
- bottom: 2px
- }
- .cl-f {
- font-size: 12px;
- line-height: 26px;
- }
- .cl-it {
- padding: 5px;
- color: #636363;
- }
- .cl-gx {
- background-color: #59bdff;
- color: #ffffff;
- line-height: 50px;
- }
- .ph {
- width: 18px;
- height: 18px;
- }
- a {
- text-decoration: none;
- color: #000000;
- }
- .options_panel_recharge {
- margin-top: 7px;
- border-radius: 8px 8px 0px 0px;
- background: #ffffff;
- padding: 7px;
- overflow: hidden;
- }
- .each_option_recharge {
- position: relative;
- float: left;
- padding: 5px 0px;
- width: 31.3333333%;
- box-sizing: border-box;
- border: 0px red solid;
- text-align: center;
- color: #2A2A2A;
- border-radius: 5px;
- margin: 1%;
- height: 72px;
- }
- .tip-panel-all {
- position: fixed;
- border: 2px solid #636363;
- border-radius: 8px;
- z-index: 1002;
- background-color: #000000;
- filter: alpha(opacity=50);
- /* IE */
- -moz-opacity: 0.5;
- /* Moz + FF */
- opacity: 0.5;
- }
- .tip-panel-zf {
- width: 103px;
- height: 55px;
- top: 46px;
- right: 14px;
- }
- .tip-panel-gx {
- width: 189px;
- height: 58px;
- bottom: 67px;
- right: 13px;
- }
- .tip-panel-bor-all {
- width: 0px;
- height: 0;
- position: relative;
- }
- .tip-panel-bor {
- border: 17px solid transparent;
- border-bottom-color: #000000;
- top: -29px;
- left: 60px;
- }
- .tip-panel-bor-gx {
- border: 12px solid transparent;
- border-top-color: #000000;
- top: 60px;
- left: 108px;
- }
- .tip-panel-text-all {
- position: relative;
- text-align: center;
- color: #ffffff;
- }
- .tip-panel-text {
- top: -30px;
- left: 0px;
- font-size: 15px;
- }
- .tip-panel-text-gx {
- top: -22px;
- left: 1px;
- }
- @-webkit-keyframes bounce-down {
- 25% {
- -webkit-transform: translateY(-5px);
- }
- 50%,
- 100% {
- -webkit-transform: translateY(0);
- }
- 75% {
- -webkit-transform: translateY(5px);
- }
- }
- @keyframes bounce-down {
- 25% {
- transform: translateY(-5px);
- }
- 50%,
- 100% {
- transform: translateY(0);
- }
- 75% {
- transform: translateY(5px);
- }
- }
- .animate-bounce-down {
- -webkit-animation: bounce-down 1.2s linear infinite;
- animation: bounce-down 1.2s linear infinite;
- }
- @-webkit-keyframes bounce-down-gx {
- 25% {
- -webkit-transform: translateY(5px);
- }
- 50%,
- 100% {
- -webkit-transform: translateY(0);
- }
- 75% {
- -webkit-transform: translateY(-5px);
- }
- }
- @keyframes bounce-down-gx {
- 25% {
- transform: translateY(5px);
- }
- 50%,
- 100% {
- transform: translateY(0);
- }
- 75% {
- transform: translateY(-5px);
- }
- }
- .animate-bounce-down-gx {
- -webkit-animation: bounce-down-gx 1.2s linear infinite;
- animation: bounce-down-gx 1.2s linear infinite;
- }
- /* */
- .head {
- text-align: center;
- height: 45px;
- line-height: 45px;
- box-shadow: 0 1px 1px 1px #eee;
- background: #fff;
- position: fixed;
- left: 0;
- top: 44px;
- z-index: 1;
- width: 100%;
- color: #000;
- }
- #header-content1 {
- height: 30px;
- float: left;
- background-color: #FFF;
- border-radius: 20px;
- position: absolute;
- /* left: 5%; */
- top: 6px;
- line-height: 30px;
- padding-left: 16px;
- font-size: 14px;
- }
- #header-score1 {
- border-radius: 40px;
- padding: 0px 10px;
- }
- .head {
- text-align: center;
- height: 45px;
- line-height: 45px;
- box-shadow: 0 1px 1px 1px #eee;
- background: #fff;
- position: fixed;
- left: 0;
- top: 0;
- z-index: 1;
- width: 100%;
- color: #000;
- }
- .pay-btn {
- background-color: #ffffff;
- border: 1px solid #ffffff;
- height: 100%;
- width: 100%;
- font-size: 18px;
- border-radius: 11px;
- display: -webkit-box;
- display: -webkit-flex;
- display: flex;
- padding: 5px 0px;
- box-shadow: 1px 1px 8px #e0e0e8;
- }
- .weui-flex1 {
- -webkit-box-flex: 1;
- -webkit-flex: 1;
- flex: 1;
- }
- .weui-flex3 {
- -webkit-box-flex: 3;
- -webkit-flex: 3;
- flex: 3;
- }
- .pay-btn:active {
- background-color: #eceef2;
- border-radius: 11px;
- outline: none;
- color: #ffffff;
- }
- .pay-btn-content {
- padding: 5px 5px;
- }
- a {
- color: #1677ff;
- text-decoration: none;
- }
- .relod-btn {
- border: 1px solid #1677ff;
- color: #1677ff;
- }
- body,
- html {
- background: #efeff4;
- }
- #header_integral_text {
- height: 20px;
- padding-top: 15px;
- padding-right: 15px;
- line-height: 20px;
- font-weight: bold;
- color: #1677ff;
- font-size: 14px;
- display: inline-flex;
- }
- .applyCouponsClass {
- margin-left: 80vw;
- color: #008eff;
- font-size: 14px;
- font-weight: bold;
- position: absolute;
- }
- .coupone_wrap {
- margin-top: 200px;
- }
- .coupon_btn {
- width: 100%;
- height: 50px;
- text-align: center;
- margin-top: 100px;
- }
- </style>
- <style lang="scss" scoped>
- .icon {
- width: 30px;
- height: 30px;
- }
- .item-number-p {
- display: flex;
- color: #1296db;
- font-size: 18px;
- font-weight: 700;
- padding-top: 5px;
- flex-direction: row;
- justify-content: space-evenly;
- align-items: center;
- }
- .item-status-p {
- color: #f33e3e;
- ;
- font-size: 14px;
- line-height: 20px;
- padding-top: 1px;
- display: flex;
- flex-direction: row;
- justify-content: space-evenly;
- align-items: center;
- }
- .guide-box {
- position: fixed;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- background-color: rgba(0, 0, 0, 0.15);
- z-index: 1000;
- align-content: space-around;
- justify-content: center;
- }
- @keyframes shake {
- 0% {
- transform: translateX(0);
- }
- 25% {
- transform: translateX(-3px);
- }
- 50% {
- transform: translateX(3px);
- }
- 75% {
- transform: translateX(-3px);
- }
- 100% {
- transform: translateX(3px);
- }
- }
- .shake-animation {
- display: inline-block;
- animation: shake 0.8s;
- /* 调整时间可以控制动画的速度 */
- animation-iteration-count: infinite;
- /* 让动画无限循环 */
- font-size: larger;
- font-weight: 600;
- color: #3f00ff;
- margin-top: 20px;
- }
- </style>
- <style lang="scss" scoped>
- .flexSpaceBetween{
- display: flex;
- justify-content: space-between;
- align-items: center;
- }
- .fee {
- padding:20rpx;
- background: #ffffff;
- border-radius: 10rpx;
- border: 1rpx solid #ccc;
- margin: 20rpx 0 30rpx 0;
- .ele-price-title {
- .title-item {
- width: 33.3333%;
- text-align: center;
- }
- }
- .time-item {
- font-size: 30rpx;
- margin: 5rpx 0;
- .item {
- width: 33.3333%;
- text-align: center;
- }
- }
- .service-fee {
- padding: 20rpx 0 0 20rpx;
- border-top: 1rpx solid #dcdfe2;
- margin-top: 20rpx;
- .fee-item {
- width: 50%;
- text-align: center;
- &:first-child {
- text-align: left;
- }
- }
- .sub-title {
- margin-bottom: 10rpx;
- }
- .sub-item {
- margin-bottom: 10rpx;
- .sub-power {
- margin-left: 10rpx;
- }
- }
- }
- .fee-h1 {
- margin-bottom: 10rpx;
- &.elec {
- padding-left: 20rpx;
- }
- }
- .fee-tips-bottom{
- padding:10rpx;
- background: #f9deca;
- }
- }
-
- </style>
|