fix: 修复bug

This commit is contained in:
jiayu 2024-11-25 09:16:00 +08:00
parent 197617997d
commit 605c6e3a85
4 changed files with 280 additions and 274 deletions

View File

@ -1,268 +1,271 @@
<!-- 经典布局 -->
<template>
<el-container class="layout">
<!-- <el-container class="classic-main">
<Main />
</el-container> -->
<el-header>
<div class="header-lf">
<div @click="goHome" class="logo flx-center">
<img src="@/assets/images/login/china.png" style="margin: 0 15px" alt="logo" />
<span>数字化政务监管平台</span>
<span v-if="moduleTitle" style="margin: 0 20px">|</span>
<span class="title">{{ moduleTitle }}</span>
</div>
<ToolBarLeft />
</div>
<ToolBarRight />
</el-header>
<el-container class="classic-content">
<el-aside>
<!-- <div class="menu" :style="{ width: isCollapse ? '65px' : '210px' }"> 根据屏幕自动收缩 -->
<div class="menu">
<el-scrollbar>
<el-menu
:default-active="activeMenu"
:router="false"
:collapse="isCollapse"
:collapse-transition="false"
:unique-opened="true"
background-color="#ffffff"
text-color="#333333"
style="--el-menu-hover-bg-color: #fff"
>
<SubMenu :menuList="menuList" />
</el-menu>
</el-scrollbar>
</div>
</el-aside>
<el-container class="classic-main">
<Main />
</el-container>
</el-container>
<!-- <el-dialog class="overview" :show-close="false" v-model="visible1" width="50%" @close="visible1 = false">
<template #title>
<div class="title-detail">
<img src="@/assets/images/tableIcon/look.png" alt="" />
<span>待处理</span>
<el-icon>
<close @click="visible1 = false" />
</el-icon>
</div>
</template>
<div class="detail-table table-box">
<div class="table">
<el-table
:data="recordData"
class="el-table"
height="300"
:row-style="{ height: '40px' }"
:header-cell-style="{ textAlign: 'center', height: '40px' }"
:cell-style="{ textAlign: 'center', height: '40px' }"
>
<el-table-column type="index" label="序号" width="80"> </el-table-column>
<el-table-column prop="type" label="待处理事项"> </el-table-column>
<el-table-column prop="projectName" label="项目名称"> </el-table-column>
<el-table-column align="center" label="操作" width="150">
<template #default="scope">
<el-button type="primary" link @click="handleDealItem(scope.row)">
<img src="@/assets/images/tableIcon/updateIcon.png" alt="" class="configureIcon" />
<span>去处理</span>
</el-button>
</template>
</el-table-column>
<template #empty>
<div class="table-empty">
<slot name="empty">
<img src="@/assets/images/notData.png" alt="notData" />
<div>暂无数据</div>
</slot>
</div>
</template>
</el-table>
</div>
</div>
</el-dialog> -->
</el-container>
</template>
<script setup lang="ts" name="layoutClassic">
import { computed, ref, onMounted } from "vue";
import { useRoute, useRouter } from "vue-router";
import { GlobalStore } from "@/stores";
import { AuthStore } from "@/stores/modules/auth";
import Main from "@/layouts/components/Main/index.vue";
import SubMenu from "@/layouts/components/Menu/SubMenu.vue";
import ToolBarLeft from "@/layouts/components/Header/ToolBarLeft.vue";
import ToolBarRight from "@/layouts/components/Header/ToolBarRight.vue";
import { HOME_URL } from "@/enums/Home";
// import router from "@/routers";
const route = useRoute();
const router = useRouter();
const authStore = AuthStore();
const globalStore = GlobalStore();
const activeMenu = computed(() => (route.meta.activeMenu ? route.meta.activeMenu : route.path));
const menuList = computed(() => authStore.showMenuListGet);
const isCollapse = computed(() => globalStore.themeConfig?.isCollapse);
const moduleTitle = globalStore.moduleName;
const visible1 = ref(false);
const recordData = ref([]);
// const title = import.meta.env.VITE_GLOB_APP_TITLE;
//
const handleDealItem = (obj: any) => {
visible1.value = false;
switch (obj.flag) {
case 1: //
router.push("/goverment/huizhou/projectMonitoring/qualityControl/index");
break;
case 2: //
router.push("/goverment/huizhou/projectMonitoring/safetyManagement/index");
break;
case 3: //
router.push("/goverment/huizhou/progressManagement/divisionsAndISubItems/index");
break;
}
};
const goHome = () => {
router.push(HOME_URL[globalStore.accountType - 1]);
};
onMounted(async () => {});
</script>
<style scoped lang="scss">
@import "./index.scss";
</style>
<style scoped lang="scss">
@mixin flex {
display: flex;
align-items: center;
}
@mixin title {
font-size: 16px;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #333333;
border-left: 2px solid #008bff;
padding-left: 5px;
}
// .classic {
// .classic-content {
// // margin-top: 10px;
// // padding-top: 10px;
// height: calc(100% - 55px); //
// .classic-main {
// width: calc(100% - 200px);
// display: flex;
// flex-direction: column;
// }
// }
// .el-menu,
// .el-menu--popup {
// .el-menu-item {
// &.is-active {
// // background: var(--el-color-primary-light-9);
// &::before {
// position: absolute;
// top: 12px;
// bottom: 0;
// right: 0;
// width: 4px;
// height: 38px;
// content: "";
// background: var(--el-color-primary);
// }
// // border-right: 4px solid #008bff;
// &.is:hover {
// background-color: #fff;
// }
// }
// }
// }
// // guide
// #driver-highlighted-element-stage {
// background-color: #606266 !important;
// }
// }
.overview {
// background-color: #fff;
flex: 1;
.title-detail {
@include flex;
> img {
width: 16px;
height: 18px;
}
> span {
font-size: 18px;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: var(--el-menu-text-color);
margin-left: 5px;
margin-right: auto;
}
:deep(.el-icon) {
cursor: pointer;
color: #a8abb2;
}
}
.detail-table {
// height: 391px;
.content-title {
@include title;
}
.table {
height: 310px;
margin-top: 20px;
:deep(.el-table) {
height: 100%;
background-color: transparent;
}
}
}
}
:deep() {
.overview {
.el-dialog__body {
padding-top: 0px;
padding-bottom: 0px;
}
.el-table__empty-text {
min-height: 200px;
display: flex;
justify-content: center;
align-items: center;
}
td.el-table__cell {
background-color: transparent !important;
// border-bottom: 0 !important;
color: var(--el-menu-text-color);
font-size: 20px !important;
border-right: 2px solid #252526;
}
th.el-table__cell {
background-color: transparent;
// border-bottom: 0 !important;
border-right: 2px solid #252526;
}
.el-table__inner-wrapper::before {
height: 0px;
}
.el-table--border::before {
width: 0px;
}
.el-table--border .el-table__inner-wrapper::after {
height: 0px;
}
.el-table--border::after {
width: 0px;
}
.el-table__border-left-patch {
width: 0;
}
}
}
</style>
<!-- 经典布局 -->
<template>
<el-container class="layout">
<!-- <el-container class="classic-main">
<Main />
</el-container> -->
<el-header>
<div class="header-lf">
<div @click="goHome" class="logo flx-center">
<img src="@/assets/images/login/china.png" style="margin: 0 15px" alt="logo" />
<span>数字化政务监管平台</span>
<span v-if="moduleTitle" style="margin: 0 20px">|</span>
<span class="title">{{ moduleTitle }}</span>
</div>
<ToolBarLeft />
</div>
<ToolBarRight />
</el-header>
<el-container class="classic-content">
<!-- <div class="menu" :style="{ width: isCollapse ? '65px' : '210px' }"> 根据屏幕自动收缩 -->
<el-aside>
<div class="menu">
<el-scrollbar>
<el-menu
:default-active="activeMenu"
:router="false"
:collapse="isCollapse"
:collapse-transition="false"
:unique-opened="true"
background-color="#ffffff"
text-color="#333333"
style="--el-menu-hover-bg-color: #ffffff"
>
<SubMenu :menuList="menuList" />
</el-menu>
</el-scrollbar>
</div>
</el-aside>
<el-container class="classic-main">
<Main />
</el-container>
</el-container>
<!-- <el-dialog class="overview" :show-close="false" v-model="visible1" width="50%" @close="visible1 = false">
<template #title>
<div class="title-detail">
<img src="@/assets/images/tableIcon/look.png" alt="" />
<span>待处理</span>
<el-icon>
<close @click="visible1 = false" />
</el-icon>
</div>
</template>
<div class="detail-table table-box">
<div class="table">
<el-table
:data="recordData"
class="el-table"
height="300"
:row-style="{ height: '40px' }"
:header-cell-style="{ textAlign: 'center', height: '40px' }"
:cell-style="{ textAlign: 'center', height: '40px' }"
>
<el-table-column type="index" label="序号" width="80"> </el-table-column>
<el-table-column prop="type" label="待处理事项"> </el-table-column>
<el-table-column prop="projectName" label="项目名称"> </el-table-column>
<el-table-column align="center" label="操作" width="150">
<template #default="scope">
<el-button type="primary" link @click="handleDealItem(scope.row)">
<img src="@/assets/images/tableIcon/updateIcon.png" alt="" class="configureIcon" />
<span>去处理</span>
</el-button>
</template>
</el-table-column>
<template #empty>
<div class="table-empty">
<slot name="empty">
<img src="@/assets/images/notData.png" alt="notData" />
<div>暂无数据</div>
</slot>
</div>
</template>
</el-table>
</div>
</div>
</el-dialog> -->
</el-container>
</template>
<script setup lang="ts" name="layoutClassic">
import { computed, ref, onMounted } from "vue";
import { useRoute, useRouter } from "vue-router";
import { GlobalStore } from "@/stores";
import { AuthStore } from "@/stores/modules/auth";
import Main from "@/layouts/components/Main/index.vue";
import SubMenu from "@/layouts/components/Menu/SubMenu.vue";
import ToolBarLeft from "@/layouts/components/Header/ToolBarLeft.vue";
import ToolBarRight from "@/layouts/components/Header/ToolBarRight.vue";
import { HOME_URL } from "@/enums/Home";
// import router from "@/routers";
const route = useRoute();
const router = useRouter();
const authStore = AuthStore();
const globalStore = GlobalStore();
const activeMenu = computed(() => (route.meta.activeMenu ? route.meta.activeMenu : route.path));
const menuList = computed(() => authStore.showMenuListGet);
const isCollapse = computed(() => globalStore.themeConfig?.isCollapse);
const moduleTitle = globalStore.moduleName;
const visible1 = ref(false);
const recordData = ref([]);
// const title = import.meta.env.VITE_GLOB_APP_TITLE;
//
const handleDealItem = (obj: any) => {
visible1.value = false;
switch (obj.flag) {
case 1: //
router.push("/goverment/huizhou/projectMonitoring/qualityControl/index");
break;
case 2: //
router.push("/goverment/huizhou/projectMonitoring/safetyManagement/index");
break;
case 3: //
router.push("/goverment/huizhou/progressManagement/divisionsAndISubItems/index");
break;
}
};
const goHome = () => {
router.push(HOME_URL[globalStore.accountType - 1]);
};
onMounted(async () => {});
</script>
<style scoped lang="scss">
@import "./index.scss";
</style>
<style scoped lang="scss">
@mixin flex {
display: flex;
align-items: center;
}
@mixin title {
padding-left: 5px;
font-family: "Source Han Sans CN-Regular", "Source Han Sans CN";
font-size: 16px;
font-weight: 400;
color: #333333;
border-left: 2px solid #008bff;
}
// .classic {
// .classic-content {
// // margin-top: 10px;
// // padding-top: 10px;
// height: calc(100% - 55px); //
// .classic-main {
// width: calc(100% - 200px);
// display: flex;
// flex-direction: column;
// }
// }
// .el-menu,
// .el-menu--popup {
// .el-menu-item {
// &.is-active {
// // background: var(--el-color-primary-light-9);
// &::before {
// position: absolute;
// top: 12px;
// bottom: 0;
// right: 0;
// width: 4px;
// height: 38px;
// content: "";
// background: var(--el-color-primary);
// }
// // border-right: 4px solid #008bff;
// &.is:hover {
// background-color: #fff;
// }
// }
// }
// }
// // guide
// #driver-highlighted-element-stage {
// background-color: #606266 !important;
// }
// }
.overview {
// background-color: #fff;
flex: 1;
.title-detail {
@include flex;
> img {
width: 16px;
height: 18px;
}
> span {
margin-right: auto;
margin-left: 5px;
font-family: "Source Han Sans CN-Regular", "Source Han Sans CN";
font-size: 18px;
font-weight: 400;
color: var(--el-menu-text-color);
}
:deep(.el-icon) {
color: #a8abb2;
cursor: pointer;
}
}
.detail-table {
// height: 391px;
.content-title {
@include title;
}
.table {
height: 310px;
margin-top: 20px;
:deep(.el-table) {
height: 100%;
background-color: transparent;
}
}
}
}
:deep() {
.overview {
.el-dialog__body {
padding-top: 0;
padding-bottom: 0;
}
.el-table__empty-text {
display: flex;
align-items: center;
justify-content: center;
min-height: 200px;
}
td.el-table__cell {
font-size: 20px !important;
// border-bottom: 0 !important;
color: var(--el-menu-text-color);
background-color: transparent !important;
border-right: 2px solid #252526;
}
th.el-table__cell {
background-color: transparent;
// border-bottom: 0 !important;
border-right: 2px solid #252526;
}
.el-table__inner-wrapper::before {
height: 0;
}
.el-table--border::before {
width: 0;
}
.el-table--border .el-table__inner-wrapper::after {
height: 0;
}
.el-table--border::after {
width: 0;
}
.el-table__border-left-patch {
width: 0;
}
}
}
</style>

