diff --git a/inventory-backend/app/api/v1/common/print.py b/inventory-backend/app/api/v1/common/print.py index efd20e9..8dd86c6 100644 --- a/inventory-backend/app/api/v1/common/print.py +++ b/inventory-backend/app/api/v1/common/print.py @@ -1,6 +1,7 @@ # app/api/v1/common/print.py from flask import Blueprint, request, jsonify from app.services.print.label_service import LabelPrintService +from app.services.print.print_config import PrintConfigManager from app.models.inbound.buy import StockBuy # 引入其他模型 StockSemi, StockProduct import traceback @@ -24,4 +25,25 @@ def execute_print(): LabelPrintService.send_to_printer(data) return jsonify({"code": 200, "msg": "指令已发送至打印机"}) except Exception as e: - return jsonify({"code": 500, "msg": str(e)}), 500 \ No newline at end of file + return jsonify({"code": 500, "msg": str(e)}), 500 + + +@print_bp.route('/config', methods=['GET']) +def get_printer_config(): + try: + label = PrintConfigManager.get_config('label_printer') + network = PrintConfigManager.get_config('network_printer') + config = {'label_printer': label, 'network_printer': network} + return jsonify({"code": 200, "msg": "success", "data": config}) + except Exception as e: + return jsonify({"code": 500, "msg": str(e)}), 500 + + +@print_bp.route('/config', methods=['POST']) +def update_printer_config(): + try: + data = request.get_json() + PrintConfigManager.save_config(data) + return jsonify({"code": 200, "msg": "配置保存成功"}) + except Exception as e: + return jsonify({"code": 500, "msg": str(e)}), 500 diff --git a/inventory-web/src/api/common/print.ts b/inventory-web/src/api/common/print.ts index 00b74ee..409e98a 100644 --- a/inventory-web/src/api/common/print.ts +++ b/inventory-web/src/api/common/print.ts @@ -14,4 +14,19 @@ export function executePrint(data: any) { method: 'post', data }) -} \ No newline at end of file +} + +export function getPrinterConfig() { + return request({ + url: '/common/print/config', + method: 'get' + }) +} + +export function updatePrinterConfig(data: any) { + return request({ + url: '/common/print/config', + method: 'post', + data + }) +}