supplychain/json/supply_contracts_list.json
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

103 lines
3.2 KiB
JSON

{
"tblname": "supply_contracts",
"alias": "supply_contracts_list",
"title": "供销协议管理",
"params": {
"sortby": [
"created_at desc"
],
"logined_userorgid": "resellerid",
"data_filter": {
"AND": [
{
"field": "contract_name",
"op": "LIKE",
"var": "contract_name"
},
{
"field": "contract_code",
"op": "LIKE",
"var": "contract_code"
},
{
"field": "supplier_id",
"op": "=",
"var": "supplier_id"
},
{
"field": "status",
"op": "=",
"var": "status"
}
]
},
"filter_labels": {
"contract_name": "合同名称",
"contract_code": "合同编号",
"supplier_id": "供应商",
"status": "状态"
},
"browserfields": {
"exclouded": [
"id",
"resellerid"
],
"alters": {
"supplier_id": {
"uitype": "code",
"dataurl": "{{entire_url('../api/get_search_supplier_id.dspy')}}",
"valueField": "supplier_id",
"textField": "supplier_id_text"
},
"status": {
"uitype": "code",
"data": [
{
"value": "1",
"text": "生效中"
},
{
"value": "2",
"text": "已到期"
},
{
"value": "0",
"text": "已终止"
}
]
}
}
},
"editexclouded": [
"id",
"resellerid",
"supplier_id",
"contract_code",
"created_by",
"created_at",
"updated_at"
],
"editable": {
"new_data_url": "{{entire_url('../api/supply_contracts_create.dspy')}}?supplier_id={{params_kw.get('supplier_id','')}}",
"update_data_url": "{{entire_url('../api/supply_contracts_update.dspy')}}",
"delete_data_url": "{{entire_url('../api/supply_contracts_delete.dspy')}}"
},
"subtables": [
{
"field": "contract_id",
"title": "产品折扣明细",
"url": "{{entire_url('../supply_contract_items_list')}}",
"subtable": "supply_contract_items"
},
{
"field": "contract_id",
"title": "合同附件",
"url": "{{entire_url('../api/contract_attach.ui')}}?contract_type=supply",
"subtable": "contract_attach",
"mapping": {
"contract_id": "id"
}
}
]
}
}