feat(web): 同步当前原型页与工具配置改动
统一提交当前工作区内的页面原型调整、新增运维相关页面以及本地工具配置目录变更,便于整体同步到远端环境继续联调与演示。 Made-with: Cursor
This commit is contained in:
56
web端/工作台.jsx
56
web端/工作台.jsx
@@ -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 }
|
||||
|
||||
Reference in New Issue
Block a user