数据统计
Showing
10 changed files
with
290 additions
and
97 deletions
| ... | @@ -2,14 +2,11 @@ | ... | @@ -2,14 +2,11 @@ |
| 2 | defined('BASEPATH') OR exit('No direct script access allowed'); | 2 | defined('BASEPATH') OR exit('No direct script access allowed'); |
| 3 | 3 | ||
| 4 | class Data extends CI_Controller { | 4 | class Data extends CI_Controller { |
| 5 | 5 | public function user () { | |
| 6 | /** | 6 | $this->load->view('data/user'); |
| 7 | * 控制台默认页面 | ||
| 8 | */ | ||
| 9 | public function index() | ||
| 10 | { | ||
| 11 | $this->load->view('data/index'); | ||
| 12 | } | 7 | } |
| 13 | 8 | ||
| 14 | 9 | public function loan() { | |
| 10 | $this->load->view('data/loan'); | ||
| 11 | } | ||
| 15 | } | 12 | } | ... | ... |
| ... | @@ -64,4 +64,39 @@ class Loan extends CI_Controller { | ... | @@ -64,4 +64,39 @@ class Loan extends CI_Controller { |
| 64 | { | 64 | { |
| 65 | $this->load->view('/loan/资料移交'); | 65 | $this->load->view('/loan/资料移交'); |
| 66 | } | 66 | } |
| 67 | |||
| 68 | public function data($format = 'days') | ||
| 69 | { | ||
| 70 | $data = []; | ||
| 71 | switch ($format) { | ||
| 72 | case 'days': | ||
| 73 | $data['labels'] = [31, 1, 2, 3, 4, 5, 6]; | ||
| 74 | $data['datasets'] = [ | ||
| 75 | ['label' => '放款量趋势', 'data' => [30, 50, 30, 60, 32, 54, 43]], | ||
| 76 | ['label' => '放款额趋势', 'data' => [34, 53, 34, 30, 34, 64, 23]] | ||
| 77 | ]; | ||
| 78 | break; | ||
| 79 | case 'weeks': | ||
| 80 | $data['labels'] = [7, 1, 2, 3, 4, 5, 6]; | ||
| 81 | $data['datasets'] = [ | ||
| 82 | ['label' => '放款量趋势', 'data' => [30, 50, 30, 60, 32, 54, 43]], | ||
| 83 | ['label' => '放款额趋势', 'data' => [34, 53, 34, 30, 34, 64, 23]] | ||
| 84 | ]; | ||
| 85 | case 'months': | ||
| 86 | $data['labels'] = [7, 1, 2, 3, 4, 5, 6]; | ||
| 87 | $data['datasets'] = [ | ||
| 88 | ['label' => '放款量趋势', 'data' => [30, 50, 30, 60, 32, 54, 43]], | ||
| 89 | ['label' => '放款额趋势', 'data' => [34, 53, 34, 30, 34, 64, 23]] | ||
| 90 | ]; | ||
| 91 | case 'years': | ||
| 92 | $data['labels'] = [7, 1, 2, 3, 4, 5, 6]; | ||
| 93 | $data['datasets'] = [ | ||
| 94 | ['label' => '放款量趋势', 'data' => [30, 50, 30, 60, 32, 54, 43]], | ||
| 95 | ['label' => '放款额趋势', 'data' => [34, 53, 34, 30, 34, 64, 23]] | ||
| 96 | ]; | ||
| 97 | break; | ||
| 98 | } | ||
| 99 | |||
| 100 | $this->output->set_content_type('application/json')->set_output(json_encode($data)); | ||
| 101 | } | ||
| 67 | } | 102 | } | ... | ... |
| ... | @@ -34,4 +34,35 @@ class User extends CI_Controller { | ... | @@ -34,4 +34,35 @@ class User extends CI_Controller { |
| 34 | break; | 34 | break; |
| 35 | } | 35 | } |
| 36 | } | 36 | } |
| 37 | |||
| 38 | public function data($format = 'days') | ||
| 39 | { | ||
| 40 | $data = []; | ||
| 41 | switch ($format) { | ||
| 42 | case 'days': | ||
| 43 | $data['labels'] = [31, 1, 2, 3, 4, 5, 6]; | ||
| 44 | $data['datasets'] = [ | ||
| 45 | ['label' => '用户量趋势图', 'data' => [30, 50, 30, 60, 32, 54, 43]] | ||
| 46 | ]; | ||
| 47 | break; | ||
| 48 | case 'weeks': | ||
| 49 | $data['labels'] = [7, 1, 2, 3, 4, 5, 6]; | ||
| 50 | $data['datasets'] = [ | ||
| 51 | ['label' => '用户量趋势图', 'data' => [30, 50, 30, 60, 32, 54, 43]] | ||
| 52 | ]; | ||
| 53 | case 'months': | ||
| 54 | $data['labels'] = [7, 1, 2, 3, 4, 5, 6]; | ||
| 55 | $data['datasets'] = [ | ||
| 56 | ['label' => '用户量趋势图', 'data' => [30, 50, 30, 60, 32, 54, 43]] | ||
| 57 | ]; | ||
| 58 | case 'years': | ||
| 59 | $data['labels'] = [7, 1, 2, 3, 4, 5, 6]; | ||
| 60 | $data['datasets'] = [ | ||
| 61 | ['label' => '用户量趋势图', 'data' => [30, 50, 30, 60, 32, 54, 43]] | ||
| 62 | ]; | ||
| 63 | break; | ||
| 64 | } | ||
| 65 | |||
| 66 | $this->output->set_content_type('application/json')->set_output(json_encode($data)); | ||
| 67 | } | ||
| 37 | } | 68 | } | ... | ... |
| ... | @@ -8,6 +8,8 @@ | ... | @@ -8,6 +8,8 @@ |
| 8 | <script type="text/javascript" src="/resource/lib/My97DatePicker/4.8/WdatePicker.js"></script> | 8 | <script type="text/javascript" src="/resource/lib/My97DatePicker/4.8/WdatePicker.js"></script> |
| 9 | <script type="text/javascript" src="/resource/lib/webuploader/0.1.5/webuploader.min.js"></script> | 9 | <script type="text/javascript" src="/resource/lib/webuploader/0.1.5/webuploader.min.js"></script> |
| 10 | <script type="text/javascript" src="/resource/lib/datatables/1.10.0/jquery.dataTables.min.js"></script> | 10 | <script type="text/javascript" src="/resource/lib/datatables/1.10.0/jquery.dataTables.min.js"></script> |
| 11 | <script src="https://cdn.bootcss.com/Chart.js/2.7.2/Chart.bundle.min.js"></script> | ||
| 12 | <script type="text/javascript" src="/resource/chart.js"></script> | ||
| 11 | <script src="https://cdn.bootcss.com/holder/2.9.4/holder.min.js"></script> | 13 | <script src="https://cdn.bootcss.com/holder/2.9.4/holder.min.js"></script> |
| 12 | <script type="text/javascript" src="/resource/upload.js"></script> | 14 | <script type="text/javascript" src="/resource/upload.js"></script> |
| 13 | <script> | 15 | <script> | ... | ... |
application/views/data/loan.php
0 → 100644
| 1 | <?php $this->load->view('common/header'); ?> | ||
| 2 | |||
| 3 | <body> | ||
| 4 | <div class="page-container"> | ||
| 5 | <div class="panel panel-default"> | ||
| 6 | <div class="panel-header"> | ||
| 7 | 数据趋势 | ||
| 8 | <div class="r"> | ||
| 9 | <select class="select" size="1" id="format"> | ||
| 10 | <option value="days">日</option> | ||
| 11 | <option value="weeks">周</option> | ||
| 12 | <option value="months">月</option> | ||
| 13 | <option value="years">年</option> | ||
| 14 | </select> | ||
| 15 | </div> | ||
| 16 | </div> | ||
| 17 | <div class="panel-body"> | ||
| 18 | <div class="row cl pb-20"> | ||
| 19 | <div class="col-md-2 col-sm-4 col-xs-6 card"> | ||
| 20 | <span class="count_top c-999"><i class="Hui-iconfont"></i> 应收总额(元)</span> | ||
| 21 | <div class="count">700.00</div> | ||
| 22 | <span class="count_bottom c-999"><i class="green"><i class="Hui-iconfont"></i>4% </i></span> | ||
| 23 | </div> | ||
| 24 | <div class="col-md-2 col-sm-4 col-xs-6 card"> | ||
| 25 | <span class="count_top c-999"><i class="Hui-iconfont"></i> 放款总额(元)</span> | ||
| 26 | <div class="count">700.00</div> | ||
| 27 | <span class="count_bottom c-999"><i class="red"><i class="Hui-iconfont"></i>12% </i></span> | ||
| 28 | </div> | ||
| 29 | <div class="col-md-2 col-sm-4 col-xs-6 card"> | ||
| 30 | <span class="count_top c-999"><i class="Hui-iconfont"></i> 已收总额(元)</span> | ||
| 31 | <div class="count">700.00</div> | ||
| 32 | <span class="count_bottom c-999"><i class="red"><i class="Hui-iconfont"></i>12% </i></span> | ||
| 33 | </div> | ||
| 34 | <div class="col-md-2 col-sm-4 col-xs-6 card"> | ||
| 35 | <span class="count_top c-999"><i class="Hui-iconfont"></i> 坏账总额(元)</span> | ||
| 36 | <div class="count">700.00</div> | ||
| 37 | <span class="count_bottom c-999"><i class="red"><i class="Hui-iconfont"></i>12% </i></span> | ||
| 38 | </div> | ||
| 39 | <div class="col-md-2 col-sm-4 col-xs-6 card"> | ||
| 40 | <span class="count_top c-999"><i class="Hui-iconfont"></i> 放款量概览</span> | ||
| 41 | <div class="count">700.00</div> | ||
| 42 | </div> | ||
| 43 | </div> | ||
| 44 | |||
| 45 | <div> | ||
| 46 | <canvas id="chart" url="<?=site_url('loan/data/')?>"></canvas> | ||
| 47 | <div> | ||
| 48 | </div> | ||
| 49 | </div> | ||
| 50 | </div> | ||
| 51 | <?php $this->load->view('common/footer'); ?> | ||
| 52 | |||
| 53 | <script> | ||
| 54 | chart(); | ||
| 55 | </script> | ||
| 56 | </body> | ||
| 57 | <html> |
application/views/data/menu.php
0 → 100644
| 1 | <aside class="Hui-aside"> | ||
| 2 | <div class="menu_dropdown bk_2"> | ||
| 3 | <ul> | ||
| 4 | <li><a data-href="<?=site_url('/data/user')?>" data-title="客户统计报表" href="javascript:void(0)"><i class="Hui-iconfont"></i> 客户统计报表</a></li> | ||
| 5 | <li><a data-href="<?=site_url('/data/loan')?>" data-title="贷款统计报表" href="javascript:void(0)"><i class="Hui-iconfont"></i> 贷款统计报表</a></li> | ||
| 6 | </ul> | ||
| 7 | </div> | ||
| 8 | </aside> |
application/views/data/user.php
0 → 100644
| 1 | <?php $this->load->view('common/header'); ?> | ||
| 2 | |||
| 3 | <body> | ||
| 4 | <div class="page-container"> | ||
| 5 | <div class="panel panel-default"> | ||
| 6 | <div class="panel-header"> | ||
| 7 | 数据趋势 | ||
| 8 | <div class="r"> | ||
| 9 | <select class="select" size="1" id="format"> | ||
| 10 | <option value="days">日</option> | ||
| 11 | <option value="weeks">周</option> | ||
| 12 | <option value="months">月</option> | ||
| 13 | <option value="years">年</option> | ||
| 14 | </select> | ||
| 15 | </div> | ||
| 16 | </div> | ||
| 17 | <div class="panel-body"> | ||
| 18 | <div class="row cl pb-20"> | ||
| 19 | <div class="col-md-2 col-sm-4 col-xs-6 card"> | ||
| 20 | <span class="count_top c-999"><i class="Hui-iconfont"></i> 注册预览</span> | ||
| 21 | <div class="count">2500</div> | ||
| 22 | </div> | ||
| 23 | </div> | ||
| 24 | |||
| 25 | <div> | ||
| 26 | <canvas id="chart" url="<?=site_url('user/data/')?>"></canvas> | ||
| 27 | <div> | ||
| 28 | </div> | ||
| 29 | </div> | ||
| 30 | </div> | ||
| 31 | <?php $this->load->view('common/footer'); ?> | ||
| 32 | |||
| 33 | <script> | ||
| 34 | chart(); | ||
| 35 | </script> | ||
| 36 | </body> | ||
| 37 | <html> |
| ... | @@ -5,96 +5,9 @@ | ... | @@ -5,96 +5,9 @@ |
| 5 | <body> | 5 | <body> |
| 6 | <?php | 6 | <?php |
| 7 | $this->load->view('common/top'); | 7 | $this->load->view('common/top'); |
| 8 | $this->load->view('data/menu'); | ||
| 8 | ?> | 9 | ?> |
| 9 | <aside class="Hui-aside"> | 10 | |
| 10 | <div class="menu_dropdown bk_2"> | ||
| 11 | <dl id="menu-article"> | ||
| 12 | <dt><i class="Hui-iconfont"></i> 资讯管理<i class="Hui-iconfont menu_dropdown-arrow"></i></dt> | ||
| 13 | <dd> | ||
| 14 | <ul> | ||
| 15 | <li><a data-href="article-list.html" data-title="资讯管理" href="javascript:void(0)">资讯管理</a></li> | ||
| 16 | </ul> | ||
| 17 | </dd> | ||
| 18 | </dl> | ||
| 19 | <dl id="menu-picture"> | ||
| 20 | <dt><i class="Hui-iconfont"></i> 图片管理<i class="Hui-iconfont menu_dropdown-arrow"></i></dt> | ||
| 21 | <dd> | ||
| 22 | <ul> | ||
| 23 | <li><a data-href="picture-list.html" data-title="图片管理" href="javascript:void(0)">图片管理</a></li> | ||
| 24 | </ul> | ||
| 25 | </dd> | ||
| 26 | </dl> | ||
| 27 | <dl id="menu-product"> | ||
| 28 | <dt><i class="Hui-iconfont"></i> 产品管理<i class="Hui-iconfont menu_dropdown-arrow"></i></dt> | ||
| 29 | <dd> | ||
| 30 | <ul> | ||
| 31 | <li><a data-href="product-brand.html" data-title="品牌管理" href="javascript:void(0)">品牌管理</a></li> | ||
| 32 | <li><a data-href="product-category.html" data-title="分类管理" href="javascript:void(0)">分类管理</a></li> | ||
| 33 | <li><a data-href="product-list.html" data-title="产品管理" href="javascript:void(0)">产品管理</a></li> | ||
| 34 | </ul> | ||
| 35 | </dd> | ||
| 36 | </dl> | ||
| 37 | <dl id="menu-comments"> | ||
| 38 | <dt><i class="Hui-iconfont"></i> 评论管理<i class="Hui-iconfont menu_dropdown-arrow"></i></dt> | ||
| 39 | <dd> | ||
| 40 | <ul> | ||
| 41 | <li><a data-href="http://h-ui.duoshuo.com/admin/" data-title="评论列表" href="javascript:;">评论列表</a></li> | ||
| 42 | <li><a data-href="feedback-list.html" data-title="意见反馈" href="javascript:void(0)">意见反馈</a></li> | ||
| 43 | </ul> | ||
| 44 | </dd> | ||
| 45 | </dl> | ||
| 46 | <dl id="menu-member"> | ||
| 47 | <dt><i class="Hui-iconfont"></i> 会员管理<i class="Hui-iconfont menu_dropdown-arrow"></i></dt> | ||
| 48 | <dd> | ||
| 49 | <ul> | ||
| 50 | <li><a data-href="member-list.html" data-title="会员列表" href="javascript:;">会员列表</a></li> | ||
| 51 | <li><a data-href="member-del.html" data-title="删除的会员" href="javascript:;">删除的会员</a></li> | ||
| 52 | <li><a data-href="member-level.html" data-title="等级管理" href="javascript:;">等级管理</a></li> | ||
| 53 | <li><a data-href="member-scoreoperation.html" data-title="积分管理" href="javascript:;">积分管理</a></li> | ||
| 54 | <li><a data-href="member-record-browse.html" data-title="浏览记录" href="javascript:void(0)">浏览记录</a></li> | ||
| 55 | <li><a data-href="member-record-download.html" data-title="下载记录" href="javascript:void(0)">下载记录</a></li> | ||
| 56 | <li><a data-href="member-record-share.html" data-title="分享记录" href="javascript:void(0)">分享记录</a></li> | ||
| 57 | </ul> | ||
| 58 | </dd> | ||
| 59 | </dl> | ||
| 60 | <dl id="menu-admin"> | ||
| 61 | <dt><i class="Hui-iconfont"></i> 管理员管理<i class="Hui-iconfont menu_dropdown-arrow"></i></dt> | ||
| 62 | <dd> | ||
| 63 | <ul> | ||
| 64 | <li><a data-href="admin-role.html" data-title="角色管理" href="javascript:void(0)">角色管理</a></li> | ||
| 65 | <li><a data-href="admin-permission.html" data-title="权限管理" href="javascript:void(0)">权限管理</a></li> | ||
| 66 | <li><a data-href="admin-list.html" data-title="管理员列表" href="javascript:void(0)">管理员列表</a></li> | ||
| 67 | </ul> | ||
| 68 | </dd> | ||
| 69 | </dl> | ||
| 70 | <dl id="menu-tongji"> | ||
| 71 | <dt><i class="Hui-iconfont"></i> 系统统计<i class="Hui-iconfont menu_dropdown-arrow"></i></dt> | ||
| 72 | <dd> | ||
| 73 | <ul> | ||
| 74 | <li><a data-href="charts-1.html" data-title="折线图" href="javascript:void(0)">折线图</a></li> | ||
| 75 | <li><a data-href="charts-2.html" data-title="时间轴折线图" href="javascript:void(0)">时间轴折线图</a></li> | ||
| 76 | <li><a data-href="charts-3.html" data-title="区域图" href="javascript:void(0)">区域图</a></li> | ||
| 77 | <li><a data-href="charts-4.html" data-title="柱状图" href="javascript:void(0)">柱状图</a></li> | ||
| 78 | <li><a data-href="charts-5.html" data-title="饼状图" href="javascript:void(0)">饼状图</a></li> | ||
| 79 | <li><a data-href="charts-6.html" data-title="3D柱状图" href="javascript:void(0)">3D柱状图</a></li> | ||
| 80 | <li><a data-href="charts-7.html" data-title="3D饼状图" href="javascript:void(0)">3D饼状图</a></li> | ||
| 81 | </ul> | ||
| 82 | </dd> | ||
| 83 | </dl> | ||
| 84 | <dl id="menu-system"> | ||
| 85 | <dt><i class="Hui-iconfont"></i> 系统管理<i class="Hui-iconfont menu_dropdown-arrow"></i></dt> | ||
| 86 | <dd> | ||
| 87 | <ul> | ||
| 88 | <li><a data-href="system-base.html" data-title="系统设置" href="javascript:void(0)">系统设置</a></li> | ||
| 89 | <li><a data-href="system-category.html" data-title="栏目管理" href="javascript:void(0)">栏目管理</a></li> | ||
| 90 | <li><a data-href="system-data.html" data-title="数据字典" href="javascript:void(0)">数据字典</a></li> | ||
| 91 | <li><a data-href="system-shielding.html" data-title="屏蔽词" href="javascript:void(0)">屏蔽词</a></li> | ||
| 92 | <li><a data-href="system-log.html" data-title="系统日志" href="javascript:void(0)">系统日志</a></li> | ||
| 93 | </ul> | ||
| 94 | </dd> | ||
| 95 | </dl> | ||
| 96 | </div> | ||
| 97 | </aside> | ||
| 98 | <div class="dislpayArrow hidden-xs"><a class="pngfix" href="javascript:void(0);" onClick="displaynavbar(this)"></a></div> | 11 | <div class="dislpayArrow hidden-xs"><a class="pngfix" href="javascript:void(0);" onClick="displaynavbar(this)"></a></div> |
| 99 | <section class="Hui-article-box"> | 12 | <section class="Hui-article-box"> |
| 100 | <div id="Hui-tabNav" class="Hui-tabNav hidden-xs"> | 13 | <div id="Hui-tabNav" class="Hui-tabNav hidden-xs"> | ... | ... |
resource/chart.js
0 → 100644
| 1 | var chartColors = { | ||
| 2 | grey: 'rgb(201, 203, 207)', | ||
| 3 | red: 'rgb(255, 99, 132)', | ||
| 4 | orange: 'rgb(255, 159, 64)', | ||
| 5 | yellow: 'rgb(255, 205, 86)', | ||
| 6 | green: 'rgb(75, 192, 192)', | ||
| 7 | purple: 'rgb(153, 102, 255)', | ||
| 8 | blue: 'rgb(54, 162, 235)' | ||
| 9 | }; | ||
| 10 | |||
| 11 | var config = { | ||
| 12 | type: 'line', | ||
| 13 | data: {}, | ||
| 14 | options: { | ||
| 15 | tooltips: { | ||
| 16 | mode: 'index', | ||
| 17 | intersect: false, | ||
| 18 | }, | ||
| 19 | hover: { | ||
| 20 | mode: 'nearest', | ||
| 21 | intersect: true | ||
| 22 | }, | ||
| 23 | scales: { | ||
| 24 | xAxes: [{ | ||
| 25 | display: true, | ||
| 26 | scaleLabel: { | ||
| 27 | display: true, | ||
| 28 | labelString: $('#format').val() | ||
| 29 | } | ||
| 30 | }], | ||
| 31 | yAxes: [{ | ||
| 32 | display: true, | ||
| 33 | ticks: { | ||
| 34 | min: 0 | ||
| 35 | } | ||
| 36 | }] | ||
| 37 | } | ||
| 38 | } | ||
| 39 | } | ||
| 40 | |||
| 41 | function load () { | ||
| 42 | var url = $('#chart').attr('url'); | ||
| 43 | |||
| 44 | $.ajax({ | ||
| 45 | url: url + $('#format').val() | ||
| 46 | }).done(function (json) { | ||
| 47 | var colorNames = Object.keys(chartColors); | ||
| 48 | |||
| 49 | for (var i = 0; i < json.datasets.length; i++) { | ||
| 50 | var colorName = colorNames.pop(); | ||
| 51 | var newColor = chartColors[colorName]; | ||
| 52 | json.datasets[i].backgroundColor = newColor; | ||
| 53 | json.datasets[i].borderColor = newColor; | ||
| 54 | json.datasets[i].fill = false; | ||
| 55 | |||
| 56 | config.data = json; | ||
| 57 | } | ||
| 58 | |||
| 59 | config.options.scales.xAxes[0].scaleLabel.labelString = $('#format').val(); | ||
| 60 | |||
| 61 | chart.update(); | ||
| 62 | }) | ||
| 63 | } | ||
| 64 | |||
| 65 | function chart () { | ||
| 66 | var can = $('#chart'); | ||
| 67 | var ctx = can.get(0).getContext("2d"); | ||
| 68 | var container = can.parent().parent(); // get width from proper parent | ||
| 69 | var $container = jQuery(container); | ||
| 70 | can.attr('width', $container.width()); //max width | ||
| 71 | can.attr('height', $container.height()); //max height | ||
| 72 | |||
| 73 | window.chart = new Chart(ctx, config); | ||
| 74 | load(); | ||
| 75 | } | ||
| 76 | |||
| 77 | $('#format').on('change', function () { | ||
| 78 | load(); | ||
| 79 | }) |
| ... | @@ -279,3 +279,37 @@ label.radio > input:checked + img{ | ... | @@ -279,3 +279,37 @@ label.radio > input:checked + img{ |
| 279 | .pmb p { | 279 | .pmb p { |
| 280 | margin-bottom: 0; | 280 | margin-bottom: 0; |
| 281 | } | 281 | } |
| 282 | |||
| 283 | .row .card:first-child:before { | ||
| 284 | border-left: 0; | ||
| 285 | } | ||
| 286 | |||
| 287 | .row .card:before { | ||
| 288 | content: ""; | ||
| 289 | position: absolute; | ||
| 290 | left: 0; | ||
| 291 | height: 65px; | ||
| 292 | border-left: 2px solid #ADB2B5; | ||
| 293 | margin-top: 10px; | ||
| 294 | } | ||
| 295 | |||
| 296 | .card span { | ||
| 297 | font-size: 13px; | ||
| 298 | } | ||
| 299 | |||
| 300 | .card .count { | ||
| 301 | font-size: 40px; | ||
| 302 | line-height: 47px; | ||
| 303 | font-weight: 600; | ||
| 304 | } | ||
| 305 | .card .count_bottom i { | ||
| 306 | width: 12px; | ||
| 307 | } | ||
| 308 | |||
| 309 | .green { | ||
| 310 | color: #1ABB9C; | ||
| 311 | } | ||
| 312 | |||
| 313 | .red { | ||
| 314 | color: #E74C3C; | ||
| 315 | } | ... | ... |
-
Please register or sign in to post a comment