案例、作业、直播bugMerge branch 'develop' of ssh://gitlab.dongwu-inc.com:10022/BOE/fe-manage into develop

This commit is contained in:
zhangyc
2022-11-30 23:31:34 +08:00
11 changed files with 392 additions and 463 deletions

View File

@@ -165,7 +165,7 @@ export default {
state.textV1 = "";
localStorage.setItem("stageId", props.chooseStageId);
localStorage.setItem("chapterId", props.isactive);
}
};
const queryDiscuss = () => {
if (props.edit) {
//编辑讨
@@ -197,7 +197,6 @@ export default {
type: 8,
})
.then(() => {
//message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
})
.catch(() => {
@@ -214,7 +213,6 @@ export default {
type: 8,
})
.then(() => {
//message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
})
.catch(() => {
@@ -231,7 +229,6 @@ export default {
type: 8,
})
.then(() => {
//message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
})
.catch(() => {
@@ -258,11 +255,11 @@ export default {
updateTask(res);
closeDrawer();
ctx.emit("changeData", false);
message.destroy()
message.destroy();
message.success("创建讨论成功");
})
.catch(() => {
message.destroy()
message.destroy();
message.error("创建讨论失败");
});
} else {
@@ -272,11 +269,11 @@ export default {
updateTask(res);
closeDrawer();
ctx.emit("changeData", false);
message.destroy()
message.destroy();
message.success("创建讨论成功");
})
.catch(() => {
message.destroy()
message.destroy();
message.error("创建讨论失败");
});
}

View File

@@ -1,49 +1,30 @@
<template>
<a-drawer
:visible="addfaceteachVisible"
class="drawerStyle addfaceteachDrawer"
width="90%"
title="添加面授"
placement="right"
@after-visible-change="afterVisibleChange"
>
<a-drawer :visible="addfaceteachVisible" class="drawerStyle addfaceteachDrawer" width="90%" title="添加面授"
placement="right" @after-visible-change="afterVisibleChange">
<div class="drawerMain">
<div class="header">
<div class="headerTitle">添加面授</div>
<img
style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png"
@click="closeDrawer"
/>
<img style="width: 29px; height: 29px; cursor: pointer" src="../../assets/images/basicinfo/close.png"
@click="closeDrawer" />
</div>
<div class="contentMain">
<div class="main_left">
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
</div>
<span style="margin-right: 3px">课程名称</span>
</div>
<div class="btnbox">
<a-input
v-model:value="courseName"
style="width: 384px; height: 32px"
placeholder="请输入名称"
maxlength="20"
/>
<a-input v-model:value="courseName" style="width: 384px; height: 32px" placeholder="请输入名称"
maxlength="20" />
</div>
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
</div>
<span style="margin-right: 3px">选择课程</span>
</div>
@@ -54,16 +35,13 @@
<div v-if="chooseCourse > 0">
<a-tag closable color="processing" @close="logC">
<span style="font-size:14px;line-height: 33px;">删除课程</span>
</a-tag></div>
</a-tag>
</div>
</div>
<!-- 选择面授侧弹窗 -->
<div>
<sel-facet
v-model:selfacetVisible="selfacetvisible"
v-model:chooseCourse="chooseCourse"
/>
<sel-facet v-model:selfacetVisible="selfacetvisible" v-model:chooseCourse="chooseCourse" />
</div>
<!-- 选择面授侧弹窗 -->
</div>
@@ -72,100 +50,59 @@
<span style="margin-right: 3px">面授说明</span>
</div>
<div class="textarea">
<a-textarea
v-model:value="description"
placeholder="请输入说明"
allow-clear
maxlength="100"
/>
<a-textarea v-model:value="description" placeholder="请输入说明" allow-clear maxlength="100" />
</div>
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
</div>
<span style="margin-right: 3px">授课教师</span>
</div>
<div class="btnbox">
<a-auto-complete
v-model:value="memberValue.label"
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>
<a-auto-complete v-model:value="memberValue.label" placeholder="选择老师" style="width: 364px"
:options="options" @search="handleSearch"></a-auto-complete>
</div>
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
</div>
<span style="margin-right: 3px">面授时间</span>
</div>
<div class="btnbox">
<a-range-picker
v-model:value="chooseTime"
:placeholder="[' 开始时间', ' 结束时间']"
/>
<a-range-picker v-model:value="chooseTime" :placeholder="[' 开始时间', ' 结束时间']" />
</div>
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
</div>
<span style="margin-right: 3px">面授时长</span>
</div>
<div class="btnbox">
<a-input-number
:min="0"
:max="300"
:precision="0"
style="
<a-input-number :min="0" :max="300" :precision="0" style="
width: 364px;
height: 32px;
border-radius: 8px;
overflow: hidden;
"
v-model:value="duration"
></a-input-number>
" v-model:value="duration"></a-input-number>
<span style="margin-left: 5px; width: 30px">分钟</span>
</div>
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
</div>
<span style="margin-right: 3px">上课地址</span>
</div>
<div class="btnbox">
<a-input
v-model:value="address"
style="width: 384px; height: 32px"
placeholder="请输入上课地址"
maxlength="100"
/>
<a-input v-model:value="address" style="width: 384px; height: 32px" placeholder="请输入上课地址"
maxlength="100" />
</div>
</div>
<div class="main_item2">
@@ -174,37 +111,27 @@
</div>
<div class="kqszbox">
<div class="qdqtbox">
<div class="qdbtn"><div class="btntext">签到</div></div>
<div class="qdbtn">
<div class="btntext">签到</div>
</div>
</div>
<div class="setbox">
<div class="timerbox">
<span>开始前</span>
<a-input-number
:min="0"
:max="300"
:precision="0"
style="
<a-input-number :min="0" :max="300" :precision="0" style="
width: 100px;
height: 32px;
border-radius: 8px;
overflow: hidden; "
v-model:value="before"
></a-input-number>
overflow: hidden; " v-model:value="before"></a-input-number>
<span style="color: #999999; margin-left: 8px">分钟</span>
</div>
<div class="timerbox">
<span>开始后</span>
<a-input-number
:min="0"
:max="300"
:precision="0"
style="
<a-input-number :min="0" :max="300" :precision="0" style="
width: 100px;
height: 32px;
border-radius: 8px;
overflow: hidden;"
v-model:value="afterStartValue"
></a-input-number>
overflow: hidden;" v-model:value="afterStartValue"></a-input-number>
<span style="color: #999999; margin-left: 8px">分钟</span>
</div>
</div>
@@ -229,9 +156,8 @@
<span style="margin-right: 3px">其他设置</span>
</div>
<div class="btnbox">
<a-checkbox v-model:checked="completeLeave" @click="completeLeave=!completeLeave"
>学员请假后记为任务完成</a-checkbox
>
<a-checkbox v-model:checked="completeLeave"
@click="completeLeave = !completeLeave">学员请假后记为任务完成</a-checkbox>
</div>
</div>
<div class="main_item">
@@ -239,7 +165,8 @@
<span style="margin-right: 3px">现场参与</span>
</div>
<div class="btnbox">
<a-checkbox v-model:checked="innerPersion" @click="innerPersion=!innerPersion">允许项目内人员临时到场参加</a-checkbox>
<a-checkbox v-model:checked="innerPersion"
@click="innerPersion = !innerPersion">允许项目内人员临时到场参加</a-checkbox>
<a-checkbox v-model:checked="outPersion" @click="outPersion = !outPersion">允许项目外人员临时到场参加</a-checkbox>
</div>
</div>
@@ -248,8 +175,7 @@
<span style="margin-right: 3px">评估</span>
</div>
<div class="btnbox2">
<a-checkbox v-model:checked="needEval" @click="needEval=!needEval"
>需要评估</a-checkbox >
<a-checkbox v-model:checked="needEval" @click="needEval = !needEval">需要评估</a-checkbox>
</div>
</div>
<div v-if="needEval" class="main_item">
@@ -260,12 +186,10 @@
<div v-if="assessmentId > 0">
<a-tag closable color="processing" @close="logA">
<span style="font-size:14px;line-height: 33px;">删除评估</span>
</a-tag></div>
<AssessmentList
v-model:assessmentVisible="assessmentVisible"
v-model:titleTag="titleTag"
v-model:assessmentId="assessmentId"
/>
</a-tag>
</div>
<AssessmentList v-model:assessmentVisible="assessmentVisible" v-model:titleTag="titleTag"
v-model:assessmentId="assessmentId" />
</div>
</div>
@@ -282,18 +206,15 @@
<div v-if="EditWorkId > 0">
<a-tag closable color="processing" @close="logW">
<span style="font-size:14px;line-height: 33px;">删除作业</span>
</a-tag></div>
</a-tag>
</div>
</div>
<!-- 添加作业侧弹窗 -->
<div>
<add-homework
v-model:addhomeworkVisible="addhomeworkvisible"
@getWork="getWork"
:faceLevel="true"
v-model:EditWorkId="EditWorkId"
/>
<add-homework v-model:addhomeworkVisible="addhomeworkvisible" @getWork="getWork" :faceLevel="true"
v-model:EditWorkId="EditWorkId" />
</div>
<!-- 添加作业侧弹窗 -->
</div>
@@ -309,15 +230,13 @@
<div v-if="EditTestId > 0">
<a-tag closable color="processing" @close="logT">
<span style="font-size:14px;line-height: 33px;">删除考试</span>
</a-tag></div>
</a-tag>
</div>
</div>
<!-- 添加考试侧弹窗 -->
<div>
<add-test v-model:addtestVisible="addtestvisible"
v-model:EditTestId ="EditTestId"
:faceLevel="true"
/>
<add-test v-model:addtestVisible="addtestvisible" v-model:EditTestId="EditTestId" :faceLevel="true" />
</div>
<!-- 添加考试侧弹窗 -->
</div>
@@ -326,13 +245,8 @@
<span style="margin-right: 3px">附件</span>
</div>
<div class="btnbox">
<a-upload
@change="handleChange"
action="/manageApi/file/upload"
v-model:file-list="fileList"
>
<button class="xkbtn">上传附件</button></a-upload
>
<a-upload @change="handleChange" action="/manageApi/file/upload" v-model:file-list="fileList">
<button class="xkbtn">上传附件</button></a-upload>
</div>
</div>
</div>
@@ -792,6 +706,7 @@ export default {
.ant-table-striped :deep(.table-striped) td {
background-color: #fafafa !important;
}
.addfaceteachDrawer {
.drawerMain {
.header {
@@ -801,6 +716,7 @@ export default {
justify-content: space-between;
align-items: center;
flex-shrink: 0;
.headerTitle {
font-size: 18px;
font-weight: 600;
@@ -809,14 +725,17 @@ export default {
margin-left: 24px;
}
}
.contentMain {
display: flex;
justify-content: space-between;
.main_left {
height: 1080px;
padding-right: 30px;
flex: 1;
border-right: 1px solid #e8e8e8;
.main_item {
display: flex;
align-items: center;
@@ -930,16 +849,19 @@ export default {
align-items: center;
margin-top: 32px;
margin-bottom: 32px;
.signbox {
width: 120px;
display: flex;
justify-content: end;
align-items: center;
}
.btnbox {
display: flex;
flex: 1;
align-items: center;
.xkbtn {
cursor: pointer;
width: 130px;
@@ -954,6 +876,7 @@ export default {
}
}
}
.main_btns {
height: 72px;
width: 100%;
@@ -963,6 +886,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;
@@ -972,6 +896,7 @@ export default {
background-color: #fff;
cursor: pointer;
}
.btn2 {
cursor: pointer;
width: 100px;

View File

@@ -263,8 +263,6 @@ export default {
const fileList = ref([]);
const closeDrawer = () => {
formState.choosedTime = "";
ctx.emit("update:addhomeworkVisible", false);
ctx.emit("update:edit", false);
@@ -295,6 +293,7 @@ export default {
if (props.EditWorkId > 0) {
updateWorkTaskUsing(obj)
.then((res) => {
// console.log("添加成功", res);
updateTask(res);
ctx.emit("changeData", false);
closeDrawer();
@@ -306,6 +305,7 @@ export default {
} else {
createWorkTask(obj)
.then((res) => {
console.log("添加成功", res);
updateTask(res);
ctx.emit("changeData", false);
closeDrawer();
@@ -336,10 +336,8 @@ export default {
};
// 新增编辑或新增项目任务
const updateTask = (res) => {
if (props.faceLevel) {
state.EditWorkId = res.data.data.workId
state.EditWorkId = res.data.data.workId;
} else {
if (props.isLevel == 1) {
let editObj1 = {
@@ -356,6 +354,8 @@ export default {
//message.success(`${props.EditWorkId > 0 ? "编辑" : "新增"}关卡任务成功`);
state.addLoading = false;
ctx.emit("changeData", false);
closeDrawer();
})
.catch(() => {
//message.error(`${props.EditWorkId > 0 ? "编辑" : "新增"}关卡任务失败`);
@@ -364,18 +364,22 @@ export default {
let editObj = {
courseId: res.data.data.workId,
name: res.data.data.workName,
projectId: props.projectId ,
projectId: props.projectId > 0 ? props.projectId : 0,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId || 0,
type: 4,
};
console.log("editObj", editObj);
ProjectEditTask(editObj)
.then(() => {
.then((res) => {
//message.success(`${props.EditWorkId > 0 ? "编辑" : "新增"}阶段任务成功`);
console.log("chenggong", res);
state.addLoading = false;
ctx.emit("changeData", false);
closeDrawer();
})
.catch(() => {
.catch((err) => {
console.log("shibaii", err);
//message.error(`${props.EditWorkId > 0 ? "编辑" : "新增"}阶段任务失败`);
});
} else if (props.isLevel == 3) {
@@ -390,7 +394,8 @@ export default {
})
.then(() => {
//message.success(`${props.EditWorkId > 0 ? "编辑" : "新增"}阶段任务成功`);
ctx.emit("changeData", false);
closeDrawer();
state.addLoading = false;
})
.catch(() => {
@@ -398,7 +403,6 @@ export default {
});
}
}
};
const cle = () => {

View File

@@ -132,7 +132,6 @@
<span style="margin-right: 14px">直播封面</span>
</div>
<div class="item_inp">
<a-upload
name="avatar"
list-type="picture-card"
@@ -199,29 +198,32 @@
<span style="margin-right: 3px">评估</span>
</div>
<div class="btnbox2">
<a-checkbox v-model:checked="needEval" @click="needEval=!needEval"
>需要评估</a-checkbox >
<a-checkbox
v-model:checked="needEval"
@click="needEval = !needEval"
>需要评估</a-checkbox
>
</div>
</div>
<div v-if="needEval" class="main_item">
<div class="signbox">
</div>
<div class="signbox"></div>
<div class="btnbox">
<button class="xkbtn" @click="showAssessment">选择评估</button>
<div v-if="assessmentId > 0">
<a-tag closable color="processing" @close="logA">
<span style="font-size:14px;line-height: 33px;" >删除评估</span>
</a-tag></div>
<span style="font-size: 14px; line-height: 33px"
>删除评估</span
>
</a-tag>
</div>
<AssessmentList
v-model:assessmentVisible="assessmentVisible"
v-model:titleTag="titleTag"
v-model:assessmentId="assessmentId"
/>
</div>
</div>
<div class="main_item2">
<div class="signbox">
<span style="margin-right: 3px">考勤设置</span>
@@ -347,7 +349,7 @@ function getBase64(img, callback) {
export default {
name: "AddLive",
components: {
AssessmentList
AssessmentList,
},
props: {
addliveVisible: {
@@ -410,7 +412,7 @@ export default {
totalPages: 0,
memberValue: {
value: "",
label:""
label: "",
}, // 授课老师关键词
inputV1: "", //*直播名称
time: "", //*直播时间
@@ -512,7 +514,6 @@ export default {
});
};
const cloradio1 = (value) => {
if (state.radioV1 === value.target._value) {
state.radioV1 = "";
@@ -599,7 +600,6 @@ export default {
}
};
const showAssessment = () => {
state.assessmentVisible = true;
console.log("hshs======", state.assessmentVisible);
};
@@ -979,7 +979,6 @@ export default {
}
}
}
}
}
.main_btns {

View File

@@ -24,13 +24,14 @@
>
系统考试
</button>
<button
<!-- 2022-11-30注释 后面放开 -->
<!-- <button
style="width: 100px"
@click="changeOuter(2)"
:class="[isOuter == 2 ? 'outer' : 'notOuter']"
>
外部考试
</button>
</button> -->
</div>
<a-form
v-if="isOuter == 1"

View File

@@ -487,7 +487,6 @@ export default {
}
})
.catch((err) => {
setFaceData([{}]);
console.log("获取面授列表失败", err);
});
};

View File

@@ -343,7 +343,8 @@
</div>
</div> -->
</div>
<div class="template">
<!-- 2022-11-30注释 后面放开 -->
<!-- <div class="template">
<div class="name">
<div class="inname" style="width: 50px">模版</div>
<div class="in select" style="margin-left: 2px">
@@ -381,7 +382,7 @@
</a-select>
</div>
</div>
</div>
</div> -->
</div>
<div class="footer">
<div class="btn">

View File

@@ -358,7 +358,8 @@
</div>
</div> -->
</div>
<div class="template">
<!-- 2022-11-30注释 后面放开 -->
<!-- <div class="template">
<div class="name">
<div class="inname" style="width: 50px">模版</div>
<div class="in select" style="margin-left: 2px">
@@ -396,7 +397,7 @@
</a-select>
</div>
</div>
</div>
</div> -->
</div>
<div class="footer">
<div class="btn">

View File

@@ -37,7 +37,8 @@
>
</a-input>
</div>
<div class="select">
<!-- 2022-11-30注释 后面放开 -->
<!-- <div class="select">
<a-select
v-model:value="sProjectState"
style="width: 270px"
@@ -47,7 +48,7 @@
allowClear
showSearch
></a-select>
</div>
</div> -->
<div class="select">
<a-date-picker
v-model:value="sProjectTime"

View File

@@ -343,7 +343,8 @@
</div>
</div> -->
</div>
<div class="template">
<!-- 2022-11-30注释 后面放开 -->
<!-- <div class="template">
<div class="name">
<div class="inname" style="width: 50px">模版</div>
<div class="in select" style="margin-left: 2px">
@@ -381,7 +382,7 @@
</a-select>
</div>
</div>
</div>
</div> -->
</div>
<div class="footer">
<div class="btn">

View File

@@ -1213,7 +1213,6 @@ export default {
};
array.push(obj);
}
});
state.level = array;
};
@@ -1366,7 +1365,7 @@ export default {
let stage = localStorage.getItem("stageId")
? localStorage.getItem("stageId")
: null;
console.log("stage=====",stage);
// console.log("stage",Object.prototype.toString.call(stage))
getStageData(res.data.data.stageList);
if (stage != null) {
@@ -1677,6 +1676,7 @@ export default {
state.projectTaskId = eleId;
};
const showDrawerAddHomework = (id, eleId) => {
console.log("id222222", id, eleId);
state.EditWorkId = id;
state.projectTaskId = eleId;
state.addhomeworkvisible = true;