Browse Source

页面细节调整

sujunling 2 years ago
parent
commit
90b24ce32f

+ 8 - 0
README.md

@@ -172,3 +172,11 @@ yarn build
 ## License
 
 [MIT © Vben-2020](./LICENSE)
+
+
+
+
+备份:
+路由:/resource/library
+权限:resource:library
+组件:/resource/library/index

+ 4 - 0
index.html

@@ -52,6 +52,10 @@
       background-size: 170px 50px;
       color: #377dff !important;
     }
+
+    header.ant-layout-header {
+      padding-right: 20px;
+    }
   </style>
 </head>
 

+ 1 - 0
src/assets/images/Rectangle 6.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="1920" height="64" viewBox="0 0 1920 64"><g><rect x="0" y="0" width="1920" height="64" rx="0" fill="#0671DD" fill-opacity="1"/></g></svg>

File diff suppressed because it is too large
+ 1 - 0
src/assets/images/Vector.svg


BIN
src/assets/images/headerSet.png


File diff suppressed because it is too large
+ 1 - 0
src/assets/images/headerSet.svg


File diff suppressed because it is too large
+ 1 - 0
src/assets/images/outSys.svg


File diff suppressed because it is too large
+ 1 - 0
src/assets/images/qp1.svg


File diff suppressed because it is too large
+ 1 - 0
src/assets/images/qp2.svg


File diff suppressed because it is too large
+ 1 - 0
src/assets/images/userImg.svg


+ 4 - 4
src/components/Application/src/AppLocalePicker.vue

@@ -11,10 +11,10 @@
     @menuEvent="handleMenuEvent"
     overlayClassName="app-locale-picker-overlay"
   >
-    <span class="cursor-pointer flex items-center" :style="{ color: color }">
-      <!-- <Icon icon="ion:language" /> -->
-      <!-- <span v-if="showText" class="ml-1">{{ getLocaleText }}</span> -->
-    </span>
+    <!-- <span class="cursor-pointer flex items-center" :style="{ color: color }">
+      <Icon icon="ion:language" />
+      <span v-if="showText" class="ml-1">{{ getLocaleText }}</span>
+    </span> -->
   </Dropdown>
 </template>
 <script lang="ts" setup>

+ 15 - 2
src/components/Application/src/AppLogo.vue

@@ -1,8 +1,8 @@
 <template>
-  <div class="anticon" :class="getAppLogoClass" @click="goHome">
+  <div class="anticon" :class="getAppLogoClass" @click="goHome" style="margin-right: 184px;">
     <!-- <img v-if="getLogo" :src="getLogo" />
     <img v-else src="/src/assets/images/logo.png" /> -->
-    <div class="ml-2 truncate md:opacity-100" :class="getTitleClass" v-show="showTitle">
+    <div class="headerName ml-2 truncate md:opacity-100" :class="getTitleClass" v-show="showTitle">
       <!-- {{ getTitle }} -->
       空间数据管理平台
     </div>
@@ -63,6 +63,19 @@ const getTitle = computed(() => {
 });
 </script>
 <style lang="less" scoped>
