新增3张核心表: - platform_supply_relations: 平台内org-to-org供销关系(分销/代理/直供) - platform_supply_products: 供销产品明细(供货价/折扣/佣金) - product_supplier_mapping: 统一产品供应映射(内部+外部) 新增3个业务API: - query_platform_suppliers: 查询平台可用供应方机构 - query_platform_products: 查询供应方产品目录 - import_supplier_product: 引入供应方产品到需求方 更新: init/data.json(6组appcodes), load_path.py(RBAC权限), menu.ui(分组菜单)
182 lines
3.7 KiB
XML
182 lines
3.7 KiB
XML
|
|
{
|
|
"widgettype":"VBox",
|
|
"options":{"cheight":40,"width":"100%"},
|
|
"subwidgets":[{
|
|
"id":"distribution_agreement_items_tbl",
|
|
"widgettype":"Tabular",
|
|
"options":{
|
|
"width":"100%",
|
|
"height":"100%",
|
|
|
|
|
|
"title":"分销协议产品折扣明细表",
|
|
|
|
|
|
|
|
|
|
"css":"card",
|
|
|
|
|
|
"editable":{
|
|
|
|
"new_data_url":"{{entire_url('add_distribution_agreement_items.dspy')}}",
|
|
|
|
|
|
"delete_data_url":"{{entire_url('delete_distribution_agreement_items.dspy')}}",
|
|
|
|
|
|
"update_data_url":"{{entire_url('update_distribution_agreement_items.dspy')}}"
|
|
|
|
},
|
|
|
|
|
|
"data_url":"{{entire_url('./get_distribution_agreement_items.dspy')}}",
|
|
|
|
"data_method":"GET",
|
|
"data_params":{{json.dumps(params_kw, indent=4, ensure_ascii=False)}},
|
|
"row_options":{
|
|
|
|
|
|
|
|
"browserfields": {
|
|
"exclouded": [
|
|
"id",
|
|
"agreement_id",
|
|
"resellerid"
|
|
]
|
|
},
|
|
|
|
|
|
"fields":[
|
|
{
|
|
"name": "id",
|
|
"title": "主键ID",
|
|
"type": "str",
|
|
"length": 32,
|
|
"nullable": "no",
|
|
"cwidth": 18,
|
|
"uitype": "str",
|
|
"datatype": "str",
|
|
"label": "主键ID"
|
|
},
|
|
{
|
|
"name": "agreement_id",
|
|
"title": "分销协议ID",
|
|
"type": "str",
|
|
"length": 32,
|
|
"nullable": "no",
|
|
"label": "分销协议ID",
|
|
"uitype": "code",
|
|
"valueField": "agreement_id",
|
|
"textField": "agreement_id_text",
|
|
"params": {
|
|
"dbname": "{{get_module_dbname('supplychain')}}",
|
|
"table": "distribution_agreements",
|
|
"tblvalue": "id",
|
|
"tbltext": "agreement_name",
|
|
"valueField": "agreement_id",
|
|
"textField": "agreement_id_text"
|
|
},
|
|
"dataurl": "{{entire_url('/appbase/get_code.dspy')}}"
|
|
},
|
|
{
|
|
"name": "resellerid",
|
|
"title": "所属分销商机构ID",
|
|
"type": "str",
|
|
"length": 32,
|
|
"nullable": "no",
|
|
"cwidth": 18,
|
|
"uitype": "str",
|
|
"datatype": "str",
|
|
"label": "所属分销商机构ID"
|
|
},
|
|
{
|
|
"name": "prodtypeid",
|
|
"title": "产品分类ID",
|
|
"type": "str",
|
|
"length": 32,
|
|
"cwidth": 18,
|
|
"uitype": "str",
|
|
"datatype": "str",
|
|
"label": "产品分类ID"
|
|
},
|
|
{
|
|
"name": "productid",
|
|
"title": "产品ID",
|
|
"type": "str",
|
|
"length": 32,
|
|
"cwidth": 18,
|
|
"uitype": "str",
|
|
"datatype": "str",
|
|
"label": "产品ID"
|
|
},
|
|
{
|
|
"name": "discount",
|
|
"title": "分销折扣",
|
|
"type": "double",
|
|
"length": 5,
|
|
"dec": 4,
|
|
"nullable": "no",
|
|
"default": "1.0000",
|
|
"cwidth": 5,
|
|
"uitype": "float",
|
|
"datatype": "double",
|
|
"label": "分销折扣"
|
|
},
|
|
{
|
|
"name": "min_order_qty",
|
|
"title": "最小订购量",
|
|
"type": "int",
|
|
"length": 0,
|
|
"uitype": "int",
|
|
"datatype": "int",
|
|
"label": "最小订购量"
|
|
},
|
|
{
|
|
"name": "sale_price",
|
|
"title": "分销指导价",
|
|
"type": "double",
|
|
"length": 15,
|
|
"dec": 4,
|
|
"cwidth": 15,
|
|
"uitype": "float",
|
|
"datatype": "double",
|
|
"label": "分销指导价"
|
|
},
|
|
{
|
|
"name": "remark",
|
|
"title": "备注",
|
|
"type": "text",
|
|
"length": 0,
|
|
"uitype": "text",
|
|
"datatype": "text",
|
|
"label": "备注"
|
|
},
|
|
{
|
|
"name": "created_at",
|
|
"title": "创建时间",
|
|
"type": "datetime",
|
|
"nullable": "no",
|
|
"length": 0,
|
|
"uitype": "str",
|
|
"datatype": "datetime",
|
|
"label": "创建时间"
|
|
}
|
|
]
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"page_rows":160,
|
|
"cache_limit":5
|
|
}
|
|
|
|
,"binds":[]
|
|
|
|
}]
|
|
} |