From fa57ab7092ee4e6caeb259e396404f5283523350 Mon Sep 17 00:00:00 2001 From: Hermes Agent Date: Thu, 18 Jun 2026 13:33:18 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E5=88=86=E9=94=80?= =?UTF-8?q?=E5=95=86=E7=BB=93=E7=AE=97=E5=92=8C=E4=BE=9B=E5=BA=94=E5=95=86?= =?UTF-8?q?=E8=B4=A2=E5=8A=A17=E4=B8=AA=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 分销商结算: - 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待后续创建 --- wwwroot/provider_detail_reconcile.ui | 281 +++++++++++++++++++++++++++ wwwroot/provider_recharge.ui | 260 +++++++++++++++++++++++++ wwwroot/provider_reconcile.ui | 234 ++++++++++++++++++++++ wwwroot/provider_settlement.ui | 270 +++++++++++++++++++++++++ wwwroot/reseller_detail_reconcile.ui | 281 +++++++++++++++++++++++++++ wwwroot/reseller_reconcile.ui | 234 ++++++++++++++++++++++ wwwroot/reseller_settlement.ui | 269 +++++++++++++++++++++++++ 7 files changed, 1829 insertions(+) create mode 100644 wwwroot/provider_detail_reconcile.ui create mode 100644 wwwroot/provider_recharge.ui create mode 100644 wwwroot/provider_reconcile.ui create mode 100644 wwwroot/provider_settlement.ui create mode 100644 wwwroot/reseller_detail_reconcile.ui create mode 100644 wwwroot/reseller_reconcile.ui create mode 100644 wwwroot/reseller_settlement.ui diff --git a/wwwroot/provider_detail_reconcile.ui b/wwwroot/provider_detail_reconcile.ui new file mode 100644 index 0000000..6e72555 --- /dev/null +++ b/wwwroot/provider_detail_reconcile.ui @@ -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 + } + } + ] +} diff --git a/wwwroot/provider_recharge.ui b/wwwroot/provider_recharge.ui new file mode 100644 index 0000000..5082e61 --- /dev/null +++ b/wwwroot/provider_recharge.ui @@ -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 + } + } + ] +} diff --git a/wwwroot/provider_reconcile.ui b/wwwroot/provider_reconcile.ui new file mode 100644 index 0000000..4cb8c33 --- /dev/null +++ b/wwwroot/provider_reconcile.ui @@ -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 + } + } + ] +} diff --git a/wwwroot/provider_settlement.ui b/wwwroot/provider_settlement.ui new file mode 100644 index 0000000..c0d9478 --- /dev/null +++ b/wwwroot/provider_settlement.ui @@ -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 + } + } + ] +} diff --git a/wwwroot/reseller_detail_reconcile.ui b/wwwroot/reseller_detail_reconcile.ui new file mode 100644 index 0000000..65f297d --- /dev/null +++ b/wwwroot/reseller_detail_reconcile.ui @@ -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 + } + } + ] +} diff --git a/wwwroot/reseller_reconcile.ui b/wwwroot/reseller_reconcile.ui new file mode 100644 index 0000000..7226392 --- /dev/null +++ b/wwwroot/reseller_reconcile.ui @@ -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 + } + } + ] +} diff --git a/wwwroot/reseller_settlement.ui b/wwwroot/reseller_settlement.ui new file mode 100644 index 0000000..2bacb69 --- /dev/null +++ b/wwwroot/reseller_settlement.ui @@ -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 + } + } + ] +}