diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 5a1a903..fc6934d 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,82 +2,43 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/controllers/index.py b/web/controllers/index.py index 1921f48..b103034 100644 --- a/web/controllers/index.py +++ b/web/controllers/index.py @@ -1,8 +1,57 @@ # -*- coding: utf-8 -*- +from application import app,db from flask import Blueprint from common.libs.Helper import ops_render +from common.libs.Helper import getFormatDate +from common.models.stat.StatDailySite import StatDailySite +import datetime route_index = Blueprint( 'index_page',__name__ ) @route_index.route("/") def index(): - return ops_render( "index/index.html" ) \ No newline at end of file + resp_data = { + 'data':{ + 'finance':{ + 'today':0, + 'month':0 + }, + 'member': { + 'today_new': 0, + 'month_new': 0, + 'total': 0 + }, + 'order': { + 'today': 0, + 'month': 0 + }, + 'shared': { + 'today': 0, + 'month': 0 + }, + } + } + + now = datetime.datetime.now() + date_before_30days = now + datetime.timedelta( days = -30 ) + date_from = getFormatDate( date = date_before_30days,format = "%Y-%m-%d" ) + date_to = getFormatDate( date = now ,format = "%Y-%m-%d") + + list = StatDailySite.query.filter( StatDailySite.date >= date_from)\ + .filter( StatDailySite.date <= date_to ).order_by( StatDailySite.id.asc() )\ + .all() + data = resp_data['data'] + if list: + + for item in list: + data['finance']['month'] += item.total_pay_money + data['member']['month_new'] += item.total_new_member_count + data['member']['total'] = item.total_member_count + data['order']['month'] += item.total_order_count + data['shared']['month'] += item.total_shared_count + if getFormatDate( date = item.date ,format = "%Y-%m-%d") == date_to: + data['finance']['today'] = item.total_pay_money + data['member']['today_new'] = item.total_new_member_count + data['order']['today'] = item.total_order_count + data['shared']['today'] = item.total_shared_count + + return ops_render( "index/index.html",resp_data ) \ No newline at end of file diff --git a/web/controllers/stat/Stat.py b/web/controllers/stat/Stat.py index e47ba1e..96ec048 100644 --- a/web/controllers/stat/Stat.py +++ b/web/controllers/stat/Stat.py @@ -1,20 +1,183 @@ # -*- coding: utf-8 -*- -from flask import Blueprint +from flask import Blueprint,request from common.libs.Helper import ops_render +from application import app +from common.libs.Helper import getFormatDate,iPagination,getDictFilterField,selectFilterObj +from common.models.stat.StatDailySite import StatDailySite +from common.models.stat.StatDailyFood import StatDailyFood +from common.models.stat.StatDailyMember import StatDailyMember +from common.models.member.Member import Member +from common.models.food.Food import Food +import datetime + route_stat = Blueprint( 'stat_page',__name__ ) @route_stat.route( "/index" ) def index(): - return ops_render( "stat/index.html" ) + now = datetime.datetime.now() + date_before_30days = now + datetime.timedelta(days=-30) + default_date_from = getFormatDate(date=date_before_30days, format="%Y-%m-%d") + default_date_to = getFormatDate(date=now, format="%Y-%m-%d") + + resp_data = {} + req = request.values + page = int(req['p']) if ('p' in req and req['p']) else 1 + date_from = req['date_from'] if 'date_from' in req else default_date_from + date_to = req['date_to'] if 'date_to' in req else default_date_to + query = StatDailySite.query.filter(StatDailySite.date >= date_from) \ + .filter(StatDailySite.date <= date_to) + + page_params = { + 'total': query.count(), + 'page_size': app.config['PAGE_SIZE'], + 'page': page, + 'display': app.config['PAGE_DISPLAY'], + 'url': request.full_path.replace("&p={}".format(page), "") + } + + pages = iPagination(page_params) + offset = (page - 1) * app.config['PAGE_SIZE'] + + list = query.order_by(StatDailySite.id.desc()).offset( offset ).limit( app.config['PAGE_SIZE'] ).all() + resp_data['list'] = list + resp_data['pages'] = pages + resp_data['current'] = 'index' + resp_data['search_con'] = { + 'date_from':date_from, + 'date_to':date_to + } + return ops_render( "stat/index.html",resp_data ) @route_stat.route( "/food" ) def food(): - return ops_render( "stat/food.html" ) + now = datetime.datetime.now() + date_before_30days = now + datetime.timedelta(days=-30) + default_date_from = getFormatDate(date=date_before_30days, format="%Y-%m-%d") + default_date_to = getFormatDate(date=now, format="%Y-%m-%d") + + resp_data = {} + req = request.values + page = int(req['p']) if ('p' in req and req['p']) else 1 + date_from = req['date_from'] if 'date_from' in req else default_date_from + date_to = req['date_to'] if 'date_to' in req else default_date_to + query = StatDailyFood.query.filter(StatDailyFood.date >= date_from) \ + .filter(StatDailyFood.date <= date_to) + + page_params = { + 'total': query.count(), + 'page_size': app.config['PAGE_SIZE'], + 'page': page, + 'display': app.config['PAGE_DISPLAY'], + 'url': request.full_path.replace("&p={}".format(page), "") + } + + pages = iPagination(page_params) + offset = (page - 1) * app.config['PAGE_SIZE'] + + list = query.order_by(StatDailyFood.id.desc()).offset(offset).limit(app.config['PAGE_SIZE']).all() + date_list = [] + if list: + food_map = getDictFilterField(Food, Food.id, "id", selectFilterObj(list, "food_id")) + for item in list: + tmp_food_info = food_map[item.food_id] if item.food_id in food_map else {} + tmp_data = { + "date": item.date, + "total_count": item.total_count, + "total_pay_money": item.total_pay_money, + 'food_info': tmp_food_info + } + date_list.append(tmp_data) + + resp_data['list'] = date_list + resp_data['pages'] = pages + resp_data['current'] = 'food' + resp_data['search_con'] = { + 'date_from': date_from, + 'date_to': date_to + } + return ops_render( "stat/food.html",resp_data ) @route_stat.route( "/member" ) def memebr(): - return ops_render( "stat/member.html" ) + now = datetime.datetime.now() + date_before_30days = now + datetime.timedelta(days=-30) + default_date_from = getFormatDate(date=date_before_30days, format="%Y-%m-%d") + default_date_to = getFormatDate(date=now, format="%Y-%m-%d") + + resp_data = {} + req = request.values + page = int(req['p']) if ('p' in req and req['p']) else 1 + date_from = req['date_from'] if 'date_from' in req else default_date_from + date_to = req['date_to'] if 'date_to' in req else default_date_to + query = StatDailyMember.query.filter(StatDailyMember.date >= date_from) \ + .filter(StatDailyMember.date <= date_to) + + page_params = { + 'total': query.count(), + 'page_size': app.config['PAGE_SIZE'], + 'page': page, + 'display': app.config['PAGE_DISPLAY'], + 'url': request.full_path.replace("&p={}".format(page), "") + } + + pages = iPagination(page_params) + offset = (page - 1) * app.config['PAGE_SIZE'] + + list = query.order_by(StatDailyMember.id.desc()).offset(offset).limit(app.config['PAGE_SIZE']).all() + date_list = [] + if list: + member_map = getDictFilterField( Member,Member.id,"id",selectFilterObj( list ,"member_id") ) + for item in list: + tmp_member_info = member_map[ item.member_id ] if item.member_id in member_map else {} + tmp_data = { + "date":item.date, + "total_pay_money":item.total_pay_money, + "total_shared_count":item.total_shared_count, + 'member_info':tmp_member_info + } + date_list.append( tmp_data ) + + resp_data['list'] = date_list + resp_data['pages'] = pages + resp_data['current'] = 'member' + resp_data['search_con'] = { + 'date_from': date_from, + 'date_to': date_to + } + return ops_render( "stat/member.html",resp_data ) @route_stat.route( "/share" ) def share(): - return ops_render( "stat/share.html" ) + now = datetime.datetime.now() + date_before_30days = now + datetime.timedelta(days=-30) + default_date_from = getFormatDate(date=date_before_30days, format="%Y-%m-%d") + default_date_to = getFormatDate(date=now, format="%Y-%m-%d") + + resp_data = {} + req = request.values + page = int(req['p']) if ('p' in req and req['p']) else 1 + date_from = req['date_from'] if 'date_from' in req else default_date_from + date_to = req['date_to'] if 'date_to' in req else default_date_to + query = StatDailySite.query.filter(StatDailySite.date >= date_from) \ + .filter(StatDailySite.date <= date_to) + + page_params = { + 'total': query.count(), + 'page_size': app.config['PAGE_SIZE'], + 'page': page, + 'display': app.config['PAGE_DISPLAY'], + 'url': request.full_path.replace("&p={}".format(page), "") + } + + pages = iPagination(page_params) + offset = (page - 1) * app.config['PAGE_SIZE'] + + list = query.order_by(StatDailySite.id.desc()).offset(offset).limit(app.config['PAGE_SIZE']).all() + resp_data['list'] = list + resp_data['pages'] = pages + resp_data['current'] = 'food' + resp_data['search_con'] = { + 'date_from': date_from, + 'date_to': date_to + } + return ops_render( "stat/share.html",resp_data ) diff --git a/web/static/font-awesome/fonts/fontawesome-webfont.eot b/web/static/font-awesome/fonts/fontawesome-webfont.eot index 33b2bb8..e69de29 100644 Binary files a/web/static/font-awesome/fonts/fontawesome-webfont.eot and b/web/static/font-awesome/fonts/fontawesome-webfont.eot differ diff --git a/web/static/font-awesome/fonts/fontawesome-webfont.ttf b/web/static/font-awesome/fonts/fontawesome-webfont.ttf index ed9372f..e69de29 100644 Binary files a/web/static/font-awesome/fonts/fontawesome-webfont.ttf and b/web/static/font-awesome/fonts/fontawesome-webfont.ttf differ diff --git a/web/static/font-awesome/fonts/fontawesome-webfont.woff b/web/static/font-awesome/fonts/fontawesome-webfont.woff index 8b280b9..e69de29 100644 Binary files a/web/static/font-awesome/fonts/fontawesome-webfont.woff and b/web/static/font-awesome/fonts/fontawesome-webfont.woff differ diff --git a/web/static/font-awesome/fonts/fontawesome-webfont.woff2 b/web/static/font-awesome/fonts/fontawesome-webfont.woff2 index 3311d58..e69de29 100644 Binary files a/web/static/font-awesome/fonts/fontawesome-webfont.woff2 and b/web/static/font-awesome/fonts/fontawesome-webfont.woff2 differ diff --git a/web/static/js/chart.js b/web/static/js/chart.js new file mode 100644 index 0000000..473dca3 --- /dev/null +++ b/web/static/js/chart.js @@ -0,0 +1,99 @@ +; +//画图通用组件,虽然估计很难统一,但是总要走出第一步了 +var charts_ops = { + setOption:function(){ + Highcharts.setOptions({ + chart: { + }, + exporting: { + enabled: false + }, + legend: { + //enabled:false + }, + credits:{ + enabled:false + }, + colors:['#058DC7', '#50B432', '#ED561B', '#DDDF00', + '#24CBE5', '#64E572', '#FF9655', '#FFF263', '#6AF9C4','#E93EFF'], + title: '', + xAxis: { + tickWidth:0, + lineWidth: 0, + gridLineColor: '#eee', + //gridLineWidth: 1, + crosshair: { + width: 1, + color: '#ebebeb' + } + }, + yAxis: { + gridLineColor: '#eee', + gridLineWidth: 1, + title: '' + }, + plotOptions: { + column: { + pointPadding: 0.2, + pointWidth: 20, + borderWidth: 0 + }, + series: { + marker: { + enabled: false + }, + }, + line: { + lineWidth: 2, + states: { + hover: { + lineWidth: 2 + } + } + } + }, + tooltip: { + backgroundColor: '#404750', + borderWidth: 0, + shadow: false, + headerFormat: '', + footerFormat: '', + shared: true, + useHTML: true, + style: { + color: '#fff', + padding: '5px' + } + }, + lang: { + noData: "暂无数据" + }, + noData: { + style: { + fontWeight: 'bold', + fontSize: '15px', + color: '#303030' + } + } + }); + }, + drawLine:function( target ,data ){//画直线 + var chart = target.highcharts({ + chart: { + type: 'spline' + }, + xAxis: { + categories: data.categories + }, + series: data.series, + legend: { + enabled:true, + align: 'right', + verticalAlign: 'top', + x: 0, + y: -15 + } + }); + return chart; + } +}; \ No newline at end of file diff --git a/web/static/js/common.js b/web/static/js/common.js index 0e7fd9d..4f9ebb6 100644 --- a/web/static/js/common.js +++ b/web/static/js/common.js @@ -139,7 +139,7 @@ var common_ops = { scrollTop: target.offset().top - 10 }, 100); }, - buildUrl:function( path ,params ){ + buildUrl:function( path ,params ){ var url = "" + path; var _paramUrl = ""; if( params ){ @@ -150,11 +150,11 @@ var common_ops = { } return url + _paramUrl; }, - buildPicUrl:function( img_key ){ + buildPicUrl:function( img_key ){ var domain = $(".hidden_layout_wrap input[name=domain]").val(); var prefix_url = $(".hidden_layout_wrap input[name=prefix_url]").val(); return domain + prefix_url + img_key; - } + } }; $(document).ready( function() { diff --git a/web/static/js/index/index.js b/web/static/js/index/index.js new file mode 100644 index 0000000..204aa8d --- /dev/null +++ b/web/static/js/index/index.js @@ -0,0 +1,28 @@ +; +var dashboard_index_ops = { + init:function(){ + this.drawChart(); + }, + drawChart:function(){ + charts_ops.setOption(); + $.ajax({ + url:common_ops.buildUrl("/chart/dashboard"), + dataType:'json', + success:function( res ){ + charts_ops.drawLine( $('#member_order'),res.data ) + } + }); + + $.ajax({ + url:common_ops.buildUrl("/chart/finance"), + dataType:'json', + success:function( res ){ + charts_ops.drawLine( $('#finance'),res.data ) + } + }); + } +}; + +$(document).ready( function(){ + dashboard_index_ops.init(); +}); \ No newline at end of file diff --git a/web/static/js/stat/index.js b/web/static/js/stat/index.js new file mode 100644 index 0000000..e69de29 diff --git a/web/static/js/stat/member.js b/web/static/js/stat/member.js new file mode 100644 index 0000000..a48c0ef --- /dev/null +++ b/web/static/js/stat/member.js @@ -0,0 +1,34 @@ +; +var stat_member_ops = { + init:function(){ + this.eventBind(); + this.datetimepickerComponent(); + }, + eventBind:function(){ + $("#search_form_wrap .search").click( function(){ + $("#search_form_wrap").submit(); + }); + }, + datetimepickerComponent:function() { + var that = this; + $.datetimepicker.setLocale('zh'); + params = { + scrollInput: false, + scrollMonth: false, + scrollTime: false, + dayOfWeekStart: 1, + lang: 'zh', + todayButton: true,//回到今天 + defaultSelect: true, + defaultDate: new Date().Format('yyyy-MM-dd'), + format: 'Y-m-d',//格式化显示 + timepicker: false + }; + $('#search_form_wrap input[name=date_from]').datetimepicker(params); + $('#search_form_wrap input[name=date_to]').datetimepicker(params); + } +}; + +$(document).ready( function(){ + stat_member_ops.init(); +}); diff --git a/web/static/js/stat/product.js b/web/static/js/stat/product.js new file mode 100644 index 0000000..fa0efee --- /dev/null +++ b/web/static/js/stat/product.js @@ -0,0 +1,34 @@ +; +var stat_product_ops = { + init:function(){ + this.eventBind(); + this.datetimepickerComponent(); + }, + eventBind:function(){ + $("#search_form_wrap .search").click( function(){ + $("#search_form_wrap").submit(); + }); + }, + datetimepickerComponent:function() { + var that = this; + $.datetimepicker.setLocale('zh'); + params = { + scrollInput: false, + scrollMonth: false, + scrollTime: false, + dayOfWeekStart: 1, + lang: 'zh', + todayButton: true,//回到今天 + defaultSelect: true, + defaultDate: new Date().Format('yyyy-MM-dd'), + format: 'Y-m-d',//格式化显示 + timepicker: false + }; + $('#search_form_wrap input[name=date_from]').datetimepicker(params); + $('#search_form_wrap input[name=date_to]').datetimepicker(params); + } +}; + +$(document).ready( function(){ + stat_product_ops.init(); +}); diff --git a/web/static/js/stat/share.js b/web/static/js/stat/share.js new file mode 100644 index 0000000..d10f803 --- /dev/null +++ b/web/static/js/stat/share.js @@ -0,0 +1,46 @@ +; +var stat_share_ops = { + init:function(){ + this.eventBind(); + this.drawChart(); + this.datetimepickerComponent(); + }, + eventBind:function(){ + $("#search_form_wrap .search").click( function(){ + $("#search_form_wrap").submit(); + }); + }, + datetimepickerComponent:function(){ + var that = this; + $.datetimepicker.setLocale('zh'); + params = { + scrollInput: false, + scrollMonth: false, + scrollTime: false, + dayOfWeekStart: 1, + lang: 'zh', + todayButton: true,//回到今天 + defaultSelect: true, + defaultDate: new Date().Format('yyyy-MM-dd'), + format: 'Y-m-d',//格式化显示 + timepicker: false + }; + $('#search_form_wrap input[name=date_from]').datetimepicker(params); + $('#search_form_wrap input[name=date_to]').datetimepicker(params); + + }, + drawChart:function(){ + charts_ops.setOption(); + $.ajax({ + url:common_ops.buildUrl("/chart/share"), + dataType:'json', + success:function( res ){ + charts_ops.drawLine( $('#container'),res.data ) + } + }); + } +}; + +$(document).ready( function(){ + stat_share_ops.init(); +}); diff --git a/web/static/js/user/login.js b/web/static/js/user/login.js index f07f934..3e62306 100644 --- a/web/static/js/user/login.js +++ b/web/static/js/user/login.js @@ -10,6 +10,7 @@ var user_login_ops = { common_ops.alert("正在处理!!请不要重复提交~~"); return; } + var login_name = $(".login_wrap input[name=login_name]").val(); var login_pwd = $(".login_wrap input[name=login_pwd]").val(); diff --git a/web/static/plugins/ueditor/dialogs/wordimage/fClipboard_ueditor.swf b/web/static/plugins/ueditor/dialogs/wordimage/fClipboard_ueditor.swf index ac5d27f..e69de29 100644 Binary files a/web/static/plugins/ueditor/dialogs/wordimage/fClipboard_ueditor.swf and b/web/static/plugins/ueditor/dialogs/wordimage/fClipboard_ueditor.swf differ diff --git a/web/static/plugins/ueditor/dialogs/wordimage/imageUploader.swf b/web/static/plugins/ueditor/dialogs/wordimage/imageUploader.swf index 2a554ca..e69de29 100644 Binary files a/web/static/plugins/ueditor/dialogs/wordimage/imageUploader.swf and b/web/static/plugins/ueditor/dialogs/wordimage/imageUploader.swf differ diff --git a/web/static/plugins/ueditor/third-party/video-js/font/vjs.eot b/web/static/plugins/ueditor/third-party/video-js/font/vjs.eot index a075c19..e69de29 100644 Binary files a/web/static/plugins/ueditor/third-party/video-js/font/vjs.eot and b/web/static/plugins/ueditor/third-party/video-js/font/vjs.eot differ diff --git a/web/static/plugins/ueditor/third-party/video-js/font/vjs.ttf b/web/static/plugins/ueditor/third-party/video-js/font/vjs.ttf index eb24637..e69de29 100644 Binary files a/web/static/plugins/ueditor/third-party/video-js/font/vjs.ttf and b/web/static/plugins/ueditor/third-party/video-js/font/vjs.ttf differ diff --git a/web/static/plugins/ueditor/third-party/video-js/font/vjs.woff b/web/static/plugins/ueditor/third-party/video-js/font/vjs.woff index c3f0f1d..e69de29 100644 Binary files a/web/static/plugins/ueditor/third-party/video-js/font/vjs.woff and b/web/static/plugins/ueditor/third-party/video-js/font/vjs.woff differ diff --git a/web/static/plugins/ueditor/third-party/video-js/video-js.swf b/web/static/plugins/ueditor/third-party/video-js/video-js.swf index eef460a..e69de29 100644 Binary files a/web/static/plugins/ueditor/third-party/video-js/video-js.swf and b/web/static/plugins/ueditor/third-party/video-js/video-js.swf differ diff --git a/web/static/plugins/ueditor/third-party/webuploader/Uploader.swf b/web/static/plugins/ueditor/third-party/webuploader/Uploader.swf index 7c37835..e69de29 100644 Binary files a/web/static/plugins/ueditor/third-party/webuploader/Uploader.swf and b/web/static/plugins/ueditor/third-party/webuploader/Uploader.swf differ diff --git a/web/static/plugins/ueditor/third-party/zeroclipboard/ZeroClipboard.swf b/web/static/plugins/ueditor/third-party/zeroclipboard/ZeroClipboard.swf index ed1c9d2..e69de29 100644 Binary files a/web/static/plugins/ueditor/third-party/zeroclipboard/ZeroClipboard.swf and b/web/static/plugins/ueditor/third-party/zeroclipboard/ZeroClipboard.swf differ diff --git a/web/templates/account/index.html b/web/templates/account/index.html index 308163e..79eebd0 100644 --- a/web/templates/account/index.html +++ b/web/templates/account/index.html @@ -9,16 +9,15 @@
- - + +
- +
@@ -81,9 +80,7 @@ {% endif %}
序号
- - {% include 'common/pagenation.html' %} diff --git a/web/templates/account/set.html b/web/templates/account/set.html index 33cdd1b..a62386f 100644 --- a/web/templates/account/set.html +++ b/web/templates/account/set.html @@ -8,28 +8,28 @@
- +
- +
- +
- +
@@ -42,7 +42,7 @@
- +
diff --git a/web/templates/food/index.html b/web/templates/food/index.html index c6b6399..4306b65 100644 --- a/web/templates/food/index.html +++ b/web/templates/food/index.html @@ -59,7 +59,7 @@ {% for item in list %} {{ item.name }} - {{ cat_mapping[ item.cat_id].name }} + {{ item.name }} {{ item.price }} {{ item.stock }} {{ item.tags }} diff --git a/web/templates/index/index.html b/web/templates/index/index.html index 81dba36..d86c942 100644 --- a/web/templates/index/index.html +++ b/web/templates/index/index.html @@ -9,8 +9,8 @@
营收概况
-

