Browse Source

每日复盘,反馈框架

hxl
no99 3 months ago
parent
commit
d7c68f655a
  1. BIN
      src/assets/img/AIfind/dailyReplay1.png
  2. BIN
      src/assets/img/AIfind/dailyReplay2.png
  3. BIN
      src/assets/img/Feedback/feedback.png
  4. BIN
      src/assets/img/Feedback/feedbackBtn.png
  5. BIN
      src/assets/img/Feedback/feedbackImg.png
  6. BIN
      src/assets/img/Feedback/feedbackSuccess.png
  7. 5
      src/router/index.js
  8. 4
      src/store/dataList.js
  9. 59
      src/views/AIfind.vue
  10. 6
      src/views/Announcement.vue
  11. 22
      src/views/Feedback.vue
  12. 38
      src/views/homePage.vue

BIN
src/assets/img/AIfind/dailyReplay1.png

After

Width: 422  |  Height: 238  |  Size: 117 KiB

BIN
src/assets/img/AIfind/dailyReplay2.png

After

Width: 421  |  Height: 236  |  Size: 107 KiB

BIN
src/assets/img/Feedback/feedback.png

After

Width: 262  |  Height: 60  |  Size: 16 KiB

BIN
src/assets/img/Feedback/feedbackBtn.png

After

Width: 52  |  Height: 52  |  Size: 1.5 KiB

BIN
src/assets/img/Feedback/feedbackImg.png

After

Width: 282  |  Height: 208  |  Size: 72 KiB

BIN
src/assets/img/Feedback/feedbackSuccess.png

After

Width: 44  |  Height: 44  |  Size: 983 B

5
src/router/index.js

@ -25,6 +25,11 @@ const routes = [
path: '/Announcement',
name: 'Announcement',
component: () => import('@/views/Announcement.vue'),
},
{
path: '/Feedback',
name: 'Feedback',
component: () => import('@/views/Feedback.vue'),
}
]
// 创建路由实例

4
src/store/dataList.js

