This commit is contained in:
zlwu committed 2026-06-06 19:44:18 +08:00
1 parent dacfdc9ff6
commit f9676f8759
906 files changed
+533306 -12946

No files matched your search

+19 -4
View File
@@ -13,6 +13,7 @@ from app.core.data_scope import apply_data_scope
from app.core.database import get_db
from app.core.menu_guard import require_admin_or_super_admin, require_menu_code
from app.core.response import success_response, error_response
from app.core.attachment_biz import resolve_upload_folder
from app.core.storage import storage
from app.crud import tenant as tenant_svc
from app.crud import dict_type as dict_type_svc
@@ -74,13 +75,21 @@ async def list_users_for_select(
_user: dict = Depends(require_admin_or_super_admin),
db: Session = Depends(get_db),
):
"""返回用户下拉选项(label=昵称,value=用户ID),供流程设计器审批人选择使用。"""
"""返回用户下拉选项(label=昵称,value=用户ID,附带 nickName/userNo),供审批人选择等场景使用。"""
tenant_no = _user.get("tenant_no", "")
q = db.query(SysUser).filter(SysUser.del_flag == 0, SysUser.status == "1")
if tenant_no:
q = q.filter(SysUser.tenant_no == tenant_no)
rows = q.order_by(SysUser.create_time.desc()).all()
out = [{"label": (r.nick_name or r.user_no or ""), "value": r.id} for r in rows]
out = [
{
"label": (r.nick_name or r.user_no or ""),
"value": r.id,
"nickName": r.nick_name or "",
"userNo": r.user_no or "",
}
for r in rows
]
return success_response(out)
@@ -1315,14 +1324,18 @@ def _format_file_size(size_bytes: int) -> str:
async def upload_attachment(
file: UploadFile = File(...),
folder: Optional[str] = Form(""),
biz_type: Optional[str] = Form(None, alias="bizType"),
user: dict = Depends(require_admin_or_super_admin),
db: Session = Depends(get_db),
):
if not file or not file.filename:
return error_response(400, "请选择文件")
try:
effective_folder = resolve_upload_folder(
folder=folder or "", biz_type=biz_type or ""
)
file_content = await file.read()
full_url = storage.upload_file(file_content, file.filename, folder or "")
full_url = storage.upload_file(file_content, file.filename, effective_folder)
base_url = settings.MINIO_BASE_URL.rstrip("/") if settings.MINIO_BASE_URL else ""
if base_url and full_url.startswith(base_url + "/"):
file_url = full_url[len(base_url) + 1:]
@@ -1340,8 +1353,9 @@ async def upload_attachment(
file_suffix=file_ext,
file_size=file_size,
file_type=file_type,
biz_type=(biz_type or "").strip(),
user_id=user.get("user_id"),
ext1=folder or None,
ext1=effective_folder or None,
)
return success_response({
"id": record.id,
@@ -1350,6 +1364,7 @@ async def upload_attachment(
"fileSize": record.file_size,
"fileSizeDisplay": _format_file_size(record.file_size or 0),
"fileType": record.file_type,
"bizType": record.biz_type or "",
})
except Exception as e:
db.rollback()