Skip to content

Instantly share code, notes, and snippets.

@Sekaiichi
Created August 28, 2019 12:13
Show Gist options
  • Save Sekaiichi/1825a1998fc33dc53510a5e4aada7fa1 to your computer and use it in GitHub Desktop.
Save Sekaiichi/1825a1998fc33dc53510a5e4aada7fa1 to your computer and use it in GitHub Desktop.
<?php
/* @var $this yii\web\View */
/* @var $model app\controllers\SiteController */
/* @var $spend app\controllers\SiteController */
use app\components\Api;
use app\components\UsefulStuff;
$this->title = 'Главная страница';
$getSpending = $model['spend'];
$beeUsage = 0; $otherUsage = 0; $mbUsage = 0; $otherSms = 0;
if($getSpending['status'] == 200){
$beeUsage = (integer) $getSpending['data']['beemin_usage'] / 100;
$otherUsage = (integer) $getSpending['data']['othmin_usage'] / 10;
$mbUsage = $getSpending['data']['mb_usage'] / 1024;
$otherSms = $getSpending['data']['sms_usage'] / 10;
}
$cookies = Yii::$app->request->cookies;
$getPrereg = $cookies->getValue('prereg', 0);
?>
<!-- ========== MAIN ========== -->
<main id="content" role="main">
<!-- Content Section -->
<div class="bg-light">
<div class="container space-0 space-sm-2 space-top-2">
<!-- Card -->
<div class="card-deck d-block d-lg-flex card-lg-gutters-3">
<!-- Stats -->
<div class="card mb-9 mb-lg-0">
<div class="card-body pt-4 pb-5 px-5 mb-3 mb-md-0">
<!-- Title & Settings -->
<div class="d-flex justify-content-between align-items-center">
<h4 class="h6 mb-0">Баланс: <?=$model['balance']['bal']?> сомони</h4>
<h4 class="h6 mb-0">Помощь при нуле: <?=$model['balance']['credit']?> сомони</h4>
</div>
<!-- End Title & Settings -->
<hr class="mt-3 mb-4">
<!-- Deposit Info -->
<div class="row">
<div class="col-6 col-sm-3 align-self-end">
<!-- Pie Circle -->
<div class="js-pie text-center"
data-circles-text-class="content-centered-y"
data-circles-value="<?=$model['balance']['onnet']['now']?>"
data-circles-max-value="<?=$model['balance']['onnet']['start']?>"
data-circles-bg-color="rgba(194, 43, 48, 0.1)"
data-circles-fg-color="#f6a806"
data-circles-radius="50"
data-circles-stroke-width="4"
data-circles-duration="1000"
data-circles-scroll-animate="true"
data-circles-color="#000"
data-circles-font-size="20">
</div>
<span style="text-align: center; display: block">мин внутри</span>
<!-- End Pie Circle -->
</div>
<div class="col-6 col-sm-3 align-self-end">
<!-- Pie Circle -->
<div class="js-pie text-center"
data-circles-text-class="content-centered-y"
data-circles-value="<?=$model['balance']['ofnet']['start']?>"
data-circles-max-value="<?=$model['balance']['ofnet']['now']?>"
data-circles-bg-color="rgba(59, 139, 102, 0.1)"
data-circles-fg-color="#c22b30"
data-circles-radius="50"
data-circles-stroke-width="4"
data-circles-duration="1000"
data-circles-scroll-animate="true"
data-circles-color="#000"
data-circles-font-size="20"></div>
<span style="text-align: center; display: block">мин по РТ</span>
<!-- End Pie Circle -->
</div>
<div class="col-6 col-sm-3 align-self-end">
<!-- Pie Circle -->
<div class="js-pie text-center"
data-circles-text-class="content-centered-y"
data-circles-value="<?=$model['balance']['mb']['now']?>"
data-circles-max-value="<?=$model['balance']['mb']['start']?>"
data-circles-bg-color="rgba(43, 151, 89, 0.1)"
data-circles-fg-color="#2b97bd"
data-circles-radius="50"
data-circles-stroke-width="4"
data-circles-duration="1000"
data-circles-scroll-animate="true"
data-circles-color="#000"
data-circles-font-size="20">
</div>
<span style="text-align: center; display: block">МБ</span>
<!-- End Pie Circle -->
</div>
<div class="col-6 col-sm-3 align-self-end">
<!-- Pie Circle -->
<div class="js-pie text-center"
data-circles-text-class="content-centered-y"
data-circles-value="<?=$model['balance']['sms']['now']?>"
data-circles-max-value="<?=$model['balance']['sms']['start']?>"
data-circles-bg-color="rgba(59, 139, 102, 0.1)"
data-circles-fg-color="#3b8b66"
data-circles-radius="50"
data-circles-stroke-width="4"
data-circles-duration="1000"
data-circles-scroll-animate="true"
data-circles-color="#000"
data-circles-font-size="20">
</div>
<span style="text-align: center; display: block">SMS</span>
<!-- End Pie Circle -->
</div>
</div>
</div>
<div class="card-footer">
<div class="row align-items-center">
<?php
if($model['writeOffInfo'] !== NULL){
foreach ($model['writeOffInfo'] as $key => $item) {
$convertDate = UsefulStuff::getDiff(date('Y-m-d',time()),$item['date'])
?>
<div class="col-12">
<label class="small text-muted">
Списания за <b><?=$item['soc']?></b> через
<b><?=$convertDate['diff']?></b>
<?=$convertDate['label']?>
</label>
</div>
<?php } }?>
</div>
</div>
</div>
<!-- End Stats -->
</div>
<!-- End Card -->
</div>
<div class="container space-bottom-2">
<!-- Card -->
<div class="card-deck d-block d-lg-flex card-lg-gutters-3">
<!-- Stats -->
<div class="card mb-9 mb-lg-0">
<div class="card-body pt-4 pb-5 px-5 mb-3 mb-md-0">
<!-- Title & Settings -->
<div class="d-flex justify-content-between align-items-center">
<h4 class="h6 mb-0">Израсходованный трафик за 30 дней:</h4>
</div>
<!-- End Title & Settings -->
<hr class="mt-3 mb-4">
<!-- Deposit Info -->
<div class="row">
<div class="col-12 col-sm-12 align-self-end">
<div id="pie-chart"></div>
</div>
</div>
</div>
</div>
<!-- End Stats -->
<!-- Stats -->
<div class="card mb-9 mb-lg-0">
<div class="card-body pt-4 pb-5 px-5 mb-3 mb-md-0">
<!-- Title & Settings -->
<div class="d-flex justify-content-between align-items-center">
<h4 class="h6 mb-0">Личные данные</h4>
</div>
<!-- End Title & Settings -->
<hr class="mt-3 mb-4">
<!-- Deposit Info -->
<div class="row personal-data">
<div class="col-4 align-self-end">
<ul class="list-group list-group-transparent list-group-flush list-group-borderless mb-0">
<li class="list-group-item pt-0 pb-4">
<div class="media">
<div class="media-body text-lh-sm">
<span class="d-block mb-1">Фамилия:</span>
<b><?=Yii::$app->user->identity->second_name?></b>
</div>
</div>
</li>
<li class="list-group-item pt-0 pb-4">
<div class="media">
<div class="media-body text-lh-sm">
<span class="d-block mb-1">Серия паспорта:</span>
<b><?=Yii::$app->user->identity->passport_serial?></b>
</div>
</div>
</li>
</ul>
</div>
<div class="col-4 align-self-end">
<ul class="list-group list-group-transparent list-group-flush list-group-borderless mb-0">
<li class="list-group-item pt-0 pb-4">
<div class="media">
<div class="media-body text-lh-sm">
<span class="d-block mb-1">Имя:</span>
<b><?=Yii::$app->user->identity->first_name?></b>
</div>
</div>
</li>
<li class="list-group-item pt-0 pb-4">
<div class="media">
<div class="media-body text-lh-sm">
<span class="d-block mb-1">Дата рождения:</span>
<b><?=Yii::$app->user->identity->birthday?></b>
</div>
</div>
</li>
</ul>
</div>
<div class="col-4 align-self-end">
<ul class="list-group list-group-transparent list-group-flush list-group-borderless mb-0">
<li class="list-group-item pt-0 pb-4">
<div class="media">
<div class="media-body text-lh-sm">
<span class="d-block mb-1">Отчество:</span>
<b><?=Yii::$app->user->identity->father_name?></b>
</div>
</div>
</li>
<li class="list-group-item pt-0 pb-4">
<div class="media">
<div class="media-body text-lh-sm">
<span class="d-block mb-1">Перерегистрация:</span>
<?=$getPrereg == 0 ? '<span class="badge badge-danger">не пройдена</span>' : '<span class="badge badge-success">пройдена</span>'?>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
<div class="card-footer p-5">
<div class="row align-items-center">
<div class="col-4">
<label class="small text-muted">Номера на серию паспорта:</label>
</div>
<div class="col-8">
<div id="quantity" class="row"></div>
<button id="getQuantity" class="btn btn-danger btn-xs">Показать</button>
</div>
</div>
</div>
</div>
<!-- End Stats -->
</div>
<!-- End Card -->
</div>
</div>
<!-- End Content Section -->
</main>
<!-- ========== END MAIN ========== -->
<style>
#pie-chart{
min-height: 220px;
}
</style>
<?php
$csrf = Yii::$app->request->getCsrfToken();
$script = "
$('#getQuantity').click(function() {
$(this).prop('disabled', true);
$(this).html(
`<span class=\"spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\"></span> Загрузка...`
);
$.ajax({
url: '/site/get-number',
type: 'post',
data: {
status: 1,
_csrf : \"$csrf\"
},
success: function (data) {
var elem = document.getElementById('getQuantity');
elem.parentNode.removeChild(elem);
data.search.data.forEach(function(element) {
$('#quantity').append('<div class =\"col-12 col-sm-3 col-md-3\"><label class=\"small text-muted\">' + element + '</label></div>');
});
}
});
});
var color_array = ['#f6a806', '#e93e51', '#0197bc', '#557891'];
var y;
Morris.Donut({
resize : false,
element: 'pie-chart',
data: [
{label: 'Минуты внутри сети', value:'$beeUsage'},
{label: 'Минуты на другие сети', value: '$otherUsage'},
{label: 'Интернет трафик (МБ)', value: '$mbUsage'},
{label: 'SMS по РТ', value: '$otherSms'}
],
formatter: function (x, data) {
if(data.label == 'Минуты внутри сети'){
y = x * 100;
y = y.toFixed(0);
}else if(data.label == 'Минуты на другие сети'){
y = x * 10;
y = y.toFixed(0);
}else if(data.label == 'Интернет трафик (МБ)'){
y = x * 1024;
y = y.toFixed(2);
}else if(data.label == 'SMS по РТ'){
y = x * 10;
y = y.toFixed(0);
}
return y
},
colors: color_array,
});
";
$this->registerJs($script);
$css = "svg text{
font: 800 15px Museo;
}";
$this->registerCss($css);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment