feat: 新增分销商结算和供应商财务7个页面

分销商结算:
- reseller_reconcile.ui: 分销商对账汇总
- reseller_detail_reconcile.ui: 明细对账
- reseller_settlement.ui: 结算处理

供应商财务:
- provider_recharge.ui: 供应商充值记录
- provider_reconcile.ui: 供应商对账
- provider_detail_reconcile.ui: 供应商明细对账
- provider_settlement.ui: 供应商结算

各页面含InlineForm筛选+Tabular数据展示+统计摘要栏
后端dspy待后续创建
This commit is contained in:
Hermes Agent 2026-06-18 13:33:18 +08:00
parent 2ff2ca7685
commit fa57ab7092
7 changed files with 1829 additions and 0 deletions

View File

@ -0,0 +1,281 @@
{
"widgettype": "VBox",
"options": {
"cheight": 40,
"width": "100%",
"padding": "16px"
},
"subwidgets": [
{
"widgettype": "Text",
"options": {
"text": "供应商明细对账",
"fontSize": "20px",
"fontWeight": "bold",
"color": "#F1F5F9",
"marginBottom": "16px"
}
},
{
"widgettype": "HBox",
"options": {
"bgcolor": "#1E293B",
"padding": "12px",
"borderRadius": "8px",
"marginBottom": "12px",
"gap": "16px"
},
"subwidgets": [
{
"widgettype": "Text",
"options": {
"text": "已匹配: --",
"fontSize": "14px",
"color": "#F1F5F9"
}
},
{
"widgettype": "Text",
"options": {
"text": "未匹配: --",
"fontSize": "14px",
"color": "#F1F5F9"
}
},
{
"widgettype": "Text",
"options": {
"text": "差异金额: --",
"fontSize": "14px",
"color": "#F1F5F9"
}
}
]
},
{
"id": "provider_detail_form",
"widgettype": "InlineForm",
"options": {
"bgcolor": "#1E293B",
"padding": "12px",
"borderRadius": "8px",
"marginBottom": "12px",
"fields": [
{
"name": "date_start",
"uitype": "date",
"label": "开始日期",
"cwidth": 10,
"value": "{{strdate_add(monthfirstday(), months=-1)}}",
"required": true
},
{
"name": "date_end",
"uitype": "date",
"label": "结束日期",
"cwidth": 10,
"value": "{{monthfirstday()}}",
"required": true
},
{
"name": "supplier_id",
"uitype": "code",
"label": "供应商",
"cwidth": 15,
"valueField": "supplier_id",
"textField": "supplier_id_text",
"params": {
"dbname": "{{get_module_dbname('supplychain')}}",
"table": "suppliers",
"tblvalue": "id",
"tbltext": "supplier_name",
"valueField": "supplier_id",
"textField": "supplier_id_text"
},
"dataurl": "{{entire_url('/appbase/get_code.dspy')}}"
},
{
"name": "match_status",
"uitype": "code",
"label": "匹配状态",
"cwidth": 8,
"data": [
{"value": "", "text": "全部"},
{"value": "0", "text": "未匹配"},
{"value": "1", "text": "已匹配"},
{"value": "2", "text": "有差异"}
]
}
]
}
},
{
"id": "provider_detail_tbl",
"widgettype": "Tabular",
"options": {
"width": "100%",
"height": "100%",
"title": "供应商明细对账",
"css": "card",
"bgcolor": "#1E293B",
"data_url": "{{entire_url('./get_provider_detail_reconcile.dspy')}}",
"data_method": "GET",
"data_params": {{json.dumps(params_kw, indent=4, ensure_ascii=False)}},
"row_options": {
"browserfields": {
"exclouded": ["id"]
},
"fields": [
{
"name": "id",
"title": "ID",
"type": "str",
"length": 32,
"nullable": "no",
"cwidth": 18,
"uitype": "str",
"datatype": "str",
"label": "ID"
},
{
"name": "purchase_date",
"title": "采购日期",
"type": "date",
"length": 0,
"uitype": "date",
"datatype": "date",
"label": "采购日期",
"cwidth": 10
},
{
"name": "supplier_id",
"title": "供应商",
"type": "str",
"length": 32,
"label": "供应商",
"uitype": "code",
"valueField": "supplier_id",
"textField": "supplier_id_text",
"params": {
"dbname": "{{get_module_dbname('supplychain')}}",
"table": "suppliers",
"tblvalue": "id",
"tbltext": "supplier_name",
"valueField": "supplier_id",
"textField": "supplier_id_text"
},
"dataurl": "{{entire_url('/appbase/get_code.dspy')}}",
"cwidth": 15
},
{
"name": "product_name",
"title": "产品名称",
"type": "str",
"length": 100,
"cwidth": 15,
"uitype": "str",
"datatype": "str",
"label": "产品名称"
},
{
"name": "quantity",
"title": "数量",
"type": "double",
"length": 15,
"dec": 2,
"cwidth": 8,
"uitype": "float",
"datatype": "double",
"label": "数量"
},
{
"name": "unit_price",
"title": "单价",
"type": "double",
"length": 15,
"dec": 4,
"cwidth": 10,
"uitype": "float",
"datatype": "double",
"label": "单价"
},
{
"name": "our_amount",
"title": "我方金额",
"type": "double",
"length": 15,
"dec": 2,
"cwidth": 12,
"uitype": "float",
"datatype": "double",
"label": "我方金额"
},
{
"name": "their_amount",
"title": "对方金额",
"type": "double",
"length": 15,
"dec": 2,
"cwidth": 12,
"uitype": "float",
"datatype": "double",
"label": "对方金额"
},
{
"name": "difference",
"title": "差异",
"type": "double",
"length": 15,
"dec": 2,
"cwidth": 10,
"uitype": "float",
"datatype": "double",
"label": "差异"
},
{
"name": "match_status",
"title": "匹配状态",
"type": "char",
"length": 1,
"cwidth": 8,
"uitype": "code",
"datatype": "char",
"label": "匹配状态",
"data": [
{"value": "0", "text": "未匹配"},
{"value": "1", "text": "已匹配"},
{"value": "2", "text": "有差异"}
]
},
{
"name": "reference_no",
"title": "参考单号",
"type": "str",
"length": 50,
"cwidth": 15,
"uitype": "str",
"datatype": "str",
"label": "参考单号"
}
]
},
"data_filter": {
"AND": [
{"field": "purchase_date", "op": ">=", "var": "date_start"},
{"field": "purchase_date", "op": "<=", "var": "date_end"},
{"field": "supplier_id", "op": "=", "var": "supplier_id"},
{"field": "match_status", "op": "=", "var": "match_status"}
]
},
"filter_labels": {
"date_start": "开始日期",
"date_end": "结束日期",
"supplier_id": "供应商",
"match_status": "匹配状态"
},
"page_rows": 160,
"cache_limit": 5
}
}
]
}

View File

@ -0,0 +1,260 @@
{
"widgettype": "VBox",
"options": {
"cheight": 40,
"width": "100%",
"padding": "16px"
},
"subwidgets": [
{
"widgettype": "Text",
"options": {
"text": "供应商充值",
"fontSize": "20px",
"fontWeight": "bold",
"color": "#F1F5F9",
"marginBottom": "16px"
}
},
{
"widgettype": "HBox",
"options": {
"bgcolor": "#1E293B",
"padding": "12px",
"borderRadius": "8px",
"marginBottom": "12px",
"gap": "16px"
},
"subwidgets": [
{
"widgettype": "Text",
"options": {
"text": "本月充值总额: --",
"fontSize": "14px",
"color": "#F1F5F9"
}
},
{
"widgettype": "Text",
"options": {
"text": "充值笔数: --",
"fontSize": "14px",
"color": "#F1F5F9"
}
},
{
"widgettype": "Text",
"options": {
"text": "待确认: --",
"fontSize": "14px",
"color": "#F1F5F9"
}
}
]
},
{
"id": "provider_recharge_form",
"widgettype": "InlineForm",
"options": {
"bgcolor": "#1E293B",
"padding": "12px",
"borderRadius": "8px",
"marginBottom": "12px",
"fields": [
{
"name": "date_start",
"uitype": "date",
"label": "开始日期",
"cwidth": 10,
"value": "{{strdate_add(monthfirstday(), months=-1)}}",
"required": true
},
{
"name": "date_end",
"uitype": "date",
"label": "结束日期",
"cwidth": 10,
"value": "{{monthfirstday()}}",
"required": true
},
{
"name": "supplier_id",
"uitype": "code",
"label": "供应商",
"cwidth": 15,
"valueField": "supplier_id",
"textField": "supplier_id_text",
"params": {
"dbname": "{{get_module_dbname('supplychain')}}",
"table": "suppliers",
"tblvalue": "id",
"tbltext": "supplier_name",
"valueField": "supplier_id",
"textField": "supplier_id_text"
},
"dataurl": "{{entire_url('/appbase/get_code.dspy')}}"
},
{
"name": "recharge_status",
"uitype": "code",
"label": "充值状态",
"cwidth": 8,
"data": [
{"value": "", "text": "全部"},
{"value": "0", "text": "待确认"},
{"value": "1", "text": "已确认"},
{"value": "2", "text": "已入账"}
]
}
]
}
},
{
"id": "provider_recharge_tbl",
"widgettype": "Tabular",
"options": {
"width": "100%",
"height": "100%",
"title": "供应商充值记录",
"css": "card",
"bgcolor": "#1E293B",
"editable": {
"new_data_url": "{{entire_url('./add_provider_recharge.dspy')}}",
"update_data_url": "{{entire_url('./update_provider_recharge.dspy')}}"
},
"data_url": "{{entire_url('./get_provider_recharge.dspy')}}",
"data_method": "GET",
"data_params": {{json.dumps(params_kw, indent=4, ensure_ascii=False)}},
"row_options": {
"browserfields": {
"exclouded": ["id"]
},
"editexclouded": ["id", "created_at"],
"fields": [
{
"name": "id",
"title": "ID",
"type": "str",
"length": 32,
"nullable": "no",
"cwidth": 18,
"uitype": "str",
"datatype": "str",
"label": "ID"
},
{
"name": "supplier_id",
"title": "供应商",
"type": "str",
"length": 32,
"label": "供应商",
"uitype": "code",
"valueField": "supplier_id",
"textField": "supplier_id_text",
"params": {
"dbname": "{{get_module_dbname('supplychain')}}",
"table": "suppliers",
"tblvalue": "id",
"tbltext": "supplier_name",
"valueField": "supplier_id",
"textField": "supplier_id_text"
},
"dataurl": "{{entire_url('/appbase/get_code.dspy')}}",
"cwidth": 18
},
{
"name": "recharge_date",
"title": "充值日期",
"type": "date",
"length": 0,
"uitype": "date",
"datatype": "date",
"label": "充值日期",
"cwidth": 10
},
{
"name": "amount",
"title": "充值金额",
"type": "double",
"length": 15,
"dec": 2,
"cwidth": 15,
"uitype": "float",
"datatype": "double",
"label": "充值金额"
},
{
"name": "payment_method",
"title": "支付方式",
"type": "str",
"length": 30,
"cwidth": 10,
"uitype": "str",
"datatype": "str",
"label": "支付方式"
},
{
"name": "transaction_no",
"title": "交易流水号",
"type": "str",
"length": 50,
"cwidth": 18,
"uitype": "str",
"datatype": "str",
"label": "交易流水号"
},
{
"name": "recharge_status",
"title": "充值状态",
"type": "char",
"length": 1,
"cwidth": 8,
"uitype": "code",
"datatype": "char",
"label": "充值状态",
"data": [
{"value": "0", "text": "待确认"},
{"value": "1", "text": "已确认"},
{"value": "2", "text": "已入账"}
]
},
{
"name": "remark",
"title": "备注",
"type": "text",
"length": 0,
"uitype": "text",
"datatype": "text",
"label": "备注"
},
{
"name": "created_at",
"title": "创建时间",
"type": "datetime",
"length": 0,
"uitype": "str",
"datatype": "datetime",
"label": "创建时间"
}
]
},
"data_filter": {
"AND": [
{"field": "recharge_date", "op": ">=", "var": "date_start"},
{"field": "recharge_date", "op": "<=", "var": "date_end"},
{"field": "supplier_id", "op": "=", "var": "supplier_id"},
{"field": "recharge_status", "op": "=", "var": "recharge_status"}
]
},
"filter_labels": {
"date_start": "开始日期",
"date_end": "结束日期",
"supplier_id": "供应商",
"recharge_status": "充值状态"
},
"page_rows": 160,
"cache_limit": 5
}
}
]
}

View File

@ -0,0 +1,234 @@
{
"widgettype": "VBox",
"options": {
"cheight": 40,
"width": "100%",
"padding": "16px"
},
"subwidgets": [
{
"widgettype": "Text",
"options": {
"text": "供应商对账",
"fontSize": "20px",
"fontWeight": "bold",
"color": "#F1F5F9",
"marginBottom": "16px"
}
},
{
"widgettype": "HBox",
"options": {
"bgcolor": "#1E293B",
"padding": "12px",
"borderRadius": "8px",
"marginBottom": "12px",
"gap": "16px"
},
"subwidgets": [
{
"widgettype": "Text",
"options": {
"text": "总应付款: --",
"fontSize": "14px",
"color": "#F1F5F9"
}
},
{
"widgettype": "Text",
"options": {
"text": "已结算: --",
"fontSize": "14px",
"color": "#F1F5F9"
}
},
{
"widgettype": "Text",
"options": {
"text": "未结算: --",
"fontSize": "14px",
"color": "#F1F5F9"
}
}
]
},
{
"id": "provider_reconcile_form",
"widgettype": "InlineForm",
"options": {
"bgcolor": "#1E293B",
"padding": "12px",
"borderRadius": "8px",
"marginBottom": "12px",
"fields": [
{
"name": "date_start",
"uitype": "date",
"label": "开始日期",
"cwidth": 10,
"value": "{{strdate_add(monthfirstday(), months=-1)}}",
"required": true
},
{
"name": "date_end",
"uitype": "date",
"label": "结束日期",
"cwidth": 10,
"value": "{{monthfirstday()}}",
"required": true
},
{
"name": "supplier_id",
"uitype": "code",
"label": "供应商",
"cwidth": 15,
"valueField": "supplier_id",
"textField": "supplier_id_text",
"params": {
"dbname": "{{get_module_dbname('supplychain')}}",
"table": "suppliers",
"tblvalue": "id",
"tbltext": "supplier_name",
"valueField": "supplier_id",
"textField": "supplier_id_text"
},
"dataurl": "{{entire_url('/appbase/get_code.dspy')}}"
}
]
}
},
{
"id": "provider_reconcile_tbl",
"widgettype": "Tabular",
"options": {
"width": "100%",
"height": "100%",
"title": "供应商对账汇总",
"css": "card",
"bgcolor": "#1E293B",
"data_url": "{{entire_url('./get_provider_reconcile.dspy')}}",
"data_method": "GET",
"data_params": {{json.dumps(params_kw, indent=4, ensure_ascii=False)}},
"row_options": {
"browserfields": {
"exclouded": ["id"]
},
"fields": [
{
"name": "id",
"title": "ID",
"type": "str",
"length": 32,
"nullable": "no",
"cwidth": 18,
"uitype": "str",
"datatype": "str",
"label": "ID"
},
{
"name": "supplier_id",
"title": "供应商",
"type": "str",
"length": 32,
"label": "供应商",
"uitype": "code",
"valueField": "supplier_id",
"textField": "supplier_id_text",
"params": {
"dbname": "{{get_module_dbname('supplychain')}}",
"table": "suppliers",
"tblvalue": "id",
"tbltext": "supplier_name",
"valueField": "supplier_id",
"textField": "supplier_id_text"
},
"dataurl": "{{entire_url('/appbase/get_code.dspy')}}",
"cwidth": 20
},
{
"name": "reconcile_period",
"title": "对账周期",
"type": "str",
"length": 30,
"cwidth": 15,
"uitype": "str",
"datatype": "str",
"label": "对账周期"
},
{
"name": "total_amount",
"title": "总金额",
"type": "double",
"length": 15,
"dec": 2,
"cwidth": 15,
"uitype": "float",
"datatype": "double",
"label": "总金额"
},
{
"name": "settled_amount",
"title": "已结算金额",
"type": "double",
"length": 15,
"dec": 2,
"cwidth": 15,
"uitype": "float",
"datatype": "double",
"label": "已结算金额"
},
{
"name": "unsettled_amount",
"title": "未结算金额",
"type": "double",
"length": 15,
"dec": 2,
"cwidth": 15,
"uitype": "float",
"datatype": "double",
"label": "未结算金额"
},
{
"name": "reconcile_status",
"title": "对账状态",
"type": "char",
"length": 1,
"cwidth": 8,
"uitype": "code",
"datatype": "char",
"label": "对账状态",
"data": [
{"value": "0", "text": "待对账"},
{"value": "1", "text": "已确认"},
{"value": "2", "text": "有差异"}
]
},
{
"name": "created_at",
"title": "创建时间",
"type": "datetime",
"length": 0,
"uitype": "str",
"datatype": "datetime",
"label": "创建时间"
}
]
},
"data_filter": {
"AND": [
{"field": "date_start", "op": ">=", "var": "date_start"},
{"field": "date_end", "op": "<=", "var": "date_end"},
{"field": "supplier_id", "op": "=", "var": "supplier_id"}
]
},
"filter_labels": {
"date_start": "开始日期",
"date_end": "结束日期",
"supplier_id": "供应商"
},
"page_rows": 160,
"cache_limit": 5
}
}
]
}

