1
YM
2024-07-26 571e12ca122d12f20689e3040a0f368ef1ae8850
src/components/headNav/headNav.vue
@@ -1,9 +1,15 @@
<template>
  <view class="headNav">
    <view class="NavTop flex" :style="{ backgroundImage: 'url(' + bg + ')' }" >
    <view class="NavTop flex" :style="{ backgroundImage: 'url(' + bg + ')' }">
      <view
        class="santiaogang"
        style="width: 0.34rem; height: 0.34rem; margin-right: 3rem;cursor: pointer;"
        style="
          width: 0.34rem;
          height: 0.34rem;
          margin-right: 3rem;
          cursor: pointer;
        "
        title="导航菜单"
        @click="menuNav = !menuNav"
        ><img
          style="width: 100%; height: 100%"
@@ -13,13 +19,7 @@
      <view class="flex" style="letter-spacing: 5rpx">
        <view class="logo"></view>
        <view
          class=""
          style="
            margin-left: 0.19rem;
            font-size: 0.24rem;
            font-family: cursive;
            font-weight: 900;
          "
          style="margin-left: 0.19rem; font-size: 0.24rem; font-weight: 900"
        >
          {{ text }}
        </view>
@@ -33,9 +33,9 @@
            width: 2.33rem;
            margin-right: 0.3rem;
            justify-content: flex-end;
            position: relative;
          "
        >
          <!-- overflow: hidden;  -->
          <input
            :style="{ display: isExpanded == true ? 'block' : 'none' }"
            type="text"
@@ -44,28 +44,53 @@
              flex: 1;
              background-color: #fff;
              font-size: 0.13rem;
              padding-right: 30px;
              box-sizing: border-box;
            "
            @blur="InputBlur"
            @confirm="toggleSearch"
            class="search-input"
            v-model="searchInput"
            placeholder="请输入搜索内容"
          />
          <span
            class="cleanupBtn"
            v-if="searchInput"
            @click="searchInput = ''"
            style="
              position: absolute;
              top: 50%;
              margin-top: -10px;
              right: 42px;
              color: #fff;
              z-index: 2;
              display: inline-block;
              width: 20px;
              height: 20px;
              text-align: center;
              line-height: 20px;
              background-color: #a5a5a5;
              font-weight: bold;
              border-radius: 50%;
              font-size: 12px;
              cursor: pointer;
            "
            >✖</span
          >
          <view
            title="搜索"
            class="search-logo"
            @click="toggleSearch"
            :style="{
              backgroundColor: searchBg == true ? '#244A7B' : '#DA7A2B'
              backgroundColor: searchBg == true ? '#244A7B' : '#DA7A2B',
            }"
            style="
              background-color: #000;
              border-radius: 50%;
              margin-top: -4rpx;
            "
            style="background-color: #000; border-radius: 50%"
          ></view>
        </view>
        <el-dropdown trigger="click" @command="handleCommand">
          <!-- <view @click="iconClick(2)" class="s2 ss1 "></view> -->
          <img
            title="个人中心"
            class="cursor"
            @click="changePassword(1)"
            src="@/static/image/profile.svg"
@@ -77,6 +102,7 @@
          </el-dropdown-menu>
        </el-dropdown>
        <img
          title="帮助"
          class="cursor"
          @click="changePassword(2)"
          src="@/static/image/quote.svg"
@@ -97,7 +123,7 @@
    >
      <!-- 背景 -->
      <img class="leftListBgImage" src="@/static/image/leftListBg.png" alt="" />
      <view class="" style="position: relative; z-index: 999">
      <view style="position: relative; z-index: 999">
        <view class="flex flex-center LeftLogo">
          <!-- <img src="@/static/image/logo.png" ></img> -->
          <view class="img"></view>
@@ -112,24 +138,27 @@
            <span slot="title">首页</span>
          </el-menu-item>
          <el-menu-item index="1">
            <span slot="title">中医人物数据库</span>
            <span slot="title">历代人物</span>
          </el-menu-item>
          <el-menu-item index="2">
            <span slot="title">世医医家数据库</span>
          <el-menu-item index="2" class="oActive">
            <span slot="title">家学传承</span>
          </el-menu-item>
          <el-menu-item index="6">
            <span slot="title">学术图谱</span>
          </el-menu-item>
          <el-menu-item index="3">
            <span slot="title">中医医学流派</span>
            <span slot="title">学术流派</span>
          </el-menu-item>
          <el-menu-item index="4">
            <span slot="title">中医地域图谱</span>
            <span slot="title">地域图谱</span>
          </el-menu-item>
          <el-menu-item index="5">
          <!-- <el-menu-item index="5">
            <span slot="title">中医医事制度</span>
          </el-menu-item>
          </el-menu-item> -->
        </el-menu>
      </view>
    </el-dialog>
    <!-- <view class="" style="position: fixed;right: 0;top: 0;" @click="dialogVisible = !dialogVisible">水水水水</view> -->
    <!-- <view  style="position: fixed;right: 0;top: 0;" @click="dialogVisible = !dialogVisible">水水水水</view> -->
    <!-- <el-card v-if="menuNav"
         style="position: fixed;left: 0;top: 0; z-index: 999999999; width: 240px;height: 100vh;">
         
