feat:修改面授课

This commit is contained in:
lixg
2023-02-26 10:51:24 +08:00
6 changed files with 105 additions and 63 deletions

View File

@@ -70,12 +70,12 @@
/>
</div>
</div>
<div style="display: flex; margin-bottom: 20px">
<div style="display: flex; margin-bottom: 20px" class="courseBtn">
<div class="btn btn1" @click="handleSearch1">
<div class="search"></div>
<div class="btnText">搜索</div>
</div>
<div class="btnn btn2" @click="handleRest1">
<div class="btnn btn2" @click="handleRest1" style="width: 103px">
<div class="search"></div>
<div class="btnText">重置</div>
</div>
@@ -749,7 +749,11 @@
<div class="search"></div>
<div class="btnText">搜索</div>
</div>
<div class="btnn btn2" @click="handleRestTable">
<div
class="btnn btn2"
@click="handleRestTable"
style="width: 103px"
>
<div class="search"></div>
<div class="btnText">重置</div>
</div>
@@ -4620,16 +4624,19 @@ export default defineComponent({
// 管理开课
const handleGuan22 = (item) => {
if (String(item.courseform) === "1") {
return;
}
if (String(item.courseform) === ("1" || "线上")) {
state.om_1 = true;
state.ft_1 = false;
} else if (String(item.courseform) === ("2" || "面授")) {
state.om_1 = true;
state.ft_1 = true;
}
// console.log('点击面授课管理',item)
// if (String(item.courseform) === "1") {
// return;
// }
// if (String(item.courseform) === ("1" || "线上")) {
// state.om_1 = true;
// state.ft_1 = false;
// } else if (String(item.courseform) === ("2" || "面授")) {
// state.om_1 = true;
// state.ft_1 = true;
// }
state.om_1 = true;
state.ft_1 = true;
state.manageStuLoading = true;
console.log(787666, item);
state.faceClassification = item.contentTxt;

View File

@@ -325,9 +325,9 @@
<div style="flex: 1">
<div class="onerow">
<div class="taskmain">任务大纲</div>
<ImpoterGroupLeader title="批量面授报名" :data="{targetId:routerId,type:2}" :url="`/admin/offcourse/importCourse`" :template-url="`/admin/router/exportTaskCoursePlan/${routerId}?type=1&taskType=2&thirdType=3`">
<!-- <ImpoterGroupLeader title="批量面授报名" :data="{targetId:routerId,type:2}" :url="`/admin/offcourse/importCourse`" :template-url="`/admin/router/exportTaskCoursePlan/${routerId}?type=1&taskType=2&thirdType=3`">
<button class="btn">批量面授报名</button>
</ImpoterGroupLeader>
</ImpoterGroupLeader> -->
<router-link
:to="{ path: '/leveladddetail', query: { routerId: routerId } }"
class="editright"
@@ -1387,7 +1387,7 @@ import RouterHomeworkManage from "../../components/drawers/router/RouterHomework
import RouterCommonManage from "../../components/drawers/router/RouterCommonManage";
import RouterVoteManage from "../../components/drawers/router/RouterVoteManage";
import RouterProjectManage from "../../components/drawers/router/RouterProjectManage";
import ImpoterGroupLeader from "@/components/drawers/project/ImpoterGroupLeader.vue";
// import ImpoterGroupLeader from "@/components/drawers/project/ImpoterGroupLeader.vue";
import TaskImpStu from "../../components/drawers/TaskFaceIn";
import { checkPer } from "@/utils/utils";
@@ -1395,7 +1395,7 @@ import { checkPer } from "@/utils/utils";
export default {
name: "LevelAdd",
components: {
ImpoterGroupLeader,
// ImpoterGroupLeader,
ProjCheckShip,
ImpStu,
CheckStu,

View File

@@ -1114,7 +1114,7 @@ export default defineComponent({
routered.push({
path: "/templateAdd",
query: {
projectTemplateId: state.projectInfo.projectTemplateId,
projectTemplateId: projectTemplateId,
},
});
};

View File

@@ -459,14 +459,14 @@
<div class="split"></div>
<div class="onerow">
<div class="taskmain">任务大纲</div>
<ImpoterGroupLeader
<!-- <ImpoterGroupLeader
title="批量面授报名"
:data="{ targetId: projectId, type: 1 }"
:url="`/admin/offcourse/importCourse`"
:template-url="`/admin/project/exportTaskCoursePlan/${projectId}?type=1&taskType=2&thirdType=3`"
>
<button class="btn">批量面授报名</button>
</ImpoterGroupLeader>
</ImpoterGroupLeader> -->
<router-link
v-if="checkPer(permissions)"
:to="{ path: `/taskadd`, query: { projectId: projectId } }"
@@ -769,7 +769,10 @@
<a-button @click="settingTopFlag(record)" type="link"
>{{ record.topFlag ? "取消优秀" : "优秀学员" }}
</a-button>
<a-button type="link" :disabled="record.isLeader === '1'" @click="showChangeGroupModal(record)"
<a-button
type="link"
:disabled="record.isLeader === '1'"
@click="showChangeGroupModal(record)"
>换组
</a-button>
</template>
@@ -909,7 +912,7 @@
</a-tab-pane>
<a-tab-pane key="5" tab="项目积分">
<ProjectScore
v-if="activeKey=='5'"
v-if="activeKey == '5'"
:permissions="permissions"
:projectId="projectId"
></ProjectScore>
@@ -3934,9 +3937,9 @@ export default {
const createGroup = async () => {
console.log("state.groupPageList" + state.groupPageList);
const id = state.groupInfo.id;
const d = state.groupPageList.filter(item => item.id !== id).filter(
(item) => item.leaderId === state.groupInfo.leaderId
);
const d = state.groupPageList
.filter((item) => item.id !== id)
.filter((item) => item.leaderId === state.groupInfo.leaderId);
if (state.isEdit) {
if (d.length > 0 && d[0].id !== id) {
return message.warn(d[0].leaderName + "已是小组长,请重新选择");
@@ -3947,11 +3950,10 @@ export default {
}
} else {
if (d.length > 0) {
return message.warn(d[0].leaderName + "已是小组长,请重新选择");
return message.warn(d[0].leaderName + "已是小组长,请重新选择");
}
}
state.isEdit = false;
await editGroup({ ...state.groupInfo, projectId: state.projectId });
message.success(id ? "小组编辑成功" : "小组创建成功");

View File

@@ -31,7 +31,7 @@
/>
</div>
</div>
<div class="name" style="align-items: flex-start">
<div class="name flex-top">
<div class="namebox" style="margin-top: 10px">
<img
class="nameimg"
@@ -39,7 +39,7 @@
/>
<div class="inname">封面图</div>
</div>
<div class="in select" style="display: flex">
<div class="in select" style="flex: 1; display: flex">
<div
:class="`box ${projectInfo.picUrl === src.value ? 'active' : ''}`"
style="
@@ -52,6 +52,9 @@
"
v-for="(src, index) in projectPic"
:key="index"
:style="{
display: index >= 3 ? 'none' : 'flex',
}"
@click="() => (projectInfo.picUrl = src.value)"
>
<img
@@ -65,8 +68,33 @@
alt="avatar"
/>
</div>
<div
@click="showLearnBgMore"
v-if="projectPic.length > 3"
style="
width: 100px;
height: 100px;
padding-left: 15px;
border-radius: 5px;
cursor: pointer;
position: relative;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
border: 1px solid #c7cbd2;
font-size: 14px;
font-weight: 400;
color: #4ea6ff;
line-height: 36px;
"
>
查看更多
<img src="../../assets/images/projectadd/go.png" alt="" />
</div>
</div>
</div>
<div class="name">
<div class="namebox">
<img
@@ -261,11 +289,13 @@ const getDetail = () =>
dayjs(projectInfo.value.endTime).format("YYYY-MM-DD HH:mm"),
];
projectInfo.value.courseSyncFlag = !!projectInfo.value.courseSyncFlag;
console.log("projectInfo", projectInfo);
console.log("查询到的模板库数据:" + JSON.stringify(projectInfo.value));
});
const backPage = () => {
router.back();
router.push({
path: "/libraryAdd",
});
};
function timeChange(e) {

View File

@@ -23,23 +23,23 @@
></a-select>
</div>
<div class="select">
<div class="select addTimeBox">
<div class="addTime">创建时间</div>
<a-range-picker
v-model:value="projectTime"
style="width: 420px"
format="YYYY-MM-DD"
separator="至"
:placeholder="[' 开始时间', ' 结束时间']"
/>
</div>
<div class="select addTimeBox">
<div class="addTime">创建时间</div>
<a-range-picker
v-model:value="projectTime"
style="width: 420px"
format="YYYY-MM-DD"
separator="至"
:placeholder="[' 开始时间', ' 结束时间']"
/>
</div>
</div>
<div style="display: flex; margin-bottom: 20px">
<div class="btn btn1" @click="handleSearch">
<div class="search"></div>
<div class="btnText">搜索</div>
</div>
<div class="btnn btn2" @click="handleRest">
<div class="btnn btn2" @click="handleRest" style="width: 103px">
<div class="search"></div>
<div class="btnText">重置</div>
</div>
@@ -114,7 +114,6 @@
placeholder="请输入评估名称"
v-model:value="assessmentName"
v-model:validate="validate"
:maxlength="15"
show-count
:type="4"
@@ -170,8 +169,10 @@
<div class="btnText" @click="handleCancelModal">取消</div>
</div>
<div class="del_btn btn2">
<div class="btnText" v-if="!addLoading" @click="handleSure">确定</div>
<div class="btnText" v-else>确定</div>
<div class="btnText" v-if="!addLoading" @click="handleSure">
确定
</div>
<div class="btnText" v-else>确定</div>
</div>
</div>
</div>
@@ -204,7 +205,7 @@ import { toDate } from "../../api/method.js";
import store from "@/store";
import { message } from "ant-design-vue";
import NameInput from "@/components/project/NameInput";
import {validateName} from "@/api/index1";
import { validateName } from "@/api/index1";
export default {
name: "learningPath",
components: {
@@ -318,7 +319,7 @@ export default {
copy_hs: false,
back_hs: false,
pub_hs: false,
validate: true,
});
const tableDataFunc = () => {
@@ -458,14 +459,15 @@ export default {
<div class="operation">
{value.state === "2" ? (
<div class="fb">
<div class="jc"
<div
class="jc"
onClick={() => {
handleToManagepage(value, "/managepage");
}}
>
管理
</div>
<div
class="jc"
onClick={() => {
@@ -595,27 +597,29 @@ export default {
state.assessmentName = item.assessmentName;
state.newNext = true;
};
const handleNext = async() => {
const handleNext = async () => {
if (!state.id) {
if (!state.assessmentName) {
message.destroy();
message.error("请输入评估名称");
return false;
}
if (!state.validate ) {
message.destroy();
return message.warning("该评估名称已存在");
if (!state.validate) {
message.destroy();
return message.warning("该评估名称已存在");
}
const offName = await validateName({name: state.assessmentName, type:4, id:state.id}).then(res => {
const offName = await validateName({
name: state.assessmentName,
type: 4,
id: state.id,
}).then((res) => {
return res.data.data == 1;
});
if(offName){
message.destroy();
return message.warning("课程名称重复,请重新填写");
}
});
if (offName) {
message.destroy();
return message.warning("课程名称重复,请重新填写");
}
store.commit("SET_assessmentName", state.assessmentName);
router.push("/researchadd");
handleCancel();
@@ -675,7 +679,6 @@ export default {
state.copy_hs = true;
};
const handleSure = () => {
// 发布
if (state.pub_hs) {
editReleaseStatus({
@@ -727,7 +730,7 @@ export default {
console.log("resultPost");
console.log(resultPost);
createResearch(resultPost).then((res) => {
state.addLoading =false;
state.addLoading = false;
console.log(res);
handleCancelModal();
getTableDate();