feat: add download and delete actions to contract attachment list
This commit is contained in:
parent
3017ac295b
commit
07d5173d75
@ -76,6 +76,7 @@ paths = [
|
|||||||
("/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/api/contract_upload.dspy", "logined"),
|
||||||
|
("/supplychain/api/contract_attach_delete.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"),
|
||||||
|
|||||||
@ -8,6 +8,7 @@
|
|||||||
{% set folder = ensure_contract_folder(request, contract_id, fiid) %}
|
{% set folder = ensure_contract_folder(request, contract_id, fiid) %}
|
||||||
{% set upload_url = entire_url('contract_upload.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') %}
|
||||||
|
{% set delete_url = entire_url('contract_attach_delete.dspy') %}
|
||||||
{
|
{
|
||||||
"widgettype": "VBox",
|
"widgettype": "VBox",
|
||||||
"options": {
|
"options": {
|
||||||
@ -50,6 +51,10 @@
|
|||||||
"data_url": "{{list_url}}?folderid={{folder}}&fiid={{fiid}}",
|
"data_url": "{{list_url}}?folderid={{folder}}&fiid={{fiid}}",
|
||||||
"data_method": "GET",
|
"data_method": "GET",
|
||||||
"page_rows": 50,
|
"page_rows": 50,
|
||||||
|
"record_toolbar": [
|
||||||
|
{"name": "download", "label": "下载", "icon": "{{entire_url('/imgs/download.svg')}}"},
|
||||||
|
{"name": "delete_attach", "label": "删除", "icon": "{{entire_url('/imgs/delete.svg')}}"}
|
||||||
|
],
|
||||||
"row_options": {
|
"row_options": {
|
||||||
"browserfields": {
|
"browserfields": {
|
||||||
"exclouded": [],
|
"exclouded": [],
|
||||||
@ -61,7 +66,23 @@
|
|||||||
{"name": "filetype", "title": "类型", "type": "str", "uitype": "str", "label": "类型", "cwidth": 8}
|
{"name": "filetype", "title": "类型", "type": "str", "uitype": "str", "label": "类型", "cwidth": 8}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"binds": [
|
||||||
|
{
|
||||||
|
"wid": "self",
|
||||||
|
"event": "download",
|
||||||
|
"actiontype": "script",
|
||||||
|
"target": "self",
|
||||||
|
"script": "var d=this.select_row.user_data;if(d&&d.webpath)window.open(d.webpath,'_blank')"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"wid": "self",
|
||||||
|
"event": "delete_attach",
|
||||||
|
"actiontype": "script",
|
||||||
|
"target": "self",
|
||||||
|
"script": "var d=this.select_row.user_data;if(!d||!d.id)return;if(!confirm('确定删除 '+d.filename+' ?'))return;var self=this;fetch('{{delete_url}}?id='+d.id+'&fiid={{fiid}}',{method:'POST'}).then(function(r){return r.json()}).then(function(r){if(r.widgettype==='Message'){self.render({})}else{alert(r.options.message)}})"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
10
wwwroot/api/contract_attach_delete.dspy
Normal file
10
wwwroot/api/contract_attach_delete.dspy
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
fiid = params_kw.fiid or 'supply_contract_attach'
|
||||||
|
fid = params_kw.id
|
||||||
|
if not fid:
|
||||||
|
return UiError(title='删除失败', message='缺少文件id')
|
||||||
|
|
||||||
|
fmgr = ContractAttachMgr(fiid)
|
||||||
|
stat = await fmgr.del_file(request, fid)
|
||||||
|
if stat.status == 'success':
|
||||||
|
return UiMessage(title='删除成功', message='文件已删除')
|
||||||
|
return UiError(title='删除失败', message=stat.message or 'unknown error')
|
||||||
Loading…
x
Reference in New Issue
Block a user