1005.00

- 近30日:31177.00 +

{{ data.finance.today }}

+ 近30日:{{ data.finance.month }}
@@ -21,8 +21,8 @@
订单
-

988

- 近30日:29383 +

{{ data.order.today }}

+ 近30日:{{ data.order.today }}
@@ -33,9 +33,9 @@
会员
-

358

- 今日新增:77 - 近30日新增:2454 +

{{ data.member.total }}

+ 今日新增:{{ data.member.today_new }} + 近30日新增:{{ data.member.month_new }}
@@ -46,8 +46,8 @@
分享
-

1250

- 近30日:45980 +

{{ data.shared.today }}

+ 近30日:{{ data.shared.month }}
@@ -61,4 +61,9 @@ +{% endblock %} +{% block js %} + + + {% endblock %} \ No newline at end of file diff --git a/web/templates/member/comment.html b/web/templates/member/comment.html index e74c153..814bf1b 100644 --- a/web/templates/member/comment.html +++ b/web/templates/member/comment.html @@ -1,19 +1,6 @@ {% extends "common/layout_main.html" %} {% block content %} -
-
-
- -
-
-
+{% include "common/tab_member.html" %}
@@ -27,27 +14,29 @@ + {% if list %} + {% for item in list %} + - - - + + + {% endfor %} + {% else %} + + {% endif %}
- image + image {{ item.member_info.nickname }} - 编程浪子 + {% for item_food in item.foods %} + {{ item_food.name }}、 + {% endfor %} 小鸡炖蘑菇非常愉快的订餐服务8{{ item.content }}{{ item.score }}
暂无数据
-
-
- 共1条记录 | 每页50条 -
    -
  • 1
  • -
