文字大小修改

This commit is contained in:
2026-10-19 09:21:38 +08:00
parent 89271e545b
commit b4b0c1bb42
6 changed files with 28 additions and 28 deletions
+6 -6
View File
@@ -262,19 +262,19 @@ onMounted(() => {
<div class="space-y-2.5"> <div class="space-y-2.5">
<div class="grid grid-cols-2 gap-2"> <div class="grid grid-cols-2 gap-2">
<div class="rounded-lg bg-red-50 px-3 py-2"> <div class="rounded-lg bg-red-50 px-3 py-2">
<div class="text-[11px] text-[var(--error-color)]">新增固有高风险项</div> <div class="text-xs text-[var(--error-color)]">新增固有高风险项</div>
<div class="text-xl font-bold text-[var(--error-color)]">{{homeData?.risk?.inherent_high || 0}}</div> <div class="text-xl font-bold text-[var(--error-color)]">{{homeData?.risk?.inherent_high || 0}}</div>
</div> </div>
<div class="rounded-lg bg-amber-50 px-3 py-2"> <div class="rounded-lg bg-amber-50 px-3 py-2">
<div class="text-[11px] text-[var(--warning-color)]">新增中风险项</div> <div class="text-xs text-[var(--warning-color)]">新增中风险项</div>
<div class="text-xl font-bold text-[var(--warning-color)]">{{homeData?.risk?.inherent_mid || 0}}</div> <div class="text-xl font-bold text-[var(--warning-color)]">{{homeData?.risk?.inherent_mid || 0}}</div>
</div> </div>
<div class="rounded-lg bg-slate-50 px-3 py-2"> <div class="rounded-lg bg-slate-50 px-3 py-2">
<div class="text-[11px] text-slate-500">剩余高风险项</div> <div class="text-xs text-slate-500">剩余高风险项</div>
<div class="text-xl font-bold text-slate-800">{{homeData?.risk?.residual_high || 0}}</div> <div class="text-xl font-bold text-slate-800">{{homeData?.risk?.residual_high || 0}}</div>
</div> </div>
<div class="rounded-lg bg-slate-50 px-3 py-2"> <div class="rounded-lg bg-slate-50 px-3 py-2">
<div class="text-[11px] text-slate-500">剩余中风险项</div> <div class="text-xs text-slate-500">剩余中风险项</div>
<div class="text-xl font-bold text-slate-800">{{homeData?.risk?.residual_mid || 0}}</div> <div class="text-xl font-bold text-slate-800">{{homeData?.risk?.residual_mid || 0}}</div>
</div> </div>
</div> </div>
@@ -305,11 +305,11 @@ onMounted(() => {
</div> </div>
<RingChart2 v-if="homeData" :data="homeData?.invest?.items" :range="dateLabel" /> <RingChart2 v-if="homeData" :data="homeData?.invest?.items" :range="dateLabel" />
<div class="flex items-center justify-between border-slate-200 pt-1.5"> <div class="flex items-center justify-between border-slate-200 pt-1.5">
<span class="text-[11px] text-slate-400">投入合计(变更材料和实施费) · 完全达到率 {{homeData?.invest?.full_rate || 0}}%</span> <span class="text-xs text-slate-400">投入合计(变更材料和实施费) · 完全达到率 {{homeData?.invest?.full_rate || 0}}%</span>
<span class="text-xs font-bold text-[var(--theme-color)]">{{homeData?.invest?.total_fee || 0}} 万元</span> <span class="text-xs font-bold text-[var(--theme-color)]">{{homeData?.invest?.total_fee || 0}} 万元</span>
</div> </div>
<div @click="jumpTo('my_effect')" <div @click="jumpTo('my_effect')"
class="cursor-pointer mt-3 flex w-full items-center justify-center gap-1 rounded-lg border border-dashed py-2 text-[11px] text-slate-400 transition hover:border-[#6E93C6] hover:text-[#1D4E9C]"> class="cursor-pointer mt-3 flex w-full items-center justify-center gap-1 rounded-lg border border-dashed py-2 text-xs text-slate-400 transition hover:border-[#6E93C6] hover:text-[#1D4E9C]">
验收明细(名称 / 日期链 / 费用 / 结论)见左边栏「变更投入和效果」<ChevronRight class="h-3 w-3" /> 验收明细(名称 / 日期链 / 费用 / 结论)见左边栏「变更投入和效果」<ChevronRight class="h-3 w-3" />
</div> </div>
</NCard> </NCard>
+2 -2
View File
@@ -150,7 +150,7 @@ onMounted(() => {
</NButton> </NButton>
</div> </div>
<div class="rounded-lg bg-white shadow-[0_2px_8px_rgba(0,0,0,0.06)]"> <div class="rounded-lg bg-white shadow-[0_2px_8px_rgba(0,0,0,0.06)]">
<div class="flex items-center gap-3 border-b bg-slate-50 px-4 py-2 text-[11px] font-semibold text-slate-500"> <div class="flex items-center gap-3 border-b bg-slate-50 px-4 py-2 text-xs font-semibold text-slate-500">
<span class="min-w-0 flex-1">变更名称 / 编号</span> <span class="min-w-0 flex-1">变更名称 / 编号</span>
<span class="w-[92px] shrink-0">申请日期</span> <span class="w-[92px] shrink-0">申请日期</span>
<span class="w-[92px] shrink-0">投用日期</span> <span class="w-[92px] shrink-0">投用日期</span>
@@ -190,7 +190,7 @@ onMounted(() => {
<NTag v-if="r.duration_type===2" size="small" type="warning">临时</NTag> <NTag v-if="r.duration_type===2" size="small" type="warning">临时</NTag>
<NTag v-if="r.duration_type===1" size="small" type="info">永久</NTag> <NTag v-if="r.duration_type===1" size="small" type="info">永久</NTag>
</span> </span>
<span class="mt-0.5 block font-mono text-[11px] text-slate-400">{{ r.change_no }} · {{ r.applicant_name }} · 费用取验收时填报的「变更材料和实施费」</span> <span class="mt-1 block text-xs text-slate-400">{{ r.change_no }} · {{ r.applicant_name }} · 费用取验收时填报的「变更材料和实施费」</span>
</span> </span>
<span class="w-[92px] shrink-0 text-xs text-slate-600">{{ r.apply_time?.slice(0,10) }}</span> <span class="w-[92px] shrink-0 text-xs text-slate-600">{{ r.apply_time?.slice(0,10) }}</span>
<span class="w-[92px] shrink-0 text-xs text-slate-600">{{ r.use_time?.slice(0,10) }}</span> <span class="w-[92px] shrink-0 text-xs text-slate-600">{{ r.use_time?.slice(0,10) }}</span>
+1 -1
View File
@@ -89,7 +89,7 @@ onMounted(() => {
<div class="flex flex-wrap items-center gap-3"> <div class="flex flex-wrap items-center gap-3">
<div class="min-w-0 flex-1"> <div class="min-w-0 flex-1">
<div class="text-sm font-semibold text-slate-800 dark:text-white">{{ d.title }}</div> <div class="text-sm font-semibold text-slate-800 dark:text-white">{{ d.title }}</div>
<div class="mt-1 flex flex-wrap items-center gap-2 text-[11px] text-slate-400"> <div class="mt-1 flex flex-wrap items-center gap-2 text-xs text-slate-400">
<span class="font-mono">{{ d.change_no }}</span> <span class="font-mono">{{ d.change_no }}</span>
<span>保存于 {{ d.updated_at }}</span> <span>保存于 {{ d.updated_at }}</span>
</div> </div>
+9 -9
View File
@@ -349,7 +349,7 @@ onMounted(() => {
<div v-if="item.status!=='REJECTED'" class="min-w-0 flex-1"> <div v-if="item.status!=='REJECTED'" class="min-w-0 flex-1">
<div class="flex flex-wrap items-center gap-2"> <div class="flex flex-wrap items-center gap-2">
<!-- 变更编号 --> <!-- 变更编号 -->
<span class="font-mono text-[11px] text-slate-400">{{ c.change_no }}</span> <span class="text-xs text-slate-400">{{ c.change_no }}</span>
<!-- 变更等级 --> <!-- 变更等级 -->
<NTag <NTag
size="small" size="small"
@@ -378,10 +378,10 @@ onMounted(() => {
</div> </div>
<div class="mt-1 flex flex-wrap items-baseline gap-x-2"> <div class="mt-1 flex flex-wrap items-baseline gap-x-2">
<span class="text-sm font-medium text-slate-800">{{ c.title }}</span> <span class="text-sm font-medium text-slate-800">{{ c.title }}</span>
<span v-if="c.apply_time" class="text-[11px] text-slate-400">申请 {{ c.apply_time.slice(0, 16) }}</span> <span v-if="c.apply_time" class="text-xs text-slate-400">申请 {{ c.apply_time.slice(0, 16) }}</span>
</div> </div>
<!-- 当前节点与会签成员进度;状态更新时间跟在审核人员名字后面 --> <!-- 当前节点与会签成员进度;状态更新时间跟在审核人员名字后面 -->
<div class="mt-1 flex flex-wrap items-center gap-1.5 text-[11px]"> <div class="mt-1 flex flex-wrap items-center gap-1.5 text-xs">
<span class="text-slate-400">当前节点</span> <span class="text-slate-400">当前节点</span>
<span class="font-medium text-slate-600">{{ c.step_name }}</span> <span class="font-medium text-slate-600">{{ c.step_name }}</span>
<div v-if="c.current_step_members && c.current_step_members.length" class="flex items-center gap-1"> <div v-if="c.current_step_members && c.current_step_members.length" class="flex items-center gap-1">
@@ -471,8 +471,8 @@ onMounted(() => {
<NDrawerContent title="变更进度"> <NDrawerContent title="变更进度">
<div class="rounded-lg border bg-slate-50/60 px-3 py-2.5"> <div class="rounded-lg border bg-slate-50/60 px-3 py-2.5">
<div class="text-sm font-semibold text-slate-800">{{ currentRow?.title }}</div> <div class="text-sm font-semibold text-slate-800">{{ currentRow?.title }}</div>
<div class="mt-1.5 flex flex-wrap items-center gap-1.5 text-[11px] text-slate-400"> <div class="mt-1.5 flex flex-wrap items-center gap-1.5 text-xs text-slate-400">
<span class="font-mono">{{ currentRow?.change_no }}</span> <span>{{ currentRow?.change_no }}</span>
<NTag v-if="currentRow.status==='APPROVING'" size="small" type="warning">审批中</NTag> <NTag v-if="currentRow.status==='APPROVING'" size="small" type="warning">审批中</NTag>
<NTag v-if="currentRow.status==='APPROVED'" size="small" type="success">已通过</NTag> <NTag v-if="currentRow.status==='APPROVED'" size="small" type="success">已通过</NTag>
<NTag v-if="currentRow.status==='IMPLEMENTED'" size="small" type="success">待验收</NTag> <NTag v-if="currentRow.status==='IMPLEMENTED'" size="small" type="success">待验收</NTag>
@@ -482,8 +482,8 @@ onMounted(() => {
<NTag v-if="currentRow.status==='REJECTED'" size="small" type="error">已驳回</NTag> <NTag v-if="currentRow.status==='REJECTED'" size="small" type="error">已驳回</NTag>
<span v-if="currentRow?.overdue_status===2" class="font-medium text-red-500">超期 {{ currentRow?.overdue_days }} 天</span> <span v-if="currentRow?.overdue_status===2" class="font-medium text-red-500">超期 {{ currentRow?.overdue_days }} 天</span>
</div> </div>
<div v-if="currentRow?.dept || currentRow?.applicant" class="mt-1 text-[11px] text-slate-400">{{ [currentRow?.dept, currentRow?.applicant].filter(Boolean).join(' · ') }}</div> <div v-if="currentRow?.dept || currentRow?.applicant" class="mt-1 text-xs text-slate-400">{{ [currentRow?.dept, currentRow?.applicant].filter(Boolean).join(' · ') }}</div>
<div v-if="currentRow?.meta" class="mt-1 text-[11px] text-slate-400">{{ currentRow?.meta }}</div> <div v-if="currentRow?.meta" class="mt-1 text-xs text-slate-400">{{ currentRow?.meta }}</div>
</div> </div>
<div class="mt-4"> <div class="mt-4">
<div v-for="(s, i) in currentRow?.approval_records" :key="s.id" class="flex gap-3"> <div v-for="(s, i) in currentRow?.approval_records" :key="s.id" class="flex gap-3">
@@ -499,11 +499,11 @@ onMounted(() => {
</div> </div>
<div class="pb-5"> <div class="pb-5">
<p class="text-sm">{{ s.action }}</p> <p class="text-sm">{{ s.action }}</p>
<span class="mt-0.5 text-[11px] text-slate-400">{{s.finished_at?.slice(0, 16)}}</span> <span class="mt-0.5 text-xs text-slate-400">{{s.finished_at?.slice(0, 16)}}</span>
</div> </div>
</div> </div>
</div> </div>
<div v-if="currentRow?.duration_type === 2" class="rounded-lg border border-amber-200 bg-amber-50/50 px-3 py-2 text-[11px] leading-5 text-amber-700"> <div v-if="currentRow?.duration_type === 2" class="rounded-lg border border-amber-200 bg-amber-50/50 px-3 py-2 text-xs leading-5 text-amber-700">
临时变更:计划恢复 {{ currentRow?.restore_deadline ?? '—' }} · 恢复 / 延期 / 转永久请在详情页中操作 临时变更:计划恢复 {{ currentRow?.restore_deadline ?? '—' }} · 恢复 / 延期 / 转永久请在详情页中操作
</div> </div>
</NDrawerContent> </NDrawerContent>
+5 -5
View File
@@ -153,19 +153,19 @@ onMounted(() => {
<NTag v-if="s.duration_type===2" size="small" type="warning">临时</NTag> <NTag v-if="s.duration_type===2" size="small" type="warning">临时</NTag>
<NTag v-if="s.duration_type===1" size="small" type="info">永久</NTag> <NTag v-if="s.duration_type===1" size="small" type="info">永久</NTag>
</div> </div>
<p class="mt-0.5 text-[11px] text-slate-400">{{ s.change_no }} · {{ s.applicant_name }}</p> <p class="mt-0.5 text-xs text-slate-400">{{ s.change_no }} · {{ s.applicant_name }}</p>
<p class="text-slate-400 text-[11px]">审批通过时间:<span class="font-medium text-slate-600">{{ s.approve_time?.slice(0,16) }}</span></p> <p class="text-slate-400 text-xs">审批通过时间:<span class="font-medium text-slate-600">{{ s.approve_time?.slice(0,16) }}</span></p>
<p class="text-slate-400 text-[11px]">变更投用时间:<span class="font-medium text-[var(--warning-color)]">{{ s.use_time ? s.use_time?.slice(0,10) : `待投用(计划 ${s.plan_use_date?.slice(0,10)})` }}</span></p> <p class="text-slate-400 text-xs">变更投用时间:<span class="font-medium text-[var(--warning-color)]">{{ s.use_time ? s.use_time?.slice(0,10) : `待投用(计划 ${s.plan_use_date?.slice(0,10)})` }}</span></p>
</div> </div>
<div class="flex items-center gap-1.5 rounded-md border bg-slate-50/60 px-2 py-1"> <div class="flex items-center gap-1.5 rounded-md border bg-slate-50/60 px-2 py-1">
<Icon icon="akar-icons:file" class="size-14px text-[var(--theme-color)]" /> <Icon icon="akar-icons:file" class="size-14px text-[var(--theme-color)]" />
<span class="text-[11px] font-medium text-slate-600">PSSR 确认表</span> <span class="text-xs font-medium text-slate-600">PSSR 确认表</span>
<template v-if="s.pssr_attachment"> <template v-if="s.pssr_attachment">
<NButton ghost size="tiny" class="text-11px" @click="viewFile(s)">查看</NButton> <NButton ghost size="tiny" class="text-11px" @click="viewFile(s)">查看</NButton>
<NButton ghost size="tiny" class="text-11px" @click="downloadFile(s)">下载</NButton> <NButton ghost size="tiny" class="text-11px" @click="downloadFile(s)">下载</NButton>
</template> </template>
<template v-else> <template v-else>
<span class="text-[11px] text-[var(--warning-color)]">待传</span> <span class="text-xs text-[var(--warning-color)]">待传</span>
</template> </template>
</div> </div>
<NButton size="small" ghost class="text-xs" @click="openChange(s)">打开变更单</NButton> <NButton size="small" ghost class="text-xs" @click="openChange(s)">打开变更单</NButton>
+5 -5
View File
@@ -156,7 +156,7 @@ onMounted(() => {
</div> </div>
<span class="ml-auto text-[11px] text-slate-400">培训 / PSSR 为线下确认 + 资料上传制 · PSSR 检查表同行查看 / 下载</span> <span class="ml-auto text-[11px] text-slate-400">培训 / PSSR 为线下确认 + 资料上传制 · PSSR 检查表同行查看 / 下载</span>
</div> </div>
<div class="text-[11px] leading-4 text-slate-400 pb-2"> <div class="text-xs leading-4 text-slate-400 pb-2">
培训 / PSSR 为线下组织并签字,拍照或扫描上传即视为完成确认并随单归档;系统不做内容识别,本页为 PSSR 检查表的查看 / 下载入口。 培训 / PSSR 为线下组织并签字,拍照或扫描上传即视为完成确认并随单归档;系统不做内容识别,本页为 PSSR 检查表的查看 / 下载入口。
</div> </div>
<!-- 列表 --> <!-- 列表 -->
@@ -180,18 +180,18 @@ onMounted(() => {
<NTag v-if="s.status==='REJECTED'" size="small" type="error">已驳回</NTag> <NTag v-if="s.status==='REJECTED'" size="small" type="error">已驳回</NTag>
<div class="min-w-0 flex-1"> <div class="min-w-0 flex-1">
<p class="block truncate text-sm font-medium text-slate-800">{{ s.title }}</p> <p class="block truncate text-sm font-medium text-slate-800">{{ s.title }}</p>
<span class="mt-0.5 block text-[11px] text-slate-400">{{ s.change_no }} · {{ s.org_name }} · {{ s.applicant_name }} · 计划投用 {{ s.plan_use_date }}</span> <span class="mt-0.5 block text-xs text-slate-400">{{ s.change_no }} · {{ s.org_name }} · {{ s.applicant_name }} · 计划投用 {{ s.plan_use_date }}</span>
</div> </div>
<div class="flex items-center gap-1.5 rounded-md border bg-slate-50/60 px-2 py-1"> <div class="flex items-center gap-1.5 rounded-md border bg-slate-50/60 px-2 py-1">
<Icon icon="akar-icons:file" class="size-14px text-[var(--theme-color)]" /> <Icon icon="akar-icons:file" class="size-14px text-[var(--theme-color)]" />
<span class="text-[11px] font-medium text-slate-600">PSSR 检查确认表</span> <span class="text-xs font-medium text-slate-600">PSSR 检查确认表</span>
<template v-if="s.pssr_attachment"> <template v-if="s.pssr_attachment">
<span class="max-w-[150px] truncate text-[11px] text-slate-400">{{ s.pssr_attachment?.file_name }}</span> <span class="max-w-[150px] truncate text-xs text-slate-400">{{ s.pssr_attachment?.file_name }}</span>
<NButton ghost size="tiny" class="text-11px" @click="viewFile(s.pssr_attachment)">查看</NButton> <NButton ghost size="tiny" class="text-11px" @click="viewFile(s.pssr_attachment)">查看</NButton>
<NButton ghost size="tiny" class="text-11px" @click="downloadFile(s.pssr_attachment)">下载</NButton> <NButton ghost size="tiny" class="text-11px" @click="downloadFile(s.pssr_attachment)">下载</NButton>
</template> </template>
<template v-else> <template v-else>
<span class="text-[11px] text-[var(--warning-color)]">待传</span> <span class="text-xs text-[var(--warning-color)]">待传</span>
<NButton ghost size="tiny" class="text-11px" @click="downloadTemplate(s)">下载模板</NButton> <NButton ghost size="tiny" class="text-11px" @click="downloadTemplate(s)">下载模板</NButton>
</template> </template>
</div> </div>