mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-09 02:46:45 +08:00
feat:合并
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)
|
||||
// })
|
||||
BIN
src/assets/images/leveladd/picture.png
Normal file
BIN
src/assets/images/leveladd/picture.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.8 KiB |
BIN
src/assets/images/leveladd/right.png
Normal file
BIN
src/assets/images/leveladd/right.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 164 B |
@@ -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);
|
||||
;
|
||||
}
|
||||
//隐藏滚动条----------------------------------------------------------------
|
||||
|
||||
//禁止选中----------------------------------------------------------
|
||||
|
||||
@@ -79,11 +79,11 @@
|
||||
const columns1 = [
|
||||
{
|
||||
title: "案例标题",
|
||||
width: "35%",
|
||||
width: "40%",
|
||||
dataIndex: "title",
|
||||
key: "num",
|
||||
align: "center",
|
||||
ellipsis: true,
|
||||
ellipsis: true,
|
||||
},
|
||||
{
|
||||
title: "作者",
|
||||
@@ -94,7 +94,7 @@
|
||||
},
|
||||
{
|
||||
title: "导入时间",
|
||||
width: "40%",
|
||||
width: "35%",
|
||||
dataIndex: "time",
|
||||
key: "time",
|
||||
align: "center",
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
:visible="AddImpStuvisible"
|
||||
class="drawerStyle AddLevelImpStu"
|
||||
placement="right"
|
||||
width="40%"
|
||||
width="800px"
|
||||
@after-visible-change="afterVisibleChange"
|
||||
>
|
||||
<div class="drawerMain">
|
||||
@@ -142,9 +142,8 @@ export default {
|
||||
<style lang="scss" >
|
||||
.AddLevelImpStu {
|
||||
.drawerMain {
|
||||
min-width: 500px;
|
||||
min-width: 450px;
|
||||
margin: 0px 32px 0px 32px;
|
||||
overflow-x: scroll;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.header {
|
||||
@@ -153,6 +152,7 @@ export default {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
flex-shrink: 0;
|
||||
// background-color: red;
|
||||
margin-bottom: 20px;
|
||||
.headerTitle {
|
||||
@@ -164,6 +164,7 @@ export default {
|
||||
}
|
||||
}
|
||||
.main {
|
||||
overflow: scroll;
|
||||
.minatitl {
|
||||
display: flex;
|
||||
.up1 {
|
||||
@@ -185,6 +186,7 @@ export default {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #333333;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.right {
|
||||
margin-left: 6px;
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
<!--发布公告-->
|
||||
<template>
|
||||
<div class="noticeTitle"><span style="font-size: 18px;">公告</span>
|
||||
<a-divider style="margin-top: 0px;margin-bottom:30px;"></a-divider>
|
||||
<a-switch v-model:checked="noticeChecked" size="small"/><span style="margin-left: 16px;">开启</span>
|
||||
<div class="split"></div>
|
||||
<div class="noticeTitle">
|
||||
<div class="notitle"><span class="titlespan">公告</span></div>
|
||||
<div class="switch"><a-switch v-model:checked="noticeChecked" size="small"/><span style="margin-left: 16px;">开启</span></div>
|
||||
<template v-if="noticeChecked">
|
||||
<p style="margin-top: 35px;">公告内容</p>
|
||||
<a-textarea v-model:value="noticeContent" show-count :maxlength="150" style="margin-top: -10px;margin-bottom:30px;height: 110px;"/>
|
||||
<p>公告内容</p>
|
||||
<a-textarea v-model:value="noticeContent" :maxlength="150" placeholder="公告信息最多输入150个字" style="margin-top: -10px;height: 120px;"/>
|
||||
<div class="publish"><div class="iconPub"></div><div class="btnText">发布</div></div>
|
||||
</template>
|
||||
|
||||
@@ -29,9 +30,26 @@ export default {
|
||||
</script>
|
||||
<style lang="scss">
|
||||
.noticeTitle {
|
||||
margin-left: 38px;
|
||||
margin-right: 38px;
|
||||
margin-left: 32px;
|
||||
margin-right: 32px;
|
||||
padding-top: 20px;
|
||||
.notitle{
|
||||
height: 55px;
|
||||
border-bottom:1px solid #ededed;
|
||||
position: relative;
|
||||
.titlespan{
|
||||
font-size: 18px;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0px;
|
||||
}
|
||||
}
|
||||
.switch{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 90px;
|
||||
}
|
||||
|
||||
.publish {
|
||||
width: 100px;
|
||||
height:38px;
|
||||
@@ -43,7 +61,7 @@ export default {
|
||||
justify-content: center;
|
||||
flex-shrink: 0;
|
||||
float: right;
|
||||
margin-top: 60px;
|
||||
margin-top: 24px;
|
||||
margin-bottom: 60px;
|
||||
margin-right: 20px;
|
||||
cursor: pointer;
|
||||
|
||||
@@ -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,
|
||||
@@ -92,7 +92,7 @@
|
||||
v-model:visible="cancelModal"
|
||||
:footer="null"
|
||||
:closable="closeCancel"
|
||||
wrapClassName="CopyModal"
|
||||
wrapClassName="copyModal"
|
||||
centered="true"
|
||||
>
|
||||
<div class="delete">
|
||||
@@ -104,7 +104,7 @@
|
||||
<div class="close_exit" @click="closeCancelModal"></div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<span>是否取消当前用户对此数据的权限</span>
|
||||
<span>您确定要取消该用户的授权吗</span>
|
||||
</div>
|
||||
<div class="del_btnbox">
|
||||
<div class="del_btn btn1">
|
||||
@@ -332,7 +332,117 @@ export default {
|
||||
padding: 0px;
|
||||
}
|
||||
}
|
||||
.copyModal {
|
||||
.ant-modal {
|
||||
width: 424px !important;
|
||||
height: 258px !important;
|
||||
.ant-modal-content {
|
||||
width: 424px !important;
|
||||
height: 258px !important;
|
||||
.ant-modal-body {
|
||||
width: 424px !important;
|
||||
height: 258px !important;
|
||||
padding: 0 !important;
|
||||
.delete {
|
||||
z-index: 999;
|
||||
width: 424px;
|
||||
height: 258px;
|
||||
background: #ffffff;
|
||||
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21);
|
||||
border-radius: 4px;
|
||||
// position: absolute;
|
||||
// left: 50%;
|
||||
// top: 10%;
|
||||
// transform: translate(-50%, -50%);
|
||||
.del_header {
|
||||
position: absolute;
|
||||
width: calc(100%);
|
||||
height: 68px;
|
||||
background: linear-gradient(
|
||||
rgba(78, 166, 255, 0.2) 0%,
|
||||
rgba(78, 166, 255, 0) 100%
|
||||
);
|
||||
}
|
||||
.del_main {
|
||||
width: 100%;
|
||||
position: relative;
|
||||
.header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding-top: 20px;
|
||||
padding-left: 26px;
|
||||
font-size: 16px;
|
||||
.icon {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin-right: 10px;
|
||||
background-image: url(@/assets/images/coursewareManage/notice.png);
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.close_exit {
|
||||
position: absolute;
|
||||
right: 42px;
|
||||
cursor: pointer;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background-image: url(@/assets/images/coursewareManage/close.png);
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
}
|
||||
.body {
|
||||
width: 100%;
|
||||
margin: 34px auto 56px auto;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
// background-color: red;
|
||||
position: relative;
|
||||
.back {
|
||||
position: absolute;
|
||||
top: 30px;
|
||||
font-size: 12px;
|
||||
font-weight: 400;
|
||||
color: #666666;
|
||||
}
|
||||
}
|
||||
.del_btnbox {
|
||||
display: flex;
|
||||
margin: 30px auto;
|
||||
justify-content: center;
|
||||
.del_btn {
|
||||
width: 100px;
|
||||
height: 40px;
|
||||
background: rgba(64, 158, 255, 0);
|
||||
border-radius: 8px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
flex-shrink: 0;
|
||||
cursor: pointer;
|
||||
.btnText {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 40px;
|
||||
}
|
||||
}
|
||||
.btn1 {
|
||||
border: 1px solid rgba(64, 158, 255, 1);
|
||||
color: #4ea6ff;
|
||||
margin-right: 14px;
|
||||
}
|
||||
.btn2 {
|
||||
background-color: #4ea6ff;
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.powerList {
|
||||
// width: 80%;
|
||||
.ant-drawer-content-wrapper {
|
||||
@@ -371,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;
|
||||
@@ -428,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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -489,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 {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<!--发布公告-->
|
||||
<template>
|
||||
<div class="split"></div>
|
||||
<div class="contentscore">
|
||||
<a-tabs v-model:activeKey="activeKeyScore">
|
||||
<a-tab-pane key="1" tab="学员获取">
|
||||
@@ -22,8 +23,8 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab" style="margin: 20px 32px 30px 32px">
|
||||
<a-table
|
||||
<div class="tableBox" style="margin: 20px 32px 30px 32px">
|
||||
<a-table
|
||||
style="border: 1px solid #f2f6fe"
|
||||
:columns="tablecolumnStu"
|
||||
:data-source="tabledataStu"
|
||||
@@ -63,7 +64,7 @@
|
||||
<div class="group" style="justify-content: center">
|
||||
<div class="groupleft">
|
||||
<div class="groupname">姓名:</div>
|
||||
<a-input class="ant-input"
|
||||
<a-input class="ant-input" style="width:152px"
|
||||
v-model:value="value"
|
||||
placeholder="请输入姓名"
|
||||
/>
|
||||
@@ -90,37 +91,38 @@
|
||||
<a-radio-button class="today" value="3">近一个月</a-radio-button>
|
||||
</a-radio-group>
|
||||
</div>
|
||||
<div class="slist">
|
||||
<a-list :data-source="stuValue ? datascoreg : datascore">
|
||||
<template #renderItem="{ item }">
|
||||
<div class="item">
|
||||
<div v-if="item.id == 1" class="itemleft">
|
||||
<div class="itemimage">
|
||||
<img src="../../assets/images/taskpage/gold.png" />
|
||||
<div class="listdiv"> <div class="slist">
|
||||
<a-list :data-source="stuValue ? datascoreg : datascore">
|
||||
<template #renderItem="{ item }">
|
||||
<div class="item">
|
||||
<div v-if="item.id == 1" class="itemleft">
|
||||
<div class="itemimage">
|
||||
<img src="../../assets/images/taskpage/gold.png" />
|
||||
</div>
|
||||
<div class="itemid">{{ item.id }}</div>
|
||||
</div>
|
||||
<div class="itemid">{{ item.id }}</div>
|
||||
</div>
|
||||
<div v-else-if="item.id == 2" class="itemleft">
|
||||
<div class="itemimage">
|
||||
<img src="../../assets/images/taskpage/siler.png" />
|
||||
<div v-else-if="item.id == 2" class="itemleft">
|
||||
<div class="itemimage">
|
||||
<img src="../../assets/images/taskpage/siler.png" />
|
||||
</div>
|
||||
<div class="itemid">{{ item.id }}</div>
|
||||
</div>
|
||||
<div class="itemid">{{ item.id }}</div>
|
||||
</div>
|
||||
<div v-else-if="item.id == 3" class="itemleft">
|
||||
<div class="itemimage">
|
||||
<img src="../../assets/images/taskpage/copper.png" />
|
||||
<div v-else-if="item.id == 3" class="itemleft">
|
||||
<div class="itemimage">
|
||||
<img src="../../assets/images/taskpage/copper.png" />
|
||||
</div>
|
||||
<div class="itemid">{{ item.id }}</div>
|
||||
</div>
|
||||
<div v-else class="itemleft">
|
||||
<div class="elseid">{{ item.id }}</div>
|
||||
</div>
|
||||
<div class="itemid">{{ item.id }}</div>
|
||||
</div>
|
||||
<div v-else class="itemleft">
|
||||
<div class="elseid">{{ item.id }}</div>
|
||||
</div>
|
||||
|
||||
<div class="itemcenter">{{ item.name }}</div>
|
||||
<div class="itemright">{{ item.score }}</div>
|
||||
</div>
|
||||
</template>
|
||||
</a-list>
|
||||
<div class="itemcenter">{{ item.name }}</div>
|
||||
<div class="itemright">{{ item.score }}</div>
|
||||
</div>
|
||||
</template>
|
||||
</a-list>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a-tab-pane>
|
||||
@@ -366,8 +368,8 @@ export default {
|
||||
font-weight: 700;
|
||||
}
|
||||
.ant-input {
|
||||
border-radius: 5px;
|
||||
width: 130px;
|
||||
border-radius: 8px;
|
||||
width: 264px;
|
||||
height: 40px;
|
||||
}
|
||||
.group {
|
||||
@@ -424,16 +426,60 @@ export default {
|
||||
}
|
||||
|
||||
}
|
||||
.tableBox {
|
||||
.ant-table-selection-column {
|
||||
padding: 0px !important;
|
||||
// padding-left: 45px !important;
|
||||
}
|
||||
|
||||
.ant-table-thead > tr > th {
|
||||
background-color: rgba(239, 244, 252, 1) !important;
|
||||
color: rgba(0, 0, 0, 0.8500);
|
||||
}
|
||||
|
||||
.ant-table-cell {
|
||||
color: rgba(0, 0, 0, 0.6500);
|
||||
}
|
||||
|
||||
.ant-table-selection-column {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
th.h {
|
||||
background-color: #eff4fc !important;
|
||||
}
|
||||
|
||||
|
||||
.ant-table-tbody
|
||||
> tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)
|
||||
> td {
|
||||
|
||||
background: #f6f9fd;
|
||||
}
|
||||
.ant-table-tbody > tr > td {
|
||||
border-bottom: 1px solid rgba(240, 244, 254, 1);
|
||||
padding: 16px 16px;
|
||||
.operation {
|
||||
color: rgba(56, 125, 247, 1);
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
.ant-table-tbody{
|
||||
|
||||
.pa {
|
||||
margin-top: 15px;
|
||||
// height: 20px;
|
||||
// background-color: red;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
// bottom: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.ant-table-tbody{
|
||||
.operation{
|
||||
color: #409eff;
|
||||
}
|
||||
|
||||
}
|
||||
.scorelist {
|
||||
padding-left: 20%;
|
||||
padding-right: 20%;
|
||||
|
||||
padding-bottom: 100px;
|
||||
padding-top: 50px;
|
||||
.grouprightscore {
|
||||
@@ -446,8 +492,8 @@ export default {
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-left: 10%;
|
||||
margin-right: 10%;
|
||||
margin-left: 90px;
|
||||
margin-right: 90px;
|
||||
}
|
||||
|
||||
.btn1 {
|
||||
@@ -455,21 +501,28 @@ export default {
|
||||
}
|
||||
}
|
||||
.radiobutton {
|
||||
|
||||
margin-top: 23px;
|
||||
margin-bottom: 23px;
|
||||
justify-content: center;
|
||||
display: flex;
|
||||
text-align: center;
|
||||
.today {
|
||||
width: 105px;
|
||||
width: 120px;
|
||||
height: 32px;
|
||||
}
|
||||
}
|
||||
.slist {
|
||||
.listdiv{
|
||||
display: flex;
|
||||
justify-content: space-evenly;
|
||||
text-align: center;
|
||||
.slist {
|
||||
width: 736px;
|
||||
background-color: #f5f8fc;
|
||||
padding-left: 20px;
|
||||
padding-right: 20px;
|
||||
padding-left: 28px;
|
||||
padding-right: 28px;
|
||||
padding-bottom: 20px;
|
||||
padding-top: 10px;
|
||||
padding-top: 16px;
|
||||
font-size: 18px;
|
||||
|
||||
.item {
|
||||
@@ -477,7 +530,7 @@ export default {
|
||||
justify-content: space-evenly;
|
||||
text-align: center;
|
||||
border-bottom: none;
|
||||
height: 60px;
|
||||
height: 56px;
|
||||
align-items: center;
|
||||
background-color: white;
|
||||
border-radius: 21px;
|
||||
@@ -488,7 +541,7 @@ export default {
|
||||
align-items: center;
|
||||
width: 150px;
|
||||
.itemid {
|
||||
font-size: 46px;
|
||||
font-size: 40px;
|
||||
font-family: math;
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
@@ -510,6 +563,7 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.projectscore {
|
||||
.pjc_body {
|
||||
@@ -582,4 +636,4 @@ export default {
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</style>
|
||||
|
||||
@@ -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="{
|
||||
|
||||
@@ -17,109 +17,219 @@
|
||||
</div>
|
||||
<div class="main">
|
||||
<div class="stuinfor">
|
||||
<div class="portrait"><img src="../../assets/images/studentimg/character.png"/></div>
|
||||
<div class="stumation">
|
||||
<div class="stuname">王明</div>
|
||||
<div class="stugangw">产研部门 - 产品经理</div>
|
||||
<div class="portrait">
|
||||
<img src="../../assets/images/studentimg/character.png" />
|
||||
</div>
|
||||
<div class="stumation">
|
||||
<div class="stuname">王明</div>
|
||||
<div class="stugangw">产研部门 - 产品经理</div>
|
||||
</div>
|
||||
<div class="sortbox">
|
||||
<div class="sortname">进度排名</div>
|
||||
<div class="sortnub">
|
||||
<span class="nub1">2</span>
|
||||
<span class="total">/10</span>
|
||||
</div>
|
||||
<div class="sortbox">
|
||||
<div class="sortname">进度排名</div>
|
||||
<div class="sortnub">
|
||||
<span class="nub1">2</span>
|
||||
<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);
|
||||
"
|
||||
/>
|
||||
<div class="sortbox" style="margin-left: 34px">
|
||||
<div class="sortname">完成必修</div>
|
||||
<div class="sortnub">
|
||||
<span class="nub1">3</span>
|
||||
<span class="total">/10</span>
|
||||
</div>
|
||||
<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">
|
||||
<span class="nub1">3</span>
|
||||
<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)" />
|
||||
<div class="sortbox" style="margin-left: 34px">
|
||||
<div class="sortname">已修证书</div>
|
||||
<div class="sortnub">
|
||||
<span class="nub1">1</span>
|
||||
</div>
|
||||
</div>
|
||||
<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">
|
||||
<span class="nub1">1</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="secondrow">
|
||||
<div class="rowleft">产品经理管理 - 腾飞班1</div>
|
||||
<div class="rowbox" @click="showProMess">
|
||||
<div class="shuom">说明</div>
|
||||
<div><img src="../../assets/images/studentimg/chak.png"/></div>
|
||||
</div>
|
||||
<div class="rowleft">产品经理管理 - 腾飞班1</div>
|
||||
<div class="rowbox" @click="showProMess">
|
||||
<div class="shuom">说明</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="titletext">阶段1 腾飞班阶段1</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 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/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 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/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 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/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 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/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 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 class="mainbox" style="margin-top: 15px; height: 56px">
|
||||
<div class="rowtitle">
|
||||
<div class="titleimg"><img src="../../assets/images/studentimg/close.png"/></div>
|
||||
<div class="titletext">阶段2 腾飞班阶段2</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;
|
||||
@@ -201,144 +321,147 @@ export default {
|
||||
}
|
||||
}
|
||||
.main {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.stuinfor {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 133px;
|
||||
margin-top: 20px;
|
||||
margin-right: 37px;
|
||||
background-image: url("../../assets/images/studentimg/bgimg.png");
|
||||
background-repeat: no-repeat;
|
||||
background-position: right;
|
||||
.stumation {
|
||||
margin-left: 24px;
|
||||
.stuname {
|
||||
color: #333333;
|
||||
font-size: 18px;
|
||||
}
|
||||
.stugangw {
|
||||
color: #999999;
|
||||
font-size: 16px;
|
||||
margin-top: 7px;
|
||||
}
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow-y: auto;
|
||||
padding-bottom: 80px;
|
||||
.stuinfor {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 133px;
|
||||
margin-top: 20px;
|
||||
margin-right: 37px;
|
||||
background-image: url("../../assets/images/studentimg/bgimg.png");
|
||||
background-repeat: no-repeat;
|
||||
background-position: right;
|
||||
.stumation {
|
||||
margin-left: 24px;
|
||||
.stuname {
|
||||
color: #333333;
|
||||
font-size: 18px;
|
||||
}
|
||||
.sortbox {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
margin-left: 114px;
|
||||
.sortname {
|
||||
color: #666660;
|
||||
font-size: 14px;
|
||||
}
|
||||
.sortnub {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
margin-top: 7px;
|
||||
.nub1 {
|
||||
color: #0060FF;
|
||||
font-size: 22px;
|
||||
}
|
||||
.total {
|
||||
color: #999999;
|
||||
font-size: 22px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.secondrow {
|
||||
margin-top: 32px;
|
||||
display: flex;
|
||||
.rowleft {
|
||||
color: rgba(51, 51, 51, 1);
|
||||
.stugangw {
|
||||
color: #999999;
|
||||
font-size: 16px;
|
||||
}
|
||||
.rowbox {
|
||||
width: 64px;
|
||||
height: 24px;
|
||||
margin-top: 7px;
|
||||
}
|
||||
}
|
||||
.sortbox {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
margin-left: 114px;
|
||||
.sortname {
|
||||
color: #666660;
|
||||
font-size: 14px;
|
||||
}
|
||||
.sortnub {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin-left: 24px;
|
||||
border: 1px solid rgba(64, 158, 255, 1);
|
||||
background: rgba(64, 158, 255, 0.1);
|
||||
cursor: pointer;
|
||||
.shuom {
|
||||
color: rgba(64, 158, 255, 1);
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
margin-right: 5px;
|
||||
margin-top: 7px;
|
||||
.nub1 {
|
||||
color: #0060ff;
|
||||
font-size: 22px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.mainbox {
|
||||
height: 463px;
|
||||
.total {
|
||||
color: #999999;
|
||||
font-size: 22px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.secondrow {
|
||||
margin-top: 32px;
|
||||
display: flex;
|
||||
.rowleft {
|
||||
color: rgba(51, 51, 51, 1);
|
||||
font-size: 16px;
|
||||
}
|
||||
.rowbox {
|
||||
width: 64px;
|
||||
height: 24px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin-left: 24px;
|
||||
border: 1px solid rgba(64, 158, 255, 1);
|
||||
background: rgba(64, 158, 255, 0.1);
|
||||
cursor: pointer;
|
||||
.shuom {
|
||||
color: rgba(64, 158, 255, 1);
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.mainbox {
|
||||
// height: 463px;
|
||||
margin-right: 37px;
|
||||
margin-top: 32px;
|
||||
border: 1px solid rgba(221, 238, 255, 1);
|
||||
border-radius: 6px;
|
||||
.rowtitle {
|
||||
height: 56px;
|
||||
background: rgba(240, 246, 252, 1);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.titleimg {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin-left: 23px;
|
||||
}
|
||||
.titletext {
|
||||
color: rgba(51, 51, 51, 1);
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
margin-left: 16px;
|
||||
}
|
||||
height: 56px;
|
||||
background: rgba(240, 246, 252, 1);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.titleimg {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin-left: 23px;
|
||||
}
|
||||
.titletext {
|
||||
color: rgba(51, 51, 51, 1);
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
margin-left: 16px;
|
||||
}
|
||||
}
|
||||
.rowclass {
|
||||
height: 81px;
|
||||
border-bottom: 1px solid rgba(221, 238, 255, 1);
|
||||
height: 81px;
|
||||
border-bottom: 1px solid rgba(221, 238, 255, 1);
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
.leftclass {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-left: 25px;
|
||||
align-items: center;
|
||||
.leftclass {
|
||||
display: flex;
|
||||
margin-left: 25px;
|
||||
align-items: center;
|
||||
.text1 {
|
||||
color: #000000;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
margin-left: 25px;
|
||||
}
|
||||
.text2 {
|
||||
color: rgba(51, 51, 51, 0.8);
|
||||
font-size: 14px;
|
||||
margin-left: 65px;
|
||||
}
|
||||
.text1 {
|
||||
color: #000000;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
margin-left: 25px;
|
||||
}
|
||||
.alreadyclass {
|
||||
display: flex;
|
||||
margin-right: 57px;
|
||||
.alimg {
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
}
|
||||
.altext {
|
||||
color: rgba(56, 125, 247, 1);
|
||||
font-size: 14px;
|
||||
margin-left: 16px;
|
||||
}
|
||||
.text2 {
|
||||
color: rgba(51, 51, 51, 0.8);
|
||||
font-size: 14px;
|
||||
margin-left: 65px;
|
||||
}
|
||||
}
|
||||
.alreadyclass {
|
||||
display: flex;
|
||||
margin-right: 57px;
|
||||
.alimg {
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
}
|
||||
.altext {
|
||||
color: rgba(56, 125, 247, 1);
|
||||
font-size: 14px;
|
||||
margin-left: 16px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.btnn {
|
||||
height: 72px;
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
background-color: #fff;
|
||||
left: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -6,7 +6,7 @@ const routes = [
|
||||
{
|
||||
path: '/',
|
||||
name: '首页',
|
||||
redirect: routesConfig[0].path
|
||||
redirect: '/learningpath'
|
||||
},
|
||||
...routesConfig
|
||||
]
|
||||
|
||||
@@ -40,17 +40,19 @@
|
||||
:placeholder="[' 开始时间', ' 结束时间']"
|
||||
/>
|
||||
</div>
|
||||
<div class="btn btn1">
|
||||
<div class="search"></div>
|
||||
<div class="btnText">搜索</div>
|
||||
</div>
|
||||
<div class="btnn btn2">
|
||||
<div class="search"></div>
|
||||
<div class="btnText">重置</div>
|
||||
<div style="display: flex;margin-bottom: 20px">
|
||||
<div class="btn btn1">
|
||||
<div class="search"></div>
|
||||
<div class="btnText">搜索</div>
|
||||
</div>
|
||||
<div class="btnn btn2">
|
||||
<div class="search"></div>
|
||||
<div class="btnText">重置</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="btns">
|
||||
|
||||
<!-- <router-link to="/projectadd">
|
||||
<div class="btn btn3">
|
||||
<div class="search"></div>
|
||||
@@ -64,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
|
||||
@@ -194,7 +207,6 @@
|
||||
</div>
|
||||
</div></a-modal
|
||||
>
|
||||
|
||||
|
||||
<!-- 编辑路径弹窗 -->
|
||||
<a-modal
|
||||
@@ -537,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 },
|
||||
@@ -787,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);
|
||||
@@ -874,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>
|
||||
@@ -1475,7 +1543,7 @@ export default {
|
||||
.del_header {
|
||||
position: absolute;
|
||||
width: calc(100%);
|
||||
height: 40px;
|
||||
height: 68px;
|
||||
background: linear-gradient(
|
||||
rgba(78, 166, 255, 0.2) 0%,
|
||||
rgba(78, 166, 255, 0) 100%
|
||||
@@ -1494,7 +1562,7 @@ export default {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin-right: 10px;
|
||||
background-image: url(@/assets/images/coursewareManage/QR.png);
|
||||
background-image: url(@/assets/images/taskpage/gan.png);
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.close_exit {
|
||||
@@ -1568,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;
|
||||
@@ -1585,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;
|
||||
@@ -1600,7 +1718,7 @@ export default {
|
||||
.btnText {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
color: #ffffff;
|
||||
line-height: 36px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
@@ -1608,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;
|
||||
@@ -1623,7 +1741,7 @@ export default {
|
||||
.btnText {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #409EFF;
|
||||
color: #409eff;
|
||||
line-height: 36px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
@@ -1652,7 +1770,7 @@ export default {
|
||||
}
|
||||
}
|
||||
.btn1:active {
|
||||
background: #0982FF;
|
||||
background: #0982ff;
|
||||
}
|
||||
.btn2:hover {
|
||||
background: rgba(64, 158, 255, 0.1);
|
||||
@@ -1667,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;
|
||||
@@ -1682,7 +1800,7 @@ export default {
|
||||
.btnText {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
color: #ffffff;
|
||||
line-height: 36px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
@@ -1705,7 +1823,7 @@ export default {
|
||||
}
|
||||
}
|
||||
.btn3:active {
|
||||
background: #0982FF;
|
||||
background: #0982ff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -541,8 +541,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">
|
||||
@@ -552,7 +552,11 @@
|
||||
<div class="headone">
|
||||
<div class="box"></div>
|
||||
<div class="onetitle">关卡内容可见可学设置</div>
|
||||
<div class="oneedi">编辑</div>
|
||||
<div class="oneedi" @click="showbtn" v-show="twobtn">编辑</div>
|
||||
<div v-show="twobtnn" class="twobtn">
|
||||
<div class="btnone" @click="closebtn">取消</div>
|
||||
<div class="btntwo" @click="closebtn">确定</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="onemain clearfix">
|
||||
<div class="checkcon">
|
||||
@@ -564,9 +568,17 @@
|
||||
/>
|
||||
<span class="yulan">预览其他关卡</span><br />
|
||||
<div style="width: 10px; height: 4px"></div>
|
||||
<span class="yulan2">学员可预览第</span
|
||||
><span style="color: #4ea6ff">1</span><span>关-第</span
|
||||
><span style="color: #4ea6ff">4</span><span>关内容</span>
|
||||
<div style="display: flex;align-items: center;">
|
||||
<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" />
|
||||
<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"/>
|
||||
<span>关内容</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="checkcon" style="margin-top: 20px">
|
||||
<input
|
||||
@@ -577,9 +589,16 @@
|
||||
/>
|
||||
<span class="yulan">学习其他关卡</span><br />
|
||||
<div style="width: 10px; height: 4px"></div>
|
||||
<span class="yulan2">学员可预览第</span
|
||||
><span style="color: #4ea6ff">1</span><span>关-第</span
|
||||
><span style="color: #4ea6ff">4</span><span>关内容</span>
|
||||
<div style="display: flex;align-items: center;">
|
||||
<span class="yulan2">学员可预览第</span
|
||||
>
|
||||
<span style="color: #4ea6ff" v-show="number">1</span>
|
||||
<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="nubvalue3" v-show="inputbox" :controls="false" :autofocus="true" :min="1"/>
|
||||
<span>关内容</span>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
</div>
|
||||
@@ -814,6 +833,10 @@ export default {
|
||||
AddSvisible: false, //添加学员抽屉
|
||||
AddImpStuvisible: false, //导入学员抽屉
|
||||
CheckStuvisible: false, //学员管理的查看抽屉
|
||||
twobtn: true,
|
||||
number: true,
|
||||
twobtnn: false,
|
||||
inputbox: false,
|
||||
Wvisible: false, //作业管理
|
||||
projectNameListt: [
|
||||
{
|
||||
@@ -993,6 +1016,10 @@ export default {
|
||||
],
|
||||
activeKey: ref("1"),
|
||||
value: ref(" "),
|
||||
nubvalue: ref("1"),
|
||||
nubvalue2: ref("1"),
|
||||
nubvalue3: ref("4"),
|
||||
nubvalue1: ref("4"),
|
||||
checked2: false,
|
||||
currentPage: 1,
|
||||
tableDataTotal: 100,
|
||||
@@ -1261,6 +1288,18 @@ export default {
|
||||
const showCheckStu = () => {
|
||||
state.CheckStuvisible = true;
|
||||
};
|
||||
const showbtn = () => {
|
||||
state.twobtn = false;
|
||||
state.twobtnn = true;
|
||||
state.number = false;
|
||||
state.inputbox = true;
|
||||
}
|
||||
const closebtn = () => {
|
||||
state.twobtnn = false;
|
||||
state.twobtn = true;
|
||||
state.number = true;
|
||||
state.inputbox = false;
|
||||
}
|
||||
const showCopyModal = () => {
|
||||
state.copyModal = true;
|
||||
};
|
||||
@@ -1312,6 +1351,8 @@ export default {
|
||||
showAddStu,
|
||||
showImpStu,
|
||||
showCheckStu,
|
||||
showbtn, //设置-编辑
|
||||
closebtn,
|
||||
showFS,
|
||||
showAA,
|
||||
showCopyModal,
|
||||
@@ -2762,6 +2803,28 @@ export default {
|
||||
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;
|
||||
@@ -2784,6 +2847,21 @@ export default {
|
||||
.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 {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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();
|
||||
|
||||
|
||||
@@ -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>
|
||||
@@ -2359,7 +2358,7 @@ export default {
|
||||
title: "姓名",
|
||||
dataIndex: "name",
|
||||
key: "name",
|
||||
width: 50,
|
||||
width: 30,
|
||||
align: "left",
|
||||
className: "h",
|
||||
// scopedSlots: { customRender: "action" }, //引入的插槽
|
||||
@@ -2396,7 +2395,7 @@ export default {
|
||||
title: "部门",
|
||||
dataIndex: "bum",
|
||||
key: "bum",
|
||||
width: 40,
|
||||
width: 50,
|
||||
align: "center",
|
||||
className: "h",
|
||||
},
|
||||
@@ -2404,7 +2403,7 @@ export default {
|
||||
title: "岗位",
|
||||
dataIndex: "gangw",
|
||||
key: "gangw",
|
||||
width: 40,
|
||||
width: 50,
|
||||
align: "center",
|
||||
className: "h",
|
||||
},
|
||||
@@ -2412,7 +2411,7 @@ export default {
|
||||
title: "所属小组",
|
||||
dataIndex: "group",
|
||||
key: "group",
|
||||
width: 40,
|
||||
width: 50,
|
||||
align: "center",
|
||||
className: "h",
|
||||
},
|
||||
|
||||
@@ -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">查看</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">发布 |</div>
|
||||
</div>
|
||||
<div class="ops2">
|
||||
<router-link to="/libraryadd">
|
||||
<div class="jc">查看</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