dicttype.py 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. from datetime import datetime
  2. from flask_login import current_user
  3. from ..base import base
  4. from ..models import DictData, DictType
  5. from flask import render_template, request, jsonify
  6. from sqlalchemy import asc
  7. from sqlalchemy import desc
  8. from .. import db
  9. from flask_login import login_required
  10. from .. import permission
  11. @base.route('/system/dict/type/list', methods=['GET'])
  12. @login_required
  13. @permission('system:dict:list')
  14. def sysdict_type_list():
  15. filters = []
  16. if 'dictName' in request.args:
  17. filters.append(DictType.dict_name.like('%' + request.args['dictName'] + '%'))
  18. if 'dictType' in request.args:
  19. filters.append(DictType.dict_type.like('%' + request.args['dictType'] + '%'))
  20. if 'status' in request.args:
  21. filters.append(DictType.status == request.args['status'])
  22. if 'params[beginTime]' in request.args and 'params[endTime]' in request.args:
  23. filters.append(DictType.create_time > request.args['params[beginTime]'])
  24. filters.append(DictType.create_time < request.args['params[endTime]'])
  25. page = request.args.get('pageNum', 1, type=int)
  26. rows = request.args.get('pageSize', 10, type=int)
  27. pagination = DictType.query.filter(*filters).paginate(
  28. page=page, per_page=rows, error_out=False)
  29. types = pagination.items
  30. return jsonify({'msg': '操作成功', 'code': 200, 'rows': [type.to_json() for type in types], 'total': pagination.total})
  31. @base.route('/system/dict/type/<id>', methods=['GET'])
  32. @login_required
  33. @permission('system:dict:query')
  34. def sysdict_type_get_by_id(id):
  35. type = DictType.query.get(id)
  36. return jsonify({'msg': '操作成功', 'code': 200, 'data': type.to_json()})
  37. @base.route('/system/dict/type', methods=['POST'])
  38. @login_required
  39. @permission('system:dict:add')
  40. def sysdict_type_add():
  41. dictType = DictType()
  42. if 'dictName' in request.json: dictType.dict_name = request.json['dictName']
  43. if 'status' in request.json: dictType.status = request.json['status']
  44. if 'remark' in request.json: dictType.remark = request.json['remark']
  45. if 'dictType' in request.json: dictType.dict_type = request.json['dictType']
  46. dictType.create_time = datetime.now()
  47. dictType.create_by = current_user.NAME
  48. dictType.update_time = datetime.now()
  49. dictType.update_by = current_user.NAME
  50. db.session.add(dictType)
  51. return jsonify({'code': 200, 'msg': '操作成功'})
  52. @base.route('/system/dict/type', methods=['PUT'])
  53. @login_required
  54. @permission('system:dict:edit')
  55. def sysdict_type_update():
  56. dictType = DictType.query.get(request.json['dictId'])
  57. if 'dictName' in request.json: dictType.dict_name = request.json['dictName']
  58. if 'status' in request.json: dictType.status = request.json['status']
  59. if 'remark' in request.json: dictType.remark = request.json['remark']
  60. if 'dictType' in request.json: dictType.dict_type = request.json['dictType']
  61. dictType.update_time = datetime.now()
  62. dictType.update_by = current_user.NAME
  63. db.session.add(dictType)
  64. return jsonify({'msg': '操作成功', 'code': 200})
  65. @base.route('/system/dict/type/<string:ids>', methods=['DELETE'])
  66. @login_required
  67. @permission('system:dict:remove')
  68. def sytype_delete(ids):
  69. idList = ids.split(',')
  70. for id in idList:
  71. dictType = DictType.query.get(id)
  72. if dictType:
  73. db.session.delete(dictType)
  74. return jsonify({'code': 200, 'msg': '操作成功'})
  75. @base.route('/system/dict/type/optionselect', methods=['GET'])
  76. @login_required
  77. def sysdict_type_all():
  78. types = DictData.query.all()
  79. return jsonify({'msg': '操作成功', 'code': 200, 'data': [type.to_json() for type in types]})