-
-
+ + {% include 'common/pagenation.html' %}
{% endblock %} diff --git a/web/templates/member/index.html b/web/templates/member/index.html index 5c34ef2..b7d4688 100644 --- a/web/templates/member/index.html +++ b/web/templates/member/index.html @@ -1,19 +1,6 @@ {% extends "common/layout_main.html" %} {% block content %} -
-
-
- -
-
-
+{% include "common/tab_member.html" %}
- +
{% endblock %} -{% block js %} +{% block js %} {% endblock %} + diff --git a/web/templates/member/info.html b/web/templates/member/info.html index 84c8feb..af563c0 100644 --- a/web/templates/member/info.html +++ b/web/templates/member/info.html @@ -1,25 +1,12 @@ {% extends "common/layout_main.html" %} {% block content %} -
-
-
- -
-
-
+{% include "common/tab_member.html" %}
- {% if info.status ==1 %} + {% if info.status == 1 %} 编辑 @@ -67,9 +54,18 @@ + {% if pay_order_list %} + {% for item in pay_order_list %} - 暂无订单 + {{ item.order_number }} + {{ item.pay_time }} + {{ item.total_price }} + {{ item.status_desc }} + {% endfor %} + {% else %} + 暂无订单 + {% endif %}
@@ -85,10 +81,17 @@ + {% if comment_list %} + {% for item in comment_list %} - 暂无评论 + {{ item.created_time }} + {{ item.score }} + {{ item.content }} - + {% endfor %} + {% else %} + 暂无评论 + {% endif %}
diff --git a/web/templates/member/set.html b/web/templates/member/set.html index 66fd19b..c006dd9 100644 --- a/web/templates/member/set.html +++ b/web/templates/member/set.html @@ -1,19 +1,6 @@ {% extends "common/layout_main.html" %} {% block content %} -
-
-
- -
-
-
+{% include "common/tab_member.html" %}

