feat:增加删除关卡及关卡说明

This commit is contained in:
lixg
2022-11-10 16:29:16 +08:00
parent 3ec7c07e57
commit b6741f9eca
6 changed files with 276 additions and 181 deletions

View File

@@ -2,7 +2,7 @@
* @Author: lixg lixg@dongwu-inc.com * @Author: lixg lixg@dongwu-inc.com
* @Date: 2022-11-04 22:45:31 * @Date: 2022-11-04 22:45:31
* @LastEditors: lixg lixg@dongwu-inc.com * @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 * @FilePath: /fe-manage/src/api/index1.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
*/ */
@@ -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 editChapter = (obj) => http.post('/admin/router/editChapter', obj);
//获取学员列表 //获取学员列表
export const getStudent = (obj) => http.post('/admin/router/studentList', obj); export const getStudent = (obj) => http.post('/admin/router/studentList', obj);
//获取路径图详情-包含关卡及任务列表 //获取路径图详情-包含关卡及任务列表

View File

@@ -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"; import http from "./config";
//新建关卡 //新建关卡
export const editChapter = (obj) => http.post('/admin/router/editChapter', obj); export const editChapter = (obj) => http.post('/admin/router/editChapter', obj);
//编辑关卡 //编辑关卡
export const updateChapter = (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}); export const deleteTask = (obj) => http.delete('/admin/router/deleteTask',{params: obj});

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 B

View File