@ -25,6 +25,7 @@ export const useDataStore = defineStore('data', () => {
const loading = ref(false)
const klineData = ref(null)
const activeTabIndex = ref(null)
const isFeedback = ref(false) // 用于控制是否显示反馈页面的标志
const setKlineData = (data) => {
klineData.value = data
}
@ -189,6 +190,7 @@ export const useDataStore = defineStore('data', () => {
initData,
getMarket,
getQueryVariable,
setActiveTabIndex
setActiveTabIndex,
isFeedback
}
})

59
src/views/AIfind.vue

@ -4,6 +4,11 @@ import { getNewsAPI, newsClickAPI } from "../api/AIxiaocaishen"
import { marked } from 'marked'; // marked
import katex from 'katex'; // KaTeX
const dailyReplayList = [
{ img: '/src/assets/img/AIfind/dailyReplay1.png' },
{ img: '/src/assets/img/AIfind/dailyReplay2.png' },
]
//
const newsList = ref([])
const getNewsList = async () => {
@ -43,7 +48,9 @@ const dailyReplayDialogVisible = ref(false)
const dailyReplay = () => {
dailyReplayDialogVisible.value = true
}
const closeDailyReplay = () => {
dailyReplayDialogVisible.value = false
}
onMounted(() => {
getNewsList()
@ -72,9 +79,18 @@ onMounted(() => {
</el-dialog>
<!-- 每日复盘样本弹窗 -->
<el-dialog v-model="dailyReplayDialogVisible" title="每日复盘" width="80%" class="dailyReplayClass">
<img src="/images/dailyReplay.png" alt="每日复盘" class="newsDialogImg">
<img src="/images/dailyReplay.png" alt="每日复盘" class="newsDialogImg">
<el-dialog v-model="dailyReplayDialogVisible" fullscreen :show-close="false" width="80%" class="dailyReplayClass">
<div class="closeBtn">
<el-icon style="color: white; font-size: 50px; margin-left: auto;" @click="closeDailyReplay">
<CloseBold />
</el-icon>
</div>
<div class="title">每日复盘</div>
<div class="dailyReplayImg">
<div v-for="item in dailyReplayList" :key="item" class="dailyReplayItem">
<img :src="item.img" alt="加载失败">
</div>
</div>
</el-dialog>
</template>
@ -142,7 +158,38 @@ onMounted(() => {
margin: 0 auto;
}
.el-dialog {
background-color: #5583d3 !important;
.dailyReplayImg {
text-align: center;
/* display: flex; */
}
.dailyReplayItem {
margin-bottom: 20px;
}
.closeBtn{
display: flex;
}
</style>
<style>
.dailyReplayClass {
background: rgba(0, 0, 0, 0.5);
}
.title {
font-size: 48px;
color: #ffffff;
text-align: center;
margin-top: 2%;
margin-bottom: 20px;
}
@media (max-width: 768px) {
.title {
font-size: 36px;
}
}
</style>

6
src/views/Announcement.vue

@ -42,9 +42,9 @@ onMounted(() => {
<p class="announcementItem">各位AI小财神的用户,大家好!</p>
<p class="announcementItem">试运行期间,用户可在AI小财神中查看全</p>
<p class="announcementItem">市场数据,每个市场可查看20只股票.</p>
<p class="announcementItem">试运行结束后,会员用户可查看市场与弘</p>
<p class="announcementItem">历软件云版静态市场一致!</p>
<p class="announcementItem">特此公告!</p>
<p class="announcementItem">以下为各个市场可以查看的股票</p>
<!-- <p class="announcementItem">历软件云版静态市场一致!</p>
<p class="announcementItem">特此公告!</p> -->
</div>
</div>
</template>

22
src/views/Feedback.vue

@ -0,0 +1,22 @@
<script setup>
import feedback from "../assets/img/Feedback/feedback.png";
import feedbackImg from "../assets/img/Feedback/feedbackImg.png";
import feedbackSuccess from "../assets/img/Feedback/feedbackSuccess.png";
</script>
<template>
<el-container>
<el-header>
</el-header>
<el-main>
</el-main>
</el-container>
</template>
<style scoped>
</style>

38
src/views/homePage.vue

@ -6,6 +6,7 @@ import { getUserCountAPI } from "../api/AIxiaocaishen";
import { ElMessage } from 'element-plus'
import AIchat from "./AIchat.vue";
import AIfind from "./AIfind.vue";
import Feedback from "./Feedback.vue";
import { useAppBridge } from '../assets/js/useAppBridge.js'
import { useDataStore } from '@/store/dataList.js'
import { useChatStore } from '../store/chat'
@ -23,6 +24,7 @@ import voice from "../assets/img/homePage/tail/voice.png";
import voiceNoActive from "../assets/img/homePage/tail/voice-no-active.png";
import sendBtn from "../assets/img/homePage/tail/send.png";
import msgBtn from "../assets/img/homePage/tail/msg.png";
import feedbackBtn from "../assets/img/Feedback/feedbackBtn.png";
import VConsole from 'vconsole';
@ -31,7 +33,6 @@ const vConsole = new VConsole();
// import { useUserStore } from "../store/userPessionCode.js";
const { getQueryVariable, setActiveTabIndex } = useDataStore()
const dataStore = useDataStore()
const chatStore = useChatStore()
//
@ -168,6 +169,12 @@ const showAnnouncement = async () => {
isAnnouncementVisible.value = true; //
};
//
const showFeedback = () => {
console.log("打开用户反馈");
dataStore.isFeedback = true; //
}
//
// ref
const dialogVisible = ref(false);
@ -430,7 +437,7 @@ onMounted(async () => {
<template>
<div class="homepage" id="testId">
<el-container>
<el-container v-if="!dataStore.isFeedback">
<!-- AI小财神头部 logo 次数 公告 -->
<el-header class="homepage-head">
<!-- logo -->
@ -445,10 +452,13 @@ onMounted(async () => {
<div class="count-number">{{ UserCount }}</div>
</div>
<img :src="announcementBtn" class="announcement-btn action-btn" @click="showAnnouncement" />
<img :src="feedbackBtn" class="announcement-btn action-btn" @click="showFeedback" />
</div>
</el-header>
<!-- 主体部分小人 问题轮询图 对话内容 -->
<el-main class="homepage-body">
<div class="main-wrapper">
<section class="tab-section">
<div class="tab-container">
@ -463,6 +473,7 @@ onMounted(async () => {
@sendMessage="sendMessage" />
</div>
</div>
</el-main>
<!-- 尾部 问题输入框 深度思考 多语言 语音播报 -->
<el-footer class="homepage-footer" id="input">
@ -493,6 +504,29 @@ onMounted(async () => {
</div>
</el-footer>
</el-container>
<el-container v-else>
<el-header class="homepage-head">
<!-- logo -->
<div class="homepage-logo">
<img :src="logo" alt="图片加载失败" class="logo1" />
<img :src="madeInHL" alt="图片加载失败" class="logo2" />
</div>
<div class="homepage-right-group">
<div class="count-badge" @click="showCount">
<img :src="getCountAll" class="action-btn" />
<div class="count-number">{{ UserCount }}</div>
</div>
<img :src="announcementBtn" class="announcement-btn action-btn" @click="showAnnouncement" />
<img :src="feedbackBtn" class="announcement-btn action-btn" @click="showFeedback" />
</div>
</el-header>
<!-- 主体部分小人 问题轮询图 对话内容 -->
<el-main class="homepage-body">
<feedback :is="Feedback" />
</el-main>
</el-container>
<!-- 弹窗 -->
<!-- 新增弹窗组件 -->
<el-dialog v-model="dialogVisible" width="65%">

Loading…
Cancel
Save