会员设置

diff --git a/web/templates/stat/food.html b/web/templates/stat/food.html index 4378f5d..d150006 100644 --- a/web/templates/stat/food.html +++ b/web/templates/stat/food.html @@ -1,33 +1,13 @@ {% extends "common/layout_main.html" %} {% block content %} -
-
- -
-
+{% include "common/tab_stat.html" %}
- +
@@ -35,7 +15,7 @@
- +
@@ -54,19 +34,29 @@ + {% if list %} + {% for item in list %} - 暂无数据 + {{ item.date }} + {{ item.food_info.name }} + {{ item.total_count }} + {{ item.total_pay_money }} + {% endfor %} + {% else %} + 暂无数据~~ + {% endif %} -
-
- 共0条记录 | 每页50条 -
    -
  • 1
  • -
-
-
+ + {% include 'common/pagenation.html' %}
+{% endblock %} +{% block css %} + +{% endblock %} +{% block js %} + + {% endblock %} \ No newline at end of file diff --git a/web/templates/stat/index.html b/web/templates/stat/index.html index 425c8f8..adaedab 100644 --- a/web/templates/stat/index.html +++ b/web/templates/stat/index.html @@ -1,25 +1,6 @@ {% extends "common/layout_main.html" %} {% block content %} -
-
- -
-
+{% include "common/tab_stat.html" %}
图标使用Highchart @@ -29,8 +10,7 @@
- +
@@ -38,7 +18,7 @@
- +
@@ -55,20 +35,29 @@ + {% if list %} + {% for item in list %} - 2018-06-07 - 1007.00 + {{ item.date }} + {{ item.total_pay_money }} + {% endfor %} + {% else %} + 暂无数据~~ + {% endif %} -
-
- 共1条记录 | 每页50条 -
    -
  • 1
  • -
