dictdata.py 3.6 KB

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