123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- from ..base import base
- from ..models import OnLine
- from flask import render_template, request, jsonify
- from sqlalchemy import asc
- from sqlalchemy import desc
- import flask_excel as excel
- @base.route('/securityJsp/base/Syonline.jsp', methods=['GET'])
- def index_online():
- return render_template('online/index.html')
- @base.route('/base/syonline!grid.action', methods=['POST'])
- def grid_online():
- filters = []
- if request.form.get('loginname'):
- filters.append(OnLine.LOGINNAME.like('%' + request.form.get('loginname') + '%'))
- if request.form.get('ip'):
- filters.append(OnLine.NAME.like('%' + request.form.get('ip') + '%'))
- if request.form.get('type'):
- filters.append(OnLine.TYPE == request.form.get('type'))
- if request.form.get('createdatetime1') and request.form.get('createdatetime2'):
- filters.append(OnLine.CREATEDATETIME > request.form.get('createdatetime1'))
- filters.append(OnLine.CREATEDATETIME < request.form.get('createdatetime2'))
- order_by = []
- if request.form.get('sort'):
- if request.form.get('order') == 'asc':
- order_by.append(asc(getattr(OnLine,request.form.get('sort').upper())))
- elif request.form.get('order') == 'desc':
- order_by.append(desc(getattr(OnLine,request.form.get('sort').upper())))
- else:
- order_by.append(getattr(OnLine,request.form.get('sort').upper()))
- page = request.form.get('page', 1, type=int)
- rows = request.form.get('rows', 10, type=int)
- pagination = OnLine.query.filter(*filters).order_by(*order_by).paginate(
- page, per_page=rows, error_out=False)
- onlines = pagination.items
- return jsonify({'total': OnLine.query.count(), 'rows': [online.to_json() for online in onlines]})
- @base.route('/base/syonline!export.action', methods=['POST'])
- def online_export():
- rows = []
- rows.append(['登录名', 'IP地址', '创建时间', '类别'])
- onlines = OnLine.query.all()
- for online in onlines:
- row = []
- row.append(online.LOGINNAME)
- row.append(online.IP)
- row.append(online.CREATEDATETIME)
- if online.TYPE == '0':
- row.append('注销系统')
- elif online.TYPE == '1':
- row.append('登录系统')
- rows.append(row)
- return excel.make_response_from_array(rows, "csv",
- file_name="online")
|