mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-24 02:02:55 +08:00
feat:合并
This commit is contained in:
@@ -5,26 +5,26 @@
|
||||
<div class="header">
|
||||
<div class="headerTitle">添加面授</div>
|
||||
<img style="width: 29px; height: 29px; cursor: pointer" src="../../assets/images/basicinfo/close.png"
|
||||
@click="closeDrawer" />
|
||||
@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" />
|
||||
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>
|
||||
@@ -41,7 +41,7 @@
|
||||
</div>
|
||||
<!-- 选择面授侧弹窗 -->
|
||||
<div>
|
||||
<sel-facet v-model:selfacetVisible="selfacetvisible" v-model:chooseCourse="chooseCourse" />
|
||||
<sel-facet v-model:selfacetVisible="selfacetvisible" v-model:chooseCourse="chooseCourse"/>
|
||||
</div>
|
||||
<!-- 选择面授侧弹窗 -->
|
||||
</div>
|
||||
@@ -50,36 +50,36 @@
|
||||
<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" placeholder="选择老师" style="width: 364px"
|
||||
:options="options" @search="handleSearch"></a-auto-complete>
|
||||
<a-auto-complete placeholder="选择老师" :value="memberValue.label" style="width: 364px"
|
||||
:options="options" @change="handleChange2" @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>
|
||||
@@ -96,13 +96,13 @@
|
||||
<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" />
|
||||
maxlength="100"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main_item2">
|
||||
@@ -157,7 +157,8 @@
|
||||
</div>
|
||||
<div class="btnbox">
|
||||
<a-checkbox v-model:checked="completeLeave"
|
||||
@click="completeLeave = !completeLeave">学员请假后记为任务完成</a-checkbox>
|
||||
@click="completeLeave = !completeLeave">学员请假后记为任务完成
|
||||
</a-checkbox>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main_item">
|
||||
@@ -166,8 +167,10 @@
|
||||
</div>
|
||||
<div class="btnbox">
|
||||
<a-checkbox v-model:checked="innerPersion"
|
||||
@click="innerPersion = !innerPersion">允许项目内人员临时到场参加</a-checkbox>
|
||||
<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 class="main_item2">
|
||||
@@ -189,7 +192,7 @@
|
||||
</a-tag>
|
||||
</div>
|
||||
<AssessmentList v-model:assessmentVisible="assessmentVisible" v-model:titleTag="titleTag"
|
||||
v-model:assessmentId="assessmentId" />
|
||||
v-model:assessmentId="assessmentId"/>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -214,7 +217,7 @@
|
||||
<!-- 添加作业侧弹窗 -->
|
||||
<div>
|
||||
<add-homework v-model:addhomeworkVisible="addhomeworkvisible" @getWork="getWork" :faceLevel="true"
|
||||
v-model:EditWorkId="EditWorkId" />
|
||||
v-model:EditWorkId="EditWorkId"/>
|
||||
</div>
|
||||
<!-- 添加作业侧弹窗 -->
|
||||
</div>
|
||||
@@ -236,7 +239,7 @@
|
||||
</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>
|
||||
@@ -246,7 +249,8 @@
|
||||
</div>
|
||||
<div class="btnbox">
|
||||
<a-upload @change="handleChange" action="/manageApi/file/upload" v-model:file-list="fileList">
|
||||
<button class="xkbtn">上传附件</button></a-upload>
|
||||
<button class="xkbtn">上传附件</button>
|
||||
</a-upload>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -260,20 +264,21 @@
|
||||
</a-drawer>
|
||||
</template>
|
||||
<script>
|
||||
import { reactive, toRefs, ref } from "vue";
|
||||
import {reactive, toRefs, ref} from "vue";
|
||||
import SelFacet from "../../components/drawers/SelFacet.vue";
|
||||
import AddHomework from "../../components/drawers/AddHomework.vue";
|
||||
import AddTest from "../../components/drawers/AddTest.vue";
|
||||
import { ProjectEditTask, RouterEditTask } from "@/api/indexTask";
|
||||
import {ProjectEditTask, RouterEditTask} from "@/api/indexTask";
|
||||
// import * as method from "../../api/method"
|
||||
import { message } from "ant-design-vue";
|
||||
import { getMemberInfo } from "@/api/index1";
|
||||
import { debounce } from "lodash-es";
|
||||
import { queryFaceDetailById, editPlan } from "../../api/indexFace";
|
||||
import {message} from "ant-design-vue";
|
||||
import {getMemberInfo} from "@/api/index1";
|
||||
import {debounce} from "lodash-es";
|
||||
import {queryFaceDetailById, editPlan} from "../../api/indexFace";
|
||||
import dayjs from "dayjs";
|
||||
import AssessmentList from "../drawers/ AssessmentList.vue";
|
||||
// import { toDate } from "../../api/method";、
|
||||
import { addTempTask } from "../../api/indexTaskadd";
|
||||
import {addTempTask} from "../../api/indexTaskadd";
|
||||
|
||||
export default {
|
||||
name: "AddFaceteach",
|
||||
components: {
|
||||
@@ -442,7 +447,7 @@ export default {
|
||||
let result = res.data.data;
|
||||
state.courseName = result.name;
|
||||
state.description = result.description;
|
||||
state.memberValue = { value: result.teacherId, label: result.teacher }
|
||||
state.memberValue = {value: result.teacherId, label: result.teacher}
|
||||
state.duration = result.duration;
|
||||
if (result.beginTime && result.endTime) {
|
||||
state.chooseTime = [
|
||||
@@ -515,18 +520,20 @@ export default {
|
||||
projectMember: p.concat(p1),
|
||||
offcourseId: state.chooseCourse,
|
||||
offcoursePlanId: props.EditFaceId > 0 ? props.EditFaceId : 0,
|
||||
testId: state.EditTestId
|
||||
testId: state.EditTestId,
|
||||
duration:state.duration,
|
||||
};
|
||||
console.log("obj============", obj, "6" + "9");
|
||||
console.log("222222222");
|
||||
|
||||
editPlan(obj)
|
||||
.then((res) => {
|
||||
editPlan(obj).then(async (res) => {
|
||||
message.destroy();
|
||||
message.sucsess(`添加成功`);
|
||||
updateTask(res);
|
||||
message.success(`添加成功`);
|
||||
await updateTask(res);
|
||||
ctx.emit("changeData", false);
|
||||
closeDrawer();
|
||||
}).catch(() => {
|
||||
}).catch((e) => {
|
||||
console.log(e)
|
||||
message.destroy();
|
||||
message.error(`添加失败`);
|
||||
});
|
||||
@@ -537,7 +544,7 @@ export default {
|
||||
|
||||
//更新任务列表
|
||||
// 新增编辑或新增项目任务
|
||||
const updateTask = (res) => {
|
||||
const updateTask = async (res) => {
|
||||
console.log("props.isLevel=====", props.isLevel);
|
||||
if (props.isLevel == 1) {
|
||||
let editObj1 = {
|
||||
@@ -548,7 +555,7 @@ export default {
|
||||
routerTaskId: props.routerTaskId || 0,
|
||||
type: 2,
|
||||
};
|
||||
RouterEditTask(editObj1)
|
||||
await RouterEditTask(editObj1)
|
||||
.then(() => {
|
||||
//message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
|
||||
|
||||
@@ -569,7 +576,7 @@ export default {
|
||||
type: 2,
|
||||
};
|
||||
// 新增编辑或新增项目
|
||||
ProjectEditTask(editObj)
|
||||
await ProjectEditTask(editObj)
|
||||
.then(() => {
|
||||
message.success(`${props.EditFaceId ? "编辑" : "新增"}阶段任务成功`);
|
||||
|
||||
@@ -579,7 +586,7 @@ export default {
|
||||
});
|
||||
} else if (props.isLevel == 3) {
|
||||
console.log("dddddddddddd33333333");
|
||||
addTempTask({
|
||||
await addTempTask({
|
||||
courseId: res.data.data.offcoursePlanId,
|
||||
name: res.data.data.name,
|
||||
duration: res.data.data.duration,
|
||||
@@ -598,7 +605,7 @@ export default {
|
||||
}
|
||||
};
|
||||
|
||||
const handleChange = ({ file, fileList }) => {
|
||||
const handleChange = ({file, fileList}) => {
|
||||
if (file.status !== "uploading") {
|
||||
console.log(file, fileList);
|
||||
}
|
||||
@@ -615,7 +622,7 @@ export default {
|
||||
// 员工滚动
|
||||
const templateScroll = (e) => {
|
||||
console.log("滚动", e);
|
||||
const { target } = e;
|
||||
const {target} = e;
|
||||
const scrllHeight = target.scrollHeight - target.scrollTop;
|
||||
const clientHeight = target.clientHeight;
|
||||
// console.log("scrllHeight", scrllHeight, clientHeight);
|
||||
@@ -668,6 +675,7 @@ export default {
|
||||
const handleChange2 = (value, label) => {
|
||||
console.log(`selected ${value}`);
|
||||
state.memberId = value;
|
||||
// console.log(label)
|
||||
state.memberValue = label;
|
||||
};
|
||||
const handleFocus = () => {
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
</div>
|
||||
<div class="btnbox">
|
||||
<a-auto-complete
|
||||
v-model:value="memberValue.label"
|
||||
:value="memberValue.label"
|
||||
show-search
|
||||
:not-found-content="fetching ? undefined : null"
|
||||
placeholder="Select a teacher"
|
||||
@@ -747,9 +747,10 @@ export default {
|
||||
queryMember();
|
||||
state.fetching = false;
|
||||
}, 300);
|
||||
const handleChange2 = (value) => {
|
||||
const handleChange2 = (value,label) => {
|
||||
console.log(`selected ${value}`);
|
||||
state.inputV3 = value;
|
||||
state.memberValue = label;
|
||||
};
|
||||
const handleFocus = () => {
|
||||
queryMember();
|
||||
|
||||
@@ -187,37 +187,37 @@ export default {
|
||||
showDown: true,
|
||||
showDown1: false,
|
||||
stageList: [
|
||||
{
|
||||
stageName: "阶段1腾飞班阶段1",
|
||||
stageId: 1,
|
||||
taskProcessList: [
|
||||
{
|
||||
course: "在线",
|
||||
name: "如何成为一个产品经理",
|
||||
complete: "已完成",
|
||||
},
|
||||
{
|
||||
course: "直播",
|
||||
name: "管理直播课",
|
||||
complete: "已完成",
|
||||
},
|
||||
{
|
||||
course: "面授",
|
||||
name: "管理面授课",
|
||||
complete: "未完成",
|
||||
},
|
||||
{
|
||||
course: "活动",
|
||||
name: "管理活动",
|
||||
complete: "未完成",
|
||||
},
|
||||
{
|
||||
course: "作业",
|
||||
name: "管理者作业",
|
||||
complete: "未完成",
|
||||
},
|
||||
],
|
||||
},
|
||||
// {
|
||||
// stageName: "阶段1腾飞班阶段1",
|
||||
// stageId: 1,
|
||||
// taskProcessList: [
|
||||
// {
|
||||
// course: "在线",
|
||||
// name: "如何成为一个产品经理",
|
||||
// complete: "已完成",
|
||||
// },
|
||||
// {
|
||||
// course: "直播",
|
||||
// name: "管理直播课",
|
||||
// complete: "已完成",
|
||||
// },
|
||||
// {
|
||||
// course: "面授",
|
||||
// name: "管理面授课",
|
||||
// complete: "未完成",
|
||||
// },
|
||||
// {
|
||||
// course: "活动",
|
||||
// name: "管理活动",
|
||||
// complete: "未完成",
|
||||
// },
|
||||
// {
|
||||
// course: "作业",
|
||||
// name: "管理者作业",
|
||||
// complete: "未完成",
|
||||
// },
|
||||
// ],
|
||||
// },
|
||||
],
|
||||
stageListActive: 0,
|
||||
});
|
||||
|
||||
@@ -116,14 +116,14 @@ export default {
|
||||
key: "name",
|
||||
align: "center",
|
||||
},
|
||||
|
||||
{
|
||||
title: "所属项目",
|
||||
dataIndex: "sourceBelongName",
|
||||
key: "sourceBelongName",
|
||||
align: "center",
|
||||
width: "11%",
|
||||
},
|
||||
// todo 根项目保存
|
||||
// {
|
||||
// title: "所属项目",
|
||||
// dataIndex: "sourceBelongName",
|
||||
// key: "sourceBelongName",
|
||||
// align: "center",
|
||||
// width: "11%",
|
||||
// },
|
||||
{
|
||||
title: "项目经理",
|
||||
dataIndex: "manager",
|
||||
|
||||
@@ -700,83 +700,83 @@ export default defineComponent({
|
||||
const state = reactive({
|
||||
//任务大纲列表
|
||||
taskSyllabus: [
|
||||
{
|
||||
text: "阶段1腾飞班阶段1",
|
||||
children: [
|
||||
{
|
||||
course: "在线",
|
||||
name: "时间管理",
|
||||
classify: "选修",
|
||||
beginTime: "2022-09-10 14:03",
|
||||
total: 50, //总人数
|
||||
complete: 20, //完成人数
|
||||
percent: 40,
|
||||
},
|
||||
{
|
||||
course: "直播",
|
||||
name: "管理直播间",
|
||||
classify: "必修",
|
||||
beginTime: "2022-09-12 14:03",
|
||||
total: 50, //总人数
|
||||
complete: 10, //完成人数
|
||||
percent: 20,
|
||||
},
|
||||
{
|
||||
course: "面授",
|
||||
name: "管理面授课",
|
||||
classify: "必修",
|
||||
beginTime: "2022-09-16 14:03",
|
||||
total: 80, //总人数
|
||||
complete: 0, //完成人数
|
||||
percent: 0,
|
||||
},
|
||||
{
|
||||
course: "活动",
|
||||
name: "管理活动",
|
||||
classify: "必修",
|
||||
beginTime: "2022-09-16 14:03",
|
||||
total: 50, //总人数
|
||||
complete: 40, //完成人数
|
||||
percent: 80,
|
||||
},
|
||||
{
|
||||
course: "作业",
|
||||
name: "管理者作业",
|
||||
classify: "选修",
|
||||
beginTime: "2022-09-16 14:03",
|
||||
total: 50, //总人数
|
||||
complete: 30, //完成人数
|
||||
percent: 60,
|
||||
},
|
||||
{
|
||||
course: "考试",
|
||||
name: "管理者考试",
|
||||
classify: "必修",
|
||||
beginTime: "2022-09-16 14:03",
|
||||
total: 50, //总人数
|
||||
complete: 50, //完成人数
|
||||
percent: 100,
|
||||
},
|
||||
{
|
||||
course: "案例",
|
||||
name: "管理直播间",
|
||||
classify: "必修",
|
||||
beginTime: "2022-09-16 14:03",
|
||||
total: 50, //总人数
|
||||
complete: 10, //完成人数
|
||||
percent: 20,
|
||||
},
|
||||
{
|
||||
course: "外链",
|
||||
name: "管理直播间",
|
||||
classify: "必修",
|
||||
beginTime: "2022-09-16 14:03",
|
||||
total: 50, //总人数
|
||||
complete: 10, //完成人数
|
||||
percent: 20,
|
||||
},
|
||||
],
|
||||
},
|
||||
// {
|
||||
// text: "阶段1腾飞班阶段1",
|
||||
// children: [
|
||||
// {
|
||||
// course: "在线",
|
||||
// name: "时间管理",
|
||||
// classify: "选修",
|
||||
// beginTime: "2022-09-10 14:03",
|
||||
// total: 50, //总人数
|
||||
// complete: 20, //完成人数
|
||||
// percent: 40,
|
||||
// },
|
||||
// {
|
||||
// course: "直播",
|
||||
// name: "管理直播间",
|
||||
// classify: "必修",
|
||||
// beginTime: "2022-09-12 14:03",
|
||||
// total: 50, //总人数
|
||||
// complete: 10, //完成人数
|
||||
// percent: 20,
|
||||
// },
|
||||
// {
|
||||
// course: "面授",
|
||||
// name: "管理面授课",
|
||||
// classify: "必修",
|
||||
// beginTime: "2022-09-16 14:03",
|
||||
// total: 80, //总人数
|
||||
// complete: 0, //完成人数
|
||||
// percent: 0,
|
||||
// },
|
||||
// {
|
||||
// course: "活动",
|
||||
// name: "管理活动",
|
||||
// classify: "必修",
|
||||
// beginTime: "2022-09-16 14:03",
|
||||
// total: 50, //总人数
|
||||
// complete: 40, //完成人数
|
||||
// percent: 80,
|
||||
// },
|
||||
// {
|
||||
// course: "作业",
|
||||
// name: "管理者作业",
|
||||
// classify: "选修",
|
||||
// beginTime: "2022-09-16 14:03",
|
||||
// total: 50, //总人数
|
||||
// complete: 30, //完成人数
|
||||
// percent: 60,
|
||||
// },
|
||||
// {
|
||||
// course: "考试",
|
||||
// name: "管理者考试",
|
||||
// classify: "必修",
|
||||
// beginTime: "2022-09-16 14:03",
|
||||
// total: 50, //总人数
|
||||
// complete: 50, //完成人数
|
||||
// percent: 100,
|
||||
// },
|
||||
// {
|
||||
// course: "案例",
|
||||
// name: "管理直播间",
|
||||
// classify: "必修",
|
||||
// beginTime: "2022-09-16 14:03",
|
||||
// total: 50, //总人数
|
||||
// complete: 10, //完成人数
|
||||
// percent: 20,
|
||||
// },
|
||||
// {
|
||||
// course: "外链",
|
||||
// name: "管理直播间",
|
||||
// classify: "必修",
|
||||
// beginTime: "2022-09-16 14:03",
|
||||
// total: 50, //总人数
|
||||
// complete: 10, //完成人数
|
||||
// percent: 20,
|
||||
// },
|
||||
// ],
|
||||
// },
|
||||
],
|
||||
// 模板编辑列表
|
||||
managerOptions: [
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
<div class="items2">
|
||||
<a-popover
|
||||
placement="topLeft"
|
||||
v-if="element.tit.length > 10"
|
||||
v-if="element.tit?.length > 10"
|
||||
>
|
||||
<template #content>
|
||||
<div style="width: 130px">
|
||||
@@ -73,7 +73,7 @@
|
||||
{{ element.tit }}
|
||||
</div>
|
||||
</a-popover>
|
||||
<div class="nname" v-if="element.tit.length <= 10">
|
||||
<div class="nname" v-if="element.tit?.length <= 10">
|
||||
{{ element.tit }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -2392,7 +2392,7 @@ export default {
|
||||
//任务大纲渲染
|
||||
const getTaskList = () => {
|
||||
let objtl = {
|
||||
projectId: 27,
|
||||
projectId: storage.get("projectId"),
|
||||
};
|
||||
apitl
|
||||
.getProjectDetail(objtl)
|
||||
|
||||
Reference in New Issue
Block a user