@@ -146,32 +175,32 @@
      type: String,
      default() {
        return "标题";
      }
      },
    },
    searchBg: {
      type: Boolean,
      default() {
        return true;
      }
      },
    },
    bg: {
      type: String,
      default() {
        return "/static/image/topBg.png";
      }
      },
    },
    bg1: {
      type: String,
      default() {
        return "@/static/image/line.png";
      }
        return "/static/image/line.png";
      },
    },
    idIndex: {
      type: String,
      default() {
        return "1";
      }
    }
      },
    },
  },
  data() {
    return {
@@ -179,47 +208,38 @@
      searchInput: "", // 搜索框输入的内容
      menuNav: false,
      dialogVisible: false,
      isCommand: true
      isCommand: true,
    };
  },
  methods: {
    // 修改密码
    changePassword(index) {
      if (index == 1) {
        // console.log('sdfdsf');
        // 检查 localStorage 中是否存在 token
        if (localStorage.getItem("access_token")) {
          // token 存在
          console.log("access_token");
          this.isCommand = true;
        } else {
          // token 不存在
          // console.log('Token does not exist.');
          this.isCommand = false;
          // uni.navigateTo({
          //    url: '/pages/Login/Login'
          // })
          console.log("不存在");
          uni.showModal({
            // 询问用户是否退出登录
            title: "请重新登录",
            content: "您确定要重新登录吗?",
            success: async (res) => {
              console.log(res, "reresresrer");
              if (res.confirm) {
                setTimeout(() => {
                  uni.reLaunch({
                    url: "/pages/Login/Login"
                    url: "/pages/Login/Login",
                  });
                }, 1500);
              } else if (res.cancel) {
                // console.log('用户点击取消');
                uni.showToast({
                  title: "用户点击取消",
                  icon: "none"
                });
              }
            }
            },
          });
        }
        // uni.navigateTo({
@@ -232,75 +252,62 @@
    // 修改获取退出按钮
    handleCommand(int) {
      if (int == 1) {
        console.log("修改密码");
        uni.navigateTo({
          url: "/pages/changePassword/changePassword"
          url: "/pages/changePassword/changePassword",
        });
      } else if (int == 2) {
        // console.log('退出登录');
        uni.showModal({
          // 询问用户是否退出登录
          title: "退出登录",
          content: "您确定要退出登录吗?",
          success: async (res) => {
            console.log(res, "reresresrer");
          success: (res) => {
            if (res.confirm) {
              // 退出接口
              await getlogout().then((res) => {
              getlogout().then((res) => {
                //确定退出拿到token并清除token
                let TOKEN = uni.getStorageSync("access_token");
                uni.clearStorageSync();
                //退出成功!并跳转到其他页面
                uni.showToast({
                  title: "退出成功",
                  icon: "none"
                this.$message.success("退出成功");
                uni.reLaunch({
                  url: "/pages/Login/Login",
                });
              });
              setTimeout(() => {
                uni.reLaunch({
                  url: "/pages/Login/Login"
                });
              }, 1500);
            } else if (res.cancel) {
              // console.log('用户点击取消');
              uni.showToast({
                title: "用户点击取消",
                icon: "none"
              });
            }
          }
          },
        });
      }
    },
    aaa() {
      console.log("ss");
    },
    handleSelect(index) {
      console.log(index);
      if (index === "0") {
        uni.navigateTo({
          url: "/pages/index/index?id=" + 0
          url: "/pages/index/index?id=" + 0,
        });
      } else if (index === "1") {
        uni.navigateTo({
          url: "/pages/character/index?id=" + 1
          url: "/pages/character/index?id=" + 1,
        });
      } else if (index === "2") {
        uni.navigateTo({
          url: "/pages/inherit/index?id=" + 2
          url: "/pages/inherit/index?id=" + 2,
        });
      } else if (index === "3") {
        uni.navigateTo({
          url: "/pages/academicGenres/index?id=" + 3
          url: "/pages/academicGenres/index?id=" + 3,
        });
      } else if (index === "4") {
        uni.navigateTo({
          url: "/pages/territory/territory?id=" + 4
          url: "/pages/territory/territory?id=" + 4,
        });
      } else if (index === "5") {
        uni.navigateTo({
          url: "/pages/TcmSystem/TcmSystem?id=" + 5
          url: "/pages/TcmSystem/TcmSystem?id=" + 5,
        });
      } else if (index === "6") {
        uni.navigateTo({
          url: "/pages/academicSchools/index",
        });
      }
    },
@@ -311,20 +318,18 @@
    },
    // 切换搜索框的展开和收起状态
    toggleSearch() {
      // console.log('撒旦范德萨发生的',this.searchInput);
      this.isExpanded = !this.isExpanded;
      this.$nextTick(() => {
        if (this.searchInput.trim() !== "") {
          console.log("搜索", this.searchInput);
        } else {
          console.log("不搜索");
          uni.navigateTo({
            url:
              "/pages/knowledgeBase/knowledgeBase?keyword=" + this.searchInput,
          });
        }
        this.searchInput = "";
        console.log(this.isExpanded);
      });
    }
  }
    },
  },
};
</script>
@@ -343,23 +348,22 @@
  }
}
@media screen and (min-width: 2560px) and (max-width: 3840px) {
  ::v-deep .el-menu .is-active {
    background-color: #244a7b !important;
    border-radius: 0.5rem;
  }
::v-deep .el-menu .is-active {
  background-color: #244a7b !important;
  border-radius: 0.5rem;
}
::v-deep .el-menu .is-active.oActive {
  background-color: #e27917 !important;
}
@media screen and (min-width: 2560px) and (max-width: 3840px) {
  .LeftLogo .img {
    background-image: url(@/static/image/logo4.png);
  }
}
@media screen and (min-width: 1366px) and (max-width: 1920px) {
  ::v-deep .el-menu .is-active {
    background-color: #244a7b !important;
    border-radius: 0.5rem;
  }
  .LeftLogo .img {
    background-image: url(@/static/image/logo.png);
  }
@@ -373,7 +377,7 @@
  /* 粘性定位 */
  position: sticky;
  top: 0;
  z-index: 9;
  z-index: 99999999;
}
.NavTop {