@@ -147,6 +147,7 @@
v-model:value="pathName" v-model:value="pathName"
maxlength="20" maxlength="20"
style="border-radius: 4px" style="border-radius: 4px"
placeholder="请输入学习路径名称"
/> />
<div class="showcount">{{ pathName.length }}/20</div> <div class="showcount">{{ pathName.length }}/20</div>
</div> </div>
@@ -187,7 +188,7 @@
/> />
</div> </div>
<div class="inname">路径图背景</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" /> <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)" @click="chooseImg(item)"
v-for="item in imgData" v-for="item in imgData"
:key="item.key" :key="item.key"
style=" class="learnBgItem"
border-radius: 8px;
width: 136px;
height: 106px;
background-size: 100%;
background-repeat: no-repeat;
"
:style="{ :style="{
border: border:
learnPathBg === item.id learnPathBg === item.id
? '2px solid rgba(78, 166, 255, 1)' ? '2px solid rgba(78, 166, 255, 1)'
: '2px solid rgba(78, 166, 255, 0)', : '1px solid #ccc',
'background-image': 'url(' + item.source + ')', 'background-image': 'url(' + item.source + ')',
}" }"
> >
@@ -268,6 +263,7 @@
v-model:value="pathName" v-model:value="pathName"
maxlength="20" maxlength="20"
style="border-radius: 4px" style="border-radius: 4px"
placeholder="请输入学习路径名称"
/> />
<div class="showcount">{{ pathName.length }}/20</div> <div class="showcount">{{ pathName.length }}/20</div>
</div> </div>
@@ -308,26 +304,20 @@
/> />
</div> </div>
<div class="inname">路径图背景</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" /> <img class="im" src="../../assets/px.jpg" />
<img class="im" src="../../assets/px.jpg" /> --> <img class="im" src="../../assets/px.jpg" /> -->
<div <div
@click="chooseImg(item)" @click="chooseImg2(item)"
v-for="item in imgData" v-for="item in imgData"
:key="item.key" :key="item.key"
style=" class="learnBgItem"
border-radius: 8px;
width: 136px;
height: 106px;
background-size: 100%;
background-repeat: no-repeat;
"
:style="{ :style="{
border: border:
learnPathBg2 === item.id learnPathBg2 === item.id
? '2px solid rgba(78, 166, 255, 1)' ? '2px solid rgba(78, 166, 255, 1)'
: '2px solid rgba(78, 166, 255, 0)', : '1px solid #ccc',
'background-image': 'url(' + item.source + ')', 'background-image': 'url(' + item.source + ')',
}" }"
> >
@@ -440,17 +430,17 @@
<span>您确定要复制此路径吗</span> <span>您确定要复制此路径吗</span>
</div> </div>
<div class="del_btnbox"> <div class="del_btnbox">
<div class="del_btn btn1"> <div class="del_btn btn1" @click="delete_exit">
<div class="btnText" @click="delete_exit">取消</div> <div class="btnText" >取消</div>
</div> </div>
<div class="del_btn btn2"> <div class="del_btn btn2" @click="delete_exit">
<div class="btnText" @click="delete_exit">确定</div> <div class="btnText" >确定</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</a-modal> </a-modal>
<!-- 停用路径弹窗 --> <!-- 结束路径弹窗 -->
<a-modal <a-modal
v-model:visible="stopModal" v-model:visible="stopModal"
:footer="null" :footer="null"
@@ -467,20 +457,24 @@
<div class="close_exit" @click="closeStopModal"></div> <div class="close_exit" @click="closeStopModal"></div>
</div> </div>
<div class="body"> <div class="body">
<span>您确定要停用此路径吗</span> <!-- <span>您确定要停用此路径吗</span> -->
<span>是否结束项目</span>
<div class="back">
项目结束后学员将无法继续学习此操作不可逆
</div>
</div> </div>
<div class="del_btnbox"> <div class="del_btnbox">
<div class="del_btn btn1"> <div class="del_btn btn1" @click="closeStopModal">
<div class="btnText" @click="closeStopModal">取消</div> <div class="btnText" >取消</div>
</div> </div>
<div class="del_btn btn2"> <div class="del_btn btn2" @click="stopLearnPath">
<div class="btnText" @click="stopLearnPath">确定</div> <div class="btnText" >确定</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</a-modal> </a-modal>
<!-- 删除路径弹窗 --> <!-- 结束路径弹窗 -->
<a-modal <a-modal
v-model:visible="deleteModal" v-model:visible="deleteModal"
:footer="null" :footer="null"
@@ -500,11 +494,11 @@
<span>您确定要删除此路径吗</span> <span>您确定要删除此路径吗</span>
</div> </div>
<div class="del_btnbox"> <div class="del_btnbox">
<div class="del_btn btn1"> <div class="del_btn btn1" @click="closeDeleteModal">
<div class="btnText" @click="closeDeleteModal">取消</div> <div class="btnText" >取消</div>
</div> </div>
<div class="del_btn btn2"> <div class="del_btn btn2" @click="deleteLearnPath">
<div class="btnText" @click="deleteLearnPath">确定</div> <div class="btnText" >确定</div>
</div> </div>
</div> </div>
</div> </div>
@@ -530,11 +524,11 @@
<span>您确定要启用此路径吗</span> <span>您确定要启用此路径吗</span>
</div> </div>
<div class="del_btnbox"> <div class="del_btnbox">
<div class="del_btn btn1"> <div class="del_btn btn1" @click="delete_exit">
<div class="btnText" @click="delete_exit">取消</div> <div class="btnText" >取消</div>
</div> </div>
<div class="del_btn btn2"> <div class="del_btn btn2" @click="delete_exit">
<div class="btnText" @click="delete_exit">确定</div> <div class="btnText" >确定</div>
</div> </div>
</div> </div>
</div> </div>
@@ -561,11 +555,11 @@
<div class="back">路径撤回后学员进度保留发布后可继续学习</div> <div class="back">路径撤回后学员进度保留发布后可继续学习</div>
</div> </div>
<div class="del_btnbox"> <div class="del_btnbox">
<div class="del_btn btn1"> <div class="del_btn btn1" @click="closeBackModal">
<div class="btnText" @click="closeBackModal">取消</div> <div class="btnText" >取消</div>
</div> </div>
<div class="del_btn btn2"> <div class="del_btn btn2" @click="recallPath">
<div class="btnText" @click="recallPath">确定</div> <div class="btnText" >确定</div>
</div> </div>
</div> </div>
</div> </div>
@@ -634,6 +628,14 @@ export default {
id: 3, id: 3,
source: require("../../assets/images/leveladd/3.png"), 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, //创建路径选择的路径图背景 learnPathBg: null, //创建路径选择的路径图背景
learnPathBg2: null, //编辑路径选择的路径图背景 learnPathBg2: null, //编辑路径选择的路径图背景
@@ -752,12 +754,12 @@ export default {
state.editPathId = null; state.editPathId = null;
}; };
const chooseImg = (item) => { const chooseImg = (item) => {
console.log(item); // console.log(item);
state.learnPathBg = item.id; state.learnPathBg = item.id;
}; };
const chooseImg2 = (id) => { const chooseImg2 = (item) => {
console.log(id); // console.log(item);
state.learnPathBg2 = id; state.learnPathBg2 = item.id;
}; };
//发布弹窗 //发布弹窗
const showPub = (routerId) => { const showPub = (routerId) => {
@@ -820,15 +822,15 @@ export default {
const closeCopyModal = () => { const closeCopyModal = () => {
state.copyModal = false; state.copyModal = false;
}; };
//显示停用窗口 //显示结束窗口
const showStopModal = () => { const showStopModal = () => {
state.stopModal = true; state.stopModal = true;
}; };
//关闭停用窗口 //关闭结束窗口
const closeStopModal = () => { const closeStopModal = () => {
state.stopModal = false; state.stopModal = false;
}; };
//确认停用 //确认结束
const stopLearnPath = () => { const stopLearnPath = () => {
let obj = { let obj = {
routerId: state.stopPathId, routerId: state.stopPathId,
@@ -916,7 +918,7 @@ export default {
: value.status === 1 : value.status === 1
? "已发布" ? "已发布"
: value.status === -1 : value.status === -1
? "已停用" ? "已结束"
: "-", : "-",
creater: value.createName ? value.createName : "-", creater: value.createName ? value.createName : "-",
pubtime: value.publishTime pubtime: value.publishTime
@@ -1141,20 +1143,7 @@ export default {
复制 复制
</div> </div>
</a-select-option> </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 <a-select-option
value="删除" value="删除"
label="删除" label="删除"
@@ -1207,13 +1196,27 @@ export default {
> >
撤回 撤回
</div> </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>
</a-select> </a-select>
</div> </div>
) : ( ) : (
<div></div> <div></div>
)} )}
{text.record.state === "已停用" ? ( {text.record.state === "已结束" ? (
<div> <div>
<a-select <a-select
style="width: 50px;margin-top:2px;margin-right:20px;" style="width: 50px;margin-top:2px;margin-right:20px;"
@@ -1233,6 +1236,7 @@ export default {
复制 复制
</div> </div>
</a-select-option> </a-select-option>
{/**
<a-select-option <a-select-option
value="启用" value="启用"
label="启用" label="启用"
@@ -1246,6 +1250,7 @@ export default {
启用 启用
</div> </div>
</a-select-option> </a-select-option>
*/}
<a-select-option <a-select-option
value="删除" value="删除"
@@ -1629,10 +1634,10 @@ export default {
.in { .in {
margin-left: 14px; margin-left: 14px;
width: 81%; width: 81%;
height: 110px; // height: 110px;
// background-color: red; // background-color: red;
display: flex; display: flex;
justify-content: space-between; // justify-content: space-between;
.im { .im {
border-radius: 8px; border-radius: 8px;
width: 140px; width: 140px;
@@ -1640,6 +1645,21 @@ export default {
cursor: pointer; 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 { .info {
width: 78%; width: 78%;

View File

@@ -32,17 +32,48 @@
> >
<div class="items1"> <div class="items1">
<div class="boxs_left"> <div class="boxs_left">
<div class="script"> <a-popover placement="topLeft" trigger="click">
<span style="font-size: 12px; color: #ffffff">说明</span> <template #content>
<div style="width: 130px">
{{ element.remark ? element.remark : "暂无说明" }}
</div> </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 class="imgIcon"></div>
</div> </div>
<div class="boxs_right"> <div class="boxs_right">
<div class="imgIcon"></div> <div class="imgIcon" @click="deleteChapter(element.chapterId)"></div>
</div> </div>
</div> </div>
<div class="items2"> <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>
<!-- <div class="itemle"> <!-- <div class="itemle">
<div class="tit">{{ item.remark }}</div> <div class="tit">{{ item.remark }}</div>
@@ -1215,6 +1246,7 @@ export default {
const getDetail = () => { const getDetail = () => {
GetRouterDetail(state.routerId) GetRouterDetail(state.routerId)
.then((res) => { .then((res) => {
console.log("res.data.data.chapterList", res.data.data.chapterList);
state.level = res.data.data.chapterList; state.level = res.data.data.chapterList;
if (state.level.length > 0) { if (state.level.length > 0) {
dataAssignment(state.level[0].chapterId); dataAssignment(state.level[0].chapterId);
@@ -1743,6 +1775,17 @@ export default {
showDrawerAddTest(id, eleId); showDrawerAddTest(id, eleId);
} }
}; };
//删除关卡
const deleteChapter=(chapterId)=>{
let obj={
chapterId:chapterId
}
api.deleteChapter(obj).then(res=>{
console.log('删除关卡成功',res)
}).catch(err=>{
console.log('删除关卡失败',err)
})
}
return { return {
...toRefs(state), ...toRefs(state),
// tableDataFunc, // tableDataFunc,
@@ -1785,6 +1828,7 @@ export default {
showEditLiveDrawer, showEditLiveDrawer,
decideType, decideType,
updateTableData, updateTableData,
deleteChapter,
}; };
}, },
}; };
@@ -2180,9 +2224,7 @@ export default {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
.chosen {
// background-color: pink;
}
.ghost { .ghost {
// background-color: red; // background-color: red;
opacity: 0 !important; opacity: 0 !important;
@@ -2219,28 +2261,34 @@ export default {
white-space: nowrap; white-space: nowrap;
} }
.imgIcon { .imgIcon {
width: 14px; width: 16px;
height: 14px; height: 16px;
background-image: url(@/assets/images/leveladd/edit.png); background-image: url(@/assets/images/leveladd/edit.png);
background-size: 100% 100%; background-size: 100% 100%;
} }
} }
.boxs_right { .boxs_right {
.imgIcon { .imgIcon {
width: 14px; width: 16px;
height: 14px; height: 16px;
background-image: url(@/assets/images/leveladd/z1.png); background-image: url(@/assets/images/leveladd/delete.png);
background-size: 100% 100%; background-size: 100% 100%;
} }
} }
} }
.items2 { .items2 {
.nname { .nname {
width: 100px; width: 140px;
// overflow: hidden;
// text-overflow: ellipsis;
// white-space: nowrap;
font-weight: bold;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; -webkit-line-clamp: 2;
font-weight: bold; display: -webkit-box;
-webkit-box-orient: vertical;
} }
} }
} }

View File

@@ -816,11 +816,11 @@
<span>您确定要复制此路径吗</span> <span>您确定要复制此路径吗</span>
</div> </div>
<div class="del_btnbox"> <div class="del_btnbox">
<div class="del_btn btn1"> <div class="del_btn btn1" @click="delete_exit">
<div class="btnText" @click="delete_exit">取消</div> <div class="btnText">取消</div>
</div> </div>
<div class="del_btn btn2"> <div class="del_btn btn2" @click="delete_exit">
<div class="btnText" @click="delete_exit">确定</div> <div class="btnText">确定</div>
</div> </div>
</div> </div>
</div> </div>
@@ -909,11 +909,11 @@
<span>您确定要存为模版吗</span> <span>您确定要存为模版吗</span>
</div> </div>
<div class="del_btnbox"> <div class="del_btnbox">
<div class="del_btn btn1"> <div class="del_btn btn1" @click="closeStartModal">
<div class="btnText" @click="closeStartModal">取消</div> <div class="btnText">取消</div>
</div> </div>
<div class="del_btn btn2"> <div class="del_btn btn2" @click="templateProject">
<div class="btnText" @click="templateProject">确定</div> <div class="btnText">确定</div>
</div> </div>
</div> </div>
</div> </div>
@@ -960,11 +960,11 @@
</div> </div>
</div> </div>
<div class="modalMain"> <div class="modalMain">
<div class="projectname">产品经理上升路径</div> <div class="projectname">{{ releaseProjectName }}</div>
<!-- <div class="projecttime"> <div class="projecttime" v-if="releaseProjectTime">
<span class="timeti">路径时间</span <span class="timeti">项目时间</span
><span class="timeme">2022/08/01-2022/08/30</span> ><span class="timeme">{{ releaseProjectTime }}</span>
</div> --> </div>
<div class="projectbox"> <div class="projectbox">
<div class="promessage"> <div class="promessage">
<div class="messageme">项目信息</div> <div class="messageme">项目信息</div>
@@ -1087,6 +1087,8 @@ export default {
projectStudentsNum: 0, //发布弹窗-学员人数 projectStudentsNum: 0, //发布弹窗-学员人数
releaseProjectId: null, //发布的项目id releaseProjectId: null, //发布的项目id
releaseProjectName: null, //发布的项目名称
releaseProjectTime: null, //发布的项目时间
recallProjectId: null, //撤回的项目id recallProjectId: null, //撤回的项目id
finishProjectId: null, //结束的项目id finishProjectId: null, //结束的项目id
deleteProjectId: null, //删除的项目id deleteProjectId: null, //删除的项目id
@@ -1155,13 +1157,14 @@ export default {
endTime = ""; endTime = "";
status = null; status = null;
managerid = ""; managerid = "";
state.currentPage=1 state.currentPage = 1;
getTableDate(); getTableDate();
}; };
const searchSubmit = () => { const searchSubmit = () => {
console.log('点击了搜索') console.log("点击了搜索");
state.currentPage=1 state.currentPage = 1;
const obj = { const obj = {
pageNo: state.currentPage, pageNo: state.currentPage,
pageSize: state.pageSize, pageSize: state.pageSize,
@@ -1366,7 +1369,7 @@ export default {
state.doublepro = false; state.doublepro = false;
message.destroy(); message.destroy();
message.success("创建成功"); message.success("创建成功");
state.currentPage=1 state.currentPage = 1;
getTableDate(); getTableDate();
} }
}) })
@@ -1611,7 +1614,7 @@ export default {
state.doublesonpro = false; state.doublesonpro = false;
message.destroy(); message.destroy();
message.success("创建成功"); message.success("创建成功");
state.currentPage=1 state.currentPage = 1;
getTableDate(); getTableDate();
} }
}) })
@@ -1622,9 +1625,6 @@ export default {
}); });
}; };
// 编辑多层子项目 // 编辑多层子项目
const edvalue6 = ref(""); const edvalue6 = ref("");
const edvalue7 = ref([]); const edvalue7 = ref([]);
@@ -1760,31 +1760,37 @@ export default {
state.eddoublesonpro = false; state.eddoublesonpro = false;
}; };
//打开发布弹窗 //打开发布弹窗
const showProjectPub = (projectId) => { const showProjectPub = (object) => {
state.projectPub = true; state.projectPub = true;
state.releaseProjectId = projectId; state.releaseProjectId = object.projectId;
console.log('projectId',projectId) state.releaseProjectName = object.name;
state.releaseProjectTime = object.time;
console.log("object", object);
//获取学员总数 //获取学员总数
let obj = { let obj = {
pageNo: 0, pageNo: 0,
pageSize: 0, pageSize: 0,
projectId: projectId, projectId: object.projectId,
}; };
api.projectStudent(obj).then(res=>{ api
.projectStudent(obj)
.then((res) => {
if (res.status === 200) { if (res.status === 200) {
console.log("res", res.data); // console.log("res", res.data);
state.projectStudentsNum = res.data.data.total; state.projectStudentsNum = res.data.data.total
? res.data.data.total
: 0;
} }
}).catch(err=>{
console.log('获取学员人数失败',err)
}) })
.catch((err) => {
console.log("获取学员人数失败", err);
});
//获取阶段及任务总数 //获取阶段及任务总数
}; };
//确认发布项目 //确认发布项目
const releaseProject = () => { const releaseProject = () => {
console.log('点击发布') console.log("点击发布");
let obj = { let obj = {
projectId: state.releaseProjectId, projectId: state.releaseProjectId,
}; };
@@ -1794,8 +1800,8 @@ console.log('获取学员人数失败',err)
console.log("发布成功", res); console.log("发布成功", res);
message.destroy(); message.destroy();
message.success("发布成功"); message.success("发布成功");
state.projectPub = false state.projectPub = false;
getTableDate() getTableDate();
}) })
.catch((err) => { .catch((err) => {
console.log("发布失败", err); console.log("发布失败", err);
@@ -1836,7 +1842,7 @@ state.recallProjectId = projectId;
//打开结束弹窗 //打开结束弹窗
const showStopModal = (projectId) => { const showStopModal = (projectId) => {
state.stopModal = true; state.stopModal = true;
state.finishProjectId=projectId state.finishProjectId = projectId;
}; };
//确认结束 //确认结束
const finishProject = () => { const finishProject = () => {
@@ -1856,7 +1862,7 @@ let obj = {
.catch((err) => { .catch((err) => {
console.log("结束失败", err); console.log("结束失败", err);
}); });
} };
//关闭结束弹窗 //关闭结束弹窗
const closeStopModal = () => { const closeStopModal = () => {
state.stopModal = false; state.stopModal = false;
@@ -1864,7 +1870,7 @@ let obj = {
//打开删除弹窗 //打开删除弹窗
const showDeleteModal = (projectId) => { const showDeleteModal = (projectId) => {
state.deleteModal = true; state.deleteModal = true;
state.deleteProjectId=projectId state.deleteProjectId = projectId;
}; };
//确认删除 //确认删除
const deleteProject = () => { const deleteProject = () => {
@@ -1884,7 +1890,7 @@ let obj = {
.catch((err) => { .catch((err) => {
console.log("删除失败", err); console.log("删除失败", err);
}); });
} };
//关闭删除弹窗 //关闭删除弹窗
const closeDeleteModal = () => { const closeDeleteModal = () => {
state.deleteModal = false; state.deleteModal = false;
@@ -1892,7 +1898,7 @@ let obj = {
//打开存为模版弹窗 //打开存为模版弹窗
const showStartModal = (projectId) => { const showStartModal = (projectId) => {
state.startModal = true; state.startModal = true;
state.templateProjectId=projectId state.templateProjectId = projectId;
}; };
//确认存为模版 //确认存为模版
const templateProject = () => { const templateProject = () => {
@@ -1912,13 +1918,12 @@ let obj = {
.catch((err) => { .catch((err) => {
console.log("模版保存失败", err); console.log("模版保存失败", err);
}); });
} };
//关闭存为模版弹窗 //关闭存为模版弹窗
const closeStartModal = () => { const closeStartModal = () => {
state.startModal = false; state.startModal = false;
}; };
// 数据接入 - end - // 数据接入 - end -
onMounted(() => { onMounted(() => {
@@ -1935,7 +1940,6 @@ let obj = {
// 获取项目列表信息 // 获取项目列表信息
let tableData = ref([]); let tableData = ref([]);
const columns = ref([ const columns = ref([
{ {
title: "项目名称", title: "项目名称",
@@ -1971,17 +1975,17 @@ let obj = {
? "草稿" ? "草稿"
: value.record.status == 1 && : value.record.status == 1 &&
Number(value.record.beginTime) < Number(value.record.beginTime) <
Math.ceil(new Date().getTime / 1000) Math.ceil(new Date().getTime() / 1000)
? "进行中" ? "进行中"
: value.record.status == 1 && : value.record.status == 1 &&
Number(value.record.beginTime) > Number(value.record.beginTime) >
Math.ceil(new Date().getTime / 1000) && Math.ceil(new Date().getTime() / 1000) &&
value.record.type !== 1 && value.record.type !== 1 &&
value.record.type !== 2 value.record.type !== 2
? "未开始" ? "未开始"
: value.record.status == 2 : value.record.status == -1
? "未开始" ? "已结束"
: "已结束"} : "-"}
</div> </div>
); );
}, },
@@ -2689,7 +2693,21 @@ let obj = {
{value.record.status === 0 ? ( {value.record.status === 0 ? (
<span <span
onClick={() => { 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" style="cursor:pointer"
class="operation3" class="operation3"
@@ -2750,7 +2768,7 @@ let obj = {
) : value.record.status === 1 || ) : value.record.status === 1 ||
(value.record.status == 1 && (value.record.status == 1 &&
Number(value.record.beginTime) > Number(value.record.beginTime) >
Math.ceil(new Date().getTime / 1000)) ? ( Math.ceil(new Date().getTime() / 1000)) ? (
<a-select <a-select
style="width: 50px" style="width: 50px"
value="更多" value="更多"
@@ -2889,7 +2907,7 @@ let obj = {
} }
console.log("1266", data); console.log("1266", data);
data.map((value) => { data.map((value) => {
console.log("value %o", value); // console.log("value %o", value);
if (value.type == 1) { if (value.type == 1) {
value.children = value.subList; value.children = value.subList;
value.key = value.projectId; value.key = value.projectId;
@@ -2904,14 +2922,14 @@ let obj = {
data2.paraentName = value.name + "/" + data.name; data2.paraentName = value.name + "/" + data.name;
data2.isbj = "class"; data2.isbj = "class";
}); });
console.log("lalallalaa", data); // console.log("lalallalaa", data);
} else { } else {
data.paraentName = value.name; data.paraentName = value.name;
} }
}); });
} }
console.log("map-value", value.subList, value.children); // console.log("map-value", value.subList, value.children);
}); });
tableData.value = data; tableData.value = data;
console.log("tableData", tableData); console.log("tableData", tableData);
@@ -2965,8 +2983,6 @@ let obj = {
state.copyModal = false; state.copyModal = false;
}; };
const showProjOwner = () => { const showProjOwner = () => {
state.ProjOwnervisible = true; state.ProjOwnervisible = true;
}; };
@@ -3841,8 +3857,9 @@ let obj = {
color: rgba(79, 81, 86, 1); color: rgba(79, 81, 86, 1);
font-size: 14px; font-size: 14px;
line-height: 36px; line-height: 36px;
margin-left: 62px; // margin-left: 62px;
font-weight: 500; font-weight: 500;
text-align: center;
} }
.projecttime { .projecttime {
margin-left: 221px; margin-left: 221px;