feat: 部署到服务器+移动端适配+帮助系统RAG集成+网页图标
- 部署脚本 deploy.sh:一键部署到 154.8.162.18,端口3400,Nginx conf.d - 应用名改为「企业用工专家」(登录/注册/侧边栏/员工端等6处) - 移动端适配修复:Attendance/Dashboard/Settings/Contracts 6处grid响应式 - 帮助系统:HelpModal 组件 + TopNav 帮助图标 + RAG语义搜索集成 - 后端 rag.service.ts 新增23条帮助种子数据 + searchHelp() - 前端搜索调用 /ai/rag/help-search,RAG不可用时回退关键词匹配 - 网页图标 favicon.svg(indigo主色+建筑人形图案) - index.html 标题改为「企业用工专家」
This commit is contained in:
@@ -56,7 +56,7 @@ export default function Attendance() {
|
||||
|
||||
{/* 统计卡片 */}
|
||||
{stats && (
|
||||
<div className="grid grid-cols-4 gap-2">
|
||||
<div className="grid grid-cols-2 sm:grid-cols-4 gap-2">
|
||||
{[
|
||||
{ label: '总计', value: stats.total, color: 'text-gray-700' },
|
||||
{ label: '待确认', value: stats.pending, color: 'text-amber-600' },
|
||||
|
||||
@@ -318,7 +318,7 @@ function AddEmployeeModal({ open, onClose, onSubmit, loading, error }: {
|
||||
</div>
|
||||
|
||||
{form.contractType === 'FIXED' && (
|
||||
<div className="grid grid-cols-3 gap-3">
|
||||
<div className="grid grid-cols-1 sm:grid-cols-3 gap-3">
|
||||
<div>
|
||||
<Label>合同结束日期</Label>
|
||||
<Input type="date" value={form.endDate} onChange={(e) => setForm({ ...form, endDate: e.target.value })} />
|
||||
|
||||
@@ -727,7 +727,7 @@ export default function Dashboard() {
|
||||
{/* 企业成本 */}
|
||||
<div className="border-t pt-2 space-y-2">
|
||||
<div className="text-xs font-medium text-gray-600 mb-1">企业用工成本</div>
|
||||
<div className="grid grid-cols-3 gap-2">
|
||||
<div className="grid grid-cols-1 sm:grid-cols-3 gap-2">
|
||||
<div className="flex items-center justify-between p-2 rounded-md bg-blue-50">
|
||||
<span className="text-xs text-gray-500 flex items-center gap-1"><Building2 className="w-3 h-3" />企业社保</span>
|
||||
<span className="text-xs font-medium text-blue-700">{fmt(payroll.socialOrg)}</span>
|
||||
|
||||
@@ -174,7 +174,7 @@ function RetirementSection({ enabled, onToggle }: { enabled: boolean; onToggle:
|
||||
const renderPolicyRules = () => (
|
||||
<div className="space-y-2">
|
||||
<div className="text-xs font-medium text-gray-600">改革规则(基准退休年龄 → 目标退休年龄)</div>
|
||||
<div className="grid grid-cols-3 gap-2">
|
||||
<div className="grid grid-cols-1 sm:grid-cols-3 gap-2">
|
||||
<div className="bg-white rounded-md p-2 text-center border border-gray-200">
|
||||
<div className="text-xs text-gray-500">男性职工</div>
|
||||
<div className="text-sm font-semibold text-gray-700">60岁 → 63岁</div>
|
||||
@@ -562,7 +562,7 @@ function PlanSettings({ orgData }: { orgData: any }) {
|
||||
{usageData && (
|
||||
<Card>
|
||||
<h3 className="text-xs font-medium text-gray-700 mb-3">当前用量</h3>
|
||||
<div className="grid grid-cols-3 gap-4 text-xs">
|
||||
<div className="grid grid-cols-1 sm:grid-cols-3 gap-4 text-xs">
|
||||
<div>
|
||||
<div className="text-gray-500">员工数</div>
|
||||
<div className="font-medium text-base">{usageData.employeeCount}<span className="text-gray-500 text-xs">/{usageData.maxEmployees}</span></div>
|
||||
|
||||
@@ -60,7 +60,7 @@ export default function ForgotPassword() {
|
||||
<div className="w-full max-w-sm">
|
||||
<div className="flex items-center justify-center gap-2 mb-8">
|
||||
<Building2 className="w-8 h-8 text-primary" />
|
||||
<span className="text-xl font-bold">用工合规助手</span>
|
||||
<span className="text-xl font-bold">企业用工专家</span>
|
||||
</div>
|
||||
|
||||
<div className="card">
|
||||
|
||||
@@ -50,7 +50,7 @@ export default function Login() {
|
||||
<div className="w-full max-w-sm">
|
||||
<div className="flex items-center justify-center gap-2 mb-8">
|
||||
<Building2 className="w-8 h-8 text-primary" />
|
||||
<span className="text-xl font-bold">用工合规助手</span>
|
||||
<span className="text-xl font-bold">企业用工专家</span>
|
||||
</div>
|
||||
|
||||
<div className="card">
|
||||
|
||||
@@ -51,7 +51,7 @@ export default function Register() {
|
||||
<div className="w-full max-w-sm">
|
||||
<div className="flex items-center justify-center gap-2 mb-8">
|
||||
<Building2 className="w-8 h-8 text-primary" />
|
||||
<span className="text-xl font-bold">用工合规助手</span>
|
||||
<span className="text-xl font-bold">企业用工专家</span>
|
||||
</div>
|
||||
|
||||
<div className="card">
|
||||
|
||||
@@ -64,7 +64,7 @@ export default function PortalLogin() {
|
||||
<div className="w-full max-w-sm">
|
||||
<div className="flex items-center justify-center gap-2 mb-8">
|
||||
<Building2 className="w-8 h-8 text-primary" />
|
||||
<span className="text-base font-bold">用工合规助手 — 员工端</span>
|
||||
<span className="text-base font-bold">企业用工专家 — 员工端</span>
|
||||
</div>
|
||||
|
||||
<div className="card">
|
||||
|
||||
Reference in New Issue
Block a user