feat: add wwwroot/index.ui as module entry point

Integrate all module .ui and .dspy files into a single navigation page
using {{entire_url()}} for all path references.
This commit is contained in:
yumoqing 2026-05-05 19:04:03 +08:00
parent 1a02cd218b
commit 9ebfeb6dda

211
wwwroot/index.ui Normal file
View File

@ -0,0 +1,211 @@
{
"widgettype": "VBox",
"options": {
"width": "100%",
"height": "100%",
"padding": "20px",
"backgroundColor": "#F9FAFB"
},
"subwidgets": [
{
"widgettype": "Text",
"options": {
"label": "合同管理",
"fontSize": "24px",
"fontWeight": "bold",
"color": "#1E40AF",
"marginBottom": "20px"
}
},
{
"widgettype": "ResponsableBox",
"options": {
"gap": "16px",
"minWidth": "250px"
},
"subwidgets": [
{
"widgettype": "VBox",
"options": {
"backgroundColor": "#FFFFFF",
"borderRadius": "8px",
"padding": "20px",
"boxShadow": "0 1px 3px rgba(0,0,0,0.1)",
"cursor": "pointer"
},
"binds": [
{
"wid": "self",
"event": "click",
"actiontype": "urlwidget",
"target": "app.contract_content",
"options": {
"url": "{{entire_url('contract_list.ui')}}"
},
"mode": "replace"
}
],
"subwidgets": [
{
"widgettype": "Text",
"options": {
"label": "合同列表",
"fontSize": "18px",
"fontWeight": "bold",
"color": "#1E40AF"
}
},
{
"widgettype": "Text",
"options": {
"label": "查看所有合同及执行状态",
"fontSize": "14px",
"color": "#6B7280",
"marginTop": "8px"
}
}
]
},
{
"widgettype": "VBox",
"options": {
"backgroundColor": "#FFFFFF",
"borderRadius": "8px",
"padding": "20px",
"boxShadow": "0 1px 3px rgba(0,0,0,0.1)",
"cursor": "pointer"
},
"binds": [
{
"wid": "self",
"event": "click",
"actiontype": "urlwidget",
"target": "app.contract_content",
"options": {
"url": "{{entire_url('contract_edit.ui')}}"
},
"mode": "replace"
}
],
"subwidgets": [
{
"widgettype": "Text",
"options": {
"label": "新建合同",
"fontSize": "18px",
"fontWeight": "bold",
"color": "#059669"
}
},
{
"widgettype": "Text",
"options": {
"label": "创建新的合同记录",
"fontSize": "14px",
"color": "#6B7280",
"marginTop": "8px"
}
}
]
},
{
"widgettype": "VBox",
"options": {
"backgroundColor": "#FFFFFF",
"borderRadius": "8px",
"padding": "20px",
"boxShadow": "0 1px 3px rgba(0,0,0,0.1)",
"cursor": "pointer"
},
"binds": [
{
"wid": "self",
"event": "click",
"actiontype": "urlwidget",
"target": "app.contract_content",
"options": {
"url": "{{entire_url('contract_detail.ui')}}"
},
"mode": "replace"
}
],
"subwidgets": [
{
"widgettype": "Text",
"options": {
"label": "合同详情",
"fontSize": "18px",
"fontWeight": "bold",
"color": "#D97706"
}
},
{
"widgettype": "Text",
"options": {
"label": "查看合同详细信息及里程碑",
"fontSize": "14px",
"color": "#6B7280",
"marginTop": "8px"
}
}
]
},
{
"widgettype": "VBox",
"options": {
"backgroundColor": "#FFFFFF",
"borderRadius": "8px",
"padding": "20px",
"boxShadow": "0 1px 3px rgba(0,0,0,0.1)",
"cursor": "pointer"
},
"binds": [
{
"wid": "self",
"event": "click",
"actiontype": "urlwidget",
"target": "app.contract_content",
"options": {
"url": "{{entire_url('ai_config.ui')}}"
},
"mode": "replace"
}
],
"subwidgets": [
{
"widgettype": "Text",
"options": {
"label": "AI配置",
"fontSize": "18px",
"fontWeight": "bold",
"color": "#7C3AED"
}
},
{
"widgettype": "Text",
"options": {
"label": "合同AI分析配置",
"fontSize": "14px",
"color": "#6B7280",
"marginTop": "8px"
}
}
]
}
]
},
{
"widgettype": "VBox",
"id": "contract_content",
"options": {
"width": "100%",
"flex": "1",
"marginTop": "20px",
"backgroundColor": "#FFFFFF",
"borderRadius": "8px",
"padding": "20px",
"boxShadow": "0 1px 3px rgba(0,0,0,0.1)"
}
}
]
}