View File

@ -0,0 +1,270 @@
{
"widgettype": "VBox",
"options": {
"cheight": 40,
"width": "100%",
"padding": "16px"
},
"subwidgets": [
{
"widgettype": "Text",
"options": {
"text": "供应商结算",
"fontSize": "20px",
"fontWeight": "bold",
"color": "#F1F5F9",
"marginBottom": "16px"
}
},
{
"widgettype": "HBox",
"options": {
"bgcolor": "#1E293B",
"padding": "12px",
"borderRadius": "8px",
"marginBottom": "12px",
"gap": "16px"
},
"subwidgets": [
{
"widgettype": "Text",
"options": {
"text": "待结算总额: --",
"fontSize": "14px",
"color": "#F1F5F9"
}
},
{
"widgettype": "Text",
"options": {
"text": "本月已结算: --",
"fontSize": "14px",
"color": "#F1F5F9"
}
},
{
"widgettype": "Text",
"options": {
"text": "待处理笔数: --",
"fontSize": "14px",
"color": "#F1F5F9"
}
}
]
},
{
"id": "provider_settlement_form",
"widgettype": "InlineForm",
"options": {
"bgcolor": "#1E293B",
"padding": "12px",
"borderRadius": "8px",
"marginBottom": "12px",
"fields": [
{
"name": "date_start",
"uitype": "date",
"label": "开始日期",
"cwidth": 10,
"value": "{{strdate_add(monthfirstday(), months=-1)}}",
"required": true
},
{
"name": "date_end",
"uitype": "date",
"label": "结束日期",
"cwidth": 10,
"value": "{{monthfirstday()}}",
"required": true
},
{
"name": "supplier_id",
"uitype": "code",
"label": "供应商",
"cwidth": 15,
"valueField": "supplier_id",
"textField": "supplier_id_text",
"params": {
"dbname": "{{get_module_dbname('supplychain')}}",
"table": "suppliers",
"tblvalue": "id",
"tbltext": "supplier_name",
"valueField": "supplier_id",
"textField": "supplier_id_text"
},
"dataurl": "{{entire_url('/appbase/get_code.dspy')}}"
},
{
"name": "settlement_status",
"uitype": "code",
"label": "结算状态",
"cwidth": 8,
"data": [
{"value": "", "text": "全部"},
{"value": "0", "text": "待结算"},
{"value": "1", "text": "已结算"},
{"value": "2", "text": "结算中"}
]
}
]
}
},
{
"id": "provider_settlement_tbl",
"widgettype": "Tabular",
"options": {
"width": "100%",
"height": "100%",
"title": "供应商结算记录",
"css": "card",
"bgcolor": "#1E293B",
"editable": {
"new_data_url": "{{entire_url('./add_provider_settlement.dspy')}}",
"update_data_url": "{{entire_url('./update_provider_settlement.dspy')}}"
},
"data_url": "{{entire_url('./get_provider_settlement.dspy')}}",
"data_method": "GET",
"data_params": {{json.dumps(params_kw, indent=4, ensure_ascii=False)}},
"row_options": {
"browserfields": {
"exclouded": ["id"]
},
"editexclouded": ["id", "supplier_id", "settlement_period", "amount"],
"fields": [
{
"name": "id",
"title": "ID",
"type": "str",
"length": 32,
"nullable": "no",
"cwidth": 18,
"uitype": "str",
"datatype": "str",
"label": "ID"
},
{
"name": "supplier_id",
"title": "供应商",
"type": "str",
"length": 32,
"label": "供应商",
"uitype": "code",
"valueField": "supplier_id",
"textField": "supplier_id_text",
"params": {
"dbname": "{{get_module_dbname('supplychain')}}",
"table": "suppliers",
"tblvalue": "id",
"tbltext": "supplier_name",
"valueField": "supplier_id",
"textField": "supplier_id_text"
},
"dataurl": "{{entire_url('/appbase/get_code.dspy')}}",
"cwidth": 18
},
{
"name": "settlement_period",
"title": "结算周期",
"type": "str",
"length": 30,
"cwidth": 12,
"uitype": "str",
"datatype": "str",
"label": "结算周期"
},
{
"name": "amount",
"title": "结算金额",
"type": "double",
"length": 15,
"dec": 2,
"cwidth": 15,
"uitype": "float",
"datatype": "double",
"label": "结算金额"
},
{
"name": "settlement_status",
"title": "结算状态",
"type": "char",
"length": 1,
"cwidth": 8,
"uitype": "code",
"datatype": "char",
"label": "结算状态",
"data": [
{"value": "0", "text": "待结算"},
{"value": "1", "text": "已结算"},
{"value": "2", "text": "结算中"}
]
},
{
"name": "settlement_date",
"title": "结算日期",
"type": "date",
"length": 0,
"uitype": "date",
"datatype": "date",
"label": "结算日期",
"cwidth": 10
},
{
"name": "payment_method",
"title": "支付方式",
"type": "str",
"length": 30,
"cwidth": 10,
"uitype": "str",
"datatype": "str",
"label": "支付方式"
},
{
"name": "reference_no",
"title": "结算单号",
"type": "str",
"length": 50,
"cwidth": 15,
"uitype": "str",
"datatype": "str",
"label": "结算单号"
},
{
"name": "remark",
"title": "备注",
"type": "text",
"length": 0,
"uitype": "text",
"datatype": "text",
"label": "备注"
},
{
"name": "created_at",
"title": "创建时间",
"type": "datetime",
"length": 0,
"uitype": "str",
"datatype": "datetime",
"label": "创建时间"
}
]
},
"data_filter": {
"AND": [
{"field": "date_start", "op": ">=", "var": "date_start"},
{"field": "date_end", "op": "<=", "var": "date_end"},
{"field": "supplier_id", "op": "=", "var": "supplier_id"},
{"field": "settlement_status", "op": "=", "var": "settlement_status"}
]
},
"filter_labels": {
"date_start": "开始日期",
"date_end": "结束日期",
"supplier_id": "供应商",
"settlement_status": "结算状态"
},
"page_rows": 160,
"cache_limit": 5
}
}
]
}

