dev-QQq
qinzhenpen 1 year ago
parent 23246d13d8
commit 1bd52aec82

@ -2,7 +2,7 @@
# @Author: qinzhenpen qzp1807@126.com
# @Date: 2024-08-28 17:21:18
# @LastEditors: qinzhenpen qzp1807@126.com
# @LastEditTime: 2025-04-15 14:11:55
# @LastEditTime: 2025-04-22 13:42:37
# @FilePath: \digital-marketing\.env.development
# @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
###
@ -14,3 +14,4 @@ VITE_APP_ENV = 'development'
# 若依管理系统/开发环境
VITE_APP_BASE_API = 'https://szyx.sztzjy.com:8042'
# VITE_APP_BASE_API = 'http://192.168.2.8:9868'

Binary file not shown.

@ -67,7 +67,6 @@
transform: scale(0.8);
animation: stars-catch 2s 0.1s ease infinite;
}
.loader .star3 {
right: 27px;
top: -11px;

@ -154,3 +154,11 @@ export function clusterAnalysis(data) {
data: data,
});
}
// 查询任务提交
export function queryTaskSubmit(params) {
return request({
url: "/api/bigModule/getUploadFileInfo",
method: "GET",
params
});
}

@ -34,7 +34,7 @@ export function checkLearningAssessment(query) {
export function hashFunctionLearningReview(query) {
return request({
url: "/api/stu/concept/block/getLearningAssessment",
method: "post",
method: "get",
params:query
});
}

@ -101,12 +101,14 @@
</div>
</template>
<script setup>
import popModal from "@/views/components/popModal.vue";
import { getUserInfo, getToken } from "@/utils/auth";
import * as portraitModel from "@/api/portraitModel";
import { uploadFile } from "@/api/portraitModel";
import { downBlobFile } from "@/utils/index.js";
import * as echarts from "echarts";
const props = defineProps({
info: {
type: Object,
default: () => ({}),
},
});
const { proxy } = getCurrentInstance();
const baseUrl = import.meta.env.VITE_APP_BASE_API;
const previewFile1 = ref([]);
@ -131,6 +133,8 @@ const handleChange1 = async (info) => {
previewFile1.value.push({
name: fileList1.value[0].raw.name,
});
console.log( previewFile1.value,' previewFile1.value');
// getMessage();
} catch (e) {
// console.log(e);
@ -182,6 +186,22 @@ const handleChange3 = async (info) => {
const downloadData = (name) => {
window.open(baseUrl + "/api/bigModule/download?name=" + name + "&TOKEN=Bearer " + getToken());
};
// props.info
watch(
() => props.info,
(newVal) => {
if (newVal&&newVal.length > 0) {
newVal.forEach(item=>{
item.name =item.fileName
item.uid =Date.now()
})
if (newVal[0]) previewFile1.value = [newVal[0]];
if (newVal[1]) previewFile2.value = [newVal[1]];
if (newVal[2]) previewFile3.value = [newVal[2]];
}
},
{ immediate: true }
);
</script>
<style lang="scss" scoped>

@ -90,6 +90,12 @@ import * as portraitModel from "@/api/portraitModel";
import { uploadFile } from "@/api/portraitModel";
import { downBlobFile } from "@/utils/index.js";
import * as echarts from "echarts";
const props = defineProps({
info: {
type: Object,
default: () => ({}),
},
});
const { proxy } = getCurrentInstance();
const baseUrl = import.meta.env.VITE_APP_BASE_API;
const previewFile1 = ref([]);
@ -165,6 +171,23 @@ const handleChange3 = async (info) => {
const downloadData = (name) => {
window.open(baseUrl + "/api/bigModule/download?name=" + name + "&TOKEN=Bearer " + getToken());
};
// props.info
watch(
() => props.info,
(newVal) => {
console.log("props.info", newVal);
if (newVal&&newVal.length > 0) {
newVal.forEach(item=>{
item.name =item.fileName
item.uid =Date.now()
})
if (newVal[0]) previewFile1.value = [newVal[0]];
if (newVal[1]) previewFile2.value = [newVal[1]];
if (newVal[2]) previewFile3.value = [newVal[2]];
}
},
{ immediate: true }
);
</script>
<style lang="scss" scoped>

@ -114,6 +114,12 @@ import * as portraitModel from "@/api/portraitModel";
import { uploadFile } from "@/api/portraitModel";
import { downBlobFile } from "@/utils/index.js";
import * as echarts from "echarts";
const props = defineProps({
info: {
type: Object,
default: () => ({}),
},
});
const { proxy } = getCurrentInstance();
const baseUrl = import.meta.env.VITE_APP_BASE_API;
const previewFile1 = ref([]);
@ -189,6 +195,23 @@ const handleChange3 = async (info) => {
const downloadData = (name) => {
window.open(baseUrl + "/api/bigModule/download?name=" + name + "&TOKEN=Bearer " + getToken());
};
// props.info
watch(
() => props.info,
(newVal) => {
if (newVal&&newVal.length > 0) {
newVal.forEach(item=>{
item.name =item.fileName
item.uid =Date.now()
})
if (newVal[0]) previewFile1.value = [newVal[0]];
if (newVal[1]) previewFile2.value = [newVal[1]];
if (newVal[2]) previewFile3.value = [newVal[2]];
}
},
{ immediate: true }
);
</script>
<style lang="scss" scoped>

@ -103,6 +103,12 @@ import * as portraitModel from "@/api/portraitModel";
import { uploadFile } from "@/api/portraitModel";
import { downBlobFile } from "@/utils/index.js";
import * as echarts from "echarts";
const props = defineProps({
info: {
type: Object,
default: () => ({}),
},
});
const { proxy } = getCurrentInstance();
const baseUrl = import.meta.env.VITE_APP_BASE_API;
const previewFile1 = ref([]);
@ -174,6 +180,22 @@ const handleChange3 = async (info) => {
// console.log(e);
}
};
// props.info
watch(
() => props.info,
(newVal) => {
if (newVal&&newVal.length > 0) {
newVal.forEach(item=>{
item.name =item.fileName
item.uid =Date.now()
})
if (newVal[0]) previewFile1.value = [newVal[0]];
if (newVal[1]) previewFile2.value = [newVal[1]];
if (newVal[2]) previewFile3.value = [newVal[2]];
}
},
{ immediate: true }
);
</script>
<style lang="scss" scoped>

@ -104,6 +104,12 @@ import { uploadFile } from "@/api/portraitModel";
import { downBlobFile } from "@/utils/index.js";
import * as echarts from "echarts";
const { proxy } = getCurrentInstance();
const props = defineProps({
info: {
type: Object,
default: () => ({}),
},
});
const baseUrl = import.meta.env.VITE_APP_BASE_API;
const previewFile1 = ref([]);
const previewFile2 = ref([]);
@ -174,6 +180,22 @@ const handleChange3 = async (info) => {
// console.log(e);
}
};
// props.info
watch(
() => props.info,
(newVal) => {
if (newVal && newVal.length > 0) {
newVal.forEach((item) => {
item.name = item.fileName;
item.uid = Date.now();
});
if (newVal[0]) previewFile1.value = [newVal[0]];
if (newVal[1]) previewFile2.value = [newVal[1]];
if (newVal[2]) previewFile3.value = [newVal[2]];
}
},
{ immediate: true }
);
</script>
<style lang="scss" scoped>

@ -2,7 +2,7 @@
* @Author: qinzhenpen qzp1807@126.com
* @Date: 2024-08-20 18:09:46
* @LastEditors: qinzhenpen qzp1807@126.com
* @LastEditTime: 2024-08-21 09:13:12
* @LastEditTime: 2025-04-17 15:31:48
* @FilePath: \vue3\src\views\digitalMarketTech\AIGCLargeModel\index.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
@ -10,13 +10,18 @@
<div class="app-top">
<el-button v-for="(item, index) in imgData" :key="index" :class="item.img" @click="clickIndx(index)">{{ item.text }}</el-button>
</div>
<component v-if="page" :is="page"></component>
<component v-if="page" :is="page" :info="taskInfo"></component>
</template>
<script setup>
const pageData = [defineAsyncComponent(() => import("./components/AIArticleToPic.vue")), defineAsyncComponent(() => import("./components/AIPicture.vue")), defineAsyncComponent(() => import("./components/AIVideo.vue")), defineAsyncComponent(() => import("./components/AIWriting.vue")), defineAsyncComponent(() => import("./components/AIDataAnalysis.vue")), defineAsyncComponent(() => import("./components/thirdPartyAIGC.vue"))];
import * as portraitModel from "@/api/portraitModel";
import { getUserInfo, getToken } from "@/utils/auth";
const pageData = [defineAsyncComponent(() => import("./components/AIArticleToPic.vue")), defineAsyncComponent(() => import("./components/AIPicture.vue")), defineAsyncComponent(() => import("./components/AIVideo.vue")), defineAsyncComponent(() => import("./components/AIWriting.vue")), defineAsyncComponent(() => import("./components/AIDataAnalysis.vue")), defineAsyncComponent(() => import("./components/thirdPartyAIGC.vue"))];
const page = ref(pageData[0]);
const id = ref(0);
const clickIndx = (index) => {
id.value = index;
page.value = pageData[index];
getinfo();
};
const imgData = [
{
@ -44,6 +49,21 @@ const imgData = [
img: "dmx",
},
];
const taskInfo = ref([]);
const getinfo = () => {
portraitModel
.queryTaskSubmit({
module: imgData[id.value].text,
schoolId: JSON.parse(getUserInfo()).schoolId,
userId: JSON.parse(getUserInfo()).userId,
})
.then((res) => {
taskInfo.value = res.data;
});
};
onMounted(() => {
getinfo();
});
</script>
<style lang="scss" scoped>

@ -582,7 +582,7 @@ const submit = () => {
}
commonality
.submitTask({ module: "人工智能", numberOfErrors: IncorrectScoring.value > 10 ? 10 : IncorrectScoring.value || 0, taskName: "机器学习", userId: JSON.parse(getUserInfo()).userId })
.submitTask({ module: "人工智能", numberOfErrors: IncorrectScoring.value > 10 ? 10 : IncorrectScoring.value || 0, taskName: "机器学习", userId: JSON.parse(getUserInfo()).userId })
.then((response) => {
proxy.$modal.msgSuccess("提交任务成功");
restartStatus.value = false;

@ -421,10 +421,11 @@ const handleChange = (info) => {
fileList.value.push(info);
};
const flag = ref(false);
onMounted(() => {
getList();
optionData()
setTimeout(() => {
optionData()
},200)
});
const optionData = () => {
API.viewingMetrics({ userId: JSON.parse(getUserInfo()).userId, tableName: input.value, algorithmName: "关联规则挖掘" }).then((res) => {

@ -552,7 +552,7 @@ const cerateGrade = () => {
}
const score = parseFloat(item.scoringCriteria);
tableData4.value[2].scoringCriteria = `${score}分/道`;
tableData4.value[2].completionStatus = `${time.value}`;
tableData4.value[2].completionStatus = `${time.value}`;
tableData4.value[2].scoreProject = item.scoreProject;
tableData4.value[2].scoreWeight = weight2;
tableData4.value[2].schedule = item.schedule + "%";
@ -573,7 +573,9 @@ const cerateGrade = () => {
if (isUpdate.value) {
return;
}
tableData.value.push(...tableData3);
console.log(tableData.value);
calculateAverageScore();
});
};

@ -249,13 +249,10 @@ import { onMounted } from "vue";
}
});
mlistLength.value = res.data.length;
})
};
const answer = ref([]);
// const checkboxGroup = ref([]);
const ifShow=(item,item2)=>{
if(item.rightOrWrong===''||item.rightOrWrong===null){
return false
@ -351,9 +348,9 @@ import { onMounted } from "vue";
const transformedData = {
stuLearningAssessmentScoreDTO: {
userId: JSON.parse(getUserInfo()).userId,
module:'112',
learningProjects: "学习测评",
assessmentItems: "客观题测试",
module:'数字营销',
stuLearningAssessmentDTOS: mlistArray.map((item) => {
return {
topicId: item.topicId,

@ -1050,41 +1050,11 @@ const saveData = () => {
stepSevenA: step4Params3.value,
stepSevenB: step4Params4.value,
stepSevenC: step5Params.value,
// stepSevenD: step4Data.value[1].params1,
// stepEightA: step4Data.value[2].params1,
// stepEightB: step4Data.value[3].params1,
// stepEightC: step4Data.value[4].params1,
// stepEightD: step4Data.value[5].params1,
// stepNineA: step4Data.value[6].params1,
// stepNineB: step4Data.value[7].params1,
// stepNineC: step4Data.value[8].params1,
// stepNineD: step4Data.value[9].params1,
// stepTenA: step4DataTable2.value[0].params1,
// stepTenB: step4DataTable2.value[1].params1,
// stepTenC: analysisConclusionStep1.value,
// stepTenD: analysisConclusionStep2.value,
// stepElevenA: analysisConclusionStep3.value,
// stepOneA: analysisConclusionStep4.value,
// stepOneB: step1Data.value[8].params3,
// stepOneC: step1Data.value[9].params1,
// stepOneD: step1Data.value[9].params2,
// stepTwoA: step1Data.value[9].params3,
// stepTwoB: step4Data.value[6].params2,
// stepTwoC: step5DataTable2.value[0].params,
// stepThreeA: step5DataTable2.value[1].params,
// stepThreeB: step5DataTable2.value[2].params,
// stepThreeC: step5DataTable2.value[3].params,
// stepThreeD: step5DataTable2.value[4].params,
// stepFourA: step5DataTable3.value[0].params1,
// stepFourB: step5DataTable3.value[0].params2,
// stepFourC: step5DataTable3.value[1].params1,
// stepFourD: step5DataTable3.value[1].params2,
// stepNewOne: step5DataTable3.value[2].params1,
// stepNewTwo: step5DataTable3.value[2].params2,
// stepNewThree: step5DataTable3.value[3].params1,
// stepNewFive: step5DataTable3.value[3].params2,
// stepNewSix: step5DataTable3.value[4].params1,
// stepNewEight: step5DataTable3.value[4].params2,
stepNewEleven: step1AnswerFlag.value,
stepNewShier: step2AnswerFlag.value,
stepNewShisan: step3AnswerFlag.value,
stepNewShisi: step4AnswerFlag.value,
stepNewShiwu: step5AnswerFlag.value,
};
portraitModel
.saveData({
@ -1108,41 +1078,11 @@ const saveSubmitData = () => {
stepSevenA: step4Params3.value,
stepSevenB: step4Params4.value,
stepSevenC: step5Params.value,
// stepSevenD: step4Data.value[1].params1,
// stepEightA: step4Data.value[2].params1,
// stepEightB: step4Data.value[3].params1,
// stepEightC: step4Data.value[4].params1,
// stepEightD: step4Data.value[5].params1,
// stepNineA: step4Data.value[6].params1,
// stepNineB: step4Data.value[7].params1,
// stepNineC: step4Data.value[8].params1,
// stepNineD: step4Data.value[9].params1,
// stepTenA: step4DataTable2.value[0].params1,
// stepTenB: step4DataTable2.value[1].params1,
// stepTenC: analysisConclusionStep1.value,
// stepTenD: analysisConclusionStep2.value,
// stepElevenA: analysisConclusionStep3.value,
// stepOneA: analysisConclusionStep4.value,
// stepOneB: step1Data.value[8].params3,
// stepOneC: step1Data.value[9].params1,
// stepOneD: step1Data.value[9].params2,
// stepTwoA: step1Data.value[9].params3,
// stepTwoB: step4Data.value[6].params2,
// stepTwoC: step5DataTable2.value[0].params,
// stepThreeA: step5DataTable2.value[1].params,
// stepThreeB: step5DataTable2.value[2].params,
// stepThreeC: step5DataTable2.value[3].params,
// stepThreeD: step5DataTable2.value[4].params,
// stepFourA: step5DataTable3.value[0].params1,
// stepFourB: step5DataTable3.value[0].params2,
// stepFourC: step5DataTable3.value[1].params1,
// stepFourD: step5DataTable3.value[1].params2,
// stepNewOne: step5DataTable3.value[2].params1,
// stepNewTwo: step5DataTable3.value[2].params2,
// stepNewThree: step5DataTable3.value[3].params1,
// stepNewFive: step5DataTable3.value[3].params2,
// stepNewSix: step5DataTable3.value[4].params1,
// stepNewEight: step5DataTable3.value[4].params2,
stepNewEleven: step1AnswerFlag.value,
stepNewShier: step2AnswerFlag.value,
stepNewShisan: step3AnswerFlag.value,
stepNewShisi: step4AnswerFlag.value,
stepNewShiwu: step5AnswerFlag.value,
};
portraitModel
.saveData({
@ -1172,41 +1112,11 @@ const getData = () => {
step4Params3.value = res.data.stepSevenA;
step4Params4.value = res.data.stepSevenB;
step5Params.value = res.data.stepSevenC;
// step4Data.value[1].params1 = res.data.stepSevenD;
// step4Data.value[2].params1 = res.data.stepEightA;
// step4Data.value[3].params1 = res.data.stepEightB;
// step4Data.value[4].params1 = res.data.stepEightC;
// step4Data.value[5].params1 = res.data.stepEightD;
// step4Data.value[6].params1 = res.data.stepNineA;
// step4Data.value[7].params1 = res.data.stepNineB;
// step4Data.value[8].params1 = res.data.stepNineC;
// step4Data.value[9].params1 = res.data.stepNineD;
// step4DataTable2.value[0].params1 = res.data.stepTenA;
// step4DataTable2.value[1].params1 = res.data.stepTenB;
// analysisConclusionStep1.value = res.data.stepTenC;
// analysisConclusionStep2.value = res.data.stepTenD;
// analysisConclusionStep3.value = res.data.stepElevenA;
// analysisConclusionStep4.value = res.data.stepOneA;
// step1Data.value[8].params3 = res.data.stepOneB;
// step1Data.value[9].params1 = res.data.stepOneC;
// step1Data.value[9].params2 = res.data.stepOneD;
// step1Data.value[9].params3 = res.data.stepTwoA;
// step4Data.value[6].params2 = res.data.stepTwoB;
// step5DataTable2.value[0].params = res.data.stepTwoC;
// step5DataTable2.value[1].params = res.data.stepThreeA;
// step5DataTable2.value[2].params = res.data.stepThreeB;
// step5DataTable2.value[3].params = res.data.stepThreeC;
// step5DataTable2.value[4].params = res.data.stepThreeD;
// step5DataTable3.value[0].params1 = res.data.stepFourA;
// step5DataTable3.value[0].params2 = res.data.stepFourB;
// step5DataTable3.value[1].params1 = res.data.stepFourC;
// step5DataTable3.value[1].params2 = res.data.stepFourD;
// step5DataTable3.value[2].params1 = res.data.stepNewOne;
// step5DataTable3.value[2].params2 = res.data.stepNewTwo;
// step5DataTable3.value[3].params1 = res.data.stepNewThree;
// step5DataTable3.value[3].params2 = res.data.stepNewFive;
// step5DataTable3.value[4].params1 = res.data.stepNewSix;
// step5DataTable3.value[4].params2 = res.data.stepNewEight;
step1AnswerFlag.value = res.data.stepNewEleven;
step2AnswerFlag.value = res.data.stepNewShier;
step3AnswerFlag.value = res.data.stepNewShisan;
step4AnswerFlag.value = res.data.stepNewShisi;
step5AnswerFlag.value = res.data.stepNewShiwu;
//
if (res.data.subState & (res.data.subState == 1)) {
showAnswerFlag.value = true;
@ -1243,12 +1153,6 @@ const submitData = () => {
};
const retrain = () => {
showAnswerFlag.value = false;
// portraitModel
// .retrain({
// userId: JSON.parse(getUserInfo()).userId,
// module: "AARRR",
// })
// .then((res) => {
proxy.$modal.msgSuccess("重新实训成功");
step1Params1.value = "";
step1Params2.value = "";
@ -1261,8 +1165,6 @@ const retrain = () => {
step4Params3.value = "";
step4Params4.value = "";
step5Params.value = "";
// })
// .catch((error) => {});
};
defineExpose({
submitData,

@ -966,6 +966,10 @@ const saveDataSubmit = () => {
stepOneA: lineData.value[1],
stepOneB: lineData.value[2],
stepOneC: lineData.value[3],
stepNewEleven: step1AnswerFlag.value,
stepNewShier: step2AnswerFlag.value,
stepNewShisan: step3AnswerFlag.value,
stepNewShisi: step4AnswerFlag.value,
// stepTenA: step4Data.value[1].params2,
// stepTenB: step4Data.value[1].params3,
// stepTenC: step4Data.value[2].params1,
@ -1004,6 +1008,16 @@ const getData = () => {
module: "帕累托/ABC分析",
})
.then((res) => {
// stepNewEleven: step1AnswerFlag.value,
// stepNewShier: step2AnswerFlag.value,
// stepNewShisan: step3AnswerFlag.value,
// stepNewShisi: step4AnswerFlag.value,
//
step1AnswerFlag.value = res.data.stepNewEleven;
step2AnswerFlag.value = res.data.stepNewShier;
step3AnswerFlag.value = res.data.stepNewShisan;
step4AnswerFlag.value = res.data.stepNewShisi;
step1Data.value[0].params = res.data.stepFiveA;
step1Data.value[0].params = res.data.stepFiveA;
step1Data.value[1].params = res.data.stepFiveB;
step1Data.value[2].params = res.data.stepFiveC;

@ -842,6 +842,10 @@ const saveDataSubmit = () => {
stepOneB: step4Data.value[3].params,
stepOneC: step4Data.value[4].params,
stepOneD: step4Data.value[5].params,
stepNewEleven: step1AnswerFlag.value,
stepNewShier: step2AnswerFlag.value,
stepNewShisan: step3AnswerFlag.value,
stepNewShisi: step4AnswerFlag.value,
// stepTwoA: step6Data.value[0].params2,
// stepTwoB: step6Data.value[0].params3,
// stepTwoC: step6Data.value[1].params1,
@ -903,6 +907,12 @@ const getData = () => {
step4Data.value[3].params = res.data.stepOneB;
step4Data.value[4].params = res.data.stepOneC;
step4Data.value[5].params = res.data.stepOneD;
//
step1AnswerFlag.value = res.data.stepNewEleven;
step2AnswerFlag.value = res.data.stepNewShier;
step3AnswerFlag.value = res.data.stepNewShisan;
step4AnswerFlag.value = res.data.stepNewShisi;
// step6Data.value[0].params2 = res.data.stepTwoA;
// step6Data.value[0].params3 = res.data.stepTwoB;
// step6Data.value[1].params1 = res.data.stepTwoC;

@ -1358,7 +1358,6 @@ const step1Submit = () => {
} else {
step1Data.value[3].isError2 = false;
}
console.log(step1Error.value, "错误数");
proxy.$modal.msgSuccess("提交成功");
step1AnswerFlag.value = true;
for (let k in step1Data.value) {
@ -1517,7 +1516,6 @@ const submitData = () => {
return;
}
errorNum.value = step1Error.value + step2Error.value + step3Error.value + step4Error.value + step5Error.value;
console.log(errorNum.value, "总错误次数");
if(errorNum.value > 5){
errorNum.value = 5
}
@ -1557,6 +1555,7 @@ const saveData = () => {
stepNineB: optionStep5.value.series[0].markArea.data[1][0].itemStyle.color,
stepNineC: optionStep5.value.series[0].markArea.data[2][0].itemStyle.color,
stepNineD: optionStep5.value.series[0].markArea.data[3][0].itemStyle.color,
// stepTenA: step2Data.value[14].params,
// stepTenB: step2Data.value[15].params,
// stepTenC: step2Data.value[16].params,
@ -1615,6 +1614,11 @@ const saveDataSubmit = () => {
stepNineB: optionStep5.value.series[0].markArea.data[1][0].itemStyle.color,
stepNineC: optionStep5.value.series[0].markArea.data[2][0].itemStyle.color,
stepNineD: optionStep5.value.series[0].markArea.data[3][0].itemStyle.color,
stepNewEleven: step1AnswerFlag.value,
stepNewShier: step2AnswerFlag.value,
stepNewShisan: step3AnswerFlag.value,
stepNewShisi: step4AnswerFlag.value,
stepNewShiwu: step5AnswerFlag.value,
// stepTenA: step2Data.value[14].params,
// stepTenB: step2Data.value[15].params,
// stepTenC: step2Data.value[16].params,
@ -1660,6 +1664,16 @@ const getData = () => {
})
.then((res) => {
if (res.data) {
// stepNewEleven: step1AnswerFlag.value,
// stepNewShier: step2AnswerFlag.value,
// stepNewShisan: step3AnswerFlag.value,
// stepNewShisi: step4AnswerFlag.value,
// stepNewShiwu: step5AnswerFlag.value,
step1AnswerFlag.value = res.data.stepNewEleven;
step2AnswerFlag.value = res.data.stepNewShier;
step3AnswerFlag.value = res.data.stepNewShisan;
step4AnswerFlag.value = res.data.stepNewShisi;
step5AnswerFlag.value = res.data.stepNewShiwu;
step1Data.value[0].params1 = res.data.stepFiveA;
step1Data.value[0].params2 = res.data.stepFiveB;
step1Data.value[1].params1 = res.data.stepFiveC;

@ -606,7 +606,7 @@ onBeforeUnmount(() => {
});
onMounted(() => {
getData();
initEchart()
initEchart();
});
const initEchart = () => {
option.value = {
@ -957,6 +957,10 @@ const getData = () => {
module: "转化分析-漏斗模型",
})
.then((res) => {
//
step1AnswerFlag.value = res.data.stepNewEleven;
step2AnswerFlag.value = res.data.stepNewShier;
step3AnswerFlag.value = res.data.stepNewShisan;
step1Data.value[1].params1 = res.data.stepFiveA;
step1Data.value[1].params2 = res.data.stepFiveB;
step1Data.value[1].params3 = res.data.stepFiveC;
@ -979,15 +983,10 @@ const getData = () => {
step2Select5.value = res.data.stepNineD;
step3Select1.value = res.data.stepTenA;
step3Select2.value = res.data.stepTenB;
funnelYAxis.value[4] = step2Select1.value;
funnelYAxis.value[3] = step2Select2.value;
funnelYAxis.value[2] = step2Select3.value;
funnelYAxis.value[1] = step2Select4.value;
funnelYAxis.value[0] = step2Select5.value;
funnelData.value[0] = res.data.stepTenC;
funnelData.value[1] = res.data.stepTenD;
@ -1096,14 +1095,14 @@ const getData = () => {
.catch((error) => {});
};
const submitData = () => {
if (!step1AnswerFlag.value || !step2AnswerFlag.value || !step3AnswerFlag.value) {
proxy.$modal.msgError("请先完成所有步骤!");
return;
}
// if (!step1AnswerFlag.value || !step2AnswerFlag.value || !step3AnswerFlag.value) {
// proxy.$modal.msgError("");
// return;
// }
errorNum.value = step1Error.value + step2Error.value + step3Error.value;
console.log(errorNum.value, "总错误次数");
if(errorNum.value > 5){
errorNum.value = 5
if (errorNum.value > 5) {
errorNum.value = 5;
}
portraitModel
.submit({
@ -1149,6 +1148,9 @@ const saveDataSubmit = () => {
stepElevenA: funnelData.value[2],
stepOneA: funnelData.value[3],
stepOneB: funnelData.value[4],
stepNewEleven: step1AnswerFlag.value,
stepNewShier: step2AnswerFlag.value,
stepNewShisan: step3AnswerFlag.value,
// stepTenC: step4Data.value[2].params1,
// stepTenD: step4Data.value[2].params2,
// stepElevenA: step4Data.value[2].params3,
@ -1220,7 +1222,7 @@ const openKnowledge = () => {
// startCount();
};
const handlClose = () => {
console.log('123');
console.log("123");
dialogVisible.value = false;
if (timer.value) {
clearInterval(timer.value);

@ -1022,6 +1022,8 @@ const saveData = () => {
stepNewOne: step2Data.value[34].params,
stepNewTwo: step2Data.value[35].params,
stepNewThree: step2Data.value[36].params,
stepNewEleven: step1AnswerFlag.value,
stepNewShier: step2AnswerFlag.value,
// stepNewFive: step5DataTable3.value[3].params2,
// stepNewSix: step5DataTable3.value[4].params1,
// stepNewEight: step5DataTable3.value[4].params2,
@ -1080,6 +1082,8 @@ const saveSubmitData = () => {
stepNewOne: step2Data.value[34].params,
stepNewTwo: step2Data.value[35].params,
stepNewThree: step2Data.value[36].params,
stepNewEleven: step1AnswerFlag.value,
stepNewShier: step2AnswerFlag.value,
// stepNewFive: step5DataTable3.value[3].params2,
// stepNewSix: step5DataTable3.value[4].params1,
// stepNewEight: step5DataTable3.value[4].params2,
@ -1101,6 +1105,8 @@ const getData = () => {
module: "用户画像分析",
})
.then((res) => {
step1AnswerFlag.value = res.data.stepNewEleven;
step2AnswerFlag.value = res.data.stepNewShier;
step1SelectParams1.value = res.data.stepFiveA;
step1SelectParams2.value = res.data.stepFiveB;
step1SelectParams3.value = res.data.stepFiveC;

@ -285,7 +285,7 @@
<el-option label="C" value="C" />
<el-option label="D" value="D" /> -->
</el-select>
<div v-if="showAnswerFlag & (scope.$index < 2)" style="margin-left: 3px; display: inline-block">
<div v-if="showAnswerFlag " style="margin-left: 3px; display: inline-block">
<span v-if="scope.row.isError" style="color: red">X</span>
<span v-if="!scope.row.isError" style="color: #00bb00"></span>
</div>
@ -1809,6 +1809,8 @@ const saveData = () => {
stepNewFive: step5DataTable3.value[3].params2,
stepNewSix: step5DataTable3.value[4].params1,
stepNewEight: step5DataTable3.value[4].params2,
};
portraitModel
.saveData({
@ -1867,6 +1869,10 @@ const saveSubmitData = () => {
stepNewFive: step5DataTable3.value[3].params2,
stepNewSix: step5DataTable3.value[4].params1,
stepNewEight: step5DataTable3.value[4].params2,
stepNewEleven: step1AnswerFlag.value,
stepNewShier: step2AnswerFlag.value,
stepNewShisan: step5AnswerFlag.value,
stepNewShisi: step4AnswerFlag.value,
};
portraitModel
.saveData({
@ -1885,6 +1891,16 @@ const getData = () => {
module: "复购分析",
})
.then((res) => {
// stepNewEleven: step1AnswerFlag.value,
// stepNewShier: step2AnswerFlag.value,
// stepNewShisan: step5AnswerFlag.value,
// stepNewShisi: step4AnswerFlag.value,
//
step1AnswerFlag.value = res.data.stepNewEleven;
step2AnswerFlag.value = res.data.stepNewShier;
step5AnswerFlag.value = res.data.stepNewShisan;
step4AnswerFlag.value = res.data.stepNewShisi;
//
step1Data.value[0].params = res.data.stepFiveA;
step1Data.value[1].params = res.data.stepFiveB;
step1Data.value[2].params = res.data.stepFiveC;
@ -1935,7 +1951,6 @@ const getData = () => {
draw();
// console.log(132);
}
//
if (res.data.subState & (res.data.subState == 1)) {
showAnswerFlag.value = true;
@ -2097,13 +2112,12 @@ const getData = () => {
} else {
step4Data.value[6].isError2 = false;
}
if (step5DataTable2.value[0].params && step5DataTable2.value[0].params != "裤子" && step5DataTable2.value[0].params != "外套") {
if (step5DataTable2.value[0].params && step5DataTable2.value[0].params != "裤子" && step5DataTable2.value[1].params != "外套") {
step5DataTable2.value[0].isError = true;
} else {
step5DataTable2.value[0].isError = false;
}
if (step5DataTable2.value[1].params && step5DataTable2.value[1].params != "衬衫" && step5DataTable2.value[1].params != "短袖" && step5DataTable2.value[1].params != "睡衣") {
if (step5DataTable2.value[1].params && step5DataTable2.value[2].params != "衬衫" && step5DataTable2.value[3].params != "短袖" && step5DataTable2.value[4].params != "睡衣") {
step5DataTable2.value[1].isError = true;
} else {
step5DataTable2.value[1].isError = false;
@ -2174,14 +2188,14 @@ const downloadData = () => {
window.open(baseUrl + "/api/downDataByUserPortrait/analysisByRepurchase");
};
const submitData = () => {
if (!step1AnswerFlag.value || !step2AnswerFlag.value || !step4AnswerFlag.value || !step5AnswerFlag.value) {
proxy.$modal.msgError("请先完成所有步骤!");
return;
}
// if (!step1AnswerFlag.value || !step2AnswerFlag.value || !step4AnswerFlag.value || !step5AnswerFlag.value) {
// proxy.$modal.msgError("");
// return;
// }
errorNum.value = step1Error.value + step2Error.value + step4Error.value + step5Error.value;
console.log(errorNum.value, "总错误次数");
if(errorNum.value > 5){
errorNum.value = 5
if (errorNum.value > 5) {
errorNum.value = 5;
}
portraitModel
.submit({
@ -2239,7 +2253,7 @@ const openKnowledge = () => {
// startCount();
};
const handlClose = () => {
console.log('123');
console.log("123");
dialogVisible.value = false;
if (timer.value) {
clearInterval(timer.value);

@ -1522,6 +1522,9 @@ const saveData = () => {
stepEightD: step2Data.value[0].params3,
stepNineA: step2Data.value[0].params4,
stepNineB: dayValue.value,
stepNewEleven: step1AnswerFlag.value,
stepNewShier: step2AnswerFlag.value,
stepNewShisan: step3AnswerFlag.value,
// stepNineC: step1Data.value[18].params,
// stepNineD: step1Data.value[19].params,
// stepTenA: step2Data.value[0].params,
@ -1580,6 +1583,9 @@ const saveSubmitData = () => {
stepEightD: step2Data.value[0].params3,
stepNineA: step2Data.value[0].params4,
stepNineB: dayValue.value,
stepNewEleven: step1AnswerFlag.value,
stepNewShier: step2AnswerFlag.value,
stepNewShisan: step3AnswerFlag.value,
// stepNineC: step1Data.value[18].params,
// stepNineD: step1Data.value[19].params,
// stepTenA: step2Data.value[0].params,
@ -1644,6 +1650,9 @@ const getData = () => {
step2Data.value[0].params3 = res.data.stepEightD;
step2Data.value[0].params4 = res.data.stepNineA;
dayValue.value = res.data.stepNineB;
step1AnswerFlag.value = res.data.stepNewEleven;
step2AnswerFlag.value = res.data.stepNewShier;
step3AnswerFlag.value = res.data.stepNewShisan;
// step1Data.value[18].params = res.data.stepNineC;
// step1Data.value[19].params = res.data.stepNineD;
// step2Data.value[0].params = res.data.stepTenA;
@ -1715,8 +1724,8 @@ const submitData = () => {
}
errorNum.value = step1Error.value + step2Error.value + step3Error.value;
console.log(errorNum.value, "总错误次数");
if(errorNum.value > 5){
errorNum.value = 5
if (errorNum.value > 5) {
errorNum.value = 5;
}
portraitModel
.submit({
@ -1740,20 +1749,20 @@ const retrain = () => {
// module: "",
// })
// .then((res) => {
proxy.$modal.msgSuccess("重新实训成功");
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) => {});
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,
@ -1765,7 +1774,7 @@ const openKnowledge = () => {
// startCount();
};
const handlClose = () => {
console.log('123');
console.log("123");
dialogVisible.value = false;
if (timer.value) {
clearInterval(timer.value);

@ -808,8 +808,6 @@ const step2Submit = () => {
return;
}
}
// let stepError2 = 0;
console.log(555);
if (step2Data.value[0].params1 && step2Data.value[0].params1 !== "4") {
stepError2.value++;
step2Data.value[0].isError1 = true;
@ -1121,8 +1119,8 @@ const submitData = () => {
})
.then((res) => {
proxy.$modal.msgSuccess("提交成功");
showAnswerFlag.value = true;
saveDataSubmit();
showAnswerFlag.value = true;
})
.catch((error) => {});
};
@ -1220,6 +1218,12 @@ const saveDataSubmit = () => {
stepFourB: step7Data.value[0].params,
stepFourC: step7Data.value[1].params,
stepFourD: step7Data.value[2].params,
stepNewEleven: step1AnswerFlag.value,
stepNewShier: step2AnswerFlag.value,
stepNewShisan: step4AnswerFlag.value,
stepNewShisi: step5AnswerFlag.value,
stepNewShiwu: step6AnswerFlag.value,
stepNewShiliu: step7AnswerFlag.value,
};
portraitModel
.saveData({
@ -1305,6 +1309,13 @@ const getData = () => {
step6Data.value[3].data3 = step5Data.value[0].params1;
step6Data.value[3].data4 = step5Data.value[0].params2;
step6Data.value[3].data5 = step5Data.value[0].params3;
//
step1AnswerFlag.value = res.data.stepNewEleven;
step2AnswerFlag.value = res.data.stepNewShier;
step4AnswerFlag.value = res.data.stepNewShisan;
step5AnswerFlag.value = res.data.stepNewShisi;
step6AnswerFlag.value = res.data.stepNewShiwu;
step7AnswerFlag.value = res.data.stepNewShiliu;
//
if (res.data.subState & (res.data.subState == 1)) {
showAnswerFlag.value = true;
@ -1458,9 +1469,9 @@ const getData = () => {
step6Data.value[1].isError2 = false;
}
if (step6Data.value[1].params3 && step6Data.value[1].params3 !== "高") {
step6Data.value[1].isError3 = true;
} else {
step6Data.value[1].isError3 = false;
} else {
step6Data.value[1].isError3 = true;
}
if (step6Data.value[2].params1 && step6Data.value[2].params1 !== "高") {
step6Data.value[2].isError1 = true;

@ -19,7 +19,7 @@ https://blog.csdn.net/kevin1993best/article/details/106329573"
<div class="caseBack">
<div class="title">
<img src="@/assets/images/caseIcon.png" alt="" />
<span>案例背景</span>
<span>案例背景</span>
</div>
<span style="line-height: 25px; font-size: 14px">
用户粘性分析是一种衡量用户对产品或服务的忠诚度和黏性程度的分析方法它帮助企业了解用户的行为习惯使用频率和留存率以评估用户对产品或服务的依赖程度和忠诚度用户粘性分析模型通常包括以下指标活跃用户数留存率使用频率用户转化率用户流失率
@ -1378,7 +1378,6 @@ const drawEcharts = () => {
var chartDom = document.getElementById("echartsDom");
var myChart = echarts.init(chartDom, "dark");
var option;
option = {
title: {
text: "日活跃分析图",
@ -1631,6 +1630,10 @@ const saveData = () => {
stepTenD: analysisConclusionStep2.value,
stepElevenA: analysisConclusionStep3.value,
stepOneA: analysisConclusionStep4.value,
stepNewEleven: step1AnswerFlag.value,
stepNewShier: step2AnswerFlag.value,
stepNewShisan: step3AnswerFlag.value,
stepNewShisi: step4AnswerFlag.value,
// stepOneB: step1Data.value[8].params3,
// stepOneC: step1Data.value[9].params1,
// stepOneD: step1Data.value[9].params2,
@ -1699,6 +1702,10 @@ const saveSubmitData = () => {
stepTenD: analysisConclusionStep2.value,
stepElevenA: analysisConclusionStep3.value,
stepOneA: analysisConclusionStep4.value,
stepNewEleven: step1AnswerFlag.value,
stepNewShier: step2AnswerFlag.value,
stepNewShisan: step3AnswerFlag.value,
stepNewShisi: step4AnswerFlag.value,
// stepOneB: step1Data.value[8].params3,
// stepOneC: step1Data.value[9].params1,
// stepOneD: step1Data.value[9].params2,
@ -1771,6 +1778,10 @@ const getData = () => {
analysisConclusionStep2.value = res.data.stepTenD;
analysisConclusionStep3.value = res.data.stepElevenA;
analysisConclusionStep4.value = res.data.stepOneA;
step1AnswerFlag.value = res.data.stepNewEleven;
step2AnswerFlag.value = res.data.stepNewShier;
step3AnswerFlag.value = res.data.stepNewShisan;
step4AnswerFlag.value = res.data.stepNewShisi;
// step1Data.value[8].params3 = res.data.stepOneB;
// step1Data.value[9].params1 = res.data.stepOneC;
// step1Data.value[9].params2 = res.data.stepOneD;
@ -1794,7 +1805,7 @@ const getData = () => {
//
if (res.data.subState & (res.data.subState == 1)) {
showAnswerFlag.value = true;
drawEcharts();
drawEcharts();
for (let i in step1Data.value) {
if (step1Data.value[i].params1 != step1RightAnswer.value[i].activeNum) {
step1Data.value[i].isError1 = true;

Loading…
Cancel
Save