supplychain/wwwroot/api/contract_attach_list.dspy
yumoqing fa5a1a3a8e feat: 供应合同和分销协议支持附件上传下载
contract_attach.ui: 附件管理页面(Tabular文件列表 + 上传按钮)
contract_attach_list.dspy: 查询合同附件列表
init.py: ensure_contract_folder() 自动创建附件目录
supply_contracts_list + distribution_agreements_list: 新增'合同附件'toolbar

实现: filemgr folder(contract_id=id, fiid=type)自动管理
2026-07-03 15:32:41 +08:00

30 lines
889 B
Plaintext

# coding=utf-8
"""获取合同附件文件列表。
输入: folderid, fiid
输出: {rows: [{id, filename, filesize, filetype, webpath}]}
"""
folderid = params_kw.get('folderid', '')
fiid = params_kw.get('fiid', '')
if not folderid:
return json.dumps({'total': 0, 'rows': []})
dbname = get_module_dbname('supplychain')
db = DBPools()
async with db.sqlorContext(dbname) as sor:
recs = await sor.sqlExe(
"SELECT id, name, filesize, filetype, webpath FROM file WHERE folderid=${folderid}$ AND fiid=${fiid}$ ORDER BY id",
{'folderid': folderid, 'fiid': fiid}
)
rows = []
for r in recs:
rows.append({
'id': r.id,
'filename': r.name,
'filesize': r.filesize or 0,
'filetype': r.filetype or '',
'webpath': r.webpath or ''
})
return json.dumps({'total': len(rows), 'rows': rows})