Files
BlackFruit-UI/clientarea/cart/hgcart/settlement.php
yiqiu a82bf8baa5
All checks were successful
continuous-integration/drone/push Build is passing
feat: 添加hgcart购物车模板+Drone部署同步
- 解压default_npant.tar.gz到clientarea/cart/hgcart/
- .drone.yml增加hgcart同步到cart/template/pc/
2026-03-22 20:36:15 +08:00

183 lines
10 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<link rel="stylesheet" href="/{$template_catalog_cart}/template/{$themes_cart}/css/settlement.css">
</head>
<body>
<!-- mounted之前显示 -->
<div id="mainLoading">
<div class="ddr ddr1"></div>
<div class="ddr ddr2"></div>
<div class="ddr ddr3"></div>
<div class="ddr ddr4"></div>
<div class="ddr ddr5"></div>
</div>
<div class="template">
<el-container>
<aside-menu @getruleslist="getRule"></aside-menu>
<el-container>
<top-menu></top-menu>
<el-main>
<!-- 自己的东西 -->
<div class="main-card">
<div class="main-title">
{{lang.settlement_title}}
<p class="dont-save-password" v-if="commonData.donot_save_client_product_password === 1">
{{lang.dont_save_password_tip}}
</p>
</div>
<div class="goods-box">
<div class="goods-item" v-loading="listLoading">
<div v-for="(item,index) in showGoodsList" :key="index" class="shopping-goods"
v-loading="item.isLoading">
<div class="table-name">
<span class="goods-name">{{item.name}}</span>
</div>
<div class="table-content">
<table class="goods-table">
<thead>
<th class="description-box">{{lang.settlement_goodsInfo}}</th>
<th class="price-box">{{lang.settlement_goodsPrice}}</th>
<th class="num-box">{{lang.settlement_goodsNums}}</th>
<th class="total-box">{{lang.settlement_goodsTotalPrice}}</th>
</thead>
<tbody>
<tr>
<td>
<div class="info-box" v-if="item.info">
<div class="goods-info" v-if="false">
<span class="goodsInfo-type">
<span class="goodsInfo-name">{{item.name}}</span>
<span class="goodsInfo-val"></span>
</span>
<span
class="goodsInfo-price">{{commonData.currency_prefix}}{{item.info.base_price}}</span>
</div>
<div v-for="(infoItem,value,index) in item.preview" :key="index" class="goods-info">
<span class="goodsInfo-type">
<span class="goodsInfo-name">{{infoItem.name}}</span>
<span class="goodsInfo-val">{{infoItem.value}}</span>
</span>
<span class="goodsInfo-price">{{commonData.currency_prefix}}{{infoItem.price}}</span>
</div>
</div>
<div v-else></div>
</td>
<td class="item-price">
<template v-if="item.info?.host_billing_cycle === 'on_demand'">
{{commonData.currency_prefix}}<span
class="price">{{(item.info.base_price * 1).toFixed(2)}}</span>&nbsp;<span
class="default-color">{{lang.demand_text1}}</span><br>
{{commonData.currency_prefix}}<span
class="price">{{(item.info.base_renew_price * 1).toFixed(4)}}</span>&nbsp;<span
class="default-color">/{{lang.demand_text2}}</span><br>
<template v-if="item.info.base_on_demand_flow_price * 1">
{{commonData.currency_prefix}}<span
class="price">{{(item.info.base_on_demand_flow_price * 1).toFixed(4)}}</span>&nbsp;<span
class="default-color">/GB</span>
</template>
</template>
<template v-else>
{{commonData.currency_prefix}}{{Number(item.price * 1 / item.qty).toFixed(2)}}
<span v-if="item.info && item.info.billing_cycle">/
{{item.info.customfield?.multi_language?.billing_cycle || item.info.billing_cycle}}</span>
</template>
</td>
<td>
{{item.qty}}
</td>
<td class="item-total">
<span>{{commonData.currency_prefix}} {{item.calcItemPrice | filterMoney}}</span>
<el-popover placement="top-start" width="200" trigger="hover"
v-if="item.price != item.calcItemPrice">
<div class="show-config-list">
<p v-if="item.level_discount">
{{lang.shoppingCar_tip_text2}}{{commonData.currency_prefix}} {{
item.level_discount | filterMoney }}
</p>
<p v-if="item.code_discount">
{{lang.shoppingCar_tip_text4}}{{commonData.currency_prefix}} {{ item.code_discount |
filterMoney }}
</p>
<p v-if="item.eventDiscount">{{lang.goods_text4}}{{commonData.currency_prefix}} {{
item.eventDiscount | filterMoney }}</p>
</div>
<i class="el-icon-warning-outline total-icon" slot="reference"></i>
</el-popover>
<event-code v-if="item.info && item.info.duration !=='' && item.eventDiscount"
:id="item.customfield.event_promotion" :product_id="item.product_id" :qty="item.qty"
:amount="item.price" :billing_cycle_time="item.info.duration" disabled>
</event-code>
<p class="original-price" v-if="item.price != item.calcItemPrice">
{{commonData.currency_prefix}} {{item.price | filterMoney}}
</p>
<div v-show="item.customfield.promo_code" class="discount-codeNumber">
{{ item.customfield.promo_code }}
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</el-main>
<el-footer v-if="!isNaN(Number(totalPrice).toFixed(2))" style="min-height: 1.6rem; height:auto;">
<div class="footer-box">
<div class="footer-left" v-if="false">
<span class="pay-text">{{lang.settlement_tip1}}</span>
<el-radio-group v-model="payType" class="radio-box" v-if="payTypeList.length!==0">
<el-radio :label="item.name" v-for="item in payTypeList" :key="item.id">{{item.title}}</el-radio>
</el-radio-group>
</div>
<div class="footer-right">
<div class="totalprice-box" v-loading="totalPriceLoading">
<div>
{{lang.settlement_tip2}}
<span class="total-price">{{commonData.currency_prefix}}{{finallyPrice | filterMoney}}</span>
<el-popover placement="top-start" width="200" trigger="hover"
v-if="orginPrice*1 != totalPrice*1 || finallyPrice*1 != totalPrice*1">
<div class="show-config-list">
<p v-if="totalLevelDiscount * 1 > 0">{{lang.shoppingCar_tip_text2}}{{commonData.currency_prefix}}
{{
totalLevelDiscount | filterMoney }}
</p>
<p v-if="totalCodelDiscount * 1 > 0">
{{lang.shoppingCar_tip_text4}}{{commonData.currency_prefix}} {{ totalCodelDiscount |
filterMoney }}
</p>
<p v-if="totalFullDiscount * 1 > 0">{{lang.goods_text4}}{{commonData.currency_prefix}}
{{ totalFullDiscount | filterMoney }}
</p>
</div>
<i class="el-icon-warning-outline total-icon" slot="reference"></i>
</el-popover>
</div>
</div>
<div class="btn-box" v-if="showPayBtn">
<el-button type="primary" class="buy-btn" @click="goPay"
:loading="subBtnLoading">{{lang.settlement_tip3}}</el-button>
<div class="check-box">
<el-checkbox v-model="checked"></el-checkbox>
{{lang.settlement_tip4}}
<span class="bule-text" @click="goHelpUrl('terms_service_url')">{{lang.read_service}}</span>
{{lang.settlement_tip6}}
<span class="bule-text" @click="goHelpUrl('terms_privacy_url')">{{lang.read_privacy}}</span>
</div>
</div>
</div>
</div>
</el-footer>
<!-- 支付弹窗 -->
<pay-dialog ref="payDialog" @payok="paySuccess" @paycancel="payCancel"></pay-dialog>
</el-container>
</el-container>
</div>
<!-- =======页面独有======= -->
<script src="/{$template_catalog_cart}/template/{$themes_cart}/api/shopping.js"></script>
<script src="/{$template_catalog}/template/{$themes}/components/payDialog/payDialog.js"></script>
<script src="/{$template_catalog}/template/{$themes}/components/eventCode/eventCode.js"></script>
<script src="/{$template_catalog_cart}/template/{$themes_cart}/js/settlement.js"></script>