feat(web): 同步当前原型页与工具配置改动

统一提交当前工作区内的页面原型调整、新增运维相关页面以及本地工具配置目录变更,便于整体同步到远端环境继续联调与演示。

Made-with: Cursor
This commit is contained in:
王冕
2026-04-01 13:28:56 +08:00
parent 2a903b2cb4
commit 2018e34473
58 changed files with 13843 additions and 2137 deletions

View File

@@ -33,8 +33,11 @@ const Component = function () {
var pageBg = '#f5f7fa';
var cardRadius = 12;
var cardShadow = '0 1px 2px rgba(0,0,0,0.04), 0 4px 12px rgba(0,0,0,0.06)';
var cardStyle = { borderRadius: cardRadius, boxShadow: cardShadow, border: '1px solid rgba(0,0,0,0.04)' };
var cardShadow = '0 1px 2px rgba(0,0,0,0.04), 0 6px 16px rgba(15,23,42,0.06)';
var cardStyle = { borderRadius: cardRadius, boxShadow: cardShadow, border: '1px solid rgba(0,0,0,0.05)' };
var pagePadY = 16;
var pagePadX = 20;
var layoutGutter = 16;
var accentBlue = '#1677ff';
var accentPurple = '#722ed1';
var accentCyan = '#13c2c2';
@@ -145,7 +148,7 @@ const Component = function () {
var g1 = 'linear-gradient(135deg,#fff1f0,#ffccc7)';
var g2 = 'linear-gradient(135deg,#fff7e6,#ffd591)';
var g3 = 'linear-gradient(135deg,#f9f0ff,#efdbff)';
var g4 = 'linear-gradient(135deg,#e6f4ff,#bae0ff)';
var g4 = 'linear-gradient(135deg,#f0f5ff,#d6e4ff)';
var g5 = 'linear-gradient(135deg,#e6fffb,#b5f5ec)';
return {
ops: [
@@ -1232,7 +1235,7 @@ const Component = function () {
bordered: false,
style: cardStyleMerged,
bodyStyle: {
padding: '12px 12px',
padding: '14px 16px',
flex: 1,
display: 'flex',
flexDirection: 'column',
@@ -1251,13 +1254,13 @@ const Component = function () {
tabIndex: onClick ? 0 : undefined,
role: onClick ? 'button' : undefined
},
React.createElement('div', { style: { display: 'flex', alignItems: 'center', gap: 10, width: '100%', boxSizing: 'border-box' } },
React.createElement('div', { style: { display: 'flex', alignItems: 'center', gap: 10, flex: 1, minWidth: 0 } },
React.createElement('div', { style: { display: 'flex', alignItems: 'center', gap: 12, width: '100%', boxSizing: 'border-box' } },
React.createElement('div', { style: { display: 'flex', alignItems: 'center', gap: 12, flex: 1, minWidth: 0 } },
React.createElement('div', {
style: {
width: 40,
height: 40,
borderRadius: 8,
borderRadius: 10,
background: s.iconBg,
display: 'flex',
alignItems: 'center',
@@ -1458,11 +1461,11 @@ const Component = function () {
'.workbench-task-bar-chart{flex:1;min-height:80px;width:100%;display:flex;align-items:stretch;gap:6px;overflow-x:auto;overflow-y:hidden;box-sizing:border-box}' +
'.workbench-payment-report-pane{flex:1;min-height:0;display:flex;flex-direction:column;height:100%;padding:8px 0 0;box-sizing:border-box;overflow:hidden}' +
'.workbench-payment-donut-hold{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:auto;box-sizing:border-box}' +
'.workbench-main-split{display:flex!important;flex-direction:column!important;gap:12px;flex:1;min-height:0;width:100%;overflow:hidden}' +
'.workbench-main-split{display:flex!important;flex-direction:column!important;gap:' + layoutGutter + 'px;flex:1;min-height:0;width:100%;overflow:hidden}' +
'.workbench-main-split>.ant-row.workbench-todo-notice-row,.workbench-main-split>.ant-row.workbench-report-quick-row{flex:1 1 0!important;min-height:0!important;height:auto!important;max-height:none!important;margin:0!important;overflow:hidden}' +
'.workbench-todo-notice-row>.ant-col,.workbench-report-quick-row>.ant-col{display:flex!important;flex-direction:column;min-height:0}' +
'.workbench-notice-slot,.workbench-todo-slot,.workbench-report-slot{min-height:0}' +
'.workbench-dash-pair-head.ant-card .ant-card-head{min-height:56px;padding:0 16px;display:flex;align-items:center;border-bottom:1px solid rgba(0,0,0,0.06)}' +
'.workbench-dash-pair-head.ant-card .ant-card-head{min-height:56px;padding:0 18px;display:flex;align-items:center;border-bottom:1px solid rgba(0,0,0,0.06)}' +
'.workbench-dash-pair-head.ant-card .ant-card-head-title,.workbench-dash-pair-head-title{font-size:16px;font-weight:600;line-height:24px;color:rgba(0,0,0,0.88)}' +
'.workbench-dash-pair-head.ant-card .ant-card-extra{padding:0}' +
'.workbench-dash-pair-head.ant-card .ant-card-body{padding-top:10px!important}' +
@@ -1512,7 +1515,14 @@ const Component = function () {
'.workbench-warning-metric-card.ant-card{display:flex!important;flex-direction:column!important;height:100%!important;min-height:inherit}' +
'.workbench-warning-metric-card.ant-card .ant-card-body{flex:1!important;display:flex!important;flex-direction:column!important;justify-content:center!important;min-height:0!important}' +
'.workbench-metric-hint-icon:hover{color:rgba(22,119,255,0.9)!important}' +
'.workbench-metric-hint-icon:focus-visible{outline:2px solid rgba(22,119,255,0.35);outline-offset:2px;border-radius:4px}';
'.workbench-metric-hint-icon:focus-visible{outline:2px solid rgba(22,119,255,0.35);outline-offset:2px;border-radius:4px}' +
'.workbench-one-screen .ant-breadcrumb{font-size:13px;line-height:1.5}' +
'.workbench-one-screen .ant-breadcrumb a,.workbench-one-screen .ant-breadcrumb .ant-breadcrumb-link{color:rgba(0,0,0,0.65)}' +
'.workbench-one-screen .ant-breadcrumb li:last-child .ant-breadcrumb-link{color:rgba(0,0,0,0.88);font-weight:500}' +
'.workbench-report-tabs .ant-tabs-ink-bar{background:#1677ff;height:2px;border-radius:1px}' +
'.workbench-report-tabs .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:rgba(0,0,0,0.88);font-weight:600}' +
'.workbench-report-slot .ant-card .ant-card-head{min-height:52px;padding:0 18px;border-bottom:1px solid rgba(0,0,0,0.06)}' +
'.workbench-report-slot .ant-card .ant-card-head-title{font-size:16px;font-weight:600;color:rgba(0,0,0,0.88)}';
return React.createElement(App, null,
React.createElement('div', {
@@ -1520,7 +1530,7 @@ const Component = function () {
style: {
boxSizing: 'border-box',
height: '100vh',
padding: '12px 16px 12px',
padding: pagePadY + 'px ' + pagePadX + 'px ' + pagePadY + 'px',
background: pageBg,
overflow: 'hidden',
display: 'flex',
@@ -1529,8 +1539,8 @@ const Component = function () {
},
React.createElement('style', null, oneScreenCss),
React.createElement('div', { style: { flexShrink: 0, marginBottom: 10 } },
React.createElement('div', { style: { display: 'flex', alignItems: 'center', justifyContent: 'space-between', marginBottom: 8, flexWrap: 'wrap', gap: 8 } },
React.createElement('div', { style: { flexShrink: 0, marginBottom: 12, paddingBottom: 12, borderBottom: '1px solid rgba(0,0,0,0.06)' } },
React.createElement('div', { style: { display: 'flex', alignItems: 'center', justifyContent: 'space-between', marginBottom: 10, flexWrap: 'wrap', gap: 10 } },
React.createElement(Breadcrumb, { items: [{ title: '运管平台' }, { title: '工作台' }] }),
React.createElement('div', { style: { display: 'flex', alignItems: 'center', gap: 8, flexWrap: 'wrap', justifyContent: 'flex-end', minWidth: 0 } },
React.createElement(Tabs, {
@@ -1543,32 +1553,32 @@ const Component = function () {
})
)
),
React.createElement(Title, { level: 5, style: { margin: 0, fontWeight: 600 } }, '欢迎回来,' + mockOperatorDisplayName)
React.createElement(Title, { level: 5, style: { margin: 0, fontWeight: 600, fontSize: 18, color: 'rgba(0,0,0,0.88)', letterSpacing: '-0.01em' } }, '欢迎回来,' + mockOperatorDisplayName)
),
React.createElement('div', { style: { flexShrink: 0, marginBottom: 10, boxSizing: 'border-box' } },
React.createElement('div', { className: 'workbench-top-metrics', style: { display: 'flex', flexWrap: 'wrap', gap: 10, alignItems: 'stretch' } },
React.createElement('div', { style: { flexShrink: 0, marginBottom: 12, boxSizing: 'border-box' } },
React.createElement('div', { className: 'workbench-top-metrics', style: { display: 'flex', flexWrap: 'wrap', gap: layoutGutter, alignItems: 'stretch' } },
React.createElement('div', {
className: 'workbench-warning-cards' + (warningDeptKey === 'finance' ? ' workbench-warning-cards--finance' : ''),
style: warningDeptKey === 'finance'
? { flex: '1 1 100%', display: 'flex', flexDirection: 'column', gap: 10, alignItems: 'stretch', minWidth: 0, width: '100%' }
: { flex: '1 1 280px', display: 'flex', flexWrap: 'wrap', gap: 10, alignItems: 'stretch', minWidth: 0 }
? { flex: '1 1 100%', display: 'flex', flexDirection: 'column', gap: layoutGutter, alignItems: 'stretch', minWidth: 0, width: '100%' }
: { flex: '1 1 280px', display: 'flex', flexWrap: 'wrap', gap: layoutGutter, alignItems: 'stretch', minWidth: 0 }
},
warningDeptKey === 'finance'
? [
React.createElement('div', {
key: 'wb-fin-row1',
style: { display: 'flex', flexWrap: 'wrap', gap: 10, width: '100%', alignItems: 'stretch' }
style: { display: 'flex', flexWrap: 'wrap', gap: layoutGutter, width: '100%', alignItems: 'stretch' }
}, warningCardsVisible.slice(0, 5).map(function (s) { return renderWarningMetricCardItem(s); })),
React.createElement('div', {
key: 'wb-fin-row2',
style: { display: 'flex', flexWrap: 'wrap', gap: 10, width: '100%', alignItems: 'stretch' }
style: { display: 'flex', flexWrap: 'wrap', gap: layoutGutter, width: '100%', alignItems: 'stretch' }
}, warningCardsVisible.slice(5).map(function (s) { return renderWarningMetricCardItem(s); }))
]
: warningCardsVisible.map(function (s) { return renderWarningMetricCardItem(s); })
)
)
),
React.createElement(Row, { gutter: [12, 12], align: 'stretch', style: { flex: 1, minHeight: 0, overflow: 'hidden' } },
React.createElement(Row, { gutter: [layoutGutter, layoutGutter], align: 'stretch', style: { flex: 1, minHeight: 0, overflow: 'hidden' } },
React.createElement(Col, {
xs: 24,
lg: 24,
@@ -1578,7 +1588,7 @@ const Component = function () {
},
React.createElement(Row, {
className: 'workbench-todo-notice-row',
gutter: [12, 12],
gutter: [layoutGutter, layoutGutter],
align: 'stretch',
wrap: true,
style: { minHeight: 0, flex: '1 1 0', margin: 0 }
@@ -1633,7 +1643,7 @@ const Component = function () {
),
React.createElement(Row, {
className: 'workbench-report-quick-row',
gutter: [12, 12],
gutter: [layoutGutter, layoutGutter],
align: 'stretch',
wrap: true,
style: { minHeight: 0, flex: '1 1 0', margin: 0 }