|
@@ -45,7 +45,10 @@
|
|
<MenusActive :menuData="menuData" v-if="mouseenterIndex == index" />
|
|
<MenusActive :menuData="menuData" v-if="mouseenterIndex == index" />
|
|
</div>
|
|
</div>
|
|
</el-menu>
|
|
</el-menu>
|
|
- <img :src="AIBtn" alt="" class="ai-btn" @click="handleGoToAi" />
|
|
|
|
|
|
+ <div class="ai-btn">
|
|
|
|
+ <img class="ai-tip" :src="AITip" alt="" />
|
|
|
|
+ <img :src="AIBtn" alt="" class="robot" @click="handleGoToAi" />
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
@@ -64,6 +67,7 @@ import subscribe from '@/utils/Subscribe'
|
|
import request from '@/config/axios'
|
|
import request from '@/config/axios'
|
|
import { useUserStoreWithOut } from '@/store/modules/user'
|
|
import { useUserStoreWithOut } from '@/store/modules/user'
|
|
import AIBtn from '@/assets/imgs/ai/robot.png'
|
|
import AIBtn from '@/assets/imgs/ai/robot.png'
|
|
|
|
+import AITip from '@/assets/imgs/ai/aiTip.png'
|
|
|
|
|
|
defineOptions({ name: 'Header' })
|
|
defineOptions({ name: 'Header' })
|
|
const { t } = useI18n()
|
|
const { t } = useI18n()
|
|
@@ -123,7 +127,8 @@ const loginOut = () => {
|
|
tagsViewStore.delAllViews()
|
|
tagsViewStore.delAllViews()
|
|
replace('/login?redirect=/index')
|
|
replace('/login?redirect=/index')
|
|
})
|
|
})
|
|
- .catch(() => {})
|
|
|
|
|
|
+ .catch(() => {
|
|
|
|
+ })
|
|
}
|
|
}
|
|
const handleGoToAi = (): void => {
|
|
const handleGoToAi = (): void => {
|
|
push('/OaSystem/aiQA')
|
|
push('/OaSystem/aiQA')
|
|
@@ -346,6 +351,19 @@ onMounted(() => {
|
|
transform: translateX(-50%);
|
|
transform: translateX(-50%);
|
|
z-index: 9;
|
|
z-index: 9;
|
|
cursor: pointer;
|
|
cursor: pointer;
|
|
|
|
+
|
|
|
|
+ .ai-tip {
|
|
|
|
+ width: 60px;
|
|
|
|
+ height: 22px;
|
|
|
|
+ position: absolute;
|
|
|
|
+ bottom: 80px;
|
|
|
|
+ right: -20px;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .robot{
|
|
|
|
+ width: 85px;
|
|
|
|
+ height: 102px;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
.menuDiv {
|
|
.menuDiv {
|