面授课bug

This commit is contained in:
zhangyc
2022-12-09 14:30:59 +08:00
12 changed files with 407 additions and 231 deletions

View File

@@ -1,27 +1,27 @@
<template> <template>
<div id="container" v-if="!isLogin"> <div id="container" v-if="!isLogin">
<nav-top/> <nav-top />
<div style="display: flex"> <div style="display: flex">
<nav-left/> <nav-left />
<div style="flex: 1; display: flex; flex-direction: column; width: 0"> <div style="flex: 1; display: flex; flex-direction: column; width: 0">
<open-pages/> <open-pages />
<bread-crumb/> <bread-crumb />
<main> <main>
<a-config-provider :locale="zhCN"> <a-config-provider :locale="zhCN">
<router-view/> <router-view />
</a-config-provider> </a-config-provider>
</main> </main>
</div> </div>
</div> </div>
</div> </div>
<div id="container" v-if="isLogin"> <div id="container" v-if="isLogin">
<router-view/> <router-view />
</div> </div>
</template> </template>
<script> <script>
import {computed, defineComponent, ref, watch} from "vue"; import { computed, defineComponent, ref, watch } from "vue";
import {useRouter, useRoute} from "vue-router"; import { useRouter, useRoute } from "vue-router";
import {useStore} from "vuex"; import { useStore } from "vuex";
import NavLeft from "@/components/NavLeft"; import NavLeft from "@/components/NavLeft";
import NavTop from "@/components/NavTop"; import NavTop from "@/components/NavTop";
import OpenPages from "@/components/OpenPages"; import OpenPages from "@/components/OpenPages";
@@ -44,15 +44,15 @@ export default defineComponent({
const store = useStore(); const store = useStore();
const isLogin = ref(false); const isLogin = ref(false);
// console.log("router", router.getRoutes(), route); // console.log("router", router.getRoutes(), route);
console.log("版本0.9.6------------"); console.log("版本0.9.7------------");
const routes = computed(() => { const routes = computed(() => {
return router.getRoutes().filter((e) => e.meta?.isLink); return router.getRoutes().filter((e) => e.meta?.isLink);
}); });
watch( watch(
() => route.path, () => route.path,
() => { () => {
route.path === "/login" && (isLogin.value = true); route.path === "/login" && (isLogin.value = true);
} }
); );
const currentRouteName = computed(() => route.name); const currentRouteName = computed(() => route.name);
@@ -78,8 +78,8 @@ export default defineComponent({
return; return;
} }
const memberInitInfo = await api1 const memberInitInfo = await api1
.getMemberInfo({keyWord: "", pageNo: 1, pageSize: 10}) .getMemberInfo({ keyWord: "", pageNo: 1, pageSize: 10 })
.then((res) => res.data.data.rows); .then((res) => res.data.data.rows);
store.commit("SET_MEMBER_INFO", memberInitInfo); store.commit("SET_MEMBER_INFO", memberInitInfo);
localStorage.setItem("memberInitInfo", JSON.stringify(memberInitInfo)); localStorage.setItem("memberInitInfo", JSON.stringify(memberInitInfo));
} }
@@ -94,23 +94,23 @@ export default defineComponent({
if (localStory) { if (localStory) {
list = localStorage.getItem(key); list = localStorage.getItem(key);
if (list) { if (list) {
store.commit("SET_DICT", {key, data: JSON.parse(list)}); store.commit("SET_DICT", { key, data: JSON.parse(list) });
return; return;
} }
} }
list = await getDictList(key); list = await getDictList(key);
localStory && localStorage.setItem(key, JSON.stringify(list)); localStory && localStorage.setItem(key, JSON.stringify(list));
store.commit("SET_DICT", {key, data: list}); store.commit("SET_DICT", { key, data: list });
} }
const getDictList = (param) => const getDictList = (param) =>
api1 api1
.getDict({ .getDict({
pageNo: 1, pageNo: 1,
pageSize: 20, pageSize: 20,
setCode: param, setCode: param,
}) })
.then((res) => res.data.data.rows); .then((res) => res.data.data.rows);
//获取组织树 //获取组织树
const getOrgTree = () => { const getOrgTree = () => {
const orgtreeList = localStorage.getItem("orgtreeList"); const orgtreeList = localStorage.getItem("orgtreeList");
@@ -118,16 +118,17 @@ export default defineComponent({
store.commit("getOrgtreeList", JSON.parse(orgtreeList)); store.commit("getOrgtreeList", JSON.parse(orgtreeList));
return; return;
} }
api.getOrgInfo({ api
keyWord: "", .getOrgInfo({
id: -1, keyWord: "",
pageNo: 1, id: -1,
pageSize: 20, pageNo: 1,
}) pageSize: 20,
.then((res) => { })
localStorage.setItem("orgtreeList", JSON.stringify(res.data.data)); .then((res) => {
store.commit("getOrgtreeList", res.data.data); localStorage.setItem("orgtreeList", JSON.stringify(res.data.data));
}) store.commit("getOrgtreeList", res.data.data);
});
}; };
init(); init();
return { return {
@@ -166,7 +167,7 @@ export default defineComponent({
// font-family: MicrosoftYaHei, Microsoft YaHei, Avenir, Helvetica, Arial, // font-family: MicrosoftYaHei, Microsoft YaHei, Avenir, Helvetica, Arial,
// sans-serif; // sans-serif;
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB,
Microsoft YaHei, Arial, sans-serif; Microsoft YaHei, Arial, sans-serif;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
color: #2c3e50; color: #2c3e50;

View File

@@ -2,7 +2,7 @@
* @Author: lixg lixg@dongwu-inc.com * @Author: lixg lixg@dongwu-inc.com
* @Date: 2022-11-21 14:32:52 * @Date: 2022-11-21 14:32:52
* @LastEditors: lixg lixg@dongwu-inc.com * @LastEditors: lixg lixg@dongwu-inc.com
* @LastEditTime: 2022-12-08 15:47:05 * @LastEditTime: 2022-12-09 10:04:32
* @FilePath: /fe-manage/src/api/config.js * @FilePath: /fe-manage/src/api/config.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/ */
@@ -56,7 +56,7 @@ http.interceptors.response.use(
return response; return response;
} else { } else {
if (code === 1000) { if (code === 1000) {
window.open("https://u-pre.boe.com/web/", '_self'); // window.open("https://u-pre.boe.com/web/", '_self');
// window.open("http://111.231.196.214:12013/manage/login", '_self'); // window.open("http://111.231.196.214:12013/manage/login", '_self');
} }
console.log("api %o", msg); console.log("api %o", msg);

View File

@@ -16,3 +16,6 @@ export const ProjectDeleteTask = (obj) => http.delete('/admin/project/deleteTask
export const IsExistence = (obj) => http.post('/admin/router/queryTaskDoesItExist',obj); export const IsExistence = (obj) => http.post('/admin/router/queryTaskDoesItExist',obj);
// 判断当前在线课是否已经添加到该项目下 // 判断当前在线课是否已经添加到该项目下
export const IsExistenceProject = (obj) => http.post('/admin/project/queryTaskDoesItExistForProject',obj); export const IsExistenceProject = (obj) => http.post('/admin/project/queryTaskDoesItExistForProject',obj);
// 判断当前在线课是否已经添加到该模板库下
export const IsExistenceProjectTemplate = (obj) => http.post('/admin/project/template/queryTaskDoesItExistForTemplate',obj);

View File

@@ -24,7 +24,9 @@
<div class="file_img"></div> <div class="file_img"></div>
<div class="file_detail"> <div class="file_detail">
<div class="file_name"> <div class="file_name">
<span style="color: #6f6f6fwidth:200px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;">{{ item.name }}</span> <span style="color: #6f6f6fwidth:200px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;">
{{ item.name.indexOf('-')!==-1?item.name.slice(0,item.name.indexOf('-')) + item.name.slice(item.name.indexOf('.')) :item.name }}
</span>
</div> </div>
<!-- <div class="file_size">--> <!-- <div class="file_size">-->
<!-- <span style="color: #999ba3">{{ item.size }}</span>--> <!-- <span style="color: #999ba3">{{ item.size }}</span>-->
@@ -35,6 +37,7 @@
:class="`${{uploading: 'updatacolor3', done: 'updatacolor' ,error: 'updatacolor2'}[item.status] || 'updatacolor'}`" :class="`${{uploading: 'updatacolor3', done: 'updatacolor' ,error: 'updatacolor2'}[item.status] || 'updatacolor'}`"
:style="{width:`${item.status==='uploading'?parseInt(item.percent):100}%`}"></div> :style="{width:`${item.status==='uploading'?parseInt(item.percent):100}%`}"></div>
<div v-if="item.status" <div v-if="item.status"
style="right:-62px"
:class="`${{uploading: 'updataxq1', done: 'updataxq' ,error: 'updataxq2'}[item.status] || 'updataxq'}`"> :class="`${{uploading: 'updataxq1', done: 'updataxq' ,error: 'updataxq2'}[item.status] || 'updataxq'}`">
{{ {uploading: '正在上传', done: '上传完成', error: '上传失败'}[item.status] || '' }} {{ {uploading: '正在上传', done: '上传完成', error: '上传失败'}[item.status] || '' }}
</div> </div>

View File

@@ -104,8 +104,10 @@
import { reactive, toRefs } from "vue"; import { reactive, toRefs } from "vue";
import * as apiTask from "../../api/indexTaskadd"; import * as apiTask from "../../api/indexTaskadd";
import { message } from "ant-design-vue"; import { message } from "ant-design-vue";
import AssessmentList from "@/components/drawers/AssessmentList.vue"; import AssessmentList from "@/components/drawers/AssessmentList.vue";
import { RouterEditTask } from "@/api/indexTask"; import { RouterEditTask } from "@/api/indexTask";
import * as api from "../../api/indexInvist"; import * as api from "../../api/indexInvist";
import { addTempTask } from "../../api/indexTaskadd"; import { addTempTask } from "../../api/indexTaskadd";
export default { export default {
@@ -222,43 +224,99 @@ export default {
return message.warning("请选择评估"); return message.warning("请选择评估");
} }
if (props.isLevel == 1) { if (props.isLevel == 1) {
RouterEditTask({ IsExistence({
chapterId: props.isactive, chapterId: Number(props.isactive),
courseId: state.assessment.assessmentId, courseId: state.assessment.assessmentId,
name: state.assessment.name,
routerId: props.routerId, routerId: props.routerId,
routerTaskId: props.routerTaskId || 0,
type: 11, type: 11,
}) })
.then(() => { .then((res) => {
message.destroy(); console.log('shifouchongfu',res)
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`); console.log("路径图中是否包含此评估了", res);
ctx.emit("changeData", false); if (res.data.data.length) {
closeDrawer(); let strdata = res.data.data;
state.addLoading = false; let tipStr = "";
for (let i = 0; i < strdata.length; i++) {
if (i == strdata.length - 1) {
tipStr += strdata[i].courseName;
} else {
tipStr += strdata[i].courseName + "/";
}
}
message.destroy();
message.warning("评估(" + tipStr + ")重复添加");
return;
} else {
RouterEditTask({
chapterId: props.isactive,
courseId: state.assessment.assessmentId,
name: state.assessment.name,
routerId: props.routerId,
routerTaskId: props.routerTaskId || 0,
type: 11,
})
.then(() => {
message.destroy();
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
ctx.emit("changeData", false);
closeDrawer();
state.addLoading = false;
})
.catch(() => {
message.destroy();
message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
});
}
}).catch(err=>{
console.log(err)
}) })
.catch(() => {
message.destroy();
message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
});
} else if (props.isLevel == 2) { } else if (props.isLevel == 2) {
apiTask IsExistenceProject({
.addTask({ courseId: state.assessment.assessmentId,
courseId: state.assessment.assessmentId, projectId: props.projectId,
name: state.assessment.name, stageId: props.chooseStageId || 0,
projectId: props.projectId, type: 11,
projectTaskId: props.projectTaskId || 0, }).then(res=>{
stageId: props.chooseStageId || 0, console.log(res)
type: 11, console.log("项目中是否包含此评估了", res);
}) if (res.data.data.length) {
.then(() => { let strdata = res.data.data;
message.success(`${props.edit ? "编辑" : "新增"}任务成功`); let tipStr = "";
ctx.emit("changeData", false); for (let i = 0; i < strdata.length; i++) {
closeDrawer(); if (i == strdata.length - 1) {
}) tipStr += strdata[i].courseName;
.catch(() => { } else {
message.error(`${props.edit ? "编辑" : "新增"}任务失败`); tipStr += strdata[i].courseName + "/";
}); }
}
message.destroy();
message.warning("评估(" + tipStr + ")重复添加");
return;
} else {
apiTask
.addTask({
courseId: state.assessment.assessmentId,
name: state.assessment.name,
projectId: props.projectId,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId || 0,
type: 11,
})
.then(() => {
message.success(`${props.edit ? "编辑" : "新增"}任务成功`);
ctx.emit("changeData", false);
closeDrawer();
})
.catch(() => {
message.error(`${props.edit ? "编辑" : "新增"}任务失败`);
});
}
}).catch(err=>{
console.log(err)
})
} else if (props.isLevel == 3) { } else if (props.isLevel == 3) {
addTempTask({ addTempTask({
courseId: state.assessment.assessmentId, courseId: state.assessment.assessmentId,

View File

@@ -75,10 +75,10 @@
<div class="btnText">重置</div> <div class="btnText">重置</div>
</div> </div>
<!-- 2022-11-30注释 后面放开 --> <!-- 2022-11-30注释 后面放开 -->
<!-- <div class="btn btn3" @click="openMessage"> <div class="btn btn3" @click="openMessage">
<div class="search"></div> <div class="search"></div>
<div class="btnText">导出</div> <div class="btnText">导出</div>
</div> --> </div>
<div class="btn btn4" @click="of_hShow"> <div class="btn btn4" @click="of_hShow">
<div class="search"></div> <div class="search"></div>
<div class="btnText">新建课程</div> <div class="btnText">新建课程</div>
@@ -221,7 +221,7 @@
</div> </div>
</a-radio-group> </a-radio-group>
</div> </div>
<div class="b_sup" :style="{ display: bs_hs ? 'block' : 'none' }"> <div class="b_sup" :style="{ display: bs_hs ? 'block' : 'none' }">
<div class="ofmb_items"> <div class="ofmb_items">
<div class="signbox"> <div class="signbox">
@@ -231,7 +231,7 @@
alt="" alt=""
/> />
</div> </div>
<span>是否设置目录</span> <span>是否设置目录</span>
</div> </div>
<a-radio-group v-model:value="valueE2"> <a-radio-group v-model:value="valueE2">
@@ -257,7 +257,7 @@
</div> </div>
</a-radio-group> </a-radio-group>
</div> </div>
</div> </div>
<div class="b_footer"> <div class="b_footer">
<div class="btn btn5" @click="of_exit1"> <div class="btn btn5" @click="of_exit1">
<div class="btnText">取消</div> <div class="btnText">取消</div>
@@ -629,6 +629,9 @@
<!-- <div class="file_name"> <!-- <div class="file_name">
<span style="color: #6f6f6f">{{ item.name }}</span> <span style="color: #6f6f6f">{{ item.name }}</span>
</div> --> </div> -->
<div class="file_name">
<span style="color: #6f6f6f;width:140px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;">{{ item.slice(item.lastIndexOf('/')+1) }}</span>
</div>
<!-- 条件渲染 s --> <!-- 条件渲染 s -->
<!-- <div class="file_size"> <!-- <div class="file_size">
<span style="color: #999ba3">{{ item.size }}</span> <span style="color: #999ba3">{{ item.size }}</span>
@@ -1548,7 +1551,7 @@
<div class="modalMain"> <div class="modalMain">
<div class="schooltime" :style="{ display: stm_hs ? 'block' : 'none' }"> <div class="schooltime" :style="{ display: stm_hs ? 'block' : 'none' }">
<div class="st_main"> <div class="st_main">
<div class="stm_inputbtn"> <div class="stm_inputbtn" style="width: 100%">
<a-input <a-input
v-model:value="kk_inputV1" v-model:value="kk_inputV1"
style=" style="
@@ -1570,11 +1573,22 @@
placeholder="请输入教师名称" placeholder="请输入教师名称"
/> />
<div class="select"> <div class="select">
<a-date-picker <!-- <a-date-picker
v-model:value="selectTime" v-model:value="selectTime"
type="date" type="date"
placeholder="创建时间" placeholder="创建时间"
style="width: 270px; margin-right: 14px" style="width: 270px; margin-right: 14px"
/> -->
<a-range-picker
v-model:value="selectTime"
type="date"
style="width: 270px; margin-right: 14px"
:show-time="{
defaultValue: [
moment('00:00:00', 'HH:mm:ss'),
moment('23:59:59', 'HH:mm:ss'),
],
}"
/> />
</div> </div>
<div class="stm_btn btn1" @click="handleSearchTable"> <div class="stm_btn btn1" @click="handleSearchTable">
@@ -1585,11 +1599,15 @@
<div class="reset"></div> <div class="reset"></div>
<div class="btnText">重置</div> <div class="btnText">重置</div>
</div> </div>
<div class="stm_btn3 btn3" @click="createkk"> </div>
<div class="add"></div> <div
<div class="btnText"> class="stm_btn3 btn3"
<span style="color: #ffffff">新建开课</span> @click="createkk"
</div> style="margin-bottom: 10px"
>
<div class="add"></div>
<div class="btnText">
<span style="color: #ffffff">新建开课</span>
</div> </div>
</div> </div>
<!-- 无数据样式 --> <!-- 无数据样式 -->
@@ -1956,9 +1974,9 @@
> >
<div class="file_img"></div> <div class="file_img"></div>
<div class="file_detail"> <div class="file_detail">
<!-- <div class="file_name"> <div class="file_name">
<span style="color: #6f6f6f">{{ item.name }}</span> <span style="color: #6f6f6f;width:140px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;">{{ item.slice(item.lastIndexOf('/')+1) }}</span>
</div> --> </div>
<!-- 条件渲染 s --> <!-- 条件渲染 s -->
<!-- <div class="file_size"> <!-- <div class="file_size">
<span style="color: #999ba3">{{ item.size }}</span> <span style="color: #999ba3">{{ item.size }}</span>
@@ -2713,7 +2731,7 @@ import SeeModal from "./components/seeModal.vue";
import CourseModal from "./courseModal.vue"; import CourseModal from "./courseModal.vue";
import * as moment from "moment"; import * as moment from "moment";
import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue"; import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue";
import { codeUrl } from "../../api/method"; import { codeUrl, toDate } from "../../api/method";
//列表表格 //列表表格
const columns1 = [ const columns1 = [
{ {
@@ -2979,7 +2997,7 @@ const columns6 = [
return index + 1 + pageNum; return index + 1 + pageNum;
}, },
}, },
{ {
title: "课程名称", title: "课程名称",
dataIndex: "organization", dataIndex: "organization",
key: "organization", key: "organization",
@@ -2990,7 +3008,7 @@ const columns6 = [
return text ? text : "-"; return text ? text : "-";
}, },
}, },
{ {
title: "场地", title: "场地",
dataIndex: "address", dataIndex: "address",
key: "saddress", key: "saddress",
@@ -3001,7 +3019,7 @@ const columns6 = [
return text ? text : "-"; return text ? text : "-";
}, },
}, },
{ {
title: "教师名称", title: "教师名称",
dataIndex: "teacher", dataIndex: "teacher",
key: "teacher", key: "teacher",
@@ -3013,9 +3031,6 @@ const columns6 = [
}, },
}, },
{ {
title: "开始时间", title: "开始时间",
dataIndex: "starttime", dataIndex: "starttime",
@@ -3040,7 +3055,7 @@ const columns6 = [
return text ? text : "-"; return text ? text : "-";
}, },
}, },
{ {
title: "创建人", title: "创建人",
dataIndex: "createName", dataIndex: "createName",
key: "createName", key: "createName",
@@ -4112,15 +4127,30 @@ export default defineComponent({
// 渲染开课操作 // 渲染开课操作
const getTableDate3 = async () => { const getTableDate3 = async () => {
// let datas = state.tableData6; // let datas = state.tableData6;
let beginTime = "";
let endTime = "";
if (state.selectTime) {
// beginTime = parseInt(new Date(state.selectTime[0].$d).getTime() / 1000);
// endTime = parseInt(new Date(state.selectTime[1].$d).getTime() / 1000);
beginTime = toDate(
new Date(state.selectTime[0].$d).getTime() / 1000,
"Y-M-D h:m:s"
);
endTime = toDate(
new Date(state.selectTime[1].$d).getTime() / 1000,
"Y-M-D h:m:s"
);
}
let obj = { let obj = {
pageNo: state.currentPage222, pageNo: state.currentPage222,
pageSize: state.pageSize222, pageSize: state.pageSize222,
createName: state.kk_inputV1, createName: state.kk_inputV1,
teacher: state.kk_inputV2, teacher: state.kk_inputV2,
beginTime: parseInt(new Date(state.selectTime).getTime() / 1000), beginTime: beginTime,
endTime: endTime,
offcourseId: state.offcourseId, offcourseId: state.offcourseId,
}; };
console.log("获取开", obj); console.log("获取开obj", obj, state.selectTime);
let res = await planList(obj); let res = await planList(obj);
console.log("开课res", res); console.log("开课res", res);
const { rows, total, pageNo } = res.data.data; const { rows, total, pageNo } = res.data.data;
@@ -4742,7 +4772,7 @@ export default defineComponent({
completeType: item.completeType, completeType: item.completeType,
endTime: new Date(item.endTime) / 1000, endTime: new Date(item.endTime) / 1000,
evalFlag: item.evalFlag, evalFlag: item.evalFlag,
name: item.name+'1', name: item.name + "1",
signFlag: item.signFlag, //是否允许未报名的签到:1是0否 signFlag: item.signFlag, //是否允许未报名的签到:1是0否
//signWordFlag: item.signWordFlag, //签到是否需要口令:1是0否 //signWordFlag: item.signWordFlag, //签到是否需要口令:1是0否
teacherId: item.teacherId, teacherId: item.teacherId,
@@ -4766,7 +4796,7 @@ export default defineComponent({
}); });
const postData = { const postData = {
offcourseId: null, //不传代表新增 offcourseId: null, //不传代表新增
name: item.name+'1', name: item.name + "1",
picUrl: item.picUrl, picUrl: item.picUrl,
targetUser: item.targetUser, targetUser: item.targetUser,
meaning: item.meaning, meaning: item.meaning,
@@ -5126,6 +5156,7 @@ export default defineComponent({
// size: file.size, // size: file.size,
// }); // });
// console.log(state.filesList); // console.log(state.filesList);
console.log(res.data.data)
state.filesList = [res.data.data]; state.filesList = [res.data.data];
// state.hasImgName = res.data.data; // state.hasImgName = res.data.data;
} }

View File

@@ -156,6 +156,7 @@
<div class="mbl_items12"> <div class="mbl_items12">
<div <div
class="i12_box1" class="i12_box1"
style="position:relative;"
v-for="(item, index) in detail.attach" v-for="(item, index) in detail.attach"
:key="index" :key="index"
> >
@@ -205,13 +206,16 @@
</div> </div>
<div class="file_detail"> <div class="file_detail">
<div class="file_name"> <div class="file_name">
<span style="color: #6f6f6f">{{ item.name }}</span> <!-- http://111.231.196.214:12016/7.231.196.214:12016/7-1670486854017.jpg -->
<span style="color: #6f6f6f;width:200px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;position:absolute;top:4px;left:72px;">
{{ item.indexOf('-')!==-1?item.slice(item.lastIndexOf('/')+1,item.indexOf('-')) + item.slice(item.lastIndexOf('.')) :item }}
</span>
</div> </div>
<div class="file_updata"> <div class="file_updata">
<div class="updatabox"> <div class="updatabox">
<div class="updatacolor"></div> <div class="updatacolor"></div>
<div class="updataxq">上传完成</div> <div class="updataxq" style="right:-62px;">上传完成</div>
</div> </div>
<div class="upjd"> <div class="upjd">
<span style="margin: auto 5px">100%</span> <span style="margin: auto 5px">100%</span>
@@ -642,21 +646,21 @@ export default defineComponent({
.updataxq { .updataxq {
position: absolute; position: absolute;
right: 2px; right: -62px;
top: -30px; top: -30px;
color: #57c887; color: #57c887;
} }
.updataxq2 { .updataxq2 {
position: absolute; position: absolute;
right: 2px; right: -62px;
top: -30px; top: -30px;
color: #ff7474; color: #ff7474;
} }
.updataxq3 { .updataxq3 {
position: absolute; position: absolute;
right: 2px; right: -62px;
top: -30px; top: -30px;
color: #388be1; color: #388be1;
} }

View File

@@ -632,7 +632,7 @@
<div style="width: 5px; display: inline-block"></div> <div style="width: 5px; display: inline-block"></div>
<span class="yi"></span> <span class="yi"></span>
<span class="zon">列表选项总数</span> <span class="zon">列表选项总数</span>
<span class="th">{{ tableDataTotal }}</span> <span class="th">{{ stuTotal }}</span>
<span class="yi"> </span> <span class="yi"> </span>
</div> </div>
<div class="clear" @click="clearChooseStu">清空</div> <div class="clear" @click="clearChooseStu">清空</div>
@@ -854,6 +854,7 @@
<div <div
v-for="item in fileList" v-for="item in fileList"
:key="item.uid" :key="item.uid"
style="width:500px;display:flex;justify-content:space-between;align-items:center;"
class="docListStyle" class="docListStyle"
> >
<img <img
@@ -866,11 +867,11 @@
" "
alt="" alt=""
/> />
<span style="font: oblique bold 16px Sans-serif">{{ <span style="font: oblique bold 16px Sans-serif;width:300px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;">{{
item.name item.name
}}</span> }}</span>
<span <span
style="color: #4ea6ff; float: right; cursor: pointer" style="color: #4ea6ff; cursor: pointer"
@click="deFile(item.uid)" @click="deFile(item.uid)"
>删除</span >删除</span
> >
@@ -1407,6 +1408,7 @@ export default {
docChecked: true, docChecked: true,
currentPage: 1, currentPage: 1,
tableDataTotal: -1, tableDataTotal: -1,
stuTotal: 0,
pageSize: 10, pageSize: 10,
visiblene: false, visiblene: false,
sh: false, sh: false,
@@ -1461,6 +1463,7 @@ export default {
codevisible: false, //二维码是否显示 codevisible: false, //二维码是否显示
codeInfo: null, //二维码内容 codeInfo: null, //二维码内容
levelTotal: 0, //设置基本信息需判断的关卡总数
previewSelect: 0, previewSelect: 0,
studySelect: 0, studySelect: 0,
previewStartNum: 0, previewStartNum: 0,
@@ -1741,6 +1744,7 @@ export default {
console.log("获取学员列表", res); console.log("获取学员列表", res);
let data = res.data.data.rows || null; let data = res.data.data.rows || null;
state.tableDataTotal = res.data.data.total; state.tableDataTotal = res.data.data.total;
state.stuTotal = res.data.data.total;
state.tableData = []; state.tableData = [];
if (data.length) { if (data.length) {
for (let i in data) { for (let i in data) {
@@ -2055,6 +2059,10 @@ export default {
//获取设置信息 //获取设置信息
if (res.data.code === 200) { if (res.data.code === 200) {
//previewSetting studySetting //previewSetting studySetting
if (res.data.data.chapterList) {
state.levelTotal = res.data.data.chapterList.length;
}
state.previewSelect = res.data.data.routerInfo.enablePreview; state.previewSelect = res.data.data.routerInfo.enablePreview;
state.studySelect = res.data.data.routerInfo.enableStudy; state.studySelect = res.data.data.routerInfo.enableStudy;
if (res.data.data.routerInfo.previewSetting) { if (res.data.data.routerInfo.previewSetting) {
@@ -2229,7 +2237,7 @@ export default {
message.warning("删除失败"); message.warning("删除失败");
}); });
}; };
// 设置------------------------------------------------------ // 设置start------------------------------------------------------
//编辑基本信息 //编辑基本信息
const editLearnInfo = () => { const editLearnInfo = () => {
let obj = { let obj = {
@@ -2239,6 +2247,13 @@ export default {
previewSetting: state.previewStartNum + "," + state.previewEndNum, previewSetting: state.previewStartNum + "," + state.previewEndNum,
studySetting: state.studyStartNum + "," + state.studyEndNum, studySetting: state.studyStartNum + "," + state.studyEndNum,
}; };
if (
state.previewStartNum > state.levelTotal ||
state.previewEndNum > state.levelTotal ||
state.studyStartNum > state.levelTotal ||
state.studyEndNum > state.levelTotal
)
return message.warning("关卡数超过范围");
console.log("编辑设置基本信息obj", obj); console.log("编辑设置基本信息obj", obj);
api api
.editLearnInfo(obj) .editLearnInfo(obj)
@@ -2246,13 +2261,14 @@ export default {
console.log("编辑设置基本信息成功", res); console.log("编辑设置基本信息成功", res);
if (res.data.code === 200) { if (res.data.code === 200) {
message.success("修改成功"); message.success("修改成功");
closebtn();
} }
}) })
.catch((err) => { .catch((err) => {
console.log("编辑设置基本信息失败", err); console.log("编辑设置基本信息失败", err);
}); });
}; };
// 设置----------------------------------------------------- // 设置end-----------------------------------------------------
//添加学员 //添加学员
watch( watch(
() => state.addAuthList, () => state.addAuthList,
@@ -2310,12 +2326,14 @@ export default {
//清空所选的学员 //清空所选的学员
const clearChooseStu = () => { const clearChooseStu = () => {
Modal.confirm({ Modal.confirm({
title: '确定清空所有学员吗?', onOk: async () => { title: "确定清空所有学员吗?",
state.addAuthList = [] onOk: async () => {
state.addAuthList = [];
// student.studentDelAll({id: state.routerId, type: 2}) // student.studentDelAll({id: state.routerId, type: 2})
// state.tabledata = [] // state.tabledata = []
// state.tableDataTotal = 0; // state.tableDataTotal = 0;
}, bodyStyle: 'margin-top:70%' },
bodyStyle: "margin-top:70%",
}); });
}; };
@@ -2643,8 +2661,9 @@ export default {
.docListStyle { .docListStyle {
display: flex; display: flex;
width: 300px !important; width: 500px !important;
justify-content: space-around; align-items: center;
justify-content: space-between;
} }
.del_btnbox { .del_btnbox {

View File

@@ -56,7 +56,10 @@
<div class="onerow"> <div class="onerow">
<div class="taskmain">任务大纲</div> <div class="taskmain">任务大纲</div>
<!-- <button class="btn" @click="showFaceIn">批量面授报名</button> --> <!-- <button class="btn" @click="showFaceIn">批量面授报名</button> -->
<router-link class="edit" :to="{ path: `/temTask`, query: { projectId: projectId } }"> <router-link
class="edit"
:to="{ path: `/temTask`, query: { projectId: projectId } }"
>
<img <img
class="editimg" class="editimg"
src="../../assets/images/projectadd/edit.png" src="../../assets/images/projectadd/edit.png"
@@ -147,7 +150,9 @@
</div> </div>
<div> <div>
<div class="iconame">{{ item.course }}</div> <div class="iconame">{{ item.course }}</div>
<div class="icontext">{{ item.name }}</div> <div class="icontext" :title="item.name">
{{ item.name }}
</div>
</div> </div>
</div> </div>
<div class="type"> <div class="type">
@@ -279,52 +284,47 @@
<div class="ntc_body"> <div class="ntc_body">
<div class="ntc_switch"> <div class="ntc_switch">
<a-switch <a-switch
size="small" size="small"
v-model:checked="checked" v-model:checked="checked"
@click="changeopclo" @click="changeopclo"
/> />
<div v-if="(checked==true)" <div v-if="checked == true" class="opclo">
class="opclo">
<span>关闭</span> <span>关闭</span>
</div> </div>
<div v-if="(checked==false)" <div v-if="checked == false" class="opclo">
class="opclo" >
<span>开启</span> <span>开启</span>
</div> </div>
</div> </div>
<div v-if="(checked==true)" <div v-if="checked == true" class="ntc_content">
class="ntc_content"> <div class="ntcc_tit">当前公告内容</div>
<div class="ntcc_tit">当前公告内容</div>
<div class="textarea"> <div class="textarea">
{{noticeContent==""?"暂无公告":noticeContent}} {{ noticeContent == "" ? "暂无公告" : noticeContent }}
<div v-if="(editFlag == false)" class="btnarea" > <div v-if="editFlag == false" class="btnarea">
<div>&nbsp;</div> <div>&nbsp;</div>
<div class="area_btn" @click="editNotice"> <div class="area_btn" @click="editNotice">
<div class="btnText">编辑</div> <div class="btnText">编辑</div>
</div> </div>
</div> </div>
</div> </div>
<template v-if="(editFlag==true)"> <template v-if="editFlag == true">
<div>&nbsp;</div> <div>&nbsp;</div>
<div class="ntcc_tit" >编辑公告</div> <div class="ntcc_tit">编辑公告</div>
<div class="textarea"> <div class="textarea">
<a-textarea <a-textarea
v-model:value="projectInfo.notice" v-model:value="projectInfo.notice"
placeholder="公告信息最多输入150个字。" placeholder="公告信息最多输入150个字。"
:maxlength="textnum" :maxlength="textnum"
allow-clear allow-clear
/> />
<div class="btnarea"> <div class="btnarea">
<div>&nbsp;</div> <div>&nbsp;</div>
<div class="area_btn" @click="addNotice"> <div class="area_btn" @click="addNotice">
<div class="pub"></div> <div class="pub"></div>
<div class="btnText">发布</div> <div class="btnText">发布</div>
</div>
</div> </div>
</div> </div>
</div>
</template> </template>
</div> </div>
</div> </div>
@@ -592,7 +592,10 @@
<div class="box"></div> <div class="box"></div>
<div class="onetitle">上传共享文档</div> <div class="onetitle">上传共享文档</div>
<div class="oneedi"> <div class="oneedi">
<a-switch v-model:checked="attachSwitch" @change="checkedClose"></a-switch> <a-switch
v-model:checked="attachSwitch"
@change="checkedClose"
></a-switch>
</div> </div>
</div> </div>
<div class="btnbox" style="margin: 20px"> <div class="btnbox" style="margin: 20px">
@@ -638,11 +641,11 @@
" "
alt="" alt=""
/> />
<span style="font: oblique bold 16px Sans-serif">{{ <span style="font: oblique bold 16px Sans-serif;width:300px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;">{{
item.name item.name
}}</span> }}</span>
<span <span
style="color: #4ea6ff; float: right; cursor: pointer" style="color: #4ea6ff; cursor: pointer"
@click="deFile(item.uid)" @click="deFile(item.uid)"
>删除</span >删除</span
> >
@@ -844,8 +847,8 @@ export default defineComponent({
seven1: null, seven1: null,
seven2: null, seven2: null,
edit: true, edit: true,
fileList:[], fileList: [],
attachSwitch:true, attachSwitch: true,
// 共享文档列表 // 共享文档列表
docList: [ docList: [
{ {
@@ -863,17 +866,17 @@ export default defineComponent({
], ],
isEdit: false, // 是否处于编辑状态 isEdit: false, // 是否处于编辑状态
// 基本信息 // 基本信息
projectInfo: { }, projectInfo: {},
noticeContent:"", noticeContent: "",
editFlag:false, editFlag: false,
}); });
const value = ref(""); const value = ref("");
const textnum = "150"; const textnum = "150";
const routered = useRouter(); const routered = useRouter();
const changeopclo = () => { const changeopclo = () => {
state.projectInfo.noticeFlag = state.checked?1:0; state.projectInfo.noticeFlag = state.checked ? 1 : 0;
api api
.templateEdit( state.projectInfo) .templateEdit(state.projectInfo)
.then((res) => { .then((res) => {
console.log(res); console.log(res);
}) })
@@ -913,9 +916,9 @@ export default defineComponent({
state.isEdit = false; state.isEdit = false;
getDetail(); getDetail();
}; };
const editNotice =()=>{ const editNotice = () => {
state.editFlag = true ; state.editFlag = true;
} };
const checkType = (type) => { const checkType = (type) => {
let typeRules = [ let typeRules = [
@@ -944,30 +947,39 @@ export default defineComponent({
api api
.templateDetail(localStorage.getItem("projectTemplateId")) .templateDetail(localStorage.getItem("projectTemplateId"))
.then((res) => { .then((res) => {
console.log("get model list ----->", res, res.data.data.stageList); console.log("get model list ----->", res, res.data.data.stageList);
state.taskSyllabus = []; state.taskSyllabus = [];
console.log(res); console.log(res);
state.projectInfo = res.data.data.projectTemplateInfo; state.projectInfo = res.data.data.projectTemplateInfo;
state.noticeContent = state.projectInfo.notice;
state.checked = state.projectInfo.noticeFlag==1?true:false;
console.log("res.data.data.projectTemplateInfo",res.data.data.projectTemplateInfo);
try{ state.noticeContent = state.projectInfo.notice;
state.fileList = JSON.parse(res.data.data.projectTemplateInfo.attach); state.checked = state.projectInfo.noticeFlag == 1 ? true : false;
}catch{ console.log(
"res.data.data.projectTemplateInfo",
res.data.data.projectTemplateInfo
);
try {
state.fileList = JSON.parse(
res.data.data.projectTemplateInfo.attach
);
} catch {
state.fileList = []; state.fileList = [];
} }
state.attachSwitch = res.data.data.projectTemplateInfo.attachSwitch == 1 ? true : false state.attachSwitch =
res.data.data.projectTemplateInfo.attachSwitch == 1 ? true : false;
let data = res.data.data.stageList; let data = res.data.data.stageList;
console.log("data=====", data); console.log("data=====", data);
for (let i in data) { for (let i in data) {
console.log("what ------ > ", i, data); console.log("what ------ > ", i, data);
if(data[i].taskList.length!==0){ if (data[i].taskList.length !== 0) {
state.taskSyllabus.push({ text: data[i].name?data[i].name:'无阶段任务', children: [] }); state.taskSyllabus.push({
text: data[i].name ? data[i].name : "无阶段任务",
children: [],
});
} }
for (let j in data[i].taskList) { for (let j in data[i].taskList) {
state.taskSyllabus[i].children.push({ state.taskSyllabus[i].children.push({
course: checkType(data[i].taskList[j].type), course: checkType(data[i].taskList[j].type),
@@ -987,14 +999,14 @@ export default defineComponent({
}); });
}; };
// 发布公告 // 发布公告
const addNotice = () => { const addNotice = () => {
// state.projectInfo.notice= // state.projectInfo.notice=
if(!state.projectInfo.notice){ if (!state.projectInfo.notice) {
return message.warning("请输入公告内容"); return message.warning("请输入公告内容");
} }
api api
.templateEdit( state.projectInfo) .templateEdit(state.projectInfo)
.then((res) => { .then((res) => {
state.noticeContent = state.projectInfo.notice; state.noticeContent = state.projectInfo.notice;
message.success("公告发布成功"); message.success("公告发布成功");
@@ -1004,7 +1016,7 @@ export default defineComponent({
message.error("公告发布失败" + err); message.error("公告发布失败" + err);
console.log(err); console.log(err);
}); });
state.editFlag =false; state.editFlag = false;
}; };
// 删除阶段 // 删除阶段
@@ -1043,7 +1055,6 @@ export default defineComponent({
}); });
}; };
// 新建或编辑阶段 // 新建或编辑阶段
const stateEdit = () => { const stateEdit = () => {
let obj = { let obj = {
@@ -1124,23 +1135,23 @@ export default defineComponent({
let str = JSON.stringify(fileList); let str = JSON.stringify(fileList);
console.log("str", str); console.log("str", str);
console.table({ console.table({
name: state.projectInfo.name, name: state.projectInfo.name,
category: state.projectInfo.category, category: state.projectInfo.category,
picUrl: state.projectInfo.picUrl, picUrl: state.projectInfo.picUrl,
manager: state.projectInfo.manager, manager: state.projectInfo.manager,
managerId: state.projectInfo.managerId || 0, managerId: state.projectInfo.managerId || 0,
sourceBelongId: state.projectInfo.sourceBelongId, sourceBelongId: state.projectInfo.sourceBelongId,
level: state.projectInfo.level, level: state.projectInfo.level,
systemId: state.projectInfo.systemId, systemId: state.projectInfo.systemId,
boeFlag: state.projectInfo.boeFlag ? 1 : 0, boeFlag: state.projectInfo.boeFlag ? 1 : 0,
courseSyncFlag: state.projectInfo.courseSyncFlag ? 1 : 0, courseSyncFlag: state.projectInfo.courseSyncFlag ? 1 : 0,
notice: state.projectInfo.notice, notice: state.projectInfo.notice,
noticeFlag: state.projectInfo.noticeFlag, noticeFlag: state.projectInfo.noticeFlag,
projectTemplateId: localStorage.getItem("projectTemplateId"), projectTemplateId: localStorage.getItem("projectTemplateId"),
remark: state.projectInfo.remark, remark: state.projectInfo.remark,
status: state.projectInfo.status, status: state.projectInfo.status,
attach: str, attach: str,
}); });
//要编辑项目 //要编辑项目
api api
.templateEdit({ .templateEdit({
@@ -1183,17 +1194,17 @@ export default defineComponent({
// 更新开关状态 // 更新开关状态
api api
.templateEdit({ .templateEdit({
sourceBelongId: state.projectInfo.sourceBelongId, sourceBelongId: state.projectInfo.sourceBelongId,
projectTemplateId: localStorage.getItem("projectTemplateId"), projectTemplateId: localStorage.getItem("projectTemplateId"),
attachSwitch: state.attachSwitch?1:-1 attachSwitch: state.attachSwitch ? 1 : -1,
}) })
.then((res) => { .then((res) => {
console.log("开关更新成功", res); console.log("开关更新成功", res);
}) })
.catch((err) => { .catch((err) => {
console.log("开关更新失败", err); console.log("开关更新失败", err);
}); });
}; };
//设置积分规则 //设置积分规则
@@ -1277,7 +1288,7 @@ export default defineComponent({
handleChange2, handleChange2,
scoresum, scoresum,
checkedClose, checkedClose,
editNotice editNotice,
}; };
}, },
}); });
@@ -1951,8 +1962,9 @@ export default defineComponent({
} }
.docListStyle { .docListStyle {
display: flex; display: flex;
width: 300px !important; width: 500px !important;
justify-content: space-around; align-items: center;
justify-content: space-between;
} }
.taskBox { .taskBox {
.onerow { .onerow {

View File

@@ -5,11 +5,11 @@
<div class="leftmain"> <div class="leftmain">
<div class="tit"> <div class="tit">
阶段 阶段
<!-- <img--> <img
<!-- src="../../assets/images/projectadd/right.png"--> src="../../assets/images/projectadd/right.png"
<!-- style="margin-left: 10px; cursor: pointer"--> style="margin-left: 10px; cursor: pointer"
<!-- @click="showCancel"--> @click="showCancel"
<!-- />--> />
</div> </div>
<div class="btn btn3" @click="showModal()" style="margin-left: 19px"> <div class="btn btn3" @click="showModal()" style="margin-left: 19px">
<div class="search"></div> <div class="search"></div>
@@ -593,7 +593,6 @@
style=" style="
width: 120px; width: 120px;
text-align: center; text-align: center;
text-align: center;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
@@ -881,13 +880,13 @@
<div class="close_exit" @click="closeCancel"></div> <div class="close_exit" @click="closeCancel"></div>
</div> </div>
<div class="body"> <div class="body">
<span>您确定要取消阶段吗</span> <span>您确定要删除所有阶段吗</span>
</div> </div>
<div class="del_btnbox"> <div class="del_btnbox">
<div class="del_btn btn1" @click="closeCancel"> <div class="del_btn btn1" @click="closeCancel">
<div class="btnText">取消</div> <div class="btnText">取消</div>
</div> </div>
<div class="del_btn btn2" @click="showModal"> <div class="del_btn btn2" @click="removeAllLevel">
<div class="btnText">确定</div> <div class="btnText">确定</div>
</div> </div>
</div> </div>
@@ -1021,7 +1020,7 @@
<div class="close_exit" @click="closeDeleteStage"></div> <div class="close_exit" @click="closeDeleteStage"></div>
</div> </div>
<div class="body"> <div class="body">
<span>您确定要删除此阶段</span> <span style="width:320px;display:flex;justify-content:center;align-items:center;">{{level.length==1?"当前阶段为第一阶段,删除后任务将被移出,为无阶段模式,确认删除阶段吗?":"您确定要删除此阶段"}}</span>
</div> </div>
<div class="del_btnbox"> <div class="del_btnbox">
<div class="del_btn btn1" @click="closeDeleteStage"> <div class="del_btn btn1" @click="closeDeleteStage">
@@ -1681,6 +1680,7 @@ export default {
const showDeleteStage = (id) => { const showDeleteStage = (id) => {
state.deleteStageId = id; state.deleteStageId = id;
state.deleteStageModal = true; state.deleteStageModal = true;
console.log(state.level)
}; };
//关闭删除阶段弹窗 //关闭删除阶段弹窗
const closeDeleteStage = () => { const closeDeleteStage = () => {
@@ -1816,6 +1816,39 @@ export default {
getTableData(final.taskList); getTableData(final.taskList);
}; };
// 删除所有阶段
const removeAllLevel = () => {
// state.cancelModal = false;
console.log(state.level)
let removeArr = state.level;
for(let i=0;i<removeArr.length;i++){
let obj = {
stageId: removeArr[i].id
}
apistage
.deleteStage(obj)
.then((res) => {
console.log("删除阶段成功", res);
if(removeArr.length-1==i){
message.destroy();
message.success("删除全部阶段成功");
closeDeleteStage();
localStorage.setItem("stageId", "");
getTask();
state.cancelModal = false;
}
})
.catch((err) => {
if(removeArr.length-1==i){
console.log("删除阶段失败", err);
message.destroy();
message.success("删除全部阶段失败");
state.cancelModal = false;
}
});
}
}
//选择单个任务 //选择单个任务
const changeRow = (e) => { const changeRow = (e) => {
//selectRow:已经选择的任务的id数组 //selectRow:已经选择的任务的id数组
@@ -2020,6 +2053,7 @@ export default {
temporaryStorage, temporaryStorage,
submitStorage, submitStorage,
cancelStorage, cancelStorage,
removeAllLevel
}; };
}, },
}; };

View File

@@ -1236,6 +1236,7 @@
<div <div
v-for="item in fileList" v-for="item in fileList"
:key="item.uid" :key="item.uid"
style="width:500px;display:flex;justify-content:space-between;align-items:center;"
class="docListStyle" class="docListStyle"
> >
<img <img
@@ -1248,7 +1249,7 @@
" "
alt="" alt=""
/> />
<span style="font: oblique bold 16px Sans-serif">{{ <span style="font: oblique bold 16px Sans-serif;width:300px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;">{{
item.name item.name
}}</span> }}</span>
<span <span

View File

@@ -606,7 +606,16 @@
</div> </div>
</div> </div>
</div> </div>
<div style="width: 120px; text-align: center"> <div
style="
width: 120px;
text-align: center;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
"
:title="element.creater"
>
{{ element.creater }} {{ element.creater }}
</div> </div>
<div style="width: 120px; text-align: center"> <div style="width: 120px; text-align: center">
@@ -1402,25 +1411,23 @@ export default {
}; };
array.push(obj); array.push(obj);
}); });
console.log(array) console.log(array);
if(array[0].id=='0'){ if (array[0].id == "0") {
state.level = []; state.level = [];
// state.tableData = array[0] // state.tableData = array[0]
// 当无阶段任务出现时 显示当前数据 // 当无阶段任务出现时 显示当前数据
if(array[0].taskList.length!==0){ if (array[0].taskList.length !== 0) {
getTableData(array[0].taskList) getTableData(array[0].taskList);
} }
} else {
}else{ let datearr = [];
let datearr = [] for (let i = 0; i < array.length; i++) {
for(let i=0;i<array.length;i++){ if (array[i].id !== 0 && array[i].taskList.length !== 0) {
if(array[i].id!==0&&array[i].taskList.length!==0){ datearr.push(array[i]);
datearr.push(array[i])
} }
} }
state.level = datearr; state.level = datearr;
} }
}; };
const tableDataFunc = () => { const tableDataFunc = () => {
@@ -1557,12 +1564,15 @@ export default {
api api
.templateDetail(localStorage.getItem("projectTemplateId")) .templateDetail(localStorage.getItem("projectTemplateId"))
.then((res) => { .then((res) => {
console.log('获取的任务列表信息',res) console.log("获取的任务列表信息", res);
if (res.status == 200) { if (res.status == 200) {
console.log("22222", res.data.data.stageList); console.log("22222", res.data.data.stageList);
state.projectTitle = res.data.data.projectTemplateInfo.name; state.projectTitle = res.data.data.projectTemplateInfo.name;
state.picUrl = res.data.data.projectTemplateInfo.picUrl; state.picUrl = res.data.data.projectTemplateInfo.picUrl;
let leng = res.data.data.stageList[0].name!==null ?res.data.data.stageList.length:0; let leng =
res.data.data.stageList[0].name !== null
? res.data.data.stageList.length
: 0;
if (leng > 0) { if (leng > 0) {
let stage = localStorage.getItem("templateStageId") let stage = localStorage.getItem("templateStageId")
? localStorage.getItem("templateStageId") ? localStorage.getItem("templateStageId")
@@ -1816,7 +1826,7 @@ export default {
"0px 1px 35px 0px rgba(118, 136, 166, 0.07)"; "0px 1px 35px 0px rgba(118, 136, 166, 0.07)";
}); });
const showDrawerOnline = (id, eleId) => { const showDrawerOnline = (id, eleId) => {
console.log(id, eleId) console.log(id, eleId);
state.addonlinevisible = true; state.addonlinevisible = true;
state.EditOnlineId = id; state.EditOnlineId = id;
state.projectTaskId = eleId; state.projectTaskId = eleId;