Browse Source

页面调整

dev-V1.10.0
parent
commit
ca7f30910d
  1. 6
      zdxt-web-client/zdxt-admin-plus-ui/src/layout/components/AppMain.vue
  2. 10
      zdxt-web-client/zdxt-admin-plus-ui/src/router/index.ts
  3. 2
      zdxt-web-client/zdxt-admin-plus-ui/src/views/nos/add.vue
  4. 2
      zdxt-web-client/zdxt-admin-plus-ui/src/views/supervision/educationServices/add.vue
  5. 2
      zdxt-web-client/zdxt-admin-plus-ui/src/views/supervision/educationServices/detail.vue
  6. 2
      zdxt-web-client/zdxt-admin-plus-ui/src/views/supervision/educationServices/draft.vue
  7. 2
      zdxt-web-client/zdxt-admin-plus-ui/src/views/supervision/educationServices/edit.vue
  8. 2
      zdxt-web-client/zdxt-admin-plus-ui/src/views/supervision/educationServices/index.vue
  9. 2
      zdxt-web-client/zdxt-admin-plus-ui/src/views/supervision/educationServices/repost.vue
  10. 64
      zdxt-web-client/zdxt-admin-plus-ui/src/views/supervision/statistical/city-direct/index.vue
  11. 5
      zdxt-web-client/zdxt-admin-plus-ui/src/views/supervision/statistical/styles/analysis-scope.css

6
zdxt-web-client/zdxt-admin-plus-ui/src/layout/components/AppMain.vue

@ -56,7 +56,9 @@ function addIframe() {
height: calc(100vh - 50px);
width: 100%;
position: relative;
overflow: hidden;
/* 滚动容器收敛在这里:唯一纵向滚动发生在这一层 */
overflow-y: auto;
overflow-x: hidden;
}
.fixed-header + .app-main {
@ -65,7 +67,7 @@ function addIframe() {
.hasTagsView {
.app-main {
height: calc(100vh - 84px);
height: calc(100vh - 118px);
}
.fixed-header + .app-main {

10
zdxt-web-client/zdxt-admin-plus-ui/src/router/index.ts

@ -191,7 +191,7 @@ export const constantRoutes: RouteRecordRaw[] = [
path: '',
component: () => import('@/views/supervision/educationServices/add.vue'),
name: 'EducationServicesAdd',
meta: { title: '新增涉企服务', icon: 'plus' }
meta: { title: '新增普法服务', icon: 'plus' }
}
]
},
@ -204,7 +204,7 @@ export const constantRoutes: RouteRecordRaw[] = [
path: '',
component: () => import('@/views/supervision/educationServices/repost.vue'),
name: 'EducationServicesRepost',
meta: { title: '转载涉企服务', icon: 'plus' }
meta: { title: '转载普法服务', icon: 'plus' }
}
]
},
@ -217,7 +217,7 @@ export const constantRoutes: RouteRecordRaw[] = [
path: '',
component: () => import('@/views/supervision/educationServices/draft.vue'),
name: 'EducationServicesDraft',
meta: { title: '涉企服务草稿箱', activeMenu: '/supervision/educationServices' }
meta: { title: '普法服务草稿箱', activeMenu: '/supervision/educationServices' }
}
]
},
@ -230,7 +230,7 @@ export const constantRoutes: RouteRecordRaw[] = [
path: '',
component: () => import('@/views/supervision/educationServices/edit.vue'),
name: 'EducationServicesEdit',
meta: { title: '编辑涉企服务', activeMenu: '/supervision/educationServices' }
meta: { title: '编辑普法服务', activeMenu: '/supervision/educationServices' }
}
]
},
@ -243,7 +243,7 @@ export const constantRoutes: RouteRecordRaw[] = [
path: '',
component: () => import('@/views/supervision/educationServices/detail.vue'),
name: 'EducationServicesDetail',
meta: { title: '涉企服务详情', activeMenu: '/supervision/educationServices' }
meta: { title: '普法服务详情', activeMenu: '/supervision/educationServices' }
}
]
},

2
zdxt-web-client/zdxt-admin-plus-ui/src/views/nos/add.vue

