diff --git a/xuexiao/instance/student_course.db b/xuexiao/instance/student_course.db index 2666fd3..966bf3f 100644 Binary files a/xuexiao/instance/student_course.db and b/xuexiao/instance/student_course.db differ diff --git a/xuexiao/routes/consumption.py b/xuexiao/routes/consumption.py index f338ef3..e62d4c4 100644 --- a/xuexiao/routes/consumption.py +++ b/xuexiao/routes/consumption.py @@ -11,6 +11,23 @@ import business_rules as rules def register_routes(app): + @app.route('/api/students/search', endpoint='api_student_search') + @login_required + def api_student_search(): + """学员搜索API""" + keyword = request.args.get('q', '') + if len(keyword) < 1: + return {'data': []} + + # 直接搜索学员,不受权限限制 + students = Student.query.filter( + Student.name.contains(keyword), + Student.status == 1 + ).limit(20).all() + + results = [{'id': s.id, 'name': s.name} for s in students] + return {'data': results} + @app.route('/consumptions', endpoint='consumption_list') @login_required @permission_required('consumption_view') diff --git a/xuexiao/templates/consumption_form.html b/xuexiao/templates/consumption_form.html index f8bc2fd..e52ce8a 100644 --- a/xuexiao/templates/consumption_form.html +++ b/xuexiao/templates/consumption_form.html @@ -22,12 +22,14 @@ {% else %}
- +
+ + + +
+
@@ -101,6 +103,79 @@