-
-
+ + {% include 'common/pagenation.html' %}
+{% endblock %} +{% block css %} + +{% endblock %} +{% block js %} + + + + {% endblock %} \ No newline at end of file diff --git a/web/templates/stat/member.html b/web/templates/stat/member.html index 2cdf576..ff252dd 100644 --- a/web/templates/stat/member.html +++ b/web/templates/stat/member.html @@ -1,33 +1,13 @@ {% extends "common/layout_main.html" %} {% block content %} -
-
- -
-
+{% include "common/tab_stat.html" %}
- +
@@ -35,7 +15,7 @@
- +
@@ -54,25 +34,29 @@ + {% if list %} + {% for item in list %} - 2018-06-07 - - 编程浪子 - - 1003.00 - 57 + {{ item.date }} + {{ item.member_info.nickname }} + {{ item.total_pay_money }} + {{ item.total_shared_count }} + {% endfor %} + {% else %} + 暂无数据~~ + {% endif %} -
-
- 共1条记录 | 每页50条 -
    -
  • 1
  • -
-
-
+ {% include 'common/pagenation.html' %}
+{% endblock %} +{% block css %} + +{% endblock %} +{% block js %} + + {% endblock %} \ No newline at end of file diff --git a/web/templates/stat/share.html b/web/templates/stat/share.html index c6eb0a3..366bffa 100644 --- a/web/templates/stat/share.html +++ b/web/templates/stat/share.html @@ -1,25 +1,6 @@ {% extends "common/layout_main.html" %} {% block content %} -
-
- -
-
+{% include "common/tab_stat.html" %}
图标使用Highchart @@ -29,7 +10,7 @@
- +
@@ -37,7 +18,7 @@
- +
@@ -54,20 +35,29 @@ + {% if list %} + {% for item in list %} - 2018-06-07 - 1839 + {{ item.date }} + {{ item.total_shared_count }} + {% endfor %} + {% else %} + 暂无数据~~ + {% endif %} -
-
- 共1条记录 | 每页50条 -
    -
  • 1
  • -
-
-
+ + {% include 'common/pagenation.html' %}
+{% endblock %} +{% block css %} + +{% endblock %} +{% block js %} + + + + {% endblock %} \ No newline at end of file diff --git a/web/templates/user/edit.html b/web/templates/user/edit.html index 87c7969..c22bd27 100644 --- a/web/templates/user/edit.html +++ b/web/templates/user/edit.html @@ -9,7 +9,7 @@
+ value="{{ current_user.mobile }}">
@@ -17,7 +17,8 @@
-
+ +
@@ -38,5 +39,6 @@
{% endblock %} {% block js %} - + {% endblock %} + diff --git a/web/templates/user/login.html b/web/templates/user/login.html index 22512b4..4a05ff0 100644 --- a/web/templates/user/login.html +++ b/web/templates/user/login.html @@ -1,46 +1,54 @@ {% extends "common/layout_user.html" %} {% block content %} -
-
- -
-

{{ config.SEO_TITLE }}

-

- -

-

- 扫描关注查看Demo -

-
-
-
- +
+
+ +
+
+
+
+
+
+ {{ config.SEO_TITLE }} 技术支持 +
+
+ © 2018 +
+
+
{% endblock %} {% block js %} - + {% endblock %} -