-- 任务

This commit is contained in:
yuping
2022-11-30 23:41:47 +08:00
parent 4e7f47034f
commit e3b5aa9546

View File

@@ -1,19 +1,19 @@
<template>
<a-drawer
:visible="addevalVisible"
class="drawerStyle addevalDrawer"
width="80%"
title="添加测评"
placement="right"
@after-visible-change="afterVisibleChange"
:visible="addevalVisible"
class="drawerStyle addevalDrawer"
width="80%"
title="添加测评"
placement="right"
@after-visible-change="afterVisibleChange"
>
<div class="drawerMain">
<div class="header">
<div class="headerTitle">{{ edit ? "编辑" : "添加" }}测评</div>
<img
style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png"
@click="closeDrawer"
style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png"
@click="closeDrawer"
/>
</div>
<div class="contentMain">
@@ -22,18 +22,18 @@
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div>
<span style="margin-right: 3px">测评名称</span>
</div>
<div class="btnbox">
<a-input
v-model:value="inputV1"
style="width: 424px; height: 32px"
placeholder="请输入测评名称"
maxlength="20"
v-model:value="inputV1"
style="width: 424px; height: 32px"
placeholder="请输入测评名称"
maxlength="20"
/>
</div>
</div>
@@ -41,8 +41,8 @@
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div>
<span style="margin-right: 3px">选择测评</span>
@@ -53,11 +53,11 @@
</button>
<span style="margin-left: 10px">
<a-tag
class="tag-style"
v-if="evaluationTypeName !== ''"
:closable="true"
@close="delTag"
>{{ evaluationTypeName }}</a-tag
class="tag-style"
v-if="evaluationTypeName !== ''"
:closable="true"
@close="delTag"
>{{ evaluationTypeName }}</a-tag
>
</span>
</div>
@@ -68,10 +68,10 @@
</div>
<div class="btnbox">
<a-range-picker
style="width: 424px"
v-model:value="time"
format="YYYY-MM-DD HH:mm:ss"
:placeholder="[' 开始时间', ' 结束时间']"
style="width: 424px"
v-model:value="time"
format="YYYY-MM-DD HH:mm:ss"
:placeholder="[' 开始时间', ' 结束时间']"
/>
</div>
</div>
@@ -81,10 +81,10 @@
</div>
<div class="textarea">
<a-textarea
v-model:value="description"
placeholder="请输入测评说明"
style="width: 424px; height: 120px"
allowClear
v-model:value="description"
placeholder="请输入测评说明"
style="width: 424px; height: 120px"
allowClear
/>
</div>
</div>
@@ -96,9 +96,9 @@
</div>
</div>
<EvList
v-model:EvalListVisible="EvalListVisible"
v-model:evaluationTypeName="evaluationTypeName"
@getEvListData="checkFinish"
v-model:EvalListVisible="EvalListVisible"
v-model:evaluationTypeName="evaluationTypeName"
@getEvListData="checkFinish"
/>
<!-- <div class="aeLoading" :style="{display:addLoading?'flex':'none'}">
<a-spin :spinning="addLoading" tip="添加中..." />
@@ -106,15 +106,16 @@
</a-drawer>
</template>
<script>
import { reactive, toRefs } from "vue";
import {reactive, toRefs} from "vue";
// import { useRouter } from "vue-router";
import EvList from "./EvList.vue";
import * as api from "../../api/indexEval";
import * as apitaskadd from "../../api/indexTaskadd";
import { message } from "ant-design-vue";
import { RouterEditTask } from "@/api/indexTask";
import {message} from "ant-design-vue";
import {RouterEditTask} from "@/api/indexTask";
import dayjs from "dayjs";
import { addTempTask } from "../../api/indexTaskadd";
import {addTempTask} from "../../api/indexTaskadd";
export default {
name: "AddEval",
components: {
@@ -172,9 +173,9 @@ export default {
EvalListVisible: false,
// addLoading:false,
});
const checkFinish = (value)=> {
state.evaluationTypeId = value.quiz_kid ? value.quiz_kid : null
state.evaluationTypeName = value.title ? value.title : ""
const checkFinish = (value) => {
state.evaluationTypeId = value.quiz_kid ? value.quiz_kid : null
state.evaluationTypeName = value.title ? value.title : ""
}
const closeDrawer = () => {
ctx.emit("update:addevalVisible", false);
@@ -183,8 +184,8 @@ export default {
state.time = undefined;
state.description = "";
state.evaluationTypeId = 0,
state.evaluationTypeName = "",
localStorage.setItem("stageId", props.chooseStageId);
state.evaluationTypeName = "",
localStorage.setItem("stageId", props.chooseStageId);
localStorage.setItem("chapterId", props.isactive);
};
const afterVisibleChange = (bool) => {
@@ -201,9 +202,9 @@ export default {
state.evaluationTypeName = "";
};
//向关卡或阶段渲染
const updateTask = (value) => {
const updateTask = async (value) => {
if (props.isLevel == 1) {
RouterEditTask({
await RouterEditTask({
chapterId: props.isactive,
courseId: Number(value.evaluationId),
name: value.evaluationName,
@@ -211,34 +212,34 @@ export default {
routerTaskId: props.routerTaskId || 0,
type: 10,
})
.then(() => {
//message.success(`${props.EditTestId ? "编辑" : "新增"}关卡任务成功`);
})
.catch(() => {
//message.error(`${props.EditTestId ? "编辑" : "新增"}关卡任务失败`);
});
.then(() => {
//message.success(`${props.EditTestId ? "编辑" : "新增"}关卡任务成功`);
})
.catch(() => {
//message.error(`${props.EditTestId ? "编辑" : "新增"}关卡任务失败`);
});
} else if (props.isLevel == 2) {
apitaskadd
.addTask({
duration: 0,
flag: true,
courseId: Number(value.evaluationId),
name: value.evaluationName,
projectId: props.projectId,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId || 0,
type: 10,
})
.then(() => {
message.destroy()
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
})
.catch(() => {
message.destroy()
//message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
});
await apitaskadd
.addTask({
duration: 0,
flag: true,
courseId: Number(value.evaluationId),
name: value.evaluationName,
projectId: props.projectId,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId || 0,
type: 10,
})
.then(() => {
message.destroy()
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
})
.catch(() => {
message.destroy()
//message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
});
} else if (props.isLevel == 3) {
addTempTask({
await addTempTask({
courseId: Number(value.evaluationId),
name: value.evaluationName,
projectTemplateId: props.projectTemplateId,
@@ -246,12 +247,12 @@ export default {
stageId: props.chooseStageId || 0,
type: 10,
})
.then(() => {
//message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
})
.catch(() => {
//message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
});
.then(() => {
//message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
})
.catch(() => {
//message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
});
}
};
//根据id获取测评信息
@@ -260,33 +261,33 @@ export default {
evaluationId: props.EditEvalId,
};
api
.queryEvaluationDetailById(objqi)
.then((res) => {
message.destroy()
message.success("获取测评信息成功");
state.inputV1 = res.data.data.evaluationName
state.evaluationTypeName = res.data.data.evaluationTypeName
state.evaluationTypeId = res.data.data.evaluationTypeId;
state.time = res.data.data.evaluationStartTime ? [
dayjs(res.data.data.evaluationStartTime, "YYYY-MM-DD"),
dayjs(res.data.data.evaluationEndTime, "YYYY-MM-DD"),
] : undefined ;
state.description = res.data.data.evaluationExplain
})
.catch((err) => {
message.destroy()
message.error("获取测量平信息失败");
console.log(err,"erererrerererererer");
});
.queryEvaluationDetailById(objqi)
.then((res) => {
message.destroy()
message.success("获取测评信息成功");
state.inputV1 = res.data.data.evaluationName
state.evaluationTypeName = res.data.data.evaluationTypeName
state.evaluationTypeId = res.data.data.evaluationTypeId;
state.time = res.data.data.evaluationStartTime ? [
dayjs(res.data.data.evaluationStartTime, "YYYY-MM-DD"),
dayjs(res.data.data.evaluationEndTime, "YYYY-MM-DD"),
] : undefined;
state.description = res.data.data.evaluationExplain
})
.catch((err) => {
message.destroy()
message.error("获取测量平信息失败");
console.log(err, "erererrerererererer");
});
}
const creoredit = ()=> {
if(props.edit){
const creoredit = () => {
if (props.edit) {
editInvistText()
}else{
} else {
createEvalText()
}
}
const editInvistText = ()=> {
const editInvistText = () => {
if (!state.inputV1) {
message.destroy();
return message.info("请输入测评名称");
@@ -308,18 +309,18 @@ export default {
updateTime: "",
};
api
.updateEvaluation(objei)
.then((res) => {
updateTask(res.data.data);
closeDrawer();
ctx.emit("changeData", false);
message.destroy();
message.success("创建测评成功");
})
.catch(() => {
message.destroy();
message.success("创建测评失败");
});
.updateEvaluation(objei)
.then(async (res) => {
await updateTask(res.data.data);
closeDrawer();
ctx.emit("changeData", false);
message.destroy();
message.success("创建测评成功");
})
.catch(() => {
message.destroy();
message.success("创建测评失败");
});
}
//创建测评信息
const createEvalText = () => {
@@ -334,29 +335,29 @@ export default {
let obj = {
evaluationName: state.inputV1,
evaluationEndTime: state.time ? dayjs(state.time[1]).format("YYYY-MM-DD") : "",
evaluationId: props.evaluationId ,
evaluationId: props.evaluationId,
evaluationStartTime: state.time ? dayjs(state.time[0]).format("YYYY-MM-DD") : "",
evaluationTypeId: state.evaluationTypeId,
evaluationTypeName: state.evaluationTypeName,
evaluationExplain:state.description,
evaluationExplain: state.description,
evaluationFlag: "",
evaluationPictureAddress: "",
evaluationTag: "",
updateTime: "",
};
api
.createEvaluation(obj)
.then((res) => {
updateTask(res.data.data);
closeDrawer();
ctx.emit("changeData", false);
message.destroy();
message.success("创建测评成功");
})
.catch(() => {
message.destroy();
message.success("创建测评失败");
});
.createEvaluation(obj)
.then(async (res) => {
await updateTask(res.data.data);
closeDrawer();
ctx.emit("changeData", false);
message.destroy();
message.success("创建测评成功");
})
.catch(() => {
message.destroy();
message.success("创建测评失败");
});
};
return {
@@ -380,6 +381,7 @@ export default {
.ant-table-striped :deep(.table-striped) td {
background-color: #fafafa !important;
}
.addevalDrawer {
.drawerMain {
.header {
@@ -389,6 +391,7 @@ export default {
justify-content: space-between;
align-items: center;
flex-shrink: 0;
.headerTitle {
font-size: 18px;
font-weight: 600;
@@ -397,32 +400,39 @@ export default {
margin-left: 24px;
}
}
.contentMain {
display: flex;
justify-content: space-between;
.main_left {
margin-top: 32px;
padding-right: 30px;
flex: 1;
border-right: 1px solid #e8e8e8;
.main_item {
display: flex;
align-items: center;
margin-top: 32px;
margin-bottom: 32px;
.signbox {
width: 120px;
display: flex;
justify-content: end;
align-items: center;
.sign {
margin-right: 5px;
}
}
.btnbox {
display: flex;
flex: 1;
align-items: center;
.checkEval {
cursor: pointer;
width: 130px;
@@ -433,34 +443,41 @@ export default {
margin-left: 15px;
color: #fff;
}
.tag-style {
color: rgb(113, 113, 237);
background-color: #d7d1f7;
}
}
}
.main_item2 {
display: flex;
align-items: flex-start;
margin-bottom: 32px;
.signbox {
width: 120px;
display: flex;
justify-content: end;
align-items: center;
.sign {
margin-right: 5px;
}
}
.kqszbox {
.qdqtbox {
margin-left: 56px;
}
.setbox {
display: flex;
flex-wrap: wrap;
margin-top: 10px;
margin-bottom: 24px;
.timerbox {
margin-top: 6px;
margin-right: 32px;
@@ -470,10 +487,12 @@ export default {
}
}
}
.btnbox2 {
display: flex;
flex-direction: column;
justify-content: flex-start;
.xkbtn {
cursor: pointer;
width: 130px;
@@ -490,6 +509,7 @@ export default {
}
}
}
.main_btns {
height: 72px;
width: 100%;
@@ -499,6 +519,7 @@ export default {
align-items: center;
justify-content: center;
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.16);
.btn1 {
width: 100px;
height: 40px;
@@ -508,6 +529,7 @@ export default {
background-color: #fff;
cursor: pointer;
}
.btn2 {
cursor: pointer;
width: 100px;