+.headerName {
+  font-family: '思源黑体';
+  font-size: 24px !important;
+  font-weight: 900;
+  line-height: 28.08px !important;
+  letter-spacing: 0.24px !important;
+  background: linear-gradient(180deg, #FFFFFF -3%, #E0FBFF 100%);
+  -webkit-background-clip: text;
+  -webkit-text-fill-color: transparent;
+  background-clip: text;
+  text-fill-color: transparent;
+}
+
 div.logo {
   display: flex;
   align-items: center;

+ 2 - 0
src/components/Menu/src/BasicMenu.vue

@@ -118,6 +118,7 @@
         );
 
       async function handleMenuClick({ key }: { key: string; keyPath: string[] }) {
+        // debugger
         const { beforeClickFn } = props;
         if (beforeClickFn && isFunction(beforeClickFn)) {
           const flag = await beforeClickFn(key);
@@ -133,6 +134,7 @@
       }
 
       async function handleMenuChange(route?: RouteLocationNormalizedLoaded) {
+        // debugger
         if (unref(isClickGo)) {
           isClickGo.value = false;
           return;

+ 25 - 24
src/components/Menu/src/components/MenuItemContent.vue

@@ -1,34 +1,35 @@
 <template>
   <span :class="`${prefixCls}- flex items-center `">
-    <Icon v-if="getIcon" :icon="getIcon" :size="18" :class="`${prefixCls}-wrapper__icon mr-2`" />
+    <!-- <Icon v-if="getIcon" :icon="getIcon" :size="18" :class="`${prefixCls}-wrapper__icon mr-2`" /> -->
+    <!-- <div>sjl注释掉了头部icon</div> -->
     {{ getI18nName }}
   </span>
 </template>
 <script lang="ts">
-  import { computed, defineComponent } from 'vue';
+import { computed, defineComponent } from 'vue';
 
-  import Icon from '/@/components/Icon/index';
-  import { useI18n } from '/@/hooks/web/useI18n';
-  import { useDesign } from '/@/hooks/web/useDesign';
-  import { contentProps } from '../props';
-  const { t } = useI18n();
+import Icon from '/@/components/Icon/index';
+import { useI18n } from '/@/hooks/web/useI18n';
+import { useDesign } from '/@/hooks/web/useDesign';
+import { contentProps } from '../props';
+const { t } = useI18n();
 
-  export default defineComponent({
-    name: 'MenuItemContent',
-    components: {
-      Icon,
-    },
-    props: contentProps,
-    setup(props) {
-      const { prefixCls } = useDesign('basic-menu-item-content');
-      const getI18nName = computed(() => t(props.item?.name));
-      const getIcon = computed(() => props.item?.icon);
+export default defineComponent({
+  name: 'MenuItemContent',
+  components: {
+    Icon,
+  },
+  props: contentProps,
+  setup(props) {
+    const { prefixCls } = useDesign('basic-menu-item-content');
+    const getI18nName = computed(() => t(props.item?.name));
+    const getIcon = computed(() => props.item?.icon);
 
-      return {
-        prefixCls,
-        getI18nName,
-        getIcon,
-      };
-    },
-  });
+    return {
+      prefixCls,
+      getI18nName,
+      getIcon,
+    };
+  },
+});
 </script>

+ 31 - 25
src/layouts/default/header/components/FullScreen.vue

@@ -1,37 +1,43 @@
 <template>
   <Tooltip :title="getTitle" placement="bottom" :mouseEnterDelay="0.5">
     <span @click="toggle">
-      <FullscreenOutlined v-if="!isFullscreen" />
-      <FullscreenExitOutlined v-else />
+      <!-- <FullscreenOutlined v-if="!isFullscreen" />
+      <FullscreenExitOutlined v-else /> sjl-->
+      <img :src="qp1" v-if="!isFullscreen" alt="" srcset="" style="width: 26px;height: 26px;">
+      <img :src="qp2" v-else alt="" srcset="" style="width: 26px;height: 26px;">
     </span>
   </Tooltip>
 </template>
 <script lang="ts">
-  import { defineComponent, computed, unref } from 'vue';
-  import { Tooltip } from 'ant-design-vue';
-  import { useI18n } from '/@/hooks/web/useI18n';
-  import { useFullscreen } from '@vueuse/core';
+import { defineComponent, computed, unref } from 'vue';
+import { Tooltip } from 'ant-design-vue';
+import { useI18n } from '/@/hooks/web/useI18n';
+import { useFullscreen } from '@vueuse/core';
+import qp1 from '/@/assets/images/qp1.svg';
+import qp2 from '/@/assets/images/qp2.svg';
 
-  import { FullscreenExitOutlined, FullscreenOutlined } from '@ant-design/icons-vue';
-  export default defineComponent({
-    name: 'FullScreen',
-    components: { FullscreenExitOutlined, FullscreenOutlined, Tooltip },
+import { FullscreenExitOutlined, FullscreenOutlined } from '@ant-design/icons-vue';
+export default defineComponent({
+  name: 'FullScreen',
+  components: { FullscreenExitOutlined, FullscreenOutlined, Tooltip },
 
-    setup() {
-      const { t } = useI18n();
-      const { toggle, isFullscreen } = useFullscreen();
+  setup() {
+    const { t } = useI18n();
+    const { toggle, isFullscreen } = useFullscreen();
 
-      const getTitle = computed(() => {
-        return unref(isFullscreen)
-          ? t('layout.header.tooltipExitFull')
-          : t('layout.header.tooltipEntryFull');
-      });
+    const getTitle = computed(() => {
+      return unref(isFullscreen)
+        ? t('layout.header.tooltipExitFull')
+        : t('layout.header.tooltipEntryFull');
+    });
 
-      return {
-        getTitle,
-        isFullscreen,
-        toggle,
-      };
-    },
-  });
+    return {
+      qp1,
+      qp2,
+      getTitle,
+      isFullscreen,
+      toggle,
+    };
+  },
+});
 </script>

+ 4 - 1
src/layouts/default/header/components/user-dropdown/index.vue

@@ -1,7 +1,8 @@
 <template>
   <Dropdown placement="bottomLeft" :overlayClassName="`${prefixCls}-dropdown-overlay`">
     <span :class="[prefixCls, `${prefixCls}--${theme}`]" class="flex">
-      <img :class="`${prefixCls}__header`" :src="getUserInfo.avatar" />
+      <!-- <img :class="`${prefixCls}__header`" :src="getUserInfo.avatar" />  sjl-->
+      <img :src="userImg" alt="" srcset="" style="width: 26px;height: 26px;">
       <span :class="`${prefixCls}__info hidden md:block`">
         <span :class="`${prefixCls}__name  `" class="truncate">
           {{ getUserInfo.realName }}
@@ -68,6 +69,7 @@
   import AboutSoftwareModal from '../AboutSoftwareModal.vue';
   import { AesEncryption } from '/@/utils/cipher';
   import { cacheCipher } from '/@/settings/encryptionSetting';
+  import userImg from "/@/assets/images/userImg.svg";
 
   type MenuEvent = 'logout' | 'doc' | 'lock' | 'personal' | 'changePassword' | 'aboutSoftware';
 
@@ -172,6 +174,7 @@
       };
 
       return {
+        userImg,
         handleDecode,
         updataPersonlData,
         refreshPersonlData,

+ 164 - 163
src/layouts/default/header/index.vue

@@ -3,31 +3,17 @@
     <!-- left start -->
     <div :class="`${prefixCls}-left`">
       <!-- logo -->
-      <AppLogo
-        v-if="getShowHeaderLogo || getIsMobile"
-        :class="`${prefixCls}-logo`"
-        :theme="getHeaderTheme"
-        :style="getLogoWidth"
-      />
-      <LayoutTrigger
-        v-if="
-          (getShowContent && getShowHeaderTrigger && !getSplit && !getIsMixSidebar) || getIsMobile
-        "
-        :theme="getHeaderTheme"
-        :sider="false"
-      />
+      <AppLogo v-if="getShowHeaderLogo || getIsMobile" :class="`${prefixCls}-logo`" :theme="getHeaderTheme"
+        :style="getLogoWidth" />
+      <LayoutTrigger v-if="(getShowContent && getShowHeaderTrigger && !getSplit && !getIsMixSidebar) || getIsMobile
+        " :theme="getHeaderTheme" :sider="false" />
       <LayoutBreadcrumb v-if="getShowContent && getShowBread" :theme="getHeaderTheme" />
     </div>
     <!-- left end -->
 
     <!-- menu start -->
     <div :class="`${prefixCls}-menu`" v-if="getShowTopMenu && !getIsMobile">
-      <LayoutMenu
-        :isHorizontal="true"
-        :theme="getHeaderTheme"
-        :splitType="getSplitType"
-        :menuMode="getMenuMode"
-      />
+      <LayoutMenu :isHorizontal="true" :theme="getHeaderTheme" :splitType="getSplitType" :menuMode="getMenuMode" />
     </div>
     <!-- menu-end -->
 
@@ -41,159 +27,174 @@
 
       <HelpDoc />
 
-      <FullScreen v-if="getShowFullScreen" :class="`${prefixCls}-action__item fullscreen-item`" />
+      <SettingDrawer v-if="getShowSetting" :class="`${prefixCls}-action__item`" />
+
 
-      <AppLocalePicker
-        v-if="getShowLocalePicker"
-        :reload="true"
-        :showText="false"
-        :class="`${prefixCls}-action__item`"
-      />
+      <AppLocalePicker v-if="getShowLocalePicker" :reload="true" :showText="false" :class="`${prefixCls}-action__item`" />
 
       <UserDropDown :theme="getHeaderTheme" />
+      <img :src="outSys" alt="" srcset="" class="outSys" @click="outSysWay">
+      <FullScreen v-if="getShowFullScreen" :class="`${prefixCls}-action__item fullscreen-item`" />
 
-      <SettingDrawer v-if="getShowSetting" :class="`${prefixCls}-action__item`" />
     </div>
   </Header>
 </template>
 <script lang="ts">
-  import { defineComponent, unref, computed } from 'vue';
-  import { propTypes } from '/@/utils/propTypes';
-  import { Layout } from 'ant-design-vue';
-  import { AppLogo } from '/@/components/Application';
-  import LayoutMenu from '../menu/index.vue';
-  import LayoutTrigger from '../trigger/index.vue';
-  import { useHeaderSetting } from '/@/hooks/setting/useHeaderSetting';
-  import { useMenuSetting } from '/@/hooks/setting/useMenuSetting';
-  import { useRootSetting } from '/@/hooks/setting/useRootSetting';
-
-  import { MenuModeEnum, MenuSplitTyeEnum } from '/@/enums/menuEnum';
-  import { SettingButtonPositionEnum } from '/@/enums/appEnum';
-  import { AppLocalePicker } from '/@/components/Application';
-
-  import { UserDropDown, LayoutBreadcrumb, FullScreen, Notify, ErrorAction } from './components';
-  import { useAppInject } from '/@/hooks/web/useAppInject';
-  import { useDesign } from '/@/hooks/web/useDesign';
-
-  import { createAsyncComponent } from '/@/utils/factory/createAsyncComponent';
-  import { useLocale } from '/@/locales/useLocale';
-  import HelpDoc from './components/HelpDoc.vue';
-
-  export default defineComponent({
-    name: 'LayoutHeader',
-    components: {
-      Header: Layout.Header,
-      AppLogo,
-      LayoutTrigger,
-      LayoutBreadcrumb,
-      LayoutMenu,
-      UserDropDown,
-      AppLocalePicker,
-      FullScreen,
-      Notify,
-      ErrorAction,
-      SettingDrawer: createAsyncComponent(() => import('/@/layouts/default/setting/index.vue'), {
-        loading: true,
-      }),
-      HelpDoc,
-    },
-    props: {
-      fixed: propTypes.bool,
-    },
-    setup(props) {
-      const { prefixCls } = useDesign('layout-header');
-      const {
-        getShowTopMenu,
-        getShowHeaderTrigger,
-        getSplit,
-        getIsMixMode,
-        getMenuWidth,
-        getIsMixSidebar,
-      } = useMenuSetting();
-      const { getUseErrorHandle, getShowSettingButton, getSettingButtonPosition } =
-        useRootSetting();
-
-      const {
-        getHeaderTheme,
-        getShowFullScreen,
-        getShowNotice,
-        getShowContent,
-        getShowBread,
-        getShowHeaderLogo,
-        getShowHeader,
-        getShowSearch,
-      } = useHeaderSetting();
-
-      const { getShowLocalePicker } = useLocale();
-
-      const { getIsMobile } = useAppInject();
-
-      const getHeaderClass = computed(() => {
-        const theme = unref(getHeaderTheme);
-        return [
-          prefixCls,
-          {
-            [`${prefixCls}--fixed`]: props.fixed,
-            [`${prefixCls}--mobile`]: unref(getIsMobile),
-            [`${prefixCls}--${theme}`]: theme,
-          },
-        ];
-      });
-
-      const getShowSetting = computed(() => {
-        if (!unref(getShowSettingButton)) {
-          return false;
-        }
-        const settingButtonPosition = unref(getSettingButtonPosition);
-
-        if (settingButtonPosition === SettingButtonPositionEnum.AUTO) {
-          return unref(getShowHeader);
-        }
-        return settingButtonPosition === SettingButtonPositionEnum.HEADER;
-      });
-
-      const getLogoWidth = computed(() => {
-        if (!unref(getIsMixMode) || unref(getIsMobile)) {
-          return {};
-        }
-        const width = unref(getMenuWidth) < 180 ? 180 : unref(getMenuWidth);
-        return { width: `${width}px` };
-      });
-
-      const getSplitType = computed(() => {
-        return unref(getSplit) ? MenuSplitTyeEnum.TOP : MenuSplitTyeEnum.NONE;
-      });
-
-      const getMenuMode = computed(() => {
-        return unref(getSplit) ? MenuModeEnum.HORIZONTAL : null;
-      });
-
-      return {
+import { defineComponent, unref, computed } from 'vue';
+import { propTypes } from '/@/utils/propTypes';
+import { Layout } from 'ant-design-vue';
+import { AppLogo } from '/@/components/Application';
+import LayoutMenu from '../menu/index.vue';
+import LayoutTrigger from '../trigger/index.vue';
+import { useHeaderSetting } from '/@/hooks/setting/useHeaderSetting';
+import { useMenuSetting } from '/@/hooks/setting/useMenuSetting';
+import { useRootSetting } from '/@/hooks/setting/useRootSetting';
+import { useUserStore } from '/@/store/modules/user';
+
+import { MenuModeEnum, MenuSplitTyeEnum } from '/@/enums/menuEnum';
+import { SettingButtonPositionEnum } from '/@/enums/appEnum';
+import { AppLocalePicker } from '/@/components/Application';
+
+import { UserDropDown, LayoutBreadcrumb, FullScreen, Notify, ErrorAction } from './components';
+import { useAppInject } from '/@/hooks/web/useAppInject';
+import { useDesign } from '/@/hooks/web/useDesign';
+
+import { createAsyncComponent } from '/@/utils/factory/createAsyncComponent';
+import { useLocale } from '/@/locales/useLocale';
+import HelpDoc from './components/HelpDoc.vue';
+import outSys from "/@/assets/images/outSys.svg";
+
+export default defineComponent({
+  name: 'LayoutHeader',
+  components: {
+    Header: Layout.Header,
+    AppLogo,
+    LayoutTrigger,
+    LayoutBreadcrumb,
+    LayoutMenu,
+    UserDropDown,
+    AppLocalePicker,
+    FullScreen,
+    Notify,
+    ErrorAction,
+    SettingDrawer: createAsyncComponent(() => import('/@/layouts/default/setting/index.vue'), {
+      loading: true,
+    }),
+    HelpDoc,
+  },
+  props: {
+    fixed: propTypes.bool,
+  },
+  setup(props) {
+    const { prefixCls } = useDesign('layout-header');
+    const {
+      getShowTopMenu,
+      getShowHeaderTrigger,
+      getSplit,
+      getIsMixMode,
+      getMenuWidth,
+      getIsMixSidebar,
+    } = useMenuSetting();
+    const { getUseErrorHandle, getShowSettingButton, getSettingButtonPosition } =
+      useRootSetting();
+
+    const {
+      getHeaderTheme,
+      getShowFullScreen,
+      getShowNotice,
+      getShowContent,
+      getShowBread,
+      getShowHeaderLogo,
+      getShowHeader,
+      getShowSearch,
+    } = useHeaderSetting();
+
+    const { getShowLocalePicker } = useLocale();
+
+    const { getIsMobile } = useAppInject();
+
+    const getHeaderClass = computed(() => {
+      const theme = unref(getHeaderTheme);
+      return [
         prefixCls,
-        getHeaderClass,
-        getShowHeaderLogo,
-        getHeaderTheme,
-        getShowHeaderTrigger,
-        getIsMobile,
-        getShowBread,
-        getShowContent,
-        getSplitType,
-        getSplit,
-        getMenuMode,
-        getShowTopMenu,
-        getShowLocalePicker,
-        getShowFullScreen,
-        getShowNotice,
-        getUseErrorHandle,
-        getLogoWidth,
-        getIsMixSidebar,
-        getShowSettingButton,
-        getShowSetting,
-        getShowSearch,
-      };
-    },
-  });
+        {
+          [`${prefixCls}--fixed`]: props.fixed,
+          [`${prefixCls}--mobile`]: unref(getIsMobile),
+          [`${prefixCls}--${theme}`]: theme,
+        },
+      ];
+    });
+
+    const getShowSetting = computed(() => {
+      if (!unref(getShowSettingButton)) {
+        return false;
+      }
+      const settingButtonPosition = unref(getSettingButtonPosition);
+
+      if (settingButtonPosition === SettingButtonPositionEnum.AUTO) {
+        return unref(getShowHeader);
+      }
+      return settingButtonPosition === SettingButtonPositionEnum.HEADER;
+    });
+
+    const getLogoWidth = computed(() => {
+      if (!unref(getIsMixMode) || unref(getIsMobile)) {
+        return {};
+      }
+      const width = unref(getMenuWidth) < 180 ? 220 : unref(getMenuWidth);//sjl,之前是180
+      return { width: `${width}px` };
+    });
+
+    const getSplitType = computed(() => {
+      return unref(getSplit) ? MenuSplitTyeEnum.TOP : MenuSplitTyeEnum.NONE;
+    });
+
+    const getMenuMode = computed(() => {
+      return unref(getSplit) ? MenuModeEnum.HORIZONTAL : null;
+    });
+
+    const userStore = useUserStore();
+
+    function outSysWay() {
+      userStore.confirmLoginOut();
+    }
+
+    return {
+      outSysWay,
+      outSys,
+      prefixCls,
+      getHeaderClass,
+      getShowHeaderLogo,
+      getHeaderTheme,
+      getShowHeaderTrigger,
+      getIsMobile,
+      getShowBread,
+      getShowContent,
+      getSplitType,
+      getSplit,
+      getMenuMode,
+      getShowTopMenu,
+      getShowLocalePicker,
+      getShowFullScreen,
+      getShowNotice,
+      getUseErrorHandle,
+      getLogoWidth,
+      getIsMixSidebar,
+      getShowSettingButton,
+      getShowSetting,
+      getShowSearch,
+    };
+  },
+});
 </script>
 <style lang="less">
-  @import './index.less';
+@import './index.less';
+
+.outSys {
+  cursor: pointer;
+  border-left: solid 1px #74AFEA;
+  padding-left: 15px;
+  padding-right: 15px;
+  margin-left: 6px;
+}
 </style>

+ 19 - 16
src/layouts/default/setting/index.vue

@@ -1,26 +1,29 @@
 <template>
   <div @click="openDrawer(true)">
-    <Icon icon="ion:settings-outline" />
+    <!-- <Icon icon="ion:settings-outline" /> -->
+    <img :src="img" alt="" srcset="" style="width: 26px;height: 26px;">
     <SettingDrawer @register="register" />
   </div>
 </template>
 <script lang="ts">
-  import { defineComponent } from 'vue';
-  import SettingDrawer from './SettingDrawer';
-  import Icon from '/@/components/Icon';
+import { defineComponent } from 'vue';
+import SettingDrawer from './SettingDrawer';
+import Icon from '/@/components/Icon';
+import img from '/@/assets/images/headerSet.svg';
 
-  import { useDrawer } from '/@/components/Drawer';
+import { useDrawer } from '/@/components/Drawer';
 
-  export default defineComponent({
-    name: 'SettingButton',
-    components: { SettingDrawer, Icon },
-    setup() {
-      const [register, { openDrawer }] = useDrawer();
+export default defineComponent({
+  name: 'SettingButton',
+  components: { SettingDrawer, Icon },
+  setup() {
+    const [register, { openDrawer }] = useDrawer();
 
-      return {
-        register,
-        openDrawer,
-      };
-    },
-  });
+    return {
+      img,
+      register,
+      openDrawer,
+    };
+  },
+});
 </script>

+ 1 - 1
src/views/assembly/item/AssemblyData.vue

@@ -53,7 +53,7 @@ export default defineComponent({
     console.log("list", list);
     eventBus.on('assemblylist', i => {
       i.map(async (j) => j.url = await getImg(j.mapingurl))
-      setTimeout(() => list.value = i, 1000)
+      setTimeout(() => list.value = i, 3000)
     })
 
     function handleQuery(record: Recordable) {

+ 1 - 1
src/views/interface/index.vue

@@ -53,7 +53,7 @@ export default defineComponent({
 
 .datacenter-right {
   float: left;
-  width: calc(100vw - 530px);
+  width: calc(100vw - 320px);
 }
 
 .ztree-container {

+ 1 - 1
src/views/interface/item/AssemblyData.vue

@@ -131,7 +131,7 @@ export default defineComponent({
 
 .item>div:last-child {
   float: left;
-  width: calc(100vw - 722px);
+  width: calc(100vw - 503px);
   margin-left: 20px;
 }
 

+ 1 - 1
src/views/interface/item/child/Search.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="wrapper">
-        <span class="sqrk">申请库(1)</span>
+        <span class="sqrk">申请库(1)</span>
         <span>
             <a-select ref="select" v-model:value="value" style="width: 200px" :options="options" @focus="focus"
                 @change="handleChange">

+ 6 - 0
src/views/resource/plat/index.vue

@@ -74,6 +74,12 @@ export default defineComponent({
 });
 </script>
 <style lang="less" scoped>
+::v-deep .ztree-container span.ant-tree-switcher span.anticon>svg {
+  width: 20px;
+  height: 20px;
+  color: #888888;
+}
+
 .account-center-bottom {
   background: #fff;
   height: calc(100vh - 110px);

+ 21 - 3
src/views/resource/plat/item/child/Search.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="wrapper">
-        <span class="sqrk">申请库(1)</span>
+        <span class="sqrk" @click="showModal">申请库(1)</span>
         <span>
             <a-select ref="select" v-model:value="value" style="width: 200px" :options="options" @focus="focus"
                 @change="handleChange">
@@ -15,15 +15,20 @@
             <a-checkbox v-model:checked="checked3">测试数据2</a-checkbox>
             <a-checkbox v-model:checked="checked4">测试数据3</a-checkbox>
         </div>
+
+        <a-modal v-model:visible="visible" title="申请库" @ok="handleOk" width="1440px" height="980px">
+            <library></library>
+        </a-modal>
     </div>
 </template>
 
 
 <script lang="ts">
 import { defineComponent, ref, computed, unref } from 'vue';
+import library from "../../../library/index.vue"
 export default defineComponent({
     name: 'Search',
-    components: {},
+    components: { library },
     setup() {
         const value = ref<string>('1');
         const key = ref<string>('');
@@ -31,7 +36,7 @@ export default defineComponent({
         const checked2 = ref<boolean>(false);
         const checked3 = ref<boolean>(false);
         const checked4 = ref<boolean>(false);
-            
+
         const options = ref<SelectTypes['options']>([
             {
                 value: '1',
@@ -51,7 +56,19 @@ export default defineComponent({
 
         }
 
+        const visible = ref<boolean>(false);
+        const showModal = () => {
+            visible.value = true;
+        };
+        const handleOk = (e: MouseEvent) => {
+            console.log(e);
+            visible.value = false;
+        };
+
         return {
+            visible,
+            showModal,
+            handleOk,
             options,
             value,
             key,
@@ -86,6 +103,7 @@ export default defineComponent({
 }
 
 .sqrk {
+    cursor: pointer;
     width: 94px;
     height: 32px;
     background: #0671DD;