diff --git a/scripts/load_path.py b/scripts/load_path.py index 9a7bd92..8763d97 100755 --- a/scripts/load_path.py +++ b/scripts/load_path.py @@ -75,6 +75,7 @@ paths = [ ("/supplychain/api/supplychain_accounting_update.dspy", "logined"), ("/supplychain/api/contract_attach_list.dspy", "logined"), ("/supplychain/api/contract_attach.ui", "logined"), + ("/supplychain/api/contract_upload.dspy", "logined"), ("/supplychain/distribution_agreement_items_list", "logined"), ("/supplychain/distribution_agreement_items_list/add_distribution_agreement_items.dspy", "logined"), ("/supplychain/distribution_agreement_items_list/delete_distribution_agreement_items.dspy", "logined"), diff --git a/supplychain/init.py b/supplychain/init.py index b4a15eb..2ba627e 100644 --- a/supplychain/init.py +++ b/supplychain/init.py @@ -10,7 +10,13 @@ from appPublic.jsonConfig import getConfig from appPublic.dictObject import DictObject from sqlor.dbpools import DBPools 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" @@ -926,6 +932,7 @@ def load_supplychain(): env.calculate_sale_amounts = calculate_sale_amounts # Attachment folder helper env.ensure_contract_folder = ensure_contract_folder + env.ContractAttachMgr = ContractAttachMgr return True diff --git a/wwwroot/api/.supply_contracts_create.dspy.swp b/wwwroot/api/.supply_contracts_create.dspy.swp new file mode 100644 index 0000000..2b4d353 Binary files /dev/null and b/wwwroot/api/.supply_contracts_create.dspy.swp differ diff --git a/wwwroot/api/contract_attach.ui b/wwwroot/api/contract_attach.ui index 6b5efdb..d7b148d 100644 --- a/wwwroot/api/contract_attach.ui +++ b/wwwroot/api/contract_attach.ui @@ -6,7 +6,7 @@ {% set fiid = 'dist_agreement_attach' %} {% endif %} {% 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') %} { "widgettype": "VBox", diff --git a/wwwroot/api/contract_upload.dspy b/wwwroot/api/contract_upload.dspy new file mode 100644 index 0000000..e2ff436 --- /dev/null +++ b/wwwroot/api/contract_upload.dspy @@ -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')