qinzhenpen 2 years ago
commit c0012b1234

@ -138,3 +138,11 @@ export function getCommentPoint(data) {
data: data, data: data,
}); });
} }
//阅读时长提交
export function timeCountSubmit(data) {
return request({
url: "/api/stu/concept/block/hashReadingScore",
method: "post",
data: data,
});
}

@ -16,8 +16,8 @@ axios.defaults.headers["Content-Type"] = "application/json;charset=utf-8";
const service = axios.create({ const service = axios.create({
// axios中请求配置有baseURL选项表示请求URL公共部分 // axios中请求配置有baseURL选项表示请求URL公共部分
// baseURL: import.meta.env.VITE_APP_BASE_API, // baseURL: import.meta.env.VITE_APP_BASE_API,
baseURL: "https://szyx.sztzjy.com:9868/", // baseURL: "https://szyx.sztzjy.com:9868/",
// baseURL:'http://192.168.2.14:9868/', baseURL:'http://192.168.2.14:9868/',
// 超时 // 超时
timeout: 100000, timeout: 100000,
}); });

@ -1,6 +1,6 @@
<template> <template>
<div> <div>
<el-dialog :title="title" style="width: 1308px; height: 838px" custom-class="gdialog" v-model="props.showModel" :before-close="close"> <el-dialog :title="title" style="width: 1308px; height: 838px" custom-class="gdialog" :model-value="props.showModel" @close="close()">
<div class="diaMain" style="margin-top: -35px; padding: 10px; padding-left: 20px"> <div class="diaMain" style="margin-top: -35px; padding: 10px; padding-left: 20px">
<el-scrollbar height="730px"> <el-scrollbar height="730px">
<slot name="content" class="main"></slot> <slot name="content" class="main"></slot>
@ -18,8 +18,8 @@
</div> </div>
</template> </template>
<script setup> <script setup>
const emits = defineEmits(["closePop", "submit"]); const emits = defineEmits(["closePop", "submit",]);
const dialogVisible = ref(false); // const dialogVisible = ref(false);
const props = defineProps({ const props = defineProps({
modelValue: [String, Object, Array], modelValue: [String, Object, Array],
// //

File diff suppressed because one or more lines are too long

@ -1,6 +1,6 @@
<template> <template>
<div class="content"> <div class="content">
<div class="import" @click="dialogVisible = true"> <div class="import" @click="openKnowledge">
<img src="@/assets/images/导入.png" alt="" /> <img src="@/assets/images/导入.png" alt="" />
<span>任务知识导入</span> <span>任务知识导入</span>
</div> </div>
@ -294,7 +294,7 @@
</div> </div>
</div> </div>
</div> </div>
<pop-modal :showModel="dialogVisible" @closePop="dialogVisible = false"> <pop-modal :showModel="dialogVisible" @closePop="handlClose">
<template v-slot:content> <template v-slot:content>
<p> <p>
帕累托分析法源于经典的二八法则意大利经济学家维尔弗雷多·帕累托于1906年提出了著名的关于意大利社会财务分配的研究结论20%的人口掌握了80%的社会财富这个结论对大多数国家的社会财富分配情况都成立因此帕累托法则又被称为80/20法则 帕累托分析法源于经典的二八法则意大利经济学家维尔弗雷多·帕累托于1906年提出了著名的关于意大利社会财务分配的研究结论20%的人口掌握了80%的社会财富这个结论对大多数国家的社会财富分配情况都成立因此帕累托法则又被称为80/20法则
@ -328,6 +328,8 @@ import * as portraitModel from "@/api/portraitModel";
import { downBlobFile } from "@/utils/index.js"; import { downBlobFile } from "@/utils/index.js";
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const baseUrl = import.meta.env.VITE_APP_BASE_API; const baseUrl = import.meta.env.VITE_APP_BASE_API;
const timer = ref(null);
const timeCount = ref(0);
const barData = ref(["", "", "", ""]); const barData = ref(["", "", "", ""]);
const lineData = ref(["", "", "", ""]); const lineData = ref(["", "", "", ""]);
const showAnswerFlag = ref(false); const showAnswerFlag = ref(false);
@ -956,6 +958,14 @@ const saveDataSubmit = () => {
stepNineB: chartParam2.value, stepNineB: chartParam2.value,
stepNineC: chartParam3.value, stepNineC: chartParam3.value,
stepNineD: chartParam4.value, stepNineD: chartParam4.value,
stepTenA: barData.value[0],
stepTenB: barData.value[1],
stepTenC: barData.value[2],
stepTenD: barData.value[3],
stepElevenA: lineData.value[0],
stepOneA: lineData.value[1],
stepOneB: lineData.value[2],
stepOneC: lineData.value[3],
// stepTenA: step4Data.value[1].params2, // stepTenA: step4Data.value[1].params2,
// stepTenB: step4Data.value[1].params3, // stepTenB: step4Data.value[1].params3,
// stepTenC: step4Data.value[2].params1, // stepTenC: step4Data.value[2].params1,
@ -1177,7 +1187,7 @@ const submitData = () => {
errorNum.value = step1Error.value + step2Error.value + step3Error.value + step4Error.value + step5Error.value; errorNum.value = step1Error.value + step2Error.value + step3Error.value + step4Error.value + step5Error.value;
console.log(errorNum.value, "总错误次数"); console.log(errorNum.value, "总错误次数");
if (errorNum.value > 5) { if (errorNum.value > 5) {
errorNum.value = 5 errorNum.value = 5;
} }
portraitModel portraitModel
.submit({ .submit({
@ -1232,6 +1242,40 @@ defineExpose({
retrain, retrain,
// practicalTraining, // practicalTraining,
}); });
const openKnowledge = () => {
dialogVisible.value = true;
startCount();
};
const handlClose = () => {
console.log('123');
dialogVisible.value = false;
if (timer.value) {
clearInterval(timer.value);
timer.value = null;
}
console.log("阅读时长", timeCount.value + "s");
submitTimeCount();
timeCount.value = 0;
};
const handleTest = ()=>{
console.log('aa');
}
const startCount = () => {
timer.value = setInterval(() => {
timeCount.value++;
}, 1000);
};
const submitTimeCount = () => {
portraitModel
.timeCountSubmit({
stuScoreDetailsDTO: {
userId: JSON.parse(getUserInfo()).userId,
viewingTime: timeCount.value,
},
})
.then((res) => {})
.catch((error) => {});
};
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">

@ -1,6 +1,6 @@
<template> <template>
<div class="content"> <div class="content">
<div class="import" @click="dialogVisible = true"> <div class="import" @click="openKnowledge">
<img src="@/assets/images/导入.png" alt="" /> <img src="@/assets/images/导入.png" alt="" />
<span>任务知识导入</span> <span>任务知识导入</span>
</div> </div>
@ -250,7 +250,7 @@
</div> </div>
</div> </div>
</div> </div>
<pop-modal :showModel="dialogVisible" @closePop="dialogVisible = false"> <pop-modal :showModel="dialogVisible" @closePop="handlClose">
<template v-slot:content> <template v-slot:content>
<div v-html="knowledgeHtml"></div> <div v-html="knowledgeHtml"></div>
</template> </template>
@ -267,6 +267,8 @@ import { downBlobFile } from "@/utils/index.js";
import { onBeforeUnmount, onMounted } from "vue"; import { onBeforeUnmount, onMounted } from "vue";
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const baseUrl = import.meta.env.VITE_APP_BASE_API; const baseUrl = import.meta.env.VITE_APP_BASE_API;
const timer = ref(null);
const timeCount = ref(0);
const showAnswerFlag = ref(false); const showAnswerFlag = ref(false);
const comListError = ref(false); const comListError = ref(false);
const knowledgeHtml = ref( const knowledgeHtml = ref(
@ -1141,6 +1143,37 @@ defineExpose({
retrain, retrain,
// practicalTraining, // practicalTraining,
}); });
const openKnowledge = () => {
dialogVisible.value = true;
startCount();
};
const handlClose = () => {
console.log('123');
dialogVisible.value = false;
if (timer.value) {
clearInterval(timer.value);
timer.value = null;
}
console.log("阅读时长", timeCount.value + "s");
submitTimeCount();
timeCount.value = 0;
};
const startCount = () => {
timer.value = setInterval(() => {
timeCount.value++;
}, 1000);
};
const submitTimeCount = () => {
portraitModel
.timeCountSubmit({
stuScoreDetailsDTO: {
userId: JSON.parse(getUserInfo()).userId,
viewingTime: timeCount.value,
},
})
.then((res) => {})
.catch((error) => {});
};
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">

@ -1,6 +1,6 @@
<template> <template>
<div class="content"> <div class="content">
<div class="import" @click="dialogVisible = true"> <div class="import" @click="openKnowledge">
<img src="@/assets/images/导入.png" alt="" /> <img src="@/assets/images/导入.png" alt="" />
<span>任务知识导入</span> <span>任务知识导入</span>
</div> </div>
@ -291,7 +291,7 @@
</div> </div>
</div> </div>
</div> </div>
<pop-modal :showModel="dialogVisible" @closePop="dialogVisible = false"> <pop-modal :showModel="dialogVisible" @closePop="handlClose">
<template v-slot:content> <template v-slot:content>
<p style="line-height: 25px; font-size: 14px"> <p style="line-height: 25px; font-size: 14px">
波士顿矩阵BCG Matrix又称市场增长率-相对市场份额矩阵由美国著名的管理学家波士顿咨询公司创始人布鲁斯·亨德森于1970年首创它是通过销售增长率反应市场引力的指标和市场占有率反应企业实力的指标来分析决定企业的产品结构 波士顿矩阵BCG Matrix又称市场增长率-相对市场份额矩阵由美国著名的管理学家波士顿咨询公司创始人布鲁斯·亨德森于1970年首创它是通过销售增长率反应市场引力的指标和市场占有率反应企业实力的指标来分析决定企业的产品结构
@ -345,6 +345,8 @@ import { downBlobFile } from "@/utils/index.js";
import { onMounted } from "vue"; import { onMounted } from "vue";
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const baseUrl = import.meta.env.VITE_APP_BASE_API; const baseUrl = import.meta.env.VITE_APP_BASE_API;
const timer = ref(null);
const timeCount = ref(0);
const showAnswerFlag = ref(false); const showAnswerFlag = ref(false);
const dialogVisible = ref(false); const dialogVisible = ref(false);
const knowledgeFlag = ref(false); const knowledgeFlag = ref(false);
@ -1743,6 +1745,7 @@ const getData = () => {
step5EchartInit(); step5EchartInit();
if (res.data.subState & (res.data.subState == 1)) { if (res.data.subState & (res.data.subState == 1)) {
showAnswerFlag.value = true; showAnswerFlag.value = true;
step1AnswerFlag.value = true;
if (step1Data.value[0].params1 && step1Data.value[0].params1 !== "3") { if (step1Data.value[0].params1 && step1Data.value[0].params1 !== "3") {
step1Data.value[0].isError1 = true; step1Data.value[0].isError1 = true;
} else { } else {
@ -1930,6 +1933,37 @@ defineExpose({
retrain, retrain,
// practicalTraining, // practicalTraining,
}); });
const openKnowledge = () => {
dialogVisible.value = true;
startCount();
};
const handlClose = () => {
console.log('123');
dialogVisible.value = false;
if (timer.value) {
clearInterval(timer.value);
timer.value = null;
}
console.log("阅读时长", timeCount.value + "s");
submitTimeCount();
timeCount.value = 0;
};
const startCount = () => {
timer.value = setInterval(() => {
timeCount.value++;
}, 1000);
};
const submitTimeCount = () => {
portraitModel
.timeCountSubmit({
stuScoreDetailsDTO: {
userId: JSON.parse(getUserInfo()).userId,
viewingTime: timeCount.value,
},
})
.then((res) => {})
.catch((error) => {});
};
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">

@ -1,6 +1,6 @@
<template> <template>
<div class="content"> <div class="content">
<div class="import" @click="dialogVisible = true"> <div class="import" @click="openKnowledge">
<img src="@/assets/images/导入.png" alt="" /> <img src="@/assets/images/导入.png" alt="" />
<span>任务知识导入</span> <span>任务知识导入</span>
</div> </div>
@ -294,7 +294,7 @@
</div> </div>
<div class="line"></div> <div class="line"></div>
</div> </div>
<pop-modal :showModel="dialogVisible" @closePop="dialogVisible = false"> <pop-modal :showModel="dialogVisible" @closePop="handlClose">
<template v-slot:content> <template v-slot:content>
<div <div
v-html=" v-html="
@ -599,6 +599,8 @@ const showAnswerFlag = ref(false);
const errorNum = ref(0); const errorNum = ref(0);
const option = ref({}); const option = ref({});
const baseUrl = import.meta.env.VITE_APP_BASE_API; const baseUrl = import.meta.env.VITE_APP_BASE_API;
const timer = ref(null);
const timeCount = ref(0);
onBeforeUnmount(() => { onBeforeUnmount(() => {
saveData(); saveData();
}); });
@ -1142,6 +1144,11 @@ const saveDataSubmit = () => {
stepNineD: step2Select5.value, stepNineD: step2Select5.value,
stepTenA: step3Select1.value, stepTenA: step3Select1.value,
stepTenB: step3Select2.value, stepTenB: step3Select2.value,
stepTenC: funnelData.value[0],
stepTenD: funnelData.value[1],
stepElevenA: funnelData.value[2],
stepOneA: funnelData.value[3],
stepOneB: funnelData.value[4],
// stepTenC: step4Data.value[2].params1, // stepTenC: step4Data.value[2].params1,
// stepTenD: step4Data.value[2].params2, // stepTenD: step4Data.value[2].params2,
// stepElevenA: step4Data.value[2].params3, // stepElevenA: step4Data.value[2].params3,
@ -1208,6 +1215,37 @@ defineExpose({
retrain, retrain,
// practicalTraining, // practicalTraining,
}); });
const openKnowledge = () => {
dialogVisible.value = true;
startCount();
};
const handlClose = () => {
console.log('123');
dialogVisible.value = false;
if (timer.value) {
clearInterval(timer.value);
timer.value = null;
}
console.log("阅读时长", timeCount.value + "s");
submitTimeCount();
timeCount.value = 0;
};
const startCount = () => {
timer.value = setInterval(() => {
timeCount.value++;
}, 1000);
};
const submitTimeCount = () => {
portraitModel
.timeCountSubmit({
stuScoreDetailsDTO: {
userId: JSON.parse(getUserInfo()).userId,
viewingTime: timeCount.value,
},
})
.then((res) => {})
.catch((error) => {});
};
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1,6 +1,6 @@
<template> <template>
<div class="content"> <div class="content">
<div class="import" @click="dialogVisible = true"> <div class="import" @click="openKnowledge">
<img src="@/assets/images/导入.png" alt="" /> <img src="@/assets/images/导入.png" alt="" />
<span style="color: #fff">任务知识导入</span> <span style="color: #fff">任务知识导入</span>
</div> </div>
@ -451,7 +451,7 @@
</div> </div>
</div> </div>
</div> </div>
<el-dialog v-model="dialogVisible" title="任务知识导入" style="width: 1108px; height: 798px" custom-class="gdialog" > <el-dialog v-model="dialogVisible" title="任务知识导入" style="width: 1108px; height: 798px" custom-class="gdialog" @close="handlClose">
<div style="color: #fff; margin-top: -35px; padding: 10px; padding-left: 20px"> <div style="color: #fff; margin-top: -35px; padding: 10px; padding-left: 20px">
<el-scrollbar height="650px"> <el-scrollbar height="650px">
<div v-html="knowledge"></div> <div v-html="knowledge"></div>
@ -477,6 +477,8 @@ import { onBeforeUnmount, onMounted } from "vue";
const baseUrl = import.meta.env.VITE_APP_BASE_API; const baseUrl = import.meta.env.VITE_APP_BASE_API;
const dialogVisible = ref(false); const dialogVisible = ref(false);
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const timer = ref(null);
const timeCount = ref(0);
const errorNum = ref(0); // const errorNum = ref(0); //
const stepError1 = ref(0); const stepError1 = ref(0);
const stepError2 = ref(0); const stepError2 = ref(0);
@ -1108,7 +1110,7 @@ const submitData = () => {
errorNum.value = stepError1.value + stepError2.value + step4Error.value + step5Error.value + step6Error.value + step7Error.value; errorNum.value = stepError1.value + stepError2.value + step4Error.value + step5Error.value + step6Error.value + step7Error.value;
console.log(errorNum.value, "总错误次数"); console.log(errorNum.value, "总错误次数");
if (errorNum.value > 5) { if (errorNum.value > 5) {
errorNum.value = 5 errorNum.value = 5;
} }
portraitModel portraitModel
.submit({ .submit({
@ -1545,6 +1547,36 @@ const tableSpanMethod = ({ row, column, rowIndex, columnIndex }) => {
} }
} }
}; };
const openKnowledge = () => {
dialogVisible.value = true;
startCount();
};
const handlClose = () => {
console.log(111);
if (timer.value) {
clearInterval(timer.value);
timer.value = null;
}
console.log("阅读时长", timeCount.value + "s");
submitTimeCount();
timeCount.value = 0;
};
const startCount = () => {
timer.value = setInterval(() => {
timeCount.value++;
}, 1000);
};
const submitTimeCount = () => {
portraitModel
.timeCountSubmit({
stuScoreDetailsDTO: {
userId: JSON.parse(getUserInfo()).userId,
viewingTime: timeCount.value,
},
})
.then((res) => {})
.catch((error) => {});
};
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@ -1644,7 +1676,6 @@ const tableSpanMethod = ({ row, column, rowIndex, columnIndex }) => {
background-color: #f5f7fa !important; background-color: #f5f7fa !important;
} }
::v-deep .el-table td { ::v-deep .el-table td {
padding-top: 4px; padding-top: 4px;
padding-bottom: 4px; padding-bottom: 4px;

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save