mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-17 23:06:47 +08:00
Merge branch 'master' of ssh://gitlab.dongwu-inc.com:10022/BOE/fe-manage
This commit is contained in:
@@ -41,4 +41,7 @@ import http from "./config";
|
|||||||
export const createProject = (obj) => http.post('/admin/project/edit', obj)
|
export const createProject = (obj) => http.post('/admin/project/edit', obj)
|
||||||
|
|
||||||
// 获取项目列表
|
// 获取项目列表
|
||||||
export const getProjectList = (obj) => http.post('/admin/project/list', obj)
|
export const getProjectList = (obj) => http.post('/admin/project/list', obj)
|
||||||
|
|
||||||
|
// 获取项目详情信息(包含阶段及任务列表)
|
||||||
|
export const getProjectDetail = (obj) => http.get('/admin/project/detail', { params: obj })
|
||||||
8
src/api/indexStage.js
Normal file
8
src/api/indexStage.js
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
import http from "./config";
|
||||||
|
|
||||||
|
//添加阶段
|
||||||
|
export const editStage = (obj) => http.post('/admin/project/editStage', obj, {
|
||||||
|
headers: {
|
||||||
|
'token': '123'
|
||||||
|
}
|
||||||
|
});
|
||||||
@@ -224,6 +224,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import { reactive, toRefs, ref } from "vue";
|
import { reactive, toRefs, ref } from "vue";
|
||||||
import * as api from "../../api/indexActivity";
|
import * as api from "../../api/indexActivity";
|
||||||
|
import * as apiTask from "../../api/indexTaskadd";
|
||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
import { toDate } from "../../api/method.js";
|
import { toDate } from "../../api/method.js";
|
||||||
const rowSelection = ref({
|
const rowSelection = ref({
|
||||||
@@ -332,8 +333,7 @@ export default {
|
|||||||
};
|
};
|
||||||
api
|
api
|
||||||
.createActivity(obj)
|
.createActivity(obj)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
setTimeout(() => {
|
|
||||||
console.log("创建成功", res);
|
console.log("创建成功", res);
|
||||||
message.success("创建成功");
|
message.success("创建成功");
|
||||||
state.radioV1 = "";
|
state.radioV1 = "";
|
||||||
@@ -347,7 +347,26 @@ export default {
|
|||||||
state.textV2 = "";
|
state.textV2 = "";
|
||||||
state.time = "";
|
state.time = "";
|
||||||
ctx.emit("update:addactiveVisible", false);
|
ctx.emit("update:addactiveVisible", false);
|
||||||
}, 1000);
|
apiTask
|
||||||
|
.addTask({
|
||||||
|
courseId: 0,
|
||||||
|
duration: obj.activityDuration,
|
||||||
|
flag: true,
|
||||||
|
name: obj.activityName,
|
||||||
|
projectId: 28,
|
||||||
|
projectTaskId: 0,
|
||||||
|
stageId: 3,
|
||||||
|
type: 9,
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
console.log("调用项目添加接口后", res.data);
|
||||||
|
//重新获取任务列表
|
||||||
|
// apiTask.getTask({ projectId: 28 });
|
||||||
|
// router.push("/taskadd");
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log(err);
|
||||||
|
});
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log("创建失败",err);
|
console.log("创建失败",err);
|
||||||
|
|||||||
@@ -3,7 +3,6 @@
|
|||||||
:visible="adddiscussVisible"
|
:visible="adddiscussVisible"
|
||||||
class="drawerStyle addrefDrawer"
|
class="drawerStyle addrefDrawer"
|
||||||
width="80%"
|
width="80%"
|
||||||
title="添加讨论"
|
|
||||||
placement="right"
|
placement="right"
|
||||||
@after-visible-change="afterVisibleChange"
|
@after-visible-change="afterVisibleChange"
|
||||||
>
|
>
|
||||||
@@ -72,6 +71,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import { reactive, toRefs, ref } from "vue";
|
import { reactive, toRefs, ref } from "vue";
|
||||||
import * as api from "../../api/indexDiscuss";
|
import * as api from "../../api/indexDiscuss";
|
||||||
|
import * as apiTask from "../../api/indexTaskadd";
|
||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
const rowSelection = ref({
|
const rowSelection = ref({
|
||||||
checkStrictly: false,
|
checkStrictly: false,
|
||||||
@@ -105,6 +105,7 @@ export default {
|
|||||||
inputV2: "",
|
inputV2: "",
|
||||||
textV1: "",
|
textV1: "",
|
||||||
checkedC1: "",
|
checkedC1: "",
|
||||||
|
add: true,
|
||||||
});
|
});
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
ctx.emit("update:adddiscussVisible", false);
|
ctx.emit("update:adddiscussVisible", false);
|
||||||
@@ -137,13 +138,33 @@ export default {
|
|||||||
api
|
api
|
||||||
.createDiscuss(obj)
|
.createDiscuss(obj)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
setTimeout(() => {
|
console.log("创建成功", res);
|
||||||
console.log("创建成功", res);
|
state.inputV1 = "";
|
||||||
state.inputV1 = "";
|
state.textV1 = "";
|
||||||
state.textV1 = "";
|
message.success("创建成功");
|
||||||
message.success("创建成功");
|
ctx.emit("update:adddiscussVisible", false);
|
||||||
ctx.emit("update:adddiscussVisible", false);
|
//ctx.emit("changeData","传的参数");
|
||||||
}, 1000);
|
//console.log("discussName",obj.discussName);
|
||||||
|
apiTask
|
||||||
|
.addTask({
|
||||||
|
courseId: 0,
|
||||||
|
duration: 0,
|
||||||
|
flag: true,
|
||||||
|
name: obj.discussName,
|
||||||
|
projectId: 28,
|
||||||
|
projectTaskId: 0,
|
||||||
|
stageId: 3,
|
||||||
|
type: 8,
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
console.log("调用项目添加接口后", res.data);
|
||||||
|
//重新获取任务列表
|
||||||
|
// apiTask.getTask({ projectId: 28 });
|
||||||
|
// router.push("/taskadd");
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log(err);
|
||||||
|
});
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log("创建失败", err);
|
console.log("创建失败", err);
|
||||||
|
|||||||
@@ -9,7 +9,8 @@
|
|||||||
>
|
>
|
||||||
<div class="drawerMain">
|
<div class="drawerMain">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="headerTitle">添加测评</div>
|
<div v-if="edit" class="headerTitle">编辑测评</div>
|
||||||
|
<div v-else class="headerTitle">添加测评</div>
|
||||||
<img
|
<img
|
||||||
style="width: 29px; height: 29px; cursor: pointer"
|
style="width: 29px; height: 29px; cursor: pointer"
|
||||||
src="../../assets/images/basicinfo/close.png"
|
src="../../assets/images/basicinfo/close.png"
|
||||||
@@ -121,6 +122,10 @@ export default {
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
|
edit: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
setup(props, ctx) {
|
setup(props, ctx) {
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
@@ -140,6 +145,7 @@ export default {
|
|||||||
|
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
ctx.emit("update:addevalVisible", false);
|
ctx.emit("update:addevalVisible", false);
|
||||||
|
ctx.emit("update:edit", false);
|
||||||
state.inputV1 = "";
|
state.inputV1 = "";
|
||||||
state.inputV2 = "";
|
state.inputV2 = "";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -103,7 +103,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</a-drawer>
|
</a-drawer>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { reactive, toRefs, ref } from "vue";
|
import { reactive, toRefs, ref } from "vue";
|
||||||
import CreVote from "../../components/drawers/CreVote.vue";
|
import CreVote from "../../components/drawers/CreVote.vue";
|
||||||
import * as api from "../../api/indexVote";
|
import * as api from "../../api/indexVote";
|
||||||
@@ -149,7 +149,7 @@ export default {
|
|||||||
textV1: "",
|
textV1: "",
|
||||||
crevotevisible: false,
|
crevotevisible: false,
|
||||||
time: undefined,
|
time: undefined,
|
||||||
basevote:'',
|
basevote: "",
|
||||||
endTimes: "",
|
endTimes: "",
|
||||||
startTimes: "",
|
startTimes: "",
|
||||||
});
|
});
|
||||||
@@ -162,27 +162,27 @@ export default {
|
|||||||
const showDrawerCreVote = () => {
|
const showDrawerCreVote = () => {
|
||||||
state.crevotevisible = true;
|
state.crevotevisible = true;
|
||||||
};
|
};
|
||||||
//创建投票信息
|
//创建投票信息
|
||||||
const createVoteText = () => {
|
const createVoteText = () => {
|
||||||
if (!state.inputV1) {
|
if (!state.inputV1) {
|
||||||
message.destroy();
|
message.destroy();
|
||||||
return message.info("请输入投票名称");
|
return message.info("请输入投票名称");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (state.basevote == '') {
|
if (state.basevote == "") {
|
||||||
state.basevote = 1;
|
state.basevote = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (state.time != undefined) {
|
if (state.time != undefined) {
|
||||||
state.endTimes = toDate(
|
state.endTimes = toDate(
|
||||||
new Date(state.time[0].$d).getTime() / 1000,
|
new Date(state.time[0].$d).getTime() / 1000,
|
||||||
"Y-M-D"
|
"Y-M-D"
|
||||||
);
|
);
|
||||||
state.startTimes = toDate(
|
state.startTimes = toDate(
|
||||||
new Date(state.time[1].$d).getTime() / 1000,
|
new Date(state.time[1].$d).getTime() / 1000,
|
||||||
"Y-M-D"
|
"Y-M-D"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
let obj = {
|
let obj = {
|
||||||
baseVote: state.basevote,
|
baseVote: state.basevote,
|
||||||
@@ -235,7 +235,7 @@ export default {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.ant-table-striped :deep(.table-striped) td {
|
.ant-table-striped :deep(.table-striped) td {
|
||||||
background-color: #fafafa !important;
|
background-color: #fafafa !important;
|
||||||
}
|
}
|
||||||
@@ -375,4 +375,3 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
@@ -1292,7 +1292,11 @@ export default {
|
|||||||
message.destroy();
|
message.destroy();
|
||||||
return message.warning("请输入路径图名称");
|
return message.warning("请输入路径图名称");
|
||||||
}
|
}
|
||||||
// if (!state.organizationSelectName) return message.warning("请选择归属组织");
|
|
||||||
|
// if (!state.organizationSelectName){
|
||||||
|
// message.destroy();
|
||||||
|
// return message.warning("请选择归属组织");
|
||||||
|
// }
|
||||||
// state.createLoading = true;
|
// state.createLoading = true;
|
||||||
let obj = {
|
let obj = {
|
||||||
name: state.pathName,
|
name: state.pathName,
|
||||||
@@ -1303,14 +1307,19 @@ export default {
|
|||||||
api
|
api
|
||||||
.createLearnPath(obj)
|
.createLearnPath(obj)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
setTimeout(() => {
|
console.log("创建成功", res);
|
||||||
console.log("创建成功", res);
|
message.destroy();
|
||||||
message.success("创建成功");
|
message.success("创建成功");
|
||||||
// state.createLoading = false;
|
router.push("/leveladd");
|
||||||
state.currentPage = 1;
|
// setTimeout(() => {
|
||||||
router.push("/leveladd");
|
// console.log("创建成功", res);
|
||||||
// getLearnPath();
|
// message.destroy();
|
||||||
}, 1000);
|
// message.success("创建成功");
|
||||||
|
// // state.createLoading = false;
|
||||||
|
// state.currentPage = 1;
|
||||||
|
// router.push("/leveladd");
|
||||||
|
// // getLearnPath();
|
||||||
|
// }, 1000);
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log("创建失败", err);
|
console.log("创建失败", err);
|
||||||
@@ -1365,6 +1374,7 @@ export default {
|
|||||||
.handleLearnPath(obj)
|
.handleLearnPath(obj)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log("删除成功", res);
|
console.log("删除成功", res);
|
||||||
|
message.destroy();
|
||||||
message.success("删除成功");
|
message.success("删除成功");
|
||||||
state.deleteModal = false;
|
state.deleteModal = false;
|
||||||
getLearnPath();
|
getLearnPath();
|
||||||
@@ -1375,8 +1385,15 @@ export default {
|
|||||||
};
|
};
|
||||||
//编辑学习路径图
|
//编辑学习路径图
|
||||||
const editLearnPath = () => {
|
const editLearnPath = () => {
|
||||||
if (!state.pathName) return message.warning("请输入路径图名称");
|
if (!state.pathName) {
|
||||||
// if (!state.organizationSelectName) return message.warning("请选择归属组织");
|
message.destroy();
|
||||||
|
return message.warning("请输入路径图名称");
|
||||||
|
}
|
||||||
|
|
||||||
|
// if (!state.organizationSelectName){
|
||||||
|
// message.destroy();
|
||||||
|
// return message.warning("请选择归属组织");
|
||||||
|
// }
|
||||||
// state.createLoading = true;
|
// state.createLoading = true;
|
||||||
let obj = {
|
let obj = {
|
||||||
routerId: state.editPathId,
|
routerId: state.editPathId,
|
||||||
@@ -1388,15 +1405,23 @@ export default {
|
|||||||
api
|
api
|
||||||
.createLearnPath(obj)
|
.createLearnPath(obj)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
setTimeout(() => {
|
console.log("修改成功", res);
|
||||||
console.log("修改成功", res);
|
message.destroy();
|
||||||
message.success("修改成功");
|
message.success("修改成功");
|
||||||
// state.createLoading = false;
|
// state.createLoading = false;
|
||||||
// state.currentPage = 1;
|
// state.currentPage = 1;
|
||||||
state.out1 = false;
|
state.out1 = false;
|
||||||
// router.push("/leveladd");
|
// router.push("/leveladd");
|
||||||
getLearnPath();
|
getLearnPath();
|
||||||
}, 1000);
|
// setTimeout(() => {
|
||||||
|
// console.log("修改成功", res);
|
||||||
|
// message.success("修改成功");
|
||||||
|
// // state.createLoading = false;
|
||||||
|
// // state.currentPage = 1;
|
||||||
|
// state.out1 = false;
|
||||||
|
// // router.push("/leveladd");
|
||||||
|
// getLearnPath();
|
||||||
|
// }, 1000);
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log("修改失败", err);
|
console.log("修改失败", err);
|
||||||
@@ -2175,6 +2200,7 @@ export default {
|
|||||||
.g1 {
|
.g1 {
|
||||||
color: #4ea6ff;
|
color: #4ea6ff;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -258,9 +258,7 @@
|
|||||||
</router-link>
|
</router-link>
|
||||||
</div>
|
</div>
|
||||||
<!-- 无数据显示快速创建 -->
|
<!-- 无数据显示快速创建 -->
|
||||||
<router-link
|
<router-link :to="{ path: '/leveladddetail' }">
|
||||||
:to="{ path: '/leveladddetail', query: { routerId: routerId } }"
|
|
||||||
>
|
|
||||||
<div
|
<div
|
||||||
class="taskbox"
|
class="taskbox"
|
||||||
style="background: linear-gradient(180deg, #fef3dd, #fffaf0)"
|
style="background: linear-gradient(180deg, #fef3dd, #fffaf0)"
|
||||||
|
|||||||
@@ -60,7 +60,7 @@
|
|||||||
<div class="main">
|
<div class="main">
|
||||||
<div class="inma">
|
<div class="inma">
|
||||||
<div class="name">
|
<div class="name">
|
||||||
<div class="d" style="margin-top: 2px;margin-right:2px">
|
<div class="d" style="margin-top: 2px; margin-right: 2px">
|
||||||
<img
|
<img
|
||||||
style="width: 10px; height: 10px"
|
style="width: 10px; height: 10px"
|
||||||
src="../../assets/images/basicinfo/asterisk.png"
|
src="../../assets/images/basicinfo/asterisk.png"
|
||||||
@@ -78,8 +78,15 @@
|
|||||||
<div class="co">{{ value1.length }}/20</div>
|
<div class="co">{{ value1.length }}/20</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="name">
|
<div class="name">
|
||||||
<div class="d" style="width: 10px;height: 10px;margin-top: 2px;margin-right:2px">
|
<div
|
||||||
</div>
|
class="d"
|
||||||
|
style="
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
margin-top: 2px;
|
||||||
|
margin-right: 2px;
|
||||||
|
"
|
||||||
|
></div>
|
||||||
<div class="fir">关卡说明:</div>
|
<div class="fir">关卡说明:</div>
|
||||||
<div class="input">
|
<div class="input">
|
||||||
<a-textarea
|
<a-textarea
|
||||||
@@ -166,9 +173,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- 添加作业侧弹窗 -->
|
<!-- 添加作业侧弹窗 -->
|
||||||
<div>
|
<div>
|
||||||
<add-homework
|
<add-homework
|
||||||
flag=0 routerTaskId=ListChoosedId
|
flag="0"
|
||||||
v-model:addhomeworkVisible="addhomeworkvisible" />
|
routerTaskId="ListChoosedId"
|
||||||
|
v-model:addhomeworkVisible="addhomeworkvisible"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="lin"></div>
|
<div class="lin"></div>
|
||||||
</div>
|
</div>
|
||||||
@@ -221,30 +230,45 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="lin"></div>
|
<div class="lin"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item" @click="showDrawerAddEval">
|
||||||
<div class="itcon">
|
<div class="itcon">
|
||||||
<div class="img">
|
<div class="img">
|
||||||
<img src="../../assets/images/leveladd/ce.png" />
|
<img src="../../assets/images/leveladd/ce.png" />
|
||||||
</div>
|
</div>
|
||||||
<div class="text">测评</div>
|
<div class="text">测评</div>
|
||||||
|
<!-- 添加测评侧弹窗 -->
|
||||||
|
<div>
|
||||||
|
<add-eval v-model:addevalVisible="addevalvisible" v-model:edit="edit" />
|
||||||
|
</div>
|
||||||
|
<!-- 添加测评侧弹窗 -->
|
||||||
</div>
|
</div>
|
||||||
<div class="lin"></div>
|
<div class="lin"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item" @click="showDrawerAddInvist">
|
||||||
<div class="itcon">
|
<div class="itcon">
|
||||||
<div class="img">
|
<div class="img">
|
||||||
<img src="../../assets/images/leveladd/diao.png" />
|
<img src="../../assets/images/leveladd/diao.png" />
|
||||||
</div>
|
</div>
|
||||||
<div class="text">评估</div>
|
<div class="text">评估</div>
|
||||||
|
<!-- 添加评估侧弹窗 -->
|
||||||
|
<div>
|
||||||
|
<add-invist v-model:addinvistVisible="addinvistvisible" />
|
||||||
|
</div>
|
||||||
|
<!-- 添加评估侧弹窗 -->
|
||||||
</div>
|
</div>
|
||||||
<div class="lin"></div>
|
<div class="lin"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item" @click="showDrawerAddVote">
|
||||||
<div class="itcon">
|
<div class="itcon">
|
||||||
<div class="img">
|
<div class="img">
|
||||||
<img src="../../assets/images/leveladd/tou.png" />
|
<img src="../../assets/images/leveladd/tou.png" />
|
||||||
</div>
|
</div>
|
||||||
<div class="text">投票</div>
|
<div class="text">投票</div>
|
||||||
|
<!-- 添加投票侧弹窗 -->
|
||||||
|
<div>
|
||||||
|
<add-vote v-model:addvoteVisible="addvotevisible" />
|
||||||
|
</div>
|
||||||
|
<!-- 添加投票侧弹窗 -->
|
||||||
</div>
|
</div>
|
||||||
<div class="lin"></div>
|
<div class="lin"></div>
|
||||||
</div>
|
</div>
|
||||||
@@ -524,6 +548,9 @@ import AddStu from "../../components/drawers/AddLevelAddStu";
|
|||||||
import ImpStu from "../../components/drawers/AddLevelImportStu";
|
import ImpStu from "../../components/drawers/AddLevelImportStu";
|
||||||
import AddHomework from "../../components/drawers/AddHomework.vue";
|
import AddHomework from "../../components/drawers/AddHomework.vue";
|
||||||
import AddTest from "../../components/drawers/AddTest.vue";
|
import AddTest from "../../components/drawers/AddTest.vue";
|
||||||
|
import AddEval from "../../components/drawers/AddEval.vue";
|
||||||
|
import AddInvist from "../../components/drawers/AddInvist.vue";
|
||||||
|
import AddVote from "../../components/drawers/AddVote.vue";
|
||||||
import * as api from "../../api/indexLevel";
|
import * as api from "../../api/indexLevel";
|
||||||
import { GetRouterDetail, RouterDeleteTask } from "../../api/indexTask";
|
import { GetRouterDetail, RouterDeleteTask } from "../../api/indexTask";
|
||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
@@ -533,16 +560,20 @@ export default {
|
|||||||
AddStu,
|
AddStu,
|
||||||
ImpStu,
|
ImpStu,
|
||||||
AddHomework,
|
AddHomework,
|
||||||
AddTest
|
AddTest,
|
||||||
|
AddEval,
|
||||||
|
AddInvist,
|
||||||
|
AddVote,
|
||||||
},
|
},
|
||||||
setup() {
|
setup() {
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
|
routerId: localStorage.getItem("routerId"),
|
||||||
level: [
|
level: [
|
||||||
{
|
{
|
||||||
chapterId: "1",
|
chapterId: "1",
|
||||||
remark: "关卡说明",
|
remark: "关卡说明",
|
||||||
name: "默认关卡",
|
name: "默认关卡",
|
||||||
}
|
},
|
||||||
],
|
],
|
||||||
tableData: [
|
tableData: [
|
||||||
{
|
{
|
||||||
@@ -739,19 +770,23 @@ export default {
|
|||||||
value1: "",
|
value1: "",
|
||||||
value2: "",
|
value2: "",
|
||||||
selectedRowKeys: [],
|
selectedRowKeys: [],
|
||||||
|
edit:false, //是否点击编辑
|
||||||
gqxy_hs: true,
|
gqxy_hs: true,
|
||||||
isactive: 0,
|
isactive: 0,
|
||||||
projectChecked: null, //项目单选框
|
projectChecked: null, //项目单选框
|
||||||
addhomeworkvisible: false,
|
addhomeworkvisible: false,
|
||||||
addtestvisible:false,
|
addtestvisible: false,
|
||||||
|
addevalvisible: false,
|
||||||
|
addinvistvisible: false,
|
||||||
|
addvotevisible: false,
|
||||||
updateChapterID: null, //修改关卡id
|
updateChapterID: null, //修改关卡id
|
||||||
// 表示当前触发列表的id,用来发送编辑和删除
|
// 表示当前触发列表的id,用来发送编辑和删除
|
||||||
ListChoosedId:0
|
ListChoosedId: 0,
|
||||||
});
|
});
|
||||||
|
|
||||||
//新建关卡
|
//新建关卡
|
||||||
const editChapter = () => {
|
const editChapter = () => {
|
||||||
if(!state.value1) return message.warning("请输入关卡名称");
|
if (!state.value1) return message.warning("请输入关卡名称");
|
||||||
let obj = {
|
let obj = {
|
||||||
name: state.value1,
|
name: state.value1,
|
||||||
remark: state.value2,
|
remark: state.value2,
|
||||||
@@ -774,7 +809,7 @@ export default {
|
|||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log("创建失败", err);
|
console.log("创建失败", err);
|
||||||
});
|
});
|
||||||
}
|
};
|
||||||
|
|
||||||
//编辑关卡
|
//编辑关卡
|
||||||
// const updateChapter = () => {
|
// const updateChapter = () => {
|
||||||
@@ -800,44 +835,56 @@ export default {
|
|||||||
// 作业和考试的抽屉
|
// 作业和考试的抽屉
|
||||||
const showDrawerAddHomework = () => {
|
const showDrawerAddHomework = () => {
|
||||||
state.addhomeworkvisible = true;
|
state.addhomeworkvisible = true;
|
||||||
state.ListChoosedId = 0
|
state.ListChoosedId = 0;
|
||||||
};
|
};
|
||||||
const showDrawerAddTest = () => {
|
const showDrawerAddTest = () => {
|
||||||
state.addtestvisible = true;
|
state.addtestvisible = true;
|
||||||
state.ListChoosedId = 0
|
state.ListChoosedId = 0;
|
||||||
|
};
|
||||||
|
//测试评估投票抽屉
|
||||||
|
const showDrawerAddEval = () => {
|
||||||
|
state.addevalvisible = true;
|
||||||
|
};
|
||||||
|
const showDrawerAddInvist = () => {
|
||||||
|
state.addinvistvisible = true;
|
||||||
|
};
|
||||||
|
const showDrawerAddVote = () => {
|
||||||
|
state.addvotevisible = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
// tableData数据赋值方法
|
// tableData数据赋值方法
|
||||||
const dataAssignment = () => {
|
const dataAssignment = () => {
|
||||||
console.log((state.level));
|
console.log(state.level);
|
||||||
state.level[0].taskList.forEach((element,index) => {
|
state.level[0].taskList.forEach((element, index) => {
|
||||||
state.tableData[index] = {
|
state.tableData[index] = {
|
||||||
key:element.routerTaskId,
|
key: element.routerTaskId,
|
||||||
lei:checkType(element.type),
|
lei: checkType(element.type),
|
||||||
creater:element.name,
|
creater: element.name,
|
||||||
cretime:element.duration,
|
cretime: element.duration,
|
||||||
checked1:element.flag
|
checked1: element.flag,
|
||||||
}
|
};
|
||||||
});
|
});
|
||||||
}
|
};
|
||||||
const getDetail = (index) => {
|
const getDetail = (index) => {
|
||||||
GetRouterDetail(92).then((res) => {
|
GetRouterDetail(92)
|
||||||
state.level = res.data.data.chapterList
|
.then((res) => {
|
||||||
console.log(state.level);
|
state.level = res.data.data.chapterList;
|
||||||
if(index == 0) {
|
console.log(state.level);
|
||||||
// state.tableData[1] = {
|
if (index == 0) {
|
||||||
// key: 2,
|
// state.tableData[1] = {
|
||||||
// lei: "在线",
|
// key: 2,
|
||||||
// creater: "管理者课程",
|
// lei: "在线",
|
||||||
// cretime: "60",
|
// creater: "管理者课程",
|
||||||
// checked1: true,
|
// cretime: "60",
|
||||||
// }
|
// checked1: true,
|
||||||
dataAssignment(0)
|
// }
|
||||||
}
|
dataAssignment(0);
|
||||||
}).catch((err) => {
|
}
|
||||||
message.error(err)
|
})
|
||||||
})
|
.catch((err) => {
|
||||||
}
|
message.error(err);
|
||||||
|
});
|
||||||
|
};
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
state.visible = false;
|
state.visible = false;
|
||||||
};
|
};
|
||||||
@@ -960,12 +1007,23 @@ export default {
|
|||||||
return (
|
return (
|
||||||
<div class="opa">
|
<div class="opa">
|
||||||
<div class="opacation">
|
<div class="opacation">
|
||||||
<span style="color:#4EA6FF;margin-right:25px;cursor:pointer">
|
<span
|
||||||
|
style="color:#4EA6FF;margin-right:25px;cursor:pointer"
|
||||||
|
onClick={()=>{
|
||||||
|
state.edit = true;
|
||||||
|
state.addevalvisible = true;
|
||||||
|
}}
|
||||||
|
>
|
||||||
编辑
|
编辑
|
||||||
</span>
|
</span>
|
||||||
<span style="color:#4EA6FF;cursor:pointer" onClick={() => {
|
<span
|
||||||
deleteLevelTask()
|
style="color:#4EA6FF;cursor:pointer"
|
||||||
}}>删除</span>
|
onClick={() => {
|
||||||
|
deleteLevelTask();
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
删除
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
@@ -975,9 +1033,22 @@ export default {
|
|||||||
return columns;
|
return columns;
|
||||||
};
|
};
|
||||||
const checkType = (index) => {
|
const checkType = (index) => {
|
||||||
let typeRules = ["","在线","面授","案例","作业","考试","直播","外链","讨论","测评","评估","投票"];
|
let typeRules = [
|
||||||
|
"",
|
||||||
|
"在线",
|
||||||
|
"面授",
|
||||||
|
"案例",
|
||||||
|
"作业",
|
||||||
|
"考试",
|
||||||
|
"直播",
|
||||||
|
"外链",
|
||||||
|
"讨论",
|
||||||
|
"测评",
|
||||||
|
"评估",
|
||||||
|
"投票",
|
||||||
|
];
|
||||||
return typeRules[index];
|
return typeRules[index];
|
||||||
}
|
};
|
||||||
const tableDataFunc2 = () => {
|
const tableDataFunc2 = () => {
|
||||||
const columns = [
|
const columns = [
|
||||||
{
|
{
|
||||||
@@ -1162,7 +1233,7 @@ export default {
|
|||||||
document.getElementsByTagName("main")[0].style.background =
|
document.getElementsByTagName("main")[0].style.background =
|
||||||
"rgb(245, 247, 250,1)";
|
"rgb(245, 247, 250,1)";
|
||||||
document.getElementsByTagName("main")[0].style.boxShadow = "none";
|
document.getElementsByTagName("main")[0].style.boxShadow = "none";
|
||||||
getDetail(0)
|
getDetail(0);
|
||||||
});
|
});
|
||||||
onUnmounted(() => {
|
onUnmounted(() => {
|
||||||
document.getElementsByTagName("main")[0].style.background = "#ffffff";
|
document.getElementsByTagName("main")[0].style.background = "#ffffff";
|
||||||
@@ -1183,13 +1254,15 @@ export default {
|
|||||||
state.deleteAll = false;
|
state.deleteAll = false;
|
||||||
};
|
};
|
||||||
const deleteLevelTask = () => {
|
const deleteLevelTask = () => {
|
||||||
RouterDeleteTask(state.listChoosedId).then((res) => {
|
RouterDeleteTask(state.listChoosedId)
|
||||||
console.log(`删除成功${res}`);
|
.then((res) => {
|
||||||
message.success('删除成功')
|
console.log(`删除成功${res}`);
|
||||||
}).catch((err) => {
|
message.success("删除成功");
|
||||||
console.log(`删除失败${err}`);
|
})
|
||||||
})
|
.catch((err) => {
|
||||||
}
|
console.log(`删除失败${err}`);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
@@ -1213,6 +1286,9 @@ export default {
|
|||||||
// updateChapter,
|
// updateChapter,
|
||||||
showDrawerAddHomework,
|
showDrawerAddHomework,
|
||||||
showDrawerAddTest,
|
showDrawerAddTest,
|
||||||
|
showDrawerAddEval,
|
||||||
|
showDrawerAddInvist,
|
||||||
|
showDrawerAddVote,
|
||||||
deleteLevelTask,
|
deleteLevelTask,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@@ -1339,9 +1415,9 @@ export default {
|
|||||||
width: 100px;
|
width: 100px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
border: 1px solid #409EFF;
|
border: 1px solid #409eff;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #409EFF;
|
color: #409eff;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
background: #ffffff;
|
background: #ffffff;
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
@@ -1354,7 +1430,7 @@ export default {
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
border: 0;
|
border: 0;
|
||||||
background: #409EFF;
|
background: #409eff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -565,7 +565,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
<!-- 存为模板弹窗 -->
|
<!-- 存为模版弹窗 -->
|
||||||
<a-modal v-model:visible="startModal" :footer="null" :closable="closeStart" wrapClassName="CopyModal"
|
<a-modal v-model:visible="startModal" :footer="null" :closable="closeStart" wrapClassName="CopyModal"
|
||||||
centered="true">
|
centered="true">
|
||||||
<div class="delete">
|
<div class="delete">
|
||||||
@@ -577,7 +577,7 @@
|
|||||||
<div class="close_exit" @click="closeStartModal"></div>
|
<div class="close_exit" @click="closeStartModal"></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">
|
<div class="del_btn btn1">
|
||||||
@@ -1358,15 +1358,15 @@ export default {
|
|||||||
<a-select-option value="基础信息" label="基础信息">
|
<a-select-option value="基础信息" label="基础信息">
|
||||||
<router-link to="/taskpage">基础信息</router-link>
|
<router-link to="/taskpage">基础信息</router-link>
|
||||||
</a-select-option>
|
</a-select-option>
|
||||||
<a-select-option value="存为模板" label="存为模板">
|
{/* <a-select-option value="存为模版" label="存为模版">
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
showStartModal();
|
showStartModal();
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
存为模板
|
存为模版
|
||||||
</div>
|
</div>
|
||||||
</a-select-option>
|
</a-select-option> */}
|
||||||
</a-select>
|
</a-select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1860,13 +1860,13 @@ export default {
|
|||||||
删除
|
删除
|
||||||
</div>
|
</div>
|
||||||
</a-select-option>
|
</a-select-option>
|
||||||
<a-select-option value="存为模板" label="存为模板">
|
<a-select-option value="存为模版" label="存为模版">
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
showStartModal();
|
showStartModal();
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
存为模板
|
存为模版
|
||||||
</div>
|
</div>
|
||||||
</a-select-option>
|
</a-select-option>
|
||||||
<a-select-option value="基础信息" label="基础信息">
|
<a-select-option value="基础信息" label="基础信息">
|
||||||
@@ -1880,13 +1880,13 @@ export default {
|
|||||||
// options={state.projectNameList}
|
// options={state.projectNameList}
|
||||||
dropdownClassName="tabledropdown"
|
dropdownClassName="tabledropdown"
|
||||||
>
|
>
|
||||||
<a-select-option value="存为模板" label="存为模板">
|
<a-select-option value="存为模版" label="存为模版">
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
showStartModal();
|
showStartModal();
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
存为模板
|
存为模版
|
||||||
</div>
|
</div>
|
||||||
</a-select-option>
|
</a-select-option>
|
||||||
<a-select-option value="结束" label="结束">
|
<a-select-option value="结束" label="结束">
|
||||||
@@ -1918,13 +1918,13 @@ export default {
|
|||||||
// options={state.projectNameList}
|
// options={state.projectNameList}
|
||||||
dropdownClassName="tabledropdown"
|
dropdownClassName="tabledropdown"
|
||||||
>
|
>
|
||||||
<a-select-option value="存为模板" label="存为模板">
|
<a-select-option value="存为模版" label="存为模版">
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
showStartModal();
|
showStartModal();
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
存为模板
|
存为模版
|
||||||
</div>
|
</div>
|
||||||
</a-select-option>
|
</a-select-option>
|
||||||
<a-select-option value="删除" label="删除">
|
<a-select-option value="删除" label="删除">
|
||||||
@@ -1947,13 +1947,13 @@ export default {
|
|||||||
// options={state.projectNameList}
|
// options={state.projectNameList}
|
||||||
dropdownClassName="tabledropdown"
|
dropdownClassName="tabledropdown"
|
||||||
>
|
>
|
||||||
<a-select-option value="存为模板" label="存为模板">
|
<a-select-option value="存为模版" label="存为模版">
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
showStartModal();
|
showStartModal();
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
存为模板
|
存为模版
|
||||||
</div>
|
</div>
|
||||||
</a-select-option>
|
</a-select-option>
|
||||||
<a-select-option value="撤回" label="撤回">
|
<a-select-option value="撤回" label="撤回">
|
||||||
@@ -2214,7 +2214,7 @@ export default {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.projectManage {
|
.projectManage {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|||||||
@@ -190,7 +190,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- 添加讨论侧弹窗 -->
|
<!-- 添加讨论侧弹窗 -->
|
||||||
<div>
|
<div>
|
||||||
<add-discuss v-model:adddiscussVisible="adddiscussvisible" />
|
<add-discuss
|
||||||
|
v-model:adddiscussVisible="adddiscussvisible"
|
||||||
|
@changeData="updateTableData"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<!-- 添加讨论侧弹窗 -->
|
<!-- 添加讨论侧弹窗 -->
|
||||||
<div class="lin"></div>
|
<div class="lin"></div>
|
||||||
@@ -367,11 +370,17 @@
|
|||||||
<div class="modalMain" style="width: 100%">
|
<div class="modalMain" style="width: 100%">
|
||||||
<div class="name">
|
<div class="name">
|
||||||
<div class="namebox">
|
<div class="namebox">
|
||||||
|
<div>
|
||||||
|
<img
|
||||||
|
src="@/assets/images/coursewareManage/asterisk.png"
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
<div class="inname">阶段名称:</div>
|
<div class="inname">阶段名称:</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="in">
|
<div class="in">
|
||||||
<a-input
|
<a-input
|
||||||
v-model:value="valueE"
|
v-model:value="valuesname"
|
||||||
show-count
|
show-count
|
||||||
:maxlength="20"
|
:maxlength="20"
|
||||||
placeholder="请输入阶段名称"
|
placeholder="请输入阶段名称"
|
||||||
@@ -384,7 +393,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="intext" style="margin-left: 14px">
|
<div class="intext" style="margin-left: 14px">
|
||||||
<a-textarea
|
<a-textarea
|
||||||
v-model:value="value"
|
v-model:value="valuesnotice"
|
||||||
style="height: 88px"
|
style="height: 88px"
|
||||||
show-count
|
show-count
|
||||||
:maxlength="100"
|
:maxlength="100"
|
||||||
@@ -415,7 +424,7 @@
|
|||||||
取消
|
取消
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
@click="closeModal"
|
@click="editStage"
|
||||||
style="
|
style="
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
margin-left: 16px;
|
margin-left: 16px;
|
||||||
@@ -551,6 +560,7 @@ import * as apiactivity from "../../api/indexActivity";
|
|||||||
import * as apieval from "../../api/indexEval";
|
import * as apieval from "../../api/indexEval";
|
||||||
import * as apiinvist from "../../api/indexInvist";
|
import * as apiinvist from "../../api/indexInvist";
|
||||||
import * as apivote from "../../api/indexVote";
|
import * as apivote from "../../api/indexVote";
|
||||||
|
import * as apistage from "../../api/indexStage";
|
||||||
const drawercolumns = [
|
const drawercolumns = [
|
||||||
{
|
{
|
||||||
title: "项目名称",
|
title: "项目名称",
|
||||||
@@ -770,6 +780,8 @@ export default {
|
|||||||
addvotevisible: false,
|
addvotevisible: false,
|
||||||
stage: false,
|
stage: false,
|
||||||
selectedRowKeys: [],
|
selectedRowKeys: [],
|
||||||
|
valuesname: "",
|
||||||
|
valuesnotice: "",
|
||||||
confirmModal: false, //确认添加阶段弹窗
|
confirmModal: false, //确认添加阶段弹窗
|
||||||
cC: false,
|
cC: false,
|
||||||
cancelModal: false, //确认取消阶段弹窗
|
cancelModal: false, //确认取消阶段弹窗
|
||||||
@@ -784,7 +796,6 @@ export default {
|
|||||||
deleteActivityID: null, //删除活动id
|
deleteActivityID: null, //删除活动id
|
||||||
deleteID: "",
|
deleteID: "",
|
||||||
});
|
});
|
||||||
|
|
||||||
const selectProjectName = (value, index) => {
|
const selectProjectName = (value, index) => {
|
||||||
console.log("value", value, index);
|
console.log("value", value, index);
|
||||||
};
|
};
|
||||||
@@ -794,6 +805,28 @@ export default {
|
|||||||
const afterVisibleChange = (bool) => {
|
const afterVisibleChange = (bool) => {
|
||||||
console.log("visible", bool);
|
console.log("visible", bool);
|
||||||
};
|
};
|
||||||
|
//添加阶段
|
||||||
|
const editStage = () => {
|
||||||
|
if (!state.valuesname) {
|
||||||
|
message.destroy();
|
||||||
|
return message.warning("请输入阶段名称");
|
||||||
|
}
|
||||||
|
let obj = {
|
||||||
|
name: state.valuesname,
|
||||||
|
projectId: 28,
|
||||||
|
remark: state.valuesnotice,
|
||||||
|
};
|
||||||
|
apistage
|
||||||
|
.editStage(obj)
|
||||||
|
.then((res) => {
|
||||||
|
console.log("添加阶段成功", res);
|
||||||
|
message.default();
|
||||||
|
message.success("添加阶段成功");
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log("添加阶段失败", err);
|
||||||
|
});
|
||||||
|
};
|
||||||
// 把数据放到state里
|
// 把数据放到state里
|
||||||
const getTableData = (tableData) => {
|
const getTableData = (tableData) => {
|
||||||
let data = tableData;
|
let data = tableData;
|
||||||
@@ -1453,6 +1486,7 @@ export default {
|
|||||||
state.isactive = index;
|
state.isactive = index;
|
||||||
state.isActive = !state.isActive;
|
state.isActive = !state.isActive;
|
||||||
};
|
};
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
selectProjectName,
|
selectProjectName,
|
||||||
@@ -1501,6 +1535,7 @@ export default {
|
|||||||
editVotePath,
|
editVotePath,
|
||||||
getTableData,
|
getTableData,
|
||||||
deleteTask,
|
deleteTask,
|
||||||
|
editStage,
|
||||||
updateTableData,
|
updateTableData,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@@ -1508,12 +1543,12 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.ant-input {
|
// .ant-input {
|
||||||
border-radius: 8px;
|
// border-radius: 8px;
|
||||||
// height: 120%;
|
// // height: 120%;
|
||||||
width: 384px;
|
// width: 384px;
|
||||||
height: 88px;
|
// height: 88px;
|
||||||
}
|
// }
|
||||||
.ConfirmModal {
|
.ConfirmModal {
|
||||||
.ant-modal {
|
.ant-modal {
|
||||||
width: 424px !important;
|
width: 424px !important;
|
||||||
|
|||||||
Reference in New Issue
Block a user