From ffafa635bb8d679ddb19b9e0c09d1133369feef0 Mon Sep 17 00:00:00 2001 From: yueli Date: Fri, 10 Jul 2026 10:52:23 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=B0=86=E4=BA=A7=E5=93=81=E5=9B=BE/?= =?UTF-8?q?=E8=AF=B4=E6=98=8E=E4=B9=A6=E5=A4=87=E6=B3=A8=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E4=BB=8EJSON=E6=95=B0=E7=BB=84=E4=B8=AD=E5=88=86=E7=A6=BB?= =?UTF-8?q?=E4=B8=BA=E7=8B=AC=E7=AB=8B=E6=95=B0=E6=8D=AE=E5=BA=93=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 数据库新增 product_image_remark 和 manual_link_remark 两个TEXT列 - 备注文字不再与上传文件URL混存在 generalImage/generalManual JSON数组中 - 前端输入框改为textarea,绑定独立的备注字段 - 修复 handlePasteLink 忽略field参数的bug - 新增 isInternalFile 辅助函数,用于区分上传文件与纯文本 - 同步修改 list.vue 和 buyOdoo.vue 两个页面 --- inventory-backend/app/models/base.py | 6 ++ .../app/services/inbound/base_service.py | 5 ++ inventory-web/src/views/material/buyOdoo.vue | 52 ++++++++-------- inventory-web/src/views/material/list.vue | 60 ++++++++----------- 4 files changed, 61 insertions(+), 62 deletions(-) diff --git a/inventory-backend/app/models/base.py b/inventory-backend/app/models/base.py index 37e3674..8c95474 100644 --- a/inventory-backend/app/models/base.py +++ b/inventory-backend/app/models/base.py @@ -29,6 +29,10 @@ class MaterialBase(db.Model): manual_link = db.Column(db.Text, comment='通用说明书') product_image = db.Column(db.Text, comment='通用产品图') + # 备注字段(纯文本,与文件 URL 分离存储) + product_image_remark = db.Column(db.Text, default='', comment='产品图备注') + manual_link_remark = db.Column(db.Text, default='', comment='说明书备注') + # 启用状态 is_enabled = db.Column(db.Boolean, default=True, comment='是否启用') @@ -86,6 +90,8 @@ class MaterialBase(db.Model): 'visibilityLevel': self.visibility_level, 'generalManual': parse_list(self.manual_link), 'generalImage': parse_list(self.product_image), + 'productImageRemark': self.product_image_remark or '', + 'manualLinkRemark': self.manual_link_remark or '', # 【核心修改】:直接返回布尔值,不再转成 1 或 0 'isEnabled': bool(self.is_enabled), # 强制质检标记 diff --git a/inventory-backend/app/services/inbound/base_service.py b/inventory-backend/app/services/inbound/base_service.py index c3e28f0..111b336 100644 --- a/inventory-backend/app/services/inbound/base_service.py +++ b/inventory-backend/app/services/inbound/base_service.py @@ -580,6 +580,8 @@ class MaterialBaseService: visibility_level=data.get('visibilityLevel'), manual_link=json.dumps(data.get('generalManual', [])), product_image=json.dumps(data.get('generalImage', [])), + product_image_remark=data.get('productImageRemark', ''), + manual_link_remark=data.get('manualLinkRemark', ''), is_enabled=is_enabled_val ) db.session.add(new_material) @@ -623,6 +625,9 @@ class MaterialBaseService: if 'unit' in data: material.unit = data['unit'] if 'visibilityLevel' in data: material.visibility_level = data['visibilityLevel'] + if 'productImageRemark' in data: material.product_image_remark = data['productImageRemark'] + if 'manualLinkRemark' in data: material.manual_link_remark = data['manualLinkRemark'] + if 'generalManual' in data: material.manual_link = json.dumps(data['generalManual']) if 'generalImage' in data: diff --git a/inventory-web/src/views/material/buyOdoo.vue b/inventory-web/src/views/material/buyOdoo.vue index 7eba2a5..389edc0 100644 --- a/inventory-web/src/views/material/buyOdoo.vue +++ b/inventory-web/src/views/material/buyOdoo.vue @@ -510,13 +510,13 @@ - - + />
支持将鼠标悬停于虚线框内通过 Ctrl+V 粘贴图片快速上传
@@ -564,13 +564,13 @@ - - + />
支持将鼠标悬停于虚线框内通过 Ctrl+V 粘贴图片快速上传
@@ -674,7 +674,7 @@