View File

@ -107,7 +107,7 @@ onMounted(async () => {
});
});
formConfig.datas.enterpriseSn = stepOptions.value[active.value].dictValue + "名称";
if (store.Message && store.Message.engineeringMains.length) {
if (store.Message && store.Message.engineeringMains.length && store.Message.engineeringMains.flat().length) {
formData.value = store.Message.engineeringMains;
}
formConfig.formData = formData.value[active.value];

View File

@ -192,7 +192,8 @@ const removeEngineeringMainPerson = (row: EngineeringMainPerson, ind: number) =>
!index >= 0 && formData.value[ind].engineeringMainPersonList?.splice(index, 1);
};
const getMainData = async () => {
const data = await queryMainType({ mainType: formData.value[0].type });
console.info(formData.value, "formData");
const data = await queryMainType({ mainType: formData.value[0]?.type });
nameOptions.value = data.result;
};
onMounted(async () => {

View File

@ -410,9 +410,11 @@ onMounted(async () => {
structuralStyle.value = res1.result;
if (store.Message) {
form.value = store.Message;
form.value.position = "经度:" + store.Message.longitude + " 纬度:" + store.Message.latitude;
if (store.Message.longitude && store.Message.latitude) {
form.value.position = "经度:" + store.Message.longitude + " 纬度:" + store.Message.latitude;
}
addressList.value = store.Message;
form.value.projectSecondType = store.Message.projectSecondType.split(",").map((item: string) => Number(item));
form.value.projectSecondType = store.Message.projectSecondType?.split(",").map((item: string) => Number(item));
}
const res2 = await getDicList({ dictType: "engineering_state" });
engineeringState.value = res2.result;
@ -451,9 +453,9 @@ watch(
text-align: center;
}
:deep(.el-table__empty-text) {
min-height: 200px;
display: flex;
justify-content: center;
align-items: center;
justify-content: center;
min-height: 200px;
}
</style>