style:增加抽屉样式
BIN
src/assets/images/basicinfo/asterisk.png
Normal file
|
After Width: | Height: | Size: 360 B |
BIN
src/assets/images/basicinfo/close.png
Normal file
|
After Width: | Height: | Size: 695 B |
BIN
src/assets/images/coursewareManage/pc.png
Normal file
|
After Width: | Height: | Size: 317 B |
BIN
src/assets/images/coursewareManage/search0.png
Normal file
|
After Width: | Height: | Size: 460 B |
BIN
src/assets/images/coursewareManage/search1.png
Normal file
|
After Width: | Height: | Size: 577 B |
BIN
src/assets/images/projectadd/enclosure.png
Normal file
|
After Width: | Height: | Size: 628 B |
BIN
src/assets/px.jpg
Normal file
|
After Width: | Height: | Size: 40 KiB |
@@ -99,6 +99,13 @@ export default {
|
|||||||
},
|
},
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
if (n === "/systemmanage" || n === "/SystemManage") {
|
||||||
|
state.list = [
|
||||||
|
{
|
||||||
|
name: "系统管理",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -153,7 +153,7 @@
|
|||||||
src="../assets/images/navleft/system.png"
|
src="../assets/images/navleft/system.png"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<span>系统管理</span>
|
<router-link to="/systemmanage">系统管理</router-link>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
</a-menu>
|
</a-menu>
|
||||||
</div>
|
</div>
|
||||||
@@ -281,6 +281,12 @@ export default {
|
|||||||
selectedKeys: "sub3-2",
|
selectedKeys: "sub3-2",
|
||||||
pagename: "课程管理",
|
pagename: "课程管理",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
href: "/systemmanage",
|
||||||
|
openKeys: "sub9",
|
||||||
|
selectedKeys: "sub9",
|
||||||
|
pagename: "系统管理",
|
||||||
|
},
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -5,13 +5,9 @@
|
|||||||
<div class="box">
|
<div class="box">
|
||||||
<ul>
|
<ul>
|
||||||
<li class="drag"><a href="#">导航一</a></li>
|
<li class="drag"><a href="#">导航一</a></li>
|
||||||
|
|
||||||
<li class="drag"><a href="#">导航二导航</a></li>
|
<li class="drag"><a href="#">导航二导航</a></li>
|
||||||
|
|
||||||
<li class="drag"><a href="#">导航导航导航三</a></li>
|
<li class="drag"><a href="#">导航导航导航三</a></li>
|
||||||
|
|
||||||
<li class="drag"><a href="#">导航导航四</a></li>
|
<li class="drag"><a href="#">导航导航四</a></li>
|
||||||
|
|
||||||
<li class="drag"><a href="#">导五</a></li>
|
<li class="drag"><a href="#">导五</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,316 +1,335 @@
|
|||||||
<!-- 课程管理页面 -->
|
<!-- 课件管理页面 -->
|
||||||
<template>
|
<template>
|
||||||
<div class="coursewareManage">
|
<div class="courseManage">
|
||||||
<div
|
<div class="headerf">
|
||||||
style="width: calc(100% - 76px); margin: 19px 0px 30px 38px"
|
<!-- 搜索框及按钮 -->
|
||||||
class="tableBox"
|
<div class="filter">
|
||||||
>
|
<div class="filterItems">
|
||||||
<a-table
|
<div class="fi_input fitems">
|
||||||
:columns="columns"
|
<a-input v-model:value="value" style="width: 270px ;height:40px;border-radius: 8px;" placeholder="请输入项目名称" />
|
||||||
:data-source="tableData"
|
</div>
|
||||||
:row-selection="rowSelection"
|
<div class="fi_input fitems">
|
||||||
:loading="tableDataTotal === -1 ? true : false"
|
<a-input v-model:value="value" style="width: 270px ;height:40px;border-radius: 8px;" placeholder="请输入名称" />
|
||||||
:scroll="{ x: 700, y: 800 }"
|
</div>
|
||||||
:pagination="{
|
<div class="fi_input fitems">
|
||||||
showSizeChanger: true,
|
<a-input v-model:value="value" style="width: 270px ;height:40px;border-radius: 8px;" placeholder="请输入所属项目" />
|
||||||
showQuickJumper: true,
|
</div>
|
||||||
hideOnSinglePage: true,
|
<div class="select fitems">
|
||||||
pageSizeOptions: [],
|
<a-select
|
||||||
pageSize: pageSize,
|
v-model:value="projectName"
|
||||||
current: currentPage,
|
style="width: 200px"
|
||||||
total: tableDataTotal,
|
placeholder="请选择状态"
|
||||||
onChange: (page, pageSize) => {
|
:options="projectNameList"
|
||||||
currentPage = page;
|
@change="selectProjectName"
|
||||||
// console.log('page', page)
|
allowClear
|
||||||
// 加翻页查找代码
|
showSearch
|
||||||
// this.setState({
|
></a-select>
|
||||||
// currentPage: page,
|
</div>
|
||||||
// }, () => {
|
<div class="select fitems">
|
||||||
// this.getMilitaryDeployment()
|
<a-select
|
||||||
// })
|
v-model:value="projectName"
|
||||||
},
|
style="width: 200px"
|
||||||
}"
|
placeholder="请选择内容分类"
|
||||||
/>
|
:options="projectNameList"
|
||||||
|
@change="selectProjectName"
|
||||||
|
allowClear
|
||||||
|
showSearch
|
||||||
|
></a-select>
|
||||||
|
</div>
|
||||||
|
<div class="select fitems">
|
||||||
|
<a-time-range-picker />
|
||||||
|
<!-- <a-date-picker
|
||||||
|
v-model="selectTime"
|
||||||
|
type="date"
|
||||||
|
placeholder="创建时间"
|
||||||
|
style="width: 286px"
|
||||||
|
/> -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="btns">
|
||||||
|
<div class="btn btn1">
|
||||||
|
<div class="search"></div>
|
||||||
|
<div class="btnText">搜索</div>
|
||||||
|
</div>
|
||||||
|
<div class="btn btn2">
|
||||||
|
<div class="search"></div>
|
||||||
|
<div class="btnText">重置</div>
|
||||||
|
</div>
|
||||||
|
<div class="btn btn3">
|
||||||
|
<div class="search"></div>
|
||||||
|
<div class="btnText">导出</div>
|
||||||
|
</div>
|
||||||
|
<div class="btn btn4">
|
||||||
|
<div class="search"></div>
|
||||||
|
<div class="btnText">新建课程</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- 搜索框及按钮 -->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- 表格 -->
|
||||||
|
<div class="tableBox">
|
||||||
|
<a-table :columns="columns" :data-source="data" :scroll="{ x: 1300, y: 1000 }">
|
||||||
|
<template #bodyCell="{ column }">
|
||||||
|
<template v-if="column.key === 'operation'">
|
||||||
|
<a>action</a>
|
||||||
|
</template>
|
||||||
|
</template>
|
||||||
|
</a-table>
|
||||||
|
</div>
|
||||||
|
<!-- 表格 -->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { reactive, toRefs, ref } from "vue";
|
import { defineComponent } from 'vue';
|
||||||
const columns = [
|
const columns = [{
|
||||||
{
|
title: '序号',
|
||||||
title: "项目名称",
|
width: 200,
|
||||||
dataIndex: "projectName",
|
dataIndex: 'num',
|
||||||
key: "projectName",
|
key: 'num',
|
||||||
width: 280,
|
align: "center",
|
||||||
},
|
}, {
|
||||||
{
|
title: '名称',
|
||||||
title: "项目经理",
|
width: 200,
|
||||||
dataIndex: "manager",
|
dataIndex: 'name',
|
||||||
key: "manager",
|
key: 'name',
|
||||||
width: 100,
|
}, {
|
||||||
},
|
title: '内容分类',
|
||||||
{
|
width: 200,
|
||||||
title: "状态",
|
dataIndex: 'content',
|
||||||
dataIndex: "state",
|
key: '1',
|
||||||
// width: "30%",
|
align: "center",
|
||||||
key: "state",
|
}, {
|
||||||
width: 100,
|
title: '课程形式',
|
||||||
},
|
width: 200,
|
||||||
{
|
dataIndex: 'courseform',
|
||||||
title: "创建人",
|
key: '2',
|
||||||
dataIndex: "creater",
|
align: "center",
|
||||||
// width: "30%",
|
}, {
|
||||||
key: "creater",
|
title: ' 所属项目',
|
||||||
width: 100,
|
width: 300,
|
||||||
},
|
dataIndex: 'project',
|
||||||
{
|
key: '3',
|
||||||
title: "创建时间",
|
align: "center",
|
||||||
dataIndex: "time",
|
}, {
|
||||||
key: "time",
|
title: '学习人数',
|
||||||
width: 180,
|
width: 200,
|
||||||
},
|
dataIndex: 'stunum',
|
||||||
{
|
key: '4',
|
||||||
title: "操作",
|
align: "center",
|
||||||
dataIndex: "opacation",
|
}, {
|
||||||
key: "opacation",
|
title: '评分',
|
||||||
width: 300,
|
width: 200,
|
||||||
},
|
dataIndex: 'grade',
|
||||||
];
|
key: '5',
|
||||||
const rowSelection = ref({
|
align: "center",
|
||||||
checkStrictly: false,
|
}, {
|
||||||
onChange: (selectedRowKeys, selectedRows) => {
|
title: '状态',
|
||||||
console.log(
|
width: 200,
|
||||||
`selectedRowKeys: ${selectedRowKeys}`,
|
dataIndex: 'status',
|
||||||
"selectedRows: ",
|
key: '6',
|
||||||
selectedRows
|
align: "center",
|
||||||
);
|
}, {
|
||||||
},
|
title: '是否发布',
|
||||||
onSelect: (record, selected, selectedRows) => {
|
width: 200,
|
||||||
console.log(record, selected, selectedRows);
|
dataIndex: 'ynpub',
|
||||||
},
|
key: '7',
|
||||||
onSelectAll: (selected, selectedRows, changeRows) => {
|
align: "center",
|
||||||
console.log(selected, selectedRows, changeRows);
|
}, {
|
||||||
|
title: '创建人',
|
||||||
|
width: 200,
|
||||||
|
dataIndex: 'creator',
|
||||||
|
key: '8',
|
||||||
|
align: "center",
|
||||||
|
}, {
|
||||||
|
title: '创建时间',
|
||||||
|
width: 280,
|
||||||
|
dataIndex: 'createtime',
|
||||||
|
key: '9',
|
||||||
|
align: "center",
|
||||||
|
}, {
|
||||||
|
title: '上线时间',
|
||||||
|
width: 280,
|
||||||
|
dataIndex: 'pubtime',
|
||||||
|
key: '10',
|
||||||
|
align: "center",
|
||||||
|
}, {
|
||||||
|
title: '是否停用',
|
||||||
|
width: 200,
|
||||||
|
key: 'either',
|
||||||
|
dataIndex: 'ynuse',
|
||||||
|
align: "center",
|
||||||
|
}, {
|
||||||
|
title: '操作',
|
||||||
|
width: 400,
|
||||||
|
key: 'operation',
|
||||||
|
fixed: 'right',
|
||||||
|
align: "center",
|
||||||
|
}];
|
||||||
|
const data = [{
|
||||||
|
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: '启用',
|
||||||
|
kkty:false,
|
||||||
|
}, {
|
||||||
|
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: '启用',
|
||||||
|
kkty:true,
|
||||||
|
}];
|
||||||
|
export default defineComponent({
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
data,
|
||||||
|
columns,
|
||||||
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
export default {
|
|
||||||
name: "coursewareManage",
|
|
||||||
setup() {
|
|
||||||
const state = reactive({
|
|
||||||
tableData: [
|
|
||||||
{
|
|
||||||
id: 1,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
id: 5,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
id: 7,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 8,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 6,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 2,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 3,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
hasChildren: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
currentPage: 1,
|
|
||||||
tableDataTotal: 20,
|
|
||||||
pageSize: 10,
|
|
||||||
});
|
|
||||||
return {
|
|
||||||
...toRefs(state),
|
|
||||||
columns,
|
|
||||||
rowSelection,
|
|
||||||
};
|
|
||||||
},
|
|
||||||
};
|
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.coursewareManage {
|
.courseManage {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
.headerf{
|
||||||
|
display: flex;
|
||||||
|
margin-left: 38px;
|
||||||
|
margin-top: 30px;
|
||||||
|
.filter {
|
||||||
|
width: calc(69% - 34px);
|
||||||
|
margin-right: 34px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
.filterItems {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
.fitems{
|
||||||
|
margin-right: 20px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.btns {
|
||||||
|
display: flex;
|
||||||
|
// flex-wrap: wrap;
|
||||||
|
.btn {
|
||||||
|
padding: 0px 26px 0px 26px;
|
||||||
|
height: 38px;
|
||||||
|
background: rgba(64, 158, 255, 0);
|
||||||
|
border-radius: 8px;
|
||||||
|
border: 1px solid rgba(64, 158, 255, 1);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
margin-right: 14px;
|
||||||
|
flex-shrink: 0;
|
||||||
|
.search {
|
||||||
|
background-size: 100%;
|
||||||
|
}
|
||||||
|
.btnText {
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 400;
|
||||||
|
color: rgba(64, 158, 255, 1);
|
||||||
|
line-height: 36px;
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.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");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.btn3 {
|
||||||
|
.search {
|
||||||
|
width: 17px;
|
||||||
|
height: 18px;
|
||||||
|
background-image: url("../../assets/images/courseManage/add1.png");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.btn4 {
|
||||||
|
margin-right: 0px;
|
||||||
|
.search {
|
||||||
|
width: 17px;
|
||||||
|
height: 18px;
|
||||||
|
background-image: url("../../assets/images/courseManage/add1.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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.btn3:hover {
|
||||||
|
background: rgba(64, 158, 255, 1);
|
||||||
|
.search {
|
||||||
|
background-image: url("../../assets/images/courseManage/add0.png");
|
||||||
|
}
|
||||||
|
.btnText {
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.btn4:hover {
|
||||||
|
background: rgba(64, 158, 255, 1);
|
||||||
|
.search {
|
||||||
|
background-image: url("../../assets/images/courseManage/add0.png");
|
||||||
|
}
|
||||||
|
.btnText {
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.tableBox {
|
||||||
|
margin: 20px 38px 30px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
279
src/views/courselibrary/conponents/OnlineManage.vue
Normal file
@@ -0,0 +1,279 @@
|
|||||||
|
<template>
|
||||||
|
<div class="onlinemanage">
|
||||||
|
<div class="om_header">
|
||||||
|
</div>
|
||||||
|
<div class="main">
|
||||||
|
<div class="m_header">
|
||||||
|
<div class="pc_icon"></div>
|
||||||
|
<span>在线课程管理</span>
|
||||||
|
<div class="pc_exit">x</div>
|
||||||
|
</div>
|
||||||
|
<div class="m_body">
|
||||||
|
<div class="b_title">课程:BMOT2021年职级晋升-安全管理(高级)</div>
|
||||||
|
<div class="b_sub">
|
||||||
|
<div class="bs_type">类型:</div>
|
||||||
|
<div class="bs_right">录播课</div>
|
||||||
|
<div class="bs_left">内容分类:</div>
|
||||||
|
<div class="bs_right">领导力</div>
|
||||||
|
<div class="bs_left">状态:</div>
|
||||||
|
<div class="bs_right">已审核</div>
|
||||||
|
</div>
|
||||||
|
<div class="b_menu">
|
||||||
|
<a-menu v-model:selectedKeys="current" mode="horizontal">
|
||||||
|
<a-menu-item key="mail">
|
||||||
|
报名管理
|
||||||
|
</a-menu-item>
|
||||||
|
<a-menu-item key="sub2">
|
||||||
|
学习记录
|
||||||
|
</a-menu-item>
|
||||||
|
<a-menu-item key="sub3">
|
||||||
|
资源完成情况
|
||||||
|
</a-menu-item>
|
||||||
|
</a-menu>
|
||||||
|
</div>
|
||||||
|
<div class="b_menunav">
|
||||||
|
<div class="bm_select">
|
||||||
|
<a-select
|
||||||
|
class="select"
|
||||||
|
ref="select"
|
||||||
|
placeholder="请选择状态"
|
||||||
|
v-model:value="value1"
|
||||||
|
style="width: 200px;"
|
||||||
|
@focus="focus"
|
||||||
|
@change="handleChange"
|
||||||
|
>
|
||||||
|
<a-select-option value="status">状态</a-select-option>
|
||||||
|
<a-select-option value="passed">已通过</a-select-option>
|
||||||
|
<a-select-option value="weishenhe">未审核</a-select-option>
|
||||||
|
<a-select-option value="reject">管理员拒绝</a-select-option>
|
||||||
|
</a-select>
|
||||||
|
</div>
|
||||||
|
<div class="bm_input">
|
||||||
|
<a-input v-model:value="value" style="width: 200px ;height:40px;border-radius: 8px;" placeholder="姓名" />
|
||||||
|
</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="columns"
|
||||||
|
:data-source="tableData"
|
||||||
|
:loading="tableDataTotal === -1 ? true : false"
|
||||||
|
:pagination="false"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { reactive, toRefs, ref } from "vue";
|
||||||
|
const columns = [
|
||||||
|
{
|
||||||
|
title: "姓名",
|
||||||
|
dataIndex: "projectName",
|
||||||
|
key: "projectName",
|
||||||
|
width: '16%',
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "工号",
|
||||||
|
dataIndex: "numb",
|
||||||
|
key: "numb",
|
||||||
|
width: '16%',
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "报名时间",
|
||||||
|
dataIndex: "applytime",
|
||||||
|
key: "applytime",
|
||||||
|
width: '16%',
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "签到时间",
|
||||||
|
dataIndex: "signtime",
|
||||||
|
key: "signtime",
|
||||||
|
width: '16%',
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "状态",
|
||||||
|
dataIndex: "status",
|
||||||
|
key: "status",
|
||||||
|
width: '16%',
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
dataIndex: "opacation",
|
||||||
|
key: "opacation",
|
||||||
|
width: '16%',
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
export default {
|
||||||
|
name: "onlineManage",
|
||||||
|
setup() {
|
||||||
|
const current = ref(['mail']);
|
||||||
|
const state = reactive({
|
||||||
|
tableData: [
|
||||||
|
{
|
||||||
|
key: 1,
|
||||||
|
projectName:"刘莉",
|
||||||
|
numb: "10064511",
|
||||||
|
applytime:"2022-07-20 14:00:00",
|
||||||
|
signtime: "-",
|
||||||
|
status: "已通过",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: 2,
|
||||||
|
projectName:"",
|
||||||
|
numb: "",
|
||||||
|
applytime:"2022-07-20 14:00:00",
|
||||||
|
signtime: "2022-09-26 13:30:30",
|
||||||
|
status:"已通过",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
return {
|
||||||
|
columns,
|
||||||
|
current,
|
||||||
|
...toRefs(state),
|
||||||
|
};
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.onlinemanage{
|
||||||
|
width: 1358px;
|
||||||
|
min-width: 1000px;
|
||||||
|
height: 537px;
|
||||||
|
background: #FFFFFF;
|
||||||
|
box-shadow: 0px 1px 35px 0px rgba(118,136,166,0.21);
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
top: 50%;
|
||||||
|
transform: translate(-50%,-50%);
|
||||||
|
font-size: 14px;
|
||||||
|
font-family: PingFangSC-Regular;
|
||||||
|
color: #000000;
|
||||||
|
overflow: auto;
|
||||||
|
.om_header{
|
||||||
|
position: absolute;
|
||||||
|
width:calc(100%);
|
||||||
|
height: 40px;
|
||||||
|
background: linear-gradient( rgba(78,166,255,0.2) 0%, rgba(78,166,255,0) 100%);
|
||||||
|
}
|
||||||
|
.main{
|
||||||
|
width:calc(100%);
|
||||||
|
position: relative;
|
||||||
|
.m_header{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
padding-top: 20px;
|
||||||
|
padding-left: 26px;
|
||||||
|
font-size: 16px;
|
||||||
|
.pc_icon{
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
margin-right: 10px;
|
||||||
|
background-image: url(@/assets/images/coursewareManage/pc.png);
|
||||||
|
}
|
||||||
|
.pc_exit{
|
||||||
|
position: absolute;
|
||||||
|
right:42px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.m_body{
|
||||||
|
width:calc(100% - 50px);
|
||||||
|
padding-left: 50px;
|
||||||
|
padding-top: 17px;
|
||||||
|
.b_title{
|
||||||
|
color: #4F5156;
|
||||||
|
font-weight: 500;
|
||||||
|
margin-bottom: 19px;
|
||||||
|
}
|
||||||
|
.b_sub{
|
||||||
|
display: flex;
|
||||||
|
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;
|
||||||
|
margin-top: 20px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
.bm_select{
|
||||||
|
margin-right: 20px;
|
||||||
|
}
|
||||||
|
.bm_input{
|
||||||
|
margin-right: 20px;
|
||||||
|
}
|
||||||
|
.bm_btn {
|
||||||
|
display: flex;
|
||||||
|
// flex-wrap: wrap;
|
||||||
|
.btn {
|
||||||
|
padding: 0px 26px 0px 26px;
|
||||||
|
height: 40px;
|
||||||
|
background: rgba(64, 158, 255, 0);
|
||||||
|
border-radius: 8px;
|
||||||
|
border: 1px solid rgba(64, 158, 255, 1);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
margin-right: 14px;
|
||||||
|
flex-shrink: 0;
|
||||||
|
.search {
|
||||||
|
background-size: 100%;
|
||||||
|
}
|
||||||
|
.btnText {
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 400;
|
||||||
|
color: rgba(64, 158, 255, 1);
|
||||||
|
line-height: 36px;
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.btn1 {
|
||||||
|
.search {
|
||||||
|
width: 15px;
|
||||||
|
height: 17px;
|
||||||
|
background-image: url("@/assets/images/coursewareManage/search1.png");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.btn1:hover {
|
||||||
|
background: rgba(64, 158, 255, 1);
|
||||||
|
.search {
|
||||||
|
background-image: url("@/assets/images/coursewareManage/search0.png");
|
||||||
|
}
|
||||||
|
.btnText {
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
@@ -8,24 +8,14 @@
|
|||||||
<a-select
|
<a-select
|
||||||
v-model:value="projectName"
|
v-model:value="projectName"
|
||||||
style="width: 270px"
|
style="width: 270px"
|
||||||
placeholder="请输入项目名称"
|
placeholder="请输入路径名称"
|
||||||
:options="projectNameList"
|
|
||||||
@change="selectProjectName"
|
|
||||||
allowClear
|
|
||||||
showSearch
|
|
||||||
></a-select>
|
|
||||||
</div>
|
|
||||||
<div class="select">
|
|
||||||
<a-select
|
|
||||||
v-model:value="projectName"
|
|
||||||
style="width: 270px"
|
|
||||||
placeholder="请输入项目经理"
|
|
||||||
:options="projectNameList"
|
:options="projectNameList"
|
||||||
@change="selectProjectName"
|
@change="selectProjectName"
|
||||||
allowClear
|
allowClear
|
||||||
showSearch
|
showSearch
|
||||||
></a-select>
|
></a-select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="select">
|
<div class="select">
|
||||||
<a-select
|
<a-select
|
||||||
v-model:value="projectName"
|
v-model:value="projectName"
|
||||||
@@ -38,11 +28,16 @@
|
|||||||
></a-select>
|
></a-select>
|
||||||
</div>
|
</div>
|
||||||
<div class="select">
|
<div class="select">
|
||||||
<a-date-picker
|
<!-- <a-date-picker
|
||||||
v-model="selectTime"
|
v-model="selectTime"
|
||||||
type="date"
|
type="date"
|
||||||
placeholder="创建时间"
|
placeholder="时间"
|
||||||
style="width: 270px"
|
style="width: 270px"
|
||||||
|
/> -->
|
||||||
|
<a-range-picker
|
||||||
|
v-model:value="value2"
|
||||||
|
separator="至"
|
||||||
|
:placeholder="['开始时间', '结束时间']"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -55,121 +50,107 @@
|
|||||||
<div class="search"></div>
|
<div class="search"></div>
|
||||||
<div class="btnText">重置</div>
|
<div class="btnText">重置</div>
|
||||||
</div>
|
</div>
|
||||||
<router-link to="/projectadd">
|
<!-- <router-link to="/projectadd">
|
||||||
<div class="btn btn3">
|
<div class="btn btn3">
|
||||||
<div class="search"></div>
|
<div class="search"></div>
|
||||||
<div class="btnText">创建项目</div>
|
<div class="btnText">创建路径</div>
|
||||||
</div>
|
</div>
|
||||||
</router-link>
|
</router-link> -->
|
||||||
|
<div class="btn btn3" @click="handleOut">
|
||||||
|
<div class="search"></div>
|
||||||
|
<div class="btnText">创建路径</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 搜索框及按钮 -->
|
<!-- 搜索框及按钮 -->
|
||||||
<!-- 表格 -->
|
<!-- 表格 -->
|
||||||
<div class="tableBox">
|
<div class="tableBox">
|
||||||
<a-table
|
<a-table
|
||||||
:columns="columns"
|
style="border: 1px solid #f2f6fe"
|
||||||
|
:columns="tableDataFunc()"
|
||||||
:data-source="tableData"
|
:data-source="tableData"
|
||||||
:loading="tableDataTotal === -1 ? true : false"
|
:loading="tableDataTotal === -1 ? true : false"
|
||||||
:scroll="{ x: 700, y: 800 }"
|
|
||||||
expandRowByClick="true"
|
expandRowByClick="true"
|
||||||
@expand="expandTable"
|
@expand="expandTable"
|
||||||
:pagination="{
|
:pagination="
|
||||||
showSizeChanger: true,
|
tableDataTotal > 10
|
||||||
showQuickJumper: true,
|
? false
|
||||||
hideOnSinglePage: true,
|
: {
|
||||||
pageSizeOptions: [],
|
// disabled: true,
|
||||||
pageSize: pageSize,
|
display: false,
|
||||||
current: currentPage,
|
showSizeChanger: true,
|
||||||
total: tableDataTotal,
|
showQuickJumper: true,
|
||||||
onChange: (page, pageSize) => {
|
hideOnSinglePage: true,
|
||||||
currentPage = page;
|
pageSizeOptions: [],
|
||||||
// console.log('page', page)
|
pageSize: pageSize,
|
||||||
// 加翻页查找代码
|
current: currentPage,
|
||||||
// this.setState({
|
total: tableDataTotal,
|
||||||
// currentPage: page,
|
onChange: (page, pageSize) => {
|
||||||
// }, () => {
|
currentPage = page;
|
||||||
// this.getMilitaryDeployment()
|
// console.log('page', page)
|
||||||
// })
|
// 加翻页查找代码
|
||||||
},
|
// this.setState({
|
||||||
}"
|
// currentPage: page,
|
||||||
|
// }, () => {
|
||||||
|
// this.getMilitaryDeployment()
|
||||||
|
// })
|
||||||
|
},
|
||||||
|
}
|
||||||
|
"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<!-- 表格 -->
|
<!-- 表格 -->
|
||||||
|
<div :class="out ? 'out' : 'unout'">
|
||||||
|
<div class="top">
|
||||||
|
<img class="topimg" src="../../assets/images/courseManage/add1.png" />
|
||||||
|
<div class="topc">创建路径</div>
|
||||||
|
<div @click="handleOut" style="margin-left: 500px; cursor: pointer">
|
||||||
|
x
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mid clearfix">
|
||||||
|
<div class="name">
|
||||||
|
<div class="d">*</div>
|
||||||
|
<div class="inname">路径图名称</div>
|
||||||
|
<div class="in">
|
||||||
|
<a-input v-model:value="valueE" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="bac">
|
||||||
|
<div class="d">*</div>
|
||||||
|
<div class="inname">路径图背景</div>
|
||||||
|
<div class="in">
|
||||||
|
<!-- <img class="im" src="../../assets/px.jpg" />
|
||||||
|
<img class="im" src="../../assets/px.jpg" />
|
||||||
|
<img class="im" src="../../assets/px.jpg" /> -->
|
||||||
|
<div
|
||||||
|
@click="chooseImg(item.id)"
|
||||||
|
v-for="item in imgData"
|
||||||
|
:key="item.key"
|
||||||
|
>
|
||||||
|
<img class="im" :src="item.source" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="info">
|
||||||
|
<div class="inname">路径说明</div>
|
||||||
|
<div class="in">
|
||||||
|
<a-textarea v-model:value="valuei" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="btn">
|
||||||
|
<button class="samtn btn1" @click="handleOut">取消</button>
|
||||||
|
<button class="samtn btn2" @click="handleOut">确定</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { reactive, toRefs, onMounted } from "vue";
|
import { reactive, toRefs, onMounted, ref } from "vue";
|
||||||
const columns = [
|
|
||||||
{
|
|
||||||
title: "项目名称",
|
|
||||||
dataIndex: "projectName",
|
|
||||||
key: "projectName",
|
|
||||||
width: 280,
|
|
||||||
// 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: "state",
|
|
||||||
// width: "30%",
|
|
||||||
key: "state",
|
|
||||||
width: 100,
|
|
||||||
align: "center",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "创建人",
|
|
||||||
dataIndex: "creater",
|
|
||||||
// width: "30%",
|
|
||||||
key: "creater",
|
|
||||||
width: 100,
|
|
||||||
align: "center",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "创建时间",
|
|
||||||
dataIndex: "time",
|
|
||||||
key: "time",
|
|
||||||
width: 180,
|
|
||||||
align: "center",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "操作",
|
|
||||||
dataIndex: "opacation",
|
|
||||||
key: "opacation",
|
|
||||||
width: 300,
|
|
||||||
align: "center",
|
|
||||||
scopedSlots: { customRender: "action" }, //引入的插槽
|
|
||||||
customRender: () => {
|
|
||||||
// console.log(text);
|
|
||||||
return (
|
|
||||||
<div class="opacation">
|
|
||||||
<span>编辑</span>
|
|
||||||
<span style={{ "margin-left": "21px" }}>创建子项目</span>
|
|
||||||
<span style={{ "margin-left": "21px" }} class="more">
|
|
||||||
<span>更多</span>
|
|
||||||
<div class="moreArrow"></div>
|
|
||||||
<div class="moreItems"></div>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
},
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "learningPath",
|
name: "learningPath",
|
||||||
|
|
||||||
setup() {
|
setup() {
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
projectNameList: [
|
projectNameList: [
|
||||||
@@ -194,251 +175,173 @@ export default {
|
|||||||
label: "项目四",
|
label: "项目四",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
projectName: null,
|
out: false,
|
||||||
|
number: null,
|
||||||
selectTime: null,
|
selectTime: null,
|
||||||
|
|
||||||
tableData: [
|
tableData: [
|
||||||
{
|
{
|
||||||
key: 1,
|
key: 1,
|
||||||
projectName:
|
number: 1,
|
||||||
"管理者进阶1管理者进阶1管理者进阶1管理者进阶1管理者进阶1管理者进阶1管理者进阶1",
|
manager: "产品经理上升路径",
|
||||||
manager: "黄华 刘俊",
|
state: "已发布",
|
||||||
state: "草稿",
|
creater: "管理员",
|
||||||
creater: "毛继禹",
|
pubtime: "2022-07-20 14:00:03",
|
||||||
time: "2022-07-20 14:00:03",
|
cretime: "2022-07-20 14:00:03",
|
||||||
children: [
|
haspub: false,
|
||||||
{
|
|
||||||
key: 5,
|
|
||||||
projectName: "管理者进阶5",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
key: 7,
|
|
||||||
projectName:
|
|
||||||
"管理者进阶7管理者进阶7管理者进阶7管理者进阶7管理者进阶7管理者进阶7管理者进阶7",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 8,
|
|
||||||
projectName: "管理者进阶8",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 6,
|
|
||||||
projectName: "管理者进阶6",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 2,
|
key: 2,
|
||||||
projectName: "管理者进阶2",
|
number: 2,
|
||||||
manager: "黄华 刘俊",
|
manager: "程序员升级路径",
|
||||||
state: "草稿",
|
state: "草稿",
|
||||||
creater: "毛继禹",
|
creater: "管理员",
|
||||||
time: "2022-07-20 14:00:03",
|
pubtime: "2022-07-20 14:00:03",
|
||||||
|
cretime: "2022-07-20 14:00:03",
|
||||||
|
haspub: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 3,
|
key: 3,
|
||||||
projectName: "管理者进阶3",
|
number: 3,
|
||||||
manager: "黄华 刘俊",
|
manager: "ui成长之路",
|
||||||
state: "草稿",
|
state: "已停用",
|
||||||
creater: "毛继禹",
|
creater: "管理员",
|
||||||
time: "2022-07-20 14:00:03",
|
pubtime: "2022-07-20 14:00:03",
|
||||||
hasChildren: true,
|
cretime: "2022-07-20 14:00:03",
|
||||||
children: [
|
haspub: false,
|
||||||
{
|
|
||||||
key: 35,
|
|
||||||
projectName: "管理者进阶35",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
key: 37,
|
|
||||||
projectName: "管理者进阶37",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 38,
|
|
||||||
projectName: "管理者进阶38",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 36,
|
|
||||||
projectName: "管理者进阶36",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 4,
|
key: 4,
|
||||||
projectName: "管理者进阶4",
|
number: 4,
|
||||||
manager: "黄华 刘俊",
|
manager: "ui成长之路",
|
||||||
state: "草稿",
|
state: "草稿",
|
||||||
creater: "毛继禹",
|
creater: "管理员",
|
||||||
time: "2022-07-20 14:00:03",
|
pubtime: "2022-07-20 14:00:03",
|
||||||
|
cretime: "2022-07-20 14:00:03",
|
||||||
|
haspub: true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
imgData: [
|
||||||
|
{
|
||||||
|
id: 1,
|
||||||
|
source: require("../../assets/px.jpg"),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 4,
|
id: 2,
|
||||||
projectName: "管理者进阶5",
|
source: require("../../assets/px.jpg"),
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 4,
|
id: 3,
|
||||||
projectName: "管理者进阶",
|
source: require("../../assets/px.jpg"),
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 4,
|
|
||||||
projectName: "管理者进阶",
|
|
||||||
manager: "黄华 刘俊",
|
|
||||||
state: "草稿",
|
|
||||||
creater: "毛继禹",
|
|
||||||
time: "2022-07-20 14:00:03",
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
currentPage: 1,
|
currentPage: 1,
|
||||||
tableDataTotal: 20,
|
tableDataTotal: 20,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
|
value1: " ",
|
||||||
|
value2: ref(),
|
||||||
|
valueE: ref(" "),
|
||||||
|
valueEE: ref(" "),
|
||||||
|
valuei: ref(" "),
|
||||||
});
|
});
|
||||||
|
const tableDataFunc = () => {
|
||||||
|
const columns = [
|
||||||
|
{
|
||||||
|
title: "序号",
|
||||||
|
dataIndex: "number",
|
||||||
|
key: "number",
|
||||||
|
width: 100,
|
||||||
|
align: "center",
|
||||||
|
className: "h",
|
||||||
|
// 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",
|
||||||
|
ellipsis: true,
|
||||||
|
className: "h",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "状态",
|
||||||
|
dataIndex: "state",
|
||||||
|
// width: "30%",
|
||||||
|
key: "state",
|
||||||
|
width: 100,
|
||||||
|
align: "center",
|
||||||
|
className: "h",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "创建人",
|
||||||
|
dataIndex: "creater",
|
||||||
|
// width: "30%",
|
||||||
|
key: "creater",
|
||||||
|
width: 100,
|
||||||
|
align: "center",
|
||||||
|
className: "h",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "发布时间",
|
||||||
|
dataIndex: "pubtime",
|
||||||
|
key: "pubtime",
|
||||||
|
width: 180,
|
||||||
|
align: "center",
|
||||||
|
className: "h",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "创建时间",
|
||||||
|
dataIndex: "cretime",
|
||||||
|
key: "cretime",
|
||||||
|
width: 180,
|
||||||
|
align: "center",
|
||||||
|
className: "h",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
className: "h",
|
||||||
|
dataIndex: "opacation",
|
||||||
|
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>
|
||||||
|
<span style={{ "margin-left": "25px" }}>关卡</span>
|
||||||
|
<span style={{ "margin-left": "25px" }} class="more">
|
||||||
|
<span>授权</span>
|
||||||
|
<div class="moreArrow"></div>
|
||||||
|
<div class="moreItems"></div>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span
|
||||||
|
style={{ "margin-left": "21px", "margin-right": "30px" }}
|
||||||
|
class="more"
|
||||||
|
>
|
||||||
|
<span>更多</span>
|
||||||
|
<div class="moreArrow"></div>
|
||||||
|
<div class="moreItems"></div>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
];
|
||||||
|
return columns;
|
||||||
|
};
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
// console.log("执行");
|
// console.log("执行");
|
||||||
});
|
});
|
||||||
@@ -449,21 +352,36 @@ export default {
|
|||||||
// console.log("惦记了");
|
// console.log("惦记了");
|
||||||
console.log("e", e, a);
|
console.log("e", e, a);
|
||||||
};
|
};
|
||||||
|
const handleOut = () => {
|
||||||
|
state.out = !state.out;
|
||||||
|
};
|
||||||
|
const chooseImg = (id) => {
|
||||||
|
console.log(id);
|
||||||
|
};
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
columns,
|
|
||||||
selectProjectName,
|
selectProjectName,
|
||||||
expandTable,
|
expandTable,
|
||||||
|
handleOut,
|
||||||
|
tableDataFunc,
|
||||||
|
chooseImg,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
.clearfix:before,
|
||||||
|
.clearfix:after {
|
||||||
|
content: " ";
|
||||||
|
display: block;
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
.learningPath {
|
.learningPath {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
// position: relative;
|
||||||
.filter {
|
.filter {
|
||||||
margin-left: 38px;
|
margin-left: 38px;
|
||||||
margin-right: 38px;
|
margin-right: 38px;
|
||||||
@@ -493,6 +411,7 @@ export default {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
margin-right: 14px;
|
margin-right: 14px;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
|
cursor: pointer;
|
||||||
.search {
|
.search {
|
||||||
background-size: 100%;
|
background-size: 100%;
|
||||||
}
|
}
|
||||||
@@ -557,42 +476,216 @@ export default {
|
|||||||
}
|
}
|
||||||
.tableBox {
|
.tableBox {
|
||||||
margin: 20px 38px 30px;
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.opacation {
|
.out {
|
||||||
font-size: 14px;
|
display: block;
|
||||||
font-weight: 400;
|
position: absolute;
|
||||||
color: #4ea6ff;
|
top: 90px;
|
||||||
// line-height: 36px;
|
width: 680px;
|
||||||
.more {
|
// height: 525px;
|
||||||
position: relative;
|
background-color: #fff;
|
||||||
.moreArrow {
|
|
||||||
width: 13px;
|
box-shadow: 0 0 10px rgba(118, 136, 166, 0.21);
|
||||||
height: 7px;
|
left: 50%;
|
||||||
|
top: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
.top {
|
||||||
|
width: 100%;
|
||||||
|
height: 68px;
|
||||||
|
|
||||||
|
background: linear-gradient(
|
||||||
|
rgba(78, 166, 255, 0.2) 0%,
|
||||||
|
rgba(78, 166, 255, 0) 100%
|
||||||
|
);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
.topimg {
|
||||||
|
width: 18px;
|
||||||
|
height: 18px;
|
||||||
|
margin-left: 27px;
|
||||||
|
}
|
||||||
|
.topc {
|
||||||
|
color: #000000;
|
||||||
|
font-size: 16px;
|
||||||
|
margin-left: 8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.mid {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background-color: #fff;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
.name {
|
||||||
|
width: 78%;
|
||||||
|
// background-color: lightcoral;
|
||||||
|
display: flex;
|
||||||
|
margin-top: 20px;
|
||||||
|
align-items: center;
|
||||||
|
height: 40px;
|
||||||
|
// border: 1px solid black;
|
||||||
|
.d {
|
||||||
|
margin-top: 8px;
|
||||||
|
color: #ff4e4e;
|
||||||
|
}
|
||||||
|
.inname {
|
||||||
|
color: #6f6f6f;
|
||||||
|
font-size: 14px;
|
||||||
|
margin-left: 7px;
|
||||||
|
}
|
||||||
|
.in {
|
||||||
|
margin-left: 14px;
|
||||||
|
width: 81%;
|
||||||
|
.ant-input {
|
||||||
|
border-radius: 5px;
|
||||||
|
// height: 120%;
|
||||||
|
width: 100%;
|
||||||
|
height: 40px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.bac {
|
||||||
|
width: 78%;
|
||||||
|
// background-color: lightcoral;
|
||||||
|
display: flex;
|
||||||
|
margin-top: 30px;
|
||||||
|
// border: 1px solid black;
|
||||||
|
.d {
|
||||||
|
margin-top: 18px;
|
||||||
|
color: #ff4e4e;
|
||||||
|
}
|
||||||
|
.inname {
|
||||||
|
color: #6f6f6f;
|
||||||
|
font-size: 14px;
|
||||||
|
margin-left: 7px;
|
||||||
|
margin-top: 15px;
|
||||||
|
}
|
||||||
|
.in {
|
||||||
|
margin-left: 14px;
|
||||||
|
width: 81%;
|
||||||
|
height: 110px;
|
||||||
|
// background-color: red;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
.im {
|
||||||
|
border-radius: 8px;
|
||||||
|
width: 140px;
|
||||||
|
height: 110px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.info {
|
||||||
|
width: 78%;
|
||||||
|
// background-color: lightcoral;
|
||||||
|
display: flex;
|
||||||
|
margin-top: 30px;
|
||||||
|
// align-items: center;
|
||||||
|
// height: 40px;
|
||||||
|
// border: 1px solid black;
|
||||||
|
|
||||||
|
.inname {
|
||||||
|
color: #6f6f6f;
|
||||||
|
font-size: 14px;
|
||||||
|
margin-left: 26px;
|
||||||
|
margin-top: 15px;
|
||||||
|
}
|
||||||
|
.in {
|
||||||
|
margin-left: 14px;
|
||||||
|
width: 81%;
|
||||||
|
.ant-input {
|
||||||
|
border-radius: 5px;
|
||||||
|
// height: 120%;
|
||||||
|
width: 100%;
|
||||||
|
height: 130px;
|
||||||
|
resize: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.btn {
|
||||||
|
width: 33%;
|
||||||
|
margin-top: 30px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
.samtn {
|
||||||
|
width: 100px;
|
||||||
|
height: 40px;
|
||||||
|
font-size: 14px;
|
||||||
|
border: 1px solid #4ea6ff;
|
||||||
|
border-radius: 8px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.btn1 {
|
||||||
|
background-color: #fff;
|
||||||
|
color: #4ea6ff;
|
||||||
|
}
|
||||||
|
.btn2 {
|
||||||
|
background-color: #4ea6ff;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.unout {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.opa {
|
||||||
|
display: flex;
|
||||||
|
justify-content: right;
|
||||||
|
.opacation {
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #4ea6ff;
|
||||||
|
// line-height: 36px;
|
||||||
|
.activecls {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
background-image: url("../../assets/images/navtop/down.png");
|
|
||||||
background-size: 100%;
|
|
||||||
margin: 2px;
|
|
||||||
margin-left: 7px;
|
|
||||||
}
|
}
|
||||||
.moreItems {
|
.errorCls {
|
||||||
width: 80px;
|
|
||||||
height: 70px;
|
|
||||||
display: none;
|
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: 18px;
|
|
||||||
z-index: 100;
|
|
||||||
}
|
}
|
||||||
}
|
.more {
|
||||||
.more:hover .moreArrow {
|
position: relative;
|
||||||
background-image: url("../../assets/images/navtop/up.png");
|
.moreArrow {
|
||||||
}
|
width: 13px;
|
||||||
.more:hover .moreItems {
|
height: 7px;
|
||||||
display: block;
|
display: inline-block;
|
||||||
|
background-image: url("../../assets/images/navtop/down.png");
|
||||||
|
background-size: 100%;
|
||||||
|
margin: 2px;
|
||||||
|
margin-left: 7px;
|
||||||
|
}
|
||||||
|
.moreItems {
|
||||||
|
width: 80px;
|
||||||
|
height: 70px;
|
||||||
|
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: 18px;
|
||||||
|
z-index: 100;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.more:hover .moreArrow {
|
||||||
|
background-image: url("../../assets/images/navtop/up.png");
|
||||||
|
}
|
||||||
|
.more:hover .moreItems {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +1,192 @@
|
|||||||
<!---- 创建项目页面 --->
|
<!---- 创建项目页面 --->
|
||||||
|
<template>
|
||||||
|
<div class="header">
|
||||||
|
<span class="title">创建/编辑单层项目</span>
|
||||||
|
<span class="goback">返回</span>
|
||||||
|
</div>
|
||||||
|
<div class="content">
|
||||||
|
<div class="main">
|
||||||
|
<div class="select" style="margin-top: 20px;algin-items: center">
|
||||||
|
<span class="star" style="margin-left: 140px">*</span>项目名称
|
||||||
|
<a-input
|
||||||
|
style="width: 500px; height: 40px; border-radius: 8px;margin-left: 13px"
|
||||||
|
placeholder="请输入项目名称"
|
||||||
|
allowClear
|
||||||
|
showSearch
|
||||||
|
></a-input>
|
||||||
|
</div>
|
||||||
|
<div class="select" style="margin-top: 20px;algin-items: center">
|
||||||
|
<span class="star" style="margin-left:166px">*</span>分类
|
||||||
|
<a-select
|
||||||
|
style="width: 505px; height: 40px; margin-left: 13px"
|
||||||
|
placeholder="四个养成"
|
||||||
|
allowClear
|
||||||
|
showSearch
|
||||||
|
></a-select>
|
||||||
|
</div>
|
||||||
|
<div class="select" style="margin-top: 20px;algin-items: center">
|
||||||
|
<span class="star" style="margin-left:152px">*</span>封面图
|
||||||
|
<span class="photo"></span>
|
||||||
|
</div>
|
||||||
|
<div class="select" style="margin-top: 20px;algin-items: center">
|
||||||
|
<span class="star" style="margin-left:140px">*</span>项目时间
|
||||||
|
<a-range-picker v-model:value="value2" show-time style="margin-left:10px;width: 505px"/>
|
||||||
|
</div>
|
||||||
|
<div class="select" style="margin-top: 20px;algin-items: center">
|
||||||
|
<span class="star" style="margin-left: 140px">*</span>项目经理
|
||||||
|
<a-input
|
||||||
|
style="width: 500px; height: 40px; border-radius: 8px;margin-left: 13px"
|
||||||
|
placeholder="请选择项目经理"
|
||||||
|
allowClear
|
||||||
|
showSearch
|
||||||
|
></a-input>
|
||||||
|
</div>
|
||||||
|
<div class="select" style="margin-top: 20px;algin-items: center">
|
||||||
|
<span class="star" style="margin-left: 140px">*</span>资源归属
|
||||||
|
<a-input
|
||||||
|
style="width: 500px; height: 40px; border-radius: 8px;margin-left: 13px"
|
||||||
|
placeholder="自动带出 可修改"
|
||||||
|
allowClear
|
||||||
|
showSearch
|
||||||
|
></a-input>
|
||||||
|
</div>
|
||||||
|
<div class="select" style="margin-top: 20px;algin-items: center;margin-left: 150px">
|
||||||
|
项目说明
|
||||||
|
<a-input
|
||||||
|
style="width: 500px; height: 80px; border-radius: 8px;margin-left: 13px"
|
||||||
|
placeholder="请输入说明"
|
||||||
|
type="textarea"
|
||||||
|
allowClear
|
||||||
|
showSearch
|
||||||
|
></a-input>
|
||||||
|
</div>
|
||||||
|
<div class="select" style="margin-top: 20px;algin-items: center;margin-left: 130px">
|
||||||
|
同步学习记录
|
||||||
|
<a-radio v-model:checked="checked" style="margin-left: 3px">同步课程学习记录(如学员在课程库中拥有课程的学习记录,自动免修该课程)</a-radio>
|
||||||
|
</div>
|
||||||
|
<div class="select" style="margin-top: 20px;algin-items: center">
|
||||||
|
<span class="star" style="margin-left: 140px">*</span>项目级别
|
||||||
|
<a-input
|
||||||
|
style="width: 500px; height: 40px; border-radius: 8px;margin-left: 13px"
|
||||||
|
placeholder="集团级/组织级/现地级/部门级"
|
||||||
|
allowClear
|
||||||
|
showSearch
|
||||||
|
></a-input>
|
||||||
|
</div>
|
||||||
|
<div class="select" style="margin-top: 20px;algin-items: center">
|
||||||
|
<span class="star" style="margin-left: 140px">*</span>培训体系
|
||||||
|
<a-input
|
||||||
|
style="width: 500px; height: 40px; border-radius: 8px;margin-left: 13px"
|
||||||
|
placeholder="集团级/组织级/现地级/部门级"
|
||||||
|
allowClear
|
||||||
|
showSearch
|
||||||
|
></a-input>
|
||||||
|
</div>
|
||||||
|
<div class="select" style="margin-top: 20px;algin-items: center">
|
||||||
|
<span class="star" style="margin-left: 110px">*</span>是否BOEU实施
|
||||||
|
<a-radio v-model:checked="checked">BOEU实施</a-radio>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="template">
|
||||||
|
<div class="select" style="margin-top: 20px;margin-left: 43px;algin-items: center">
|
||||||
|
模板<a-select
|
||||||
|
style="width: 505px; height: 40px; margin-left: 13px"
|
||||||
|
placeholder="请选择模板"
|
||||||
|
allowClear
|
||||||
|
showSearch
|
||||||
|
></a-select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="footer">
|
||||||
|
<div class="enclosure">
|
||||||
|
<span >附件</span>
|
||||||
|
<span class="image"></span>
|
||||||
|
<span class="text1">上传附件</span>
|
||||||
|
</div>
|
||||||
|
<div class="text">支持.pdf,.ppt,.pptx,.doc,.docx,.xls,.xlsx,.jpg,.jpeg,.png,.gif,.zip</div>
|
||||||
|
<div class="btn">
|
||||||
|
<a-button type="primary" style="width: 100px;height: 40px;border-radius: 8px">确认</a-button>
|
||||||
|
<a-button type="primary" ghost style="width: 100px;height: 40px;margin-left: 14px;border-radius: 8px">取消</a-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script lane="ts">
|
||||||
|
</script>
|
||||||
|
<style lang="scss">
|
||||||
|
.header {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
.title {
|
||||||
|
color: #000000;
|
||||||
|
font-size: 18px;
|
||||||
|
//line-height: 36px;
|
||||||
|
padding-top: 30px;
|
||||||
|
padding-left: 37px;
|
||||||
|
//font-weight: 500;
|
||||||
|
}
|
||||||
|
.goback {
|
||||||
|
color: #4EA6FF;
|
||||||
|
font-size: 14px;
|
||||||
|
padding-right: 39px;
|
||||||
|
padding-top: 37px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.content {
|
||||||
|
display: flex;
|
||||||
|
.template {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
.main {
|
||||||
|
width: 50%;
|
||||||
|
float: left;
|
||||||
|
border-right: 1px solid rgba(153, 155, 163, 0.3);
|
||||||
|
.star {
|
||||||
|
color: #FF4E4E;
|
||||||
|
margin-right: 4px;
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
||||||
|
.photo {
|
||||||
|
display: inline-block;
|
||||||
|
width: 100px;
|
||||||
|
height: 100px;
|
||||||
|
margin-left: 13px;
|
||||||
|
border: 1px solid #4EA6FF;
|
||||||
|
border-radius: 8px;
|
||||||
|
//text-align: center;
|
||||||
|
//line-height: 100px;
|
||||||
|
//color: #4EA6FF;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.footer {
|
||||||
|
width: 100%;
|
||||||
|
margin-top: 31px;
|
||||||
|
margin-bottom: 14px;
|
||||||
|
.enclosure {
|
||||||
|
margin-left: 180px;
|
||||||
|
.text1 {
|
||||||
|
margin-left: 10px;
|
||||||
|
color: rgba(78, 166, 255, 1);
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
.image {
|
||||||
|
display: inline-block;
|
||||||
|
width: 15px;
|
||||||
|
height: 15px;
|
||||||
|
margin-left: 15px;
|
||||||
|
background-image: url("../../assets/images/projectadd/enclosure.png");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.btn {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
.text {
|
||||||
|
color: rgba(153, 155, 163, 1);
|
||||||
|
font-size: 14px;
|
||||||
|
margin-left: 223px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -0,0 +1,125 @@
|
|||||||
|
<template>
|
||||||
|
<div class="systemManage">
|
||||||
|
<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="showDrawer"
|
||||||
|
>
|
||||||
|
添加投票
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a-drawer
|
||||||
|
v-model:visible="visible"
|
||||||
|
class="drawerStyle"
|
||||||
|
style="color: red"
|
||||||
|
width="70%"
|
||||||
|
title="添加投票"
|
||||||
|
placement="right"
|
||||||
|
@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="closeDrawer"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<!-- 投票名称 -->
|
||||||
|
<div class="vote">
|
||||||
|
<div style="font-size: 20px">*</div>
|
||||||
|
<div>投票名称:</div>
|
||||||
|
<div>
|
||||||
|
<a-input v-model:value="value" placeholder="请输入投票名称" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- 投票名称 -->
|
||||||
|
</div>
|
||||||
|
</a-drawer>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { reactive, toRefs } from "vue";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "SystemManage",
|
||||||
|
setup() {
|
||||||
|
const state = reactive({
|
||||||
|
visible: true,
|
||||||
|
});
|
||||||
|
|
||||||
|
const afterVisibleChange = (bool) => {
|
||||||
|
console.log("visible", bool);
|
||||||
|
};
|
||||||
|
|
||||||
|
const showDrawer = () => {
|
||||||
|
state.visible = true;
|
||||||
|
};
|
||||||
|
const closeDrawer = () => {
|
||||||
|
state.visible = false;
|
||||||
|
};
|
||||||
|
return {
|
||||||
|
...toRefs(state),
|
||||||
|
afterVisibleChange,
|
||||||
|
showDrawer,
|
||||||
|
closeDrawer,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss">
|
||||||
|
.systemManage {
|
||||||
|
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;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
.headerTitle {
|
||||||
|
font-size: 18px;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #333333;
|
||||||
|
line-height: 25px;
|
||||||
|
margin-left: 24px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.vote {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||