This commit is contained in:
zhangyc
2022-10-25 15:32:33 +08:00
24 changed files with 2053 additions and 773 deletions

55
src/api/index1.js Normal file
View 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)
// })

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 B

View File

@@ -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);
;
}
//隐藏滚动条----------------------------------------------------------------
//禁止选中----------------------------------------------------------

View File

@@ -79,7 +79,7 @@
const columns1 = [
{
title: "案例标题",
width: "35%",
width: "40%",
dataIndex: "title",
key: "num",
align: "center",
@@ -94,7 +94,7 @@
},
{
title: "导入时间",
width: "40%",
width: "35%",
dataIndex: "time",
key: "time",
align: "center",

View File

@@ -3,7 +3,7 @@
:visible="AddImpStuvisible"
class="drawerStyle AddLevelImpStu"
placement="right"
width="40%"
width="800px"
@after-visible-change="afterVisibleChange"
>
<div class="drawerMain">
@@ -132,9 +132,8 @@ export default {
<style lang="scss" >
.AddLevelImpStu {
.drawerMain {
min-width: 600px;
min-width: 450px;
margin: 0px 32px 0px 32px;
overflow-x: scroll;
display: flex;
flex-direction: column;
.header {
@@ -143,6 +142,7 @@ export default {
display: flex;
justify-content: space-between;
align-items: center;
flex-shrink: 0;
// background-color: red;
margin-bottom: 20px;
.headerTitle {
@@ -154,6 +154,7 @@ export default {
}
}
.main {
overflow: scroll;
.minatitl {
display: flex;
.up1 {
@@ -175,6 +176,7 @@ export default {
font-size: 14px;
font-weight: 400;
color: #333333;
white-space: nowrap;
}
.right {
margin-left: 6px;

View File

@@ -20,7 +20,7 @@
<div class="secondrow">
<a-select
v-model:value="value"
style="width: 264px;border-radius: 8px"
style="width: 264px; border-radius: 8px"
placeholder="好好学习"
:options="stugroupList"
/>
@@ -32,7 +32,6 @@
</div>
</div>
</a-drawer>
</template>
<script>
@@ -83,9 +82,8 @@ export default {
};
</script>
<style lang="scss" >
<style lang="scss">
.changegroup {
.drawerMain {
min-width: 600px;
margin: 0px 32px 0px 32px;
@@ -125,7 +123,6 @@ export default {
}
.ant-select-selection-search-input {
height: 40px;
}
}
}

View File

@@ -145,6 +145,7 @@ export default {
align-items: center;
// background-color: red;
margin-bottom: 20px;
flex-shrink: 0;
.headerTitle {
font-size: 18px;
font-weight: 600;

View File

@@ -71,7 +71,7 @@
:data-source="tabledata"
:loading="tableDataTotal === -1 ? true : false"
expandRowByClick="true"
:scroll="{ x: 900, y: 560 }"
:scroll="{ x: 900 }"
@expand="expandTable"
:pagination="false"
:row-selection="{
@@ -324,7 +324,7 @@ export default {
height: 100%;
// background-color: #bfa;
// overflow-y: auto;
overflow-y: auto;
.endtime {
font-size: 16px;
font-weight: 500;

View File

@@ -48,7 +48,7 @@
:loading="tableDataTotal === -1 ? true : false"
expandRowByClick="true"
@expand="expandTable"
:scroll="{ x: 900, y: 400 }"
:scroll="{ x: 900}"
:pagination="false"
:row-selection="{
columnWidth: 30,
@@ -481,13 +481,13 @@ export default {
width: 100%;
// height: 100%;
// background-color: #bfa;
// overflow-y: auto;
overflow-y: auto;
.search {
width: 100%;
display: flex;
flex-wrap: wrap;
margin-top: 10px;
justify-content: space-between;
//justify-content: space-between;
.leftchoose {
display: flex;
margin-right: 20px;
@@ -538,15 +538,15 @@ export default {
}
.btn1 {
background: #388be1;
background: #409EFF;
color: #ffffff;
}
.btn2 {
background: #ffffff;
color: #388be1;
border: 1px solid #388be1;
color: #409EFF;
border: 1px solid #409EFF;
}
}
}
@@ -599,6 +599,12 @@ export default {
// position: absolute;
// bottom: 20px;
// margin-bottom: 20px;
.ant-pagination-prev, .ant-pagination-next,.ant-pagination-options {
margin-bottom: 10px;
}
.ant-pagination-item {
margin-bottom: 10px;
}
}
// .tab {
// .ant-table-thead > tr > th {

View File

@@ -494,14 +494,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;
}
}

View File

@@ -69,7 +69,7 @@
:data-source="tabledata"
:loading="tableDataTotal === -1 ? true : false"
expandRowByClick="true"
:scroll="{ x: 500, y: 560 }"
:scroll="{ x: 500}"
@expand="expandTable"
:pagination="false"
:row-selection="{
@@ -148,7 +148,7 @@
:data-source="tabledata1"
:loading="tableDataTotal === -1 ? true : false"
expandRowByClick="true"
:scroll="{ x: 500, y: 560 }"
:scroll="{ x: 500 }"
@expand="expandTable"
:pagination="false"
:row-selection="{
@@ -229,7 +229,7 @@
:data-source="tabledata2"
:loading="tableDataTotal === -1 ? true : false"
expandRowByClick="true"
:scroll="{ x: 500, y: 560 }"
:scroll="{ x: 500 }"
@expand="expandTable"
:pagination="false"
:row-selection="{

View File

@@ -17,7 +17,9 @@
</div>
<div class="main">
<div class="stuinfor">
<div class="portrait"><img src="../../assets/images/studentimg/character.png"/></div>
<div class="portrait">
<img src="../../assets/images/studentimg/character.png" />
</div>
<div class="stumation">
<div class="stuname">王明</div>
<div class="stugangw">产研部门 - 产品经理</div>
@@ -29,7 +31,14 @@
<span class="total">/10</span>
</div>
</div>
<a-divider type="vertical" style="height: 49px;margin-left: 34px; background-color: rgba(170, 166, 166, 0.3)" />
<a-divider
type="vertical"
style="
height: 49px;
margin-left: 34px;
background-color: rgba(170, 166, 166, 0.3);
"
/>
<div class="sortbox" style="margin-left: 34px">
<div class="sortname">完成必修</div>
<div class="sortnub">
@@ -37,7 +46,14 @@
<span class="total">/10</span>
</div>
</div>
<a-divider type="vertical" style="height: 49px;margin-left: 34px; background-color: rgba(170, 166, 166, 0.3)" />
<a-divider
type="vertical"
style="
height: 49px;
margin-left: 34px;
background-color: rgba(170, 166, 166, 0.3);
"
/>
<div class="sortbox" style="margin-left: 34px">
<div class="sortname">已修证书</div>
<div class="sortnub">
@@ -49,77 +65,171 @@
<div class="rowleft">产品经理管理 - 腾飞班1</div>
<div class="rowbox" @click="showProMess">
<div class="shuom">说明</div>
<div><img src="../../assets/images/studentimg/chak.png"/></div>
<div><img src="../../assets/images/studentimg/chak.png" /></div>
</div>
</div>
<div class="mainbox">
<div class="rowtitle">
<div class="titleimg"><img src="../../assets/images/studentimg/open.png"/></div>
<div class="rowtitle" @click="changeDown">
<div class="titleimg">
<img
:src="
showDown
? require('../../assets/images/studentimg/open.png')
: require('../../assets/images/studentimg/close.png')
"
/>
</div>
<div class="titletext">阶段1 腾飞班阶段1</div>
</div>
<div :style="{ display: showDown ? 'block' : 'none' }">
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/zai.png"/></div>
<div><img src="../../assets/images/leveladd/zai.png" /></div>
<div class="text1">在线</div>
<div class="text2">如何成为一个产品经理</div>
</div>
<div class="alreadyclass">
<div class="alimg"><img src="../../assets/images/studentimg/complete.png"/></div>
<div class="alimg">
<img src="../../assets/images/studentimg/complete.png" />
</div>
<div class="altext">已完成</div>
</div>
</div>
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/zhi.png"/></div>
<div><img src="../../assets/images/leveladd/zhi.png" /></div>
<div class="text1">直播</div>
<div class="text2">管理者播课</div>
</div>
<div class="alreadyclass">
<div class="alimg"><img src="../../assets/images/studentimg/complete.png"/></div>
<div class="alimg">
<img src="../../assets/images/studentimg/complete.png" />
</div>
<div class="altext">已完成</div>
</div>
</div>
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/mian.png"/></div>
<div><img src="../../assets/images/leveladd/mian.png" /></div>
<div class="text1">面授</div>
<div class="text2">管理面授课</div>
</div>
<div class="alreadyclass">
<div class="alimg"><img src="../../assets/images/studentimg/notice.png"/></div>
<div class="alimg">
<img src="../../assets/images/studentimg/notice.png" />
</div>
<div class="altext">未完成</div>
</div>
</div>
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/huo.png"/></div>
<div><img src="../../assets/images/leveladd/huo.png" /></div>
<div class="text1">活动</div>
<div class="text2">管理者活动</div>
</div>
<div class="alreadyclass">
<div class="alimg"><img src="../../assets/images/studentimg/notice.png"/></div>
<div class="alimg">
<img src="../../assets/images/studentimg/notice.png" />
</div>
<div class="altext">未完成</div>
</div>
</div>
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/zuo.png"/></div>
<div><img src="../../assets/images/leveladd/zuo.png" /></div>
<div class="text1">作业</div>
<div class="text2">管理者作业</div>
</div>
<div class="alreadyclass">
<div class="alimg"><img src="../../assets/images/studentimg/notice.png"/></div>
<div class="alimg">
<img src="../../assets/images/studentimg/notice.png" />
</div>
<div class="altext">未完成</div>
</div>
</div>
</div>
<div class="mainbox" style="margin-top: 15px; height: 56px">
<div class="rowtitle">
<div class="titleimg"><img src="../../assets/images/studentimg/close.png"/></div>
</div>
<div class="mainbox">
<div class="rowtitle" @click="changeDown1">
<div class="titleimg">
<img
:src="
showDown1
? require('../../assets/images/studentimg/open.png')
: require('../../assets/images/studentimg/close.png')
"
/>
</div>
<div class="titletext">阶段2 腾飞班阶段2</div>
</div>
<div :style="{ display: showDown1 ? 'block' : 'none' }">
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/zai.png" /></div>
<div class="text1">在线</div>
<div class="text2">如何成为一个产品经理</div>
</div>
<div class="alreadyclass">
<div class="alimg">
<img src="../../assets/images/studentimg/complete.png" />
</div>
<div class="altext">已完成</div>
</div>
</div>
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/zhi.png" /></div>
<div class="text1">直播</div>
<div class="text2">管理者播课</div>
</div>
<div class="alreadyclass">
<div class="alimg">
<img src="../../assets/images/studentimg/complete.png" />
</div>
<div class="altext">已完成</div>
</div>
</div>
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/mian.png" /></div>
<div class="text1">面授</div>
<div class="text2">管理面授课</div>
</div>
<div class="alreadyclass">
<div class="alimg">
<img src="../../assets/images/studentimg/notice.png" />
</div>
<div class="altext">未完成</div>
</div>
</div>
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/huo.png" /></div>
<div class="text1">活动</div>
<div class="text2">管理者活动</div>
</div>
<div class="alreadyclass">
<div class="alimg">
<img src="../../assets/images/studentimg/notice.png" />
</div>
<div class="altext">未完成</div>
</div>
</div>
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/zuo.png" /></div>
<div class="text1">作业</div>
<div class="text2">管理者作业</div>
</div>
<div class="alreadyclass">
<div class="alimg">
<img src="../../assets/images/studentimg/notice.png" />
</div>
<div class="altext">未完成</div>
</div>
</div>
</div>
</div>
</div>
<div class="btnn">
<button class="btn2">关闭</button>
@@ -144,6 +254,8 @@ export default {
setup(props, ctx) {
const state = reactive({
Provisible: false,
showDown: true,
showDown1: false,
});
const closeDrawer = () => {
ctx.emit("update:Seevisible", false);
@@ -155,12 +267,19 @@ export default {
const afterVisibleChange = (bool) => {
console.log("state", bool);
};
const changeDown = () => {
state.showDown = !state.showDown;
};
const changeDown1 = () => {
state.showDown1 = !state.showDown1;
};
return {
...toRefs(state),
afterVisibleChange,
closeDrawer,
showProMess,
changeDown,
changeDown1,
// change,
};
},
@@ -192,6 +311,7 @@ export default {
align-items: center;
// background-color: red;
margin-bottom: 20px;
flex-shrink: 0;
.headerTitle {
font-size: 18px;
font-weight: 600;
@@ -203,6 +323,8 @@ export default {
.main {
display: flex;
flex-direction: column;
overflow-y: auto;
padding-bottom: 80px;
.stuinfor {
display: flex;
align-items: center;
@@ -238,7 +360,7 @@ export default {
justify-content: center;
margin-top: 7px;
.nub1 {
color: #0060FF;
color: #0060ff;
font-size: 22px;
}
.total {
@@ -274,7 +396,7 @@ export default {
}
}
.mainbox {
height: 463px;
// height: 463px;
margin-right: 37px;
margin-top: 32px;
border: 1px solid rgba(221, 238, 255, 1);
@@ -339,6 +461,7 @@ export default {
width: 100%;
position: absolute;
bottom: 0;
background-color: #fff;
left: 0;
display: flex;
align-items: center;

View File

@@ -72,7 +72,7 @@
:data-source="tabledata"
:loading="tableDataTotal === -1 ? true : false"
expandRowByClick="true"
:scroll="{ x: 500, y: 560 }"
:scroll="{ x: 500 }"
@expand="expandTable"
:pagination="false"
:row-selection="{
@@ -156,7 +156,7 @@
:data-source="tabledata1"
:loading="tableDataTotal === -1 ? true : false"
expandRowByClick="true"
:scroll="{ x: 500, y: 560 }"
:scroll="{ x: 500}"
@expand="expandTable"
:pagination="false"
:row-selection="{
@@ -246,7 +246,7 @@
:data-source="tabledata2"
:loading="tableDataTotal === -1 ? true : false"
expandRowByClick="true"
:scroll="{ x: 500, y: 560 }"
:scroll="{ x: 500 }"
@expand="expandTable"
:pagination="false"
:row-selection="{
@@ -1073,7 +1073,7 @@ export default {
}
.main {
display: flex;
// height: 80%;
//height: 80%;
margin-bottom: 72px;
overflow-y: auto;
.left {
@@ -1274,7 +1274,8 @@ export default {
// bottom: 20px;
.ant-pagination-item,
.ant-pagination-prev,
.ant-pagination-next {
.ant-pagination-next,
.ant-pagination-options {
margin-bottom: 10px;
}
}

View File

@@ -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;

View File

@@ -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"
/>

View File

@@ -6,7 +6,7 @@ const routes = [
{
path: '/',
name: '首页',
redirect: routesConfig[0].path
redirect: '/learningpath'
},
...routesConfig
]

View File

@@ -53,7 +53,6 @@
</div>
<div class="btns">
<!-- <router-link to="/projectadd">
<div class="btn btn3">
<div class="search"></div>
@@ -67,6 +66,17 @@
</div>
</div>
<!-- 搜索框及按钮 -->
<!-- 无数据 -->
<div class="datanull" style="display: none">
<div class="nodata_box">
<div class="left"><img src="../../assets/images/taskpage/left1.png"/></div>
<div class="center"><img src="../../assets/images/leveladd/picture.png"/></div>
<div class="text1">无数据</div>
<div class="text2">请添加路径</div>
<div class="right"><img src="../../assets/images/leveladd/right.png"/></div>
</div>
</div>
<!-- 无数据 -->
<!-- 表格 -->
<div class="tableBox" style="padding-bottom: 160px; position: relative">
<a-table
@@ -198,7 +208,6 @@
</div></a-modal
>
<!-- 编辑路径弹窗 -->
<a-modal
:closable="sh"
@@ -540,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 },
@@ -790,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);
@@ -877,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>
@@ -1571,6 +1636,56 @@ export default {
flex-direction: column;
position: relative;
// position: relative;
.datanull {
display: flex;
flex: 1;
width: 100%;
//background: red;
justify-content: center;
align-items: center;
.nodata_box {
width: 412px;
height: 212px;
position: relative;
background: linear-gradient(
180deg,
#FEF3DD,
#FFFAF0
);
border-radius: 10px;
.left {
position: absolute;
top: 18px;
left: 0;
}
.center {
position: absolute;
top: 32px;
left: 170px;
}
.text1 {
position: absolute;
top: 128px;
left: 178px;
font-size: 20px;
color: #FFB64E;
font-weight: 500;
}
.text2 {
position: absolute;
bottom: 32px;
left: 174px;
font-size: 14px;
color: #878B92;
font-weight: 500;
}
.right {
position: absolute;
bottom: 18px;
right: 0;
}
}
}
.filter {
margin-left: 38px;
margin-right: 38px;
@@ -1588,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;
@@ -1603,7 +1718,7 @@ export default {
.btnText {
font-size: 14px;
font-weight: 400;
color: #FFFFFF;
color: #ffffff;
line-height: 36px;
margin-left: 5px;
}
@@ -1611,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;
@@ -1626,7 +1741,7 @@ export default {
.btnText {
font-size: 14px;
font-weight: 400;
color: #409EFF;
color: #409eff;
line-height: 36px;
margin-left: 5px;
}
@@ -1655,7 +1770,7 @@ export default {
}
}
.btn1:active {
background: #0982FF;
background: #0982ff;
}
.btn2:hover {
background: rgba(64, 158, 255, 0.1);
@@ -1670,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;
@@ -1685,7 +1800,7 @@ export default {
.btnText {
font-size: 14px;
font-weight: 400;
color: #FFFFFF;
color: #ffffff;
line-height: 36px;
margin-left: 5px;
}
@@ -1708,7 +1823,7 @@ export default {
}
}
.btn3:active {
background: #0982FF;
background: #0982ff;
}
}
}

View File

@@ -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">
@@ -592,10 +592,10 @@
<span class="yulan2">学员可预览第</span
>
<span style="color: #4ea6ff" v-show="number">1</span>
<a-input-number v-model:value="nubvalue" v-show="inputbox" :controls="false" :autofocus="true" :min="1"/>
<a-input-number v-model:value="nubvalue2" v-show="inputbox" :controls="false" :autofocus="true" :min="1"/>
<span>-</span
><span style="color: #4ea6ff" v-show="number">4</span>
<a-input-number v-model:value="nubvalue1" v-show="inputbox" :controls="false" :autofocus="true" :min="1"/>
<a-input-number v-model:value="nubvalue3" v-show="inputbox" :controls="false" :autofocus="true" :min="1"/>
<span>关内容</span>
</div>
</div>
@@ -1021,6 +1021,8 @@ export default {
activeKey: ref("1"),
value: ref(" "),
nubvalue: ref("1"),
nubvalue2: ref("1"),
nubvalue3: ref("4"),
nubvalue1: ref("4"),
checked2: false,
currentPage: 1,

File diff suppressed because it is too large Load Diff

View File

@@ -80,13 +80,6 @@
total: tableDataTotal,
onChange: (page, pageSize) => {
currentPage = page;
// console.log('page', page)
// 加翻页查找代码
// this.setState({
// currentPage: page,
// }, () => {
// this.getMilitaryDeployment()
// })
},
}"
>
@@ -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={() => {
<div
onClick={() => {
showStartModal();
}}>存为模板</div>
}}
>
存为模板
</div>
</a-select-option>
</a-select>
</div>
@@ -1173,9 +1171,14 @@ export default {
</a-select-option>
</a-select>
</div>
<span class="operation3" onClick={() => {
<span
class="operation3"
onClick={() => {
showCopyModal();
}}>复制</span>
}}
>
复制
</span>
<span class="more"></span>
</div>
) : value.state === "已结束" ? (
@@ -1215,12 +1218,22 @@ export default {
</a-select-option>
</a-select>
</div>
<span class="operation3" onClick={() => {
<span
class="operation3"
onClick={() => {
showCopyModal();
}}>复制</span>
<span class="more" onClick={() => {
}}
>
复制
</span>
<span
class="more"
onClick={() => {
showDeleteModal();
}}>删除</span>
}}
>
删除
</span>
</div>
) : (
<div></div>
@@ -1278,14 +1291,22 @@ export default {
dropdownClassName="tabledropdown"
>
<a-select-option value="复制" label="复制">
<div onClick={() => {
<div
onClick={() => {
showCopyModal();
}}>复制</div>
}}
>
复制
</div>
</a-select-option>
<a-select-option value="删除" label="删除">
<div onClick={() => {
<div
onClick={() => {
showDeleteModal();
}}>删除</div>
}}
>
删除
</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={() => {
}}
>
复制
</span>
<span
class="more"
onClick={() => {
showDeleteModal();
}}>删除</span>
}}
>
删除
</span>
</div>
) : (
<div></div>
@@ -1432,19 +1468,31 @@ export default {
dropdownClassName="tabledropdown"
>
<a-select-option value="复制" label="复制">
<div onClick={() => {
<div
onClick={() => {
showCopyModal();
}}>复制</div>
}}
>
复制
</div>
</a-select-option>
<a-select-option value="删除" label="删除">
<div onClick={() => {
<div
onClick={() => {
showDeleteModal();
}}>删除</div>
}}
>
删除
</div>
</a-select-option>
<a-select-option value="存为模板" label="存为模板">
<div onClick={() => {
<div
onClick={() => {
showStartModal();
}}>存为模板</div>
}}
>
存为模板
</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={() => {
<span
class="operation3"
onClick={() => {
showCopyModal();
}}>复制</span>
}}
>
复制
</span>
<div class="tableSelect">
<a-select
style="width: 50px"
@@ -1500,19 +1553,31 @@ export default {
dropdownClassName="tabledropdown"
>
<a-select-option value="撤回" label="撤回">
<div onClick={() => {
<div
onClick={() => {
showBackModal();
}}>撤回</div>
}}
>
撤回
</div>
</a-select-option>
<a-select-option value="结束" label="结束">
<div onClick={() => {
<div
onClick={() => {
showStopModal();
}}>结束</div>
}}
>
结束
</div>
</a-select-option>
<a-select-option value="存为模板" label="存为模板">
<div onClick={() => {
<div
onClick={() => {
showStartModal();
}}>存为模板</div>
}}
>
存为模板
</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={() => {
<span
class="operation3"
onClick={() => {
showCopyModal();
}}>复制</span>
<span class="operation3" onClick={() => {
}}
>
复制
</span>
<span
class="operation3"
onClick={() => {
showCopyModal();
}}>复制</span>
}}
>
复制
</span>
<div class="tableSelect">
<a-select
style="width: 50px"
@@ -1571,14 +1646,22 @@ export default {
dropdownClassName="tabledropdown"
>
<a-select-option value="删除" label="删除">
<div onClick={() => {
<div
onClick={() => {
showDeleteModal();
}}>删除</div>
}}
>
删除
</div>
</a-select-option>
<a-select-option value="存为模板" label="存为模板">
<div onClick={() => {
<div
onClick={() => {
showStartModal();
}}>存为模板</div>
}}
>
存为模板
</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={() => {
<span
class="operation3"
onClick={() => {
showCopyModal();
}}>复制</span>
}}
>
复制
</span>
<div class="tableSelect">
<a-select
style="width: 50px"
@@ -1634,19 +1722,31 @@ export default {
dropdownClassName="tabledropdown"
>
<a-select-option value="结束" label="结束">
<div onClick={() => {
<div
onClick={() => {
showStopModal();
}}>结束</div>
}}
>
结束
</div>
</a-select-option>
<a-select-option value="撤回" label="撤回">
<div onClick={() => {
<div
onClick={() => {
showBackModal();
}}>撤回</div>
}}
>
撤回
</div>
</a-select-option>
<a-select-option value="存为模板" label="存为模板">
<div onClick={() => {
<div
onClick={() => {
showStartModal();
}}>存为模板</div>
}}
>
存为模板
</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={() => {
<div
onClick={() => {
showCopyModal();
}}>复制</div>
}}
>
复制
</div>
</a-select-option>
<a-select-option value="删除" label="删除">
<div onClick={() => {
<div
onClick={() => {
showDeleteModal();
}}>删除</div>
}}
>
删除
</div>
</a-select-option>
<a-select-option value="存为模板" label="存为模板">
<div onClick={() => {
<div
onClick={() => {
showStartModal();
}}>存为模板</div>
}}
>
存为模板
</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={() => {
<div
onClick={() => {
showBackModal();
}}>撤回</div>
}}
>
撤回
</div>
</a-select-option>
<a-select-option value="结束" label="结束">
<div onClick={() => {
<div
onClick={() => {
showStopModal();
}}>结束</div>
}}
>
结束
</div>
</a-select-option>
<a-select-option value="存为模板" label="存为模板">
<div onClick={() => {
<div
onClick={() => {
showStartModal();
}}>存为模板</div>
}}
>
存为模板
</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={() => {
<div
onClick={() => {
showDeleteModal();
}}>删除</div>
}}
>
删除
</div>
</a-select-option>
<a-select-option value="结束" label="结束">
<div onClick={() => {
<div
onClick={() => {
showStopModal();
}}>结束</div>
}}
>
结束
</div>
</a-select-option>
<a-select-option value="存为模板" label="存为模板">
<div onClick={() => {
<div
onClick={() => {
showStartModal();
}}>存为模板</div>
}}
>
存为模板
</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={() => {
<div
onClick={() => {
showBackModal();
}}>撤回</div>
}}
>
撤回
</div>
</a-select-option>
<a-select-option value="结束" label="结束">
<div onClick={() => {
<div
onClick={() => {
showStopModal();
}}>结束</div>
}}
>
结束
</div>
</a-select-option>
<a-select-option value="存为模板" label="存为模板">
<div onClick={() => {
<div
onClick={() => {
showStartModal();
}}>存为模板</div>
}}
>
存为模板
</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={() => {
<span
class="operation3"
onClick={() => {
showCopyModal();
}}>复制</span>
}}
>
复制
</span>
)}
<div class="tableSelect">
{value.state === "草稿" ? (
@@ -1996,9 +2164,13 @@ export default {
dropdownClassName="tabledropdown"
>
<a-select-option value="复制" label="复制">
<div onClick={() => {
<div
onClick={() => {
showCopyModal();
}}>复制</div>
}}
>
复制
</div>
</a-select-option>
<a-select-option value="删除" label="删除">
<div
@@ -2010,9 +2182,13 @@ export default {
</div>
</a-select-option>
<a-select-option value="存为模板" label="存为模板">
<div onClick={() => {
<div
onClick={() => {
showStartModal();
}}>存为模板</div>
}}
>
存为模板
</div>
</a-select-option>
<a-select-option value="基础信息" label="基础信息">
<router-link to="/taskpage">基础信息</router-link>
@@ -2026,9 +2202,13 @@ export default {
dropdownClassName="tabledropdown"
>
<a-select-option value="存为模板" label="存为模板">
<div onClick={() => {
<div
onClick={() => {
showStartModal();
}}>存为模板</div>
}}
>
存为模板
</div>
</a-select-option>
<a-select-option value="结束" label="结束">
<div
@@ -2040,9 +2220,13 @@ export default {
</div>
</a-select-option>
<a-select-option value="撤回" label="撤回">
<div onClick={() => {
<div
onClick={() => {
showBackModal();
}}>撤回</div>
}}
>
撤回
</div>
</a-select-option>
<a-select-option value="基础信息" label="基础信息">
<router-link to="/taskpage">基础信息</router-link>
@@ -2056,9 +2240,13 @@ export default {
dropdownClassName="tabledropdown"
>
<a-select-option value="存为模板" label="存为模板">
<div onClick={() => {
<div
onClick={() => {
showStartModal();
}}>存为模板</div>
}}
>
存为模板
</div>
</a-select-option>
<a-select-option value="删除" label="删除">
<div
@@ -2082,6 +2270,7 @@ export default {
}
});
state.tableData = data;
console.log("tableData", state.tableData);
};
getTableDate();

View File

@@ -542,7 +542,7 @@
:data-source="tabledata"
:loading="tableDataTotal === -1 ? true : false"
expandRowByClick="true"
:scroll="{ x: 1400, y: 350 }"
:scroll="{ x: 1400 }"
@expand="expandTable"
:pagination="false"
:row-selection="{
@@ -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>
@@ -2358,7 +2357,7 @@ export default {
title: "姓名",
dataIndex: "name",
key: "name",
width: 50,
width: 30,
align: "left",
className: "h",
// scopedSlots: { customRender: "action" }, //引入的插槽
@@ -2395,7 +2394,7 @@ export default {
title: "部门",
dataIndex: "bum",
key: "bum",
width: 40,
width: 50,
align: "center",
className: "h",
},
@@ -2403,7 +2402,7 @@ export default {
title: "岗位",
dataIndex: "gangw",
key: "gangw",
width: 40,
width: 50,
align: "center",
className: "h",
},
@@ -2411,7 +2410,7 @@ export default {
title: "所属小组",
dataIndex: "group",
key: "group",
width: 40,
width: 50,
align: "center",
className: "h",
},

View File

@@ -54,15 +54,12 @@
</div>
</div>
</template>
<script>
import { reactive, defineComponent, toRefs } from "vue";
const columns1 = [
{
title: "模版名称",
width: '20%',
width: "20%",
dataIndex: "name",
key: "name",
ellipsis: true,
@@ -70,36 +67,34 @@ 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() {
@@ -151,7 +146,10 @@ export default defineComponent({
<div class="nselect">
<div class="ops2">
<router-link to="/libraryadd">
<div class="jc">查看 <span style="color:#E9E9E9;margin-left:8px;">|</span></div>
<div class="jc">
查看{" "}
<span style="color:#E9E9E9;margin-left:8px;">|</span>
</div>
</router-link>
</div>
<div class="ops3">
@@ -164,11 +162,17 @@ export default defineComponent({
{value.status === "未发布" ? (
<div class="nselect">
<div class="ops1">
<div class="jc">发布<span style="color:#E9E9E9;margin-left:8px;">|</span></div>
<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>
<div class="jc">
查看
<span style="color:#E9E9E9;margin-left:8px;">|</span>
</div>
</router-link>
</div>
<div class="ops3">
@@ -189,42 +193,39 @@ export default defineComponent({
return {
...toRefs(state),
columns1,
}
}
})
};
},
});
</script>
<style lang="scss">
.templatelibrary{
.templatelibrary {
width: 100%;
.tmpl{
width:100%;
.tmpl_header{
display:flex;
.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{
.tmplh_inp {
.inpbox {
display: flex;
margin-top: 32px;
.inpbox1{
display:flex;
.inpbox1 {
display: flex;
justify-content: center;
align-items: center;
margin-right: 24px;
span{
span {
white-space: nowrap;
}
}
}
}
.tmplh_btn{
.tmplh_btn {
display: flex;
margin-left: 38px;
margin-top: 32px;
@@ -246,15 +247,15 @@ export default defineComponent({
line-height: 36px;
margin-left: 5px;
}
.btnText1{
.btnText1 {
color: rgb(255, 255, 255);
}
.btnText2{
.btnText2 {
color: rgba(64, 158, 255, 1);
}
}
.btn1 {
background: #409EFF;
background: #409eff;
.search {
width: 15px;
height: 17px;
@@ -262,8 +263,8 @@ export default defineComponent({
}
}
.btn2 {
background: #FFFFFF;
border: 1px solid #388BE1;
background: #ffffff;
border: 1px solid #388be1;
.search {
width: 16px;
height: 18px;
@@ -272,7 +273,7 @@ export default defineComponent({
}
.btn1:hover {
background: rgb(255, 255, 255);
border: 1px solid #388BE1;
border: 1px solid #388be1;
.search {
background-image: url("../../assets/images/courseManage/search1.png");
}
@@ -291,8 +292,8 @@ export default defineComponent({
}
}
}
.tmpl_body{
.tmpl_tabbox{
.tmpl_body {
.tmpl_tabbox {
.operation {
display: flex;
justify-content: center;
@@ -312,5 +313,5 @@ export default defineComponent({
}
}
}
}
}
</style>

View File

@@ -7,7 +7,7 @@ module.exports = defineConfig({
target: "http://111.231.196.214:30001/",
changeOrigin: true,
secure: false,
ws: true,
ws: false,
pathRewrite: {
"^/api": "",
},