diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 0ed030a..7ac090a 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -2,13 +2,11 @@
-
+
-
-
-
-
-
+
+
+
@@ -18,64 +16,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
@@ -102,7 +104,7 @@
-
+
@@ -132,13 +134,14 @@
请输入姓名
getRequestHeader
regFlag
+ page_params
ops_render
-
+
-
@@ -183,13 +185,16 @@
-
+
+
+
+
@@ -203,8 +208,8 @@
-
-
+
+
@@ -214,6 +219,7 @@
+
@@ -264,24 +270,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -293,6 +281,13 @@
+
+
+
+
+
+
+
@@ -300,6 +295,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -313,13 +364,12 @@
-
-
+
@@ -329,18 +379,18 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
1564564379831
-
+
+ 1564569007474
+
+
+
+ 1564569007474
+
+
@@ -456,7 +513,8 @@
-
+
+
@@ -497,40 +555,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -597,17 +621,6 @@
-
-
-
-
-
-
-
-
-
-
-
@@ -678,16 +691,6 @@
-
-
-
-
-
-
-
-
-
-
@@ -715,13 +718,6 @@
-
-
-
-
-
-
-
@@ -777,13 +773,6 @@
-
-
-
-
-
-
-
@@ -794,27 +783,37 @@
-
+
+
+
+
-
-
+
+
-
+
-
-
+
+
+
+
+
+
+
+
+
-
+
-
+
-
-
+
+
@@ -825,18 +824,22 @@
-
+
-
-
+
+
-
+
-
-
+
+
+
+
+
+
@@ -847,27 +850,78 @@
-
+
-
+
-
-
-
-
-
-
-
-
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/common/models/member/Member.py b/common/models/member/Member.py
index 309b209..52ee973 100644
--- a/common/models/member/Member.py
+++ b/common/models/member/Member.py
@@ -1,7 +1,7 @@
# coding: utf-8
from sqlalchemy import Column, DateTime, Integer, String
from sqlalchemy.schema import FetchedValue
-from application import db
+from application import app,db
class Member(db.Model):
@@ -17,3 +17,17 @@ class Member(db.Model):
status = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
updated_time = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue())
created_time = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue())
+
+
+ @property
+ def status_desc(self):
+ return app.config['STATUS_MAPPING'][ str( self.status ) ]
+
+ @property
+ def sex_desc(self):
+ sex_mapping = {
+ "0":"未知",
+ "1":"男",
+ "2":"女"
+ }
+ return sex_mapping[str(self.sex)]
\ No newline at end of file
diff --git a/web/controllers/member/Member.py b/web/controllers/member/Member.py
index 4bb6bc6..3da45ca 100644
--- a/web/controllers/member/Member.py
+++ b/web/controllers/member/Member.py
@@ -1,15 +1,59 @@
# -*- coding: utf-8 -*-
-from flask import Blueprint
-from common.libs.Helper import ops_render
+from flask import Blueprint,redirect,request
+from common.libs.Helper import ops_render,iPagination
+from common.libs.UrlManager import UrlManager
+from common.models.member.Member import Member
+from application import app,db
route_member = Blueprint( 'member_page',__name__ )
@route_member.route( "/index" )
def index():
- return ops_render( "member/index.html" )
+ resp_data = {}
+ req = request.values
+ page = int( req['p'] ) if ( 'p' in req and req['p'] ) else 1
+ query = Member.query
+ if 'mix_kw' in req:
+ query = query.filter(Member.nickname.ilike("%{0}%".format(req['mix_kw'])))
+
+ if 'status' in req and int(req['status']) > -1:
+ query = query.filter(Member.status == int(req['status']))
+
+ 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(Member.id.desc()).offset(offset).limit(app.config['PAGE_SIZE']).all()
+
+ resp_data['list'] = list
+ resp_data['pages'] = pages
+ resp_data['search_con'] = req
+ resp_data['status_mapping'] = app.config['STATUS_MAPPING']
+ resp_data['current'] = 'index'
+ return ops_render("member/index.html", resp_data)
@route_member.route( "/info" )
def info():
- return ops_render( "member/info.html" )
+ resp_data = {}
+ req = request.args
+ id = int(req.get("id", 0))
+ reback_url = UrlManager.buildUrl("/member/index")
+ if id < 1:
+ return redirect(reback_url)
+
+ info = Member.query.filter_by(id=id).first()
+ if not info:
+ return redirect(reback_url)
+
+ resp_data['info'] = info
+
+ resp_data['current'] = 'index'
+ return ops_render("member/info.html", resp_data)
@route_member.route( "/set" )
def set():
diff --git a/web/static/js/member/index.js b/web/static/js/member/index.js
new file mode 100644
index 0000000..2417776
--- /dev/null
+++ b/web/static/js/member/index.js
@@ -0,0 +1,51 @@
+;
+var member_index_ops = {
+ init:function(){
+ this.eventBind();
+ },
+ eventBind:function(){
+ var that = this;
+ $(".wrap_search .search").click(function(){
+ $(".wrap_search").submit();
+ });
+
+ $(".remove").click( function(){
+ that.ops( "remove",$(this).attr("data") );
+ } );
+
+ $(".recover").click( function(){
+ that.ops( "recover",$(this).attr("data") );
+ } );
+ },
+ ops:function( act,id ){
+ var callback = {
+ 'ok':function(){
+ $.ajax({
+ url:common_ops.buildUrl( "/account/ops" ),
+ type:'POST',
+ data:{
+ act:act,
+ id:id
+ },
+ dataType:'json',
+ success:function( res ){
+ var callback = null;
+ if( res.code == 200 ){
+ callback = function(){
+ window.location.href = window.location.href;
+ }
+ }
+ common_ops.alert( res.msg,callback );
+ }
+ });
+ },
+ 'cancel':null
+ };
+ common_ops.confirm( ( act == "remove" ? "确定删除?":"确定恢复?" ), callback );
+ }
+
+};
+
+$(document).ready( function(){
+ member_index_ops.init();
+} );
\ No newline at end of file
diff --git a/web/templates/member/index.html b/web/templates/member/index.html
index 2bf8e55..8e55633 100644
--- a/web/templates/member/index.html
+++ b/web/templates/member/index.html
@@ -21,13 +21,15 @@
{% endblock %}
+{% block js %}
+
+{% endblock %}
diff --git a/web/templates/member/info.html b/web/templates/member/info.html
index 72cd3b0..400d02d 100644
--- a/web/templates/member/info.html
+++ b/web/templates/member/info.html
@@ -19,7 +19,7 @@
-
+
编辑
会员信息
@@ -28,12 +28,12 @@
-
-
姓名:编程浪子
-
性别:未填写
+
姓名:{{ info.nickname }}
+
性别:{{ info.sex_desc }}