feat:合并

This commit is contained in:
lixg
2022-11-30 21:50:07 +08:00
2 changed files with 174 additions and 249 deletions

View File

@@ -1,49 +1,30 @@
<template> <template>
<a-drawer <a-drawer :visible="addfaceteachVisible" class="drawerStyle addfaceteachDrawer" width="90%" title="添加面授"
:visible="addfaceteachVisible" placement="right" @after-visible-change="afterVisibleChange">
class="drawerStyle addfaceteachDrawer"
width="90%"
title="添加面授"
placement="right"
@after-visible-change="afterVisibleChange"
>
<div class="drawerMain"> <div class="drawerMain">
<div class="header"> <div class="header">
<div class="headerTitle">添加面授</div> <div class="headerTitle">添加面授</div>
<img <img style="width: 29px; height: 29px; cursor: pointer" src="../../assets/images/basicinfo/close.png"
style="width: 29px; height: 29px; cursor: pointer" @click="closeDrawer" />
src="../../assets/images/basicinfo/close.png"
@click="closeDrawer"
/>
</div> </div>
<div class="contentMain"> <div class="contentMain">
<div class="main_left"> <div class="main_left">
<div class="main_item"> <div class="main_item">
<div class="signbox"> <div class="signbox">
<div class="sign"> <div class="sign">
<img <img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div> </div>
<span style="margin-right: 3px">课程名称</span> <span style="margin-right: 3px">课程名称</span>
</div> </div>
<div class="btnbox"> <div class="btnbox">
<a-input <a-input v-model:value="courseName" style="width: 384px; height: 32px" placeholder="请输入名称"
v-model:value="courseName" maxlength="20" />
style="width: 384px; height: 32px"
placeholder="请输入名称"
maxlength="20"
/>
</div> </div>
</div> </div>
<div class="main_item"> <div class="main_item">
<div class="signbox"> <div class="signbox">
<div class="sign"> <div class="sign">
<img <img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div> </div>
<span style="margin-right: 3px">选择课程</span> <span style="margin-right: 3px">选择课程</span>
</div> </div>
@@ -51,19 +32,16 @@
<button class="xkbtn"> <button class="xkbtn">
{{ chooseCourse == null ? "选择" : "修改" }}面授课 {{ chooseCourse == null ? "选择" : "修改" }}面授课
</button> </button>
<div v-if = "chooseCourse > 0"> <div v-if="chooseCourse > 0">
<a-tag closable color="processing" @close="logC"> <a-tag closable color="processing" @close="logC">
<span style="font-size:14px;line-height: 33px;" >删除课程</span> <span style="font-size:14px;line-height: 33px;">删除课程</span>
</a-tag></div> </a-tag>
</div>
</div> </div>
<!-- 选择面授侧弹窗 --> <!-- 选择面授侧弹窗 -->
<div> <div>
<sel-facet <sel-facet v-model:selfacetVisible="selfacetvisible" v-model:chooseCourse="chooseCourse" />
v-model:selfacetVisible="selfacetvisible"
v-model:chooseCourse="chooseCourse"
/>
</div> </div>
<!-- 选择面授侧弹窗 --> <!-- 选择面授侧弹窗 -->
</div> </div>
@@ -72,100 +50,59 @@
<span style="margin-right: 3px">面授说明</span> <span style="margin-right: 3px">面授说明</span>
</div> </div>
<div class="textarea"> <div class="textarea">
<a-textarea <a-textarea v-model:value="description" placeholder="请输入说明" allow-clear maxlength="100" />
v-model:value="description"
placeholder="请输入说明"
allow-clear
maxlength="100"
/>
</div> </div>
</div> </div>
<div class="main_item"> <div class="main_item">
<div class="signbox"> <div class="signbox">
<div class="sign"> <div class="sign">
<img <img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div> </div>
<span style="margin-right: 3px">授课教师</span> <span style="margin-right: 3px">授课教师</span>
</div> </div>
<div class="btnbox"> <div class="btnbox">
<a-auto-complete <a-auto-complete v-model:value="memberValue.label" placeholder="选择老师" style="width: 364px"
v-model:value="memberValue.label" :options="options" @search="handleSearch"></a-auto-complete>
show-search
:not-found-content="fetching ? undefined : null"
placeholder="Select a teacher"
style="width: 364px"
:options="options"
@focus="handleFocus"
@blur="handleBlur"
@change="handleChange2"
@popupScroll="templateScroll"
@search="handleSearch"
></a-auto-complete>
</div> </div>
</div> </div>
<div class="main_item"> <div class="main_item">
<div class="signbox"> <div class="signbox">
<div class="sign"> <div class="sign">
<img <img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div> </div>
<span style="margin-right: 3px">面授时间</span> <span style="margin-right: 3px">面授时间</span>
</div> </div>
<div class="btnbox"> <div class="btnbox">
<a-range-picker <a-range-picker v-model:value="chooseTime" :placeholder="[' 开始时间', ' 结束时间']" />
v-model:value="chooseTime"
:placeholder="[' 开始时间', ' 结束时间']"
/>
</div> </div>
</div> </div>
<div class="main_item"> <div class="main_item">
<div class="signbox"> <div class="signbox">
<div class="sign"> <div class="sign">
<img <img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div> </div>
<span style="margin-right: 3px">面授时长</span> <span style="margin-right: 3px">面授时长</span>
</div> </div>
<div class="btnbox"> <div class="btnbox">
<a-input-number <a-input-number :min="0" :max="300" :precision="0" style="
:min="0"
:max="300"
:precision="0"
style="
width: 364px; width: 364px;
height: 32px; height: 32px;
border-radius: 8px; border-radius: 8px;
overflow: hidden; overflow: hidden;
" " v-model:value="duration"></a-input-number>
v-model:value="duration"
></a-input-number>
<span style="margin-left: 5px; width: 30px">分钟</span> <span style="margin-left: 5px; width: 30px">分钟</span>
</div> </div>
</div> </div>
<div class="main_item"> <div class="main_item">
<div class="signbox"> <div class="signbox">
<div class="sign"> <div class="sign">
<img <img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div> </div>
<span style="margin-right: 3px">上课地址</span> <span style="margin-right: 3px">上课地址</span>
</div> </div>
<div class="btnbox"> <div class="btnbox">
<a-input <a-input v-model:value="address" style="width: 384px; height: 32px" placeholder="请输入上课地址"
v-model:value="address" maxlength="100" />
style="width: 384px; height: 32px"
placeholder="请输入上课地址"
maxlength="100"
/>
</div> </div>
</div> </div>
<div class="main_item2"> <div class="main_item2">
@@ -174,42 +111,32 @@
</div> </div>
<div class="kqszbox"> <div class="kqszbox">
<div class="qdqtbox"> <div class="qdqtbox">
<div class="qdbtn"><div class="btntext">签到</div></div> <div class="qdbtn">
<div class="btntext">签到</div>
</div>
</div> </div>
<div class="setbox"> <div class="setbox">
<div class="timerbox"> <div class="timerbox">
<span>开始前</span> <span>开始前</span>
<a-input-number <a-input-number :min="0" :max="300" :precision="0" style="
:min="0"
:max="300"
:precision="0"
style="
width: 100px; width: 100px;
height: 32px; height: 32px;
border-radius: 8px; border-radius: 8px;
overflow: hidden; " overflow: hidden; " v-model:value="before"></a-input-number>
v-model:value="before"
></a-input-number>
<span style="color: #999999; margin-left: 8px">分钟</span> <span style="color: #999999; margin-left: 8px">分钟</span>
</div> </div>
<div class="timerbox"> <div class="timerbox">
<span>开始后</span> <span>开始后</span>
<a-input-number <a-input-number :min="0" :max="300" :precision="0" style="
:min="0"
:max="300"
:precision="0"
style="
width: 100px; width: 100px;
height: 32px; height: 32px;
border-radius: 8px; border-radius: 8px;
overflow: hidden;" overflow: hidden;" v-model:value="afterStartValue"></a-input-number>
v-model:value="afterStartValue"
></a-input-number>
<span style="color: #999999; margin-left: 8px">分钟</span> <span style="color: #999999; margin-left: 8px">分钟</span>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="main_item"> <div class="main_item">
@@ -217,11 +144,11 @@
<span style="margin-right: 3px">完成标准设置</span> <span style="margin-right: 3px">完成标准设置</span>
</div> </div>
<div class="btnbox"> <div class="btnbox">
<a-checkbox v-model:checked="onlySign" @click="onlySign=!onlySign">仅签到</a-checkbox> <a-checkbox v-model:checked="onlySign" @click="onlySign = !onlySign">仅签到</a-checkbox>
</div> </div>
</div> </div>
<div class="main_item"> <div class="main_item">
@@ -229,9 +156,8 @@
<span style="margin-right: 3px">其他设置</span> <span style="margin-right: 3px">其他设置</span>
</div> </div>
<div class="btnbox"> <div class="btnbox">
<a-checkbox v-model:checked="completeLeave" @click="completeLeave=!completeLeave" <a-checkbox v-model:checked="completeLeave"
>学员请假后记为任务完成</a-checkbox @click="completeLeave = !completeLeave">学员请假后记为任务完成</a-checkbox>
>
</div> </div>
</div> </div>
<div class="main_item"> <div class="main_item">
@@ -239,8 +165,9 @@
<span style="margin-right: 3px">现场参与</span> <span style="margin-right: 3px">现场参与</span>
</div> </div>
<div class="btnbox"> <div class="btnbox">
<a-checkbox v-model:checked="innerPersion" @click="innerPersion=!innerPersion">允许项目内人员临时到场参加</a-checkbox> <a-checkbox v-model:checked="innerPersion"
<a-checkbox v-model:checked="outPersion" @click="outPersion=!outPersion">允许项目人员临时到场参加</a-checkbox> @click="innerPersion = !innerPersion">允许项目人员临时到场参加</a-checkbox>
<a-checkbox v-model:checked="outPersion" @click="outPersion = !outPersion">允许项目外人员临时到场参加</a-checkbox>
</div> </div>
</div> </div>
<div class="main_item2"> <div class="main_item2">
@@ -248,24 +175,21 @@
<span style="margin-right: 3px">评估</span> <span style="margin-right: 3px">评估</span>
</div> </div>
<div class="btnbox2"> <div class="btnbox2">
<a-checkbox v-model:checked="needEval" @click="needEval=!needEval" <a-checkbox v-model:checked="needEval" @click="needEval = !needEval">需要评估</a-checkbox>
>需要评估</a-checkbox >
</div> </div>
</div> </div>
<div v-if="needEval" class="main_item"> <div v-if="needEval" class="main_item">
<div class="signbox"> <div class="signbox">
</div> </div>
<div class="btnbox"> <div class="btnbox">
<button class="xkbtn" @click="showAssessment">选择评估</button> <button class="xkbtn" @click="showAssessment">选择评估</button>
<div v-if = "assessmentId >0 "> <div v-if="assessmentId > 0">
<a-tag closable color="processing" @close="logA"> <a-tag closable color="processing" @close="logA">
<span style="font-size:14px;line-height: 33px;" >删除评估</span> <span style="font-size:14px;line-height: 33px;">删除评估</span>
</a-tag></div> </a-tag>
<AssessmentList </div>
v-model:assessmentVisible="assessmentVisible" <AssessmentList v-model:assessmentVisible="assessmentVisible" v-model:titleTag="titleTag"
v-model:titleTag="titleTag" v-model:assessmentId="assessmentId" />
v-model:assessmentId="assessmentId"
/>
</div> </div>
</div> </div>
@@ -279,26 +203,23 @@
</div> </div>
<div class="btnbox" @click="showDrawerAddHomework"> <div class="btnbox" @click="showDrawerAddHomework">
<button class="xkbtn">配置</button> <button class="xkbtn">配置</button>
<div v-if = "EditWorkId >0"> <div v-if="EditWorkId > 0">
<a-tag closable color="processing" @close="logW"> <a-tag closable color="processing" @close="logW">
<span style="font-size:14px;line-height: 33px;" >删除作业</span> <span style="font-size:14px;line-height: 33px;">删除作业</span>
</a-tag></div> </a-tag>
</div>
</div> </div>
<!-- 添加作业侧弹窗 --> <!-- 添加作业侧弹窗 -->
<div> <div>
<add-homework <add-homework v-model:addhomeworkVisible="addhomeworkvisible" @getWork="getWork" :faceLevel="true"
v-model:addhomeworkVisible="addhomeworkvisible" v-model:EditWorkId="EditWorkId" />
@getWork="getWork"
:faceLevel="true"
v-model:EditWorkId="EditWorkId"
/>
</div> </div>
<!-- 添加作业侧弹窗 --> <!-- 添加作业侧弹窗 -->
</div> </div>
<div> <div>
</div> </div>
<div class="main_item"> <div class="main_item">
<div class="signbox"> <div class="signbox">
@@ -306,18 +227,16 @@
</div> </div>
<div class="btnbox" @click="showDrawerAddTest"> <div class="btnbox" @click="showDrawerAddTest">
<button class="xkbtn">配置</button> <button class="xkbtn">配置</button>
<div v-if = "EditTestId >0"> <div v-if="EditTestId > 0">
<a-tag closable color="processing" @close="logT"> <a-tag closable color="processing" @close="logT">
<span style="font-size:14px;line-height: 33px;" >删除考试</span> <span style="font-size:14px;line-height: 33px;">删除考试</span>
</a-tag></div> </a-tag>
</div>
</div> </div>
<!-- 添加考试侧弹窗 --> <!-- 添加考试侧弹窗 -->
<div> <div>
<add-test v-model:addtestVisible="addtestvisible" <add-test v-model:addtestVisible="addtestvisible" v-model:EditTestId="EditTestId" :faceLevel="true" />
v-model:EditTestId ="EditTestId"
:faceLevel="true"
/>
</div> </div>
<!-- 添加考试侧弹窗 --> <!-- 添加考试侧弹窗 -->
</div> </div>
@@ -326,13 +245,8 @@
<span style="margin-right: 3px">附件</span> <span style="margin-right: 3px">附件</span>
</div> </div>
<div class="btnbox"> <div class="btnbox">
<a-upload <a-upload @change="handleChange" action="/manageApi/file/upload" v-model:file-list="fileList">
@change="handleChange" <button class="xkbtn">上传附件</button></a-upload>
action="/manageApi/file/upload"
v-model:file-list="fileList"
>
<button class="xkbtn">上传附件</button></a-upload
>
</div> </div>
</div> </div>
</div> </div>
@@ -341,7 +255,7 @@
<button class="btn1" @click="exitAdd">取消</button> <button class="btn1" @click="exitAdd">取消</button>
<button class="btn2" @click="updateFaceTeach">确定</button> <button class="btn2" @click="updateFaceTeach">确定</button>
</div> </div>
</div> </div>
</a-drawer> </a-drawer>
</template> </template>
@@ -355,7 +269,7 @@ import { ProjectEditTask, RouterEditTask } from "@/api/indexTask";
import { message } from "ant-design-vue"; import { message } from "ant-design-vue";
import { getMemberInfo } from "@/api/index1"; import { getMemberInfo } from "@/api/index1";
import { debounce } from "lodash-es"; import { debounce } from "lodash-es";
import { queryFaceDetailById,editPlan } from "../../api/indexFace"; import { queryFaceDetailById, editPlan } from "../../api/indexFace";
import dayjs from "dayjs"; import dayjs from "dayjs";
import AssessmentList from "../drawers/ AssessmentList.vue"; import AssessmentList from "../drawers/ AssessmentList.vue";
// import { toDate } from "../../api/method";、 // import { toDate } from "../../api/method";、
@@ -414,11 +328,11 @@ export default {
type: Number, type: Number,
default: null, default: null,
}, },
projectTemplateId:{ projectTemplateId: {
type: Number, type: Number,
default: null, default: null,
}, },
}, },
setup(props, ctx) { setup(props, ctx) {
const options = ref([]); const options = ref([]);
@@ -427,8 +341,8 @@ export default {
addhomeworkvisible: false, addhomeworkvisible: false,
addtestvisible: false, addtestvisible: false,
memberValue: { memberValue: {
value:"", value: "",
label:"" label: ""
}, },
fetching: false, fetching: false,
totalPages: 0, totalPages: 0,
@@ -437,45 +351,45 @@ export default {
memberId: 0, memberId: 0,
pageSize: 10, pageSize: 10,
courseName: "", courseName: "",
duration:null, duration: null,
address: null, address: null,
before:null, before: null,
afterStartValue:null, afterStartValue: null,
description: "", description: "",
chooseTime: [], chooseTime: [],
fileList: [], fileList: [],
chooseCourse: null, //选择的在线课程 chooseCourse: null, //选择的在线课程
assessmentId:null, assessmentId: null,
EditTestId:null, EditTestId: null,
EditWorkId:null, EditWorkId: null,
assessmentVisible:false, assessmentVisible: false,
needEval:false, needEval: false,
onlySign:false, onlySign: false,
completeLeave:false, completeLeave: false,
innerPersion:false, innerPersion: false,
outPersion:false, outPersion: false,
}); });
const clear = () => { const clear = () => {
state.courseName = ""; state.courseName = "";
state.memberValue = {}; state.memberValue = {};
state.duration = null; state.duration = null;
state.address = null; state.address = null;
state.before=null; state.before = null;
state.afterStartValue=null; state.afterStartValue = null;
state.chooseTime = []; state.chooseTime = [];
state.description =""; state.description = "";
state.onlySign =false; state.onlySign = false;
state.completeLeave =false; state.completeLeave = false;
state.innerPersion =false; state.innerPersion = false;
state.outPersion =false; state.outPersion = false;
state.chooseCourse = null; state.chooseCourse = null;
state.EditTestId =null; state.EditTestId = null;
state.assessmentId=null; state.assessmentId = null;
state.EditWorkId=null; state.EditWorkId = null;
state.EditEvalId=null; state.EditEvalId = null;
state.applyFlag=""; state.applyFlag = "";
state.needEval=false; state.needEval = false;
}; };
const closeDrawer = () => { const closeDrawer = () => {
ctx.emit("update:addfaceteachVisible", false); ctx.emit("update:addfaceteachVisible", false);
@@ -487,24 +401,24 @@ export default {
if (bool && props.edit) { if (bool && props.edit) {
// 该页面显示同时 edit为true 时,发送查询请求, // 该页面显示同时 edit为true 时,发送查询请求,
queryFaceTeach(); queryFaceTeach();
} }
}; };
const logC= e => { const logC = e => {
state.chooseCourse=null; state.chooseCourse = null;
console.log(e); console.log(e);
}; };
const logW = e => { const logW = e => {
state.EditWorkId=null; state.EditWorkId = null;
console.log(e); console.log(e);
}; };
const logT= e => { const logT = e => {
state.EditTestId=null; state.EditTestId = null;
console.log(e); console.log(e);
}; };
const logA= e => { const logA = e => {
state.EditEvalId=null; state.EditEvalId = null;
console.log(e); console.log(e);
}; };
@@ -513,7 +427,7 @@ export default {
}; };
const showDrawerAddHomework = () => { const showDrawerAddHomework = () => {
state.addhomeworkvisible = true; state.addhomeworkvisible = true;
}; };
const showDrawerAddTest = () => { const showDrawerAddTest = () => {
state.addtestvisible = true; state.addtestvisible = true;
@@ -522,14 +436,14 @@ export default {
//查询面授 //查询面授
const queryFaceTeach = () => { const queryFaceTeach = () => {
queryFaceDetailById(props.EditFaceId).then((res) => { queryFaceDetailById(props.EditFaceId).then((res) => {
console.log("获取到了面授课开课详情", res.data.data); console.log("获取到了面授课开课详情", res.data.data);
let result = res.data.data; let result = res.data.data;
state.courseName = result.name; state.courseName = result.name;
state.description = result.description; state.description = result.description;
state.memberValue= {value:result.teacherId,label:result.teacher} state.memberValue = { value: result.teacherId, label: result.teacher }
state.duration =result.duration; state.duration = result.duration;
if (result.beginTime && result.endTime) { if (result.beginTime && result.endTime) {
state.chooseTime = [ state.chooseTime = [
dayjs(result.beginTime, "YYYY-MM-DD"), dayjs(result.beginTime, "YYYY-MM-DD"),
@@ -539,21 +453,21 @@ export default {
state.chooseTime = []; state.chooseTime = [];
} }
state.address = result.address; state.address = result.address;
state.before =result.beforeStart; state.before = result.beforeStart;
state.afterStartValue = result.afterStart; state.afterStartValue = result.afterStart;
state.fileList = JSON.parse(result.attach); state.fileList = JSON.parse(result.attach);
state.EditWorkId = result.homeWorkId; state.EditWorkId = result.homeWorkId;
state.onlySign = result.completeType.split(",")[0]=="1"?true:false; state.onlySign = result.completeType.split(",")[0] == "1" ? true : false;
state.completeLeave =result.completeType.split(",")[1]=="1"?true:false; state.completeLeave = result.completeType.split(",")[1] == "1" ? true : false;
state.chooseCourse =result.offcourseId; state.chooseCourse = result.offcourseId;
state.innerPersion = result.projectMember.split(",")[0]=="1"?true:false; state.innerPersion = result.projectMember.split(",")[0] == "1" ? true : false;
state.outPersion = result.projectMember.split(",")[1]=="1"?true:false; state.outPersion = result.projectMember.split(",")[1] == "1" ? true : false;
state.EditTestId = result.testId; state.EditTestId = result.testId;
state.EditWorkId=result.homeWorkId; state.EditWorkId = result.homeWorkId;
state.assessmentId =result.evaluateId; state.assessmentId = result.evaluateId;
state.needEval = result.evaluateId; state.needEval = result.evaluateId;
console.log("state=======",state); console.log("state=======", state);
}); });
}; };
@@ -565,7 +479,7 @@ export default {
//新建或编辑面授 //新建或编辑面授
// 新增任务 // 新增任务
const updateFaceTeach = () => { const updateFaceTeach = () => {
if ( if (
state.courseName == "" || state.courseName == "" ||
state.chooseCourse == null || state.chooseCourse == null ||
@@ -573,50 +487,50 @@ export default {
state.chooseTime == [] || state.chooseTime == [] ||
state.duration == "" || state.duration == "" ||
state.address == "" state.address == ""
) { ) {
message.destroy(); message.destroy();
return message.warning("请输入必填字段"); return message.warning("请输入必填字段");
} else { } else {
let type =state.onlySign ? "1,":"0,"; let type = state.onlySign ? "1," : "0,";
let t = state.completeLeave?"1":"0"; let t = state.completeLeave ? "1" : "0";
let p=state.innerPersion?"1,":"0,"; let p = state.innerPersion ? "1," : "0,";
let p1=state.outPersion?"1":"0"; let p1 = state.outPersion ? "1" : "0";
let obj = { let obj = {
teacherId:state.memberValue.value, teacherId: state.memberValue.value,
teacher:state.memberValue.label, teacher: state.memberValue.label,
address:state.address, address: state.address,
applyFlag: state.applyFlag, applyFlag: state.applyFlag,
attach: JSON.stringify(state.fileList), attach: JSON.stringify(state.fileList),
afterStart:state.afterStartValue || 0, afterStart: state.afterStartValue || 0,
beforeStart:state.before || 0, beforeStart: state.before || 0,
beginTime: parseInt( new Date(state.chooseTime[0].$d).getTime() / 1000), beginTime: parseInt(new Date(state.chooseTime[0].$d).getTime() / 1000),
completeType:type.concat(t), completeType: type.concat(t),
description: state.description, description: state.description,
endTime: parseInt(new Date(state.chooseTime[1].$d).getTime() / 1000), endTime: parseInt(new Date(state.chooseTime[1].$d).getTime() / 1000),
evalFlag:state.needEval?1:0, evalFlag: state.needEval ? 1 : 0,
evaluateId:state.assessmentId, evaluateId: state.assessmentId,
homeWorkId: state.EditWorkId, homeWorkId: state.EditWorkId,
name: state.courseName, name: state.courseName,
projectMember:p.concat(p1), projectMember: p.concat(p1),
offcourseId:state.chooseCourse, offcourseId: state.chooseCourse,
offcoursePlanId:props.EditFaceId >0 ? props.EditFaceId : 0, offcoursePlanId: props.EditFaceId > 0 ? props.EditFaceId : 0,
testId: state.EditTestId testId: state.EditTestId
}; };
console.log("obj============",obj,"6"+"9"); console.log("obj============", obj, "6" + "9");
editPlan(obj) editPlan(obj)
.then((res) => { .then((res) => {
message.destroy(); message.destroy();
message.error(`添加成功`); message.error(`添加成功`);
updateTask(res); updateTask(res);
ctx.emit("changeData", false); ctx.emit("changeData", false);
closeDrawer(); closeDrawer();
}).catch(() => { }).catch(() => {
message.destroy(); message.destroy();
message.error(`添加失败`); message.error(`添加失败`);
}); });
} }
}; };
@@ -624,7 +538,7 @@ export default {
//更新任务列表 //更新任务列表
// 新增编辑或新增项目任务 // 新增编辑或新增项目任务
const updateTask = (res) => { const updateTask = (res) => {
console.log("props.isLevel=====",props.isLevel); console.log("props.isLevel=====", props.isLevel);
if (props.isLevel == 1) { if (props.isLevel == 1) {
let editObj1 = { let editObj1 = {
chapterId: props.isactive, chapterId: props.isactive,
@@ -637,7 +551,7 @@ export default {
RouterEditTask(editObj1) RouterEditTask(editObj1)
.then(() => { .then(() => {
//message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`); //message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
// state.addLoading = false; // state.addLoading = false;
closeDrawer(); closeDrawer();
}) })
@@ -657,8 +571,8 @@ export default {
// 新增编辑或新增项目 // 新增编辑或新增项目
ProjectEditTask(editObj) ProjectEditTask(editObj)
.then(() => { .then(() => {
message.success( `${props.EditFaceId ? "编辑" : "新增"}阶段任务成功` ); message.success(`${props.EditFaceId ? "编辑" : "新增"}阶段任务成功`);
}) })
.catch(() => { .catch(() => {
//message.error(`${props.EditFaceId ? "编辑" : "新增"}阶段任务失败`); //message.error(`${props.EditFaceId ? "编辑" : "新增"}阶段任务失败`);
@@ -669,14 +583,14 @@ export default {
courseId: res.data.data.offcoursePlanId, courseId: res.data.data.offcoursePlanId,
name: res.data.data.name, name: res.data.data.name,
duration: res.data.data.duration, duration: res.data.data.duration,
projectTemplateId:props.projectTemplateId, projectTemplateId: props.projectTemplateId,
projectTaskId: props.projectTaskId || 0, projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId || 0, stageId: props.chooseStageId || 0,
type: 2, type: 2,
}) })
.then(() => { .then(() => {
//message.success(`${props.EditFaceId ? "编辑" : "新增"}阶段任务成功` ); //message.success(`${props.EditFaceId ? "编辑" : "新增"}阶段任务成功` );
}) })
.catch(() => { .catch(() => {
//message.error(`${props.EditFaceId ? "编辑" : "新增"}阶段任务失败`); //message.error(`${props.EditFaceId ? "编辑" : "新增"}阶段任务失败`);
@@ -792,6 +706,7 @@ export default {
.ant-table-striped :deep(.table-striped) td { .ant-table-striped :deep(.table-striped) td {
background-color: #fafafa !important; background-color: #fafafa !important;
} }
.addfaceteachDrawer { .addfaceteachDrawer {
.drawerMain { .drawerMain {
.header { .header {
@@ -801,6 +716,7 @@ export default {
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
flex-shrink: 0; flex-shrink: 0;
.headerTitle { .headerTitle {
font-size: 18px; font-size: 18px;
font-weight: 600; font-weight: 600;
@@ -809,14 +725,17 @@ export default {
margin-left: 24px; margin-left: 24px;
} }
} }
.contentMain { .contentMain {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
.main_left { .main_left {
height: 1080px; height: 1080px;
padding-right: 30px; padding-right: 30px;
flex: 1; flex: 1;
border-right: 1px solid #e8e8e8; border-right: 1px solid #e8e8e8;
.main_item { .main_item {
display: flex; display: flex;
align-items: center; align-items: center;
@@ -909,14 +828,14 @@ export default {
.xkbtn { .xkbtn {
cursor: pointer; cursor: pointer;
width: 130px; width: 130px;
height: 40px; height: 40px;
background: #388be1; background: #388be1;
border-radius: 8px; border-radius: 8px;
border: 0; border: 0;
margin-right: 16px 8px 32px 0; margin-right: 16px 8px 32px 0;
color: #fff; color: #fff;
} }
} }
} }
@@ -930,16 +849,19 @@ export default {
align-items: center; align-items: center;
margin-top: 32px; margin-top: 32px;
margin-bottom: 32px; margin-bottom: 32px;
.signbox { .signbox {
width: 120px; width: 120px;
display: flex; display: flex;
justify-content: end; justify-content: end;
align-items: center; align-items: center;
} }
.btnbox { .btnbox {
display: flex; display: flex;
flex: 1; flex: 1;
align-items: center; align-items: center;
.xkbtn { .xkbtn {
cursor: pointer; cursor: pointer;
width: 130px; width: 130px;
@@ -954,6 +876,7 @@ export default {
} }
} }
} }
.main_btns { .main_btns {
height: 72px; height: 72px;
width: 100%; width: 100%;
@@ -963,6 +886,7 @@ export default {
align-items: center; align-items: center;
justify-content: center; justify-content: center;
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.16); box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.16);
.btn1 { .btn1 {
width: 100px; width: 100px;
height: 40px; height: 40px;
@@ -972,6 +896,7 @@ export default {
background-color: #fff; background-color: #fff;
cursor: pointer; cursor: pointer;
} }
.btn2 { .btn2 {
cursor: pointer; cursor: pointer;
width: 100px; width: 100px;

View File

@@ -33,7 +33,7 @@
<a-input <a-input
v-model:value="inputV1" v-model:value="inputV1"
style="width: 400px; height: 32px" style="width: 400px; height: 32px"
placeholder="请输入直播名称" placeholder="请输入考试名称"
maxlength="20" maxlength="20"
/> />
</div> </div>
@@ -45,7 +45,7 @@
<div class="textarea"> <div class="textarea">
<a-textarea <a-textarea
v-model:value="textV1" v-model:value="textV1"
placeholder="请输入直播说明" placeholder="请输入考试说明"
allow-clear allow-clear
maxlength="364px" maxlength="364px"
/> />