Browse Source

更新依赖

ZaiZai 6 months ago
parent
commit
a2ed2c6802
4 changed files with 50 additions and 22 deletions
  1. 1 1
      package.json
  2. 11 17
      src/layout/index.vue
  3. 34 0
      src/store/modules/useProject.js
  4. 4 4
      yarn.lock

+ 1 - 1
package.json

@@ -22,7 +22,7 @@
         "dayjs": "^1.11.12",
         "echarts": "^5.5.1",
         "element-plus": "^2.8.0",
-        "hc-vue3-ui": "^4.1.6",
+        "hc-vue3-ui": "^4.2.3",
         "js-base64": "^3.7.7",
         "js-fast-way": "^0.5.6",
         "js-md5": "^0.8.3",

+ 11 - 17
src/layout/index.vue

@@ -1,10 +1,5 @@
 <template>
-    <el-container
-        v-loading="isLoading"
-        class="hc-layout-box"
-        :class="[!isNullES(isLayout) && isLayout === 'no' ? 'is-no-layout' : '']"
-        element-loading-text="获取数据中..."
-    >
+    <el-container v-loading="!isAppLoading" class="hc-layout-box" :class="[!isNullES(isLayout) && isLayout === 'no' ? 'is-no-layout' : '']" element-loading-text="获取数据中...">
         <el-header class="hc-layout-header">
             <div class="hc-layout-header-logo" :style="`width: ${isCollapse ? '0px' : '200px'};`" @click="logoClick">
                 <!-- <img id="logo-icon" :src="appLogoIcon" alt=""> -->
@@ -51,11 +46,12 @@
 
 <script setup>
 import { computed, nextTick, onMounted, onUnmounted, ref, watch } from 'vue'
-import { useAppStore } from '~src/store'
 import { useRoute, useRouter } from 'vue-router'
-import { initButtons } from '~sto/app'
 import { getObjValue, isNullES, useClick } from 'js-fast-way'
 import { HcSocket } from '~src/plugins/HcSocket'
+import { useAppStore } from '~src/store'
+import { initButtons } from '~sto/app'
+import { useProject } from '~sto/useProject'
 import website from '~src/config'
 
 //初始组合式
@@ -63,15 +59,8 @@ const router = useRouter()
 const useRoutes = useRoute()
 const store = useAppStore()
 
-const reloadRouter = ref(!website.localModel)
-
-const isLoading = computed(() => {
-    if (website.localModel) {
-        return !reloadRouter.value
-    } else {
-        return false
-    }
-})
+const reloadRouter = ref(false)
+const { isAppLoading } = useProject()
 
 //子组件
 import HcTopMenuBar from './modules/HcTopMenu.vue'
@@ -102,6 +91,11 @@ watch(() => [
     isLayout.value = layout ?? layout2
 }, { deep: true })
 
+//监听项目信息变化
+watch(() => isAppLoading.value, (res) => {
+    reloadRouter.value = res
+}, { immediate:true })
+
 //路由信息
 const routerMenuLoad = ({ key }) => {
     menuBarKey.value = key

+ 34 - 0
src/store/modules/useProject.js

@@ -0,0 +1,34 @@
+import { computed, ref, watch } from 'vue'
+import { useAppStore } from '~src/store'
+import { isNullES } from 'js-fast-way'
+
+export function useProject() {
+    const useAppState = useAppStore()
+
+    const projectId = ref(useAppState.getProjectId)
+    const contractId = ref(useAppState.getContractId)
+    const projectInfo = ref(useAppState.getProjectInfo)
+    const contractInfo = ref(useAppState.getContractInfo)
+
+    watch(() => [
+        useAppState.getProjectId, useAppState.getContractId,
+        useAppState.getProjectInfo, useAppState.getContractInfo,
+    ], ([pid, cid, pinfo, cinfo]) => {
+        projectId.value = pid
+        contractId.value = cid
+        projectInfo.value = pinfo
+        contractInfo.value = cinfo
+    }, { deep: true })
+
+    const isAppLoading = computed(() => {
+        return !isNullES(projectId.value) && !isNullES(contractId.value)
+    })
+
+    return {
+        projectId,
+        contractId,
+        projectInfo,
+        contractInfo,
+        isAppLoading,
+    }
+}

+ 4 - 4
yarn.lock

@@ -2055,10 +2055,10 @@ has-flag@^4.0.0:
   resolved "http://39.108.216.210:9000/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
   integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
 
-hc-vue3-ui@^4.1.6:
-  version "4.1.6"
-  resolved "http://39.108.216.210:9000/hc-vue3-ui/-/hc-vue3-ui-4.1.6.tgz#8997a29c818a009e3436b8ed9cad269fe3776b6c"
-  integrity sha512-g3GTPNcoH9NblPCSqki1aKpHaW7CPqOwMGDBqgxhAtvZU0lD7xaV86zINyTeYiVNTszOow+1Jea2Hl25LTeUHQ==
+hc-vue3-ui@^4.2.3:
+  version "4.2.3"
+  resolved "http://39.108.216.210:9000/hc-vue3-ui/-/hc-vue3-ui-4.2.3.tgz#0d4b9d3aa87e73e95cea43aae681327b058dc66c"
+  integrity sha512-OFYgaw18NiohMLEehMhT0YNBY6EsML5C1WUTHlhzFaVddchkYQJImjbP8zVlgGNTLvtfnv9AJNlor97Pat5K8A==
   dependencies:
     axios "^1.7.4"
     dayjs "^1.11.12"