mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-09 19:06:45 +08:00
feat:增加删除关卡及关卡说明
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
* @Author: lixg lixg@dongwu-inc.com
|
||||
* @Date: 2022-11-04 22:45:31
|
||||
* @LastEditors: lixg lixg@dongwu-inc.com
|
||||
* @LastEditTime: 2022-11-09 09:32:52
|
||||
* @LastEditTime: 2022-11-10 11:41:52
|
||||
* @FilePath: /fe-manage/src/api/index1.js
|
||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||
*/
|
||||
@@ -59,6 +59,7 @@ export const getChapter = (obj) => http.post('/admin/router/detail', { params: o
|
||||
|
||||
//新建或编辑关卡
|
||||
export const editChapter = (obj) => http.post('/admin/router/editChapter', obj);
|
||||
|
||||
//获取学员列表
|
||||
export const getStudent = (obj) => http.post('/admin/router/studentList', obj);
|
||||
//获取路径图详情-包含关卡及任务列表
|
||||
|
||||
@@ -1,10 +1,19 @@
|
||||
/*
|
||||
* @Author: lixg lixg@dongwu-inc.com
|
||||
* @Date: 2022-11-09 09:26:26
|
||||
* @LastEditors: lixg lixg@dongwu-inc.com
|
||||
* @LastEditTime: 2022-11-10 11:50:08
|
||||
* @FilePath: /fe-manage/src/api/indexLevel.js
|
||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||
*/
|
||||
import http from "./config";
|
||||
|
||||
//新建关卡
|
||||
export const editChapter = (obj) => http.post('/admin/router/editChapter', obj);
|
||||
//编辑关卡
|
||||
export const updateChapter = (obj) => http.post('/admin/router/editChapter', obj);
|
||||
|
||||
//删除关卡
|
||||
export const deleteChapter=(obj)=>http.delete('/admin/router/deleteChapter',{params:obj})
|
||||
//删除任务
|
||||
export const deleteTask = (obj) => http.delete('/admin/router/deleteTask',{params: obj});
|
||||
|
||||
|
||||
BIN
src/assets/images/leveladd/delete.png
Normal file
BIN
src/assets/images/leveladd/delete.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 302 B |
@@ -147,6 +147,7 @@
|
||||
v-model:value="pathName"
|
||||
maxlength="20"
|
||||
style="border-radius: 4px"
|
||||
placeholder="请输入学习路径名称"
|
||||
/>
|
||||
<div class="showcount">{{ pathName.length }}/20</div>
|
||||
</div>
|
||||
@@ -187,7 +188,7 @@
|
||||
/>
|
||||
</div>
|
||||
<div class="inname">路径图背景</div>
|
||||
<div class="in">
|
||||
<div class="in learnBg">
|
||||
<!-- <img class="im" src="../../assets/px.jpg" />
|
||||
<img class="im" src="../../assets/px.jpg" />
|
||||
<img class="im" src="../../assets/px.jpg" /> -->
|
||||
@@ -195,18 +196,12 @@
|
||||
@click="chooseImg(item)"
|
||||
v-for="item in imgData"
|
||||
:key="item.key"
|
||||
style="
|
||||
border-radius: 8px;
|
||||
width: 136px;
|
||||
height: 106px;
|
||||
background-size: 100%;
|
||||
background-repeat: no-repeat;
|
||||
"
|
||||
class="learnBgItem"
|
||||
:style="{
|
||||
border:
|
||||
learnPathBg === item.id
|
||||
? '2px solid rgba(78, 166, 255, 1)'
|
||||
: '2px solid rgba(78, 166, 255, 0)',
|
||||
: '1px solid #ccc',
|
||||
'background-image': 'url(' + item.source + ')',
|
||||
}"
|
||||
>
|
||||
@@ -268,6 +263,7 @@
|
||||
v-model:value="pathName"
|
||||
maxlength="20"
|
||||
style="border-radius: 4px"
|
||||
placeholder="请输入学习路径名称"
|
||||
/>
|
||||
<div class="showcount">{{ pathName.length }}/20</div>
|
||||
</div>
|
||||
@@ -308,26 +304,20 @@
|
||||
/>
|
||||
</div>
|
||||
<div class="inname">路径图背景</div>
|
||||
<div class="in">
|
||||
<div class="in learnBg">
|
||||
<!-- <img class="im" src="../../assets/px.jpg" />
|
||||
<img class="im" src="../../assets/px.jpg" />
|
||||
<img class="im" src="../../assets/px.jpg" /> -->
|
||||
<div
|
||||
@click="chooseImg(item)"
|
||||
@click="chooseImg2(item)"
|
||||
v-for="item in imgData"
|
||||
:key="item.key"
|
||||
style="
|
||||
border-radius: 8px;
|
||||
width: 136px;
|
||||
height: 106px;
|
||||
background-size: 100%;
|
||||
background-repeat: no-repeat;
|
||||
"
|
||||
class="learnBgItem"
|
||||
:style="{
|
||||
border:
|
||||
learnPathBg2 === item.id
|
||||
? '2px solid rgba(78, 166, 255, 1)'
|
||||
: '2px solid rgba(78, 166, 255, 0)',
|
||||
: '1px solid #ccc',
|
||||
'background-image': 'url(' + item.source + ')',
|
||||
}"
|
||||
>
|
||||
@@ -440,17 +430,17 @@
|
||||
<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="delete_exit">
|
||||
<div class="btnText" >取消</div>
|
||||
</div>
|
||||
<div class="del_btn btn2">
|
||||
<div class="btnText" @click="delete_exit">确定</div>
|
||||
<div class="del_btn btn2" @click="delete_exit">
|
||||
<div class="btnText" >确定</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a-modal>
|
||||
<!-- 停用路径弹窗 -->
|
||||
<!-- 结束路径弹窗 -->
|
||||
<a-modal
|
||||
v-model:visible="stopModal"
|
||||
:footer="null"
|
||||
@@ -467,20 +457,24 @@
|
||||
<div class="close_exit" @click="closeStopModal"></div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<span>您确定要停用此路径吗</span>
|
||||
<!-- <span>您确定要停用此路径吗</span> -->
|
||||
<span>是否结束项目</span>
|
||||
<div class="back">
|
||||
(项目结束后学员将无法继续学习,此操作不可逆)
|
||||
</div>
|
||||
</div>
|
||||
<div class="del_btnbox">
|
||||
<div class="del_btn btn1">
|
||||
<div class="btnText" @click="closeStopModal">取消</div>
|
||||
<div class="del_btn btn1" @click="closeStopModal">
|
||||
<div class="btnText" >取消</div>
|
||||
</div>
|
||||
<div class="del_btn btn2">
|
||||
<div class="btnText" @click="stopLearnPath">确定</div>
|
||||
<div class="del_btn btn2" @click="stopLearnPath">
|
||||
<div class="btnText" >确定</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a-modal>
|
||||
<!-- 删除路径弹窗 -->
|
||||
<!-- 结束路径弹窗 -->
|
||||
<a-modal
|
||||
v-model:visible="deleteModal"
|
||||
:footer="null"
|
||||
@@ -500,11 +494,11 @@
|
||||
<span>您确定要删除此路径吗</span>
|
||||
</div>
|
||||
<div class="del_btnbox">
|
||||
<div class="del_btn btn1">
|
||||
<div class="btnText" @click="closeDeleteModal">取消</div>
|
||||
<div class="del_btn btn1" @click="closeDeleteModal">
|
||||
<div class="btnText" >取消</div>
|
||||
</div>
|
||||
<div class="del_btn btn2">
|
||||
<div class="btnText" @click="deleteLearnPath">确定</div>
|
||||
<div class="del_btn btn2" @click="deleteLearnPath">
|
||||
<div class="btnText" >确定</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -530,11 +524,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="delete_exit">
|
||||
<div class="btnText" >取消</div>
|
||||
</div>
|
||||
<div class="del_btn btn2">
|
||||
<div class="btnText" @click="delete_exit">确定</div>
|
||||
<div class="del_btn btn2" @click="delete_exit">
|
||||
<div class="btnText" >确定</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -561,11 +555,11 @@
|
||||
<div class="back">(路径撤回后学员进度保留,发布后可继续学习)</div>
|
||||
</div>
|
||||
<div class="del_btnbox">
|
||||
<div class="del_btn btn1">
|
||||
<div class="btnText" @click="closeBackModal">取消</div>
|
||||
<div class="del_btn btn1" @click="closeBackModal">
|
||||
<div class="btnText" >取消</div>
|
||||
</div>
|
||||
<div class="del_btn btn2">
|
||||
<div class="btnText" @click="recallPath">确定</div>
|
||||
<div class="del_btn btn2" @click="recallPath">
|
||||
<div class="btnText" >确定</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -634,6 +628,14 @@ export default {
|
||||
id: 3,
|
||||
source: require("../../assets/images/leveladd/3.png"),
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
source: require("../../assets/images/leveladd/2.png"),
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
source: require("../../assets/images/leveladd/3.png"),
|
||||
},
|
||||
],
|
||||
learnPathBg: null, //创建路径选择的路径图背景
|
||||
learnPathBg2: null, //编辑路径选择的路径图背景
|
||||
@@ -752,12 +754,12 @@ export default {
|
||||
state.editPathId = null;
|
||||
};
|
||||
const chooseImg = (item) => {
|
||||
console.log(item);
|
||||
// console.log(item);
|
||||
state.learnPathBg = item.id;
|
||||
};
|
||||
const chooseImg2 = (id) => {
|
||||
console.log(id);
|
||||
state.learnPathBg2 = id;
|
||||
const chooseImg2 = (item) => {
|
||||
// console.log(item);
|
||||
state.learnPathBg2 = item.id;
|
||||
};
|
||||
//发布弹窗
|
||||
const showPub = (routerId) => {
|
||||
@@ -820,15 +822,15 @@ export default {
|
||||
const closeCopyModal = () => {
|
||||
state.copyModal = false;
|
||||
};
|
||||
//显示停用窗口
|
||||
//显示结束窗口
|
||||
const showStopModal = () => {
|
||||
state.stopModal = true;
|
||||
};
|
||||
//关闭停用窗口
|
||||
//关闭结束窗口
|
||||
const closeStopModal = () => {
|
||||
state.stopModal = false;
|
||||
};
|
||||
//确认停用
|
||||
//确认结束
|
||||
const stopLearnPath = () => {
|
||||
let obj = {
|
||||
routerId: state.stopPathId,
|
||||
@@ -916,7 +918,7 @@ export default {
|
||||
: value.status === 1
|
||||
? "已发布"
|
||||
: value.status === -1
|
||||
? "已停用"
|
||||
? "已结束"
|
||||
: "-",
|
||||
creater: value.createName ? value.createName : "-",
|
||||
pubtime: value.publishTime
|
||||
@@ -1141,20 +1143,7 @@ export default {
|
||||
复制
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option
|
||||
value="停用"
|
||||
label="停用"
|
||||
style="padding-left:35px"
|
||||
>
|
||||
<div
|
||||
onClick={() => {
|
||||
state.stopPathId = text.record.id;
|
||||
showStopModal();
|
||||
}}
|
||||
>
|
||||
停用
|
||||
</div>
|
||||
</a-select-option>
|
||||
|
||||
<a-select-option
|
||||
value="删除"
|
||||
label="删除"
|
||||
@@ -1208,12 +1197,26 @@ export default {
|
||||
撤回
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option
|
||||
value="结束"
|
||||
label="结束"
|
||||
style="padding-left:35px"
|
||||
>
|
||||
<div
|
||||
onClick={() => {
|
||||
state.stopPathId = text.record.id;
|
||||
showStopModal();
|
||||
}}
|
||||
>
|
||||
结束
|
||||
</div>
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</div>
|
||||
) : (
|
||||
<div></div>
|
||||
)}
|
||||
{text.record.state === "已停用" ? (
|
||||
{text.record.state === "已结束" ? (
|
||||
<div>
|
||||
<a-select
|
||||
style="width: 50px;margin-top:2px;margin-right:20px;"
|
||||
@@ -1233,6 +1236,7 @@ export default {
|
||||
复制
|
||||
</div>
|
||||
</a-select-option>
|
||||
{/**
|
||||
<a-select-option
|
||||
value="启用"
|
||||
label="启用"
|
||||
@@ -1246,6 +1250,7 @@ export default {
|
||||
启用
|
||||
</div>
|
||||
</a-select-option>
|
||||
*/}
|
||||
|
||||
<a-select-option
|
||||
value="删除"
|
||||
@@ -1629,10 +1634,10 @@ export default {
|
||||
.in {
|
||||
margin-left: 14px;
|
||||
width: 81%;
|
||||
height: 110px;
|
||||
// height: 110px;
|
||||
// background-color: red;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
// justify-content: space-between;
|
||||
.im {
|
||||
border-radius: 8px;
|
||||
width: 140px;
|
||||
@@ -1640,6 +1645,21 @@ export default {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
.learnBg{
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
min-height: 110px;
|
||||
.learnBgItem{
|
||||
border-radius: 8px;
|
||||
width: 136px;
|
||||
height: 106px;
|
||||
background-size: 100%;
|
||||
background-repeat: no-repeat;
|
||||
margin-bottom: 20px;
|
||||
margin-right: 6px;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
.info {
|
||||
width: 78%;
|
||||
|
||||
@@ -32,17 +32,48 @@
|
||||
>
|
||||
<div class="items1">
|
||||
<div class="boxs_left">
|
||||
<div class="script">
|
||||
<span style="font-size: 12px; color: #ffffff">说明</span>
|
||||
</div>
|
||||
<a-popover placement="topLeft" trigger="click">
|
||||
<template #content>
|
||||
<div style="width: 130px">
|
||||
{{ element.remark ? element.remark : "暂无说明" }}
|
||||
</div>
|
||||
</template>
|
||||
<template #title>
|
||||
<span>关卡说明</span>
|
||||
</template>
|
||||
<div class="script">
|
||||
<span style="font-size: 12px; color: #ffffff"
|
||||
>说明</span
|
||||
>
|
||||
</div>
|
||||
</a-popover>
|
||||
|
||||
<div class="imgIcon"></div>
|
||||
</div>
|
||||
<div class="boxs_right">
|
||||
<div class="imgIcon"></div>
|
||||
<div class="imgIcon" @click="deleteChapter(element.chapterId)"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="items2">
|
||||
<div class="nname">{{ element.name }}</div>
|
||||
<a-popover
|
||||
placement="topLeft"
|
||||
v-if="element.name.length > 10"
|
||||
>
|
||||
<template #content>
|
||||
<div style="width: 130px">
|
||||
{{ element.name }}
|
||||
</div>
|
||||
</template>
|
||||
<!-- <template #title>
|
||||
<span>关卡说明</span>
|
||||
</template> -->
|
||||
<div class="nname">
|
||||
{{ element.name }}
|
||||
</div>
|
||||
</a-popover>
|
||||
<div class="nname" v-if="element.name.length <= 10">
|
||||
{{ element.name }}
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="itemle">
|
||||
<div class="tit">{{ item.remark }}</div>
|
||||
@@ -1215,6 +1246,7 @@ export default {
|
||||
const getDetail = () => {
|
||||
GetRouterDetail(state.routerId)
|
||||
.then((res) => {
|
||||
console.log("res.data.data.chapterList", res.data.data.chapterList);
|
||||
state.level = res.data.data.chapterList;
|
||||
if (state.level.length > 0) {
|
||||
dataAssignment(state.level[0].chapterId);
|
||||
@@ -1743,6 +1775,17 @@ export default {
|
||||
showDrawerAddTest(id, eleId);
|
||||
}
|
||||
};
|
||||
//删除关卡
|
||||
const deleteChapter=(chapterId)=>{
|
||||
let obj={
|
||||
chapterId:chapterId
|
||||
}
|
||||
api.deleteChapter(obj).then(res=>{
|
||||
console.log('删除关卡成功',res)
|
||||
}).catch(err=>{
|
||||
console.log('删除关卡失败',err)
|
||||
})
|
||||
}
|
||||
return {
|
||||
...toRefs(state),
|
||||
// tableDataFunc,
|
||||
@@ -1785,6 +1828,7 @@ export default {
|
||||
showEditLiveDrawer,
|
||||
decideType,
|
||||
updateTableData,
|
||||
deleteChapter,
|
||||
};
|
||||
},
|
||||
};
|
||||
@@ -2180,9 +2224,7 @@ export default {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
.chosen {
|
||||
// background-color: pink;
|
||||
}
|
||||
|
||||
.ghost {
|
||||
// background-color: red;
|
||||
opacity: 0 !important;
|
||||
@@ -2219,28 +2261,34 @@ export default {
|
||||
white-space: nowrap;
|
||||
}
|
||||
.imgIcon {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background-image: url(@/assets/images/leveladd/edit.png);
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
}
|
||||
.boxs_right {
|
||||
.imgIcon {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
background-image: url(@/assets/images/leveladd/z1.png);
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background-image: url(@/assets/images/leveladd/delete.png);
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
.items2 {
|
||||
.nname {
|
||||
width: 100px;
|
||||
width: 140px;
|
||||
// overflow: hidden;
|
||||
// text-overflow: ellipsis;
|
||||
// white-space: nowrap;
|
||||
font-weight: bold;
|
||||
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
font-weight: bold;
|
||||
-webkit-line-clamp: 2;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,11 +60,11 @@
|
||||
<div style="display: flex; margin-bottom: 20px">
|
||||
<div class="btnn btn1" @click="searchSubmit">
|
||||
<div class="search"></div>
|
||||
<div class="btnText" >搜索</div>
|
||||
<div class="btnText">搜索</div>
|
||||
</div>
|
||||
<div class="btn btn2" @click="searchReset">
|
||||
<div class="search"></div>
|
||||
<div class="btnText" >重置</div>
|
||||
<div class="btnText">重置</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -816,11 +816,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="delete_exit">
|
||||
<div class="btnText">取消</div>
|
||||
</div>
|
||||
<div class="del_btn btn2">
|
||||
<div class="btnText" @click="delete_exit">确定</div>
|
||||
<div class="del_btn btn2" @click="delete_exit">
|
||||
<div class="btnText">确定</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -850,10 +850,10 @@
|
||||
</div>
|
||||
<div class="del_btnbox">
|
||||
<div class="del_btn btn1" @click="closeStopModal">
|
||||
<div class="btnText" >取消</div>
|
||||
<div class="btnText">取消</div>
|
||||
</div>
|
||||
<div class="del_btn btn2" @click="finishProject">
|
||||
<div class="btnText" >确定</div>
|
||||
<div class="btnText">确定</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -880,10 +880,10 @@
|
||||
</div>
|
||||
<div class="del_btnbox">
|
||||
<div class="del_btn btn1" @click="closeDeleteModal">
|
||||
<div class="btnText" >取消</div>
|
||||
<div class="btnText">取消</div>
|
||||
</div>
|
||||
<div class="del_btn btn2" @click="deleteProject">
|
||||
<div class="btnText" >确定</div>
|
||||
<div class="btnText">确定</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -909,11 +909,11 @@
|
||||
<span>您确定要存为模版吗</span>
|
||||
</div>
|
||||
<div class="del_btnbox">
|
||||
<div class="del_btn btn1">
|
||||
<div class="btnText" @click="closeStartModal">取消</div>
|
||||
<div class="del_btn btn1" @click="closeStartModal">
|
||||
<div class="btnText">取消</div>
|
||||
</div>
|
||||
<div class="del_btn btn2">
|
||||
<div class="btnText" @click="templateProject">确定</div>
|
||||
<div class="del_btn btn2" @click="templateProject">
|
||||
<div class="btnText">确定</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -960,11 +960,11 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="modalMain">
|
||||
<div class="projectname">产品经理上升路径</div>
|
||||
<!-- <div class="projecttime">
|
||||
<span class="timeti">路径时间:</span
|
||||
><span class="timeme">2022/08/01-2022/08/30</span>
|
||||
</div> -->
|
||||
<div class="projectname">{{ releaseProjectName }}</div>
|
||||
<div class="projecttime" v-if="releaseProjectTime">
|
||||
<span class="timeti">项目时间:</span
|
||||
><span class="timeme">{{ releaseProjectTime }}</span>
|
||||
</div>
|
||||
<div class="projectbox">
|
||||
<div class="promessage">
|
||||
<div class="messageme">项目信息</div>
|
||||
@@ -1015,10 +1015,10 @@
|
||||
</div>
|
||||
<div class="del_btnbox">
|
||||
<div class="del_btn btn1" @click="closeBackModal">
|
||||
<div class="btnText" >取消</div>
|
||||
<div class="btnText">取消</div>
|
||||
</div>
|
||||
<div class="del_btn btn2" @click="recallProject">
|
||||
<div class="btnText" >确定</div>
|
||||
<div class="btnText">确定</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1081,16 +1081,18 @@ export default {
|
||||
currentEditChildrensProjectId: "",
|
||||
dcProjectID: "",
|
||||
|
||||
currentPage: 1, //当前页
|
||||
currentPage: 1, //当前页
|
||||
tableDataTotal: -1, //学习路径列表总数
|
||||
pageSize: 10, //每页10条数据
|
||||
|
||||
projectStudentsNum:0,//发布弹窗-学员人数
|
||||
projectStudentsNum: 0, //发布弹窗-学员人数
|
||||
releaseProjectId: null, //发布的项目id
|
||||
recallProjectId:null,//撤回的项目id
|
||||
finishProjectId:null,//结束的项目id
|
||||
deleteProjectId:null,//删除的项目id
|
||||
templateProjectId:null,//存为模版的项目id
|
||||
releaseProjectName: null, //发布的项目名称
|
||||
releaseProjectTime: null, //发布的项目时间
|
||||
recallProjectId: null, //撤回的项目id
|
||||
finishProjectId: null, //结束的项目id
|
||||
deleteProjectId: null, //删除的项目id
|
||||
templateProjectId: null, //存为模版的项目id
|
||||
});
|
||||
// 数据接入 - start -
|
||||
const router = useRouter();
|
||||
@@ -1155,13 +1157,14 @@ export default {
|
||||
endTime = "";
|
||||
status = null;
|
||||
managerid = "";
|
||||
state.currentPage=1
|
||||
state.currentPage = 1;
|
||||
getTableDate();
|
||||
};
|
||||
|
||||
|
||||
const searchSubmit = () => {
|
||||
console.log('点击了搜索')
|
||||
state.currentPage=1
|
||||
console.log("点击了搜索");
|
||||
state.currentPage = 1;
|
||||
const obj = {
|
||||
pageNo: state.currentPage,
|
||||
pageSize: state.pageSize,
|
||||
@@ -1366,7 +1369,7 @@ export default {
|
||||
state.doublepro = false;
|
||||
message.destroy();
|
||||
message.success("创建成功");
|
||||
state.currentPage=1
|
||||
state.currentPage = 1;
|
||||
getTableDate();
|
||||
}
|
||||
})
|
||||
@@ -1611,7 +1614,7 @@ export default {
|
||||
state.doublesonpro = false;
|
||||
message.destroy();
|
||||
message.success("创建成功");
|
||||
state.currentPage=1
|
||||
state.currentPage = 1;
|
||||
getTableDate();
|
||||
}
|
||||
})
|
||||
@@ -1622,9 +1625,6 @@ export default {
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
// 编辑多层子项目
|
||||
const edvalue6 = ref("");
|
||||
const edvalue7 = ref([]);
|
||||
@@ -1760,31 +1760,37 @@ export default {
|
||||
state.eddoublesonpro = false;
|
||||
};
|
||||
|
||||
|
||||
//打开发布弹窗
|
||||
const showProjectPub = (projectId) => {
|
||||
const showProjectPub = (object) => {
|
||||
state.projectPub = true;
|
||||
state.releaseProjectId = projectId;
|
||||
console.log('projectId',projectId)
|
||||
//获取学员总数
|
||||
state.releaseProjectId = object.projectId;
|
||||
state.releaseProjectName = object.name;
|
||||
state.releaseProjectTime = object.time;
|
||||
console.log("object", object);
|
||||
//获取学员总数
|
||||
let obj = {
|
||||
pageNo: 0,
|
||||
pageSize: 0,
|
||||
projectId: projectId,
|
||||
projectId: object.projectId,
|
||||
};
|
||||
api.projectStudent(obj).then(res=>{
|
||||
if (res.status === 200) {
|
||||
console.log("res", res.data);
|
||||
state.projectStudentsNum = res.data.data.total;
|
||||
api
|
||||
.projectStudent(obj)
|
||||
.then((res) => {
|
||||
if (res.status === 200) {
|
||||
// console.log("res", res.data);
|
||||
state.projectStudentsNum = res.data.data.total
|
||||
? res.data.data.total
|
||||
: 0;
|
||||
}
|
||||
}).catch(err=>{
|
||||
console.log('获取学员人数失败',err)
|
||||
})
|
||||
//获取阶段及任务总数
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log("获取学员人数失败", err);
|
||||
});
|
||||
//获取阶段及任务总数
|
||||
};
|
||||
//确认发布项目
|
||||
//确认发布项目
|
||||
const releaseProject = () => {
|
||||
console.log('点击发布')
|
||||
console.log("点击发布");
|
||||
let obj = {
|
||||
projectId: state.releaseProjectId,
|
||||
};
|
||||
@@ -1792,26 +1798,26 @@ console.log('获取学员人数失败',err)
|
||||
.releaseProject(obj)
|
||||
.then((res) => {
|
||||
console.log("发布成功", res);
|
||||
message.destroy();
|
||||
message.destroy();
|
||||
message.success("发布成功");
|
||||
state.projectPub = false
|
||||
getTableDate()
|
||||
state.projectPub = false;
|
||||
getTableDate();
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log("发布失败", err);
|
||||
});
|
||||
};
|
||||
//关闭发布弹窗
|
||||
const closeProjectPub = () => {
|
||||
const closeProjectPub = () => {
|
||||
state.projectPub = false;
|
||||
};
|
||||
//打开撤回弹窗
|
||||
const showBackModal = (projectId) => {
|
||||
//打开撤回弹窗
|
||||
const showBackModal = (projectId) => {
|
||||
state.backModal = true;
|
||||
state.recallProjectId = projectId;
|
||||
state.recallProjectId = projectId;
|
||||
};
|
||||
//确认撤回发布
|
||||
const recallProject = () => {
|
||||
const recallProject = () => {
|
||||
let obj = {
|
||||
projectId: state.recallProjectId,
|
||||
type: 0,
|
||||
@@ -1829,18 +1835,18 @@ state.recallProjectId = projectId;
|
||||
console.log("撤回失败", err);
|
||||
});
|
||||
};
|
||||
//关闭撤回弹窗
|
||||
//关闭撤回弹窗
|
||||
const closeBackModal = () => {
|
||||
state.backModal = false;
|
||||
};
|
||||
//打开结束弹窗
|
||||
const showStopModal = (projectId) => {
|
||||
//打开结束弹窗
|
||||
const showStopModal = (projectId) => {
|
||||
state.stopModal = true;
|
||||
state.finishProjectId=projectId
|
||||
state.finishProjectId = projectId;
|
||||
};
|
||||
//确认结束
|
||||
const finishProject=()=>{
|
||||
let obj = {
|
||||
//确认结束
|
||||
const finishProject = () => {
|
||||
let obj = {
|
||||
projectId: state.finishProjectId,
|
||||
type: -1,
|
||||
};
|
||||
@@ -1856,19 +1862,19 @@ let obj = {
|
||||
.catch((err) => {
|
||||
console.log("结束失败", err);
|
||||
});
|
||||
}
|
||||
};
|
||||
//关闭结束弹窗
|
||||
const closeStopModal = () => {
|
||||
state.stopModal = false;
|
||||
};
|
||||
//打开删除弹窗
|
||||
const showDeleteModal = (projectId) => {
|
||||
const showDeleteModal = (projectId) => {
|
||||
state.deleteModal = true;
|
||||
state.deleteProjectId=projectId
|
||||
state.deleteProjectId = projectId;
|
||||
};
|
||||
//确认删除
|
||||
const deleteProject=()=>{
|
||||
let obj = {
|
||||
const deleteProject = () => {
|
||||
let obj = {
|
||||
projectId: state.deleteProjectId,
|
||||
type: -2,
|
||||
};
|
||||
@@ -1884,19 +1890,19 @@ let obj = {
|
||||
.catch((err) => {
|
||||
console.log("删除失败", err);
|
||||
});
|
||||
}
|
||||
};
|
||||
//关闭删除弹窗
|
||||
const closeDeleteModal = () => {
|
||||
state.deleteModal = false;
|
||||
};
|
||||
//打开存为模版弹窗
|
||||
const showStartModal = (projectId) => {
|
||||
//打开存为模版弹窗
|
||||
const showStartModal = (projectId) => {
|
||||
state.startModal = true;
|
||||
state.templateProjectId=projectId
|
||||
state.templateProjectId = projectId;
|
||||
};
|
||||
//确认存为模版
|
||||
const templateProject=()=>{
|
||||
let obj = {
|
||||
const templateProject = () => {
|
||||
let obj = {
|
||||
projectId: state.templateProjectId,
|
||||
type: 1,
|
||||
};
|
||||
@@ -1912,12 +1918,11 @@ let obj = {
|
||||
.catch((err) => {
|
||||
console.log("模版保存失败", err);
|
||||
});
|
||||
}
|
||||
};
|
||||
//关闭存为模版弹窗
|
||||
const closeStartModal = () => {
|
||||
state.startModal = false;
|
||||
};
|
||||
|
||||
|
||||
// 数据接入 - end -
|
||||
|
||||
@@ -1934,7 +1939,6 @@ let obj = {
|
||||
|
||||
// 获取项目列表信息
|
||||
let tableData = ref([]);
|
||||
|
||||
|
||||
const columns = ref([
|
||||
{
|
||||
@@ -1971,17 +1975,17 @@ let obj = {
|
||||
? "草稿"
|
||||
: value.record.status == 1 &&
|
||||
Number(value.record.beginTime) <
|
||||
Math.ceil(new Date().getTime / 1000)
|
||||
Math.ceil(new Date().getTime() / 1000)
|
||||
? "进行中"
|
||||
: value.record.status == 1 &&
|
||||
Number(value.record.beginTime) >
|
||||
Math.ceil(new Date().getTime / 1000) &&
|
||||
Math.ceil(new Date().getTime() / 1000) &&
|
||||
value.record.type !== 1 &&
|
||||
value.record.type !== 2
|
||||
? "未开始"
|
||||
: value.record.status == 2
|
||||
? "未开始"
|
||||
: "已结束"}
|
||||
: value.record.status == -1
|
||||
? "已结束"
|
||||
: "-"}
|
||||
</div>
|
||||
);
|
||||
},
|
||||
@@ -2689,7 +2693,21 @@ let obj = {
|
||||
{value.record.status === 0 ? (
|
||||
<span
|
||||
onClick={() => {
|
||||
showProjectPub(value.record.projectId);
|
||||
console.log("value.record", value.record);
|
||||
let beginTime = value.record.beginTime
|
||||
? toDate(value.record.beginTime, "Y/M/D")
|
||||
: "";
|
||||
let endTime = value.record.beginTime
|
||||
? toDate(value.record.endTime, "Y/M/D")
|
||||
: "";
|
||||
let time =
|
||||
beginTime && endTime ? beginTime + "-" + endTime : "";
|
||||
let obj = {
|
||||
projectId: value.record.projectId,
|
||||
name: value.record.name,
|
||||
time: time,
|
||||
};
|
||||
showProjectPub(obj);
|
||||
}}
|
||||
style="cursor:pointer"
|
||||
class="operation3"
|
||||
@@ -2750,7 +2768,7 @@ let obj = {
|
||||
) : value.record.status === 1 ||
|
||||
(value.record.status == 1 &&
|
||||
Number(value.record.beginTime) >
|
||||
Math.ceil(new Date().getTime / 1000)) ? (
|
||||
Math.ceil(new Date().getTime() / 1000)) ? (
|
||||
<a-select
|
||||
style="width: 50px"
|
||||
value="更多"
|
||||
@@ -2879,7 +2897,7 @@ let obj = {
|
||||
state.tableDataTotal = Number(res.data.data.total);
|
||||
let data = res.data.data.rows;
|
||||
// let data = state.tableData;
|
||||
if (
|
||||
if (
|
||||
data.length === 0 &&
|
||||
res.data.data.total > 0 &&
|
||||
state.currentPage > 1
|
||||
@@ -2889,7 +2907,7 @@ let obj = {
|
||||
}
|
||||
console.log("1266", data);
|
||||
data.map((value) => {
|
||||
console.log("value %o", value);
|
||||
// console.log("value %o", value);
|
||||
if (value.type == 1) {
|
||||
value.children = value.subList;
|
||||
value.key = value.projectId;
|
||||
@@ -2904,14 +2922,14 @@ let obj = {
|
||||
data2.paraentName = value.name + "/" + data.name;
|
||||
data2.isbj = "class";
|
||||
});
|
||||
console.log("lalallalaa", data);
|
||||
// console.log("lalallalaa", data);
|
||||
} else {
|
||||
data.paraentName = value.name;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
console.log("map-value", value.subList, value.children);
|
||||
// console.log("map-value", value.subList, value.children);
|
||||
});
|
||||
tableData.value = data;
|
||||
console.log("tableData", tableData);
|
||||
@@ -2964,9 +2982,7 @@ let obj = {
|
||||
const closeCopyModal = () => {
|
||||
state.copyModal = false;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
const showProjOwner = () => {
|
||||
state.ProjOwnervisible = true;
|
||||
};
|
||||
@@ -2979,7 +2995,7 @@ let obj = {
|
||||
const showProjManage = () => {
|
||||
state.ProjManagevisible = true;
|
||||
};
|
||||
|
||||
|
||||
return {
|
||||
...toRefs(state),
|
||||
selectProjectName,
|
||||
@@ -3841,8 +3857,9 @@ let obj = {
|
||||
color: rgba(79, 81, 86, 1);
|
||||
font-size: 14px;
|
||||
line-height: 36px;
|
||||
margin-left: 62px;
|
||||
// margin-left: 62px;
|
||||
font-weight: 500;
|
||||
text-align: center;
|
||||
}
|
||||
.projecttime {
|
||||
margin-left: 221px;
|
||||
|
||||
Reference in New Issue
Block a user