import("@/views/index"),
+ name: "Index",
+ meta: { title: "首页", icon: "首页", affix: true },
+ },
+ ],
+ },
// {
// path: "",
// component: Layout,
@@ -92,7 +109,21 @@ export const constantRoutes = [
path: "/digitalMarketTech",
component: () => import("@/views/digitalMarketTech/index"),
name: "digitalMarketTech",
- meta: { title: "数字营销技术", icon: "monitor2", affix: true },
+ meta: { title: "数字营销技术", icon: "数据浏览", affix: true },
+ },
+ ],
+ },
+ // Bi可视化分析
+ {
+ path: "",
+ component: Layout,
+ redirect: "/bi",
+ children: [
+ {
+ path: "/bi",
+ component: () => import("@/views/visual-analysis/index.vue"),
+ name: "bi",
+ meta: { title: "BI可视化分析", icon: "tongxunlu_B", affix: true },
},
],
},
@@ -118,7 +149,7 @@ export const constantRoutes = [
path: "/digitalMarketingAlgorithms",
component: () => import("@/views/digitalMarketingAlgorithms/index"),
name: "digitalMarketingAlgorithms",
- meta: { title: "数字营销算法", icon: "tongxunlu_B", affix: true },
+ meta: { title: "数字营销算法", icon: "monitor2", affix: true },
},
],
},
@@ -147,7 +178,8 @@ export const constantRoutes = [
meta: { title: "知识测评", icon: "学习测评", affix: true },
},
],
- },{
+ },
+ {
path: "",
component: Layout,
redirect: "/Achievement",
@@ -162,12 +194,9 @@ export const constantRoutes = [
},
];
-// 动态路由,基于用户权限动态去加载
-export const dynamicRoutes = [];
-
const router = createRouter({
history: createWebHistory(),
- routes: constantRoutes,
+ routes: [...constantRoutes, ...dynamicRoutes],
scrollBehavior(to, from, savedPosition) {
if (savedPosition) {
return savedPosition;
diff --git a/src/store/modules/algorithm.js b/src/store/modules/algorithm.js
new file mode 100644
index 0000000..bd29ba5
--- /dev/null
+++ b/src/store/modules/algorithm.js
@@ -0,0 +1,39 @@
+import Cookies from "js-cookie";
+import * as portraitModel from "@/api/portraitModel";
+import * as marketingAlgorithmApi from "@/api/marketing-algorithm.js";
+
+const useAlgorithmStore = defineStore("algorithm", {
+ state: () => ({
+ userDatabase: [],
+ tableData: [],
+ tableKey:[],
+ userDataLabel:["用户属性表", "用户登录活跃表", "用户消费能力表", "用户行为表", "用户评论表"], //用户数据标签
+ indexLibrary: [],
+ analysisData: [],
+ }),
+ actions: {
+ getlist(data){
+ portraitModel.getUserTableData(data).then((res) => {
+ this.tableData = res?.data?.list;
+ this.tableKey = Object.keys(res?.data?.list[0]).map(item => {
+ return {
+ label: item,
+ };
+ });
+ })
+ },
+ getUserDatabase(val) {
+ marketingAlgorithmApi.getMarketingAlgorithmList(val).then((res) => {
+ this.indexLibrary= res?.data?.map(item => {
+ return {
+ label: item,
+ };
+ }
+ )
+ });
+ }
+ },
+ getters: {},
+});
+
+export default useAlgorithmStore;
diff --git a/src/store/modules/app.js b/src/store/modules/app.js
index 3b26cfe..7f55c6e 100644
--- a/src/store/modules/app.js
+++ b/src/store/modules/app.js
@@ -5,7 +5,7 @@ const useAppStore = defineStore(
{
state: () => ({
sidebar: {
- opened: Cookies.get('sidebarStatus') ? !!+Cookies.get('sidebarStatus') : true,
+ opened: true,
withoutAnimation: false,
hide: false
},
diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index 8764b9d..fe3b72b 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -1,5 +1,13 @@
+/*
+ * @Author: qinzhenpen qzp1807@126.com
+ * @Date: 2024-08-15 09:41:09
+ * @LastEditors: qinzhenpen qzp1807@126.com
+ * @LastEditTime: 2024-08-17 11:30:38
+ * @FilePath: \vue3\src\store\modules\user.js
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
import { login, logout, getInfo } from '@/api/login'
-import { getToken, setToken, removeToken,setUserInfo,removeUserInfo } from '@/utils/auth'
+import { getToken, setToken, removeToken,setUserInfo,removeUserInfo,getUserInfo } from '@/utils/auth'
import defAva from '@/assets/images/profile.jpg'
const useUserStore = defineStore(
@@ -10,7 +18,8 @@ const useUserStore = defineStore(
name: '',
avatar: '',
roles: [],
- permissions: []
+ permissions: [],
+ userInfo: getUserInfo(),
}),
actions: {
// 登录
diff --git a/src/utils/request.js b/src/utils/request.js
index 1f0b87a..228425c 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -21,7 +21,6 @@ const service = axios.create({
// 超时
timeout: 10000
})
-
// request拦截器
service.interceptors.request.use(config => {
// 是否需要设置 token
@@ -45,21 +44,6 @@ service.interceptors.request.use(config => {
time: new Date().getTime()
}
const sessionObj = cache.session.getJSON('sessionObj')
- if (sessionObj === undefined || sessionObj === null || sessionObj === '') {
- cache.session.setJSON('sessionObj', requestObj)
- } else {
- const s_url = sessionObj.url; // 请求地址
- const s_data = sessionObj.data; // 请求数据
- const s_time = sessionObj.time; // 请求时间
- const interval = 1000; // 间隔时间(ms),小于此时间视为重复提交
- if (s_data === requestObj.data && requestObj.time - s_time < interval && s_url === requestObj.url) {
- const message = '数据正在处理,请勿重复提交';
- console.warn(`[${s_url}]: ` + message)
- return Promise.reject(new Error(message))
- } else {
- cache.session.setJSON('sessionObj', requestObj)
- }
- }
}
return config
}, error => {
diff --git a/src/views/digitalMarketTech/AIGCLargeModel/components/AIVenisonDiagram.vue b/src/views/digitalMarketTech/AIGCLargeModel/components/AIVenisonDiagram.vue
index f2e30e5..099c957 100644
--- a/src/views/digitalMarketTech/AIGCLargeModel/components/AIVenisonDiagram.vue
+++ b/src/views/digitalMarketTech/AIGCLargeModel/components/AIVenisonDiagram.vue
@@ -2,38 +2,31 @@
-

-
-
你好,我是AI助手
-
作为你的智能伙伴,我既能写文章、想点子,又能陪你聊天、答疑解惑。
-
想知道我还能做什么?点这里快速上手!可以浏览器收藏网站,下次使用更高效哦 ~
-
-
-
-
-
![]()
-
{{item.title}}
-
-
{{item.text}}
+

+
+
你好,我是AI助手
+
作为你的智能伙伴,我既能写文章、想点子,又能陪你聊天、答疑解惑。
+
想知道我还能做什么?点这里快速上手!可以浏览器收藏网站,下次使用更高效哦 ~
+
+
+
+
+
![]()
+
{{ item.title }}
+
{{ item.text }}
-
+
+
-
-
{{ message.displayContent }}
+
+
@@ -41,19 +34,8 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/src/views/digitalMarketTech/AIGCLargeModel/index.vue b/src/views/digitalMarketTech/AIGCLargeModel/index.vue
index 793b040..96bc59f 100644
--- a/src/views/digitalMarketTech/AIGCLargeModel/index.vue
+++ b/src/views/digitalMarketTech/AIGCLargeModel/index.vue
@@ -1,3 +1,11 @@
+
{{item.text}}
diff --git a/src/views/digitalMarketTech/artificialIntelligence/components/article-identification.vue b/src/views/digitalMarketTech/artificialIntelligence/components/article-identification.vue
index 47d1b09..7796900 100644
--- a/src/views/digitalMarketTech/artificialIntelligence/components/article-identification.vue
+++ b/src/views/digitalMarketTech/artificialIntelligence/components/article-identification.vue
@@ -213,7 +213,7 @@ const downloadArticle=()=>{
return proxy.$modal.msgWarning("请先完成上一步")
}
answerRecord.value=2
- window.open(`http://192.168.2.16:9868/api/stu/experimental/downloadImg?userId=${JSON.parse(getUserInfo()).userId}&TOKEN=${getToken()}`)
+ window.open(`http://118.31.7.2:9868/api/stu/experimental/downloadImg?userId=${JSON.parse(getUserInfo()).userId}&TOKEN=${getToken()}`)
}
// 识别文字
diff --git a/src/views/digitalMarketTech/bigData/components/whatBigData.vue b/src/views/digitalMarketTech/bigData/components/whatBigData.vue
index fba03e1..a1211a6 100644
--- a/src/views/digitalMarketTech/bigData/components/whatBigData.vue
+++ b/src/views/digitalMarketTech/bigData/components/whatBigData.vue
@@ -61,11 +61,11 @@
若以现有的蓝光光盘为计量标准,那么 40ZB 的数据全部存入蓝光光盘,所需要的光盘总重量将达到 424 艘尼米兹号航母的总重量。而这些数据中,约 80% 是非结构化或半结构化类型的数据,甚至更有一部分是不断变化的流数据。因此,数据的爆炸性增长态势,以及其数据构成特点使得人们进入了“大数据”时代。
一般认为,大数据主要具有以下4个方面的典型特征,即大量(Volume)、多样(Variety)、高速(Velocity)和价值(Value),即所谓的4V,接下来,通过一张图来具休描述。
-

+

一、Volume(大量)
大数据的特征首先就是数据规模大。随着互联网、物联网、移动互联技术的发展,人和事物的所有轨迹都可以被记录下来,数据呈现出爆发性增长。数据相关计量单位的换算关系如下表所示。
-

+

互联网每分钟产生的数据
-

+

二、Variety(多样)
数据来源的广泛性,决定了数据形式的多样性。我们把这些数据大致分为三类:结构化的数据、半结构化的数据和非结构化的数据。
结构化的数据,一般指的是关系型数据库中的数据,例如MySQL、Oracle中的表中的数据。如财务系统数据、信息管理系统数据、医疗系统数据等,其特点是数据间因果关系强。这些数据中,每一行的数据都保持着相同的数据格式,有规律可循,非常容易处理。
diff --git a/src/views/digitalMarketTech/index.vue b/src/views/digitalMarketTech/index.vue
index 6ffdea2..db43208 100644
--- a/src/views/digitalMarketTech/index.vue
+++ b/src/views/digitalMarketTech/index.vue
@@ -1,5 +1,13 @@
+
-
+
大数据
人工智能
diff --git a/src/views/digitalMarketingAlgorithms/components/bigData.vue b/src/views/digitalMarketingAlgorithms/components/bigData.vue
index bf0af31..c8a63e8 100644
--- a/src/views/digitalMarketingAlgorithms/components/bigData.vue
+++ b/src/views/digitalMarketingAlgorithms/components/bigData.vue
@@ -1,118 +1,121 @@
-
-

-
内置表
+
+

+
内置表
+
+
+
+ {{ item }}
-
-
-

-
自建表
-
-
+
+

+
自建表
+
+
-
\ No newline at end of file
+
diff --git a/src/views/digitalMarketingAlgorithms/components/descriptiveStatistics.vue b/src/views/digitalMarketingAlgorithms/components/descriptiveStatistics.vue
index 90238c9..7c8b125 100644
--- a/src/views/digitalMarketingAlgorithms/components/descriptiveStatistics.vue
+++ b/src/views/digitalMarketingAlgorithms/components/descriptiveStatistics.vue
@@ -1,297 +1,342 @@
-
任务描述
-
(给出任务清单参考,做哪些数据的统计分析)Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. Proin sodales pulvinar sic tempor. Sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam fermentum, nulla luctus pharetra vulputate, felis tellus mollis orci, sed rhoncus pronin sapien nunc accuan eget.
+
任务描述
+
(给出任务清单参考,做哪些数据的统计分析)Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. Proin sodales pulvinar sic tempor. Sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam fermentum, nulla luctus pharetra vulputate, felis tellus mollis orci, sed rhoncus pronin sapien nunc accuan eget.
-
算法知识导入
-
实训任务提交
+
+
+ 算法知识导入
+
+
+
+ 实训任务提交
+
-
- 一、选择指标
-
-
-
-
+
+ 一、选择指标
+
+
+
+
-
-
-
-
-
+
+
+
+
+
- 确定
-
-
- 二、数据预处理
-
-
-
-
+ 确定
+
+
+ 二、数据预处理
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
- 三、模型参数设置
-
-
-
-
-
+
+
+ 三、模型参数设置
+
+
+
+
+
- 计算
-
+ 计算
+
-
-
-

+
+
+
重新开始
+
-
-
- 分析数据:
-
-
-
-
+ 分析数据:
+
+
+
+
-
分析结果:
-
下载
-
-
-
-
+
分析结果:
+
下载
+
+
+ {{ column.label }}
+
+
-
-
-
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
+.el-table__body-wrapper {
+ // background: #020620 !important;
+}
+
diff --git a/src/views/digitalMarketingAlgorithms/index.vue b/src/views/digitalMarketingAlgorithms/index.vue
index 233e6c3..5b67fd9 100644
--- a/src/views/digitalMarketingAlgorithms/index.vue
+++ b/src/views/digitalMarketingAlgorithms/index.vue
@@ -1,5 +1,5 @@
-
+
用户数据库
描述性统计
@@ -36,6 +36,7 @@
color: #fff;
}
.rgzn_top{
+ margin-top: 20px;
.top_item{
img{
margin-right: 5px;
diff --git a/src/views/index.vue b/src/views/index.vue
index 85b8271..ec400ee 100644
--- a/src/views/index.vue
+++ b/src/views/index.vue
@@ -1,5 +1,5 @@
-
+
diff --git a/src/views/learningCenter/Achievement.vue b/src/views/learningCenter/Achievement.vue
index 0daa822..1faff6d 100644
--- a/src/views/learningCenter/Achievement.vue
+++ b/src/views/learningCenter/Achievement.vue
@@ -1,265 +1,183 @@
-
-
-
-
-
-

-
得分情况
-
-
更新
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

-
实训报告
-
-
-
-
-
- 点击上传
-
-
-
-
-
-
-
-
-
-
- 下载
- 查看评语
-
-
-
-
-
-
-
-
- {{tableData2[0].teacherComments}}
-
-
+
+
+
+
+ {{ tableData2[0].teacherComments }}
+
+
-
-
-
-
-
-
\ No newline at end of file
+ setTimeout(() => {
+ cerateGrade();
+ }, 300);
+
+ setTimeout(() => {
+ getReports();
+ }, 600);
+});
+const cerateGrade = () => {
+ API.academicRecordEnquiry(data.value).then((res) => {
+ let currentId = 1;
+ const tableData3 = res.data.map((item) => {
+ const weight1 = parseInt(item.scoreWeight * 100);
+ const weight2 = `${weight1}%`;
+ if (item.learningProjects === "知识概要") {
+ const score = parseFloat(item.scoringCriteria);
+ const time = reactive({ value: "/" });
+ if (item.completionStatus !== null) {
+ time.value = parseFloat(item.completionStatus);
+ }
+ tableData4.value[0].scoringCriteria = `阅读1分钟得${score}分,1分钟以下不得分`;
+ tableData4.value[0].completionStatus = `阅读${time.value}分钟`;
+ tableData4.value[0].scoreProject = item.scoreProject;
+ tableData4.value[0].scoreWeight = weight2;
+ tableData4.value[0].schedule = item.schedule + "%";
+ }
+ if (item.learningProjects === "实验实训") {
+ const score = parseFloat(item.scoringCriteria);
+ const time = reactive({ value: "/" });
+ if (item.completionStatus !== null) {
+ time.value = parseFloat(item.completionStatus);
+ }
+ tableData4.value[3].scoringCriteria = `输错/选错次数扣${score}分`;
+ tableData4.value[3].completionStatus = `输错/选错 ${time.value}次`;
+ tableData4.value[3].scoreProject = item.scoreProject;
+ tableData4.value[3].scoreWeight = weight2;
+ tableData4.value[3].schedule = item.schedule + "%";
+ }
+ if (item.learningProjects === "资源学习") {
+ const score = parseFloat(item.scoringCriteria);
+ const time = reactive({ value: "/" });
+ if (item.completionStatus !== null) {
+ time.value = parseFloat(item.completionStatus);
+ }
+ tableData4.value[1].scoringCriteria = `观看资源1分钟得${score}分`;
+ tableData4.value[1].completionStatus = `观看${time.value}分钟`;
+ tableData4.value[1].scoreProject = item.scoreProject;
+ tableData4.value[1].scoreWeight = weight2;
+ tableData4.value[1].schedule = item.schedule + "%";
+ }
+ if (item.learningProjects === "学习测评") {
+ const time = reactive({ value: "/" });
+ if (item.completionStatus !== null) {
+ time.value = parseFloat(item.completionStatus);
+ }
+ const score = parseFloat(item.scoringCriteria);
+ tableData4.value[2].scoringCriteria = `${score}分/道`;
+ tableData4.value[2].completionStatus = `错${time.value}道`;
+ tableData4.value[2].scoreProject = item.scoreProject;
+ tableData4.value[2].scoreWeight = weight2;
+ tableData4.value[2].schedule = item.schedule + "%";
+ }
+ if (item.learningProjects === "实训报告") {
+ tableData4.value[4].scoringCriteria = `提交实训报告,教师评分`;
+ tableData4.value[4].completionStatus = item.completionStatus;
+ if (item.scoreProject !== null) {
+ tableData4.value[4].scoreProject = item.scoreProject;
+ }
+ tableData4.value[4].scoreWeight = weight2;
+ tableData4.value[4].schedule = item.schedule + "%";
+ }
+ return {
+ ...item,
+ };
+ });
+ if (isUpdate.value) {
+ return;
+ }
+ tableData.value.push(...tableData3);
+ calculateAverageScore();
+ });
+};
+
+const updateReportGrade = () => {
+ getReports();
+ cerateGrade();
+};
+
+
diff --git a/src/views/learningCenter/evaluation.vue b/src/views/learningCenter/evaluation.vue
index f205d2f..e586d8e 100644
--- a/src/views/learningCenter/evaluation.vue
+++ b/src/views/learningCenter/evaluation.vue
@@ -1,5 +1,5 @@
-
+
+
-
+
\ No newline at end of file