View File

@ -0,0 +1,281 @@
{
"widgettype": "VBox",
"options": {
"cheight": 40,
"width": "100%",
"padding": "16px"
},
"subwidgets": [
{
"widgettype": "Text",
"options": {
"text": "明细对账",
"fontSize": "20px",
"fontWeight": "bold",
"color": "#F1F5F9",
"marginBottom": "16px"
}
},
{
"widgettype": "HBox",
"options": {
"bgcolor": "#1E293B",
"padding": "12px",
"borderRadius": "8px",
"marginBottom": "12px",
"gap": "16px"
},
"subwidgets": [
{
"widgettype": "Text",
"options": {
"text": "已匹配: --",
"fontSize": "14px",
"color": "#F1F5F9"
}
},
{
"widgettype": "Text",
"options": {
"text": "未匹配: --",
"fontSize": "14px",
"color": "#F1F5F9"
}
},
{
"widgettype": "Text",
"options": {
"text": "差异金额: --",
"fontSize": "14px",
"color": "#F1F5F9"
}
}
]
},
{
"id": "reseller_detail_form",
"widgettype": "InlineForm",
"options": {
"bgcolor": "#1E293B",
"padding": "12px",
"borderRadius": "8px",
"marginBottom": "12px",
"fields": [
{
"name": "date_start",
"uitype": "date",
"label": "开始日期",
"cwidth": 10,
"value": "{{strdate_add(monthfirstday(), months=-1)}}",
"required": true
},
{
"name": "date_end",
"uitype": "date",
"label": "结束日期",
"cwidth": 10,
"value": "{{monthfirstday()}}",
"required": true
},
{
"name": "sub_reseller_id",
"uitype": "code",
"label": "二级分销商",
"cwidth": 15,
"valueField": "sub_reseller_id",
"textField": "sub_reseller_id_text",
"params": {
"dbname": "{{get_module_dbname('supplychain')}}",
"table": "sub_resellers",
"tblvalue": "id",
"tbltext": "sub_reseller_name",
"valueField": "sub_reseller_id",
"textField": "sub_reseller_id_text"
},
"dataurl": "{{entire_url('/appbase/get_code.dspy')}}"
},
{
"name": "match_status",
"uitype": "code",
"label": "匹配状态",
"cwidth": 8,
"data": [
{"value": "", "text": "全部"},
{"value": "0", "text": "未匹配"},
{"value": "1", "text": "已匹配"},
{"value": "2", "text": "有差异"}
]
}
]
}
},
{
"id": "reseller_detail_tbl",
"widgettype": "Tabular",
"options": {
"width": "100%",
"height": "100%",
"title": "分销商明细对账",
"css": "card",
"bgcolor": "#1E293B",
"data_url": "{{entire_url('./get_reseller_detail_reconcile.dspy')}}",
"data_method": "GET",
"data_params": {{json.dumps(params_kw, indent=4, ensure_ascii=False)}},
"row_options": {
"browserfields": {
"exclouded": ["id"]
},
"fields": [
{
"name": "id",
"title": "ID",
"type": "str",
"length": 32,
"nullable": "no",
"cwidth": 18,
"uitype": "str",
"datatype": "str",
"label": "ID"
},
{
"name": "sale_date",
"title": "销售日期",
"type": "date",
"length": 0,
"uitype": "date",
"datatype": "date",
"label": "销售日期",
"cwidth": 10
},
{
"name": "sub_reseller_id",
"title": "二级分销商",
"type": "str",
"length": 32,
"label": "二级分销商",
"uitype": "code",
"valueField": "sub_reseller_id",
"textField": "sub_reseller_id_text",
"params": {
"dbname": "{{get_module_dbname('supplychain')}}",
"table": "sub_resellers",
"tblvalue": "id",
"tbltext": "sub_reseller_name",
"valueField": "sub_reseller_id",
"textField": "sub_reseller_id_text"
},
"dataurl": "{{entire_url('/appbase/get_code.dspy')}}",
"cwidth": 15
},
{
"name": "product_name",
"title": "产品名称",
"type": "str",
"length": 100,
"cwidth": 15,
"uitype": "str",
"datatype": "str",
"label": "产品名称"
},
{
"name": "quantity",
"title": "数量",
"type": "double",
"length": 15,
"dec": 2,
"cwidth": 8,
"uitype": "float",
"datatype": "double",
"label": "数量"
},
{
"name": "unit_price",
"title": "单价",
"type": "double",
"length": 15,
"dec": 4,
"cwidth": 10,
"uitype": "float",
"datatype": "double",
"label": "单价"
},
{
"name": "our_amount",
"title": "我方金额",
"type": "double",
"length": 15,
"dec": 2,
"cwidth": 12,
"uitype": "float",
"datatype": "double",
"label": "我方金额"
},
{
"name": "their_amount",
"title": "对方金额",
"type": "double",
"length": 15,
"dec": 2,
"cwidth": 12,
"uitype": "float",
"datatype": "double",
"label": "对方金额"
},
{
"name": "difference",
"title": "差异",
"type": "double",
"length": 15,
"dec": 2,
"cwidth": 10,
"uitype": "float",
"datatype": "double",
"label": "差异"
},
{
"name": "match_status",
"title": "匹配状态",
"type": "char",
"length": 1,
"cwidth": 8,
"uitype": "code",
"datatype": "char",
"label": "匹配状态",
"data": [
{"value": "0", "text": "未匹配"},
{"value": "1", "text": "已匹配"},
{"value": "2", "text": "有差异"}
]
},
{
"name": "reference_no",
"title": "参考单号",
"type": "str",
"length": 50,
"cwidth": 15,
"uitype": "str",
"datatype": "str",
"label": "参考单号"
}
]
},
"data_filter": {
"AND": [
{"field": "sale_date", "op": ">=", "var": "date_start"},
{"field": "sale_date", "op": "<=", "var": "date_end"},
{"field": "sub_reseller_id", "op": "=", "var": "sub_reseller_id"},
{"field": "match_status", "op": "=", "var": "match_status"}
]
},
"filter_labels": {
"date_start": "开始日期",
"date_end": "结束日期",
"sub_reseller_id": "二级分销商",
"match_status": "匹配状态"
},
"page_rows": 160,
"cache_limit": 5
}
}
]
}

