feat:合并

This commit is contained in:
dongwug
2022-10-11 15:46:05 +08:00
16 changed files with 1687 additions and 611 deletions

View File

@@ -34,6 +34,8 @@ See [Configuration Reference](https://cli.vuejs.org/config/).
```
LearningPath.vue:学习路径页面
LevelAdd.vue:关卡页面
LevelAddDetail.vue:创建关卡页面
```

View File

@@ -76,6 +76,8 @@ export default defineComponent({
// flex-shrink: 0;
display: flex;
overflow-y: scroll;
// display: flex;
// flex: 1 1 auto;
width: calc(100% - 40px);
// margin-bottom: 20px;
margin: 0px 20px 20px 20px;

Binary file not shown.

After

Width:  |  Height:  |  Size: 787 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 596 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -192,3 +192,73 @@ display: none;
width: 100px !important;
}
//表格下拉框-------------------------------------------
//抽屉--------------------------------------------------------
.drawerStyle {
.ant-drawer-content-wrapper {
max-width: 1050px;
.ant-drawer-header {
display: none !important;
}
.ant-drawer-body {
padding: 0;
}
}
.drawerMain {
min-width: 700px;
margin: 0px 32px 0px 32px;
overflow-x: scroll;
display: flex;
flex-direction: column;
}}
//抽屉--------------------------------------------------------
//弹窗--------------------------------------------------------
.modalStyle {
height: 100%;
.ant-modal {
height: calc(100% - 200px);
background-color: rgba(255, 255, 255, 1);
// overflow-y: scroll;
min-width: 900px;
max-width: 1300px;
padding: 0;
.ant-modal-content {
width: 100%;
height: 100%;
}
.ant-modal-body {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
}
.ant-modal-header {
display: none;
}
.ant-modal-body {
padding: 0px;
}
.modalHeader {
width: 100%;
height: 68px;
background: linear-gradient(
0deg,
rgba(78, 166, 255, 0) 0%,
rgba(78, 166, 255, 0.2) 100%
);
}
.modalMain {
height: 0px;
flex: 1 1 auto;
overflow-y: scroll;
margin-top: 7px;
margin: 0px 52px;
}
}
}
//弹窗--------------------------------------------------------

View File

@@ -144,7 +144,15 @@ export default {
{
name: "管理",
href: "",
},
];
}
if (n === "/certificatecenter" || n === "/CertificateCenter") {
state.list = [
{
name: "证书中心",
},
];
}
if (n === "/systemmanage" || n === "/SystemManage") {

View File

@@ -144,7 +144,8 @@
src="../assets/images/navleft/certificate.png"
/>
</div>
<span>证书中心</span>
<router-link to="/certificatecenter">证书中心</router-link>
</a-menu-item>
<a-menu-item key="sub9" @titleClick="titleClick">
<div class="imgBox">
@@ -293,6 +294,13 @@ export default {
selectedKeys: "sub3-2",
pagename: "课程管理",
},
{
href: "/certificatecenter",
openKeys: "sub8",
selectedKeys: "sub8",
pagename: "证书中心",
},
{
href: "/systemmanage",
openKeys: "sub9",

View File

@@ -0,0 +1,330 @@
<template>
<div class="certificateCenter">
<div
style="
width: 130px;
height: 40px;
background: #388be1;
border-radius: 8px;
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #ffffff;
line-height: 20px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
"
@click="showModal"
>
新建面授课
</div>
<div>
<a-modal
v-model:visible="visible"
title="Title"
@ok="closeModal"
:footer="null"
:closable="false"
wrapClassName="modalStyle"
width="80%"
>
<div class="modalHeader">
<div class="headerLeft">
<img
style="width: 17px; height: 18px; margin-right: 8px"
src="../../assets/images/basicinfo/add.png"
/>
<span class="headerLeftText">新建面授课</span>
</div>
<div style="margin-right: 57px; cursor: pointer">
<img
style="width: 22px; height: 22px"
src="../../assets/images/basicinfo/close22.png"
/>
</div>
</div>
<div class="modalMain">
<div class="title">课程信息</div>
<div style="display: flex; margin-top: 10px">
<div class="modalMainLeft">
<!-- 投票名称 -->
<div class="vote">
<div class="votebox">
<img
class="voteimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<div class="votename">投票名称</div>
</div>
<div class="modalMainInp">
<a-input v-model:value="value" placeholder="请输入投票名称" />
</div>
</div>
<!-- 投票名称 -->
<!-- 投票名称 -->
<div class="vote">
<div class="votebox">
<img
class="voteimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<div class="votename">投票名称</div>
</div>
<div class="modalMainInp">
<a-input v-model:value="value" placeholder="请输入投票名称" />
</div>
</div>
<!-- 投票名称 -->
<!-- 投票名称 -->
<div class="vote">
<div class="votebox">
<img
class="voteimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<div class="votename">投票名称</div>
</div>
<div class="modalMainInp">
<a-input v-model:value="value" placeholder="请输入投票名称" />
</div>
</div>
<!-- 投票名称 -->
<!-- 投票名称 -->
<div class="vote">
<div class="votebox">
<img
class="voteimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<div class="votename">投票名称</div>
</div>
<div class="modalMainInp">
<a-input v-model:value="value" placeholder="请输入投票名称" />
</div>
</div>
<!-- 投票名称 -->
<!-- 投票名称 -->
<div class="vote">
<div class="votebox">
<img
class="voteimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<div class="votename">投票名称</div>
</div>
<div class="modalMainInp">
<a-input v-model:value="value" placeholder="请输入投票名称" />
</div>
</div>
<!-- 投票名称 -->
<!-- 投票名称 -->
<div class="vote">
<div class="votebox">
<img
class="voteimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<div class="votename">投票名称</div>
</div>
<div class="modalMainInp">
<a-input v-model:value="value" placeholder="请输入投票名称" />
</div>
</div>
<!-- 投票名称 -->
<!-- 投票名称 -->
<div class="vote">
<div class="votebox">
<img
class="voteimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<div class="votename">投票名称</div>
</div>
<div class="modalMainInp">
<a-input v-model:value="value" placeholder="请输入投票名称" />
</div>
</div>
<!-- 投票名称 -->
<!-- 投票名称 -->
<div class="vote">
<div class="votebox">
<img
class="voteimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<div class="votename">投票名称</div>
</div>
<div class="modalMainInp">
<a-input v-model:value="value" placeholder="请输入投票名称" />
</div>
</div>
<!-- 投票名称 -->
<!-- 投票名称 -->
<div class="vote">
<div class="votebox">
<img
class="voteimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<div class="votename">投票名称</div>
</div>
<div class="modalMainInp">
<a-input v-model:value="value" placeholder="请输入投票名称" />
</div>
</div>
<!-- 投票名称 -->
<!-- 投票名称 -->
<div class="vote">
<div class="votebox">
<img
class="voteimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<div class="votename">投票名称</div>
</div>
<div class="modalMainInp">
<a-input v-model:value="value" placeholder="请输入投票名称" />
</div>
</div>
<!-- 投票名称 -->
</div>
<div class="modalMainLeft">
<!-- 投票名称 -->
<div class="vote">
<div class="votebox">
<img
class="voteimg"
src="../../assets/images/basicinfo/asterisk.png"
/>
<div class="votename">投票名称</div>
</div>
<div class="modalMainInp">
<a-input v-model:value="value" placeholder="请输入投票名称" />
</div>
</div>
<!-- 投票名称 -->
</div>
</div>
</div>
</a-modal>
</div>
</div>
</template>
<script>
import { reactive, toRefs, onMounted, onUnmounted } from "vue";
export default {
name: "CertificateCenter",
setup() {
const state = reactive({
visible: true,
loading: false,
screenHeight: document.body.clientHeight, // 屏幕高度
});
const afterVisibleChange = (bool) => {
console.log("visible", bool);
};
const showModal = () => {
state.visible = true;
};
const closeModal = () => {
state.visible = false;
};
const getMousePosition = () => {
state.screenHeight = document.body.clientHeight;
};
onMounted(() => {
// console.log("11111", 1);
window.addEventListener("resize", getMousePosition, false);
// judgeUrl();
});
onUnmounted(() => {
window.removeEventListener("resize", getMousePosition, false);
});
return {
...toRefs(state),
afterVisibleChange,
showModal,
closeModal,
};
},
};
</script>
<style lang="scss">
.certificateCenter {
width: 100%;
}
.modalStyle {
.ant-modal {
.modalHeader {
display: flex;
align-items: center;
justify-content: space-between;
.headerLeft {
margin-left: 27px;
display: flex;
align-items: center;
.headerLeftText {
font-size: 16px;
font-weight: 400;
color: #000000;
line-height: 36px;
}
}
}
.modalMain {
.title {
font-size: 14px;
font-weight: 500;
color: #4f5156;
line-height: 36px;
}
.modalMainLeft {
width: 50%;
height: 300px;
padding-left: 35px;
padding-right: 44px;
// background-color: red;
.vote {
display: flex;
align-items: center;
padding-bottom: 30px;
.votebox {
width: 100px;
display: flex;
align-items: center;
justify-content: flex-end;
// background-color: pink;
.voteimg {
width: 10px;
height: 10px;
margin-right: 5px;
}
.votename {
font-size: 14px;
font-weight: 400;
color: #333333;
line-height: 20px;
}
}
.modalMainInp {
flex: 1;
}
}
}
.modalMainRight {
width: 50%;
height: 300px;
background-color: pink;
}
}
}
}
</style>

View File

@@ -178,8 +178,7 @@
<!-- 新建选择线上还是面授课弹窗 -->
<!-- 确定新建面授课弹窗 -->
<div class="faceteach"
:style="{ display: ft_hs ? 'block' : 'none' }">
<div class="faceteach" :style="{ display: ft_hs ? 'block' : 'none' }">
<div class="ft_header"></div>
<div class="ft_main">
<div class="m_header">
@@ -380,7 +379,7 @@
:columns="tableDataFunc()"
:data-source="tableData"
:loading="tableDataTotal === -1 ? true : false"
:scroll="{ x: 800 }"
:scroll="{ x: 600 }"
expandRowByClick="true"
@expand="expandTable"
:pagination="false"
@@ -397,10 +396,14 @@
</div>
<!-- 表格 -->
<!-- 操作管理在线课程管理页面 -->
<div class="onlinemanage" :style="{ display: om_1 ? 'block' : 'none' }">
<div class="om_header">
<div class="om_header"></div>
<div class="om_main">
<div class="omm_header">
<div class="pc_icon"></div>
<span>在线课程管理</span>
<div class="pc_exit" @click="om_exit">x</div>
</div>
<div class="om_main">
<div class="omm_header">
@@ -467,13 +470,34 @@
/>
</div>
</div>
<div class="bm_btn">
<div class="btn btn1">
<div class="search"></div>
<div class="btnText">搜索</div>
</div>
</div>
</div>
<div class="bm_table">
<a-table
:columns="columns1"
:data-source="tableData2"
:loading="tableDataTotal === -1 ? true : false"
:pagination="false"
/>
</div>
</div>
</div>
</div>
<!-- 操作管理在线课程管理页面 -->
<!-- 操作管理面授课程管理页面 -->
<div class="faceteachmanage" :style="{ display: ftm_1 ? 'block' : 'none' }">
<div class="om_header">
<div class="om_header"></div>
<div class="om_main">
<div class="omm_header">
<div class="pc_icon"></div>
<span>面授课程管理</span>
<div class="pc_exit" @click="ftm_exit">x</div>
</div>
<div class="om_main">
<div class="omm_header">
@@ -543,14 +567,40 @@
</a-table>
</div>
</div>
<div class="bm_btn">
<div class="btn btn1">
<div class="search"></div>
<div class="btnText">搜索</div>
</div>
</div>
</div>
<div class="bm_table">
<a-table
:columns="columns1"
:data-source="tableData3"
:loading="tableDataTotal === -1 ? true : false"
:pagination="false"
>
<template #bodyCell="{ column }">
<template v-if="column.key === 'opacation'">
<a @click="ckxq_hs">查看详情</a>
</template>
</template>
</a-table>
</div>
</div>
</div>
<!-- 操作管理面授课程管理页面 -->
<!-- 操作管理面授课程管理查看详情页面 -->
<div class="ftsturecord"
:style="{ display: om_ckxq ? 'block' : 'none' }">
<div class="ftsr_header">
<div class="ftsturecord" :style="{ display: om_ckxq ? 'block' : 'none' }">
<div class="ftsr_header"></div>
<div class="ftsr_main">
<div class="m_header">
<div class="det_icon"></div>
<span>查看详情</span>
<div class="det_exit" @click="ftsr_exit">x</div>
</div>
<div class="ftsr_main">
<div class="m_header">
@@ -571,13 +621,21 @@
<div class="btnText">取消</div>
</div>
</div>
<div class="ftsr_btn" @click="ftsr_exit">
<div class="btnText">取消</div>
</div>
</div>
</div>
<!-- 面授课程管理查看详情页面 -->
<!-- 操作授权页面 -->
<div class="givepower"
:style="{ display: gpm_hs ? 'block' : 'none' }">
<div class="gp_header">
<div class="givepower" :style="{ display: gpm_hs ? 'block' : 'none' }">
<div class="gp_header"></div>
<div class="gp_main">
<div class="gpm_header">
<div class="pc_icon"></div>
<span>授权</span>
<div class="pc_exit" @click="gpm_exit">x</div>
</div>
<div class="gp_main">
<div class="gpm_header">
@@ -589,7 +647,6 @@
<a-input
v-model:value="value"
style="width: 270px; height: 40px; border-radius: 8px;margin-right: 14px;"
placeholder="请输入项目名称"
/>
<div class="gpm_btn btn1">
<div class="search"></div>
@@ -637,14 +694,59 @@
</template>
</a-table>
</div>
<div class="gpm_inputbtn">
<a-input
v-model:value="value"
style="
width: 270px;
height: 40px;
border-radius: 8px;
margin-right: 14px;
"
placeholder="请输入项目名称"
<a-table
:columns="columns3"
:data-source="tableData5"
:loading="tableDataTotal === -1 ? true : false"
:pagination="{
showSizeChanger: true,
showQuickJumper: true,
hideOnSinglePage: true,
pageSizeOptions: [],
pageSize: pageSize,
current: currentPage,
total: tableDataTotal,
onChange: (page, pageSize) => {
currentPage = page;
// console.log('page', page)
// 加翻页查找代码
// this.setState({
// currentPage: page,
// }, () => {
// this.getMilitaryDeployment()
// })
},
}"
>
<template #bodyCell="{ column }">
<template v-if="column.key === 'opacation'">
<a @click="ckxq_hs">取消授权</a>
</template>
</template>
</a-table>
</div>
</div>
</div>
<!--操作授权页面 -->
<!--开课页面 -->
<div class="schooltime"
:style="{ display: stm_hs ? 'block' : 'none' }">
<div class="st_header">
<div class="schooltime" :style="{ display: stm_hs ? 'block' : 'none' }">
<div class="st_header"></div>
<div class="st_main">
<div class="stm_header">
<div class="pc_icon"></div>
<span>开课</span>
<div class="pc_exit" @click="stm_exit">x</div>
</div>
<div class="st_main">
<div class="stm_header">
@@ -714,12 +816,44 @@
/>
</div>
</div>
<div class="stm_table">
<a-table
:columns="columns4"
:data-source="tableData6"
:loading="tableDataTotal === -1 ? true : false"
:scroll="{ x: 700, y: 800 }"
expandRowByClick="true"
@expand="expandTable"
:pagination="{
showSizeChanger: true,
showQuickJumper: true,
hideOnSinglePage: true,
pageSizeOptions: [],
pageSize: pageSize,
current: currentPage,
total: tableDataTotal,
onChange: (page, pageSize) => {
currentPage = page;
// console.log('page', page)
// 加翻页查找代码
// this.setState({
// currentPage: page,
// }, () => {
// this.getMilitaryDeployment()
// })
},
}"
/>
</div>
</div>
</div>
<!--开课页面 -->
<!--新建开课页面 -->
<div class="createschooltime"
:style="{ display: cstm_hs ? 'block' : 'none' }">
<div
class="createschooltime"
:style="{ display: cstm_hs ? 'block' : 'none' }"
>
<div class="cst_header"></div>
<div class="cst_main">
<div class="cstm_header">
@@ -774,42 +908,64 @@
</div>
<div class="cstm_items items5">
<div class="select fitems">
<span style="margin-right: 14px;color:#6F6F6F;">报名设置</span>
<a-checkbox v-model:checked="checked"><span style="color:#6D7584;">是否允许公开报名</span></a-checkbox>
<span style="margin-right: 14px; color: #6f6f6f">报名设置</span>
<a-checkbox v-model:checked="checked"
><span style="color: #6d7584">是否允许公开报名</span></a-checkbox
>
</div>
</div>
<div class="cstm_items items6">
<div class="select fitems">
<span style="margin-right: 14px;color:#6F6F6F;">签到设置</span>
<a-checkbox v-model:checked="checked"><span style="color:#6D7584;margin-right: 30px;">是否允许未报名的学员签到</span></a-checkbox>
<a-checkbox v-model:checked="checked"><span style="color:#6D7584;">签到是否需要口令</span></a-checkbox>
<span style="margin-right: 14px; color: #6f6f6f">签到设置</span>
<a-checkbox v-model:checked="checked"
><span style="color: #6d7584; margin-right: 30px"
>是否允许未报名的学员签到</span
></a-checkbox
>
<a-checkbox v-model:checked="checked"
><span style="color: #6d7584">签到是否需要口令</span></a-checkbox
>
</div>
</div>
<div class="cstm_items items7">
<div class="select fitems">
<span style="margin-right: 14px;color:#6F6F6F;">评估设置</span>
<a-checkbox v-model:checked="checked"><span style="color:#6D7584;">是否需要评估</span></a-checkbox>
<span style="margin-right: 14px; color: #6f6f6f">评估设置</span>
<a-checkbox v-model:checked="checked"
><span style="color: #6d7584">是否需要评估</span></a-checkbox
>
</div>
</div>
<div class="cstm_items items8">
<div class="select fitems">
<span style="margin-right: 14px;color:#6F6F6F;">完成规则</span>
<a-checkbox v-model:checked="checked"><span style="color:#6D7584;margin-right: 30px;">报名即完成</span></a-checkbox>
<a-checkbox v-model:checked="checked"><span style="color:#6D7584;margin-right: 30px;">签到即完成</span></a-checkbox>
<a-checkbox v-model:checked="checked"><span style="color:#6D7584;">请假算完成</span></a-checkbox>
<span style="margin-right: 14px; color: #6f6f6f">完成规则</span>
<a-checkbox v-model:checked="checked"
><span style="color: #6d7584; margin-right: 30px"
>报名即完成</span
></a-checkbox
>
<a-checkbox v-model:checked="checked"
><span style="color: #6d7584; margin-right: 30px"
>签到即完成</span
></a-checkbox
>
<a-checkbox v-model:checked="checked"
><span style="color: #6d7584">请假算完成</span></a-checkbox
>
</div>
</div>
<div class="cstm_items items9">
<div class="items9box">
<span style="color:#6D7584;margin-right: 14px;">附件</span>
<span style="color: #6d7584; margin-right: 14px">附件</span>
<div class="upload_box">
<div class="upload_icon"></div>
<span style="color:#4EA6FF;">上传附件</span>
<span style="color: #4ea6ff">上传附件</span>
</div>
</div>
</div>
<div class="i9_sup">
<span style="color:#999BA3;margin-left: 158px;">支持.pdf,.ppt,.pptx,.doc,.docx,.xls,.xlsx,.jpg,.jpeg,.png,.gif,.zip</span>
<span style="color: #999ba3; margin-left: 158px"
>支持.pdf,.ppt,.pptx,.doc,.docx,.xls,.xlsx,.jpg,.jpeg,.png,.gif,.zip</span
>
</div>
<div class="cstm_items items10">
<div class="cstm_btn btn5">
@@ -920,42 +1076,42 @@ const columns1 = [
title: "姓名",
dataIndex: "projectName",
key: "projectName",
width: '16%',
width: "16%",
align: "center",
},
{
title: "工号",
dataIndex: "numb",
key: "numb",
width: '16%',
width: "16%",
align: "center",
},
{
title: "报名时间",
dataIndex: "applytime",
key: "applytime",
width: '16%',
width: "16%",
align: "center",
},
{
title: "签到时间",
dataIndex: "signtime",
key: "signtime",
width: '16%',
width: "16%",
align: "center",
},
{
title: "状态",
dataIndex: "status",
key: "status",
width: '16%',
width: "16%",
align: "center",
},
{
title: "操作",
dataIndex: "opacation",
key: "opacation",
width: '16%',
width: "16%",
align: "center",
},
];
@@ -964,21 +1120,21 @@ const columns2 = [
title: "开课名称",
dataIndex: "projectName",
key: "projectName",
width: '30%',
width: "30%",
align: "center",
},
{
title: "地点",
dataIndex: "address",
key: "address",
width: '30%',
width: "30%",
align: "center",
},
{
title: "状态",
dataIndex: "status",
key: "status",
width: '40%',
width: "40%",
align: "center",
},
];
@@ -987,35 +1143,35 @@ const columns3 = [
title: "姓名",
dataIndex: "name",
key: "name",
width: '18%',
width: "18%",
align: "center",
},
{
title: "归属组织",
dataIndex: "organization",
key: "organization",
width: '18%',
width: "18%",
align: "center",
},
{
title: "岗位",
dataIndex: "position",
key: "position",
width: '18%',
width: "18%",
align: "center",
},
{
title: "拥有权限",
dataIndex: "authority",
key: "authority",
width: '18%',
width: "18%",
align: "center",
},
{
title: "操作",
dataIndex: "opacation",
key: "opacation",
width: '30%',
width: "30%",
align: "center",
},
];
@@ -1173,106 +1329,112 @@ export default defineComponent({
},
setup() {
const current = ref(['mail']);
const current = ref(["mail"]);
const state = reactive({
tableData: [
{
key: '1',
key: "1",
num: 1,
name: '时间管理',
content: '领导力',
courseform: '线上',
project: '管理者进阶-腾飞班1',
stunum: '50',
grade: '5',
status: '未提交',
ynpub: '未发布',
creator: '管理员',
createtime: '2022-07-20 9:30',
pubtime: '2022-07-20 9:30',
ynuse: '启用',
name: "时间管理",
content: "领导力",
courseform: "线上",
project: "管理者进阶-腾飞班1",
stunum: "50",
grade: "5",
status: "未提交",
ynpub: "未发布",
creator: "管理员",
createtime: "2022-07-20 9:30",
pubtime: "2022-07-20 9:30",
ynuse: "启用",
kkty: false,
}, {
key: '2',
},
{
key: "2",
num: 2,
name: '智能制造初级课程',
content: '专业力',
courseform: '线上',
project: '-',
stunum: '200',
grade: '5',
status: '待审核',
ynpub: '未发布',
creator: '管理员',
createtime: '2022-07-20 9:30',
pubtime: '2022-07-20 9:30',
ynuse: '启用',
name: "智能制造初级课程",
content: "专业力",
courseform: "线上",
project: "-",
stunum: "200",
grade: "5",
status: "待审核",
ynpub: "未发布",
creator: "管理员",
createtime: "2022-07-20 9:30",
pubtime: "2022-07-20 9:30",
ynuse: "启用",
kkty: true,
}, {
key: '3',
},
{
key: "3",
num: 3,
name: '产业必备技能',
content: '专业力',
courseform: '线上',
project: '-',
stunum: '200',
grade: '5',
status: '已审核',
ynpub: '已发布',
creator: '管理员',
createtime: '2022-07-20 9:30',
pubtime: '2022-07-20 9:30',
ynuse: '启用',
name: "产业必备技能",
content: "专业力",
courseform: "线上",
project: "-",
stunum: "200",
grade: "5",
status: "已审核",
ynpub: "已发布",
creator: "管理员",
createtime: "2022-07-20 9:30",
pubtime: "2022-07-20 9:30",
ynuse: "启用",
kkty: true,
}, {
key: '4',
},
{
key: "4",
num: 4,
name: 'B11入模培训',
content: '专业力',
courseform: '线上',
project: '-',
stunum: '200',
grade: '5',
status: '审核未通过',
ynpub: '未发布',
creator: '管理员',
createtime: '2022-07-20 9:30',
pubtime: '2022-07-20 9:30',
ynuse: '停用',
name: "B11入模培训",
content: "专业力",
courseform: "线上",
project: "-",
stunum: "200",
grade: "5",
status: "审核未通过",
ynpub: "未发布",
creator: "管理员",
createtime: "2022-07-20 9:30",
pubtime: "2022-07-20 9:30",
ynuse: "停用",
kkty: true,
}, {
key: '5',
},
{
key: "5",
num: 5,
name: '入职培训',
content: '通用力',
courseform: '面授',
project: '-',
stunum: '5',
grade: '5',
status: '未提交',
ynpub: '未发布',
creator: '管理员',
createtime: '2022-07-20 9:30',
pubtime: '2022-07-20 9:30',
ynuse: '启用',
name: "入职培训",
content: "通用力",
courseform: "面授",
project: "-",
stunum: "5",
grade: "5",
status: "未提交",
ynpub: "未发布",
creator: "管理员",
createtime: "2022-07-20 9:30",
pubtime: "2022-07-20 9:30",
ynuse: "启用",
kkty: true,
}, {
key: '6',
},
{
key: "6",
num: 6,
name: '入职培训',
content: '通用力',
courseform: '面授',
project: '-',
stunum: '5',
grade: '6',
status: '已审核',
ynpub: '已发布',
creator: '管理员',
createtime: '2022-07-20 9:30',
pubtime: '2022-07-20 9:30',
ynuse: '启用',
name: "入职培训",
content: "通用力",
courseform: "面授",
project: "-",
stunum: "5",
grade: "6",
status: "已审核",
ynpub: "已发布",
creator: "管理员",
createtime: "2022-07-20 9:30",
pubtime: "2022-07-20 9:30",
ynuse: "启用",
kkty: true,
}],
},
],
tableData2: [
{
key: 1,
@@ -1315,35 +1477,35 @@ export default defineComponent({
name: "李明",
organization: "-",
position: "产品经理",
authority:'归属权',
authority: "归属权",
},
{
key: 2,
name: "李洋",
organization: "-",
position: "产品经理",
authority:'查看权',
authority: "查看权",
},
{
key: 3,
name: "小李",
organization: "-",
position: "产品经理",
authority:'管理权',
authority: "管理权",
},
{
key: 4,
name: "雄安名",
organization: "-",
position: "产品经理",
authority:'管理权',
authority: "管理权",
},
{
key: 5,
name: "王哥",
organization: "-",
position: "产品经理",
authority:'管理权',
authority: "管理权",
},
],
currentPage: 1,
@@ -1355,40 +1517,40 @@ export default defineComponent({
num: 1,
organization: "管理者面授课1",
address: "核心能力大楼培训",
starttime:'2022-07-20 14:00:00',
createtime:'2022-07-14 14:00:00',
starttime: "2022-07-20 14:00:00",
createtime: "2022-07-14 14:00:00",
},
{
key: 2,
num: 2,
organization: "管理者面授课2",
address: "核心能力大楼培训",
starttime:'2022-07-20 14:00:00',
createtime:'2022-07-14 14:00:00',
starttime: "2022-07-20 14:00:00",
createtime: "2022-07-14 14:00:00",
},
{
key: 3,
num: 3,
organization: "管理者面授课3",
address: "核心能力大楼培训",
starttime:'2022-07-20 14:00:00',
createtime:'2022-07-14 14:00:00',
starttime: "2022-07-20 14:00:00",
createtime: "2022-07-14 14:00:00",
},
{
key: 4,
num: 4,
organization: "管理者面授课4",
address: "核心能力大楼培训",
starttime:'2022-07-20 14:00:00',
createtime:'2022-07-14 14:00:00',
starttime: "2022-07-20 14:00:00",
createtime: "2022-07-14 14:00:00",
},
{
key: 5,
num: 5,
organization: "管理者面授课5",
address: "核心能力大楼培训",
starttime:'2022-07-20 14:00:00',
createtime:'2022-07-14 14:00:00',
starttime: "2022-07-20 14:00:00",
createtime: "2022-07-14 14:00:00",
},
],
});
@@ -1673,12 +1835,12 @@ export default defineComponent({
const of_hShow = () => {
if (state.of_hs == false) {
state.of_hs = true
}
state.of_hs = true;
}
};
const of_exit = () => {
state.of_hs = false;
}
};
const hideShow = () => {
if (state.hideshow == true) {
state.hideshow = false;
@@ -1751,7 +1913,6 @@ export default defineComponent({
createkk,
cstm_exit,
sm_exit,
};
},
});
@@ -2235,7 +2396,8 @@ export default defineComponent({
}
}
.onlinemanage,.faceteachmanage{
.onlinemanage,
.faceteachmanage {
display: none;
z-index: 999;
width: 85%;
@@ -2252,7 +2414,10 @@ export default defineComponent({
position: absolute;
width: calc(100%);
height: 40px;
background: linear-gradient( rgba(78,166,255,0.2) 0%, rgba(78,166,255,0) 100%);
background: linear-gradient(
rgba(78, 166, 255, 0.2) 0%,
rgba(78, 166, 255, 0) 100%
);
}
.om_main{
width:calc(100%);
@@ -2476,83 +2641,32 @@ export default defineComponent({
background-size: 100% 100%;
}
}
.gpm_inputbtn{
.b_sub {
display: flex;
width: 90%;
margin: 20px auto;
.gpm_btn {
width: 100px;
height: 40px;
margin-right: 14px;
background: #ffffff;
border: 1px solid #4EA6FF;
border-radius: 8px;
margin-bottom: 10px;
.bs_type {
color: #999ba3;
}
.bs_left {
color: #999ba3;
margin-left: 35px;
}
.bs_right {
color: #4f5156;
}
}
.b_menu {
width: calc(100%);
}
.b_menunav {
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
cursor: pointer;
.btnText {
color: #4EA6FF;
font-size: 14px;
font-weight: 400;
line-height: 40px;
margin-top: 20px;
margin-bottom: 20px;
.bm_select {
margin-right: 20px;
}
}
.btn1 {
.search {
width: 15px;
height: 17px;
background-image: url("../../assets/images/courseManage/search1.png");
}
}
.btn2 {
.search {
width: 16px;
height: 18px;
background-image: url("../../assets/images/courseManage/reset1.png");
}
}
.btn1:hover {
background: rgba(64, 158, 255, 1);
.search {
background-image: url("../../assets/images/courseManage/search0.png");
}
.btnText {
color: #ffffff;
}
}
.btn2:hover {
background: rgba(64, 158, 255, 1);
.search {
background-image: url("../../assets/images/courseManage/reset0.png");
}
.btnText {
color: #ffffff;
}
}
}
.gpm_notice{
width: 90%;
height: 49px;
margin: 0 auto;
background-color: rgba(125, 190, 255, 0.25);
display: flex;
align-items: center;
.th_icon{
width: 16px;
height: 16px;
margin-left: 37px;
margin-right: 13px;
border-radius: 50%;
background-color: #4EA6FF;
font-weight: bold;
color: #ffffff;
text-align: center;
line-height: 16px;
}
.textarea{
margin-right: 33px;
.bm_input {
margin-right: 20px;
}
}
.gpm_table{

View File

@@ -113,7 +113,12 @@
</div>
<div class="inname">路径图名称</div>
<div class="in">
<a-input v-model:value="valueE" />
<a-input
v-model:value="valueE"
maxlength="20"
style="border-radius: 4px"
/>
<div class="showcount">{{ valuei.length }}/20</div>
</div>
</div>
<div class="bac">
@@ -140,7 +145,8 @@
<div class="info">
<div class="inname">路径说明</div>
<div class="in">
<a-textarea v-model:value="valuei" />
<a-textarea v-model:value="valuei" maxlength="150" />
<div class="showcount">{{ valuei.length }}/150</div>
</div>
</div>
<div class="btn">
@@ -228,25 +234,25 @@ export default {
imgData: [
{
id: 1,
source: require("../../assets/px.jpg"),
source: require("../../assets/images/leveladd/1.png"),
},
{
id: 2,
source: require("../../assets/px.jpg"),
source: require("../../assets/images/leveladd/2.png"),
},
{
id: 3,
source: require("../../assets/px.jpg"),
source: require("../../assets/images/leveladd/3.png"),
},
],
currentPage: 1,
tableDataTotal: 20,
tableDataTotal: 100,
pageSize: 10,
value1: "",
value2: ref(),
valueE: ref(" "),
valueEE: ref(" "),
valuei: ref(" "),
valueE: "",
valueEE: "",
valuei: "",
});
const tableDataFunc = () => {
const columns = [
@@ -314,38 +320,38 @@ export default {
key: "opacation",
width: 200,
align: "center",
scopedSlots: { customRender: "action" }, //引入的插槽
customRender: (text) => {
console.log(text);
return (
<div class="opa">
<div class="opacation">
<span class={text.record.haspub ? "activecls" : "errorCls"}>
发布
</span>
<span style={{ "margin-left": "25px" }}>编辑</span>
<router-link to="/leveladd">
<span style={{ "margin-left": "25px" }}>关卡</span>
</router-link>
// scopedSlots: { customRender: "action" }, //引入的插槽
// customRender: (text) => {
// console.log(text);
// return (
// <div class="opa">
// <div class="opacation">
// <span class={text.record.haspub ? "activecls" : "errorCls"}>
// 发布
// </span>
// <span style={{ "margin-left": "25px" }}>编辑</span>
// <router-link to="/leveladd">
// <span style={{ "margin-left": "25px" }}>关卡</span>
// </router-link>
<span style={{ "margin-left": "25px" }} class="more">
<span>授权</span>
<div class="moreArrow"></div>
<div class="moreItems"></div>
</span>
// <div style={{ "margin-left": "25px" }} class="more">
// <span>授权</span>
// <div class="moreArrow"></div>
// <div class="moreItems"></div>
// </div>
<span
style={{ "margin-left": "21px", "margin-right": "30px" }}
class="more"
>
<span>更多</span>
<div class="moreArrow"></div>
<div class="moreItems"></div>
</span>
</div>
</div>
);
},
// <div
// style={{ "margin-left": "21px", "margin-right": "30px" }}
// class="more"
// >
// <span>更多</span>
// <div class="moreArrow"></div>
// <div class="moreItems"></div>
// </div>
// </div>
// </div>
// );
// },
},
];
return columns;
@@ -366,6 +372,102 @@ export default {
const chooseImg = (id) => {
console.log(id);
};
const getTableDate = () => {
let data = state.tableData;
data.map((value) => {
{
//单层项目
value.opacation = (
<div class="operation">
<div class="nSelect">
{value.state === "草稿" ? (
<div class="fb">
<div class="jc">发布</div>
<div class="jc">编辑</div>
</div>
) : (
<div></div>
)}
{value.state === "已发布" ? (
<div class="fb">
<div class="jc">编辑</div>
</div>
) : (
<div></div>
)}
{value.state === "已停用" ? (
<div class="fb">
<div class="jc">复制</div>
</div>
) : (
<div></div>
)}
</div>
<div class="tableSelect">
<router-link to="/leveladd">
<div class="g1">关卡</div>
</router-link>
<a-select
style="width: 50px;margin-top:2px;margin-left:25px"
value="授权"
// options={state.projectNameList}
dropdownClassName="tabledropdown"
>
<a-select-option value="权限名单" label="权限名单">
<div>权限名单</div>
</a-select-option>
<a-select-option value="归属权" label="归属权">
<div
onClick={() => {
console.log("点击了");
}}
>
归属权
</div>
</a-select-option>
<a-select-option value="查看权" label="查看权">
<div>查看权</div>
</a-select-option>
<a-select-option value="管理权" label="管理权">
<div>管理权</div>
</a-select-option>
</a-select>
<a-select
style="width: 50px;margin-top:2px;margin-left:25px"
value="更多"
// options={state.projectNameList}
dropdownClassName="tabledropdown"
>
<a-select-option
value="复制"
label="复制"
style="padding-left:35px"
>
<div>复制</div>
</a-select-option>
<a-select-option
value="取消"
label="取消"
style="padding-left:35px"
>
<div
onClick={() => {
console.log("点击了");
}}
>
取消
</div>
</a-select-option>
</a-select>
</div>
</div>
);
}
});
state.tableData = data;
};
getTableDate();
return {
...toRefs(state),
selectProjectName,
@@ -505,6 +607,85 @@ export default {
bottom: 20px;
}
}
.operation {
display: flex;
justify-content: right;
.nSelect {
.fb {
display: flex;
.jc {
color: #4ea6ff;
font-size: 14px;
margin-left: 20px;
}
}
}
.tableSelect {
margin-right: 20px;
display: flex;
align-items: center;
justify-content: right;
.g1 {
color: #4ea6ff;
font-size: 14px;
}
}
}
// .operation {
// font-size: 14px;
// font-weight: 400;
// color: #4ea6ff;
// // line-height: 36px;
// .operation1 {
// margin-left: 21px;
// width: 28px;
// display: inline-block;
// }
// .operation3 {
// margin-left: 21px;
// width: 70px;
// display: inline-block;
// text-align: center;
// }
// .more {
// width: 50px;
// display: inline-block;
// margin-left: 21px;
// position: relative;
// text-align: left;
// // z-index: 99999;
// .moreArrow {
// width: 13px;
// height: 7px;
// display: inline-block;
// background-image: url("../../assets/images/navtop/down.png");
// background-size: 100%;
// margin: 2px;
// margin-left: 7px;
// }
// .moreItems {
// width: 80px;
// padding: 5px;
// display: none;
// background: #ffffff;
// box-shadow: 2px 3px 9px 3px rgba(0, 0, 0, 0.05);
// border-radius: 3px;
// border: 0px solid #dcdcdc;
// position: absolute;
// left: 0px;
// top: 28px;
// z-index: 100;
// text-align: center;
// }
// }
// .more:hover .moreArrow {
// background-image: url("../../assets/images/navtop/up.png");
// }
// .more:hover .moreItems {
// display: block;
// }
// }
.out {
display: block;
position: absolute;
@@ -531,6 +712,7 @@ export default {
width: 18px;
height: 18px;
margin-left: 27px;
margin-top: -2px;
}
.topc {
color: #000000;
@@ -567,12 +749,19 @@ export default {
.in {
margin-left: 14px;
width: 81%;
position: relative;
.ant-input {
border-radius: 5px;
// height: 120%;
width: 100%;
height: 40px;
}
.showcount {
position: absolute;
right: 10px;
color: #c7cbd2;
bottom: 5px;
}
}
}
.bac {
@@ -624,6 +813,7 @@ export default {
.in {
margin-left: 14px;
width: 81%;
position: relative;
.ant-input {
border-radius: 5px;
// height: 120%;
@@ -631,6 +821,12 @@ export default {
height: 130px;
resize: none;
}
.showcount {
position: absolute;
right: 10px;
color: #c7cbd2;
bottom: 5px;
}
}
}
.btn {
@@ -669,6 +865,7 @@ export default {
font-size: 14px;
font-weight: 400;
color: #4ea6ff;
display: flex;
// line-height: 36px;
.activecls {
display: inline-block;
@@ -678,6 +875,7 @@ export default {
}
.more {
position: relative;
height: 100%;
.moreArrow {
width: 13px;
height: 7px;
@@ -697,8 +895,8 @@ export default {
border: 0px solid #dcdcdc;
position: absolute;
left: 0px;
top: 18px;
z-index: 100;
top: 30px;
z-index: 999;
}
}
.more:hover .moreArrow {

View File

@@ -61,7 +61,6 @@
<div class="search"></div>
<div class="btnText">重置</div>
</div>
<router-link to="/leveladddetail">
<div class="btn btn3" @click="handleOut">
<div class="search"></div>
@@ -120,11 +119,14 @@
<div class="linee"></div>
<div class="itright">
<span class="te">编辑</span>
<span class="more">
<span class="te" style="margin-left: 20px">更多</span>
<div class="more">
<div class="te" style="margin-left: 20px">更多</div>
<div class="moreArrow"></div>
<div class="moreItems"></div>
</span>
<div class="moreItems">
<div class="roleItem">复制</div>
<div class="roleItem">删除</div>
</div>
</div>
</div>
</div>
</div>
@@ -173,7 +175,6 @@
><span style="color: #4ea6ff">1</span><span>-</span
><span style="color: #4ea6ff">4</span><span>关内容</span>
</div>
<br />
</div>
</div>
@@ -259,7 +260,6 @@
</div>
</div>
</template>
<script>
import { ref, reactive, toRefs } from "vue";
export default {
@@ -354,7 +354,6 @@ export default {
},
};
</script>
<style scoped lang="scss">
.clearfix:before,
.clearfix:after {
@@ -437,11 +436,12 @@ export default {
margin-top: 5px;
margin-right: 60px;
}
.more {
position: relative;
margin-right: 30px;
height: 30px;
display: flex;
align-items: center;
.moreArrow {
width: 13px;
height: 7px;
@@ -461,7 +461,7 @@ export default {
border: 0px solid #dcdcdc;
position: absolute;
left: -48px;
top: 28px;
top: 30px;
z-index: 100;
.sammo {
text-align: center;
@@ -491,12 +491,10 @@ export default {
.pub {
margin-right: 10px;
}
.more {
margin-right: 10px;
}
}
.more:hover .moreArrow {
background-image: url("../../assets/images/navtop/up.png");
}
@@ -505,7 +503,6 @@ export default {
}
}
}
.split {
width: 100%;
height: 20px;
@@ -611,6 +608,7 @@ export default {
}
.Lbom {
position: relative;
margin-bottom: 20px;
.item {
width: 100%;
height: 200px;
@@ -680,13 +678,15 @@ export default {
.itright {
position: absolute;
right: 45px;
display: flex;
.te {
color: #4ea6ff;
font-size: 14px;
}
}
.more {
position: relative;
height: 30px;
display: flex;
.moreArrow {
width: 13px;
height: 7px;
@@ -695,6 +695,7 @@ export default {
background-size: 100%;
margin: 2px;
margin-left: 7px;
margin-top: 6px;
}
.moreItems {
width: 80px;
@@ -706,8 +707,19 @@ export default {
border: 0px solid #dcdcdc;
position: absolute;
left: 0px;
top: 18px;
top: 20px;
z-index: 100;
.roleItem {
font-size: 14px;
font-weight: 400;
color: rgba(79, 81, 86, 1);
line-height: 36px;
display: flex;
justify-content: center;
}
.roleItem:hover {
color: #4ea6ff;
}
}
}
.more:hover .moreArrow {
@@ -721,6 +733,7 @@ export default {
}
}
}
}
.Gcon {
display: flex;
.pad {
@@ -753,7 +766,6 @@ export default {
.onemain {
margin-top: 20px;
margin-left: 55px;
color: #6f6f6f;
font-size: 14px;
.checkcon {

View File

@@ -57,13 +57,21 @@
class="img2"
src="../../assets/images/leveladd/more.png"
/>
<div class="more">
<span style="color: #7096e3">更多</span>
<!-- <div class="more">
<div style="color: #7096e3">更多</div>
<div class="moreArrow"></div>
<div class="moreItems">
<div class="sammo">撤回</div>
<div class="sammo">复制</div>
</div>
</div> -->
<div class="role">
<div>更多</div>
<div class="roleArrow"></div>
<div class="roleItems">
<div class="roleItem">复制</div>
<div class="roleItem">删除</div>
</div>
</div>
<div class="line"></div>
<img class="img2" src="../../assets/images/leveladd/back.png" />
@@ -257,21 +265,124 @@
</div>
</div>
</div>
<div class="draw" style="position: relative">
<a-drawer
v-model:visible="visible"
class="custom-class"
class="drawerStyle"
title="关联项目"
placement="right"
width="50%"
@after-visible-change="afterVisibleChange"
>
<div class="drawerMain">
<div class="header">
<div class="headerTitle">关联项目</div>
<img
style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png"
@click="showDrawer"
/>
</div>
<div class="drawerbox">
<a-table
:columns="drawercolumns"
:data-source="drawertableData"
:loading="tableDataTotal === -1 ? true : false"
:scroll="{ x: 700 }"
@expand="expandTable"
:pagination="false"
>
</a-table>
</div>
<div
class="btnn"
style="
height: 72px;
width: 100%;
position: absolute;
bottom: 0;
display: flex;
align-items: center;
justify-content: center;
"
>
<button
@click="showDrawer"
style="
width: 100px;
height: 40px;
border: 1px solid #4ea6ff;
border-radius: 8px;
color: #4ea6ff;
background-color: #fff;
cursor: pointer;
"
>
取消
</button>
<button
@click="showDrawer"
style="
cursor: pointer;
width: 100px;
height: 40px;
background: #4ea6ff;
border-radius: 8px;
border: 0;
margin-left: 15px;
color: #fff;
"
>
确定
</button>
</div>
</div>
</a-drawer>
</div>
</div>
</div>
</template>
<script>
import { reactive, toRefs } from "vue";
const drawercolumns = [
{
title: "项目名称",
dataIndex: "projectName",
key: "projectName",
width: 200,
// align: "center",
ellipsis: true,
// scopedSlots: { customRender: "action" }, //引入的插槽
// customRender: (text, record) => {
// console.log(text, record);
// return <span>{text.text}</span>;
// },
},
{
title: "项目经理",
dataIndex: "manager",
key: "manager",
width: 100,
align: "center",
},
{
title: "创建人",
dataIndex: "creater",
// width: "30%",
key: "creater",
width: 100,
align: "center",
},
{
title: "创建时间",
dataIndex: "time",
key: "time",
width: 180,
align: "center",
},
];
export default {
name: "LevelAddDetail",
setup() {
@@ -301,23 +412,18 @@ export default {
projectNameList2: [
{
id: 1,
value: "项目一",
label: "项目一",
value: "批量操作",
label: "批量操作",
},
{
id: 2,
value: "项目二",
label: "项目二",
value: "删除任务",
label: "删除任务",
},
{
id: 3,
value: "项目三",
label: "项目三",
},
{
id: 4,
value: "项目四",
label: "项目四",
value: "移动任务到关卡",
label: "移动任务到关卡",
},
],
level: [
@@ -389,6 +495,101 @@ export default {
checkedd: false,
},
],
drawertableData: [
{
key: 1,
projectName: "管理者进阶",
manager: "黄华 刘俊",
creater: "毛继禹",
time: "2022-07-20 14:00:03",
children: [
{
key: "1-1",
projectName: "管理者进阶-腾飞班",
manager: "黄华 刘俊",
creater: "毛继禹",
time: "2022-07-20 14:00:03",
children: [
{
key: "1-1-1",
projectName: "管理者进阶-腾飞班K1",
manager: "黄华 刘俊",
creater: "毛继禹",
time: "2022-07-20 14:00:03",
},
],
},
],
},
{
key: 2,
projectName: "管理者进阶",
manager: "黄华 刘俊",
creater: "毛继禹",
time: "2022-07-20 14:00:03",
children: [
{
key: "2-1",
projectName: "管理者进阶-腾飞班",
manager: "黄华 刘俊",
creater: "毛继禹",
time: "2022-07-20 14:00:03",
children: [
{
key: "2-1-1",
projectName: "管理者进阶-腾飞班K1",
manager: "黄华 刘俊",
creater: "毛继禹",
time: "2022-07-20 14:00:03",
},
],
},
],
},
{
key: 3,
projectName: "管理者进阶-腾飞班K1",
manager: "黄华 刘俊",
creater: "毛继禹",
time: "2022-07-20 14:00:03",
},
{
key: 4,
projectName: "管理者进阶-腾飞班K1",
manager: "黄华 刘俊",
creater: "毛继禹",
time: "2022-07-20 14:00:03",
},
{
key: 5,
projectName: "管理者进阶-腾飞班K1",
manager: "黄华 刘俊",
creater: "毛继禹",
time: "2022-07-20 14:00:03",
},
{
key: 6,
projectName: "管理者进阶-腾飞班K1",
manager: "黄华 刘俊",
creater: "毛继禹",
time: "2022-07-20 14:00:03",
},
{
key: 7,
projectName: "管理者进阶-腾飞班K1",
manager: "黄华 刘俊",
creater: "毛继禹",
time: "2022-07-20 14:00:03",
},
],
currentPage: 1,
tableDataTotal: 100,
pageSize: 10,
@@ -401,7 +602,7 @@ export default {
console.log("value", value, index);
};
const showDrawer = () => {
state.visible = true;
state.visible = !state.visible;
};
const afterVisibleChange = (bool) => {
console.log("visible", bool);
@@ -513,6 +714,7 @@ export default {
tableDataFunc,
showDrawer,
afterVisibleChange,
drawercolumns,
};
},
};
@@ -526,6 +728,52 @@ export default {
clear: both;
}
.drawerStyle {
.ant-drawer-content-wrapper {
max-width: 1000px;
.ant-drawer-header {
display: none !important;
}
.ant-drawer-body {
padding: 0;
}
}
.drawerMain {
min-width: 600px;
margin: 0px 32px 0px 32px;
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;
.headerTitle {
font-size: 18px;
font-weight: 600;
color: #333333;
line-height: 25px;
// margin-left: 24px;
}
}
.drawerbox {
margin: 20px 38px 30px;
th {
background-color: #eff4fc !important;
}
.ant-table-tbody
> tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)
> td {
background: #f6f9fd;
}
}
}
}
.allCon {
width: 100%;
height: 100%;
@@ -719,49 +967,51 @@ export default {
margin-right: 20px;
}
.more {
.role {
display: flex;
align-items: center;
font-size: 16px;
font-weight: 400;
color: #333330;
line-height: 36px;
cursor: pointer;
position: relative;
margin-right: 30px;
.moreArrow {
margin-right: 20px;
.roleArrow {
width: 13px;
height: 7px;
display: inline-block;
background-image: url("../../assets/images/navtop/down.png");
margin-left: 8px;
background-image: url(../../assets/images/navtop/down.png);
background-size: 100%;
margin: 2px;
margin-left: 15px;
}
.moreItems {
width: 110px;
height: 80px;
display: none;
.roleItems {
width: 109px;
height: 90px;
padding-top: 10px;
background: #ffffff;
box-shadow: 2px 3px 9px 3px rgba(0, 0, 0, 0.05);
// border-radius: 3px;
border: 0px solid #dcdcdc;
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21);
position: absolute;
left: -48px;
top: 28px;
z-index: 100;
.sammo {
top: 35px;
right: 0px;
text-align: center;
margin-top: 12px;
display: none;
z-index: 100;
}
.sammo:hover {
.roleItem {
font-size: 14px;
font-weight: 400;
color: rgba(79, 81, 86, 1);
line-height: 36px;
}
.roleItem:hover {
color: #4ea6ff;
}
}
.moreItems:hover {
.role:hover .roleItems {
display: block;
}
}
.more:hover .moreArrow {
background-image: url("../../assets/images/navtop/up.png");
}
.more:hover .moreItems {
display: block;
.role:hover .roleArrow {
background-image: url(../../assets/images/navtop/up.png);
}
}
}
@@ -879,7 +1129,24 @@ export default {
}
}
}
// .drawerbox {
// // margin: 20px 38px 30px;
// th.h {
// background-color: #eff4fc !important;
// }
// .ant-table-tbody
// > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)
// > td {
// background: #f6f9fd;
// }
// }
.draw {
.drawerbox {
}
}
}
.opat {
.opacationt {
display: flex;

View File

@@ -25,7 +25,7 @@
v-model:visible="visible"
class="drawerStyle"
style="color: red"
width="70%"
width="80%"
title="添加投票"
placement="right"
@after-visible-change="afterVisibleChange"
@@ -39,6 +39,7 @@
@click="closeDrawer"
/>
</div>
<div class="contentMain">
<!-- 投票名称 -->
<div class="vote">
<div class="votebox">
@@ -103,6 +104,82 @@
</div>
</div>
<!-- 投票说明 -->
<!-- 投票说明 -->
<div class="vote" style="align-items: flex-start">
<div class="votebox" style="margin-top: 10px">
<div class="voteimg"></div>
<div class="votename">投票说明</div>
</div>
<div style="width: 500px">
<a-textarea
:rows="4"
placeholder="请输入投票说明"
:maxlength="6"
/>
</div>
</div>
<!-- 投票说明 -->
<!-- 投票说明 -->
<div class="vote" style="align-items: flex-start">
<div class="votebox" style="margin-top: 10px">
<div class="voteimg"></div>
<div class="votename">投票说明</div>
</div>
<div style="width: 500px">
<a-textarea
:rows="4"
placeholder="请输入投票说明"
:maxlength="6"
/>
</div>
</div>
<!-- 投票说明 -->
<!-- 投票说明 -->
<div class="vote" style="align-items: flex-start">
<div class="votebox" style="margin-top: 10px">
<div class="voteimg"></div>
<div class="votename">投票说明</div>
</div>
<div style="width: 500px">
<a-textarea
:rows="4"
placeholder="请输入投票说明"
:maxlength="6"
/>
</div>
</div>
<!-- 投票说明 -->
<!-- 投票说明 -->
<div class="vote" style="align-items: flex-start">
<div class="votebox" style="margin-top: 10px">
<div class="voteimg"></div>
<div class="votename">投票说明</div>
</div>
<div style="width: 500px">
<a-textarea
:rows="4"
placeholder="请输入投票说明"
:maxlength="6"
/>
</div>
</div>
<!-- 投票说明 -->
<!-- 投票说明 -->
<div class="vote" style="align-items: flex-start">
<div class="votebox" style="margin-top: 10px">
<div class="voteimg"></div>
<div class="votename">投票说明</div>
</div>
<div style="width: 500px">
<a-textarea
:rows="4"
placeholder="请输入投票说明"
:maxlength="6"
/>
</div>
</div>
<!-- 投票说明 -->
</div>
</div>
</a-drawer>
</div>
@@ -142,21 +219,7 @@ export default {
width: 100%;
}
.drawerStyle {
.ant-drawer-content-wrapper {
max-width: 1000px;
.ant-drawer-header {
display: none !important;
}
.ant-drawer-body {
padding: 0;
}
}
.drawerMain {
min-width: 600px;
margin: 0px 32px 0px 32px;
overflow-x: scroll;
display: flex;
flex-direction: column;
.header {
height: 73px;
border-bottom: 1px solid #e8e8e8;
@@ -171,6 +234,7 @@ export default {
margin-left: 24px;
}
}
.contentMain {
.vote {
display: flex;
align-items: center;
@@ -222,4 +286,5 @@ export default {
}
}
}
}
</style>