@ -1,7 +1,7 @@
<template>
<div class="add-carousel-container">
<div class="page-header">
<h1>新增涉企服务</h1>
<h1>新增普法服务</h1>
</div>
<el-form ref="formRef" :model="form" :rules="rules" label-width="100px" class="form-container">

2
zdxt-web-client/zdxt-admin-plus-ui/src/views/supervision/educationServices/add.vue

@ -1,7 +1,7 @@
<template>
<div class="add-carousel-container">
<div class="page-header">
<h1>新增涉企服务</h1>
<h1>新增普法服务</h1>
</div>
<el-form ref="formRef" :model="form" :rules="rules" label-width="100px" class="form-container">

2
zdxt-web-client/zdxt-admin-plus-ui/src/views/supervision/educationServices/detail.vue

@ -1,7 +1,7 @@
<template>
<div v-loading="pageLoading" class="detail-container">
<div class="page-header">
<h1>涉企服务详情</h1>
<h1>普法服务详情</h1>
</div>
<div class="detail-card">

2
zdxt-web-client/zdxt-admin-plus-ui/src/views/supervision/educationServices/draft.vue

@ -330,7 +330,7 @@ onActivated(() => {
.law-service-container {
padding: 20px;
background: #f5f7fa;
min-height: calc(100vh - 100px);
min-height: calc(100vh - 118px);
}
.search-panel {

2
zdxt-web-client/zdxt-admin-plus-ui/src/views/supervision/educationServices/edit.vue

@ -1,7 +1,7 @@
<template>
<div v-loading="pageLoading" class="add-carousel-container">
<div class="page-header">
<h1>编辑涉企服务</h1>
<h1>编辑普法服务</h1>
</div>
<el-form ref="formRef" :model="form" :rules="rules" label-width="100px" class="form-container">

2
zdxt-web-client/zdxt-admin-plus-ui/src/views/supervision/educationServices/index.vue

@ -345,7 +345,7 @@ const loadDictOptions = async () => {
.law-service-container {
padding: 20px;
background: #f5f7fa;
min-height: calc(100vh - 100px);
min-height: calc(100vh - 118px);
}
.search-panel {

2
zdxt-web-client/zdxt-admin-plus-ui/src/views/supervision/educationServices/repost.vue

@ -1,7 +1,7 @@
<template>
<div class="add-carousel-container">
<div class="page-header">
<h1>转载涉企服务</h1>
<h1>转载普法服务</h1>
</div>
<el-form ref="formRef" :model="form" :rules="rules" label-width="100px" class="form-container">

64
zdxt-web-client/zdxt-admin-plus-ui/src/views/supervision/statistical/city-direct/index.vue

@ -1,5 +1,5 @@
<template>
<div class="statistical-analysis" :style="cssVars">
<div class="statistical-analysis statistical-analysis--adaptive" :style="cssVars">
<div class="wrap_all">
<div class="select_set">
<div class="select_item">
@ -51,8 +51,8 @@
<div class="count_div">
<img :src="item.icon" :alt="item.label" />
<div class="count_cont">
<span class="number_count">{{ item.count }}</span>
<span class="number_percent">{{ item.rate }}<i>%</i></span>
<span class="number_count">{{ item.count ? item.count : '-' }}</span>
<span class="number_percent">{{ item.rate ? item.rate : '-' }}<i>%</i></span>
</div>
</div>
</div>
@ -66,8 +66,8 @@
<div class="count_div">
<img :src="item.icon" :alt="item.label" />
<div class="count_cont">
<span class="number_count">{{ item.count }}</span>
<span class="number_percent">{{ item.rate }}<i>%</i></span>
<span class="number_count">{{ item.count ? item.count : '-' }}</span>
<span class="number_percent">{{ item.rate ? item.rate : '-' }}<i>%</i></span>
</div>
</div>
</div>
@ -81,8 +81,8 @@
<div v-for="item in lawFieldItems" :key="item.label" class="count_item">
<div class="count_lab">{{ item.label }}</div>
<div class="count_cont">
<span class="number_count">{{ item.count }}</span>
<span class="number_percent">{{ item.rate }}<i>%</i></span>
<span class="number_count">{{ item.count ? item.count : '-' }}</span>
<span class="number_percent">{{ item.rate ? item.rate : '-' }}<i>%</i></span>
</div>
</div>
</div>
@ -264,8 +264,10 @@ const cssVars = computed(() => {
function buildCategoryItems(data: Record<string, number>[] | undefined, total: number | undefined, iconMap: Record<string, string>) {
if (!data) return [];
return data.map((obj) => {
const [label, count] = Object.entries(obj)[0];
const rate = total ? parseFloat(((Number(count) / total) * 100).toFixed(2)) : 0;
const [label, rawCount] = Object.entries(obj)[0];
// 接口可能返回字符串 "0",统一转成数字,0 才会被模板判定为空显示 '-'
const count = Number(rawCount) || 0;
const rate = total ? parseFloat(((count / total) * 100).toFixed(2)) : 0;
return { label, count, rate, icon: `${BASE}statistical-new/images/${iconMap[label] || 'icon_801.png'}` };
});
}
@ -275,8 +277,9 @@ const caseTypeItems = computed(() => buildCategoryItems(stats.value.caseType, st
const lawFieldItems = computed(() => {
if (!stats.value.lawField) return [];
return stats.value.lawField.map((obj) => {
const [label, count] = Object.entries(obj)[0];
const rate = stats.value.lawFieldTotal ? parseFloat(((Number(count) / stats.value.lawFieldTotal!) * 100).toFixed(2)) : 0;
const [label, rawCount] = Object.entries(obj)[0];
const count = Number(rawCount) || 0;
const rate = stats.value.lawFieldTotal ? parseFloat(((count / stats.value.lawFieldTotal!) * 100).toFixed(2)) : 0;
return { label, count, rate };
});
});
@ -423,4 +426,43 @@ onUnmounted(() => {
@import '../styles/analysis-scope.css';
@import '/statistical-new/font-awesome/css/font-awesome.min.css';
@import '../styles/analysis-layout.css';
/* 卡片高度随内容自适应,避免条目增多时溢出裁切;同行卡片等高 */
.statistical-analysis--adaptive .twobox {
display: flex;
flex-wrap: wrap;
align-items: stretch;
}
.statistical-analysis--adaptive .twobox .threebox {
float: none;
height: auto;
/* min-height: 25rem; */
/* 等高时多出的高度留在底部,内容保持顶部对齐,不被分配到行间 */
align-content: flex-start;
}
/* 标题不再被第一行卡片压住(原 -2% / -0.5% 负外边距会让卡片上移盖住标题) */
.statistical-analysis--adaptive .twobox .chart_tit {
position: relative;
z-index: 1;
}
.statistical-analysis--adaptive .twobox .count_wrap {
margin-top: 0;
}
.statistical-analysis--adaptive .twobox .count_item {
margin-top: 0;
}
/* 投诉类别条目之间留出间隙 */
.statistical-analysis--adaptive .twobox .com_cate {
gap: 0.75rem;
}
.statistical-analysis--adaptive .twobox .com_cate .count_item {
margin: 0;
width: calc(50% - 0.375rem);
}
</style>

5
zdxt-web-client/zdxt-admin-plus-ui/src/views/supervision/statistical/styles/analysis-scope.css

@ -317,6 +317,7 @@
height: 1.5rem;
font-size: 1.0rem;
line-height: 1.5;
margin-bottom: 10px;
}
.statistical-analysis .chart_box {
@ -330,7 +331,7 @@
flex-wrap: wrap;
float: left;
margin: 0.5% 1.23% 0.85% 0;
padding: 0.75% 1% 0.25%;
padding: 0.75% 1% 0.75%;
width: 32.51%;
height: 18rem;
background: #fff none;
@ -382,7 +383,7 @@
.statistical-analysis .count_item {
float: left;
position: relative;
margin: -0.5% 0.5% 0.5% 0.5%;
margin: -0.5% 0.5% 0.9% 0.5%;
width: 19%;
height: 9.25rem;
background: var(--bg-analy-card) no-repeat;

Loading…
Cancel
Save