dev-QQq
qinzhenpen 2 years ago
commit 3dbfcd756d

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 782 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 382 B

After

Width:  |  Height:  |  Size: 378 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 415 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 565 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 772 B

@ -110,6 +110,32 @@ export const constantRoutes = [
},
],
},
{
path: "",
component: Layout,
redirect: "/portraitModel",
children: [
{
path: "/portraitModel",
component: () => import("@/views/portraitModel/index"),
name: "portraitModel",
meta: { title: "用户画像模型", icon: "dashboard", affix: true },
},
],
},
{
path: "",
component: Layout,
redirect: "/digitalMarketingAlgorithms",
children: [
{
path: "/digitalMarketingAlgorithms",
component: () => import("@/views/digitalMarketingAlgorithms/index"),
name: "digitalMarketingAlgorithms",
meta: { title: "数字营销算法", icon: "dashboard", affix: true },
},
],
},
{
path: "",
component: Layout,

@ -204,7 +204,8 @@
</div>
</template>
<script setup>
// import { getUserId, getToken } from "@/utils/auth.js";
// import { getUserId, getToken } from "@/utils/auth.js";\
import { getUserInfo,getToken } from '@/utils/auth'
import * as commonality from "@/api/commonality.js";
import {getAssetsFile} from '@/utils/index.js'
import { ref } from "vue";
@ -235,7 +236,7 @@ const Identifyimg=ref('szjj/setpt2.png')
const dialogShowbtn = () => {
getlist();
if(restartCount.value>0) return
commonality.getImgEcho({module:'图像识别',userId:'487'}).then((res) => {
commonality.getImgEcho({module:'图像识别',userId:JSON.parse(getUserInfo()).userId}).then((res) => {
if(res.data.length<0) return
Answer.value = res.data[0].selectPicture;
value.value = res.data[0].selectText;
@ -243,10 +244,10 @@ const dialogShowbtn = () => {
});
};
const getlist = () => {
commonality.getImgList({ userId: '487', module: "图像识别" }).then((res) => {
commonality.getImgList({ userId: JSON.parse(getUserInfo()).userId, module: "图像识别" }).then((res) => {
topicList.value = res.data;
if( topicList.value[0].studentAnswer!==null||topicList.value[0].studentAnswer!=='') step.value=1
topicList.value.userId = '487';
topicList.value.userId = JSON.parse(getUserInfo()).userId;
if(restartCount.value>0){
topicList.value.forEach((item) => {
item.studentAnswer = null;
@ -256,7 +257,7 @@ const getlist = () => {
};
//
const submit = () => {
topicList.value[0].userId = '487';
topicList.value[0].userId = JSON.parse(getUserInfo()).userId;
step.value=1
restartCount.value=0
commonality
@ -285,7 +286,7 @@ const Choiceimg = () => {
proxy.$modal.msgSuccess("选择识别成功");
dialogVisible.value = false;
step.value=2
commonality.uploadImg({irisName:value.value||null, module: "图像识别" ,order:Answer.value||null ,userId: '487'})
commonality.uploadImg({irisName:value.value||null, module: "图像识别" ,order:Answer.value||null ,userId: JSON.parse(getUserInfo()).userId})
};
const selectChange = () => {
if (Answer.value == "") {
@ -293,7 +294,7 @@ const selectChange = () => {
value.value = "";
return
}
commonality.uploadImg({irisName:value.value||null, module: "图像识别" ,order:Answer.value ||null,userId: '487'})
commonality.uploadImg({irisName:value.value||null, module: "图像识别" ,order:Answer.value ||null,userId: JSON.parse(getUserInfo()).userId})
if (Answer.value == 1 || Answer.value == 2) {
if(value.value=='变色鸢尾花'){
proxy.$modal.msgSuccess("识别成功")
@ -321,7 +322,7 @@ const submitTask = () => {
module: "人工智能",
numberOfErrors: errrCount.value > 10 ? 10 : errrCount.value ,
taskName: "图像识别",
userId: '487',
userId: JSON.parse(getUserInfo()).userId,
})
.then((response) => {
proxy.$modal.msgSuccess("提交成功");

@ -248,6 +248,7 @@
<script setup>
import * as commonality from "@/api/commonality";
// import {getUserId} from "@/utils/auth.js";
import { getUserInfo } from '@/utils/auth'
const {proxy} = getCurrentInstance();
const NaturallanguageprocessingVisible=ref(false)
const text1 = ref({
@ -389,7 +390,7 @@ const submit=()=>{
}
handleClose()
console.log(errorCount.value,"errorCount.value");
commonality.submitTask({module:'人工智能',numberOfErrors:errorCount.value > 10 ? 10 : errorCount.value || 0,taskName:'自然语言处理',userId:'487'}).then((response) => {
commonality.submitTask({module:'人工智能',numberOfErrors:errorCount.value > 10 ? 10 : errorCount.value || 0,taskName:'自然语言处理',userId:JSON.parse(getUserInfo()).userId}).then((response) => {
proxy.$modal.msgSuccess("提交任务成功");
NaturallanguageprocessingVisible.value=false
restartStatus.value=false
@ -433,7 +434,7 @@ NaturallanguageprocessingVisible.value=false
//
const handleClose = () => {
const dataObj={
userId:'487',
userId:JSON.parse(getUserInfo()).userId,
stepOneA:Object.values(text1.value).join(',')||'',
stepOneB:Object.values(text2.value).join(',')||'',
stepOneC:answer.value.studentAnswer.join(',')||'',
@ -453,7 +454,7 @@ const handleClose = () => {
});
}
const getList=()=>{
commonality.getNlpEcho({userId:'487'}).then((response) => {
commonality.getNlpEcho({userId:JSON.parse(getUserInfo()).userId}).then((response) => {
if(restartStatus.value) return
if(response.data){
const data=response.data

@ -216,6 +216,7 @@
<script setup>
import * as commonality from "@/api/commonality.js";
// import {getUserId} from "@/utils/auth.js";
import { getUserInfo } from '@/utils/auth'
const {proxy} = getCurrentInstance();
const robotlearningVisible = ref(false);
const TrainingSet=ref([
@ -495,7 +496,7 @@ const submit=()=>{
}
}
commonality.submitTask({module:'人工智能',numberOfErrors:IncorrectScoring.value > 10 ? 10 : IncorrectScoring.value || 0,taskName:'机器人学习',userId:'487'}).then((response) => {
commonality.submitTask({module:'人工智能',numberOfErrors:IncorrectScoring.value > 10 ? 10 : IncorrectScoring.value || 0,taskName:'机器人学习',userId:JSON.parse(getUserInfo()).userId}).then((response) => {
proxy.$modal.msgSuccess("提交任务成功");
restartStatus.value=false
robotlearningVisible.value=false
@ -511,7 +512,7 @@ const handleCole=()=>{
dtoList.two=JSON.stringify(FemaleSubset.value),
dtoList.three=JSON.stringify(greaterThan.value),
dtoList.four=JSON.stringify(lessThan.value),
dtoList.userId='487'
dtoList.userId=JSON.parse(getUserInfo()).userId
dtoList.subState=state.value
dtoList.numberOfErrors=IncorrectScoring.value
robotlearningVisible.value=false
@ -520,7 +521,7 @@ const handleCole=()=>{
})
}
const getList=()=>{
commonality.RobotECho({userId:'487'}).then(res=>{
commonality.RobotECho({userId:JSON.parse(getUserInfo()).userId}).then(res=>{
if(restartStatus.value) return
MaleSubset.value=JSON.parse(res.data.stepOneA)
FemaleSubset.value=JSON.parse(res.data.stepOneB)

@ -129,7 +129,7 @@
</div>
</template>
<script setup>
import {getToken} from "@/utils/auth.js";
import {getToken,getUserInfo} from "@/utils/auth.js";
import * as commonality from "@/api/commonality.js";
const { proxy } = getCurrentInstance()
const textDialogVisible = ref(false);
@ -141,7 +141,7 @@ const answerRecord=ref(0)
const Step1 = ref([]);
const Step2 = ref([]);
const CharacterRecognitionCase=()=>{
commonality.getTextList({userId:'487',model:'文字识别OCR'}).then(res=>{
commonality.getTextList({userId:JSON.parse(getUserInfo()).userId,model:'文字识别OCR'}).then(res=>{
if(Step1.value.length<1&&Step2.value.length<1){
Step1.value.push(res.data[0])
Step2.value.push(res.data[1])
@ -176,7 +176,7 @@ const CharacterRecognitionCase=()=>{
// submitStepOne
const stepOneanswer=()=>{
answerRecord.value=1
commonality.submitStepOne({userId:'487',answer:Step1.value[0].studentAnswer}).then(res=>{
commonality.submitStepOne({userId:JSON.parse(getUserInfo()).userId,answer:Step1.value[0].studentAnswer}).then(res=>{
if(res.msg.includes('错误')){
errorCount.value=1
proxy.$modal.msgError(res.msg);
@ -196,7 +196,7 @@ const stepTwoanswer=()=>{
return proxy.$modal.msgWarning("请先下载文章图片再进行此操作")
}
answerRecord.value=3
commonality.submitStepTwo({userId:'487',answer:Step2.value[0].studentAnswer.join(',')}).then(res=>{
commonality.submitStepTwo({userId:JSON.parse(getUserInfo()).userId,answer:Step2.value[0].studentAnswer.join(',')}).then(res=>{
if(res.msg.includes('错误')){
errorCount.value=2
proxy.$modal.msgError(res.msg);
@ -213,7 +213,7 @@ const downloadArticle=()=>{
return proxy.$modal.msgWarning("请先完成上一步")
}
answerRecord.value=2
window.open(`http://szjj.sztzjy.com:9909/api/stu/experimental/downloadImg?userId=${'487'}&TOKEN=${getToken()}`)
window.open(`http://szjj.sztzjy.com:9909/api/stu/experimental/downloadImg?userId=${JSON.parse(getUserInfo()).userId}&TOKEN=${getToken()}`)
}
//
@ -221,7 +221,7 @@ const textarea=ref('')
//
const identifyText=()=>{
const params={
userId:'487',
userId:JSON.parse(getUserInfo()).userId,
context:textarea.value
}
if(answerRecord.value<3){
@ -242,7 +242,7 @@ const submit = () => {
return proxy.$modal.msgWarning("请先完成实训")
}
commonality
.submitTask({module:'人工智能',numberOfErrors:errorCount.value>10?10:errorCount.value,taskName:'文字之别OCR',userId:'487'})
.submitTask({module:'人工智能',numberOfErrors:errorCount.value>10?10:errorCount.value,taskName:'文字之别OCR',userId:JSON.parse(getUserInfo()).userId})
.then((response) => {
proxy.$modal.msgSuccess("提交成功");
textDialogVisible.value=false

@ -146,6 +146,7 @@
<script setup>
import * as commonality from "@/api/commonality";
// import {getUserId} from "@/utils/auth.js";
import { getUserInfo } from '@/utils/auth'
const {proxy} = getCurrentInstance();
import {getAssetsFile} from '@/utils/index.js'
const SelectVisible=ref(false);
@ -383,7 +384,7 @@ const submit=()=>{
proxy.$modal.msgError('请先完成所有步骤');
return
}
commonality.submitTask({module:'人工智能',numberOfErrors:errorCount.value >10 ?10:errorCount.value,taskName:'人脸识别',userId:'487'}).then((response) => {
commonality.submitTask({module:'人工智能',numberOfErrors:errorCount.value >10 ?10:errorCount.value,taskName:'人脸识别',userId:JSON.parse(getUserInfo()).userId}).then((response) => {
proxy.$modal.msgSuccess("提交任务成功");
faceDialogVisible.value=false
restartStatus.value=false
@ -404,11 +405,11 @@ const restart=()=>{
//
const sendSelect=()=>{
let arr=IdentifyList.value.map(item=>item.id)
commonality.getFaceList({module:'人脸识别',order:Storage.value.id,orders:arr.join(','),userId:'487',numberOfErrors:errorCount.value}).then((response) => {
commonality.getFaceList({module:'人脸识别',order:Storage.value.id,orders:arr.join(','),userId:JSON.parse(getUserInfo()).userId,numberOfErrors:errorCount.value}).then((response) => {
})
}
const getList = () => {
commonality.getFaceEcho({module:'人脸识别',userId:'487'}).then((response) => {
commonality.getFaceEcho({module:'人脸识别',userId:JSON.parse(getUserInfo()).userId}).then((response) => {
if(response.data==null||restartStatus.value) return
Characterphoto.value.forEach((item,index)=>{
if(response.data.selectPicture==item.id){

@ -397,6 +397,7 @@
</template>
<script setup>
// import { getUserId } from "@/utils/auth.js";
import { getUserInfo } from '@/utils/auth'
import * as commonality from "@/api/commonality";
import { getAssetsFile } from "@/utils/index.js";
import { onMounted, ref } from "vue";
@ -458,7 +459,7 @@ const flowobj = ref({
standardDubbing: "",
synthesizedSpeech: 0,
voiceSignalAcquisition: "",
userId: '487',
userId: JSON.parse(getUserInfo()).userId,
});
const EchoState = ref(false);
const restartState = ref(false);
@ -735,7 +736,7 @@ const submit = () => {
module: "人工智能",
numberOfErrors: errorCount.value > 10 ? 10 : errorCount.value,
taskName: "语音技术",
userId: '487',
userId: JSON.parse(getUserInfo()).userId,
})
.then((response) => {
proxy.$modal.msgSuccess("提交任务成功");
@ -797,7 +798,7 @@ const dialogCloick = () => {
}
});
if (restartState.value) return;
commonality.getVoiceEcho({ userId: '487' }).then((res) => {
commonality.getVoiceEcho({ userId: JSON.parse(getUserInfo()).userId }).then((res) => {
if (res.data.length == 0) return;
if(res.data[0].subState===10){
EchoState.value = true;

@ -937,6 +937,7 @@
</template>
<script setup>
// import {getUserId} from '@/utils/auth.js'
import { getUserInfo } from '@/utils/auth'
import {submitTrainingTask,trainingOperationRecords,HDFSViewOperationRecords} from '@/api/hash/digitalEconomy.js'
import { onMounted } from 'vue';
const { proxy } = getCurrentInstance();
@ -1292,7 +1293,7 @@ const sendTitle=async()=>{
module:'大数据',
numberOfErrors:errorNumber > 10 ? 10 : errorNumber,
taskName:'hadoop HDFS',
userId:'487'
userId:JSON.parse(getUserInfo()).userId
}
const res=await submitTrainingTask(sendData)
proxy.$modal.msgSuccess("提交成功!")
@ -1304,7 +1305,7 @@ const getListEcho=async()=>{
try{
const sendData={
module:'大数据',
userId:'487'
userId:JSON.parse(getUserInfo()).userId
}
const res=await HDFSViewOperationRecords(sendData)
echoShow(res.data[0])

@ -518,6 +518,7 @@
<script setup>
// import {getUserId} from '@/utils/auth.js'
import { getUserInfo } from '@/utils/auth'
import {submitTrainingTask,marketingReadQuestionRecords,digitalSavesAutomatically} from '@/api/hash/digitalEconomy.js'
import { onMounted } from 'vue';
const dialogVisible = ref(false);
@ -1081,7 +1082,7 @@ const sendTask=async()=>{
const gitListDig=async()=>{
try{
const sendData={
userId:'487'
userId:JSON.parse(getUserInfo()).userId
}
const res=await marketingReadQuestionRecords(sendData)
echoData(res.data.stepEightA)

@ -407,6 +407,7 @@
</template>
<script setup>
// import {getUserId} from '@/utils/auth.js'
import { getUserInfo } from '@/utils/auth'
import {hadoopExperimentTraining,hadoopCleansData,hadoopEcho} from '@/api/hash/digitalEconomy.js'
import { watch } from 'vue';
const { proxy } = getCurrentInstance();
@ -463,7 +464,7 @@ const clickRadio=async(item1,index1)=>{
const sendData={
context:englishData[selectIndex.value-1],
select:item1,
userId:'487'
userId:JSON.parse(getUserInfo()).userId
}
const res=await hadoopExperimentTraining(sendData)
if(res.code===200){
@ -483,7 +484,7 @@ const selectEnglish=(index)=>{
}
watch(async()=>{
const sendData={
userId:'487'
userId:JSON.parse(getUserInfo()).userId
}
const res=await hadoopCleansData(sendData)
})
@ -491,7 +492,7 @@ const isOneHadoop=ref(false)
const echoHaop=async()=>{
try{
const sendData={
userId:'487'
userId:JSON.parse(getUserInfo()).userId
}
const res=await hadoopEcho(sendData)
if(res.data===1){

@ -130,6 +130,7 @@
</template>
<script setup>
// import {getUserId} from '@/utils/auth.js'
import { getUserInfo } from '@/utils/auth'
import {topicPresentation,topicSelection,submitTrainingTask} from '@/api/hash/digitalEconomy.js'
const { proxy } = getCurrentInstance();
const frameDialogVisible = ref(false);
@ -141,7 +142,7 @@
try{
const sendData={
module:'大数据技术框架',
userId:'487'
userId:JSON.parse(getUserInfo()).userId
}
const res=await topicPresentation(sendData)
data.value=res.data
@ -190,7 +191,7 @@
});
const sendData={
"StuSelectDetailsDTO":{
"userId":'487',
"userId":JSON.parse(getUserInfo()).userId,
"module":"大数据技术框架",
"stuSelectDTOList":nowStuSelectDTOList
}
@ -250,7 +251,7 @@
module:'大数据',
numberOfErrors:errorNumber > 10 ? 10 :errorNumber ,
taskName:'大数据技术框架',
userId:'487'
userId:JSON.parse(getUserInfo()).userId
}
const res=await submitTrainingTask(sendData)
proxy.$modal.msgSuccess("提交成功")

@ -89,6 +89,7 @@
import {LookBlockchainComposition} from '@/api/economy/bigData.js'
import {getTopic,submitJudgmentResults} from '@/api/hash/digitalEconomy.js'
// import { getUserId } from '@/utils/auth'
import { getUserInfo } from '@/utils/auth'
const { proxy } = getCurrentInstance();
const mlistLength = ref(0);
const answerData=ref([])
@ -97,7 +98,7 @@
const newArray = [];
const sendData={
module:'人工智能',
userId:'487'
userId:JSON.parse(getUserInfo()).userId
}
const res = await getTopic(sendData);
mlist.value = res.data;
@ -299,7 +300,7 @@
module: "什么是大数据",
topicId: item.topicId,
type: item.topicType,
userId: '487'
userId: JSON.parse(getUserInfo()).userId
}
})
newTable.forEach(

@ -0,0 +1,159 @@
<template>
<div class="app-main">
<div class="main-left">
<div class="left-top">
<img style="width: 26px;height: 26px;" src="../../../assets/images/图标1.png" alt="">
<span>内置表</span>
</div>
<div class="left-item">
<div v-for="(item,index) in nzData" :key="index" class="item" :class="{ 'is-active': nzIndex === index}" @click="goNZ(index)">
<span>{{item}}</span>
</div>
</div>
<div class="left-top" style="margin-top:35px">
<img style="width: 26px;height: 26px;" src="../../../assets/images/图标.png" alt="">
<span>自建表</span>
</div>
<div class="left-item">
<div v-for="(item,index) in zjData" :key="index" class="item" :class="{ 'is-active': zjIndex === index}" @click="goZJ(index)">
<span>{{item}}</span>
</div>
</div>
</div>
<div class="main-right">
<el-table :data="tableData" style="width: 94%" :header-cell-style="headerCellStyle">
<el-table-column v-for="column in tableLabel" :key="column.prop" :prop="column.prop" :label="column.label" align="center"/>
</el-table>
</div>
</div>
</template>
<script setup>
import { reactive } from "vue"
const nzIndex=ref(0)
const nzData=['用户属性表','用户登录活跃表','用户消费能力表','用户行为表','用户评论表']
const zjIndex=ref(-1)
const zjData=['用户属性表','用户登录活跃表','用户消费能力表','用户行为表','用户评论表']
const tableLabel=reactive([
{prop:'date',label:'用户ID'},
{prop:'name',label:'登录名'},
{prop:'name',label:'用户姓名'},
{prop:'name',label:'学号'},
{prop:'name',label:'班级'},
{prop:'name',label:'专业'},
{prop:'name',label:'学校'},
{prop:'name',label:'角色名称'},
{prop:'name',label:'角色性别'},
{prop:'name',label:'角色年龄'},
{prop:'name',label:'注册时间'},
{prop:'name',label:'所在地'}
])
const goNZ=(index)=>{
nzIndex.value=index
zjIndex.value=-1
}
const goZJ=(index)=>{
zjIndex.value=index
nzIndex.value=-1
}
const tableData = [
{
date: '2016-05-03',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
},
{
date: '2016-05-02',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
},
{
date: '2016-05-04',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
},
{
date: '2016-05-01',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
},
]
const headerCellStyle=()=>{
return {
// backgroundColor: "#0087F9 !important", //
// background:"linear-gradient(0deg, #002651 0%, #0087F9 100%) !important;",
color: "#ffffff !important",
};
}
</script>
<style lang="scss" scoped>
.app-main {
// background-color: #f5f5f5;
margin: 20px 20px 0;
height: calc(100vh - 150px);
display: flex;
overflow: auto;
.main-left{
width: 205px;
height: 100%;
background: #041C49;
.left-top{
gap: 5px;
display: flex;
align-items: center;
padding: 10px 20px;
span{
font-weight: bold;
font-size: 18px;
color: #3596EB;
}
}
.left-item{
.item{
width: 195px;
height: 31px;
// background: #1983DD;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
span{
color: #9BD1FF;
font-weight: 400;
font-size: 14px;
}
}
.is-active{
background: #1983DD;
span{
color:#FFFFFF;
}
}
}
}
.main-right{
width: 1639px;
height: 100%;
padding: 20px;
// background: #001D40;
border: 1px solid #0452C6;
// opacity: 0.5;
}
}
:deep(.el-table__header){
.el-table__cell{
background:linear-gradient(0deg, #002651 0%, #0087F9 100%) !important;
}
}
:deep(.el-table) {
--el-table-row-hover-bg-color:#002651 !important;
--el-table-border-color: #002651;
.el-table__row{
background-color: #002652 !important;
color: #E6E6E6;
}
}
</style>

@ -0,0 +1,350 @@
<template>
<el-scrollbar height="800px">
<div class="main-top">
<span style="font-weight: bold;font-size: 18px;color: #3596EB;">任务描述</span>
<p style="font-weight: 400;font-size: 12px;color: #E6E6E6;">给出任务清单参考做哪些数据的统计分析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.</p>
</div>
<div class="main-but">
<el-button><img src="../../../assets/images/导入.png" alt="">算法知识导入</el-button>
<el-button @click="taskSubmit"><img src="../../../assets/images/提交.png" alt="">实训任务提交</el-button>
</div>
<div class="app-main">
<div class="main-left">
<div class="left-top">
<span>选择指标</span>
</div>
<div class="metrics">
<el-select v-model="input" placeholder="请选择数据" style="width: 180px">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
<div class="metrics-table" style="margin-top: 10px">
<el-table border :data="tableData" style="width: 100%" :header-cell-style="headerCellStyle">
<el-table-column type="selection" prop="date" label="Date" align="center"/>
<el-table-column prop="name" label="指标" align="center"/>
</el-table>
<el-button>确定</el-button>
</div>
<div class="left-top">
<span>数据预处理</span>
</div>
<div class="metrics">
<el-select v-model="input" placeholder="请选择数据" style="width: 180px">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
<div class="metrics" style="margin-top:15px">
<el-select v-model="input" placeholder="请选择数据" style="width: 180px">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
<div class="left-top" style="margin-top: 10px">
<span>模型参数设置</span>
</div>
<div class="metrics-table" style="margin-top: 10px">
<el-table border :data="tableData" style="width: 100%" :header-cell-style="headerCellStyle">
<el-table-column type="selection" prop="date" label="Date" align="center"/>
<el-table-column prop="name" label="指标" align="center"/>
</el-table>
<el-button>计算</el-button>
</div>
<div class="startOver">
<img src="../../../assets/images/重新开始.png" alt="">
<span>重新开始</span>
</div>
</div>
<div class="main-right">
<div>
<span style="font-weight: bold;font-size: 18px;color: #3596EB;">分析数据</span>
<el-table :data="tableData" style="width: 94%;margin-top:10px" :header-cell-style="headerCellStyle" height="350">
<el-table-column v-for="column in tableLabel" :key="column.prop" :prop="column.prop" :label="column.label" align="center"/>
</el-table>
<el-pagination style="margin-top:10px" background layout="prev, pager, next" :total="1000" />
</div>
<div class="analysisResults" style="margin-top: 20px">
<span style="font-weight: bold;font-size: 18px;color: #3596EB;display: block;">分析结果</span>
<el-button>下载</el-button>
<el-table :data="tableData" style="width: 94%;margin-top:10px" :header-cell-style="headerCellStyle" height="350">
<el-table-column v-for="column in tableLabel" :key="column.prop" :prop="column.prop" :label="column.label" align="center"/>
</el-table>
<el-pagination style="margin-top:10px" background layout="prev, pager, next" :total="1000" />
</div>
</div>
</div>
</el-scrollbar>
<el-dialog
v-model="dialogVisible"
title="实训任务提交"
width="545"
custom-class="dialogClass"
:show-close="false"
>
<template #header="{ close, titleId, titleClass }">
<div class="my-header">
<span :id="titleId" :class="titleClass">实训任务提交</span>
<img class="gbImg" src="../../../assets/images/关闭.png" @click="close" alt="">
</div>
<img class="xtImg" src="../../../assets/images/线条.png" alt="">
</template>
This is dialog content.
<span>This is a message</span>
<template #footer>
<div class="dialog-footer">
<el-button @click="dialogVisible = false">Cancel</el-button>
<el-button type="primary" @click="dialogVisible = false">
Confirm
</el-button>
</div>
</template>
</el-dialog>
</template>
<script setup>
const dialogVisible=ref(false)
const tableLabel=reactive([
{prop:'date',label:'用户ID'},
{prop:'name',label:'登录名'},
{prop:'name',label:'用户姓名'},
{prop:'name',label:'学号'},
{prop:'name',label:'班级'},
{prop:'name',label:'专业'},
{prop:'name',label:'学校'},
{prop:'name',label:'角色名称'},
{prop:'name',label:'角色性别'},
{prop:'name',label:'角色年龄'},
{prop:'name',label:'注册时间'},
{prop:'name',label:'所在地'}
])
const input=ref()
const options = [
{
value: 'Option1',
label: 'Option1',
},
{
value: 'Option2',
label: 'Option2',
},
{
value: 'Option3',
label: 'Option3',
},
{
value: 'Option4',
label: 'Option4',
},
{
value: 'Option5',
label: 'Option5',
},
]
const taskSubmit=()=>{
dialogVisible.value=true
}
const tableData = [
{
date: '2016-05-03',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
},
{
date: '2016-05-02',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
},
{
date: '2016-05-04',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
},
{
date: '2016-05-01',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
},
]
const headerCellStyle=()=>{
return {
backgroundColor: "#1882DE !important", //
color: "#ffffff !important",
};
}
</script>
<style lang="scss" scoped>
.main-top {
margin: 20px 20px 0;
margin-top: 10px;
height: 85px;
background: #001d40;
border: 1px solid #0452c6;
padding: 5px 20px;
}
.main-but{
margin: 5px 20px 0;
display: flex;
.el-button:nth-child(1) {
width: 180px;
height: 56px;
background: url('../../../assets/images/011.png');
color:#FFFFFF;
border-color:#FFFFFF00;
}
.el-button:nth-child(2) {
width: 180px;
height: 56px;
background: url('../../../assets/images/022.png');
color:#FFFFFF;
border-color:#FFFFFF00;
}
}
.app-main {
// background-color: #f5f5f5;
margin: 5px 20px 0;
height: calc(117vh - 150px);
display: flex;
overflow: auto;
.main-left {
//
width: 205px;
height: 100%;
background: #041c49;
padding: 0px 10px;
.left-top {
padding: 10px;
span {
font-weight: bold;
font-size: 18px;
color: #3596eb;
}
}
.metrics-table{
.el-button {
width: 149px;
height: 48px;
background: url('../../../assets/images/确定.png');
color:#FFFFFF;
border-color:#FFFFFF00;
background-size: 100% 100%;
margin: 15px;
}
}
.startOver{
margin-top: 70px;
margin-left: -10px;
width: 205px;
height: 55px;
background: #00F4FF;
//
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
}
:deep(.el-table) {
--el-table-row-hover-bg-color:#002651 !important;
--el-table-border-color: #7AC1FF;
.el-table__row{
background-color: #002652 !important;
color: #E6E6E6;
}
}
}
.main-right {
width: 1639px;
height: 100%;
padding: 20px;
border: 1px solid #0452c6;
:deep(.el-table__header){
.el-table__cell{
background:linear-gradient(0deg, #5304BE 0%, #9126FE 100%) !important;
}
}
:deep(.el-table) {
--el-table-row-hover-bg-color:#002651 !important;
--el-table-border-color: #002651;
--el-table-bg-color:#FFFFFF00;
.el-table__row{
background-color: #002652 !important;
color: #E6E6E6;
}
}
}
.metrics{
:deep(.el-input){
.el-input__wrapper{
background-color:#FFFFFF00;
background-image:url('../../../assets/images/下拉框.png');
background-size: 100% 100%;
}
--el-input-text-color:#FFFFFF;
--el-input-border-color:#FFFFFF00;
--el-input-hover-border-color:#FFFFFF00;
--el-input-hover-border:#FFFFFF00;
--el-select-border-color-hover:#FFFFFF00;
--el-select-input-focus-border-color:#FFFFFF00;
--el-input-placeholder-color:#FFFFFF;
.el-input__inner{
color:#FFFFFF;
}
}
}
}
.analysisResults{
.el-button {
width: 89px;
height: 31px;
background: url('../../../assets/images/下载.png');
color:black;
border-color:#FFFFFF00;
// background-size: 100% 100%;
margin: 15px 0px 5px;
}
}
</style>
<style lang="scss">
.el-dialog{
background:url('../../../assets/images/弹框.png') !important;
.el-dialog__header{
padding: 5px 0px;
margin-right: -4px !important;
.gbImg{
cursor: pointer;
width: 51px;
height: 31px;
background-size: 100% 100%;
}
}
}
.my-header {
display: flex;
flex-direction: row;
justify-content: space-between;
gap: 16px;
text-align: center;
span{
color: #FFFFFF;
padding: 38px 20px 0;
}
.xtImg{
}
}
</style>

@ -0,0 +1,102 @@
<template>
<div class="rgzn_top">
<div class="top_item">
<el-button :class="{'active':isActive===1}" @click="activeIndex(1)"></el-button>
<el-button :class="{'active':isActive===2}" @click="activeIndex(2)"></el-button>
<el-button :class="{'active':isActive===3}" @click="activeIndex(3)">AIGC</el-button>
<el-button :class="{'active':isActive===4}" @click="activeIndex(4)"></el-button>
<el-button :class="{'active':isActive===5}" @click="activeIndex(5)"></el-button>
<el-button :class="{'active':isActive===6}" @click="activeIndex(6)">/</el-button>
<el-button :class="{'active':isActive===7}" @click="activeIndex(7)"></el-button>
</div>
<div>
<component :is="component"></component>
</div>
</div>
</template>
<script setup>
// import AIGC from './AIGCLargeModel/index.vue'
import big from './components/bigData.vue'
import descriptiveStatistics from './components/descriptiveStatistics.vue'
const component=ref(big)
const pageData=[big,descriptiveStatistics,null]
const isActive=ref(1)
const activeIndex=(index)=>{
isActive.value=index
component.value=pageData[index-1]
}
</script>
<style lang="scss" scoped>
.content{
color: #fff;
}
.rgzn_top{
.top_item{
img{
margin-right: 5px;
}
.el-button:nth-child(1) {
width: 170px;
height: 50px;
background: url('../../assets/images/11.png');
color:#FFFFFF;
border-color:#FFFFFF00;
}
.el-button:nth-child(2) {
width: 170px;
height: 50px;
background: url('../../assets/images/22.png');
color:#FFFFFF;
border-color:#FFFFFF00;
}
.el-button:nth-child(3) {
width: 170px;
height: 50px;
background: url('../../assets/images/33.png');
color:#FFFFFF;
border-color:#FFFFFF00;
padding:8px 5px 8px 47px;
}
.el-button:nth-child(4) {
width: 170px;
height: 50px;
background: url('../../assets/images/44.png');
color:#FFFFFF;
border-color:#FFFFFF00;
padding:8px 5px 8px 30px;
}
.el-button:nth-child(5) {
width: 170px;
height: 50px;
background: url('../../assets/images/55.png');
color:#FFFFFF;
border-color:#FFFFFF00;
padding:8px 5px 8px 25px;
}
.el-button:nth-child(6) {
width: 190px;
height: 50px;
background: url('../../assets/images/66.png');
color:#FFFFFF;
border-color:#FFFFFF00;
padding:8px 5px 8px 30px;
background-size: 100% 100%;
}
.el-button:nth-child(7) {
width: 170px;
height: 50px;
background: url('../../assets/images/77.png');
color:#FFFFFF;
border-color:#FFFFFF00;
padding:8px 5px 8px 20px;
}
// .active{
// background: url('../../assets/images/.png');
// }
}
}
</style>

@ -23,13 +23,12 @@
<el-table-column
prop="learningProjects"
label="学习项目"
width="210"
align="center"
/>
<el-table-column
prop="assessmentItems"
label="考核项目"
width="225"
width="150"
align="center"
/>
<el-table-column
@ -56,6 +55,11 @@
width="225"
align="center"
/>
<el-table-column
prop="schedule"
label="进度"
align="center"
/>
<el-table-column
prop="scoreProject"
label="得分"
@ -157,7 +161,7 @@
// import {Base64} from 'js-base64'
// import { useRouter } from "vue-router";
import {download} from '@/utils/request.js'
import { getToken } from '@/utils/auth'
import { getToken,getUserInfo } from '@/utils/auth'
import { ElMessage } from "element-plus";
// const router=useRouter();
@ -190,6 +194,7 @@
scoreProject:null,
scoreWeight:null,
scoringCriteria:"",
schedule:'0%',
totalScore:100
},
{
@ -199,6 +204,7 @@
scoreProject:null,
scoreWeight:null,
scoringCriteria:"",
schedule:'0%',
totalScore:100
},
{
@ -208,6 +214,7 @@
scoreProject:null,
scoreWeight:null,
scoringCriteria:"",
schedule:'0%',
totalScore:100
},
{
@ -217,6 +224,7 @@
scoreProject:null,
scoreWeight:null,
scoringCriteria:"",
schedule:'0%',
totalScore:100
},
{
@ -226,6 +234,7 @@
scoreProject:null,
scoreWeight:null,
scoringCriteria:"",
schedule:'0%',
totalScore:100
},
])
@ -255,7 +264,7 @@
project: "",
assessmentItems: "100%",
scoringCriteria: "/",
totalScore: finalResult1,
totalScore: finalResult,
weight: "",
condition: "",
score: "",
@ -265,8 +274,8 @@
const fileList=ref([])
const data=ref({
"ascription":'',
"userId":'487',
"schoolId":'232'
"userId":JSON.parse(getUserInfo()).userId,
"schoolId":JSON.parse(getUserInfo()).schoolId
})
const handleChange =(info)=> {
fileList.value.push(info);
@ -291,7 +300,7 @@
}
const data2={
"userId":'587',
"userId":JSON.parse(getUserInfo()).userId,
"TOKEN":'Bearer '+getToken()
}
//
@ -314,7 +323,7 @@
dialogVisible.value=true
}
onMounted(()=>{
data.value.module='数字营销'
// data.value.module=''
setTimeout(() => {
cerateGrade()
}, 300);
@ -339,6 +348,7 @@
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)
@ -350,6 +360,7 @@
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)
@ -361,6 +372,7 @@
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: '/'});
@ -372,6 +384,7 @@
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=`提交实训报告,教师评分`
@ -380,6 +393,7 @@
tableData4.value[4].scoreProject=item.scoreProject
}
tableData4.value[4].scoreWeight=weight2
tableData4.value[4].schedule=item.schedule+'%'
}
return {
...item

@ -160,13 +160,13 @@
// import { useRouter } from "vue-router";
// import {Base64} from 'js-base64'
import * as API from "@/api/prtrait/prtrait.js"
// import { getUserId } from "@/utils/auth";
import { getUserInfo } from "@/utils/auth";
import { ElMessage } from "element-plus";
import { onMounted } from "vue";
const data = ref({
module: "",
ascription:"",
userId: '487',
userId: JSON.parse(getUserInfo()).userId,
});
const multipleChoiceAnswer = ref();
// const router = useRouter();
@ -214,7 +214,7 @@ import { onMounted } from "vue";
//
const answerData=ref([])
onMounted(()=>{
data.value.module='数字营销'
// data.value.module=''
submitDialogVisible1()
})
const submitDialogVisible1 = () => {
@ -349,7 +349,7 @@ import { onMounted } from "vue";
const mlistArray = Object.values(mlist.value);
const transformedData = {
stuLearningAssessmentScoreDTO: {
userId: '487',
userId: JSON.parse(getUserInfo()).userId,
learningProjects: "学习测评",
assessmentItems: "客观题测试",
stuLearningAssessmentDTOS: mlistArray.map((item) => {

@ -30,7 +30,7 @@
<script setup>
import * as API from "@/api/prtrait/prtrait.js"
import { getAssetsFile } from '@/utils';
// import { getUserId } from '@/utils/auth'
import { getUserInfo } from '@/utils/auth'
import { onMounted } from "vue";
const getImg=(i)=>{
return getAssetsFile('images/'+i)
@ -43,7 +43,7 @@
"learningProjects":"资源学习",
"assessmentItems":"观看资源",
"viewingTime":0,
"userId":'487',
"userId":JSON.parse(getUserInfo()).userId,
}
})
const item=ref({})

@ -1263,8 +1263,31 @@ const submitData = () => {
})
.catch((error) => {});
};
const retrain = () => {
portraitModel
.retrain({
userId: 492,
module: "AARRR用户运营分析",
})
.then((res) => {
proxy.$modal.msgSuccess("重新实训成功");
step1Params1.value = "";
step1Params2.value = "";
step2Params1.value = "";
step2Params2.value = "";
step3Params1.value = "";
step3Params2.value = "";
step4Params1.value = "";
step4Params2.value = "";
step4Params3.value = "";
step4Params4.value = "";
step5Params.value = "";
})
.catch((error) => {});
};
defineExpose({
submitData,
retrain,
// practicalTraining,
});
</script>

@ -861,7 +861,35 @@ const submitData = () => {
.catch((error) => {});
};
const retrain = () => {
console.log(66);
// console.log(66);
portraitModel
.retrain({
userId: 492,
module: "购物篮分析",
})
.then((res) => {
proxy.$modal.msgSuccess("重新实训成功");
list.value = ["-"];
for (let i in step2Data.value) {
step2Data.value[i].params = "";
}
for (let i in step3Data.value) {
step3Data.value[i].params1 = "";
step3Data.value[i].params2 = "";
step3Data.value[i].params3 = "";
}
for (let i in step4Data.value) {
step4Data.value[i].params = "";
}
// step2Select1.value = "";
// step2Select2.value = "";
// step2Select3.value = "";
// step2Select4.value = "";
// step2Select5.value = "";
// step3Select1.value = "";
// step3Select2.value = "";
})
.catch((error) => {});
};
defineExpose({
submitData,

@ -1885,8 +1885,39 @@ const submitData = () => {
.catch((error) => {});
// console.log(666);
};
const retrain = () => {
portraitModel
.retrain({
userId: 492,
module: "复购分析",
})
.then((res) => {
proxy.$modal.msgSuccess("重新实训成功");
for (let i in step1Data.value) {
step1Data.value[i].params = "";
}
for (let i in step2Data.value) {
step2Data.value[i].params = "";
}
for (let i in step4Data.value) {
if (i % 2 == 0) {
step4Data.value[i].params1 = "";
step4Data.value[i].params2 = "";
}
}
for (let i in step5DataTable2.value) {
step5DataTable2.value[i].params = "";
}
for (let i in step5DataTable3.value) {
step5DataTable3.value[i].params1 = "";
step5DataTable3.value[i].params2 = "";
}
})
.catch((error) => {});
};
defineExpose({
submitData,
retrain,
// practicalTraining,
});
</script>

@ -1663,8 +1663,31 @@ const submitData = () => {
})
.catch((error) => {});
};
const retrain = () => {
portraitModel
.retrain({
userId: 492,
module: "留存分析",
})
.then((res) => {
proxy.$modal.msgSuccess("重新实训成功");
for (let i in step1Data.value.slice(0, step1Data.value.length - 1)) {
step1Data.value[i].params = "";
}
for (let i in step2Data.value) {
step2Data.value[i].params1 = "";
step2Data.value[i].params2 = "";
step2Data.value[i].params3 = "";
step2Data.value[i].params4 = "";
}
dayValue.value = "";
})
.catch((error) => {});
};
defineExpose({
submitData,
retrain,
// practicalTraining,
});
</script>

@ -1830,8 +1830,45 @@ const submitData = () => {
})
.catch((error) => {});
};
const retrain = () => {
portraitModel
.retrain({
userId: 492,
module: "用户粘性分析",
})
.then((res) => {
proxy.$modal.msgSuccess("重新实训成功");
for (let i in step1Data.value) {
step1Data.value[i].params1 = "";
step1Data.value[i].params2 = "";
step1Data.value[i].params3 = "";
}
for (let i in step2Data.value) {
step2Data.value[i].params1 = "";
step2Data.value[i].params2 = "";
}
for (let i in step3Data.value) {
step3Data.value[i].params1 = "";
step3Data.value[i].params2 = "";
}
for (let i in step4Data.value) {
step4Data.value[i].params1 = "";
}
for (let i in step4DataTable2.value) {
step4DataTable2.value[i].params1 = "";
}
analysisConclusionStep1.value = "";
analysisConclusionStep2.value = "";
analysisConclusionStep3.value = "";
analysisConclusionStep4.value = "";
// dayValue.value = "";
})
.catch((error) => {});
};
defineExpose({
submitData,
retrain,
// practicalTraining,
});
</script>

@ -363,9 +363,12 @@ const getTableData = (name) => {
.getUserTableData({
userId: 492,
tableName: name,
size:10,
index:1
})
.then((res) => {
fileTable.value.push(res.data);
// fileTable.value.push(res.data.list);
fileTable.value = res.data.list
// console.log(res,'--');
})
.catch((error) => {});

Loading…
Cancel
Save