View File

@ -0,0 +1,234 @@
{
"widgettype": "VBox",
"options": {
"cheight": 40,
"width": "100%",
"padding": "16px"
},
"subwidgets": [
{
"widgettype": "Text",
"options": {
"text": "分销商对账",
"fontSize": "20px",
"fontWeight": "bold",
"color": "#F1F5F9",
"marginBottom": "16px"
}
},
{
"widgettype": "HBox",
"options": {
"bgcolor": "#1E293B",
"padding": "12px",
"borderRadius": "8px",
"marginBottom": "12px",
"gap": "16px"
},
"subwidgets": [
{
"widgettype": "Text",
"options": {
"text": "总应付款: --",
"fontSize": "14px",
"color": "#F1F5F9"
}
},
{
"widgettype": "Text",
"options": {
"text": "已结算: --",
"fontSize": "14px",
"color": "#F1F5F9"
}
},
{
"widgettype": "Text",
"options": {
"text": "未结算: --",
"fontSize": "14px",
"color": "#F1F5F9"
}
}
]
},
{
"id": "reseller_reconcile_form",
"widgettype": "InlineForm",
"options": {
"bgcolor": "#1E293B",
"padding": "12px",
"borderRadius": "8px",
"marginBottom": "12px",
"fields": [
{
"name": "date_start",
"uitype": "date",
"label": "开始日期",
"cwidth": 10,
"value": "{{strdate_add(monthfirstday(), months=-1)}}",
"required": true
},
{
"name": "date_end",
"uitype": "date",
"label": "结束日期",
"cwidth": 10,
"value": "{{monthfirstday()}}",
"required": true
},
{
"name": "sub_reseller_id",
"uitype": "code",
"label": "二级分销商",
"cwidth": 15,
"valueField": "sub_reseller_id",
"textField": "sub_reseller_id_text",
"params": {
"dbname": "{{get_module_dbname('supplychain')}}",
"table": "sub_resellers",
"tblvalue": "id",
"tbltext": "sub_reseller_name",
"valueField": "sub_reseller_id",
"textField": "sub_reseller_id_text"
},
"dataurl": "{{entire_url('/appbase/get_code.dspy')}}"
}
]
}
},
{
"id": "reseller_reconcile_tbl",
"widgettype": "Tabular",
"options": {
"width": "100%",
"height": "100%",
"title": "分销商对账汇总",
"css": "card",
"bgcolor": "#1E293B",
"data_url": "{{entire_url('./get_reseller_reconcile.dspy')}}",
"data_method": "GET",
"data_params": {{json.dumps(params_kw, indent=4, ensure_ascii=False)}},
"row_options": {
"browserfields": {
"exclouded": ["id"]
},
"fields": [
{
"name": "id",
"title": "ID",
"type": "str",
"length": 32,
"nullable": "no",
"cwidth": 18,
"uitype": "str",
"datatype": "str",
"label": "ID"
},
{
"name": "sub_reseller_id",
"title": "二级分销商",
"type": "str",
"length": 32,
"label": "二级分销商",
"uitype": "code",
"valueField": "sub_reseller_id",
"textField": "sub_reseller_id_text",
"params": {
"dbname": "{{get_module_dbname('supplychain')}}",
"table": "sub_resellers",
"tblvalue": "id",
"tbltext": "sub_reseller_name",
"valueField": "sub_reseller_id",
"textField": "sub_reseller_id_text"
},
"dataurl": "{{entire_url('/appbase/get_code.dspy')}}",
"cwidth": 20
},
{
"name": "reconcile_period",
"title": "对账周期",
"type": "str",
"length": 30,
"cwidth": 15,
"uitype": "str",
"datatype": "str",
"label": "对账周期"
},
{
"name": "total_amount",
"title": "总金额",
"type": "double",
"length": 15,
"dec": 2,
"cwidth": 15,
"uitype": "float",
"datatype": "double",
"label": "总金额"
},
{
"name": "settled_amount",
"title": "已结算金额",
"type": "double",
"length": 15,
"dec": 2,
"cwidth": 15,
"uitype": "float",
"datatype": "double",
"label": "已结算金额"
},
{
"name": "unsettled_amount",
"title": "未结算金额",
"type": "double",
"length": 15,
"dec": 2,
"cwidth": 15,
"uitype": "float",
"datatype": "double",
"label": "未结算金额"
},
{
"name": "reconcile_status",
"title": "对账状态",
"type": "char",
"length": 1,
"cwidth": 8,
"uitype": "code",
"datatype": "char",
"label": "对账状态",
"data": [
{"value": "0", "text": "待对账"},
{"value": "1", "text": "已确认"},
{"value": "2", "text": "有差异"}
]
},
{
"name": "created_at",
"title": "创建时间",
"type": "datetime",
"length": 0,
"uitype": "str",
"datatype": "datetime",
"label": "创建时间"
}
]
},
"data_filter": {
"AND": [
{"field": "date_start", "op": ">=", "var": "date_start"},
{"field": "date_end", "op": "<=", "var": "date_end"},
{"field": "sub_reseller_id", "op": "=", "var": "sub_reseller_id"}
]
},
"filter_labels": {
"date_start": "开始日期",
"date_end": "结束日期",
"sub_reseller_id": "二级分销商"
},
"page_rows": 160,
"cache_limit": 5
}
}
]
}

