feat: ContractAttachMgr — supplychain 自有附件管理器

ContractAttachMgr 继承 FileMgr, fiid 从 params_kw 透传
contract_upload.dspy: 自有上传端点
contract_attach.ui: 改用 supplychain 自己的上传 dspy
This commit is contained in:
yumoqing 2026-07-03 17:05:24 +08:00
parent 64e240872f
commit a914380a9b
5 changed files with 15 additions and 1 deletions

View File

@ -75,6 +75,7 @@ paths = [
("/supplychain/api/supplychain_accounting_update.dspy", "logined"), ("/supplychain/api/supplychain_accounting_update.dspy", "logined"),
("/supplychain/api/contract_attach_list.dspy", "logined"), ("/supplychain/api/contract_attach_list.dspy", "logined"),
("/supplychain/api/contract_attach.ui", "logined"), ("/supplychain/api/contract_attach.ui", "logined"),
("/supplychain/api/contract_upload.dspy", "logined"),
("/supplychain/distribution_agreement_items_list", "logined"), ("/supplychain/distribution_agreement_items_list", "logined"),
("/supplychain/distribution_agreement_items_list/add_distribution_agreement_items.dspy", "logined"), ("/supplychain/distribution_agreement_items_list/add_distribution_agreement_items.dspy", "logined"),
("/supplychain/distribution_agreement_items_list/delete_distribution_agreement_items.dspy", "logined"), ("/supplychain/distribution_agreement_items_list/delete_distribution_agreement_items.dspy", "logined"),

View File

@ -10,7 +10,13 @@ from appPublic.jsonConfig import getConfig
from appPublic.dictObject import DictObject from appPublic.dictObject import DictObject
from sqlor.dbpools import DBPools from sqlor.dbpools import DBPools
from ahserver.serverenv import ServerEnv from ahserver.serverenv import ServerEnv
from ahserver.filestorage import FileStorage
from filemgr.filemgr import FileMgr
class ContractAttachMgr(FileMgr):
"""Supplychain attachment manager — fiid from params_kw."""
pass
MODULE_NAME = "supplychain" MODULE_NAME = "supplychain"
@ -926,6 +932,7 @@ def load_supplychain():
env.calculate_sale_amounts = calculate_sale_amounts env.calculate_sale_amounts = calculate_sale_amounts
# Attachment folder helper # Attachment folder helper
env.ensure_contract_folder = ensure_contract_folder env.ensure_contract_folder = ensure_contract_folder
env.ContractAttachMgr = ContractAttachMgr
return True return True

Binary file not shown.

View File

@ -6,7 +6,7 @@
{% set fiid = 'dist_agreement_attach' %} {% set fiid = 'dist_agreement_attach' %}
{% endif %} {% endif %}
{% set folder = ensure_contract_folder(request, contract_id, fiid) %} {% set folder = ensure_contract_folder(request, contract_id, fiid) %}
{% set upload_url = entire_url('/filemgr/upload_file.dspy') %} {% set upload_url = entire_url('contract_upload.dspy') %}
{% set list_url = entire_url('contract_attach_list.dspy') %} {% set list_url = entire_url('contract_attach_list.dspy') %}
{ {
"widgettype": "VBox", "widgettype": "VBox",

View File

@ -0,0 +1,6 @@
fiid = params_kw.fiid or 'supply_contract_attach'
fmgr = ContractAttachMgr(fiid)
stat = await fmgr.add_file(request, params_kw)
if stat.status == 'success':
return UiMessage(title='上传成功', message='文件已添加')
return UiError(title='上传失败', message=stat.message or 'unknown error')