针对于上传图片以及借库还库和出库选单进行更改
This commit is contained in:
@ -1,5 +1,6 @@
|
||||
# app/models/base.py
|
||||
from app.extensions import db
|
||||
import json
|
||||
|
||||
class MaterialBase(db.Model):
|
||||
"""
|
||||
@ -11,7 +12,7 @@ class MaterialBase(db.Model):
|
||||
# 1. 基础字段
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
name = db.Column(db.String(255), nullable=False, comment='名称')
|
||||
common_name = db.Column(db.String(255), comment='俗名') # ✅ 新增字段
|
||||
common_name = db.Column(db.String(255), comment='俗名')
|
||||
category = db.Column(db.String(100), comment='类别')
|
||||
material_type = db.Column(db.String(100), comment='类型')
|
||||
spec_model = db.Column(db.String(255), comment='规格型号')
|
||||
@ -20,7 +21,7 @@ class MaterialBase(db.Model):
|
||||
# 可见等级
|
||||
visibility_level = db.Column(db.Integer, default=0, comment='信息可见等级')
|
||||
|
||||
# 链接与图片
|
||||
# 链接与图片 (现在存储 JSON 字符串)
|
||||
manual_link = db.Column(db.Text, comment='通用说明书')
|
||||
product_image = db.Column(db.Text, comment='通用产品图')
|
||||
|
||||
@ -44,16 +45,29 @@ class MaterialBase(db.Model):
|
||||
"""
|
||||
序列化方法
|
||||
"""
|
||||
# 辅助解析函数:将数据库存储的 JSON 字符串转为 List
|
||||
def parse_list(json_str):
|
||||
if not json_str:
|
||||
return []
|
||||
try:
|
||||
# 兼容旧数据:如果不是 JSON 格式(比如是单个 URL),则包装成 list
|
||||
if not json_str.startswith('['):
|
||||
return [json_str]
|
||||
return json.loads(json_str)
|
||||
except:
|
||||
return []
|
||||
|
||||
return {
|
||||
'id': self.id,
|
||||
'name': self.name,
|
||||
'commonName': self.common_name, # ✅ 序列化新增字段
|
||||
'commonName': self.common_name,
|
||||
'category': self.category,
|
||||
'type': self.material_type, # 前端字段映射
|
||||
'spec': self.spec_model, # 前端字段映射
|
||||
'type': self.material_type,
|
||||
'spec': self.spec_model,
|
||||
'unit': self.unit,
|
||||
'visibilityLevel': self.visibility_level,
|
||||
'generalManual': self.manual_link,
|
||||
'generalImage': self.product_image,
|
||||
# 修改:解析为列表返回
|
||||
'generalManual': parse_list(self.manual_link),
|
||||
'generalImage': parse_list(self.product_image),
|
||||
'isEnabled': 1 if self.is_enabled else 0,
|
||||
}
|
||||
Reference in New Issue
Block a user