dicttype.py 3.4 KB

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