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

This commit is contained in:
zhangyc
2022-12-04 20:05:52 +08:00
6 changed files with 871 additions and 731 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -460,11 +460,15 @@
</div>
<div class="time">
<div class="timetext">开始时间</div>
<div class="timetext">{{ item.startTime!==null?item.startTime:''}}</div>
<div class="timetext">
{{ item.startTime !== null ? item.startTime : "" }}
</div>
</div>
<div class="progress">
<div class="progresstext">
{{ item.complete?item.complete:0 }}/{{ item.total?item.total:0 }}
{{ item.complete ? item.complete : 0 }}/{{
item.total ? item.total : 0
}}
</div>
<div style="display: flex">
<a-progress
@@ -474,7 +478,7 @@
trailColor="rgba(253, 209, 98, 0.2)"
/>
<span class="progresstext" style="margin-left: 10px"
>{{ item.percent?item.percent:0 }}%</span
>{{ item.percent ? item.percent : 0 }}%</span
>
</div>
</div>
@@ -768,7 +772,10 @@
<div class="box"></div>
<div class="onetitle">上传共享文档</div>
<div class="oneedi">
<a-switch v-model:checked="docChecked" @change="checkedClose"></a-switch>
<a-switch
v-model:checked="docChecked"
@change="checkedClose"
></a-switch>
</div>
</div>
<div class="btnbox" style="margin: 20px">
@@ -1217,6 +1224,15 @@
</div>
</div>
</a-modal>
<!-- 二维码弹窗 -->
<two-dimensional-code
v-model:codevisible="codevisible"
:codeInfo="codeInfo"
index="0"
type="课程二维码"
/>
<!-- 二维码弹窗 -->
</div>
</template>
<script>
@@ -1243,6 +1259,7 @@ import { GetRouterDetail } from "@/api/indexTask";
import * as api from "../../api/index1";
import { toDate } from "../../api/method";
import { editRoutered } from "../../api/indexLearningPath";
import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue";
export default {
name: "LevelAdd",
components: {
@@ -1257,6 +1274,7 @@ export default {
FaceManage,
WorkManage,
SeeStu,
TwoDimensionalCode,
},
setup() {
// const routers = useRoute();
@@ -1888,7 +1906,7 @@ export default {
const getOverview = () => {
getRouterOverview(state.routerId)
.then((res) => {
console.log(res)
console.log(res);
Object.keys(res.data.data.routerInfoOverview).forEach((item) => {
levelList.routerInfoOverview[item] =
res.data.data.routerInfoOverview[item] || 0;
@@ -1911,40 +1929,40 @@ export default {
};
// 设置上传图片开关
const checkedClose = (data,a) => {
console.log(data,a)
state.docChecked = data
const checkedClose = (data, a) => {
console.log(data, a);
state.docChecked = data;
console.log({
routerId: state.routerId,
status: state.action,
attachSwitch: data ? 1: -1
})
routerId: state.routerId,
status: state.action,
attachSwitch: data ? 1 : -1,
});
// 更新开关状态
editRoutered({
attach:JSON.stringify(state.fileList),
name: state.styTitle,
picUrl: state.picUrl,
remark: state.remark,
routerId: state.routerId,
status: state.action,
attachSwitch: data ? 1: -1
attach: JSON.stringify(state.fileList),
name: state.styTitle,
picUrl: state.picUrl,
remark: state.remark,
routerId: state.routerId,
status: state.action,
attachSwitch: data ? 1 : -1,
})
.then((res) => {
console.log(res);
})
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
});
}
.catch((err) => {
console.log(err);
});
};
// 获取路径列表
const myGetRouterDetail = () => {
GetRouterDetail(state.routerId)
.then((res) => {
console.log('router-list',res)
state.fileList = JSON.parse(res.data.data.routerInfo.attach)
state.docChecked = res.data.data.routerInfo.attachSwitch == 1?true:false
console.log("router-list", res);
state.fileList = JSON.parse(res.data.data.routerInfo.attach);
state.docChecked =
res.data.data.routerInfo.attachSwitch == 1 ? true : false;
if (res.data.data.routerInfo.status == 1) {
state.nodata = false;
}
@@ -1990,7 +2008,7 @@ export default {
remark: state.remark,
routerId: state.routerId,
status: state.action,
attachSwitch: state.docChecked?1:-1
attachSwitch: state.docChecked ? 1 : -1,
})
.then((res) => {
console.log(res);
@@ -2213,7 +2231,7 @@ export default {
deleteStu,
totask,
tostudent,
checkedClose
checkedClose,
};
},
};

View File

@@ -928,34 +928,32 @@ export default defineComponent({
api
.templateDetail(localStorage.getItem("projectTemplateId"))
.then((res) => {
console.log('get model list ----->',res, res.data.data.stageList)
state.taskSyllabus = [];
console.log(res);
state.projectInfo.name = res.data.data.projectTemplateInfo.name;
state.projectInfo.beginTime =
res.data.data.projectTemplateInfo.beginTime;
state.projectInfo.beginTime = res.data.data.projectTemplateInfo.beginTime;
state.projectInfo.endTime = res.data.data.projectTemplateInfo.endTime;
state.projectInfo.manager = res.data.data.projectTemplateInfo.manager;
state.projectInfo.notice = res.data.data.projectTemplateInfo.notice;
state.projectInfo.sourceBelongId =
res.data.data.projectTemplateInfo.sourceBelongId;
state.projectInfo.managerId =
res.data.data.projectTemplateInfo.managerId;
state.projectInfo.remark = res.data.data.stageList.remark;
state.projectInfo.courseSyncFlag =
res.data.data.projectTemplateInfo.courseSyncFlag;
state.projectInfo.sourceBelongId = res.data.data.projectTemplateInfo.sourceBelongId;
state.projectInfo.managerId = res.data.data.projectTemplateInfo.managerId;
state.projectInfo.remark = res.data.data.projectTemplateInfo.remark;
state.projectInfo.courseSyncFlag = res.data.data.projectTemplateInfo.courseSyncFlag;
state.projectInfo.level = res.data.data.projectTemplateInfo.level;
state.projectInfo.systemId =
res.data.data.projectTemplateInfo.systemId;
state.projectInfo.systemId = res.data.data.projectTemplateInfo.systemId;
state.projectInfo.boeFlag = res.data.data.projectTemplateInfo.boeFlag;
state.projectInfo.noticeFlag =
res.data.data.projectTemplateInfo.noticeFlag;
state.projectInfo.noticeFlag = res.data.data.projectTemplateInfo.noticeFlag;
state.projectInfo.remark = res.data.data.projectTemplateInfo.remark;
state.projectInfo.status = res.data.data.projectTemplateInfo.status;
state.projectInfo.picUrl = res.data.data.projectTemplateInfo.picUrl;
state.projectInfo.attach =res.res.data.data.projectTemplateInfo.attach;
state.projectInfo.attach = res.data.data.projectTemplateInfo.attach;
let data = res.data.data.stageList;
console.log("data=====", data);
for (let i in data) {
console.log('what ------ > ', i,data)
state.taskSyllabus.push({ text: data[i].name, children: [] });
for (let j in data[i].taskList) {
state.taskSyllabus[i].children.push({

View File

@@ -44,7 +44,6 @@
placeholder="请选择状态"
:options="sProjectStateList"
allowClear
showSearch
></a-select>
</div>
<div class="select">
@@ -1526,6 +1525,7 @@ export default {
onClick={() => {
router.push({
path: "/taskpage",
query: {projectId: value.record.projectId}
});
storage.set("projectId", value.record.projectId);
}}

View File

@@ -872,11 +872,11 @@
<span>您确定要取消阶段吗</span>
</div>
<div class="del_btnbox">
<div class="del_btn btn1">
<div class="btnText" @click="delete_exit">取消</div>
<div class="del_btn btn1" @click="closeCancel">
<div class="btnText" >取消</div>
</div>
<div class="del_btn btn2">
<div class="btnText" @click="showModal">确定</div>
<div class="del_btn btn2" @click="showModal">
<div class="btnText" >确定</div>
</div>
</div>
</div>
@@ -902,11 +902,11 @@
<span>您确定要删除此任务吗</span>
</div>
<div class="del_btnbox">
<div class="del_btn btn1">
<div class="btnText" @click="delete_exit">取消</div>
<div class="del_btn btn1" @click="closeDelete">
<div class="btnText">取消</div>
</div>
<div class="del_btn btn2">
<div class="btnText" @click="showModal1">确定</div>
<div class="del_btn btn2" @click="showModal1">
<div class="btnText" >确定</div>
</div>
</div>
</div>
@@ -931,11 +931,11 @@
<span>您确定要批量删除任务吗</span>
</div>
<div class="del_btnbox">
<div class="del_btn btn1">
<div class="btnText" @click="closeDeAll">取消</div>
<div class="del_btn btn1" @click="closeDeAll">
<div class="btnText">取消</div>
</div>
<div class="del_btn btn2">
<div class="btnText" @click="deleteTaskAll">确定</div>
<div class="del_btn btn2" @click="deleteTaskAll">
<div class="btnText">确定</div>
</div>
</div>
</div>
@@ -1027,7 +1027,7 @@
</template>
<script>
import {reactive, toRefs, onMounted, onUnmounted, onUpdated} from "vue";
import {reactive, toRefs, onMounted, onUnmounted, onUpdated, watch} from "vue";
import AddOnline from "../../components/drawers/AddOnline.vue";
import AddFaceteach from "../../components/drawers/AddFaceteach.vue";
import AddCase from "../../components/drawers/AddCase.vue";
@@ -1048,7 +1048,7 @@ import draggable from "vuedraggable";
import {storage} from "../../api/storage";
// import UnlockMode from "../../components/drawers/UnlockMode.vue";
// import * as api1 from "../../api/index1";
import {useRouter} from "vue-router";
import {useRoute, useRouter} from "vue-router";
export default {
name: "TaskAdd",
@@ -1070,10 +1070,9 @@ export default {
},
setup() {
const router = useRouter();
const route = useRoute();
const state = reactive({
projectId: storage.get("projectId")
? JSON.parse(storage.get("projectId"))
: null,
projectId: route.query.projectId,
chooseStageId: null,
removeStageId: null,
edit: false,
@@ -1160,6 +1159,10 @@ export default {
console.log("visible", bool);
};
watch(route, () => {
console.log(route)
})
// 把数据放到state里
const getTableData = (tableData) => {
let data = tableData;
@@ -1360,90 +1363,86 @@ export default {
//获取任务列表
const getTask = async () => {
// console.log("state.projectId", state.projectId);
let obj = {
projectId: state.projectId,
// projectId: 28,
};
await api
.getTask(obj)
.then((res) => {
if (res.status == 200) {
console.log("22222", res.data.data.stageList);
// console.log("22222", res.data.data.stageList);
state.projectTitle = res.data.data.projectInfo.name;
state.picUrl = res.data.data.projectInfo.picUrl;
state.stageList = res.data.data.stageList;
let leng = res.data.data.stageList.length;
if (leng > 0) {
let stage = localStorage.getItem("stageId") ? localStorage.getItem("stageId") : null;
// console.log("stage",Object.prototype.toString.call(stage))
getStageData(res.data.data.stageList);
if (stage != null) {
console.log(stage);
let stageList = res.data.data.stageList; //阶段数组
let result = stageList.find((item) => item.stageId == stage);
console.log("又找到了", result);
if (result != null) {
getTableData(result.taskList);
} else {
//没有选中的阶段时,获取全部的任务
console.log(stage);
let stageList = res.data.data.stageList; //阶段数组
if (stageList != null) {
let taskListAll;
stageList.forEach((item) => {
taskListAll = [...item.taskList];
});
console.log("taskListAll", taskListAll);
getTableData(taskListAll);
}
}
} else {
console.log(stage);
let stageList = res.data.data.stageList; //阶段数组
if (stageList != null) {
let taskListAll;
stageList.forEach((item) => {
taskListAll = [...item.taskList];
});
console.log("taskListAll", taskListAll);
getTableData(taskListAll);
}
}
// 每次都获取了第一条taskList
// let arr = res.data.data.stageList[0].taskList;
// console.log("任务列表", stage, arr);
// getTableData(arr);
}
// //获取阶段列表
let stagearr = res.data.data.stageList;
// let arrlist = state.curLevel;
console.log(stagearr, 111111);
if (stagearr.length > 0) {
getStageData(stagearr);
// stagearr.map((value) => {
// console.log(value);
// // arrlist.push(value);
// });
}
//给阶段id赋初始值
let stageid = localStorage.getItem("stageId")
? localStorage.getItem("stageId")
: null;
if (stageid !== "null") {
state.chooseStageId = stageid;
} else {
state.chooseStageId = leng > 0 ? stagearr[0].stageId : null;
}
let final = state.level.find((item) => item.id == state.chooseStageId);
getTableData(final.taskList);
}
console.log("22222", res.data.data.stageList);
state.projectTitle = res.data.data.projectInfo.name;
state.picUrl = res.data.data.projectInfo.picUrl;
state.stageList = res.data.data.stageList;
getStageData(res.data.data.stageList);
updateStageChoosd()
// let leng = res.data.data.stageList.length;
// if (leng > 0) {
// let stage = localStorage.getItem("stageId") ? localStorage.getItem("stageId") : null;
//
// // console.log("stage",Object.prototype.toString.call(stage))
// if (stage != null) {
// console.log(stage);
// let stageList = res.data.data.stageList; //阶段数组
//
//
//
// let result = stageList.find((item) => item.stageId == stage);
// console.log("又找到了", result);
// if (result != null) {
// getTableData(result.taskList);
// } else {
// //没有选中的阶段时,获取全部的任务
// console.log(stage);
// let stageList = res.data.data.stageList; //阶段数组
// if (stageList != null) {
// let taskListAll;
// stageList.forEach((item) => {
// taskListAll = [...item.taskList];
// });
// console.log("taskListAll", taskListAll);
// getTableData(taskListAll);
// }
// }
// } else {
// console.log(stage);
// let stageList = res.data.data.stageList; //阶段数组
// if (stageList != null) {
// let taskListAll;
// stageList.forEach((item) => {
// taskListAll = [...item.taskList];
// });
// console.log("taskListAll", taskListAll);
// getTableData(taskListAll);
// }
// }
// // 每次都获取了第一条taskList
// // let arr = res.data.data.stageList[0].taskList;
// // console.log("任务列表", stage, arr);
// // getTableData(arr);
// }
// // //获取阶段列表
// let stagearr = res.data.data.stageList;
// // let arrlist = state.curLevel;
// console.log(stagearr, 111111);
// if (stagearr.length > 0) {
// getStageData(stagearr);
// // stagearr.map((value) => {
// // console.log(value);
// // // arrlist.push(value);
// // });
// }
// //给阶段id赋初始值
// let stageid = localStorage.getItem("stageId")
// ? localStorage.getItem("stageId")
// : null;
// if (stageid !== "null") {
// state.chooseStageId = stageid;
// } else {
// state.chooseStageId = leng > 0 ? stagearr[0].stageId : null;
// }
// let final = state.level.find((item) => item.id == state.chooseStageId);
// getTableData(final.taskList);
})
.catch((err) => {
console.log("获取任务列表失败", err);
});
};
//获取修改、删除id投票)
@@ -1459,18 +1458,28 @@ export default {
};
//删除任务
const deleteTask = () => {
let obj = {projectTaskIds: state.deleteID};
api
.deleteTask(obj)
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
});
const deleteTask = async () => {
await api.deleteTask({projectTaskIds: state.deleteID})
//删除后更新索引
};
function updateStageChoosd() {
console.log('updateStageChoosd')
console.log(state.chooseStageId)
if (state.chooseStageId && state.stageList.find(e => e.stageId == state.chooseStageId)) {
getTableData(state.stageList.find(e => e.stageId == state.chooseStageId)?.taskList);
return
}
state.chooseStageId = ''
const arr = state.stageList.filter(e => e.name);
arr && arr.length && (state.chooseStageId = arr[0].stageId);
if (!state.chooseStageId) {
getTableData(state.stageList[0].taskList)
return
}
getTableData(state.stageList.find(e => e.stageId == state.chooseStageId)?.taskList);
}
const showChangeModal = () => {
if (state.selectRow.length == 0) {
message.destroy();
@@ -1771,7 +1780,7 @@ export default {
state.selectAll = 0; //0未选择1全选2部分选择
console.log("state.level", id, state.level);
state.chooseStageId = id;
let final = state.level.find((item) => item.id === id);
let final = state.level.find((item) => item.id == id);
getTableData(final.taskList);
};

View File

@@ -323,8 +323,10 @@
<!-- <button class="btn" @click="showFaceIn" v-if="morFaceT">
批量面授报名
</button> -->
<router-link to="/taskadd">
<button to="/taskadd" class="edit">
<router-link
:to="{ path: `/taskadd`, query: { projectId: projectId } }"
>
<button class="edit">
<img
class="editimg"
src="../../assets/images/projectadd/edit.png"
@@ -367,175 +369,175 @@
/>
<div></div>
</template>
<a-collapse-panel
v-for="(value, index) in taskSyllabus"
:key="index"
:header="value.name"
>
<div
class="course"
v-for="(item, key) in value.taskList"
:key="key"
<template v-for="(value, index) in taskSyllabus">
<a-collapse-panel
:key="index"
v-if="value.name"
:header="value.name"
>
<div class="first">
<div class="icon">
<div
style="
width: 31px;
height: 28px;
display: flex;
align-items: center;
justify-content: center;
"
>
<img
:src="
item.type == 1
? require('../../assets/images/leveladd/zai.png')
: item.type == 2
? require('../../assets/images/leveladd/mian.png')
: item.type == 3
? require('../../assets/images/leveladd/an.png')
: item.type == 4
? require('../../assets/images/leveladd/zuo.png')
: item.type == 5
? require('../../assets/images/leveladd/kao.png')
: item.type == 6
? require('../../assets/images/leveladd/zhi.png')
: item.type == 7
? require('../../assets/images/leveladd/wai.png')
: item.type == 8
? require('../../assets/images/leveladd/tao.png')
: item.type == 9
? require('../../assets/images/leveladd/huo.png')
: item.type == 10
? require('../../assets/images/leveladd/ce.png')
: item.type == 11
? require('../../assets/images/leveladd/pinggu.png')
: item.type == 12
? require('../../assets/images/leveladd/tou.png')
: item.type == 13
? require('../../assets/images/leveladd/tou.png')
: require('../../assets/images/leveladd/xiangmu.png')
<div
class="course"
v-for="(item, key) in value.taskList"
:key="key"
>
<div class="first">
<div class="icon">
<div
style="
width: 31px;
height: 28px;
display: flex;
align-items: center;
justify-content: center;
"
/>
>
<img
:src="
item.type == 1
? require('../../assets/images/leveladd/zai.png')
: item.type == 2
? require('../../assets/images/leveladd/mian.png')
: item.type == 3
? require('../../assets/images/leveladd/an.png')
: item.type == 4
? require('../../assets/images/leveladd/zuo.png')
: item.type == 5
? require('../../assets/images/leveladd/kao.png')
: item.type == 6
? require('../../assets/images/leveladd/zhi.png')
: item.type == 7
? require('../../assets/images/leveladd/wai.png')
: item.type == 8
? require('../../assets/images/leveladd/tao.png')
: item.type == 9
? require('../../assets/images/leveladd/huo.png')
: item.type == 10
? require('../../assets/images/leveladd/ce.png')
: item.type == 11
? require('../../assets/images/leveladd/pinggu.png')
: item.type == 12
? require('../../assets/images/leveladd/tou.png')
: item.type == 13
? require('../../assets/images/leveladd/tou.png')
: require('../../assets/images/leveladd/xiangmu.png')
"
/>
</div>
</div>
<div>
<div class="iconame">「{{ item.name }}」</div>
<div class="icontext">{{ item.name }}</div>
</div>
</div>
<div>
<div class="iconame">「{{ item.name }}」</div>
<div class="icontext">{{ item.name }}</div>
</div>
</div>
<div class="type">
<div
:class="item.flag == true ? 'typename1' : 'typename'"
>
<span v-if="item.flag">必修</span>
<span v-else>选修</span>
</div>
</div>
<div class="time">
<div class="timetext">开始时间</div>
<div class="timetext">
{{
item.startTime !== null ? item.startTime: ''
}}
</div>
</div>
<div class="progress">
<div class="progresstext">
{{
item.finishStuCnt && item.finishStuCnt !== null
? item.finishStuCnt
: 0
}}/{{
item.totalStuCnt && item.totalStuCnt !== null
? item.totalStuCnt
: 0
}}人
</div>
<div style="display: flex">
<a-progress
:showInfo="false"
:percent="item.percent"
strokeColor="#FFC067"
trailColor="rgba(253, 209, 98, 0.2)"
/>
<span class="progresstext" style="margin-left: 10px"
>{{
(item.finishStuCnt && item.finishStuCnt !== null
? item.finishStuCnt
: 0 / item.totalStuCnt &&
item.totalStuCnt !== null
? item.totalStuCnt
: 0) * 100
}}%</span
<div class="type">
<div
:class="item.flag == true ? 'typename1' : 'typename'"
>
<span v-if="item.flag">必修</span>
<span v-else>选修</span>
</div>
</div>
<div class="time">
<div class="timetext">开始时间</div>
<div class="timetext">
{{ item.startTime !== null ? item.startTime : "" }}
</div>
</div>
<div class="progress">
<div class="progresstext">
{{
item.finishStuCnt && item.finishStuCnt !== null
? item.finishStuCnt
: 0
}}/{{
item.totalStuCnt && item.totalStuCnt !== null
? item.totalStuCnt
: 0
}}人
</div>
<div style="display: flex">
<a-progress
:showInfo="false"
:percent="item.percent"
strokeColor="#FFC067"
trailColor="rgba(253, 209, 98, 0.2)"
/>
<span class="progresstext" style="margin-left: 10px"
>{{
(item.finishStuCnt && item.finishStuCnt !== null
? item.finishStuCnt
: 0 / item.totalStuCnt &&
item.totalStuCnt !== null
? item.totalStuCnt
: 0) * 100
}}%</span
>
</div>
</div>
<div class="operations">
<!-- 2022-11-30注释 后面放开 -->
<!-- <div
class="operation"
style="cursor: pointer"
:style="{
display: item.type == '2' ? 'flex' : 'none',
}"
@click="showFS"
>
学员
</div> -->
<!-- <div
class="operation"
style="cursor: pointer"
@click="showAA(item.name)"
:style="{
display:
item.type == '6' || item.type == '9'
? 'flex'
: 'none',
}"
>
考勤
</div> -->
<div
class="operation"
style="cursor: pointer"
@click="showCodeModal"
>
二维码
</div>
<!-- 2022-11-30注释 后面放开 -->
<!-- <div
class="operation"
style="cursor: pointer; margin-right: 35px"
@click="
item.type == '1' ||
item.type == '3' ||
item.type == '7' ||
item.type == '8' ||
item.type == '9' ||
item.type == '11' ||
item.type == '12'
? showTime(item.name, item.projectTaskId, item.type)
: item.type == '5' || item.type == '10'
? showTest(item.name, item.projectTaskId, item.type)
: item.type == '2' || item.type == '6'
? showFace(item.name, item.projectTaskId)
: item.type == '4'
? showWork(item.name, item.projectTaskId)
: null
"
>
管理
</div> -->
</div>
</div>
<div class="operations">
<!-- 2022-11-30注释 后面放开 -->
<!-- <div
class="operation"
style="cursor: pointer"
:style="{
display: item.type == '2' ? 'flex' : 'none',
}"
@click="showFS"
>
学员
</div> -->
<!-- <div
class="operation"
style="cursor: pointer"
@click="showAA(item.name)"
:style="{
display:
item.type == '6' || item.type == '9'
? 'flex'
: 'none',
}"
>
考勤
</div> -->
<div
class="operation"
style="cursor: pointer"
@click="showCodeModal"
>
二维码
</div>
<!-- 2022-11-30注释 后面放开 -->
<!-- <div
class="operation"
style="cursor: pointer; margin-right: 35px"
@click="
item.type == '1' ||
item.type == '3' ||
item.type == '7' ||
item.type == '8' ||
item.type == '9' ||
item.type == '11' ||
item.type == '12'
? showTime(item.name, item.projectTaskId, item.type)
: item.type == '5' || item.type == '10'
? showTest(item.name, item.projectTaskId, item.type)
: item.type == '2' || item.type == '6'
? showFace(item.name, item.projectTaskId)
: item.type == '4'
? showWork(item.name, item.projectTaskId)
: null
"
>
管理
</div> -->
</div>
</div>
</a-collapse-panel>
</a-collapse-panel>
</template>
</a-collapse>
<!-- 无数据创建任务 v-if="taskSyllabus.length == 0"-->
<router-link
to="/taskadd"
:to="{ path: `/taskadd`, query: { projectId: projectId } }"
class="taskbox"
style="
background: linear-gradient(180deg, #ddeaff, #f0f8fe);
@@ -564,7 +566,10 @@
class="taskbox"
@click="
() => {
routered.push({ path: '/taskadd' });
routered.push({
path: `/taskadd`,
query: { projectId: projectId },
});
}
"
style="background: linear-gradient(180deg, #fef3dd, #fffaf0)"
@@ -776,10 +781,11 @@
<img src="../../assets/images/courseManage/add0.png" />
<span class="btn1text">创建小组</span>
</div>
<div class="btn2" @click="showSubset">
<!-- 2022-12-2注释 后面放开 -->
<!-- <div class="btn2" @click="showSubset">
<img src="../../assets/images/courseManage/reset2.png" />
<span class="btn2text">随机分组</span>
</div>
</div> -->
</div>
<!-- 小组列表 -->
<div class="groupmain">
@@ -1795,11 +1801,10 @@ export default {
},
setup() {
const store = useStore();
const route = useRoute();
const state = reactive({
loading: false,
projectId: storage.get("projectId")
? JSON.parse(storage.get("projectId"))
: null,
projectId: route.query.projectId,
isbj: storage.get("isbj") ? JSON.parse(storage.get("isbj")) : null,
// pN: storage.get("pN") ? JSON.parse(storage.get("pN")) : null,
pN: storage.get("pN"),
@@ -2457,7 +2462,7 @@ export default {
//任务大纲渲染
const getTaskList = () => {
let objtl = {
projectId: storage.get("projectId"),
projectId: state.projectId,
};
apitl
.getProjectDetail(objtl)
@@ -3210,6 +3215,7 @@ export default {
};
//把小组列表信息放到state里
const setGroupList = (tableData) => {
console.log("tableDatatableDatatableData", tableData);
let data = tableData;
let array = [];
data.map((value) => {
@@ -3222,7 +3228,7 @@ export default {
source: value.source == 1 ? "指定添加" : "随机分组",
completeTaskCnt: value.completeTaskCnt, //完成任务数
totalTaskCnt: value.totalTaskCnt, //累计任务数
completeRatio: value.completeRatio, //完成比例
completeRatio: value.completeRatio ? value.completeRatio : 0, //完成比例
};
array.push(obj);
});
@@ -3321,55 +3327,57 @@ export default {
projectId: state.projectId,
}).then((res) => {
console.log("get task", res.data.data);
let info = res.data.data.projectInfo;
// let start = toDate(info.beginTime / 1000, "Y-M-D h:m");
let start = info.beginTime;
// let end = toDate(info.endTime / 1000, "Y-M-D h:m");
let end = info.endTime;
state.tstartTime = info.beginTime;
state.tendTime = info.endTime;
state.tsourceBelong = info.sourceBelongName;
state.parentId = info.parentId;
state.name = info.name;
state.startTime = start;
state.endTime = end;
state.manager = info.manager;
state.remark = info.remark;
state.level = info.level;
state.tlevel = info.level;
state.systemId = info.systemId;
state.tsystemId = info.systemId;
state.checkedSty = info.courseSyncFlag == 1 ? true : false;
state.courseSyncFlag = info.courseSyncFlag;
state.checkedBOEU = info.boeFlag == 1 ? true : false;
state.boeFlag = info.boeFlag;
state.picUrl = info.picUrl;
state.managerId = info.managerId;
state.notice = info.notice;
state.status = info.status;
state.type = info.type;
state.category = info.category;
state.noticeFlag = info.noticeFlag;
// state.attach = info.attach;
// state.templateId = info.templateId;
state.sourceBelong = info.sourceBelongName;
// state.fileList=info.attach.split(",")
let d = info.attach.indexOf(",");
// console.log(info.attach, "xgo", info.attach.length);
if (info.attach.length == 0) {
return;
} else if (info.attach.length !== 0 && d == -1) {
return;
} else {
// console.log(info.attach, "xgo");
// let str = JSON.parse(info.attach)
// console.log("赚回来",str)
// let luj = info.attach.split(",")
let luj = info.attach;
// console.log("lulj", luj);
console.log("赚回来", JSON.parse(luj));
state.fileList = JSON.parse(luj);
// state.fileList = luj
if (res.data.code === 200) {
let info = res.data.data.projectInfo;
// let start = toDate(info.beginTime / 1000, "Y-M-D h:m");
let start = info.beginTime;
// let end = toDate(info.endTime / 1000, "Y-M-D h:m");
let end = info.endTime;
state.tstartTime = info.beginTime;
state.tendTime = info.endTime;
state.tsourceBelong = info.sourceBelongName;
state.parentId = info.parentId;
state.name = info.name;
state.startTime = start;
state.endTime = end;
state.manager = info.manager;
state.remark = info.remark;
state.level = info.level;
state.tlevel = info.level;
state.systemId = info.systemId;
state.tsystemId = info.systemId;
state.checkedSty = info.courseSyncFlag == 1 ? true : false;
state.courseSyncFlag = info.courseSyncFlag;
state.checkedBOEU = info.boeFlag == 1 ? true : false;
state.boeFlag = info.boeFlag;
state.picUrl = info.picUrl;
state.managerId = info.managerId;
state.notice = info.notice;
state.status = info.status;
state.type = info.type;
state.category = info.category;
state.noticeFlag = info.noticeFlag;
// state.attach = info.attach;
// state.templateId = info.templateId;
state.sourceBelong = info.sourceBelongName;
// state.fileList=info.attach.split(",")
let d = info.attach.indexOf(",");
// console.log(info.attach, "xgo", info.attach.length);
if (info.attach.length == 0) {
return;
} else if (info.attach.length !== 0 && d == -1) {
return;
} else {
// console.log(info.attach, "xgo");
// let str = JSON.parse(info.attach)
// console.log("赚回来",str)
// let luj = info.attach.split(",")
let luj = info.attach;
// console.log("lulj", luj);
console.log("赚回来", JSON.parse(luj));
state.fileList = JSON.parse(luj);
// state.fileList = luj
}
}
});
};
@@ -3559,6 +3567,7 @@ export default {
}
};
const reget = () => {
console.log("state.projectId", state.projectId);
getTask({
projectId: state.projectId,
}).then((res) => {