Browse Source

Merge remote-tracking branch 'origin/dev' into dev

zhangyihao 6 months ago
parent
commit
e077f5c1dd

+ 1 - 1
src/api/login.ts

@@ -106,7 +106,7 @@ export function getTenantList(): AxiosPromise<TenantInfo> {
   });
 }
 
-
+// 粤政易登录
 export function yzyLogin(code) {
   return request({
     url: '/api/auth/yzylogin',

+ 4 - 4
src/assets/styles/index.scss

@@ -55,10 +55,10 @@ html {
   box-sizing: border-box;
 }
 
-html.dark .svg-icon,
-html.dark svg {
-  fill: var(--el-text-color-regular);
-}
+//html.dark .svg-icon,
+//html.dark svg {
+//  fill: var(--el-text-color-regular);
+//}
 
 #app {
   height: 100%;

+ 1 - 1
src/assets/styles/variables.module.scss

@@ -60,7 +60,7 @@
 //  --bpmn-panel-bar-background-color: #37373A;
 //
 //  // ele
-//  --brder-color: #37373A
+//  --brder-color: #37373Az
 //}
 
 // base color

+ 1 - 1
src/permission.ts

@@ -10,7 +10,7 @@ import useSettingsStore from '@/store/modules/settings';
 import usePermissionStore from '@/store/modules/permission';
 
 NProgress.configure({ showSpinner: false });
-const whiteList = ['/login', '/yzylogin', '/register', '/social-callback'];
+const whiteList = ['/login', '/yzylogin', '/register', '/social-callback', '/noyzyuser'];
 
 router.beforeEach(async (to, from, next) => {
   NProgress.start();

+ 0 - 12
src/types/components.d.ts

@@ -26,13 +26,9 @@ declare module 'vue' {
     ElButton: typeof import('element-plus/es')['ElButton']
     ElCard: typeof import('element-plus/es')['ElCard']
     ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
-    ElCheckboxGroup: typeof import('element-plus/es')['ElCheckboxGroup']
     ElCol: typeof import('element-plus/es')['ElCol']
-    ElCollapse: typeof import('element-plus/es')['ElCollapse']
-    ElCollapseItem: typeof import('element-plus/es')['ElCollapseItem']
     ElColorPicker: typeof import('element-plus/es')['ElColorPicker']
     ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
-    ElContainer: typeof import('element-plus/es')['ElContainer']
     ElDatePicker: typeof import('element-plus/es')['ElDatePicker']
     ElDescriptions: typeof import('element-plus/es')['ElDescriptions']
     ElDescriptionsItem: typeof import('element-plus/es')['ElDescriptionsItem']
@@ -45,31 +41,23 @@ declare module 'vue' {
     ElEmpty: typeof import('element-plus/es')['ElEmpty']
     ElForm: typeof import('element-plus/es')['ElForm']
     ElFormItem: typeof import('element-plus/es')['ElFormItem']
-    ElHeader: typeof import('element-plus/es')['ElHeader']
     ElIcon: typeof import('element-plus/es')['ElIcon']
     ElImage: typeof import('element-plus/es')['ElImage']
     ElInput: typeof import('element-plus/es')['ElInput']
     ElInputNumber: typeof import('element-plus/es')['ElInputNumber']
     ElLink: typeof import('element-plus/es')['ElLink']
-    ElMain: typeof import('element-plus/es')['ElMain']
     ElMenu: typeof import('element-plus/es')['ElMenu']
     ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
     ElOption: typeof import('element-plus/es')['ElOption']
     ElPagination: typeof import('element-plus/es')['ElPagination']
     ElPopover: typeof import('element-plus/es')['ElPopover']
     ElRadio: typeof import('element-plus/es')['ElRadio']
-    ElRadioButton: typeof import('element-plus/es')['ElRadioButton']
     ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
     ElRow: typeof import('element-plus/es')['ElRow']
     ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
     ElSegmented: typeof import('element-plus/es')['ElSegmented']
     ElSelect: typeof import('element-plus/es')['ElSelect']
-    ElSkeleton: typeof import('element-plus/es')['ElSkeleton']
-    ElSkeletonItem: typeof import('element-plus/es')['ElSkeletonItem']
     ElSlider: typeof import('element-plus/es')['ElSlider']
-    ElSpace: typeof import('element-plus/es')['ElSpace']
-    ElStep: typeof import('element-plus/es')['ElStep']
-    ElSteps: typeof import('element-plus/es')['ElSteps']
     ElSubMenu: typeof import('element-plus/es')['ElSubMenu']
     ElSwitch: typeof import('element-plus/es')['ElSwitch']
     ElTable: typeof import('element-plus/es')['ElTable']

+ 134 - 0
src/views/censusDataAnalysis/index.vue

@@ -0,0 +1,134 @@
+<template>
+  <div class="special-container">
+    <div class="header">
+      <div class="header-left">
+        <div ref="menuRef" class="icon-menu" @click="handleShowMenu">
+          <div v-show="specialSubjectState.showMenu" class="menu-box">
+            <div
+              v-for="(item, index) in specialSubjectState.menu"
+              :key="index"
+              :class="specialSubjectState.activeIndex === item.value ? 'menu-item active' : 'menu-item'"
+              @click.stop="handleClickMenu(item)"
+            >
+              {{ item.name }}
+            </div>
+          </div>
+        </div>
+      </div>
+      <div class="header-title">{{ specialSubjectState.title }}</div>
+      <div class="header-right"></div>
+    </div>
+    <div class="content">
+      <natural-disaster />
+    </div>
+  </div>
+</template>
+
+<script lang="ts" setup name="censusDataAnalysis">
+import { onClickOutside } from '@vueuse/core';
+import NaturalDisaster from '@/views/censusDataAnalysis/naturalDisaster.vue';
+let specialSubjectState = reactive({
+  activeIndex: '1',
+  title: '减灾能力综合展示',
+  showMenu: false,
+  menu: [
+    { name: '自然灾害综合分析', value: '1' },
+    { name: '减灾能力综合展示', value: '2' },
+    { name: '自然灾害承灾体综合', value: '3' },
+    { name: '森林火灾风险综合', value: '4' },
+    { name: '海洋灾害风险综合', value: '5' },
+    { name: '洪涝灾害风险综合', value: '6' },
+    { name: '气象灾害风险综合', value: '7' },
+    { name: '地质灾害风险综合', value: '8' },
+    { name: '地震灾害风险综合', value: '9' }
+  ]
+});
+let menuRef = ref();
+onClickOutside(menuRef, () => {
+  specialSubjectState.showMenu = false;
+});
+// 显示菜单
+let handleShowMenu = () => {
+  specialSubjectState.showMenu = !specialSubjectState.showMenu;
+};
+// 切换专题
+const handleClickMenu = (item) => {
+  specialSubjectState.title = item.name;
+  specialSubjectState.activeIndex = item.value;
+  specialSubjectState.showMenu = false;
+}
+</script>
+
+<style lang="scss" scoped>
+.special-container {
+  width: 100vw;
+  background-color: #f3f4f3;
+  .header {
+    width: 100%;
+    height: 55px;
+    display: flex;
+    align-items: center;
+    background-color: #d7d7d7;
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    padding: 0 20px;
+    .header-left {
+      position: relative;
+      .icon-menu {
+        display: inline-block;
+        width: 20px;
+        height: 20px;
+        background: #ededed;
+        cursor: pointer;
+      }
+      .menu-box {
+        position: absolute;
+        top: 50px;
+        left: 0;
+        width: 175px;
+        display: flex;
+        flex-direction: column;
+        background-color: #ffffff;
+        .menu-item {
+          padding: 0 15px;
+          height: 35px;
+          line-height: 35px;
+          cursor: pointer;
+          &:hover {
+            background-color: #00aaff;
+          }
+        }
+        .active {
+          background-color: #00aaff;
+        }
+      }
+    }
+    .header-title {
+      font-size: 24px;
+      font-weight: bold;
+    }
+    .header-right {}
+  }
+  .content {
+    width: 100%;
+    height: calc(100vh - 55px);
+    display: flex;
+    .left-box {
+      width: 230px !important;
+      height: 100%;
+      overflow-y: auto;
+      background-color: #ffffff;
+    }
+    .middle-box {
+      flex: 1;
+    }
+    .right-box {
+      width: 230px !important;
+      height: 100%;
+      overflow-y: auto;
+      background-color: #ffffff;
+    }
+  }
+}
+</style>

+ 11 - 0
src/views/censusDataAnalysis/naturalDisaster.vue

@@ -0,0 +1,11 @@
+<template>
+  <div>222</div>
+</template>
+
+<script lang="ts" setup>
+
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 2 - 2
src/views/dataFilling/fileManagement.vue

@@ -35,9 +35,9 @@
         <pagination v-show="total > 0" v-model:page="queryParams.page" v-model:limit="queryParams.pageSize" :total="total" @pagination="tableData" />
       </div>
     </div>
+    <!--  <WriteForm v-if="writeFormState.show" :event-id="writeFormState.eventId" @close="handleCancel" />-->
+    <dossierDetail v-if="dossierDetailState.show" :event-id="dossierDetailState.eventId" @close="handleCancel" />
   </div>
-<!--  <WriteForm v-if="writeFormState.show" :event-id="writeFormState.eventId" @close="handleCancel" />-->
-  <dossierDetail v-if="dossierDetailState.show" :event-id="dossierDetailState.eventId" @close="handleCancel" />
 </template>
 <script setup lang="ts">
 import dossierDetail from "@/views/dataFilling/dossierDetail.vue";

+ 2 - 2
src/views/dataFilling/fillingManage.vue

@@ -67,9 +67,9 @@
         <pagination v-show="total > 0" v-model:page="queryParams.page" v-model:limit="queryParams.pageSize" :total="total" @pagination="tableData" />
       </div>
     </div>
+    <FillingAdd v-if="fillingAddState.show" :event-id="fillingAddState.eventId" @close="handleCancel" />
+    <TableDetails v-if="tableDetailsState.show" :event-id="tableDetailsState.eventId" @close="handleCancel" />
   </div>
-  <FillingAdd v-if="fillingAddState.show" :event-id="fillingAddState.eventId" @close="handleCancel" />
-  <TableDetails v-if="tableDetailsState.show" :event-id="tableDetailsState.eventId" @close="handleCancel" />
 </template>
 <script setup lang="ts">
 import { onMounted, reactive, ref } from 'vue';

+ 9 - 6
src/views/globalMap/RightMenu/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="right-menu">
     <div class="menu-container">
-      <div style="position: relative; margin-top: 60px">
+      <div style="position: relative; margin-top: 60px; display: inline-block; vertical-align: top;">
         <div ref="scrollListRef" :class="!menuState.showMenu ? 'menu-list' : 'menu-list menu-list-right'">
           <div
             v-for="(item, index) in menuState.menuData"
@@ -14,12 +14,12 @@
           </div>
         </div>
         <div v-show="menuState.menuData.length > 0" :class="menuState.showMenu ? 'right-btn' : 'left-btn'" @click="clickContractMenu"></div>
-        <div v-show="menuState.menuData.length > 7" class="btn-box">
+        <div v-show="menuState.menuData.length > 9" class="btn-box">
           <div class="up-btn" @click="clickBtn('up')"></div>
           <div class="down-btn" @click="clickBtn('down')"></div>
         </div>
       </div>
-      <div v-show="menuState.showMenu">
+      <div v-show="menuState.showMenu" style="display: inline-block">
         <!--图层分析-->
         <LayerAnalysis v-if="menuState.showMenu && menuState.menuData[menuState.activeIndex]?.name === '图层分析'" :point-type="pointType" />
         <!--空间分析-->
@@ -219,13 +219,12 @@ defineExpose({ handleMenu, showIndexMenu, clickContractMenu, updateMenu, getMenu
   align-items: center;
 }
 .menu-container {
-  display: flex;
   .menu-list-right {
     margin-right: -39px;
   }
   .menu-list {
     position: relative;
-    max-height: 1176px;
+    max-height: 505px;
     overflow: hidden;
     .menu-item {
       width: 252px;
@@ -236,6 +235,10 @@ defineExpose({ handleMenu, showIndexMenu, clickContractMenu, updateMenu, getMenu
       display: flex;
       align-items: center;
       background: url('@/assets/images/map/rightMenu/box.png') no-repeat;
+      margin-top: 10px;
+      &:first-child {
+        margin-top: 0;
+      }
       .text {
         font-size: 18px;
       }
@@ -251,7 +254,7 @@ defineExpose({ handleMenu, showIndexMenu, clickContractMenu, updateMenu, getMenu
   .right-btn {
     position: absolute;
     top: 50%;
-    right: 120px;
+    right: 205px;
     transform: translateY(-50%);
     z-index: 2;
   }

+ 2 - 1
src/views/informationissue/informationView.vue

@@ -136,7 +136,7 @@
                     <div>
                       <p v-if="processingTime">已用时:{{ processingTime }}</p>
                     </div>
-                    <el-timeline style="width: 700px">
+                    <el-timeline style="width: 100%">
                       <template v-for="(item, index) in formData.examines" :key="index">
                         <el-timeline-item placement="top">
                           <el-card>
@@ -311,6 +311,7 @@ onMounted(() => {
   display: flex;
   flex-direction: column;
   gap: 1rem;
+  width: 100%;
 }
 .common-dialog-footer {
   margin-top: 0.5rem;

+ 1 - 1
src/views/login.vue

@@ -209,7 +209,7 @@ const handleTab = (tab) => {
   if(tab == 1) {
     // const redirect_uri = encodeURIComponent(import.meta.env.YZY_REDIRECT_URI);
     // const tyrz_url = import.meta.env.YZY_TYRZ_URL + redirect_uri;
-    const redirect_uri = encodeURIComponent("http://19.155.220.206:8086/tyrz/login?redirect="+redirect.value);
+    const redirect_uri = encodeURIComponent("http://19.155.220.206:8086/tyrz/login?src=yjzp&redirect="+redirect.value);
     const tyrz_url = "https://xtbg.digitalgd.com.cn/zwrz/rz/sso/oauth/authorize?response_type=code&scope=all&client_id=zwrz_mmzhyj&redirect_uri="+redirect_uri;
     window.location.href = tyrz_url;
   }