Merge branch 'develop' of ssh://gitlab.dongwu-inc.com:10022/BOE/fe-manage into develop

This commit is contained in:
wyx
2022-12-09 15:46:09 +08:00
4 changed files with 904 additions and 861 deletions

View File

@@ -867,8 +867,8 @@ export default {
console.log("获取关卡、任务、学员统计数据", res.data);
if (res.status === 200) {
// state.routeStudentsNum = res.data.students;
state.routeChapters = res.data.chapters;
state.routeTasks = res.data.tasks;
state.routeChapters = res.data.data.chapters;
state.routeTasks = res.data.data.tasks;
}
})
.catch((err) => {

View File

@@ -854,7 +854,12 @@
<div
v-for="item in fileList"
:key="item.uid"
style="width:500px;display:flex;justify-content:space-between;align-items:center;"
style="
width: 500px;
display: flex;
justify-content: space-between;
align-items: center;
"
class="docListStyle"
>
<img
@@ -867,9 +872,17 @@
"
alt=""
/>
<span style="font: oblique bold 16px Sans-serif;width:300px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;">{{
item.name
}}</span>
<span
style="
font: oblique bold 16px Sans-serif;
width: 300px;
display: block;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
"
>{{ item.name }}</span
>
<span
style="color: #4ea6ff; cursor: pointer"
@click="deFile(item.uid)"
@@ -1280,7 +1293,7 @@ import TestManage from "../../components/drawers/TestManage";
import FaceManage from "../../components/drawers/FaceManage";
import WorkManage from "../../components/drawers/WorkManage";
import SeeStu from "../../components/drawers/SeeStu";
// import { useRoute } from "vue-router";
import { useRouter } from "vue-router";
// import { useStore } from "vuex";
import { storage } from "../../api/storage";
import { getRouterOverview } from "@/api/indexLearningPath";
@@ -1308,7 +1321,7 @@ export default {
TwoDimensionalCode,
},
setup() {
// const routers = useRoute();
const router = useRouter();
// const store = useStore();
const state = reactive({
routerId: storage.get("routerId")
@@ -1844,8 +1857,8 @@ export default {
if (res.status === 200) {
// console.log("获取关卡、任务、学员统计数据", res.data);
// state.routeStudentsNum = res.data.students;
state.routeChapters = res.data.chapters;
state.routeTasks = res.data.tasks;
state.routeChapters = res.data.data.chapters;
state.routeTasks = res.data.data.tasks;
}
})
.catch((err) => {
@@ -2295,7 +2308,16 @@ export default {
);
const totask = () => {
state.activeKey = "2";
// console.log("state.taskSyllabus", state.taskSyllabus);
router.push({
path: "/leveladddetail",
});
// if (state.taskSyllabus.length===1) {
// if(state.taskSyllabus[0].taskList.length===0){
// // /leveladddetail
// }
// }
// state.activeKey = "2";
};
const tostudent = () => {
state.activeKey = "3";

View File

@@ -1022,8 +1022,8 @@ export default {
api.getProjectCount(object.projectId).then((res) => {
console.log("获取关卡、任务、学员统计数据", res.data);
// state.projectStudentsNum = res.data.students;
state.projectStages = res.data.stages;
state.projectTasks = res.data.tasks;
state.projectStages = res.data.data.stages;
state.projectTasks = res.data.data.tasks;
});
//获取学员总数
let obj = {

View File

@@ -3,7 +3,7 @@
<div class="taskpage">
<div class="addhead" style="flex-shrink: 0">
<div class="leftimg">
<img class="img" :src="picUrl"/>
<img class="img" :src="picUrl" />
</div>
<div class="imgfor">
<div class="forz">{{ name }}</div>
@@ -171,7 +171,7 @@
<div class="line"></div>
<router-link to="/projectmanage">
<div style="display: flex">
<img class="img2" src="../../assets/images/leveladd/back.png"/>
<img class="img2" src="../../assets/images/leveladd/back.png" />
<div class="return">返回</div>
</div>
</router-link>
@@ -208,13 +208,13 @@
style="background: linear-gradient(180deg, #fef3dd, #fffaf0)"
>
<div class="leftt">
<img src="../../assets/images/taskpage/left1.png"/>
<img src="../../assets/images/taskpage/left1.png" />
</div>
<div class="photo">
<img src="../../assets/images/taskpage/picture1.png"/>
<img src="../../assets/images/taskpage/picture1.png" />
</div>
<div class="rightt">
<img src="../../assets/images/taskpage/right1.png"/>
<img src="../../assets/images/taskpage/right1.png" />
</div>
<div class="centerbox" style="color: rgba(255, 182, 78, 1)">
添加任务
@@ -227,13 +227,13 @@
style="background: linear-gradient(180deg, #ddeaff, #f0f8fe)"
>
<div class="leftt">
<img src="../../assets/images/taskpage/left2.png"/>
<img src="../../assets/images/taskpage/left2.png" />
</div>
<div class="photo">
<img src="../../assets/images/taskpage/picture2.png"/>
<img src="../../assets/images/taskpage/picture2.png" />
</div>
<div class="rightt">
<img src="../../assets/images/taskpage/right2.png"/>
<img src="../../assets/images/taskpage/right2.png" />
</div>
<div class="centerbox" style="color: rgba(78, 166, 255, 1)">
添加学员
@@ -639,13 +639,13 @@
v-if="taskSyllabus.length == 0"
>
<div class="leftt">
<img src="../../assets/images/taskpage/left2.png"/>
<img src="../../assets/images/taskpage/left2.png" />
</div>
<div class="photo">
<img src="../../assets/images/taskpage/picture8.png"/>
<img src="../../assets/images/taskpage/picture8.png" />
</div>
<div class="rightt">
<img src="../../assets/images/taskpage/right2.png"/>
<img src="../../assets/images/taskpage/right2.png" />
</div>
<div class="centerbox" style="color: rgba(78, 166, 255, 1)">
创建任务
@@ -668,13 +668,13 @@
style="background: linear-gradient(180deg, #fef3dd, #fffaf0)"
>
<div class="leftt">
<img src="../../assets/images/taskpage/left1.png"/>
<img src="../../assets/images/taskpage/left1.png" />
</div>
<div class="photo">
<img src="../../assets/images/taskpage/picture1.png"/>
<img src="../../assets/images/taskpage/picture1.png" />
</div>
<div class="rightt">
<img src="../../assets/images/taskpage/right1.png"/>
<img src="../../assets/images/taskpage/right1.png" />
</div>
<div class="centerbox" style="color: rgba(255, 182, 78, 1)">
添加任务
@@ -772,18 +772,18 @@
</div>
<div class="groupright">
<div class="btn1" @click="searchStu">
<img src="../../assets/images/courseManage/search0.png"/>
<img src="../../assets/images/courseManage/search0.png" />
<span class="btn1text">搜索</span>
</div>
<div class="btn2" @click="resetCancel">
<img src="../../assets/images/courseManage/reset1.png"/>
<img src="../../assets/images/courseManage/reset1.png" />
<span class="btn2text">重置</span>
</div>
</div>
</div>
<div class="second2" style="margin-top: 20px">
<div class="btn1" @click="showStuAdd">
<img src="../../assets/images/courseManage/add0.png"/>
<img src="../../assets/images/courseManage/add0.png" />
<span class="btn1text">添加学员</span>
</div>
<!-- 2022-11-30注释 后面放开 -->
@@ -792,12 +792,12 @@
<span class="btn2text">导入学员</span>
</div> -->
<div class="btn2" @click="showAllDelete">
<img src="../../assets/images/projectadd/delete.png"/>
<img src="../../assets/images/projectadd/delete.png" />
<span class="btn2text">批量删除</span>
</div>
</div>
<div class="talk">
<img class="im" src="../../assets/images/leveladd/gan.png"/>
<img class="im" src="../../assets/images/leveladd/gan.png" />
<div class="xu">
<span class="yi">已选择</span>
<div style="width: 5px; display: inline-block"></div>
@@ -860,18 +860,18 @@
</div>
<div class="groupright">
<div class="btn1" @click="searchGroup">
<img src="../../assets/images/courseManage/search0.png"/>
<img src="../../assets/images/courseManage/search0.png" />
<span class="btn1text">搜索</span>
</div>
<div class="btn2" @click="resetGroupName">
<img src="../../assets/images/courseManage/reset1.png"/>
<img src="../../assets/images/courseManage/reset1.png" />
<span class="btn2text">重置</span>
</div>
</div>
</div>
<div class="second2">
<div class="btn1" @click="showModal2(1, null)">
<img src="../../assets/images/courseManage/add0.png"/>
<img src="../../assets/images/courseManage/add0.png" />
<span class="btn1text">创建小组</span>
</div>
<!-- 2022-12-2注释 后面放开 -->
@@ -911,7 +911,7 @@
<div class="leader">组长:{{ item.leaderName }}</div>
<div class="grocenter">
<div class="leader1">进度</div>
<a-progress :percent="item.completeRatio"/>
<a-progress :percent="item.completeRatio" />
</div>
<div
class="grofooter"
@@ -1236,7 +1236,12 @@
<div
v-for="item in fileList"
:key="item.uid"
style="width:500px;display:flex;justify-content:space-between;align-items:center;"
style="
width: 500px;
display: flex;
justify-content: space-between;
align-items: center;
"
class="docListStyle"
>
<img
@@ -1249,9 +1254,17 @@
"
alt=""
/>
<span style="font: oblique bold 16px Sans-serif;width:300px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;">{{
item.name
}}</span>
<span
style="
font: oblique bold 16px Sans-serif;
width: 300px;
display: block;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
"
>{{ item.name }}</span
>
<span
style="color: #4ea6ff; float: right; cursor: pointer"
@click="deFile(item.uid)"
@@ -1281,7 +1294,7 @@
:title="showFaceText"
/>
<!-- 学员(小组管理)创建小组抽屉 -->
<subset-manage v-model:Svisible="subsetVisivle"/>
<subset-manage v-model:Svisible="subsetVisivle" />
<!-- 学员管理-添加学员抽屉 -->
<!-- <stu-add v-model:Stuvisible="Stuvisible" /> -->
<!-- 添加学员抽屉 -->
@@ -1294,7 +1307,7 @@
:type="2"
/>
<!-- 学员管理-导入学员抽屉 -->
<import-stu v-model:Importvisible="Importvisible"/>
<import-stu v-model:Importvisible="Importvisible" />
<!-- 查看学员 传入查看学员的id-->
<see-stu
v-model:Seevisible="Seevisible"
@@ -1317,9 +1330,9 @@
v-model:projectId="projectId"
/>
<!-- 面授学员抽屉 -->
<face-stu v-model:FSvisible="FSvisible"/>
<face-stu v-model:FSvisible="FSvisible" />
<!-- 活动考勤抽屉 -->
<active-attendance v-model:AAvisible="AAvisible" :title="showkaoqinText"/>
<active-attendance v-model:AAvisible="AAvisible" :title="showkaoqinText" />
<!-- 作业管理抽屉 -->
<work-manage
v-model:Wvisible="Wvisible"
@@ -1334,7 +1347,7 @@
:itemsType="itemstype"
/>
<!-- 批量面授报名 -->
<task-imp-stu v-model:TaskFaceImpStuvisible="TaskFaceImpStuvisible"/>
<task-imp-stu v-model:TaskFaceImpStuvisible="TaskFaceImpStuvisible" />
<!-- 概览(无数据)-项目发布弹窗 -->
<div>
@@ -1393,7 +1406,7 @@
</div>
</div>
<div class="send">
<a-switch v-model:checked="checked" size="small"/>
<a-switch v-model:checked="checked" size="small" />
<span class="sendtext">发送项目通知</span>
</div>
<div class="ckb">
@@ -1657,7 +1670,7 @@
</a-modal>
</div>
<!-- 编辑项目弹窗 -->
<proj-set v-model:editHs="editHs" v-model:projectId="projectId"/>
<proj-set v-model:editHs="editHs" v-model:projectId="projectId" />
<!-- 发布弹窗 -->
<a-modal
@@ -1739,7 +1752,7 @@
class="aeLoading"
:style="{ display: projectPubLoading ? 'flex' : 'none' }"
>
<a-spin :spinning="projectPubLoading"/>
<a-spin :spinning="projectPubLoading" />
</div>
</a-modal>
@@ -1881,9 +1894,9 @@
</div>
</template>
<script>
import {reactive, toRefs, onMounted, watch, computed} from "vue";
import {useRoute} from "vue-router";
import {useRouter} from "vue-router";
import { reactive, toRefs, onMounted, watch, computed } from "vue";
import { useRoute } from "vue-router";
import { useRouter } from "vue-router";
import TimeManage from "../../components/drawers/TimeManage";
import FaceManage from "../../components/drawers/FaceManage";
import SubsetManage from "../../components/drawers/SubsetManage";
@@ -1899,7 +1912,7 @@ import ChangeGroup from "../../components/drawers/ChangeGroup";
import NoticePub from "../../components/drawers/NoticePub";
import NoticeHis from "../../components/drawers/NoticeHis";
import TaskImpStu from "../../components/drawers/TaskFaceIn";
import {storage} from "../../api/storage";
import { storage } from "../../api/storage";
import * as api from "../../api/index1";
import * as apis from "../../api/index";
import * as apiproj from "../../api/index";
@@ -1912,15 +1925,15 @@ import {
editGroup,
topStudent,
} from "../../api/indexProjStu";
import {message, Modal} from "ant-design-vue";
import { message, Modal } from "ant-design-vue";
import * as apitl from "../../api/index";
import {getTask} from "../../api/indexTaskadd";
import {editProj} from "../../api/indexTaskadd";
import {toDate, codeUrl} from "../../api/method";
import { getTask } from "../../api/indexTaskadd";
import { editProj } from "../../api/indexTaskadd";
import { toDate, codeUrl } from "../../api/method";
import projSet from "../../components/Modals/projSet";
import {overview} from "../../api/indexProjStu";
import { overview } from "../../api/indexProjStu";
import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue";
import {useStore} from "vuex";
import { useStore } from "vuex";
import ProjectLevel from "@/components/project/ProjectLevel";
import TrainClass from "@/components/project/TrainClass";
import ProjectManager from "@/components/project/ProjectManagerNew";
@@ -2021,23 +2034,23 @@ export default {
projectTaskId: "", //项目任务任务id
//进度排行学员
rankjindu: [
{value: "学员", label: "学员"},
{value: "小组", label: "小组"},
{ value: "学员", label: "学员" },
{ value: "小组", label: "小组" },
],
valuestu1: "学员",
//进度排行阶段
rankjieduan: [{value: "第一阶段", label: "第一阶段"}],
rankjieduan: [{ value: "第一阶段", label: "第一阶段" }],
valuestu2: "第一阶段",
//积分排行
rankxuefen: [
{value: "学员", label: "学员"},
{value: "小组", label: "小组"},
{ value: "学员", label: "学员" },
{ value: "小组", label: "小组" },
],
valuestu3: "学员",
//学时排行
rankxueshi: [
{value: "学员", label: "学员"},
{value: "小组", label: "小组"},
{ value: "学员", label: "学员" },
{ value: "小组", label: "小组" },
],
valuestu4: "学员",
visible: false, //时间管理
@@ -2185,21 +2198,21 @@ export default {
if (text.record.rank == "1") {
return (
<img
style={{width: 24, height: 24}}
style={{ width: 24, height: 24 }}
src={require("../../assets/images/taskpage/one.png")}
/>
);
} else if (text.record.rank == "2") {
return (
<img
style={{width: 24, height: 24}}
style={{ width: 24, height: 24 }}
src={require("../../assets/images/taskpage/two.png")}
/>
);
} else if (text.record.rank == "3") {
return (
<img
style={{width: 24, height: 24}}
style={{ width: 24, height: 24 }}
src={require("../../assets/images/taskpage/three.png")}
/>
);
@@ -2292,21 +2305,21 @@ export default {
if (text.record.rank == "1") {
return (
<img
style={{width: 24, height: 24}}
style={{ width: 24, height: 24 }}
src={require("../../assets/images/taskpage/one.png")}
/>
);
} else if (text.record.rank == "2") {
return (
<img
style={{width: 24, height: 24}}
style={{ width: 24, height: 24 }}
src={require("../../assets/images/taskpage/two.png")}
/>
);
} else if (text.record.rank == "3") {
return (
<img
style={{width: 24, height: 24}}
style={{ width: 24, height: 24 }}
src={require("../../assets/images/taskpage/three.png")}
/>
);
@@ -2399,21 +2412,21 @@ export default {
if (text.record.rank == "1") {
return (
<img
style={{width: 24, height: 24}}
style={{ width: 24, height: 24 }}
src={require("../../assets/images/taskpage/one.png")}
/>
);
} else if (text.record.rank == "2") {
return (
<img
style={{width: 24, height: 24}}
style={{ width: 24, height: 24 }}
src={require("../../assets/images/taskpage/two.png")}
/>
);
} else if (text.record.rank == "3") {
return (
<img
style={{width: 24, height: 24}}
style={{ width: 24, height: 24 }}
src={require("../../assets/images/taskpage/three.png")}
/>
);
@@ -2741,7 +2754,11 @@ export default {
// getTableDate();
const totask = () => {
state.activeKey = "2";
// state.activeKey = "2";
routered.push({
path: `/taskadd`,
query: { projectId: state.projectId },
});
};
const tostudent = () => {
state.activeKey = "3";
@@ -3178,7 +3195,7 @@ export default {
// width: 60,
align: "center",
className: "h",
scopedSlots: {customRender: "action"}, //引入的插槽
scopedSlots: { customRender: "action" }, //引入的插槽
customRender: (text) => {
// console.log(text);
return (
@@ -3499,10 +3516,12 @@ export default {
//清空所选的学员
const clearChooseStu = () => {
Modal.confirm({
title: '确定清空所有学员吗?', onOk: async () => {
state.tabledata = []
student.studentDelAll({id: state.projectId, type: 1})
}, bodyStyle: 'margin-top:70%'
title: "确定清空所有学员吗?",
onOk: async () => {
state.tabledata = [];
student.studentDelAll({ id: state.projectId, type: 1 });
},
bodyStyle: "margin-top:70%",
});
};
//学员重置
@@ -3723,7 +3742,7 @@ export default {
//start---------项目概览
// 获取项目概览
const getOverview = () => {
overview({projectId: state.projectId})
overview({ projectId: state.projectId })
.then((res) => {
Object.keys(res.data.data.projectInfoOverview).forEach((item) => {
levelList.projectInfoOverview[item] =
@@ -3782,7 +3801,7 @@ export default {
});
};
const handleChange = ({file, fileList}) => {
const handleChange = ({ file, fileList }) => {
let list = [];
if (file.status !== "uploading") {
console.log("上传的list", fileList);
@@ -3917,8 +3936,10 @@ export default {
apiproj.getProjectCount(state.projectId).then((res) => {
console.log("获取关卡、任务、学员统计数据", res.data);
// state.projectStudentsNum = res.data.students;
state.projectStages = res.data.stages;
state.projectTasks = res.data.tasks;
// state.projectStages = res.data.stages;
// state.projectTasks = res.data.tasks;
state.projectStages = res.data.data.stages;
state.projectTasks = res.data.data.tasks;
});
//获取学员总数
let obj = {