View File

@ -0,0 +1,269 @@
{
"widgettype": "VBox",
"options": {
"cheight": 40,
"width": "100%",
"padding": "16px"
},
"subwidgets": [
{
"widgettype": "Text",
"options": {
"text": "分销商结算",
"fontSize": "20px",
"fontWeight": "bold",
"color": "#F1F5F9",
"marginBottom": "16px"
}
},
{
"widgettype": "HBox",
"options": {
"bgcolor": "#1E293B",
"padding": "12px",
"borderRadius": "8px",
"marginBottom": "12px",
"gap": "16px"
},
"subwidgets": [
{
"widgettype": "Text",
"options": {
"text": "待结算总额: --",
"fontSize": "14px",
"color": "#F1F5F9"
}
},
{
"widgettype": "Text",
"options": {
"text": "本月已结算: --",
"fontSize": "14px",
"color": "#F1F5F9"
}
},
{
"widgettype": "Text",
"options": {
"text": "待处理笔数: --",
"fontSize": "14px",
"color": "#F1F5F9"
}
}
]
},
{
"id": "reseller_settlement_form",
"widgettype": "InlineForm",
"options": {
"bgcolor": "#1E293B",
"padding": "12px",
"borderRadius": "8px",
"marginBottom": "12px",
"fields": [
{
"name": "date_start",
"uitype": "date",
"label": "开始日期",
"cwidth": 10,
"value": "{{strdate_add(monthfirstday(), months=-1)}}",
"required": true
},
{
"name": "date_end",
"uitype": "date",
"label": "结束日期",
"cwidth": 10,
"value": "{{monthfirstday()}}",
"required": true
},
{
"name": "sub_reseller_id",
"uitype": "code",
"label": "二级分销商",
"cwidth": 15,
"valueField": "sub_reseller_id",
"textField": "sub_reseller_id_text",
"params": {
"dbname": "{{get_module_dbname('supplychain')}}",
"table": "sub_resellers",
"tblvalue": "id",
"tbltext": "sub_reseller_name",
"valueField": "sub_reseller_id",
"textField": "sub_reseller_id_text"
},
"dataurl": "{{entire_url('/appbase/get_code.dspy')}}"
},
{
"name": "settlement_status",
"uitype": "code",
"label": "结算状态",
"cwidth": 8,
"data": [
{"value": "", "text": "全部"},
{"value": "0", "text": "待结算"},
{"value": "1", "text": "已结算"},
{"value": "2", "text": "结算中"}
]
}
]
}
},
{
"id": "reseller_settlement_tbl",
"widgettype": "Tabular",
"options": {
"width": "100%",
"height": "100%",
"title": "分销商结算记录",
"css": "card",
"bgcolor": "#1E293B",
"editable": {
"update_data_url": "{{entire_url('./update_reseller_settlement.dspy')}}"
},
"data_url": "{{entire_url('./get_reseller_settlement.dspy')}}",
"data_method": "GET",
"data_params": {{json.dumps(params_kw, indent=4, ensure_ascii=False)}},
"row_options": {
"browserfields": {
"exclouded": ["id"]
},
"editexclouded": ["id", "sub_reseller_id", "settlement_period", "amount"],
"fields": [
{
"name": "id",
"title": "ID",
"type": "str",
"length": 32,
"nullable": "no",
"cwidth": 18,
"uitype": "str",
"datatype": "str",
"label": "ID"
},
{
"name": "sub_reseller_id",
"title": "二级分销商",
"type": "str",
"length": 32,
"label": "二级分销商",
"uitype": "code",
"valueField": "sub_reseller_id",
"textField": "sub_reseller_id_text",
"params": {
"dbname": "{{get_module_dbname('supplychain')}}",
"table": "sub_resellers",
"tblvalue": "id",
"tbltext": "sub_reseller_name",
"valueField": "sub_reseller_id",
"textField": "sub_reseller_id_text"
},
"dataurl": "{{entire_url('/appbase/get_code.dspy')}}",
"cwidth": 18
},
{
"name": "settlement_period",
"title": "结算周期",
"type": "str",
"length": 30,
"cwidth": 12,
"uitype": "str",
"datatype": "str",
"label": "结算周期"
},
{
"name": "amount",
"title": "结算金额",
"type": "double",
"length": 15,
"dec": 2,
"cwidth": 15,
"uitype": "float",
"datatype": "double",
"label": "结算金额"
},
{
"name": "settlement_status",
"title": "结算状态",
"type": "char",
"length": 1,
"cwidth": 8,
"uitype": "code",
"datatype": "char",
"label": "结算状态",
"data": [
{"value": "0", "text": "待结算"},
{"value": "1", "text": "已结算"},
{"value": "2", "text": "结算中"}
]
},
{
"name": "settlement_date",
"title": "结算日期",
"type": "date",
"length": 0,
"uitype": "date",
"datatype": "date",
"label": "结算日期",
"cwidth": 10
},
{
"name": "payment_method",
"title": "支付方式",
"type": "str",
"length": 30,
"cwidth": 10,
"uitype": "str",
"datatype": "str",
"label": "支付方式"
},
{
"name": "reference_no",
"title": "结算单号",
"type": "str",
"length": 50,
"cwidth": 15,
"uitype": "str",
"datatype": "str",
"label": "结算单号"
},
{
"name": "remark",
"title": "备注",
"type": "text",
"length": 0,
"uitype": "text",
"datatype": "text",
"label": "备注"
},
{
"name": "created_at",
"title": "创建时间",
"type": "datetime",
"length": 0,
"uitype": "str",
"datatype": "datetime",
"label": "创建时间"
}
]
},
"data_filter": {
"AND": [
{"field": "date_start", "op": ">=", "var": "date_start"},
{"field": "date_end", "op": "<=", "var": "date_end"},
{"field": "sub_reseller_id", "op": "=", "var": "sub_reseller_id"},
{"field": "settlement_status", "op": "=", "var": "settlement_status"}
]
},
"filter_labels": {
"date_start": "开始日期",
"date_end": "结束日期",
"sub_reseller_id": "二级分销商",
"settlement_status": "结算状态"
},
"page_rows": 160,
"cache_limit": 5
}
}
]
}