123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- from datetime import datetime
- from flask_login import current_user
- from ..base import base
- from ..models import Config
- from flask import render_template, request, jsonify
- from sqlalchemy import asc
- from sqlalchemy import desc
- from .. import db
- from flask_login import login_required
- import flask_excel as excel
- from .. import permission
- @base.route('/system/config/configKey/<configKey>', methods=['GET'])
- @login_required
- def sysconfig_get_value(configKey):
- data = Config.query.filter(Config.config_key == configKey).first()
- return jsonify({'code': 200, 'msg': data.config_value})
- @base.route('/system/config/list', methods=['GET'])
- @login_required
- @permission('system:config:list')
- def sys_config_list():
- filters = []
- if 'configName' in request.args:
- filters.append(Config.config_name.like('%' + request.args['configName'] + '%'))
- if 'configKey' in request.args:
- filters.append(Config.config_key.like('%' + request.args['configKey'] + '%'))
- if 'configType' in request.args:
- filters.append(Config.config_type.like('%' + request.args['configType'] + '%'))
- if 'params[beginTime]' in request.args and 'params[endTime]' in request.args:
- filters.append(Config.create_time > request.args['params[beginTime]'])
- filters.append(Config.create_time < request.args['params[endTime]'])
- page = request.args.get('pageNum', 1, type=int)
- rows = request.args.get('pageSize', 10, type=int)
- pagination = Config.query.filter(*filters).paginate(page=page, per_page=rows, error_out=False)
- config_list = pagination.items
- return jsonify({'msg': '操作成功', 'code': 200, 'rows': [config.to_json() for config in config_list], 'total': pagination.total})
- @base.route('/system/config/<id>', methods=['GET'])
- @login_required
- @permission('system:config:query')
- def sysconfig_get_by_id(id):
- config = Config.query.get(id)
- return jsonify({'msg': '操作成功', 'code': 200, 'data': config.to_json()})
- @base.route('/system/config', methods=['POST'])
- @login_required
- @permission('system:config:add')
- def sysconfig_add():
- config = Config()
- if 'configKey' in request.json: config.config_key = request.json['configKey']
- if 'configName' in request.json: config.config_name = request.json['configName']
- if 'configType' in request.json: config.config_type = request.json['configType']
- if 'configValue' in request.json: config.config_value = request.json['configValue']
- if 'remark' in request.json: config.remark = request.json['remark']
-
- config.create_time = datetime.now()
- config.create_by = current_user.NAME
- db.session.add(config)
- return jsonify({'code': 200, 'msg': '操作成功'})
- @base.route('/system/config', methods=['PUT'])
- @login_required
- @permission('system:config:edit')
- def sysconfig_update():
- config = Config.query.get(request.json['configId'])
- if 'configKey' in request.json: config.config_key = request.json['configKey']
- if 'configName' in request.json: config.config_name = request.json['configName']
- if 'configType' in request.json: config.config_type = request.json['configType']
- if 'configValue' in request.json: config.config_value = request.json['configValue']
- if 'remark' in request.json: config.remark = request.json['remark']
- config.UPDATEDATETIME = datetime.now()
- config.update_by = current_user.NAME
- db.session.add(config)
- return jsonify({'msg': '操作成功', 'code': 200})
- @base.route('/system/config/<string:ids>', methods=['DELETE'])
- @login_required
- @permission('system:config:remove')
- def syconfig_delete(ids):
- idList = ids.split(',')
- for id in idList:
- config = Config.query.get(id)
- if config:
- db.session.delete(config)
- return jsonify({'code': 200, 'msg': '操作成功'})
- @base.route('/system/config/export', methods=['POST'])
- @login_required
- @permission('system:config:export')
- def config_export():
- rows = []
- rows.append(['参数主键', '参数名称', '参数键名', '参数键值', '系统内置', '备注', '创建时间'])
- configs = Config.query.all()
- for config in configs:
- row = []
- row.append(config.config_id)
- row.append(config.config_name)
- row.append(config.config_key)
- row.append(config.config_value)
- if config.config_type == 'Y':
- row.append('是')
- elif config.config_type == 'N':
- row.append('否')
- row.append(config.remark)
- row.append(config.create_time)
- rows.append(row)
- return excel.make_response_from_array(rows, "xlsx",
- file_name="config")
|