feat:隐藏功能

This commit is contained in:
lixg
2022-12-03 08:47:11 +08:00
17 changed files with 876 additions and 960 deletions

View File

@@ -67,10 +67,11 @@
<div class="search"></div>
<div class="btnText">重置</div>
</div>
<div class="btn btn3" @click="openMessage">
<!-- 2022-11-30注释 后面放开 -->
<!-- <div class="btn btn3" @click="openMessage">
<div class="search"></div>
<div class="btnText">导出</div>
</div>
</div> -->
<div class="btn btn4" @click="of_hShow">
<div class="search"></div>
<div class="btnText">新建课程</div>
@@ -612,9 +613,7 @@
v-for="(item, index) in imgList"
:key="index"
>
<div class="file_img">
</div>
<div class="file_img"></div>
<div class="file_detail">
<!-- <div class="file_name">
<span style="color: #6f6f6f">{{ item.name }}</span>
@@ -690,9 +689,10 @@
<div class="btnText" @click="ft_exit">取消</div>
</div>
<div class="btn btn6">
<div v-if="(isEdit==0)" class="btnText" @click="handlePush">确定</div>
<div v-if="isEdit==1" class="btnText">已保存</div>
<div v-if="isEdit == 0" class="btnText" @click="handlePush">
确定
</div>
<div v-if="isEdit == 1" class="btnText">已保存</div>
</div>
<div class="btn btn6">
<div class="btnText" @click="reviewClick">提交审核</div>
@@ -1332,7 +1332,7 @@
:tabBarStyle="{ marginLeft: '10px' }"
@change="faceManageChange"
>
<a-tab-pane key="1" tab="报名管理">
<!-- <a-tab-pane key="1" tab="报名管理">
<div class="b_menunav">
<div class="bm_select">
<a-select
@@ -1347,14 +1347,7 @@
@focus="focus"
@change="handleChange"
>
<!-- <a-select-option value="status">状态</a-select-option>
<a-select-option value="passed">已通过</a-select-option>
<a-select-option value="weishenhe">
未审核
</a-select-option>
<a-select-option value="reject">
管理员拒绝
</a-select-option> -->
</a-select>
</div>
<div class="bm_input">
@@ -1393,8 +1386,8 @@
</div>
</div>
</div>
</a-tab-pane>
<a-tab-pane key="2" tab="学习记录">
</a-tab-pane> -->
<a-tab-pane key="1" tab="学习记录">
<div class="b_menunav">
<div class="bm_select">
<a-select
@@ -1874,7 +1867,7 @@
<span style="margin-right: 3px">完成规则</span>
</div>
<div class="b_input">
<!--
<!--
<a-checkbox
v-model:checked="regisCom"
@click="regisCom = !regisCom"
@@ -1932,50 +1925,48 @@
</div>
</div>
<div class="mbl_items12">
<div
class="i12_box1"
v-for="(item, index) in filesList"
:key="index"
>
<div class="file_img">
</div>
<div class="file_detail">
<!-- <div class="file_name">
<div
class="i12_box1"
v-for="(item, index) in filesList"
:key="index"
>
<div class="file_img"></div>
<div class="file_detail">
<!-- <div class="file_name">
<span style="color: #6f6f6f">{{ item.name }}</span>
</div> -->
<!-- 条件渲染 s -->
<!-- <div class="file_size">
<!-- 条件渲染 s -->
<!-- <div class="file_size">
<span style="color: #999ba3">{{ item.size }}</span>
</div> -->
<div class="file_updata">
<div class="updatabox">
<div class="updatacolor"></div>
<div class="updataxq">上传完成</div>
<!-- <div class="updatacolor2"></div>
<div class="file_updata">
<div class="updatabox">
<div class="updatacolor"></div>
<div class="updataxq">上传完成</div>
<!-- <div class="updatacolor2"></div>
<div class="updataxq2">上传失败</div> -->
<!-- <div class="updatacolor3"></div>
<!-- <div class="updatacolor3"></div>
<div class="updataxq3">正在上传</div> -->
</div>
<div class="upjd">
<span style="margin: auto 5px">100%</span>
</div>
</div>
<!-- 条件渲染 e -->
</div>
<div class="file_operation">
<div class="fobox">
<span style="color: #4ea6ff" @click="handleDel2(index)">
删除
</span>
</div>
<!-- <div class="fobox">
</div>
<div class="upjd">
<span style="margin: auto 5px">100%</span>
</div>
</div>
<!-- 条件渲染 e -->
</div>
<div class="file_operation">
<div class="fobox">
<span style="color: #4ea6ff" @click="handleDel2(index)">
删除
</span>
</div>
<!-- <div class="fobox">
<span style="color: #4ea6ff">重传</span>
</div>
<div class="fobox">
<span style="color: #4ea6ff">取消</span>
</div> -->
<!-- <div class="fobox">
<!-- <div class="fobox">
<span style="color: #4ea6ff; margin-right: 5px">
暂停
</span>
@@ -1983,18 +1974,16 @@
<div class="fobox">
<span style="color: #4ea6ff">取消</span>
</div> -->
</div>
</div>
</div>
</div>
</div>
</div>
<div class="items_btn">
<div class="cstm_btn btn5">
<div class="btnText" @click="handleCancelStu">取消</div>
</div>
<div class="cstm_btn btn6">
<div v-if="addLoading" class="btnText" >保存中</div>
<div v-if="addLoading" class="btnText">保存中</div>
<div v-else class="btnText" @click="handleSureStu">确定</div>
</div>
</div>
</div>
@@ -2085,7 +2074,8 @@
添加学员
</span>
</div>
<div class="stmm_btn btn4" @click="hideShow">
<!-- 2022-11-30注释 后面放开 -->
<!-- <div class="stmm_btn btn4" @click="hideShow">
<div class="btn4_sub">
<span style="color: #4ea6ff; margin-right: 4px">
批量操作
@@ -2122,7 +2112,7 @@
<div class="stmm_btn btn5" @click="handleExportStu">
<div class="export"></div>
<div class="btnText">导出</div>
</div>
</div> -->
</div>
</div>
<div class="stmm_i6">
@@ -2488,7 +2478,6 @@
<div class="btnText" @click="agreereject_exit">取消</div>
</div>
<div class="qrm_btn btn2">
<div class="btnText" @click="handleAgreeTrue">确定</div>
</div>
</div>
@@ -2546,10 +2535,8 @@
<div class="btnText" @click="delete_exit1">取消</div>
</div>
<div class="del_btn btn2">
<div v-if="addLoading" class="btnText" >保存中...</div>
<div v-if="addLoading" class="btnText">保存中...</div>
<div v-else class="btnText" @click="handleDeleteExit">确定</div>
</div>
</div>
</div>
@@ -2608,11 +2595,10 @@
classify="course"
/>
</div>
<div class="aeLoading" :style="{display: addLoading ? 'flex' : 'none'}" >
<a-spin :spinning="addLoading" tip="保存中..." />
</div>
<div class="aeLoading" :style="{ display: addLoading ? 'flex' : 'none' }">
<a-spin :spinning="addLoading" tip="保存中..." />
</div>
</template>
<script>
import {
@@ -3090,25 +3076,25 @@ const columns7 = [
}
},
},
{
title: "结业状态",
width: 100,
className: "h",
dataIndex: "overstatus",
key: "overstatus",
fixed: "right",
align: "center",
// key: "9",
// align: "center",
// customRender: ({ record }) => {
// switch (String(record.source)) {
// case "0":
// return "未结业";
// case "1":
// return "已结业";
// }
// },
},
// {
// title: "结业状态",
// width: 100,
// className: "h",
// dataIndex: "overstatus",
// key: "overstatus",
// fixed: "right",
// align: "center",
// // key: "9",
// // align: "center",
// // customRender: ({ record }) => {
// // switch (String(record.source)) {
// // case "0":
// // return "未结业";
// // case "1":
// // return "已结业";
// // }
// // },
// },
{
title: "操作",
width: 100,
@@ -3137,12 +3123,12 @@ export default defineComponent({
},
setup() {
const state = reactive({
addLoading:false,
addLoading: false,
currentPlanItem: {},
teacherId:null,
teacher:null,
teacherId: null,
teacher: null,
selectedRowKeys7: [],
isEdit:0,
isEdit: 0,
//列表表格
tableData1: [
@@ -3383,7 +3369,6 @@ export default defineComponent({
addStudentList: null, //选中列表
newCourseName: null, //新建开课名称
});
const showStuAdd = () => {
@@ -3734,13 +3719,13 @@ export default defineComponent({
const rest = () => {
options4CurName.value = "";
options4CurId.value = "";
state.teacher =null;
state.teacherId =null;
state.teacher = null;
state.teacherId = null;
};
const handleChangeTea1 = (val) => {
console.log(787877);
console.log(val);
rest();
getTea();
};
@@ -4038,7 +4023,6 @@ export default defineComponent({
for (const keyName of checkList) {
if (!keyName) {
count++;
}
}
return count ? false : true;
@@ -4060,13 +4044,13 @@ export default defineComponent({
state.qdms_inputV6 = "";
state.imgList = [];
valueHtml.value = "";
state.fileList =[];
state.fileList = [];
};
//保存面授课
const handlePush = (param) => {
//state.isEdit = 1;
console.log("========",state.addLoading);
//state.isEdit = 1;
console.log("========", state.addLoading);
console.log("state.imgList");
console.log(state.imgList);
let files = "";
@@ -4077,8 +4061,22 @@ export default defineComponent({
}
files = files.slice(0, files.length - 1);
console.log(files);
let tid = (state.teacherId==null)?(state.qdms_inputV5 ? state.qdms_inputV5 : null):state.teacherId;
console.log("state.teacherId==null",state.teacherId==null,"state.qdms_inputV5",state.qdms_inputV5,"state.teacherId",state.teacherId,"tid",tid);
let tid =
state.teacherId == null
? state.qdms_inputV5
? state.qdms_inputV5
: null
: state.teacherId;
console.log(
"state.teacherId==null",
state.teacherId == null,
"state.qdms_inputV5",
state.qdms_inputV5,
"state.teacherId",
state.teacherId,
"tid",
tid
);
const postData = {
offcourseId: state.offcourseId, //不传代表新增
name: state.qdms_inputV1,
@@ -4088,18 +4086,18 @@ export default defineComponent({
categoryId: state.fen_lei,
sceneId: state.chang_jin,
tips: state.tags_val ? state.tags_val.join(",") : null,
teacherId:tid, //?
teacherId: tid, //?
intro: state.qdms_inputV6,
attach: files,
outline: valueHtml.value,
//teacherId:state.teacherId ,
};
console.log("===",state.teacherId,"hha",state.qdms_inputV5);
console.log("===", state.teacherId, "hha", state.qdms_inputV5);
console.log("postData");
console.log(postData);
const checkList = [
postData.name,
postData.targetUser,
postData.categoryId,
postData.teacherId,
@@ -4107,16 +4105,16 @@ export default defineComponent({
if (!checkVal(checkList)) {
message.destroy();
return message.error("请输入必填项");
}else{
} else {
state.addLoading = true;
}
edit(postData).then((res) => {
if (res.data.code === 200) {
getTableDate();
ft_exit();
rest();
state.addLoading = false;
state.addLoading = false;
// console.log("res.data", res.data);
if (param === "review") {
//新建时点击审核按钮
@@ -4140,11 +4138,10 @@ export default defineComponent({
};
const createkk = () => {
getTea();
state.offcoursePlanId =null;
state.offcoursePlanId = null;
state.cstm_hs = true;
};
const handleCancelStu = () => {
state.cstm_hs = false;
state.kk_eidt = false;
state.xjkkradioV1 = "";
@@ -4158,15 +4155,14 @@ export default defineComponent({
};
//保存开课
const handleSureStu = () => {
let startTime,
endTime = 0;
if (state.xjkkinputV3) {
startTime = parseInt(state.xjkkinputV3[0].$d.getTime() / 1000);
endTime = parseInt(state.xjkkinputV3[1].$d.getTime() / 1000);
}
let t=state.signCom?"1,":"0,";
let p= state.comLeave?"1":"0";
let t = state.signCom ? "1," : "0,";
let p = state.comLeave ? "1" : "0";
let type = t.concat(p);
const postData = {
offcourseId: state.offcourseId,
@@ -4176,14 +4172,14 @@ export default defineComponent({
applyFlag: state.checked1 ? 1 : 0,
attach: state.filesList.length ? state.filesList.join(",") : "",
beginTime: startTime,
completeType:type,
completeType: type,
endTime: endTime,
evalFlag: state.checked4 ? 1 : 0,
name: state.xjkkinputV1,
signFlag: state.xjkkradioV1 === 0 ? 1 : 0, //是否允许未报名的签到:1是0否
// signWordFlag: state.xjkkradioV1 === 1 ? 1 : 0, //签到是否需要口令:1是0否
teacherId: state.xjkkinputV4 ? state.xjkkinputV4 : "",
teacher:options4CurName.value,
teacher: options4CurName.value,
};
console.log(postData);
const checkList = [
@@ -4196,22 +4192,21 @@ export default defineComponent({
if (!checkVal(checkList)) {
message.destroy();
return message.error("请输入必填项");
}else{
} else {
state.addLoading = true;
console.log("state.addLoading ",state.addLoading );
console.log("state.addLoading ", state.addLoading);
}
editPlan(postData).then((res) => {
if (res.data.code === 200) {
getTableDate3();
handleCancelStu();
rest();
rest();
}
});
state.addLoading = false;
};
//编辑开课
const handelEditStu = async (itm) => {
console.log(itm);
state.offcourseId = itm.offcourseId;
state.offcoursePlanId = itm.offcoursePlanId;
@@ -4232,10 +4227,10 @@ export default defineComponent({
dayjs(item.endTime, "YYYY-MM-DD HH:mm:ss"),
];
options4CurId.value = item.teacherId;
// (state.regisCom = item.completeType.split(",")[0] == "1" ? true : false),
(state.signCom = item.completeType.split(",")[0] == "1" ? true : false),
(state.comLeave = item.completeType.split(",")[1] == "1" ? true : false),
// (state.regisCom = item.completeType.split(",")[0] == "1" ? true : false),
(state.signCom = item.completeType.split(",")[0] == "1" ? true : false),
(state.comLeave =
item.completeType.split(",")[1] == "1" ? true : false),
(state.checked4 = item.evalFlag === 1 ? true : false);
state.xjkkinputV1 = item.name;
if (item.signFlag === 1) {
@@ -4310,21 +4305,21 @@ export default defineComponent({
state.ftQR_hs = false;
state.ftsQR_hs = false;
state.vipftQR_hs = false;
state.addLoading =false;
state.addLoading = false;
};
const rg_exit = () => {
state.rg_hs = false;
state.addLoading =false;
state.addLoading = false;
};
const graduate_exit = () => {
state.graduate_hs = false;
state.addLoading =false;
state.addLoading = false;
};
const agreereject_exit = () => {
state.agreereject_hs = false;
state.agreestudy_hs = false;
state.rejectstudy_hs = false;
state.addLoading =false;
state.addLoading = false;
};
const delete_exit1 = () => {
state.delete_hs = false;
@@ -4333,7 +4328,7 @@ export default defineComponent({
state.nouse_hs = false;
state.rg_hs = false;
state.graduate_hs = false;
state.addLoading =false;
state.addLoading = false;
};
const handleRejectExit = (itm, type) => {
if (type === "1") {
@@ -4388,7 +4383,6 @@ export default defineComponent({
};
//确认复制
const handleAgreeTrue = async () => {
if (state.agreestudy_hs) {
handleStudent({
offcoursePlanId: state.offcoursePlanId,
@@ -4398,7 +4392,7 @@ export default defineComponent({
});
getTableDate2();
delete_exit1();
state.addLoading =false;
state.addLoading = false;
}
if (state.rejectstudy_hs) {
handleStudent({
@@ -4409,13 +4403,12 @@ export default defineComponent({
});
getTableDate2();
delete_exit1();
}
};
//确认复制课程
const handleDeleteExit = async () => {
state.addLoading =true;
state.addLoading = true;
if (state.del_hs) {
console.log(11111111);
if (state.offcourseId && state.offcoursePlanId && state.studentId) {
@@ -4447,7 +4440,6 @@ export default defineComponent({
}
});
}
}
if (state.copy_hs) {
console.log(2222222);
@@ -4474,7 +4466,7 @@ export default defineComponent({
signFlag: item.signFlag, //是否允许未报名的签到:1是0否
//signWordFlag: item.signWordFlag, //签到是否需要口令:1是0否
teacherId: item.teacherId,
teacher:item.teacher,
teacher: item.teacher,
};
console.log(obj);
editPlan(obj).then((res) => {
@@ -4505,14 +4497,13 @@ export default defineComponent({
intro: item.intro,
attach: item.attach,
outline: item.outline,
teacher:item.teacher,
teacher: item.teacher,
};
edit(postData).then((res) => {
if (res.data.code === 200) {
getTableDate();
delete_exit1();
rest();
}
});
}
@@ -4532,7 +4523,6 @@ export default defineComponent({
});
}
}
};
const handleDeleteKaike = (value) => {
state.offcoursePlanId = value.offcoursePlanId;
@@ -4577,8 +4567,8 @@ export default defineComponent({
//获取教师
const getTea = async () => {
console.log("获取授课教师信息");
options4CurName.value =state.teacher;
options4CurId.value =state.teacherId;
options4CurName.value = state.teacher;
options4CurId.value = state.teacherId;
const item1 = await getMemberInfoApi({
pageNo: state.currentPageTea1,
@@ -4603,13 +4593,12 @@ export default defineComponent({
options4CurName.value = item.realName;
state.xjkkinputV4 = item.realName;
state.teacherId = item.id;
} else if (state.offcourseId) {
options4CurName.value = item.realName;
state.qdms_inputV5 = item.realName;
state.teacher = item.realName;
state.teacherId =item.id;
console.log("那个老师",item);
state.teacherId = item.id;
console.log("那个老师", item);
}
}
newArr.push({
@@ -4623,7 +4612,6 @@ export default defineComponent({
};
//编辑面授课
const handleEdit = async (itm, type) => {
state.isEdit = 0;
console.log(45555);
console.log(itm);
@@ -4653,19 +4641,19 @@ export default defineComponent({
state.teacher = item.teacher;
state.teacherId = item.teacherId;
state.qdms_inputV6 = item.intro;
if(item.attach==""){
state.imgList =[];
}else{
if (item.attach == "") {
state.imgList = [];
} else {
if (item.attach.indexOf(",")) {
const arr = item.attach.split(",");
arr.forEach((item) => {
state.imgList.push({ img: item });
});
const arr = item.attach.split(",");
arr.forEach((item) => {
state.imgList.push({ img: item });
});
} else {
state.imgList = [{ img: item.attach }];
}
}
valueHtml.value = item.outline;
getTea();
@@ -4874,9 +4862,9 @@ export default defineComponent({
}
};
const submitReview = (id) => {
state.addLoading =true;
state.addLoading = true;
if(id==""){
if (id == "") {
return message.error("请先完成保存");
}
let obj = {
@@ -4890,8 +4878,7 @@ export default defineComponent({
ft_exit();
rest();
getTableDate();
state.addLoading =false;
state.addLoading = false;
}
});
};
@@ -5098,7 +5085,7 @@ export default defineComponent({
});
</script>
<style lang="scss">
.aeLoading{
.aeLoading {
z-index: 10000;
}
.courseManage {
@@ -5259,7 +5246,7 @@ export default defineComponent({
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21);
position: absolute;
left: 50%;
top:-100%;
top: -100%;
transform: translate(-50%, -50%);
.of_header {
position: absolute;
@@ -5476,91 +5463,91 @@ export default defineComponent({
}
}
.mbl_items12 {
width: 440px;
margin-left: 100px;
.i12_box1 {
display: flex;
align-items: center;
padding: 17px 0px 17px 21px;
border: 1px solid #eff4fc;
border-radius: 8px;
margin-bottom: 10px;
.file_img {
width: 27px;
height: 32px;
background-image: url(@/assets/images/coursewareManage/imgs.png);
margin-right: 22px;
img {
width: 100%;
height: 100%;
}
}
.file_detail {
width: 250px;
margin-right: 21px;
.file_updata {
display: flex;
align-items: center;
.updatabox {
position: relative;
width: 230px;
height: 5px;
background-color: rgba(192, 192, 192, 0.25);
border-radius: 3px;
.updatacolor {
position: absolute;
left: 0;
width: 100%;
height: 5px;
background-color: #57c887;
border-radius: 3px;
}
.updatacolor2 {
position: absolute;
left: 0;
width: 80%;
height: 5px;
background-color: #ff7474;
border-radius: 3px;
}
.updatacolor3 {
position: absolute;
left: 0;
width: 60%;
height: 5px;
background-color: #388be1;
border-radius: 3px;
}
.updataxq {
position: absolute;
right: 2px;
top: -30px;
color: #57c887;
}
.updataxq2 {
position: absolute;
right: 2px;
top: -30px;
color: #ff7474;
}
.updataxq3 {
position: absolute;
right: 2px;
top: -30px;
color: #388be1;
}
}
}
}
.file_operation {
display: flex;
.fobox {
margin-right: 5px;
cursor: pointer;
}
}
}
width: 440px;
margin-left: 100px;
.i12_box1 {
display: flex;
align-items: center;
padding: 17px 0px 17px 21px;
border: 1px solid #eff4fc;
border-radius: 8px;
margin-bottom: 10px;
.file_img {
width: 27px;
height: 32px;
background-image: url(@/assets/images/coursewareManage/imgs.png);
margin-right: 22px;
img {
width: 100%;
height: 100%;
}
}
.file_detail {
width: 250px;
margin-right: 21px;
.file_updata {
display: flex;
align-items: center;
.updatabox {
position: relative;
width: 230px;
height: 5px;
background-color: rgba(192, 192, 192, 0.25);
border-radius: 3px;
.updatacolor {
position: absolute;
left: 0;
width: 100%;
height: 5px;
background-color: #57c887;
border-radius: 3px;
}
.updatacolor2 {
position: absolute;
left: 0;
width: 80%;
height: 5px;
background-color: #ff7474;
border-radius: 3px;
}
.updatacolor3 {
position: absolute;
left: 0;
width: 60%;
height: 5px;
background-color: #388be1;
border-radius: 3px;
}
.updataxq {
position: absolute;
right: 2px;
top: -30px;
color: #57c887;
}
.updataxq2 {
position: absolute;
right: 2px;
top: -30px;
color: #ff7474;
}
.updataxq3 {
position: absolute;
right: 2px;
top: -30px;
color: #388be1;
}
}
}
}
.file_operation {
display: flex;
.fobox {
margin-right: 5px;
cursor: pointer;
}
}
}
}
.items_fj {
margin-bottom: 1px;
}
@@ -6297,7 +6284,7 @@ export default defineComponent({
.file_img {
width: 27px;
height: 32px;
background-image: url(@/assets/images/coursewareManage/imgs.png);
background-image: url(@/assets/images/coursewareManage/imgs.png);
margin-right: 22px;
img {
width: 100%;
@@ -6869,7 +6856,8 @@ export default defineComponent({
.stmm_btn {
width: 100px;
height: 40px;
margin-right: 14px;
// <!-- 2022-11-30注释 后面放开 -->
// margin-right: 14px;
background: #ffffff;
border: 1px solid #4ea6ff;
border-radius: 8px;