|
@@ -1,5 +1,5 @@
|
|
|
<script setup lang="ts">
|
|
|
-import { computed, ref } from "vue";
|
|
|
+import { computed, ref, watch } from "vue";
|
|
|
import { useNav } from "../hooks/nav";
|
|
|
import mixNav from "./sidebar/mixNav.vue";
|
|
|
import avatars from "/@/assets/avatars.jpg";
|
|
@@ -8,7 +8,6 @@ import Breadcrumb from "./sidebar/breadCrumb.vue";
|
|
|
import { useRenderIcon } from "/@/components/ReIcon/src/hooks";
|
|
|
import { useRouter, useRoute } from "vue-router";
|
|
|
import { deviceDetection } from "@pureadmin/utils";
|
|
|
-import screenfull from "../components/screenfull/index.vue";
|
|
|
import Company from "../components/company/index.vue";
|
|
|
import Super from "../components/company/super.vue";
|
|
|
import { useUserInfo } from "/@/hooks/core/useUser";
|
|
@@ -16,17 +15,23 @@ import { getToken, SECRET_KEY } from "/@/utils/auth";
|
|
|
import SystemNotify from "./system-notify.vue";
|
|
|
import HelpModal from "./help-modal.vue";
|
|
|
import CryptoJS from "crypto-js";
|
|
|
+import { initRouter } from "/@/router/utils";
|
|
|
|
|
|
const route = useRoute();
|
|
|
-const { push } = useRouter();
|
|
|
-const { isSuperUser, userInfo } = useUserInfo();
|
|
|
+const { push, replace } = useRouter();
|
|
|
const showBackButton = computed(() => route.path.indexOf("Detail") >= 0);
|
|
|
const helpModalRef = ref<InstanceType<typeof HelpModal> | null>(null);
|
|
|
const systemNotifyRef = ref<InstanceType<typeof SystemNotify>>(null);
|
|
|
+const { logout, toggleSideBar, pureApp, avatarsStyle } = useNav();
|
|
|
+
|
|
|
+const { isSuperUser, userInfo, userLevel, setUserLevel } = useUserInfo();
|
|
|
+
|
|
|
+const switchAccountModeText = computed(() =>
|
|
|
+ userLevel.value === "3" ? "切换至业务公司" : "切换至供应商"
|
|
|
+);
|
|
|
|
|
|
function routeToList() {
|
|
|
const { path, query } = route;
|
|
|
-
|
|
|
push(
|
|
|
(query?.back as string) ? (query.back as string) : path.split("Detail")[0]
|
|
|
);
|
|
@@ -45,7 +50,17 @@ function openPurchaseSystem() {
|
|
|
window.open("http://localhost:8080/#/accept?t=" + encData);
|
|
|
}
|
|
|
|
|
|
-const { logout, toggleSideBar, pureApp, avatarsStyle } = useNav();
|
|
|
+//超管切换供应商、业务公司视角
|
|
|
+async function onSwitchAccountMode() {
|
|
|
+ const isSupplier = userLevel.value === "3";
|
|
|
+
|
|
|
+ setUserLevel(isSupplier ? "1" : "3");
|
|
|
+ await initRouter({ level: isSupplier ? "1" : "3" });
|
|
|
+ console.log(route.path);
|
|
|
+ await replace(
|
|
|
+ route.path + "?reload=" + (isSupplier ? "supplier" : "business")
|
|
|
+ );
|
|
|
+}
|
|
|
</script>
|
|
|
|
|
|
<template>
|
|
@@ -79,6 +94,7 @@ const { logout, toggleSideBar, pureApp, avatarsStyle } = useNav();
|
|
|
<!-- 采销系统入口 -->
|
|
|
<el-tooltip placement="left" content="登录采销平台">
|
|
|
<el-button
|
|
|
+ v-if="isSuperUser"
|
|
|
size="large"
|
|
|
class="fixed"
|
|
|
style="bottom: 100px; right: 60px"
|
|
@@ -88,6 +104,18 @@ const { logout, toggleSideBar, pureApp, avatarsStyle } = useNav();
|
|
|
/>
|
|
|
</el-tooltip>
|
|
|
|
|
|
+ <!-- 超管切换至供应商和业务公司 -->
|
|
|
+ <el-tooltip placement="left" :content="switchAccountModeText">
|
|
|
+ <el-button
|
|
|
+ size="large"
|
|
|
+ class="fixed"
|
|
|
+ style="bottom: 160px; right: 60px"
|
|
|
+ circle
|
|
|
+ @click="onSwitchAccountMode"
|
|
|
+ :icon="useRenderIcon('switch-arrow')"
|
|
|
+ />
|
|
|
+ </el-tooltip>
|
|
|
+
|
|
|
<!-- 公司名称筛选 -->
|
|
|
<Super v-if="isSuperUser" />
|
|
|
<Company v-else />
|