mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-09 19:06:45 +08:00
Merge branch 'master' of ssh://gitlab.dongwu-inc.com:10022/BOE/fe-manage
This commit is contained in:
55
src/api/index1.js
Normal file
55
src/api/index1.js
Normal file
@@ -0,0 +1,55 @@
|
||||
import http from "./config";
|
||||
// import qs from 'qs';
|
||||
|
||||
|
||||
/**
|
||||
* 接口传参数方式(get)
|
||||
* axios.get('/user', {
|
||||
* params: {
|
||||
* id: 12345,
|
||||
* name: user
|
||||
* }
|
||||
* }).then(res => console.log(res))
|
||||
*
|
||||
* 接口传参三种方式(post/put/patch)
|
||||
*
|
||||
* 1.'Content-Type'= 'multipart/form-data',传参格式为 formData。
|
||||
* (全局请求头:'Content-Type'= 'application/x-www-form-urlencoded')
|
||||
* (request的Header:'Content-Type'= 'multipart/form-data')
|
||||
* var formData=new FormData();
|
||||
* formData.append('user',123456);formData.append('pass',12345678);
|
||||
* axios.post("/notice",formData).then()
|
||||
*
|
||||
* 2.'Content-Type'= 'application/x-www-form-urlencoded',传参格式为 query 形式,使用$qs.stringify。
|
||||
* (全局请求头:'Content-Type'= 'application/x-www-form-urlencoded')
|
||||
* (request的Header:'Content-Type'= 'application/x-www-form-urlencoded')
|
||||
* let data = {"code":"1234","name":"yyyy"};
|
||||
* axios.post(`${this.$url}/test/testRequest`,qs.stringify({data})).then()
|
||||
*
|
||||
* 3.'Content-Type'= 'application/json,传参格式为 raw (JSON格式)。
|
||||
* (全局请求头:'Content-Type'= 'application/x-www-form-urlencoded')
|
||||
* (request的Header:'Content-Type'= 'application/json;charset=UTF-8')
|
||||
* let data = {"code":"1234","name":"yyyy"}
|
||||
* axios.post(`${this.$url}/test/testRequest`,data).then()
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
// 接口-请求
|
||||
|
||||
// 获取学习路径图列表
|
||||
export const getLearnPath = (obj) => http.post('/admin/router/list', obj);
|
||||
|
||||
//获取关卡
|
||||
export const getChapter = (obj) => http.post('/admin/router/detail', { params: obj });
|
||||
|
||||
//新建或编辑关卡
|
||||
export const editChapter = (obj) => http.post('/admin/router/editChapter', obj);
|
||||
|
||||
// 测试方法
|
||||
// import * as api from '../../api/index'
|
||||
// api.getLearnPath({}).then(res => {
|
||||
// console.log(res)
|
||||
// }).catch(err => {
|
||||
// console.log(err)
|
||||
// })
|
||||
@@ -45,31 +45,94 @@ body {
|
||||
/*对水平流动条有效*/
|
||||
}
|
||||
|
||||
::-moz-scrollbar {
|
||||
width: 6px;
|
||||
/*对垂直流动条有效*/
|
||||
height: 6px;
|
||||
/*对水平流动条有效*/
|
||||
}
|
||||
::-o-scrollbar {
|
||||
width: 6px;
|
||||
/*对垂直流动条有效*/
|
||||
height: 6px;
|
||||
/*对水平流动条有效*/
|
||||
}
|
||||
.scrollbar {
|
||||
width: 6px;
|
||||
/*对垂直流动条有效*/
|
||||
height: 6px;
|
||||
/*对水平流动条有效*/
|
||||
}
|
||||
/*定义滚动条的轨道颜色、内阴影及圆角*/
|
||||
::-webkit-scrollbar-track {
|
||||
background-color: rgba(239, 244, 252, 1);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
::-moz-scrollbar-track {
|
||||
background-color: rgba(239, 244, 252, 1);
|
||||
border-radius: 6px;
|
||||
}
|
||||
::-o-scrollbar-track {
|
||||
background-color: rgba(239, 244, 252, 1);
|
||||
border-radius: 6px;
|
||||
}
|
||||
.scrollbar-track {
|
||||
background-color: rgba(239, 244, 252, 1);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
/*定义滑块颜色、内阴影及圆角*/
|
||||
::-webkit-scrollbar-thumb {
|
||||
border-radius: 3px;
|
||||
background-color: rgba(78, 166, 255, 1);
|
||||
}
|
||||
::-moz-scrollbar-thumb {
|
||||
border-radius: 3px;
|
||||
background-color: rgba(78, 166, 255, 1);
|
||||
}
|
||||
::-o-scrollbar-thumb {
|
||||
border-radius: 3px;
|
||||
background-color: rgba(78, 166, 255, 1);
|
||||
}
|
||||
.scrollbar-thumb {
|
||||
border-radius: 3px;
|
||||
background-color: rgba(78, 166, 255, 1);
|
||||
}
|
||||
|
||||
/*定义两端按钮的样式*/
|
||||
::-webkit-scrollbar-button {
|
||||
background-color: cyan;
|
||||
display: none;
|
||||
}
|
||||
|
||||
::-moz-scrollbar-button {
|
||||
background-color: cyan;
|
||||
display: none;
|
||||
}
|
||||
::-o-scrollbar-button {
|
||||
background-color: cyan;
|
||||
display: none;
|
||||
}
|
||||
.scrollbar-button {
|
||||
background-color: cyan;
|
||||
display: none;
|
||||
}
|
||||
/*定义右下角汇合处的样式*/
|
||||
::-webkit-scrollbar-corner {
|
||||
background: rgba(239, 244, 252, 1);
|
||||
;
|
||||
}
|
||||
|
||||
::-moz-scrollbar-corner {
|
||||
background: rgba(239, 244, 252, 1);
|
||||
;
|
||||
}
|
||||
::-o-scrollbar-corner {
|
||||
background: rgba(239, 244, 252, 1);
|
||||
;
|
||||
}
|
||||
.scrollbar-corner {
|
||||
background: rgba(239, 244, 252, 1);
|
||||
;
|
||||
}
|
||||
//隐藏滚动条----------------------------------------------------------------
|
||||
|
||||
//禁止选中----------------------------------------------------------
|
||||
|
||||
@@ -16,15 +16,15 @@
|
||||
/>
|
||||
</div>
|
||||
<div class="main">
|
||||
<div class="onerow">将此学员移动到</div>
|
||||
<div class="secondrow">
|
||||
<a-select
|
||||
v-model:value="value"
|
||||
style="width: 264px;border-radius: 8px"
|
||||
placeholder="好好学习"
|
||||
:options="stugroupList"
|
||||
/>
|
||||
</div>
|
||||
<div class="onerow">将此学员移动到</div>
|
||||
<div class="secondrow">
|
||||
<a-select
|
||||
v-model:value="value"
|
||||
style="width: 264px; border-radius: 8px"
|
||||
placeholder="好好学习"
|
||||
:options="stugroupList"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btnn">
|
||||
<button class="btn1">取消</button>
|
||||
@@ -32,7 +32,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</a-drawer>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@@ -47,23 +46,23 @@ export default {
|
||||
},
|
||||
setup(props, ctx) {
|
||||
const state = reactive({
|
||||
stugroupList: [
|
||||
{
|
||||
id: "1",
|
||||
value: "好好学习",
|
||||
label: "好好学习",
|
||||
},
|
||||
{
|
||||
id: "2",
|
||||
value: "天天向上",
|
||||
label: "天天向上",
|
||||
},
|
||||
{
|
||||
id: "3",
|
||||
value: "好好学习",
|
||||
label: "好好学习",
|
||||
},
|
||||
],
|
||||
stugroupList: [
|
||||
{
|
||||
id: "1",
|
||||
value: "好好学习",
|
||||
label: "好好学习",
|
||||
},
|
||||
{
|
||||
id: "2",
|
||||
value: "天天向上",
|
||||
label: "天天向上",
|
||||
},
|
||||
{
|
||||
id: "3",
|
||||
value: "好好学习",
|
||||
label: "好好学习",
|
||||
},
|
||||
],
|
||||
});
|
||||
const closeDrawer = () => {
|
||||
ctx.emit("update:Changevisible", false);
|
||||
@@ -83,9 +82,8 @@ export default {
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" >
|
||||
<style lang="scss">
|
||||
.changegroup {
|
||||
|
||||
.drawerMain {
|
||||
min-width: 600px;
|
||||
margin: 0px 32px 0px 32px;
|
||||
@@ -109,25 +107,24 @@ export default {
|
||||
}
|
||||
}
|
||||
.main {
|
||||
.onerow {
|
||||
margin: 32px 0 32px 24px;
|
||||
color: rgba(51, 51, 51, 1);
|
||||
font-size: 16px;
|
||||
.onerow {
|
||||
margin: 32px 0 32px 24px;
|
||||
color: rgba(51, 51, 51, 1);
|
||||
font-size: 16px;
|
||||
}
|
||||
.secondrow {
|
||||
margin-left: 24px;
|
||||
.ant-select {
|
||||
height: 40px;
|
||||
}
|
||||
.secondrow {
|
||||
margin-left: 24px;
|
||||
.ant-select {
|
||||
height: 40px;
|
||||
}
|
||||
.ant-select-selector {
|
||||
height: 100%;
|
||||
border-radius: 8px;
|
||||
}
|
||||
.ant-select-selection-search-input {
|
||||
height: 40px;
|
||||
|
||||
}
|
||||
.ant-select-selector {
|
||||
height: 100%;
|
||||
border-radius: 8px;
|
||||
}
|
||||
.ant-select-selection-search-input {
|
||||
height: 40px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.btnn {
|
||||
height: 72px;
|
||||
@@ -161,4 +158,4 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
@@ -467,14 +467,11 @@ export default {
|
||||
.ant-table-tbody{
|
||||
|
||||
.pa {
|
||||
// left: 0;
|
||||
margin-top: 15px;
|
||||
width: 100%;
|
||||
// height: 20px;
|
||||
// background-color: red;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
// position: absolute;
|
||||
// bottom: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
:columns="tablecolumns"
|
||||
:data-source="tabledata"
|
||||
:loading="tableDataTotal === -1 ? true : false"
|
||||
|
||||
:scroll="{ x: 900, y: 560 }"
|
||||
@expand="expandTable"
|
||||
:pagination="false"
|
||||
|
||||
@@ -218,16 +216,14 @@
|
||||
overflow-x: scroll;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.header {
|
||||
height: 73px;
|
||||
border-bottom: 1px solid #e8e8e8;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
// background-color: red;
|
||||
margin-bottom: 20px;
|
||||
|
||||
flex-shrink: 0;
|
||||
.headerTitle {
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
@@ -252,6 +248,7 @@
|
||||
|
||||
|
||||
.tableBox {
|
||||
padding-bottom: 100px;
|
||||
.ant-table-selection-column {
|
||||
padding: 0px !important;
|
||||
// padding-left: 45px !important;
|
||||
@@ -290,15 +287,11 @@
|
||||
}
|
||||
}
|
||||
.pa {
|
||||
// left: 0;
|
||||
margin-top: 15px;
|
||||
margin-top: 20px;
|
||||
width: 100%;
|
||||
// height: 20px;
|
||||
// background-color: red;
|
||||
flex:1;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
// position: absolute;
|
||||
// bottom: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -313,7 +306,7 @@
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.16);
|
||||
|
||||
background-color: #ffffff;
|
||||
.btn1 {
|
||||
width: 100px;
|
||||
height: 40px;
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
:data-source="tabledata"
|
||||
:loading="tableDataTotal === -1 ? true : false"
|
||||
expandRowByClick="true"
|
||||
:scroll="{ x: 900, y: 350 }"
|
||||
:scroll="{ x: 900 }"
|
||||
@expand="expandTable"
|
||||
:pagination="false"
|
||||
/>
|
||||
|
||||
@@ -6,7 +6,7 @@ const routes = [
|
||||
{
|
||||
path: '/',
|
||||
name: '首页',
|
||||
redirect: routesConfig[0].path
|
||||
redirect: '/learningpath'
|
||||
},
|
||||
...routesConfig
|
||||
]
|
||||
|
||||
@@ -53,7 +53,6 @@
|
||||
|
||||
</div>
|
||||
<div class="btns">
|
||||
|
||||
<!-- <router-link to="/projectadd">
|
||||
<div class="btn btn3">
|
||||
<div class="search"></div>
|
||||
@@ -208,7 +207,6 @@
|
||||
</div>
|
||||
</div></a-modal
|
||||
>
|
||||
|
||||
|
||||
<!-- 编辑路径弹窗 -->
|
||||
<a-modal
|
||||
@@ -551,6 +549,7 @@ import OwnerShip from "../../components/drawers/Ownership";
|
||||
import PowerList from "../../components/drawers/PowerList";
|
||||
import QueryRight from "../../components/drawers/QueryRight";
|
||||
import ManageRight from "../../components/drawers/ManageRight";
|
||||
import * as api from "../../api/index1";
|
||||
export default {
|
||||
name: "learningPath",
|
||||
components: { OwnerShip, PowerList, QueryRight, ManageRight },
|
||||
@@ -801,8 +800,53 @@ export default {
|
||||
];
|
||||
return columns;
|
||||
};
|
||||
//获取学习路径列表
|
||||
const getLearnPath = () => {
|
||||
let obj = {
|
||||
beginTime: 0,
|
||||
endTime: 0,
|
||||
name: "",
|
||||
pageNo: 0,
|
||||
pageSize: 0,
|
||||
status: 0,
|
||||
};
|
||||
api
|
||||
.getLearnPath(obj)
|
||||
.then((res) => {
|
||||
console.log("获取路径列表数据", res);
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log("获取学习路径失败", err);
|
||||
});
|
||||
let getChapterObj = {
|
||||
routerId: 0,
|
||||
};
|
||||
api
|
||||
.getChapter(getChapterObj)
|
||||
.then((res) => {
|
||||
console.log("获取关卡数据", res);
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log("获取关卡数据失败", err);
|
||||
});
|
||||
|
||||
// let editChapterObj = {
|
||||
// name: "测试关卡",
|
||||
// remark: "这是测试关卡说明",
|
||||
// routerId: 0,
|
||||
// };
|
||||
// api
|
||||
// .editChapter(editChapterObj)
|
||||
// .then((res) => {
|
||||
// console.log("添加测试关卡数据", res);
|
||||
// })
|
||||
// .catch((err) => {
|
||||
// console.log("添加测试关卡数据失败", err);
|
||||
// });
|
||||
};
|
||||
onMounted(() => {
|
||||
// console.log("执行");
|
||||
getLearnPath();
|
||||
});
|
||||
const selectProjectName = (value, index) => {
|
||||
console.log("value", value, index);
|
||||
@@ -888,18 +932,28 @@ export default {
|
||||
>
|
||||
发布
|
||||
</div>
|
||||
<div class="jc" onClick={() => {
|
||||
<div
|
||||
class="jc"
|
||||
onClick={() => {
|
||||
state.out1 = true;
|
||||
}}>编辑</div>
|
||||
}}
|
||||
>
|
||||
编辑
|
||||
</div>
|
||||
</div>
|
||||
) : (
|
||||
<div></div>
|
||||
)}
|
||||
{value.state === "已发布" ? (
|
||||
<div class="fb">
|
||||
<div class="jc" onClick={() => {
|
||||
<div
|
||||
class="jc"
|
||||
onClick={() => {
|
||||
state.out1 = true;
|
||||
}}>编辑</div>
|
||||
}}
|
||||
>
|
||||
编辑
|
||||
</div>
|
||||
</div>
|
||||
) : (
|
||||
<div></div>
|
||||
@@ -1649,7 +1703,7 @@ export default {
|
||||
.btn {
|
||||
padding: 0px 26px 0px 26px;
|
||||
height: 38px;
|
||||
background: #409EFF;
|
||||
background: #409eff;
|
||||
border-radius: 8px;
|
||||
//border: 1px solid rgba(64, 158, 255, 1);
|
||||
display: flex;
|
||||
@@ -1664,7 +1718,7 @@ export default {
|
||||
.btnText {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
color: #ffffff;
|
||||
line-height: 36px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
@@ -1672,7 +1726,7 @@ export default {
|
||||
.btnn {
|
||||
padding: 0px 26px 0px 26px;
|
||||
height: 38px;
|
||||
background: #FFFFFF;
|
||||
background: #ffffff;
|
||||
border-radius: 8px;
|
||||
border: 1px solid rgba(64, 158, 255, 1);
|
||||
display: flex;
|
||||
@@ -1687,7 +1741,7 @@ export default {
|
||||
.btnText {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #409EFF;
|
||||
color: #409eff;
|
||||
line-height: 36px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
@@ -1716,7 +1770,7 @@ export default {
|
||||
}
|
||||
}
|
||||
.btn1:active {
|
||||
background: #0982FF;
|
||||
background: #0982ff;
|
||||
}
|
||||
.btn2:hover {
|
||||
background: rgba(64, 158, 255, 0.1);
|
||||
@@ -1731,7 +1785,7 @@ export default {
|
||||
.btn {
|
||||
padding: 0px 26px 0px 26px;
|
||||
height: 38px;
|
||||
background: #409EFF;
|
||||
background: #409eff;
|
||||
border-radius: 8px;
|
||||
//border: 1px solid rgba(64, 158, 255, 1);
|
||||
display: flex;
|
||||
@@ -1746,7 +1800,7 @@ export default {
|
||||
.btnText {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
color: #ffffff;
|
||||
line-height: 36px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
@@ -1769,7 +1823,7 @@ export default {
|
||||
}
|
||||
}
|
||||
.btn3:active {
|
||||
background: #0982FF;
|
||||
background: #0982ff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -540,8 +540,8 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pad"></div></div
|
||||
></a-tab-pane>
|
||||
<div class="pad"></div></div>
|
||||
</a-tab-pane>
|
||||
<a-tab-pane key="4" tab="设置">
|
||||
<div class="split"></div>
|
||||
<div class="sametab">
|
||||
|
||||
@@ -8,10 +8,18 @@
|
||||
<div class="btnText" @click="showModal">添加关卡</div>
|
||||
</div>
|
||||
<div class="maincon" style="background-color: #fff">
|
||||
<div class="item" v-for="item in level" :key="item.id">
|
||||
<div
|
||||
class="item"
|
||||
:class="{ active: isActive == true }"
|
||||
@click="changebgc"
|
||||
v-for="item in level"
|
||||
:key="item.id"
|
||||
>
|
||||
<div class="items1">
|
||||
<div class="box_left">
|
||||
<div class="script"><span style="font-size: 12px; color: #ffffff;">说明</span></div>
|
||||
<div class="script">
|
||||
<span style="font-size: 12px; color: #ffffff">说明</span>
|
||||
</div>
|
||||
<div class="imgIcon"></div>
|
||||
</div>
|
||||
<div class="box_right">
|
||||
@@ -76,7 +84,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</a-modal>
|
||||
<div class="right">
|
||||
<div class="right" :style="{ display: gqxy_hs ? 'block' : 'none' }">
|
||||
<div class="addhead">
|
||||
<div class="filt">
|
||||
<div class="le">
|
||||
@@ -286,7 +294,7 @@
|
||||
<div class="btn btn2">
|
||||
<div class="btnText">确定</div>
|
||||
</div>
|
||||
<div class="btn btn1">
|
||||
<div class="btn btn1" @click="gqxy_hShow">
|
||||
<div class="btnText">下一步</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -328,6 +336,125 @@
|
||||
</a-drawer>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right" :style="{ display: gqxy_hs ? 'none' : 'block' }">
|
||||
<div class="addhead">
|
||||
<div class="filt">
|
||||
<div class="le">
|
||||
<div class="leftimg">
|
||||
<img class="img" src="../../assets/px.jpg" />
|
||||
</div>
|
||||
<div class="imgfor">
|
||||
<div class="forz">产品经理进阶路径</div>
|
||||
<div class="fort">创建时间:2022-07-21 00:00</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rightt">
|
||||
<div class="select">
|
||||
<span>学习模式:</span>
|
||||
<div class="inputbox">
|
||||
<input type="text" placeholder="按学习时间解锁" />
|
||||
<div class="bottonbox"><div class="btnText">切换模式</div></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="line"></div>
|
||||
<router-link to="/leveladd">
|
||||
<div style="display: flex">
|
||||
<img class="img2" src="../../assets/images/leveladd/back.png" />
|
||||
<div class="return">返回</div>
|
||||
</div>
|
||||
</router-link>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="boom">
|
||||
<div class="boomcen">
|
||||
<div class="xwid">
|
||||
<div class="xin">
|
||||
<div class="xheadb">
|
||||
<button class="addx">添加学员</button>
|
||||
<!-- 点击抽屉组件在LevelAdd,此处没添加showAddStu、showImpStu -->
|
||||
<button class="addd">导入学员</button>
|
||||
<button class="addd">批量删除</button>
|
||||
</div>
|
||||
<div class="talk">
|
||||
<img class="im" src="../../assets/images/leveladd/gan.png" />
|
||||
<div class="xu">
|
||||
<span class="yi">已选择</span>
|
||||
<div style="width: 5px; display: inline-block"></div>
|
||||
<span class="th">3</span>
|
||||
<div style="width: 5px; display: inline-block"></div>
|
||||
<span class="yi">项</span>
|
||||
<span class="zon">列表选项总数:</span>
|
||||
<span class="yi">5</span>
|
||||
<span class="yi">条</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tableBox" style="margin-top: 30px">
|
||||
<a-table
|
||||
style="border: 1px solid #f2f6fe"
|
||||
:columns="tableDataFunc2()"
|
||||
:scroll="{ y: 235 }"
|
||||
:data-source="tableData2"
|
||||
:loading="tableDataTotal === -1 ? true : false"
|
||||
expandRowByClick="true"
|
||||
@expand="expandTable"
|
||||
:pagination="false"
|
||||
:row-selection="{
|
||||
columnWidth: 30,
|
||||
selectedRowKeys: selectedRowKeys,
|
||||
onChange: onSelectChange,
|
||||
}"
|
||||
/>
|
||||
<div class="pa">
|
||||
<a-pagination
|
||||
showSizeChanger="true"
|
||||
showQuickJumper="true"
|
||||
hideOnSinglePage="true"
|
||||
:pageSize="pageSize"
|
||||
:current="currentPage"
|
||||
:total="tableDataTotal"
|
||||
class="pagination"
|
||||
/>
|
||||
</div>
|
||||
<!-- 无数据样式 -->
|
||||
<div
|
||||
class="notable"
|
||||
:style="{ display: stm_hs ? 'block' : 'none' }"
|
||||
>
|
||||
<div class="notablebox">
|
||||
<div class="boxbody">
|
||||
<div class="boximg"></div>
|
||||
<div class="boxtitle">
|
||||
<span style="color: #ffb64e; font-size: 20px"
|
||||
>无学员</span
|
||||
>
|
||||
</div>
|
||||
<div class="boxtitle2">
|
||||
<span style="color: #878b92">请添加学员或导入学员</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="smallleft"></div>
|
||||
<div class="smallright"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 无数据样式 -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="pad"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footbtn">
|
||||
<div class="btnbox">
|
||||
<div class="btn btn1" @click="gqxy_hShow">
|
||||
<div class="btnText">上一步</div>
|
||||
</div>
|
||||
<div class="btn btn2">
|
||||
<div class="btnText">保存</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -484,6 +611,80 @@ export default {
|
||||
checkedd: false,
|
||||
},
|
||||
],
|
||||
tableData2: [
|
||||
{
|
||||
key: 1,
|
||||
name: "张三",
|
||||
com: "产研部",
|
||||
gang: "产品经理",
|
||||
cur: "关卡2",
|
||||
jin: "2/10",
|
||||
time: "2022-07-15 14:00",
|
||||
},
|
||||
{
|
||||
key: 2,
|
||||
name: "张三",
|
||||
com: "产研部",
|
||||
gang: "产品经理",
|
||||
cur: "关卡2",
|
||||
jin: "2/10",
|
||||
time: "2022-07-15 14:00",
|
||||
},
|
||||
{
|
||||
key: 3,
|
||||
name: "张三",
|
||||
com: "产研部",
|
||||
gang: "产品经理",
|
||||
cur: "关卡2",
|
||||
jin: "2/10",
|
||||
time: "2022-07-15 14:00",
|
||||
},
|
||||
{
|
||||
key: 4,
|
||||
name: "张三",
|
||||
com: "产研部",
|
||||
gang: "产品经理",
|
||||
cur: "关卡1",
|
||||
jin: "2/10",
|
||||
time: "2022-07-15 14:00",
|
||||
},
|
||||
{
|
||||
key: 5,
|
||||
name: "张三",
|
||||
com: "产研部",
|
||||
gang: "产品经理",
|
||||
cur: "关卡1",
|
||||
jin: "2/10",
|
||||
time: "2022-07-15 14:00",
|
||||
},
|
||||
{
|
||||
key: 6,
|
||||
name: "张三",
|
||||
com: "产研部",
|
||||
gang: "产品经理",
|
||||
cur: "关卡2",
|
||||
jin: "2/10",
|
||||
time: "2022-07-15 14:00",
|
||||
},
|
||||
{
|
||||
key: 7,
|
||||
name: "张三",
|
||||
com: "产研部",
|
||||
gang: "产品经理",
|
||||
cur: "关卡2",
|
||||
jin: "2/10",
|
||||
time: "2022-07-15 14:00",
|
||||
},
|
||||
{
|
||||
key: 8,
|
||||
name: "张三",
|
||||
com: "产研部",
|
||||
gang: "产品经理",
|
||||
cur: "关卡2",
|
||||
jin: "2/10",
|
||||
time: "2022-07-15 14:00",
|
||||
},
|
||||
],
|
||||
drawertableData: [
|
||||
{
|
||||
key: 1,
|
||||
@@ -589,6 +790,8 @@ export default {
|
||||
value1: "",
|
||||
value2: "",
|
||||
selectedRowKeys: [],
|
||||
isActive: false,
|
||||
gqxy_hs: true,
|
||||
});
|
||||
const showDrawer = () => {
|
||||
state.visible = true;
|
||||
@@ -719,6 +922,95 @@ export default {
|
||||
];
|
||||
return columns;
|
||||
};
|
||||
const tableDataFunc2 = () => {
|
||||
const columns = [
|
||||
{
|
||||
title: "姓名",
|
||||
dataIndex: "name",
|
||||
// width: "30%",
|
||||
key: "name",
|
||||
width: 60,
|
||||
align: "left",
|
||||
className: "classify",
|
||||
|
||||
scopedSlots: { customRender: "action" }, //引入的插槽
|
||||
customRender: (text) => {
|
||||
return (
|
||||
<div class="racona">
|
||||
<span> {text.record.name}</span>
|
||||
|
||||
{/**
|
||||
<div class="img"></div>
|
||||
<a-checkbox class="ch" checked={text.record.checkedd}>
|
||||
{text.record.lei}
|
||||
</a-checkbox>
|
||||
*/}
|
||||
</div>
|
||||
);
|
||||
},
|
||||
},
|
||||
{
|
||||
title: "部门",
|
||||
dataIndex: "com",
|
||||
// width: "30%",
|
||||
key: "com",
|
||||
width: 110,
|
||||
align: "center",
|
||||
className: "h",
|
||||
},
|
||||
{
|
||||
title: "岗位",
|
||||
dataIndex: "gang",
|
||||
key: "gang",
|
||||
width: 110,
|
||||
align: "center",
|
||||
className: "h",
|
||||
},
|
||||
{
|
||||
title: "当前关卡",
|
||||
dataIndex: "cur",
|
||||
key: "cur",
|
||||
width: 110,
|
||||
align: "center",
|
||||
className: "h",
|
||||
},
|
||||
{
|
||||
title: "进度",
|
||||
dataIndex: "jin",
|
||||
key: "jin",
|
||||
width: 110,
|
||||
align: "center",
|
||||
className: "h",
|
||||
},
|
||||
{
|
||||
title: "开始时间",
|
||||
dataIndex: "time",
|
||||
key: "time",
|
||||
width: 120,
|
||||
align: "center",
|
||||
className: "h",
|
||||
},
|
||||
{
|
||||
title: "操作",
|
||||
className: "h",
|
||||
dataIndex: "opacation",
|
||||
key: "opacation",
|
||||
width: 140,
|
||||
align: "center",
|
||||
scopedSlots: { customRender: "action" }, //引入的插槽
|
||||
customRender: () => {
|
||||
return (
|
||||
<div class="opa">
|
||||
<div class="opacation">
|
||||
<span style="color:#4EA6FF;cursor:pointer">删除</span>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
},
|
||||
},
|
||||
];
|
||||
return columns;
|
||||
};
|
||||
|
||||
const onSelectChange = (selectedRowKeys) => {
|
||||
console.log("selectedRowKeys changed: ", selectedRowKeys);
|
||||
@@ -744,9 +1036,16 @@ export default {
|
||||
document.getElementsByTagName("main")[0].style.boxShadow =
|
||||
"0px 1px 35px 0px rgba(118, 136, 166, 0.07)";
|
||||
});
|
||||
const changebgc = () => {
|
||||
state.isActive = !state.isActive;
|
||||
};
|
||||
const gqxy_hShow = () => {
|
||||
state.gqxy_hs = !state.gqxy_hs;
|
||||
};
|
||||
return {
|
||||
...toRefs(state),
|
||||
tableDataFunc,
|
||||
tableDataFunc2,
|
||||
showDrawer,
|
||||
closeDrawer,
|
||||
showModal,
|
||||
@@ -754,6 +1053,8 @@ export default {
|
||||
afterVisibleChange,
|
||||
drawercolumns,
|
||||
onSelectChange,
|
||||
changebgc,
|
||||
gqxy_hShow,
|
||||
};
|
||||
},
|
||||
};
|
||||
@@ -927,6 +1228,7 @@ export default {
|
||||
align-items: center;
|
||||
// background-color: red;
|
||||
margin-bottom: 20px;
|
||||
flex-shrink: 0;
|
||||
.headerTitle {
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
@@ -957,6 +1259,7 @@ export default {
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.16);
|
||||
background-color: #ffffff;
|
||||
.btn1 {
|
||||
width: 100px;
|
||||
height: 40px;
|
||||
@@ -983,17 +1286,10 @@ export default {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
min-width: 933px;
|
||||
// min-width: 1200px;
|
||||
// overflow-x: hidden;
|
||||
// min-width: 1400px;
|
||||
// overflow: scroll;
|
||||
background-color: rgba(245, 247, 250, 1);
|
||||
.left {
|
||||
margin-right: 20px;
|
||||
width: 208px;
|
||||
// height: 100%;
|
||||
// flex: 1;
|
||||
// height: 100%;
|
||||
background: #ffffff;
|
||||
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21);
|
||||
display: flex;
|
||||
@@ -1005,18 +1301,14 @@ export default {
|
||||
font-size: 18px;
|
||||
color: #363636;
|
||||
}
|
||||
|
||||
// flex-wrap: wrap;
|
||||
.btn {
|
||||
margin-top: 20px;
|
||||
// padding: 0px 26px 0px 26px;
|
||||
height: 38px;
|
||||
background: #fff6e8;
|
||||
border-radius: 8px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
// margin-right: 14px;
|
||||
flex-shrink: 0;
|
||||
cursor: pointer;
|
||||
.search {
|
||||
@@ -1026,7 +1318,6 @@ export default {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #ffb64e;
|
||||
// line-height: 38px;
|
||||
margin-top: 4px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
@@ -1047,46 +1338,47 @@ export default {
|
||||
width: 208px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center; // background-color: #bfa;
|
||||
align-items: center;
|
||||
.item {
|
||||
width: 171px;
|
||||
height: 83px;
|
||||
background: rgba(255, 182, 78,.1);
|
||||
background: rgba(255, 182, 78, 0.1);
|
||||
border: 1px solid #ffb64e;
|
||||
opacity: 0.45;
|
||||
border-radius: 8px;
|
||||
margin-bottom: 16px;
|
||||
align-items: center;
|
||||
padding: 16px;
|
||||
opacity: .5;
|
||||
.items1{
|
||||
opacity: 0.5;
|
||||
cursor: pointer;
|
||||
.items1 {
|
||||
margin-bottom: 12px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.box_left{
|
||||
width:140px;
|
||||
.box_left {
|
||||
width: 140px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.script{
|
||||
.script {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 56px;
|
||||
height: 24px;
|
||||
background: #FFB64E;
|
||||
background: #ffb64e;
|
||||
border-radius: 6px;
|
||||
margin-right: 12px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.imgIcon{
|
||||
.imgIcon {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
background-image: url(@/assets/images/leveladd/edit.png);
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
}
|
||||
.box_right{
|
||||
.imgIcon{
|
||||
.box_right {
|
||||
.imgIcon {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
background-image: url(@/assets/images/leveladd/z1.png);
|
||||
@@ -1094,8 +1386,8 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
.items2{
|
||||
.name{
|
||||
.items2 {
|
||||
.name {
|
||||
width: 100px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
@@ -1104,6 +1396,9 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
.active {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1219,7 +1514,6 @@ export default {
|
||||
width: 100%;
|
||||
// height: 130px;
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
background-color: #fff;
|
||||
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.07);
|
||||
display: flex;
|
||||
@@ -1261,6 +1555,7 @@ export default {
|
||||
}
|
||||
.boom {
|
||||
width: 100%;
|
||||
margin-top: 20px;
|
||||
flex: 1;
|
||||
background-color: #fff;
|
||||
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.07);
|
||||
@@ -1352,6 +1647,276 @@ export default {
|
||||
background: #f6f9fd;
|
||||
}
|
||||
}
|
||||
.xwid {
|
||||
position: relative;
|
||||
margin-top: 30px;
|
||||
display: flex;
|
||||
margin-bottom: 20px;
|
||||
.xin {
|
||||
width: 100%;
|
||||
.xheadb {
|
||||
display: flex;
|
||||
.addx {
|
||||
width: 130px;
|
||||
height: 40px;
|
||||
background: #4ea6ff;
|
||||
border-radius: 8px;
|
||||
color: #fff;
|
||||
border: 0;
|
||||
cursor: pointer;
|
||||
margin-right: 20px;
|
||||
}
|
||||
.addd {
|
||||
width: 130px;
|
||||
height: 40px;
|
||||
background: #fff;
|
||||
border-radius: 8px;
|
||||
border: 1px solid #4ea6ff;
|
||||
color: #4ea6ff;
|
||||
cursor: pointer;
|
||||
margin-right: 20px;
|
||||
}
|
||||
.select {
|
||||
.ant-select {
|
||||
//
|
||||
// border: 0 !important;
|
||||
border-radius: 11px;
|
||||
.ant-select-selector {
|
||||
border: 1px solid #4ea6ff !important;
|
||||
.ant-select-selection-placeholder {
|
||||
padding-left: 15px;
|
||||
color: #4ea6ff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.talk {
|
||||
margin-top: 24px;
|
||||
margin-bottom: 11px;
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
background: #f5faff;
|
||||
border: 1px solid #4ea6ff;
|
||||
// opacity: 0.22;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.im {
|
||||
width: 14px;
|
||||
height: 15px;
|
||||
margin-left: 27px;
|
||||
margin-top: -3px;
|
||||
}
|
||||
.xu {
|
||||
height: 100%;
|
||||
line-height: 50px;
|
||||
margin-left: 13px;
|
||||
.yi {
|
||||
color: #4f5156;
|
||||
font-size: 14px;
|
||||
}
|
||||
.zon {
|
||||
color: #999ba3;
|
||||
font-size: 14px;
|
||||
margin-left: 34px;
|
||||
}
|
||||
.th {
|
||||
color: #4ea6ff;
|
||||
}
|
||||
}
|
||||
}
|
||||
.tableBox {
|
||||
margin-bottom: 80px;
|
||||
|
||||
.classify {
|
||||
margin-left: 11px !important;
|
||||
padding-left: 9px !important;
|
||||
}
|
||||
.ant-checkbox-wrapper {
|
||||
align-items: center;
|
||||
margin-top: -2px;
|
||||
}
|
||||
.ant-table-selection-column {
|
||||
padding: 0px !important;
|
||||
padding-left: 38px !important;
|
||||
}
|
||||
.ant-table-thead > tr > th {
|
||||
background-color: rgba(239, 244, 252, 1);
|
||||
}
|
||||
th.h {
|
||||
background-color: #eff4fc !important;
|
||||
}
|
||||
|
||||
.ant-table-tbody
|
||||
> tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)
|
||||
> td {
|
||||
background: #f6f9fd;
|
||||
}
|
||||
.pa {
|
||||
left: 0;
|
||||
width: 100%;
|
||||
// height: 20px;
|
||||
// background-color: red;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.Gcon {
|
||||
display: flex;
|
||||
.pad {
|
||||
height: 100%;
|
||||
width: 40px;
|
||||
}
|
||||
.Gin {
|
||||
// background-color: #bfa;
|
||||
margin-top: 30px;
|
||||
.headone {
|
||||
// background-color: red;
|
||||
display: flex;
|
||||
text-align: center;
|
||||
.box {
|
||||
width: 4px;
|
||||
height: 20px;
|
||||
background-color: #4ea6ff;
|
||||
border-radius: 2px;
|
||||
}
|
||||
.onetitle {
|
||||
margin-left: 15px;
|
||||
color: #333333;
|
||||
font-size: 14px;
|
||||
}
|
||||
.oneedi {
|
||||
margin-left: 15px;
|
||||
color: #4ea6ff;
|
||||
cursor: pointer;
|
||||
}
|
||||
.twobtn {
|
||||
display: flex;
|
||||
.btnone {
|
||||
width: 42px;
|
||||
height: 24px;
|
||||
border: 1px solid rgba(64, 158, 255, 1);
|
||||
border-radius: 4px;
|
||||
color: rgba(64, 158, 255, 1);
|
||||
margin-left: 20px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.btntwo {
|
||||
width: 42px;
|
||||
height: 24px;
|
||||
border: 1px solid rgba(64, 158, 255, 1);
|
||||
border-radius: 4px;
|
||||
color: #ffffff;
|
||||
margin-left: 20px;
|
||||
background: #409eff;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
.onemain {
|
||||
margin-top: 20px;
|
||||
margin-left: 55px;
|
||||
color: #6f6f6f;
|
||||
font-size: 14px;
|
||||
.checkcon {
|
||||
position: relative;
|
||||
.in {
|
||||
position: absolute;
|
||||
// margin-top: 10px;
|
||||
left: 0;
|
||||
top: 3px;
|
||||
}
|
||||
.yulan {
|
||||
// color: yellow;
|
||||
margin-left: 22px;
|
||||
// display: inline-block;
|
||||
}
|
||||
.yulan2 {
|
||||
margin-left: 22px;
|
||||
}
|
||||
.ant-input-number {
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
margin: 10px;
|
||||
border-radius: 4px;
|
||||
border: 1px solid #6d7584;
|
||||
.ant-input-number-input {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
font-size: 14px;
|
||||
padding: 0;
|
||||
color: #409eff;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.twomain {
|
||||
margin-left: 20px;
|
||||
margin-top: 20px;
|
||||
.ant-switch-checked {
|
||||
background-color: #5dc988;
|
||||
}
|
||||
.info {
|
||||
margin-left: 10px;
|
||||
color: #6f6f6f;
|
||||
font-size: 14px;
|
||||
// margin-top: 10px;
|
||||
}
|
||||
.infor {
|
||||
margin-left: 38px;
|
||||
margin-top: 10px;
|
||||
color: #c7cbd2;
|
||||
font-size: 14px;
|
||||
}
|
||||
.chooseshow {
|
||||
// background-color: red;
|
||||
margin-left: 38px;
|
||||
margin-top: 12px;
|
||||
.fane {
|
||||
color: #6f6f6f;
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
.choo {
|
||||
display: none;
|
||||
}
|
||||
.btm {
|
||||
margin-left: 38px;
|
||||
margin-top: 20px;
|
||||
.bmo {
|
||||
color: #6f6f6f;
|
||||
font-size: 14px;
|
||||
}
|
||||
.bmt {
|
||||
color: #c7cbd2;
|
||||
font-size: 14px;
|
||||
margin-top: 3px;
|
||||
}
|
||||
.chosecon {
|
||||
display: flex;
|
||||
margin-top: 6px;
|
||||
margin-bottom: 20px;
|
||||
.chose {
|
||||
position: relative;
|
||||
.inl {
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
}
|
||||
.sh {
|
||||
margin-left: 23px;
|
||||
color: #6f6f6f;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.notable {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
@@ -80,13 +80,6 @@
|
||||
total: tableDataTotal,
|
||||
onChange: (page, pageSize) => {
|
||||
currentPage = page;
|
||||
// console.log('page', page)
|
||||
// 加翻页查找代码
|
||||
// this.setState({
|
||||
// currentPage: page,
|
||||
// }, () => {
|
||||
// this.getMilitaryDeployment()
|
||||
// })
|
||||
},
|
||||
}"
|
||||
>
|
||||
@@ -110,24 +103,24 @@
|
||||
<!-- 无项目 -->
|
||||
<div class="tableBox" style="display: none">
|
||||
<div
|
||||
class="taskbox"
|
||||
@click="showModal1"
|
||||
style="background: linear-gradient(180deg, #ddeaff, #f0f8fe)"
|
||||
>
|
||||
<div class="leftt">
|
||||
<img src="../../assets/images/taskpage/left2.png" />
|
||||
</div>
|
||||
<div class="photo">
|
||||
<img src="../../assets/images/projectadd/nopro.png" />
|
||||
</div>
|
||||
<div class="rightt">
|
||||
<img src="../../assets/images/taskpage/right2.png" />
|
||||
</div>
|
||||
<div class="centerbox" style="color: rgba(78, 166, 255, 1)">
|
||||
创建项目
|
||||
</div>
|
||||
<div class="centermain">点击创建项目任务</div>
|
||||
</div>
|
||||
class="taskbox"
|
||||
@click="showModal1"
|
||||
style="background: linear-gradient(180deg, #ddeaff, #f0f8fe)"
|
||||
>
|
||||
<div class="leftt">
|
||||
<img src="../../assets/images/taskpage/left2.png" />
|
||||
</div>
|
||||
<div class="photo">
|
||||
<img src="../../assets/images/projectadd/nopro.png" />
|
||||
</div>
|
||||
<div class="rightt">
|
||||
<img src="../../assets/images/taskpage/right2.png" />
|
||||
</div>
|
||||
<div class="centerbox" style="color: rgba(78, 166, 255, 1)">
|
||||
创建项目
|
||||
</div>
|
||||
<div class="centermain">点击创建项目任务</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 创建子项目弹窗 -->
|
||||
<div>
|
||||
@@ -589,7 +582,9 @@
|
||||
</div>
|
||||
<div class="body">
|
||||
<span>是否结束项目</span>
|
||||
<div class="back">(项目结束后学员将无法继续学习,此操作不可逆)</div>
|
||||
<div class="back">
|
||||
(项目结束后学员将无法继续学习,此操作不可逆)
|
||||
</div>
|
||||
</div>
|
||||
<div class="del_btnbox">
|
||||
<div class="del_btn btn1">
|
||||
@@ -1070,7 +1065,6 @@ export default {
|
||||
data.map((value) => {
|
||||
if (value.children) {
|
||||
//多层项目
|
||||
console.log("11");
|
||||
value.operation =
|
||||
value.state === "草稿" ? (
|
||||
<div class="operation">
|
||||
@@ -1129,9 +1123,13 @@ export default {
|
||||
<router-link to="/taskpage">基础信息</router-link>
|
||||
</a-select-option>
|
||||
<a-select-option value="存为模板" label="存为模板">
|
||||
<div onClick={() => {
|
||||
showStartModal();
|
||||
}}>存为模板</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showStartModal();
|
||||
}}
|
||||
>
|
||||
存为模板
|
||||
</div>
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</div>
|
||||
@@ -1173,9 +1171,14 @@ export default {
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</div>
|
||||
<span class="operation3" onClick={() => {
|
||||
showCopyModal();
|
||||
}}>复制</span>
|
||||
<span
|
||||
class="operation3"
|
||||
onClick={() => {
|
||||
showCopyModal();
|
||||
}}
|
||||
>
|
||||
复制
|
||||
</span>
|
||||
<span class="more"></span>
|
||||
</div>
|
||||
) : value.state === "已结束" ? (
|
||||
@@ -1215,12 +1218,22 @@ export default {
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</div>
|
||||
<span class="operation3" onClick={() => {
|
||||
showCopyModal();
|
||||
}}>复制</span>
|
||||
<span class="more" onClick={() => {
|
||||
showDeleteModal();
|
||||
}}>删除</span>
|
||||
<span
|
||||
class="operation3"
|
||||
onClick={() => {
|
||||
showCopyModal();
|
||||
}}
|
||||
>
|
||||
复制
|
||||
</span>
|
||||
<span
|
||||
class="more"
|
||||
onClick={() => {
|
||||
showDeleteModal();
|
||||
}}
|
||||
>
|
||||
删除
|
||||
</span>
|
||||
</div>
|
||||
) : (
|
||||
<div></div>
|
||||
@@ -1278,14 +1291,22 @@ export default {
|
||||
dropdownClassName="tabledropdown"
|
||||
>
|
||||
<a-select-option value="复制" label="复制">
|
||||
<div onClick={() => {
|
||||
showCopyModal();
|
||||
}}>复制</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showCopyModal();
|
||||
}}
|
||||
>
|
||||
复制
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="删除" label="删除">
|
||||
<div onClick={() => {
|
||||
showDeleteModal();
|
||||
}}>删除</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showDeleteModal();
|
||||
}}
|
||||
>
|
||||
删除
|
||||
</div>
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</div>
|
||||
@@ -1331,9 +1352,14 @@ export default {
|
||||
<router-link to="/classadd" class="operation3">
|
||||
创建班级
|
||||
</router-link>
|
||||
<span class="more" onClick={() => {
|
||||
<span
|
||||
class="more"
|
||||
onClick={() => {
|
||||
showCopyModal();
|
||||
}}>复制</span>
|
||||
}}
|
||||
>
|
||||
复制
|
||||
</span>
|
||||
</div>
|
||||
) : item.state === "已结束" ? (
|
||||
<div class="operation">
|
||||
@@ -1372,12 +1398,22 @@ export default {
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</div>
|
||||
<span class="operation3" onClick={() => {
|
||||
<span
|
||||
class="operation3"
|
||||
onClick={() => {
|
||||
showCopyModal();
|
||||
}}>复制</span>
|
||||
<span class="more" onClick={() => {
|
||||
showDeleteModal();
|
||||
}}>删除</span>
|
||||
}}
|
||||
>
|
||||
复制
|
||||
</span>
|
||||
<span
|
||||
class="more"
|
||||
onClick={() => {
|
||||
showDeleteModal();
|
||||
}}
|
||||
>
|
||||
删除
|
||||
</span>
|
||||
</div>
|
||||
) : (
|
||||
<div></div>
|
||||
@@ -1432,19 +1468,31 @@ export default {
|
||||
dropdownClassName="tabledropdown"
|
||||
>
|
||||
<a-select-option value="复制" label="复制">
|
||||
<div onClick={() => {
|
||||
showCopyModal();
|
||||
}}>复制</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showCopyModal();
|
||||
}}
|
||||
>
|
||||
复制
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="删除" label="删除">
|
||||
<div onClick={() => {
|
||||
showDeleteModal();
|
||||
}}>删除</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showDeleteModal();
|
||||
}}
|
||||
>
|
||||
删除
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="存为模板" label="存为模板">
|
||||
<div onClick={() => {
|
||||
showStartModal();
|
||||
}}>存为模板</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showStartModal();
|
||||
}}
|
||||
>
|
||||
存为模板
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="基础信息" label="基础信息">
|
||||
<router-link to="/taskpage">基础信息</router-link>
|
||||
@@ -1489,9 +1537,14 @@ export default {
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</div>
|
||||
<span class="operation3" onClick={() => {
|
||||
showCopyModal();
|
||||
}}>复制</span>
|
||||
<span
|
||||
class="operation3"
|
||||
onClick={() => {
|
||||
showCopyModal();
|
||||
}}
|
||||
>
|
||||
复制
|
||||
</span>
|
||||
<div class="tableSelect">
|
||||
<a-select
|
||||
style="width: 50px"
|
||||
@@ -1500,19 +1553,31 @@ export default {
|
||||
dropdownClassName="tabledropdown"
|
||||
>
|
||||
<a-select-option value="撤回" label="撤回">
|
||||
<div onClick={() => {
|
||||
showBackModal();
|
||||
}}>撤回</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showBackModal();
|
||||
}}
|
||||
>
|
||||
撤回
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="结束" label="结束">
|
||||
<div onClick={() => {
|
||||
showStopModal();
|
||||
}}>结束</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showStopModal();
|
||||
}}
|
||||
>
|
||||
结束
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="存为模板" label="存为模板">
|
||||
<div onClick={() => {
|
||||
showStartModal();
|
||||
}}>存为模板</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showStartModal();
|
||||
}}
|
||||
>
|
||||
存为模板
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="基础信息" label="基础信息">
|
||||
<router-link to="/taskpage">基础信息</router-link>
|
||||
@@ -1557,12 +1622,22 @@ export default {
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</div>
|
||||
<span class="operation3" onClick={() => {
|
||||
showCopyModal();
|
||||
}}>复制</span>
|
||||
<span class="operation3" onClick={() => {
|
||||
showCopyModal();
|
||||
}}>复制</span>
|
||||
<span
|
||||
class="operation3"
|
||||
onClick={() => {
|
||||
showCopyModal();
|
||||
}}
|
||||
>
|
||||
复制
|
||||
</span>
|
||||
<span
|
||||
class="operation3"
|
||||
onClick={() => {
|
||||
showCopyModal();
|
||||
}}
|
||||
>
|
||||
复制
|
||||
</span>
|
||||
<div class="tableSelect">
|
||||
<a-select
|
||||
style="width: 50px"
|
||||
@@ -1571,14 +1646,22 @@ export default {
|
||||
dropdownClassName="tabledropdown"
|
||||
>
|
||||
<a-select-option value="删除" label="删除">
|
||||
<div onClick={() => {
|
||||
showDeleteModal();
|
||||
}}>删除</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showDeleteModal();
|
||||
}}
|
||||
>
|
||||
删除
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="存为模板" label="存为模板">
|
||||
<div onClick={() => {
|
||||
showStartModal();
|
||||
}}>存为模板</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showStartModal();
|
||||
}}
|
||||
>
|
||||
存为模板
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="基础信息" label="基础信息">
|
||||
<router-link to="/taskpage">基础信息</router-link>
|
||||
@@ -1623,9 +1706,14 @@ export default {
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</div>
|
||||
<span class="operation3" onClick={() => {
|
||||
showCopyModal();
|
||||
}}>复制</span>
|
||||
<span
|
||||
class="operation3"
|
||||
onClick={() => {
|
||||
showCopyModal();
|
||||
}}
|
||||
>
|
||||
复制
|
||||
</span>
|
||||
<div class="tableSelect">
|
||||
<a-select
|
||||
style="width: 50px"
|
||||
@@ -1634,19 +1722,31 @@ export default {
|
||||
dropdownClassName="tabledropdown"
|
||||
>
|
||||
<a-select-option value="结束" label="结束">
|
||||
<div onClick={() => {
|
||||
showStopModal();
|
||||
}}>结束</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showStopModal();
|
||||
}}
|
||||
>
|
||||
结束
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="撤回" label="撤回">
|
||||
<div onClick={() => {
|
||||
showBackModal();
|
||||
}}>撤回</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showBackModal();
|
||||
}}
|
||||
>
|
||||
撤回
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="存为模板" label="存为模板">
|
||||
<div onClick={() => {
|
||||
showStartModal();
|
||||
}}>存为模板</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showStartModal();
|
||||
}}
|
||||
>
|
||||
存为模板
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="基础信息" label="基础信息">
|
||||
<router-link to="/taskpage">基础信息</router-link>
|
||||
@@ -1707,19 +1807,31 @@ export default {
|
||||
dropdownClassName="tabledropdown"
|
||||
>
|
||||
<a-select-option value="复制" label="复制">
|
||||
<div onClick={() => {
|
||||
showCopyModal();
|
||||
}}>复制</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showCopyModal();
|
||||
}}
|
||||
>
|
||||
复制
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="删除" label="删除">
|
||||
<div onClick={() => {
|
||||
showDeleteModal();
|
||||
}}>删除</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showDeleteModal();
|
||||
}}
|
||||
>
|
||||
删除
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="存为模板" label="存为模板">
|
||||
<div onClick={() => {
|
||||
showStartModal();
|
||||
}}>存为模板</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showStartModal();
|
||||
}}
|
||||
>
|
||||
存为模板
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="基础信息" label="基础信息">
|
||||
<router-link to="/taskpage">基础信息</router-link>
|
||||
@@ -1764,9 +1876,14 @@ export default {
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</div>
|
||||
<span class="operation3" onClick={() => {
|
||||
<span
|
||||
class="operation3"
|
||||
onClick={() => {
|
||||
showCopyModal();
|
||||
}}>复制</span>
|
||||
}}
|
||||
>
|
||||
复制
|
||||
</span>
|
||||
<div class="tableSelect">
|
||||
<a-select
|
||||
style="width: 50px"
|
||||
@@ -1775,19 +1892,31 @@ export default {
|
||||
dropdownClassName="tabledropdown"
|
||||
>
|
||||
<a-select-option value="撤回" label="撤回">
|
||||
<div onClick={() => {
|
||||
showBackModal();
|
||||
}}>撤回</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showBackModal();
|
||||
}}
|
||||
>
|
||||
撤回
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="结束" label="结束">
|
||||
<div onClick={() => {
|
||||
showStopModal();
|
||||
}}>结束</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showStopModal();
|
||||
}}
|
||||
>
|
||||
结束
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="存为模板" label="存为模板">
|
||||
<div onClick={() => {
|
||||
showStartModal();
|
||||
}}>存为模板</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showStartModal();
|
||||
}}
|
||||
>
|
||||
存为模板
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="基础信息" label="基础信息">
|
||||
<router-link to="/taskpage">基础信息</router-link>
|
||||
@@ -1832,9 +1961,14 @@ export default {
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</div>
|
||||
<span class="operation3" onClick={() => {
|
||||
<span
|
||||
class="operation3"
|
||||
onClick={() => {
|
||||
showCopyModal();
|
||||
}}>复制</span>
|
||||
}}
|
||||
>
|
||||
复制
|
||||
</span>
|
||||
<div class="tableSelect">
|
||||
<a-select
|
||||
style="width: 50px"
|
||||
@@ -1843,19 +1977,31 @@ export default {
|
||||
dropdownClassName="tabledropdown"
|
||||
>
|
||||
<a-select-option value="删除" label="删除">
|
||||
<div onClick={() => {
|
||||
showDeleteModal();
|
||||
}}>删除</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showDeleteModal();
|
||||
}}
|
||||
>
|
||||
删除
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="结束" label="结束">
|
||||
<div onClick={() => {
|
||||
showStopModal();
|
||||
}}>结束</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showStopModal();
|
||||
}}
|
||||
>
|
||||
结束
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="存为模板" label="存为模板">
|
||||
<div onClick={() => {
|
||||
showStartModal();
|
||||
}}>存为模板</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showStartModal();
|
||||
}}
|
||||
>
|
||||
存为模板
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="基础信息" label="基础信息">
|
||||
<router-link to="/taskpage">基础信息</router-link>
|
||||
@@ -1900,9 +2046,14 @@ export default {
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</div>
|
||||
<span class="operation3" onClick={() => {
|
||||
<span
|
||||
class="operation3"
|
||||
onClick={() => {
|
||||
showCopyModal();
|
||||
}}>复制</span>
|
||||
}}
|
||||
>
|
||||
复制
|
||||
</span>
|
||||
<div class="tableSelect">
|
||||
<a-select
|
||||
style="width: 50px"
|
||||
@@ -1911,19 +2062,31 @@ export default {
|
||||
dropdownClassName="tabledropdown"
|
||||
>
|
||||
<a-select-option value="撤回" label="撤回">
|
||||
<div onClick={() => {
|
||||
showBackModal();
|
||||
}}>撤回</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showBackModal();
|
||||
}}
|
||||
>
|
||||
撤回
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="结束" label="结束">
|
||||
<div onClick={() => {
|
||||
showStopModal();
|
||||
}}>结束</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showStopModal();
|
||||
}}
|
||||
>
|
||||
结束
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="存为模板" label="存为模板">
|
||||
<div onClick={() => {
|
||||
showStartModal();
|
||||
}}>存为模板</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showStartModal();
|
||||
}}
|
||||
>
|
||||
存为模板
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="基础信息" label="基础信息">
|
||||
<router-link to="/taskpage">基础信息</router-link>
|
||||
@@ -1983,9 +2146,14 @@ export default {
|
||||
{value.state === "草稿" ? (
|
||||
<span class="operation3">发布</span>
|
||||
) : (
|
||||
<span class="operation3" onClick={() => {
|
||||
showCopyModal();
|
||||
}}>复制</span>
|
||||
<span
|
||||
class="operation3"
|
||||
onClick={() => {
|
||||
showCopyModal();
|
||||
}}
|
||||
>
|
||||
复制
|
||||
</span>
|
||||
)}
|
||||
<div class="tableSelect">
|
||||
{value.state === "草稿" ? (
|
||||
@@ -1996,23 +2164,31 @@ export default {
|
||||
dropdownClassName="tabledropdown"
|
||||
>
|
||||
<a-select-option value="复制" label="复制">
|
||||
<div onClick={() => {
|
||||
showCopyModal();
|
||||
}}>复制</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showCopyModal();
|
||||
}}
|
||||
>
|
||||
复制
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="删除" label="删除">
|
||||
<div
|
||||
onClick={() => {
|
||||
showDeleteModal();
|
||||
}}
|
||||
showDeleteModal();
|
||||
}}
|
||||
>
|
||||
删除
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="存为模板" label="存为模板">
|
||||
<div onClick={() => {
|
||||
showStartModal();
|
||||
}}>存为模板</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showStartModal();
|
||||
}}
|
||||
>
|
||||
存为模板
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="基础信息" label="基础信息">
|
||||
<router-link to="/taskpage">基础信息</router-link>
|
||||
@@ -2026,23 +2202,31 @@ export default {
|
||||
dropdownClassName="tabledropdown"
|
||||
>
|
||||
<a-select-option value="存为模板" label="存为模板">
|
||||
<div onClick={() => {
|
||||
showStartModal();
|
||||
}}>存为模板</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showStartModal();
|
||||
}}
|
||||
>
|
||||
存为模板
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="结束" label="结束">
|
||||
<div
|
||||
onClick={() => {
|
||||
showStopModal();
|
||||
}}
|
||||
showStopModal();
|
||||
}}
|
||||
>
|
||||
结束
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="撤回" label="撤回">
|
||||
<div onClick={() => {
|
||||
showBackModal();
|
||||
}}>撤回</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showBackModal();
|
||||
}}
|
||||
>
|
||||
撤回
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="基础信息" label="基础信息">
|
||||
<router-link to="/taskpage">基础信息</router-link>
|
||||
@@ -2056,15 +2240,19 @@ export default {
|
||||
dropdownClassName="tabledropdown"
|
||||
>
|
||||
<a-select-option value="存为模板" label="存为模板">
|
||||
<div onClick={() => {
|
||||
showStartModal();
|
||||
}}>存为模板</div>
|
||||
<div
|
||||
onClick={() => {
|
||||
showStartModal();
|
||||
}}
|
||||
>
|
||||
存为模板
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option value="删除" label="删除">
|
||||
<div
|
||||
onClick={() => {
|
||||
showDeleteModal();
|
||||
}}
|
||||
showDeleteModal();
|
||||
}}
|
||||
>
|
||||
删除
|
||||
</div>
|
||||
@@ -2082,6 +2270,7 @@ export default {
|
||||
}
|
||||
});
|
||||
state.tableData = data;
|
||||
console.log("tableData", state.tableData);
|
||||
};
|
||||
getTableDate();
|
||||
|
||||
|
||||
@@ -794,7 +794,6 @@
|
||||
<a-tab-pane key="5" tab="项目积分">
|
||||
<ProjectScore></ProjectScore>
|
||||
</a-tab-pane>
|
||||
|
||||
<a-tab-pane key="6" tab="排行榜">
|
||||
<div class="content6">
|
||||
<div class="title">排行榜</div>
|
||||
|
||||
@@ -1,68 +1,65 @@
|
||||
<template>
|
||||
<div class="templatelibrary">
|
||||
<div class="tmpl">
|
||||
<div class="tmpl_header">
|
||||
<div class="tmplh_inp">
|
||||
<div class="inpbox">
|
||||
<div class="inpbox1">
|
||||
<span>模版名称:</span>
|
||||
<a-input
|
||||
v-model:value="value1"
|
||||
style="
|
||||
width: 270px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
margin-right: 14px;
|
||||
"
|
||||
placeholder="请输入项目名称"
|
||||
/>
|
||||
</div>
|
||||
<div class="inpbox1">
|
||||
<span>创建时间:</span>
|
||||
<a-date-picker
|
||||
v-model="selectTime"
|
||||
type="date"
|
||||
placeholder="创建时间"
|
||||
style="width: 270px; margin-right: 14px"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tmpl_header">
|
||||
<div class="tmplh_inp">
|
||||
<div class="inpbox">
|
||||
<div class="inpbox1">
|
||||
<span>模版名称:</span>
|
||||
<a-input
|
||||
v-model:value="value1"
|
||||
style="
|
||||
width: 270px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
margin-right: 14px;
|
||||
"
|
||||
placeholder="请输入项目名称"
|
||||
/>
|
||||
</div>
|
||||
<div class="tmplh_btn">
|
||||
<div class="btn btn1">
|
||||
<div class="search"></div>
|
||||
<div class="btnText btnText1">搜索</div>
|
||||
</div>
|
||||
<div class="btn btn2">
|
||||
<div class="search"></div>
|
||||
<div class="btnText btnText2">重置</div>
|
||||
</div>
|
||||
<div class="inpbox1">
|
||||
<span>创建时间:</span>
|
||||
<a-date-picker
|
||||
v-model="selectTime"
|
||||
type="date"
|
||||
placeholder="创建时间"
|
||||
style="width: 270px; margin-right: 14px"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tmpl_body">
|
||||
<div class="tmpl_tabbox">
|
||||
<a-table
|
||||
:columns="columns1"
|
||||
:data-source="tableData1"
|
||||
:loading="tableDataTotal === -1 ? true : false"
|
||||
expandRowByClick="true"
|
||||
@expand="expandTable"
|
||||
:pagination="false"
|
||||
/>
|
||||
</div>
|
||||
<div class="tmplh_btn">
|
||||
<div class="btn btn1">
|
||||
<div class="search"></div>
|
||||
<div class="btnText btnText1">搜索</div>
|
||||
</div>
|
||||
<div class="btn btn2">
|
||||
<div class="search"></div>
|
||||
<div class="btnText btnText2">重置</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tmpl_body">
|
||||
<div class="tmpl_tabbox">
|
||||
<a-table
|
||||
:columns="columns1"
|
||||
:data-source="tableData1"
|
||||
:loading="tableDataTotal === -1 ? true : false"
|
||||
expandRowByClick="true"
|
||||
@expand="expandTable"
|
||||
:pagination="false"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { reactive, defineComponent, toRefs } from "vue";
|
||||
|
||||
const columns1 = [
|
||||
|
||||
{
|
||||
title: "模版名称",
|
||||
width: '20%',
|
||||
width: "20%",
|
||||
dataIndex: "name",
|
||||
key: "name",
|
||||
ellipsis: true,
|
||||
@@ -70,247 +67,251 @@ const columns1 = [
|
||||
},
|
||||
{
|
||||
title: "状态",
|
||||
width: '15%',
|
||||
width: "15%",
|
||||
dataIndex: "status",
|
||||
key: "status",
|
||||
align: "center",
|
||||
},
|
||||
|
||||
{
|
||||
title: "创建人",
|
||||
width: '18%',
|
||||
width: "18%",
|
||||
dataIndex: "creator",
|
||||
key: "creator",
|
||||
align: "center",
|
||||
},
|
||||
{
|
||||
title: "最近学习时间",
|
||||
width: '25%',
|
||||
width: "25%",
|
||||
dataIndex: "stutime",
|
||||
key: "stutime",
|
||||
align: "center",
|
||||
},
|
||||
{
|
||||
title: "操作",
|
||||
width: '22%',
|
||||
width: "22%",
|
||||
className: "h",
|
||||
dataIndex: "operation",
|
||||
key: "operation",
|
||||
align: "center",
|
||||
},
|
||||
];
|
||||
|
||||
export default defineComponent({
|
||||
name: "TemplateLibrary",
|
||||
setup() {
|
||||
const state = reactive({
|
||||
tableData1: [
|
||||
{
|
||||
key: "1",
|
||||
name: "管理者进阶-腾飞班Z1",
|
||||
status: "已发布",
|
||||
creator: "李部长",
|
||||
stutime: "2022-10-31 23:12:00",
|
||||
operation: "operation",
|
||||
},
|
||||
{
|
||||
key: "2",
|
||||
name: "管理者进阶-腾飞班Z2",
|
||||
status: "已发布",
|
||||
creator: "毛继禹",
|
||||
stutime: "2022-10-31 23:12:00",
|
||||
operation: "operation",
|
||||
},
|
||||
{
|
||||
key: "3",
|
||||
name: "管理者进阶-腾飞班Z3",
|
||||
status: "已发布",
|
||||
creator: "毛继禹",
|
||||
stutime: "2022-10-31 23:12:00",
|
||||
operation: "operation",
|
||||
},
|
||||
{
|
||||
key: "4",
|
||||
name: "管理者进阶-腾飞班Z4",
|
||||
status: "未发布",
|
||||
creator: "毛继禹",
|
||||
stutime: "2022-10-31 23:12:00",
|
||||
operation: "operation",
|
||||
},
|
||||
],
|
||||
});
|
||||
const getTableDate1 = () => {
|
||||
let data = state.tableData1;
|
||||
data.map((value) => {
|
||||
{
|
||||
//单层项目
|
||||
value.operation = (
|
||||
<div class="operation" style="justify-content: flex-end;">
|
||||
<div class="nSelect">
|
||||
{value.status === "已发布" ? (
|
||||
<div class="nselect">
|
||||
<div class="ops2">
|
||||
<router-link to="/libraryadd">
|
||||
<div class="jc">查看 <span style="color:#E9E9E9;margin-left:8px;">|</span></div>
|
||||
</router-link>
|
||||
name: "TemplateLibrary",
|
||||
setup() {
|
||||
const state = reactive({
|
||||
tableData1: [
|
||||
{
|
||||
key: "1",
|
||||
name: "管理者进阶-腾飞班Z1",
|
||||
status: "已发布",
|
||||
creator: "李部长",
|
||||
stutime: "2022-10-31 23:12:00",
|
||||
operation: "operation",
|
||||
},
|
||||
{
|
||||
key: "2",
|
||||
name: "管理者进阶-腾飞班Z2",
|
||||
status: "已发布",
|
||||
creator: "毛继禹",
|
||||
stutime: "2022-10-31 23:12:00",
|
||||
operation: "operation",
|
||||
},
|
||||
{
|
||||
key: "3",
|
||||
name: "管理者进阶-腾飞班Z3",
|
||||
status: "已发布",
|
||||
creator: "毛继禹",
|
||||
stutime: "2022-10-31 23:12:00",
|
||||
operation: "operation",
|
||||
},
|
||||
{
|
||||
key: "4",
|
||||
name: "管理者进阶-腾飞班Z4",
|
||||
status: "未发布",
|
||||
creator: "毛继禹",
|
||||
stutime: "2022-10-31 23:12:00",
|
||||
operation: "operation",
|
||||
},
|
||||
],
|
||||
});
|
||||
const getTableDate1 = () => {
|
||||
let data = state.tableData1;
|
||||
data.map((value) => {
|
||||
{
|
||||
//单层项目
|
||||
value.operation = (
|
||||
<div class="operation" style="justify-content: flex-end;">
|
||||
<div class="nSelect">
|
||||
{value.status === "已发布" ? (
|
||||
<div class="nselect">
|
||||
<div class="ops2">
|
||||
<router-link to="/libraryadd">
|
||||
<div class="jc">
|
||||
查看{" "}
|
||||
<span style="color:#E9E9E9;margin-left:8px;">|</span>
|
||||
</div>
|
||||
<div class="ops3">
|
||||
<div class="jc">撤回</div>
|
||||
</div>
|
||||
</div>
|
||||
) : (
|
||||
<div></div>
|
||||
)}
|
||||
{value.status === "未发布" ? (
|
||||
<div class="nselect">
|
||||
<div class="ops1">
|
||||
<div class="jc">发布<span style="color:#E9E9E9;margin-left:8px;">|</span></div>
|
||||
</div>
|
||||
<div class="ops2">
|
||||
<router-link to="/libraryadd">
|
||||
<div class="jc">查看<span style="color:#E9E9E9;margin-left:8px;">|</span></div>
|
||||
</router-link>
|
||||
</div>
|
||||
<div class="ops3">
|
||||
<div class="jc">删除</div>
|
||||
</div>
|
||||
</div>
|
||||
) : (
|
||||
<div></div>
|
||||
)}
|
||||
</router-link>
|
||||
</div>
|
||||
<div class="ops3">
|
||||
<div class="jc">撤回</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
});
|
||||
state.tableData = data;
|
||||
};
|
||||
getTableDate1();
|
||||
return {
|
||||
...toRefs(state),
|
||||
columns1,
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.templatelibrary{
|
||||
width: 100%;
|
||||
.tmpl{
|
||||
width:100%;
|
||||
.tmpl_header{
|
||||
display:flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 32px;
|
||||
|
||||
margin-left: 32px;
|
||||
margin-right: 32px;
|
||||
.tmplh_inp{
|
||||
.inpbox{
|
||||
display: flex;
|
||||
margin-top: 32px;
|
||||
.inpbox1{
|
||||
display:flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin-right: 24px;
|
||||
span{
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.tmplh_btn{
|
||||
display: flex;
|
||||
margin-left: 38px;
|
||||
margin-top: 32px;
|
||||
.btn {
|
||||
padding: 0px 26px 0px 26px;
|
||||
height: 38px;
|
||||
border-radius: 8px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-left: 14px;
|
||||
flex-shrink: 0;
|
||||
.search {
|
||||
background-size: 100%;
|
||||
}
|
||||
.btnText {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 36px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.btnText1{
|
||||
color: rgb(255, 255, 255);
|
||||
}
|
||||
.btnText2{
|
||||
color: rgba(64, 158, 255, 1);
|
||||
}
|
||||
}
|
||||
.btn1 {
|
||||
background: #409EFF;
|
||||
.search {
|
||||
width: 15px;
|
||||
height: 17px;
|
||||
background-image: url("../../assets/images/courseManage/search0.png");
|
||||
}
|
||||
}
|
||||
.btn2 {
|
||||
background: #FFFFFF;
|
||||
border: 1px solid #388BE1;
|
||||
.search {
|
||||
width: 16px;
|
||||
height: 18px;
|
||||
background-image: url("../../assets/images/courseManage/reset1.png");
|
||||
}
|
||||
}
|
||||
.btn1:hover {
|
||||
background: rgb(255, 255, 255);
|
||||
border: 1px solid #388BE1;
|
||||
.search {
|
||||
background-image: url("../../assets/images/courseManage/search1.png");
|
||||
}
|
||||
.btnText {
|
||||
color: rgba(64, 158, 255, 1);
|
||||
}
|
||||
}
|
||||
.btn2:hover {
|
||||
background: rgba(64, 158, 255, 1);
|
||||
.search {
|
||||
background-image: url("../../assets/images/courseManage/reset0.png");
|
||||
}
|
||||
.btnText {
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.tmpl_body{
|
||||
.tmpl_tabbox{
|
||||
.operation {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: #4ea6ff;
|
||||
.nselect {
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
display: flex;
|
||||
.jc {
|
||||
margin-left: 20px;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</div>
|
||||
) : (
|
||||
<div></div>
|
||||
)}
|
||||
{value.status === "未发布" ? (
|
||||
<div class="nselect">
|
||||
<div class="ops1">
|
||||
<div class="jc">
|
||||
发布
|
||||
<span style="color:#E9E9E9;margin-left:8px;">|</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ops2">
|
||||
<router-link to="/libraryadd">
|
||||
<div class="jc">
|
||||
查看
|
||||
<span style="color:#E9E9E9;margin-left:8px;">|</span>
|
||||
</div>
|
||||
</router-link>
|
||||
</div>
|
||||
<div class="ops3">
|
||||
<div class="jc">删除</div>
|
||||
</div>
|
||||
</div>
|
||||
) : (
|
||||
<div></div>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
});
|
||||
state.tableData = data;
|
||||
};
|
||||
getTableDate1();
|
||||
return {
|
||||
...toRefs(state),
|
||||
columns1,
|
||||
};
|
||||
},
|
||||
});
|
||||
</script>
|
||||
<style lang="scss">
|
||||
.templatelibrary {
|
||||
width: 100%;
|
||||
.tmpl {
|
||||
width: 100%;
|
||||
.tmpl_header {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 32px;
|
||||
|
||||
margin-left: 32px;
|
||||
margin-right: 32px;
|
||||
.tmplh_inp {
|
||||
.inpbox {
|
||||
display: flex;
|
||||
margin-top: 32px;
|
||||
.inpbox1 {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin-right: 24px;
|
||||
span {
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.tmplh_btn {
|
||||
display: flex;
|
||||
margin-left: 38px;
|
||||
margin-top: 32px;
|
||||
.btn {
|
||||
padding: 0px 26px 0px 26px;
|
||||
height: 38px;
|
||||
border-radius: 8px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-left: 14px;
|
||||
flex-shrink: 0;
|
||||
.search {
|
||||
background-size: 100%;
|
||||
}
|
||||
.btnText {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 36px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
.btnText1 {
|
||||
color: rgb(255, 255, 255);
|
||||
}
|
||||
.btnText2 {
|
||||
color: rgba(64, 158, 255, 1);
|
||||
}
|
||||
}
|
||||
.btn1 {
|
||||
background: #409eff;
|
||||
.search {
|
||||
width: 15px;
|
||||
height: 17px;
|
||||
background-image: url("../../assets/images/courseManage/search0.png");
|
||||
}
|
||||
}
|
||||
.btn2 {
|
||||
background: #ffffff;
|
||||
border: 1px solid #388be1;
|
||||
.search {
|
||||
width: 16px;
|
||||
height: 18px;
|
||||
background-image: url("../../assets/images/courseManage/reset1.png");
|
||||
}
|
||||
}
|
||||
.btn1:hover {
|
||||
background: rgb(255, 255, 255);
|
||||
border: 1px solid #388be1;
|
||||
.search {
|
||||
background-image: url("../../assets/images/courseManage/search1.png");
|
||||
}
|
||||
.btnText {
|
||||
color: rgba(64, 158, 255, 1);
|
||||
}
|
||||
}
|
||||
.btn2:hover {
|
||||
background: rgba(64, 158, 255, 1);
|
||||
.search {
|
||||
background-image: url("../../assets/images/courseManage/reset0.png");
|
||||
}
|
||||
.btnText {
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
.tmpl_body {
|
||||
.tmpl_tabbox {
|
||||
.operation {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: #4ea6ff;
|
||||
.nselect {
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
display: flex;
|
||||
.jc {
|
||||
margin-left: 20px;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -7,7 +7,7 @@ module.exports = defineConfig({
|
||||
target: "http://111.231.196.214:30001/",
|
||||
changeOrigin: true,
|
||||
secure: false,
|
||||
ws: true,
|
||||
ws: false,
|
||||
pathRewrite: {
|
||||
"^/api": "",
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user