feat:修改课程管理的tabs切换问题以及学习记录详情的高

This commit is contained in:
李晓鸽
2022-10-19 10:07:19 +08:00
16 changed files with 5087 additions and 2237 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 505 B

View File

@@ -1,10 +1,11 @@
html,
body {
height: 100vh;
margin: 0;
padding: 0;
// overflow-y: auto;
height: 100vh;
margin: 0;
padding: 0;
// overflow-y: auto;
}
//隐藏滚动条----------------------------------------------------------------
// div::-webkit-scrollbar {
// display: none !important;
@@ -38,201 +39,245 @@ body {
// }
::-webkit-scrollbar {
width: 6px; /*对垂直流动条有效*/
height: 6px; /*对水平流动条有效*/
}
/*定义滚动条的轨道颜色、内阴影及圆角*/
::-webkit-scrollbar-track{
background-color: rgba(239, 244, 252, 1);
border-radius: 6px;
}
/*定义滑块颜色、内阴影及圆角*/
::-webkit-scrollbar-thumb{
border-radius: 3px;
background-color: rgba(78, 166, 255, 1);
}
/*定义两端按钮的样式*/
::-webkit-scrollbar-button {
background-color:cyan;
display: none;
}
/*定义右下角汇合处的样式*/
::-webkit-scrollbar-corner {
background:rgba(239, 244, 252, 1);;
}
width: 6px;
/*对垂直流动条有效*/
height: 6px;
/*对水平流动条有效*/
}
/*定义滚动条的轨道颜色、内阴影及圆角*/
::-webkit-scrollbar-track {
background-color: rgba(239, 244, 252, 1);
border-radius: 6px;
}
/*定义滑块颜色、内阴影及圆角*/
::-webkit-scrollbar-thumb {
border-radius: 3px;
background-color: rgba(78, 166, 255, 1);
}
/*定义两端按钮的样式*/
::-webkit-scrollbar-button {
background-color: cyan;
display: none;
}
/*定义右下角汇合处的样式*/
::-webkit-scrollbar-corner {
background: rgba(239, 244, 252, 1);
;
}
//隐藏滚动条----------------------------------------------------------------
//禁止选中----------------------------------------------------------
*{
-webkit-touch-callout:none; /*系统默认菜单被禁用*/
-webkit-user-select:none; /*webkit浏览器*/
-khtml-user-select:none; /*早期浏览器*/
-moz-user-select:none;/*火狐*/
-ms-user-select:none; /*IE10*/
user-select:none;
}
input{
-webkit-user-select:auto; /*webkit浏览器*/
}
textarea{
-webkit-user-select:auto; /*webkit浏览器*/
}
* {
-webkit-touch-callout: none;
/*系统默认菜单被禁用*/
-webkit-user-select: none;
/*webkit浏览器*/
-khtml-user-select: none;
/*早期浏览器*/
-moz-user-select: none;
/*火狐*/
-ms-user-select: none;
/*IE10*/
user-select: none;
}
input {
-webkit-user-select: auto;
/*webkit浏览器*/
}
textarea {
-webkit-user-select: auto;
/*webkit浏览器*/
}
//禁止选中----------------------------------------------------------
// 下拉框----------------------------------------------------------
.select .ant-select-selector{
height: 40px !important;
border-radius: 8px !important;
border: 1px solid #C7CBD2 !important;
.select .ant-select-selector {
height: 40px !important;
border-radius: 8px !important;
border: 1px solid #C7CBD2 !important;
}
.select .ant-select-selector .ant-select-selection-search-input{
height: 40px !important;
.select .ant-select-selector .ant-select-selection-search-input {
height: 40px !important;
}
.select .ant-select-selection-item,.select .ant-select-selection-placeholder{
line-height: 40px !important;
.select .ant-select-selection-item,
.select .ant-select-selection-placeholder {
line-height: 40px !important;
}
//日期选择框
.select .ant-picker{
height: 40px !important;
border-radius: 8px !important;
border: 1px solid #C7CBD2 !important;
.select .ant-picker {
height: 40px !important;
border-radius: 8px !important;
border: 1px solid #C7CBD2 !important;
}
// 下拉框----------------------------------------------------------
// 表格---------------------------------
.tableBox{
.ant-table-row .ant-table-cell{
height: 48px ;
font-size: 14px;
font-weight: 400;
color: #4F5156;
line-height: 36px;
padding:0px ;
// overflow: hidden;
}
.ant-table-row-expand-icon{
top: 3px !important;
float:none;
position: relative;
// left: 50px;
// display: inline-block;
}
.ant-pagination-item-link {
.tableBox {
.ant-table-row .ant-table-cell {
height: 48px;
font-size: 14px;
font-weight: 400;
color: #4F5156;
line-height: 36px;
padding: 0px;
// overflow: hidden;
}
.ant-table-row-expand-icon {
top: 3px !important;
float: none;
position: relative;
// left: 50px;
// display: inline-block;
}
.ant-pagination-item-link {
border-radius: 8px !important;
}
.ant-pagination-item {
border-radius: 8px !important;
a {
font-size: 14px;
font-weight: 400;
color: #818a92;
}
}
.ant-pagination-item-active {
background-color: rgba(64, 158, 255, 1);
a {
color: rgba(255, 255, 255, 1);
font-size: 14px;
font-weight: 400;
}
}
.ant-select-selection-item {
font-size: 14px;
font-weight: 400;
color: #818a92;
}
.ant-pagination-options-quick-jumper {
font-size: 14px;
font-weight: 400;
color: #818a92;
}
.ant-pagination-options {
// .ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{
// font-size: 14px;
}
.ant-pagination-options {
// .ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{
// font-size: 14px;
// font-weight: 400;
// color: #818a92;
// }
.ant-select-single.ant-select-open .ant-select-selection-item{
font-size: 14px;
font-weight: 400;
color: #818a92;
}
.ant-select:not(.ant-select-customize-input) .ant-select-selector{
border-radius: 8px !important;
}
.ant-select-selection-item{
padding-right: 0px !important;
}
.ant-select-arrow{
display: none;
}
.ant-select-dropdown{
display: none;
}
}
// }
.ant-select-single.ant-select-open .ant-select-selection-item {
font-size: 14px;
font-weight: 400;
color: #818a92;
}
.ant-select:not(.ant-select-customize-input) .ant-select-selector {
border-radius: 8px !important;
}
.ant-select-selection-item {
padding-right: 0px !important;
}
.ant-select-arrow {
display: none;
}
.ant-select-dropdown {
display: none;
}
}
}
// 表格---------------------------------
//表格下拉框-------------------------------------------
.tableSelect {
margin-left: 21px;
display: inline-block;
.ant-select:not(.ant-select-customize-input)
.ant-select-selector
.ant-select-selection-search-input {
background-color: rgba(255, 255, 255, 0);
border: none;
}
.ant-select:not(.ant-select-customize-input) .ant-select-selector {
background-color: rgba(255, 255, 255, 0);
border: none;
}
.ant-select-single:not(.ant-select-customize-input) .ant-select-selector {
padding: 0;
}
.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input)
.ant-select-selector {
box-shadow: none;
}
.ant-select-arrow {
right: 0px;
color: rgba(0, 0, 0, 0.8);
font-size: 14px;
line-height: 36px;
// top: 17px;
top:14px;
}
.ant-select-selection-item {
font-size: 14px;
font-weight: 400;
color: #4ea6ff;
line-height: 36px;
}
.ant-select-single.ant-select-open .ant-select-selection-item{
color: #4ea6ff;
}
margin-left: 21px;
display: inline-block;
.ant-select:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input {
background-color: rgba(255, 255, 255, 0);
border: none;
}
.ant-select:not(.ant-select-customize-input) .ant-select-selector {
background-color: rgba(255, 255, 255, 0);
border: none;
}
.ant-select-single:not(.ant-select-customize-input) .ant-select-selector {
padding: 0;
}
.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector {
box-shadow: none;
}
.ant-select-arrow {
right: 0px;
color: rgba(0, 0, 0, 0.8);
font-size: 14px;
line-height: 36px;
// top: 17px;
top: 14px;
}
.ant-select-selection-item {
font-size: 14px;
font-weight: 400;
color: #4ea6ff;
line-height: 36px;
}
.ant-select-single.ant-select-open .ant-select-selection-item {
color: #4ea6ff;
}
}
.tabledropdown {
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;
@@ -240,58 +285,92 @@ display: none;
display: flex;
flex-direction: column;
height: 100%;
.contentMain {
flex: 1;
overflow-y: scroll;
}
}}
//抽屉--------------------------------------------------------
//弹窗--------------------------------------------------------
.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;
}
}
}
//弹窗--------------------------------------------------------
.contentMain {
flex: 1;
overflow-y: scroll;
}
}
}
//抽屉--------------------------------------------------------
//大型抽屉
.largeDrawerStyle {
.ant-drawer-content-wrapper {
.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

@@ -0,0 +1,734 @@
<template>
<a-drawer
:visible="AAvisible"
class="largeDrawerStyle"
placement="right"
width="80%"
@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="main">
<div class="titl">
<div class="endtime">
起止时间2022-07-21 14:00 2022-7-30 14:00
</div>
<div class="endtime" style="margin-left: 64px">签到时间14:00</div>
<div class="endtime" style="margin-left: 40px">签退时间21:00</div>
</div>
<div class="search">
<div class="leftchoose">
<div class="namecon" style="margin-right: 30px">
<div class="name">姓名</div>
<a-input
v-model:value="name"
style="width: 270px; height: 40px; border-radius: 8px"
placeholder="请输入姓名"
/>
</div>
<div class="namecon" style="margin-right: 30px">
<div class="name">考勤</div>
<div class="select">
<a-select
v-model:value="projectName"
style="width: 160px"
placeholder="请选择"
:options="projectNameList"
@change="selectProjectName"
allowClear
showSearch
></a-select>
</div>
</div>
<div class="namecon">
<div class="name">签到状态</div>
<div class="select">
<a-select
v-model:value="projectName2"
style="width: 160px"
placeholder="请选择"
:options="projectNameList2"
@change="selectProjectName2"
allowClear
showSearch
></a-select>
</div>
</div>
</div>
<div class="btns">
<div class="btn btn1" style="margin-right: 20px">
<div class="img1"></div>
<div class="wz">搜索</div>
</div>
<div class="btn btn2">
<div class="img2"></div>
<div class="wz">重置</div>
</div>
</div>
</div>
<div class="btnss" style="margin-top: 20px">
<div class="btn btn1">
<div class="wz">批量签到</div>
</div>
<div class="btn btn2">
<div class="wz" @click="showEntryScore">批量签退</div>
</div>
<div class="btn btn2">
<div class="img2"></div>
<div class="wz">导出数据</div>
</div>
</div>
<div class="line">
<div class="inline">
<div class="left">
<div class="img"></div>
<div class="text" style="margin-left: 10px">已选择</div>
<div class="text2">2</div>
<div class="text"></div>
<div class="text3">列表选项总计</div>
<div class="text4">9</div>
</div>
<div class="right">清空</div>
</div>
</div>
<!-- <div class="pad"></div> -->
<div class="tableBox" style="margin-top: 30px">
<a-table
style="border: 1px solid #f2f6fe"
:columns="tableDataFunc()"
:data-source="tableData"
:loading="tableDataTotal === -1 ? true : false"
expandRowByClick="true"
@expand="expandTable"
:scroll="{ x: 1300 }"
:pagination="false"
:row-selection="{
columnWidth: 30,
selectedRowKeys: selectedRowKeys,
onChange: onSelectChange,
}"
/>
</div>
<!-- <div class="tab" style="margin-top: 20px; margin-bottom: 100px">
<a-table
style="border: 1px solid #f2f6fe"
:columns="tablecolumns"
:data-source="tabledata"
:loading="tableDataTotal === -1 ? true : false"
expandRowByClick="true"
:scroll="{ x: 900, y: 350 }"
@expand="expandTable"
:pagination="false"
:row-selection="{
columnWidth: 30,
selectedRowKeys: selectedRowKeys,
onChange: onSelectChange,
}"
/>
</div> -->
</div>
</div>
<div class="botm"></div>
<div class="btnn">
<button class="btn1">取消</button>
<button class="btn2">确定</button>
</div>
</a-drawer>
</template>
<script>
import { toRefs, reactive } from "vue";
export default {
name: "ActiveAttendance",
props: {
AAvisible: {
type: Boolean,
default: false,
},
},
setup(props, ctx) {
const state = reactive({
Evisible: false, //录入成绩抽屉
name: null,
showmodal: false, //勾选提示框
closable: false, //modal右上角的关闭按钮
pageSize: 10,
currentPage: 1,
tableDataTotal: 100,
selectedRowKeys: [],
projectNameList: [
{
id: 1,
value: "项目一",
label: "项目一",
},
{
id: 2,
value: "项目二",
label: "项目二",
},
{
id: 3,
value: "项目三",
label: "项目三",
},
{
id: 4,
value: "项目四",
label: "项目四",
},
],
projectNameList2: [
{
id: 1,
value: "项目一",
label: "项目一",
},
{
id: 2,
value: "项目二",
label: "项目二",
},
{
id: 3,
value: "项目三",
label: "项目三",
},
{
id: 4,
value: "项目四",
label: "项目四",
},
],
tableData: [
{
key: 1,
name: "张三",
com: "产研部",
gang: "产品经理",
cur: "-",
jin: "-",
time: "缺勤",
state: "异常",
},
{
key: 2,
name: "张三",
com: "产研部",
gang: "产品经理",
cur: "2022-10-31 23:12",
jin: "-",
time: "签到",
state: "正常",
},
{
key: 3,
name: "张三",
com: "产研部",
gang: "产品经理",
cur: "2022-10-31 23:12",
jin: "2022-10-31 23:12",
time: "签到/签退",
state: "正常",
},
{
key: 4,
name: "张三",
com: "产研部",
gang: "产品经理",
cur: "2022-10-31 23:12",
jin: "2022-10-31 23:12",
time: "签到/签退",
state: "正常",
},
{
key: 5,
name: "张三",
com: "产研部",
gang: "产品经理",
cur: "2022-10-31 23:12",
jin: "2022-10-31 23:12",
time: "签到/签退",
state: "正常",
},
{
key: 6,
name: "张三",
com: "产研部",
gang: "产品经理",
cur: "2022-10-31 23:12",
jin: "2022-10-31 23:12",
time: "签到/签退",
state: "正常",
},
{
name: "张三",
com: "产研部",
gang: "产品经理",
cur: "2022-10-31 23:12",
jin: "2022-10-31 23:12",
time: "签到/签退",
state: "正常",
},
{
key: 8,
name: "张三",
com: "产研部",
gang: "产品经理",
cur: "2022-10-31 23:12",
jin: "2022-10-31 23:12",
time: "请假",
state: "正常",
},
],
options: [
{
label: "Apple",
value: "Apple",
},
{
label: "Pear",
value: "Pear",
},
{
label: "Orange",
value: "Orange",
},
],
});
const selectProjectName = (value, index) => {
console.log("value", value, index);
};
const selectProjectName2 = (value, index) => {
console.log("value", value, index);
};
const closeDrawer = () => {
ctx.emit("update:AAvisible", false);
};
const showEntryScore = () => {
state.Evisible = true;
};
const onSelectChange = (selectedRowKeys) => {
console.log("selectedRowKeys changed: ", selectedRowKeys);
state.selectedRowKeys = selectedRowKeys;
};
const tableDataFunc = () => {
const columns = [
{
title: "姓名",
dataIndex: "name",
// width: "30%",
key: "name",
width: 50,
align: "left",
className: "classify",
scopedSlots: { customRender: "action" }, //引入的插槽
customRender: (text) => {
// console.log(text.record.checked1);
return (
<div class="racona">
<span> {text.record.name}</span>
</div>
);
},
},
{
title: "所在部门",
dataIndex: "com",
// width: "30%",
key: "com",
width: 50,
align: "center",
className: "h",
},
{
title: "所在岗位",
dataIndex: "gang",
key: "gang",
width: 50,
align: "center",
className: "h",
},
{
title: "签到时间",
dataIndex: "cur",
key: "cur",
width: 110,
align: "center",
className: "h",
},
{
title: "签退时间",
dataIndex: "jin",
key: "jin",
width: 110,
align: "center",
className: "h",
},
{
title: "考勤",
dataIndex: "time",
key: "time",
width: 50,
align: "center",
className: "h",
},
{
title: "签到状态",
dataIndex: "state",
key: "state",
width: 50,
align: "center",
className: "h",
},
{
title: "操作",
className: "h",
dataIndex: "opacation",
key: "opacation",
width: 210,
align: "center",
scopedSlots: { customRender: "action" }, //引入的插槽
customRender: () => {
return (
<div class="opa">
<a-checkbox-group />
</div>
);
},
},
];
return columns;
};
return {
...toRefs(state),
selectProjectName,
selectProjectName2,
closeDrawer,
onSelectChange,
showEntryScore,
tableDataFunc,
};
},
};
</script>
<style lang="scss" >
.me {
.ant-modal-body {
padding: 0px;
}
}
.largeDrawerStyle {
// width: 80%;
.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;
}
}
.main {
width: 100%;
height: 100%;
// background-color: #bfa;
// overflow-y: auto;
.titl {
display: flex;
.endtime {
font-size: 16px;
font-weight: 500;
color: #333333;
}
}
.search {
width: 100%;
display: flex;
flex-wrap: wrap;
margin-top: 20px;
justify-content: space-between;
.leftchoose {
display: flex;
margin-right: 20px;
.namecon {
display: flex;
flex-wrap: nowrap;
margin-bottom: 10px;
.name {
margin-top: 8px;
white-space: nowrap;
}
// .name {
// margin-top: 8px;
// color: rgba(0, 0, 0, 0.85);
// font-size: 14px;
// font-weight: 400;
// }
}
}
.btns {
display: flex;
flex-wrap: nowrap;
.btn {
cursor: pointer;
width: 100px;
height: 40px;
border-radius: 8px;
display: flex;
justify-content: center;
align-items: center;
.img1 {
width: 15px;
height: 17px;
background-image: url(../../assets/images/courseManage/search0.png);
background-size: 100% 100%;
margin-right: 7px;
}
.img2 {
width: 16px;
height: 18px;
background-image: url(../../assets/images/courseManage/reset1.png);
background-size: 100% 100%;
margin-right: 7px;
}
}
.btn1 {
background: #388be1;
color: #ffffff;
}
.btn2 {
background: #ffffff;
color: #388be1;
border: 1px solid #388be1;
}
}
}
.btnss {
display: flex;
flex-wrap: nowrap;
.btn {
cursor: pointer;
width: 130px;
height: 40px;
border-radius: 8px;
display: flex;
justify-content: center;
align-items: center;
.img1 {
width: 15px;
height: 17px;
background-image: url(../../assets/images/courseManage/search0.png);
background-size: 100% 100%;
margin-right: 7px;
}
.img2 {
width: 17px;
height: 16px;
background-image: url(../../assets/images/coursewareManage/export.png);
background-size: 100% 100%;
margin-right: 7px;
}
}
.btn1 {
background: #388be1;
margin-right: 20px;
color: #ffffff;
}
.btn2 {
background: #ffffff;
margin-right: 20px;
color: #388be1;
border: 1px solid #388be1;
}
}
.line {
width: 100%;
height: 40px;
background-color: #e9f6fe;
display: flex;
justify-content: center;
align-items: center;
margin-top: 20px;
border: 1px solid #c3e6fc;
.inline {
width: 95%;
height: 100%;
display: flex;
justify-content: space-between;
// background-color: #bfa;
.left {
height: 100%;
display: flex;
align-items: center;
.img {
width: 14px;
height: 15px;
background-image: url(../../assets/images/leveladd/gan.png);
background-size: 100% 100%;
}
.text {
color: #999ba3;
}
.text2 {
color: #4ea6ff;
margin-left: 5px;
margin-right: 5px;
}
.text3 {
color: #999ba3;
margin-left: 20px;
}
}
.right {
font-size: 14px;
font-weight: 400;
color: #387df7;
height: 100%;
display: flex;
align-items: center;
cursor: pointer;
}
}
}
.pad {
width: 96%;
height: 10px;
background-color: #fff;
position: absolute;
}
.tableBox {
// margin-bottom: 80px;
.classify {
// margin-left: 11px !important;
// padding-left: 9px !important;
padding-left: 0px !important;
}
.ant-checkbox-wrapper {
align-items: center;
margin-top: -2px;
}
.ant-table-selection-column {
padding: 0px !important;
// padding-left: 45px !important;
}
.ant-table-thead > tr > th {
background-color: rgba(239, 244, 252, 1);
}
th.h {
background-color: #eff4fc !important;
}
.ant-table-tbody
> tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)
> td {
background: #f6f9fd;
}
.opa {
background-color: #bfa;
}
}
// .tab {
// .ant-table-thead > tr > th {
// background-color: rgba(239, 244, 252, 1) !important;
// }
// th.h {
// background-color: #eff4fc !important;
// }
// .ant-table-tbody
// > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)
// > td {
// background: #f6f9fd;
// }
// }
}
}
// .botm {
// width: 100%;
// height: 100%;
// background-color: red;
// // flex-shrink: 1;
// }
.btnn {
height: 72px;
width: 100%;
position: absolute;
bottom: 0;
left: 0;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.16);
.btn1 {
width: 100px;
height: 40px;
border: 1px solid #4ea6ff;
border-radius: 8px;
color: #4ea6ff;
background-color: #fff;
cursor: pointer;
}
.btn2 {
cursor: pointer;
width: 100px;
height: 40px;
background: #4ea6ff;
border-radius: 8px;
border: 0;
margin-left: 15px;
color: #fff;
}
}
}
</style>

View File

@@ -1,15 +1,15 @@
<template>
<a-drawer
<a-drawer
:visible="addfaceteachVisible"
class="drawerStyle"
width="80%"
title="添加在线"
title="添加面授"
placement="right"
@after-visible-change="afterVisibleChange"
>
<div class="drawerMain">
<div class="header">
<div class="headerTitle">添加在线</div>
<div class="headerTitle">添加面授</div>
<img
style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png"
@@ -17,92 +17,192 @@
/>
</div>
<div class="contentMain">
<div class="main_items">
<div class="mi_ipts">
<div class="mii_ipt">
<div class="ipt_name">课程编号</div>
<div class="fi_input">
<a-input
v-model:value="value1"
style="width: 240px; height: 40px; border-radius: 8px"
placeholder="请输入项目名称"
<div class="main_left">
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div>
<span style="margin-right: 3px">课程名称</span>
</div>
<div class="mii_ipt">
<div class="ipt_name">内容分类</div>
<div class="select">
<a-select
dropdownClassName="dropdown-style"
style="width: 240px"
placeholder="请选择"
:options="options1"
allowClear
showSearch
<div class="btnbox">
<a-input
v-model:value="value2"
style="width: 384px; height: 32px"
placeholder="请输入小组名称"
/>
</div>
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div>
<span style="margin-right: 3px">选择课程</span>
</div>
<div class="btnbox">
<button class="xkbtn">选择课程</button>
</div>
</div>
<div class="main_item2">
<div class="signbox">
<span style="margin-right: 3px">项目说明</span>
</div>
<div class="textarea">
<a-textarea
v-model:value="textareavalue"
placeholder="请输入说明"
allow-clear
/>
</div>
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div>
<span style="margin-right: 3px">授课教师</span>
</div>
<div class="btnbox">
<a-input
v-model:value="value2"
style="width: 384px; height: 32px"
placeholder="请输入授课教师"
/>
</div>
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div>
<span style="margin-right: 3px">面授时间</span>
</div>
<div class="btnbox">
<a-range-picker
:placeholder="[' 开始时间', ' 结束时间']"
/>
</div>
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div>
<span style="margin-right: 3px">面授时长</span>
</div>
<div class="btnbox">
<a-input
v-model:value="value2"
style="width: 384px; height: 32px"
/>
<span style="margin-left: 5px">分钟</span>
</div>
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div>
<span style="margin-right: 3px">上课地址</span>
</div>
<div class="btnbox">
<a-input
v-model:value="value2"
style="width: 384px; height: 32px"
placeholder="请输入上课地址"
/>
</div>
</div>
<div class="main_item2">
<div class="signbox">
<span style="margin-right: 3px">考勤设置</span>
</div>
<div class="kqszbox">
<div class="qdqtbox"><span>签到</span></div>
<div class="setbox">
<div class="timerbox">
<span>开始前</span>
<a-input style="width: 88px; height: 32px"></a-input>
<span style="color: #999999; margin-left: 8px">分钟</span>
</div>
<div class="timerbox">
<span>开始后</span>
<a-input style="width: 88px; height: 32px"></a-input>
<span style="color: #999999; margin-left: 8px">分钟</span>
</div>
</div>
<div class="qdqtbox"><span>签退</span></div>
<div class="setbox">
<div class="timerbox">
<span>结束前</span>
<a-input style="width: 88px; height: 32px"></a-input>
<span style="color: #999999; margin-left: 8px"
>分钟提前签退则记为早退</span
>
</div>
</div>
</div>
</div>
<div class="mi_btns">
<div class="btn btn1">
<div class="search"></div>
<div class="btnText">搜索</div>
<div class="main_item">
<div class="signbox">
<span style="margin-right: 3px">完成标准设置</span>
</div>
<div class="btn btn2">
<div class="search"></div>
<div class="btnText">重置</div>
<div class="btnbox">
<a-checkbox v-model:checked="checked">Checkbox</a-checkbox>
<a-checkbox v-model:checked="checked">Checkbox</a-checkbox>
</div>
</div>
<div class="main_item">
<div class="signbox">
<span style="margin-right: 3px">其他设置</span>
</div>
<div class="btnbox">
<a-checkbox v-model:checked="checked">Checkbox</a-checkbox>
</div>
</div>
<div class="main_item2">
<div class="signbox">
<span style="margin-right: 3px">现场参与</span>
</div>
<div class="btnbox2">
<a-checkbox v-model:checked="checked">Checkbox</a-checkbox>
<a-checkbox v-model:checked="checked">Checkbox</a-checkbox>
</div>
</div>
<div class="main_item2">
<div class="signbox">
<span style="margin-right: 3px">评估</span>
</div>
<div class="btnbox2">
<a-checkbox v-model:checked="checked">需要评估</a-checkbox>
<button class="xkbtn">选择课程</button>
</div>
</div>
</div>
<div class="main_notice">
<div class="mntc_left">
<div class="notice_icon"></div>
<span style="color: rgba(0, 0, 0, 0.65); margin-right: 17px"
>已选择 <span style="color: #388be1">4</span> </span
>
<span style="color: rgba(0, 0, 0, 0.65)"
>列表选项总计<span>14</span> </span
>
</div>
<div class="mntc_right">
<span style="color: #387df7; margin-right: 24px">清空</span>
</div>
</div>
<div class="main_table">
<a-table
class="ant-table-striped"
:row-class-name="
(_record, index) => (index % 2 === 1 ? 'table-striped' : null)
"
:row-selection="rowSelection"
:columns="columns1"
:data-source="tableData1"
: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()
// })
},
}"
/>
</div>
<div class="main_btns">
<button class="btn1">取消</button>
<button class="btn2">确定</button>
</div>
<div class="main_right"></div>
</div>
<div class="main_btns">
<button class="btn1">取消</button>
<button class="btn2">确定</button>
</div>
</div>
</a-drawer>
@@ -278,13 +378,13 @@ export default {
const afterVisibleChange = (bool) => {
console.log("state", bool);
};
const showDrawerFaceteach = () => {
state.visible3 = true;
};
// const showDrawerFaceteach = () => {
// state.addfaceteachvisible = true;
// };
return {
...toRefs(state),
afterVisibleChange,
showDrawerFaceteach,
// showDrawerFaceteach,
closeDrawer,
options1,
columns1,
@@ -315,142 +415,116 @@ export default {
}
}
.contentMain {
.main_items {
display: flex;
justify-content: space-between;
margin-bottom: 12px;
flex-wrap: wrap;
.mi_ipts {
display: flex;
margin-bottom: 20px;
.mii_ipt {
display: flex;
align-items: center;
margin-right: 24px;
.ipt_name {
white-space: nowrap;
}
}
}
.mi_btns {
display: flex;
margin-left: 38px;
margin-bottom: 20px;
cursor: pointer;
.btn {
padding: 0px 26px 0px 26px;
height: 38px;
border-radius: 8px;
border: 1px solid rgba(64, 158, 255, 1);
display: flex;
align-items: center;
justify-content: center;
margin-left: 14px;
flex-shrink: 0;
.search {
background-size: 100%;
}
.btnText {
font-size: 14px;
font-weight: 400;
line-height: 36px;
margin-left: 5px;
}
}
.btn1 {
background: rgb(64, 158, 255);
.search {
width: 15px;
height: 17px;
background-image: url("@/assets/images/coursewareManage/search0.png");
}
.btnText {
color: rgb(255, 255, 255);
}
}
.btn2 {
background: rgb(255, 255, 255);
.search {
width: 15px;
height: 17px;
background-image: url("@/assets/images/coursewareManage/reset1.png");
}
.btnText {
color: rgb(64, 158, 255);
}
}
.btn1:hover {
background: rgb(255, 255, 255);
.search {
background-image: url("@/assets/images/courseManage/search1.png");
}
.btnText {
color: #388be1;
}
}
.btn2:hover {
background: rgba(64, 158, 255, 1);
.search {
background-image: url("@/assets/images/courseManage/reset0.png");
}
.btnText {
color: #ffffff;
}
}
}
}
.main_notice {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 32px;
height: 40px;
background-color: #e9f6fe;
.mntc_left {
display: flex;
justify-content: space-between;
.main_left {
margin-right: 30px;
.main_item {
display: flex;
align-items: center;
.notice_icon {
width: 14px;
height: 14px;
margin-right: 9px;
margin-left: 9px;
background-image: url(@/assets/images/coursewareManage/gan.png);
background-size: 100% 100%;
margin-bottom: 32px;
.signbox {
width: 120px;
display: flex;
justify-content: end;
align-items: center;
.sign {
margin-right: 5px;
}
}
.btnbox {
display: flex;
flex: 1;
align-items: center;
.xkbtn {
cursor: pointer;
width: 130px;
height: 40px;
background: #388be1;
border-radius: 8px;
border: 0;
margin-right: 8px;
color: #fff;
}
}
}
.mntc_right {
cursor: pointer;
.main_item2 {
display: flex;
align-items: flex-start;
margin-bottom: 32px;
.signbox {
width: 120px;
display: flex;
justify-content: end;
align-items: center;
}
.kqszbox {
.qdqtbox {
margin-left: 56px;
}
.setbox {
display: flex;
flex-wrap: wrap;
margin-top: 10px;
margin-bottom: 24px;
.timerbox {
margin-top: 6px;
margin-right: 32px;
display: flex;
align-items: center;
flex-wrap: nowrap;
}
}
}
.btnbox2{
display: flex;
flex-direction: column;
justify-content: flex-start;
.xkbtn {
cursor: pointer;
width: 130px;
height: 40px;
background: #388be1;
border-radius: 8px;
border: 0;
margin-right: 16px 8px 32px 0;
color: #fff;
}
}
}
}
.main_btns {
height: 72px;
width: 100%;
position: absolute;
bottom: 0;
left: 0;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.16);
.btn1 {
width: 100px;
height: 40px;
border: 1px solid #4ea6ff;
border-radius: 8px;
color: #4ea6ff;
background-color: #fff;
cursor: pointer;
}
.btn2 {
cursor: pointer;
width: 100px;
height: 40px;
background: #4ea6ff;
border-radius: 8px;
border: 0;
margin-left: 15px;
color: #fff;
}
.main_right {
width: 337px;
border-left: 1px solid #e8e8e8;
}
}
.main_btns {
height: 72px;
width: 100%;
bottom: 0;
left: 0;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.16);
.btn1 {
width: 100px;
height: 40px;
border: 1px solid #4ea6ff;
border-radius: 8px;
color: #4ea6ff;
background-color: #fff;
cursor: pointer;
}
.btn2 {
cursor: pointer;
width: 100px;
height: 40px;
background: #4ea6ff;
border-radius: 8px;
border: 0;
margin-left: 15px;
color: #fff;
}
}
}

View File

@@ -1,286 +1,297 @@
<template>
<a-drawer
:visible="addonlineVisible"
class="drawerStyle"
width="80%"
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"
<a-drawer
:visible="addonlineVisible"
class="drawerStyle"
width="80%"
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="contentMain">
<div class="main_items">
<div class="mi_ipts">
<div class="mii_ipt">
<div class="ipt_name">课程编号</div>
<div class="fi_input">
<a-input
v-model:value="value1"
style="width: 240px; height: 40px; border-radius: 8px"
placeholder="请输入项目名称"
/>
</div>
</div>
<div class="contentMain">
<div class="main_items">
<div class="mi_ipts">
<div class="mii_ipt">
<div class="ipt_name">课程编号</div>
<div class="fi_input">
<a-input
v-model:value="value1"
style="width: 240px; height: 40px; border-radius: 8px"
placeholder="请输入项目名称"
/>
</div>
</div>
<div class="mii_ipt">
<div class="ipt_name">内容分类</div>
<div class="select">
<a-select
dropdownClassName="dropdown-style"
style="width: 240px"
placeholder="请选择"
:options="options1"
allowClear
showSearch
/>
</div>
</div>
</div>
<div class="mi_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>
</div>
<div class="main_notice">
<div class="mntc_left">
<div class="notice_icon"></div>
<span style="color:rgba(0, 0, 0, .65); margin-right:17px;">已选择 <span style="color:#388BE1;">4</span> </span>
<span style="color:rgba(0, 0, 0, .65)">列表选项总计<span>14</span> </span>
</div>
<div class="mntc_right">
<span style="color:#387DF7; margin-right:24px;">清空</span>
</div>
</div>
<div class="main_table">
<a-table class="ant-table-striped"
:row-class-name="(_record, index) => (index % 2 === 1 ? 'table-striped' : null)"
:row-selection="rowSelection"
:columns="columns1"
:data-source="tableData1"
: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()
// })
},
}"
/>
</div>
<div class="main_btns">
<button class="btn1">取消</button>
<button class="btn2">确定</button>
</div>
<div class="mii_ipt">
<div class="ipt_name">内容分类</div>
<div class="select">
<a-select
dropdownClassName="dropdown-style"
style="width: 240px"
placeholder="请选择"
:options="options1"
allowClear
showSearch
/>
</div>
</div>
</div>
<div class="mi_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>
</div>
</a-drawer>
<div class="main_notice">
<div class="mntc_left">
<div class="notice_icon"></div>
<span style="color: rgba(0, 0, 0, 0.65); margin-right: 17px"
>已选择 <span style="color: #388be1">4</span> </span
>
<span style="color: rgba(0, 0, 0, 0.65)"
>列表选项总计<span>14</span> </span
>
</div>
<div class="mntc_right">
<span style="color: #387df7; margin-right: 24px">清空</span>
</div>
</div>
<div class="main_table">
<a-table
class="ant-table-striped"
:row-class-name="
(_record, index) => (index % 2 === 1 ? 'table-striped' : null)
"
:row-selection="rowSelection"
:columns="columns1"
:data-source="tableData1"
: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()
// })
},
}"
/>
</div>
</div>
<div class="main_btns">
<button class="btn1">取消</button>
<button class="btn2">确定</button>
</div>
</div>
</a-drawer>
</template>
<script>
import { reactive, toRefs, ref } from "vue";
const options1 = ref([
{
value: "value1",
label: "请选择状态",
},
]);
const columns1 = [
const options1 = ref([
{
value: "value1",
label: "请选择状态",
},
]);
const columns1 = [
{
title: "课程编号",
width: "20%",
dataIndex: "num",
key: "num",
align: "center",
},
{
title: "名称",
width: "20%",
dataIndex: "name",
key: "name",
align: "center",
},
{
title: "内容分类",
width: "13%",
dataIndex: "content",
key: "content",
align: "center",
},
{
title: "授课教师",
width: "13%",
dataIndex: "teacher",
key: "teacher",
align: "center",
},
{
title: "创建人",
width: "13%",
dataIndex: "creator",
key: "creator",
align: "center",
},
{
title: "完成时间",
width: "20%",
dataIndex: "time",
key: "time",
align: "center",
},
];
const rowSelection = ref({
checkStrictly: false,
onChange: (selectedRowKeys, selectedRows) => {
console.log(
`selectedRowKeys: ${selectedRowKeys}`,
"selectedRows: ",
selectedRows
);
},
onSelect: (record, selected, selectedRows) => {
console.log(record, selected, selectedRows);
},
onSelectAll: (selected, selectedRows, changeRows) => {
console.log(selected, selectedRows, changeRows);
},
});
export default {
name: "AddOnline",
props: {
addonlineVisible: {
type: Boolean,
default: false,
},
},
setup(props, ctx) {
const state = reactive({
tableData1: [
{
title: "课程编号",
width: '20%',
dataIndex: "num",
key: "num",
align: "center",
key: "1",
num: "JDF2022071100001",
name: "时间管理课程",
content: "通用力",
teacher: "BOE教师",
creator: "管理员",
time: "2022-10-31 23:12:00",
},
{
title: "名称",
width: '20%',
dataIndex: "name",
key: "name",
align: "center",
key: "2",
num: "JDF2022071100001",
name: "管理能力课程",
content: "领导力",
teacher: "BOE教师",
creator: "管理员",
time: "2022-10-31 23:12:00",
},
{
title: "内容分类",
width: '13%',
dataIndex: "content",
key: "content",
align: "center",
key: "3",
num: "JDF2022071100001",
name: "快速换模SMED",
content: "通用力",
teacher: "BOE教师",
creator: "管理员",
time: "2022-10-31 23:12:00",
},
{
title: "授课教师",
width: '13%',
dataIndex: "teacher",
key: "teacher",
align: "center",
key: "4",
num: "JDF2022071100001",
name: "巧妙对话人见人夸",
content: "领导力",
teacher: "BOE教师",
creator: "管理员",
time: "2022-10-31 23:12:00",
},
{
title: "创建人",
width: '13%',
dataIndex: "creator",
key: "creator",
align: "center",
key: "5",
num: "JDF2022071100001",
name: "管理能力课程",
content: "领导力",
teacher: "BOE教师",
creator: "管理员",
time: "2022-10-31 23:12:00",
},
{
title: "完成时间",
width: '20%',
dataIndex: "time",
key: "time",
align: "center",
key: "6",
num: "JDF2022071100001",
name: "时间管理课程",
content: "领导力",
teacher: "BOE教师",
creator: "管理员",
time: "2022-10-31 23:12:00",
},
]
const rowSelection = ref({
checkStrictly: false,
onChange: (selectedRowKeys, selectedRows) => {
console.log(`selectedRowKeys: ${selectedRowKeys}`, 'selectedRows: ', selectedRows);
{
key: "7",
num: "JDF2022071100001",
name: "时间管理课程",
content: "领导力",
teacher: "BOE教师",
creator: "管理员",
time: "2022-10-31 23:12:00",
},
onSelect: (record, selected, selectedRows) => {
console.log(record, selected, selectedRows);
{
key: "8",
num: "JDF2022071100001",
name: "时间管理课程",
content: "领导力",
teacher: "BOE教师",
creator: "管理员",
time: "2022-10-31 23:12:00",
},
onSelectAll: (selected, selectedRows, changeRows) => {
console.log(selected, selectedRows, changeRows);
{
key: "9",
num: "JDF2022071100001",
name: "时间管理课程",
content: "领导力",
teacher: "BOE教师",
creator: "管理员",
time: "2022-10-31 23:12:00",
},
],
currentPage: 1,
tableDataTotal: 100,
pageSize: 10,
});
export default {
name: "AddOnline",
props: {
addonlineVisible: {
type: Boolean,
default: false,
},
},
setup(props, ctx) {
const state = reactive({
tableData1: [
{
key: "1",
num: 'JDF2022071100001',
name:'时间管理课程',
content:'通用力',
teacher:'BOE教师',
creator:'管理员',
time:'2022-10-31 23:12:00',
},
{
key: "2",
num: 'JDF2022071100001',
name:'管理能力课程',
content:'领导力',
teacher:'BOE教师',
creator:'管理员',
time:'2022-10-31 23:12:00',
},
{
key: "3",
num: 'JDF2022071100001',
name:'快速换模SMED',
content:'通用力',
teacher:'BOE教师',
creator:'管理员',
time:'2022-10-31 23:12:00',
},
{
key: "4",
num: 'JDF2022071100001',
name:'巧妙对话人见人夸',
content:'领导力',
teacher:'BOE教师',
creator:'管理员',
time:'2022-10-31 23:12:00',
},
{
key: "5",
num: 'JDF2022071100001',
name:'管理能力课程',
content:'领导力',
teacher:'BOE教师',
creator:'管理员',
time:'2022-10-31 23:12:00',
},
{
key: "6",
num: 'JDF2022071100001',
name:'时间管理课程',
content:'领导力',
teacher:'BOE教师',
creator:'管理员',
time:'2022-10-31 23:12:00',
},
{
key: "7",
num: 'JDF2022071100001',
name:'时间管理课程',
content:'领导力',
teacher:'BOE教师',
creator:'管理员',
time:'2022-10-31 23:12:00',
},
{
key: "8",
num: 'JDF2022071100001',
name:'时间管理课程',
content:'领导力',
teacher:'BOE教师',
creator:'管理员',
time:'2022-10-31 23:12:00',
},
{
key: "9",
num: 'JDF2022071100001',
name:'时间管理课程',
content:'领导力',
teacher:'BOE教师',
creator:'管理员',
time:'2022-10-31 23:12:00',
},
],
currentPage: 1,
tableDataTotal: 100,
pageSize: 10,
});
const closeDrawer = () => {
ctx.emit("update:addonlineVisible", false);
};
const afterVisibleChange = (bool) => {
console.log("state", bool);
};
const showDrawerOnline = () => {
state.visible = true;
};
return {
...toRefs(state),
afterVisibleChange,
showDrawerOnline,
closeDrawer,
options1,
columns1,
rowSelection,
// change,
};
},
const closeDrawer = () => {
ctx.emit("update:addonlineVisible", false);
};
const afterVisibleChange = (bool) => {
console.log("state", bool);
};
const showDrawerOnline = () => {
state.visible = true;
};
return {
...toRefs(state),
afterVisibleChange,
showDrawerOnline,
closeDrawer,
options1,
columns1,
rowSelection,
// change,
};
},
};
</script>
<style lang="scss" scoped>
@@ -288,160 +299,160 @@ import { reactive, toRefs, ref } from "vue";
background-color: #fafafa !important;
}
.drawerStyle {
.drawerMain {
.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;
}
}
.contentMain {
.main_items{
display: flex;
justify-content: space-between;
margin-bottom: 12px;
flex-wrap: wrap;
.mi_ipts{
display: flex;
margin-bottom: 20px;
.mii_ipt{
display: flex;
align-items: center;
margin-right: 24px;
.ipt_name{
white-space: nowrap;
}
}
}
.mi_btns{
display: flex;
margin-left: 38px;
margin-bottom: 20px;
cursor: pointer;
.btn {
padding: 0px 26px 0px 26px;
height: 38px;
border-radius: 8px;
border: 1px solid rgba(64, 158, 255, 1);
display: flex;
align-items: center;
justify-content: center;
margin-left: 14px;
flex-shrink: 0;
.search {
background-size: 100%;
}
.btnText {
font-size: 14px;
font-weight: 400;
line-height: 36px;
margin-left: 5px;
}
}
.btn1 {
background: rgb(64, 158, 255);
.search {
width: 15px;
height: 17px;
background-image: url("@/assets/images/coursewareManage/search0.png");
}
.btnText{
color: rgb(255, 255, 255);
}
}
.btn2 {
background: rgb(255, 255, 255);
.search {
width: 15px;
height: 17px;
background-image: url("@/assets/images/coursewareManage/reset1.png");
}
.btnText{
color: rgb(64, 158, 255);
}
}
.btn1:hover {
background: rgb(255, 255, 255);
.search {
background-image: url("@/assets/images/courseManage/search1.png");
}
.btnText {
color: #388BE1;
}
}
.btn2:hover {
background: rgba(64, 158, 255, 1);
.search {
background-image: url("@/assets/images/courseManage/reset0.png");
}
.btnText {
color: #ffffff;
}
}
}
}
.main_notice{
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 32px;
height: 40px;
background-color: #E9F6FE;
.mntc_left{
display: flex;
align-items: center;
.notice_icon{
width: 14px;
height: 14px;
margin-right: 9px;
margin-left: 9px;
background-image: url(@/assets/images/coursewareManage/gan.png);
background-size: 100% 100%;
}
}
.mntc_right{
cursor: pointer;
}
}
.main_btns{
height: 72px;
width: 100%;
position: absolute;
bottom: 0;
left: 0;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.16);
.btn1 {
width: 100px;
height: 40px;
border: 1px solid #4ea6ff;
border-radius: 8px;
color: #4ea6ff;
background-color: #fff;
cursor: pointer;
}
.btn2 {
cursor: pointer;
width: 100px;
height: 40px;
background: #4ea6ff;
border-radius: 8px;
border: 0;
margin-left: 15px;
color: #fff;
}
}
}
.drawerMain {
.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;
}
}
.contentMain {
.main_items {
display: flex;
justify-content: space-between;
margin-bottom: 12px;
flex-wrap: wrap;
.mi_ipts {
display: flex;
margin-bottom: 20px;
.mii_ipt {
display: flex;
align-items: center;
margin-right: 24px;
.ipt_name {
white-space: nowrap;
}
}
}
.mi_btns {
display: flex;
margin-left: 38px;
margin-bottom: 20px;
cursor: pointer;
.btn {
padding: 0px 26px 0px 26px;
height: 38px;
border-radius: 8px;
border: 1px solid rgba(64, 158, 255, 1);
display: flex;
align-items: center;
justify-content: center;
margin-left: 14px;
flex-shrink: 0;
.search {
background-size: 100%;
}
.btnText {
font-size: 14px;
font-weight: 400;
line-height: 36px;
margin-left: 5px;
}
}
.btn1 {
background: rgb(64, 158, 255);
.search {
width: 15px;
height: 17px;
background-image: url("@/assets/images/coursewareManage/search0.png");
}
.btnText {
color: rgb(255, 255, 255);
}
}
.btn2 {
background: rgb(255, 255, 255);
.search {
width: 15px;
height: 17px;
background-image: url("@/assets/images/coursewareManage/reset1.png");
}
.btnText {
color: rgb(64, 158, 255);
}
}
.btn1:hover {
background: rgb(255, 255, 255);
.search {
background-image: url("@/assets/images/courseManage/search1.png");
}
.btnText {
color: #388be1;
}
}
.btn2:hover {
background: rgba(64, 158, 255, 1);
.search {
background-image: url("@/assets/images/courseManage/reset0.png");
}
.btnText {
color: #ffffff;
}
}
}
}
.main_notice {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 32px;
height: 40px;
background-color: #e9f6fe;
.mntc_left {
display: flex;
align-items: center;
.notice_icon {
width: 14px;
height: 14px;
margin-right: 9px;
margin-left: 9px;
background-image: url(@/assets/images/coursewareManage/gan.png);
background-size: 100% 100%;
}
}
.mntc_right {
cursor: pointer;
}
}
}
.main_btns {
height: 72px;
width: 100%;
bottom: 0;
left: 0;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.16);
.btn1 {
width: 100px;
height: 40px;
border: 1px solid #4ea6ff;
border-radius: 8px;
color: #4ea6ff;
background-color: #fff;
cursor: pointer;
}
.btn2 {
cursor: pointer;
width: 100px;
height: 40px;
background: #4ea6ff;
border-radius: 8px;
border: 0;
margin-left: 15px;
color: #fff;
}
}
}
}
</style>

View File

@@ -1,277 +1,294 @@
<template>
<a-drawer
:visible="editonlineVisible"
class="drawerStyle"
width="80%"
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="contentMain">
<div class="main_item">
<div class="signbox">
<div class="sign"><img src="@/assets/images/coursewareManage/asterisk.png" alt=""></div>
<span style="margin-right: 3px">课程名称</span>
</div>
<div class="fi_input">
<a-input
v-model:value="value2"
style="width: 384px; height: 40px; border-radius: 8px"
placeholder="请输入小组名称"
/>
</div>
</div>
<div class="main_item">
<div class="signbox">
<div class="sign"><img src="@/assets/images/coursewareManage/asterisk.png" alt=""></div>
<span style="margin-right: 3px">选择课程</span>
</div>
<div class="btnbox">
<button class="xkbtn">选择课程</button>
<a-tag closable @close="log" color='#F0FFFF' style="background-color: #388BE1;">时间管理</a-tag>
</div>
</div>
<div class="main_items">
<div class="mi_ipts">
<div class="mii_ipt">
<div class="ipt_name">课程编号</div>
<div class="fi_input">
<a-input
v-model:value="value1"
style="width: 240px; height: 40px; border-radius: 8px"
placeholder="请输入项目名称"
/>
</div>
</div>
<div class="mii_ipt">
<div class="ipt_name">内容分类</div>
<div class="select">
<a-select
dropdownClassName="dropdown-style"
style="width: 240px"
placeholder="请选择"
:options="options1"
allowClear
showSearch
/>
</div>
</div>
</div>
<div class="mi_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>
</div>
<div class="main_table">
<a-table class="ant-table-striped"
:row-class-name="(_record, index) => (index % 2 === 1 ? 'table-striped' : null)"
:row-selection="rowSelection"
:columns="columns1"
:data-source="tableData1"
: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()
// })
},
}"
/>
</div>
<div class="main_btns">
<button class="btn1">取消</button>
<button class="btn2">确定</button>
</div>
<a-drawer
:visible="editonlineVisible"
class="drawerStyle"
width="80%"
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="contentMain">
<div class="main_item">
<div class="signbox">
<div class="sign">
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
</div>
<span style="margin-right: 3px">课程名称</span>
</div>
<div class="fi_input">
<a-input
v-model:value="value2"
style="width: 384px; height: 40px; border-radius: 8px"
placeholder="请输入小组名称"
/>
</div>
</div>
</a-drawer>
<div class="main_item">
<div class="signbox">
<div class="sign">
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
</div>
<span style="margin-right: 3px">选择课程</span>
</div>
<div class="btnbox">
<button class="xkbtn">选择课程</button>
<a-tag
closable
@close="log"
color="#F0FFFF"
style="background-color: #388be1"
>时间管理</a-tag
>
</div>
</div>
<div class="main_items">
<div class="mi_ipts">
<div class="mii_ipt">
<div class="ipt_name">课程编号</div>
<div class="fi_input">
<a-input
v-model:value="value1"
style="width: 240px; height: 40px; border-radius: 8px"
placeholder="请输入项目名称"
/>
</div>
</div>
<div class="mii_ipt">
<div class="ipt_name">内容分类</div>
<div class="select">
<a-select
dropdownClassName="dropdown-style"
style="width: 240px"
placeholder="请选择"
:options="options1"
allowClear
showSearch
/>
</div>
</div>
</div>
<div class="mi_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>
</div>
<div class="main_table">
<a-table
class="ant-table-striped"
:row-class-name="
(_record, index) => (index % 2 === 1 ? 'table-striped' : null)
"
:row-selection="rowSelection"
:columns="columns1"
:data-source="tableData1"
: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()
// })
},
}"
/>
</div>
</div>
<div class="main_btns">
<button class="btn1">取消</button>
<button class="btn2">确定</button>
</div>
</div>
</a-drawer>
</template>
<script>
import { reactive, toRefs, ref } from "vue";
const options1 = ref([
{
value: "value1",
label: "请选择状态",
},
]);
const columns1 = [
const options1 = ref([
{
value: "value1",
label: "请选择状态",
},
]);
const columns1 = [
{
title: "课程编号",
width: "20%",
dataIndex: "num",
key: "num",
align: "center",
},
{
title: "名称",
width: "20%",
dataIndex: "name",
key: "name",
align: "center",
},
{
title: "内容分类",
width: "13%",
dataIndex: "content",
key: "content",
align: "center",
},
{
title: "授课教师",
width: "13%",
dataIndex: "teacher",
key: "teacher",
align: "center",
},
{
title: "创建人",
width: "13%",
dataIndex: "creator",
key: "creator",
align: "center",
},
{
title: "完成时间",
width: "20%",
dataIndex: "time",
key: "time",
align: "center",
},
];
const rowSelection = ref({
checkStrictly: false,
onChange: (selectedRowKeys, selectedRows) => {
console.log(
`selectedRowKeys: ${selectedRowKeys}`,
"selectedRows: ",
selectedRows
);
},
onSelect: (record, selected, selectedRows) => {
console.log(record, selected, selectedRows);
},
onSelectAll: (selected, selectedRows, changeRows) => {
console.log(selected, selectedRows, changeRows);
},
});
export default {
name: "EditOnline",
props: {
editonlineVisible: {
type: Boolean,
default: false,
},
},
setup(props, ctx) {
const state = reactive({
tableData1: [
{
title: "课程编号",
width: '20%',
dataIndex: "num",
key: "num",
align: "center",
key: "1",
num: "JDF2022071100001",
name: "时间管理课程",
content: "通用力",
teacher: "BOE教师",
creator: "管理员",
time: "2022-10-31 23:12:00",
},
{
title: "名称",
width: '20%',
dataIndex: "name",
key: "name",
align: "center",
key: "2",
num: "JDF2022071100001",
name: "管理能力课程",
content: "领导力",
teacher: "BOE教师",
creator: "管理员",
time: "2022-10-31 23:12:00",
},
{
title: "内容分类",
width: '13%',
dataIndex: "content",
key: "content",
align: "center",
key: "3",
num: "JDF2022071100001",
name: "快速换模SMED",
content: "通用力",
teacher: "BOE教师",
creator: "管理员",
time: "2022-10-31 23:12:00",
},
{
title: "授课教师",
width: '13%',
dataIndex: "teacher",
key: "teacher",
align: "center",
key: "4",
num: "JDF2022071100001",
name: "巧妙对话人见人夸",
content: "领导力",
teacher: "BOE教师",
creator: "管理员",
time: "2022-10-31 23:12:00",
},
{
title: "创建人",
width: '13%',
dataIndex: "creator",
key: "creator",
align: "center",
key: "5",
num: "JDF2022071100001",
name: "管理能力课程",
content: "领导力",
teacher: "BOE教师",
creator: "管理员",
time: "2022-10-31 23:12:00",
},
{
title: "完成时间",
width: '20%',
dataIndex: "time",
key: "time",
align: "center",
key: "6",
num: "JDF2022071100001",
name: "时间管理课程",
content: "领导力",
teacher: "BOE教师",
creator: "管理员",
time: "2022-10-31 23:12:00",
},
]
const rowSelection = ref({
checkStrictly: false,
onChange: (selectedRowKeys, selectedRows) => {
console.log(`selectedRowKeys: ${selectedRowKeys}`, 'selectedRows: ', selectedRows);
},
onSelect: (record, selected, selectedRows) => {
console.log(record, selected, selectedRows);
},
onSelectAll: (selected, selectedRows, changeRows) => {
console.log(selected, selectedRows, changeRows);
{
key: "7",
num: "JDF2022071100001",
name: "时间管理课程",
content: "领导力",
teacher: "BOE教师",
creator: "管理员",
time: "2022-10-31 23:12:00",
},
],
currentPage: 1,
tableDataTotal: 100,
pageSize: 10,
});
export default {
name: "EditOnline",
props: {
editonlineVisible: {
type: Boolean,
default: false,
},
},
setup( props,ctx) {
const state = reactive({
tableData1: [
{
key: "1",
num: 'JDF2022071100001',
name:'时间管理课程',
content:'通用力',
teacher:'BOE教师',
creator:'管理员',
time:'2022-10-31 23:12:00',
},
{
key: "2",
num: 'JDF2022071100001',
name:'管理能力课程',
content:'领导力',
teacher:'BOE教师',
creator:'管理员',
time:'2022-10-31 23:12:00',
},
{
key: "3",
num: 'JDF2022071100001',
name:'快速换模SMED',
content:'通用力',
teacher:'BOE教师',
creator:'管理员',
time:'2022-10-31 23:12:00',
},
{
key: "4",
num: 'JDF2022071100001',
name:'巧妙对话人见人夸',
content:'领导力',
teacher:'BOE教师',
creator:'管理员',
time:'2022-10-31 23:12:00',
},
{
key: "5",
num: 'JDF2022071100001',
name:'管理能力课程',
content:'领导力',
teacher:'BOE教师',
creator:'管理员',
time:'2022-10-31 23:12:00',
},
{
key: "6",
num: 'JDF2022071100001',
name:'时间管理课程',
content:'领导力',
teacher:'BOE教师',
creator:'管理员',
time:'2022-10-31 23:12:00',
},
{
key: "7",
num: 'JDF2022071100001',
name:'时间管理课程',
content:'领导力',
teacher:'BOE教师',
creator:'管理员',
time:'2022-10-31 23:12:00',
},
],
currentPage: 1,
tableDataTotal: 100,
pageSize: 10,
});
const closeDrawer = () => {
ctx.emit("update:editonlineVisible", false);
};
const afterVisibleChange = (bool) => {
console.log("state", bool);
};
return {
...toRefs(state),
afterVisibleChange,
closeDrawer,
options1,
columns1,
rowSelection,
// change,
};
},
const closeDrawer = () => {
ctx.emit("update:editonlineVisible", false);
};
const afterVisibleChange = (bool) => {
console.log("state", bool);
};
return {
...toRefs(state),
afterVisibleChange,
closeDrawer,
options1,
columns1,
rowSelection,
// change,
};
},
};
</script>
<style lang="scss" scoped>
@@ -279,165 +296,164 @@ import { reactive, toRefs, ref } from "vue";
background-color: #fafafa !important;
}
.drawerStyle {
.drawerMain {
.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;
}
}
.contentMain {
.main_item{
display: flex;
align-items: center;
margin-bottom: 32px;
.signbox{
display: flex;
align-items: center;
.sign{
margin-right: 5px;
}
}
.btnbox{
display: flex;
align-items: center;
.xkbtn {
cursor: pointer;
width: 130px;
height: 40px;
background: #388BE1;
border-radius: 8px;
border: 0;
margin-right: 8px;
color: #fff;
}
}
}
.main_items{
display: flex;
justify-content: space-between;
flex-wrap:wrap;
margin-bottom: 12px;
.mi_ipts{
display: flex;
margin-bottom: 20px;
flex-wrap: wrap;
.mii_ipt{
display: flex;
align-items: center;
margin-right: 24px;
margin-bottom: 10px;
.ipt_name{
white-space: nowrap;
}
}
}
.mi_btns{
display: flex;
margin-left: 38px;
margin-bottom: 20px;
cursor: pointer;
.btn {
padding: 0px 26px 0px 26px;
height: 38px;
border-radius: 8px;
border: 1px solid rgba(64, 158, 255, 1);
display: flex;
align-items: center;
justify-content: center;
margin-left: 14px;
flex-shrink: 0;
.search {
background-size: 100%;
}
.btnText {
font-size: 14px;
font-weight: 400;
line-height: 36px;
margin-left: 5px;
}
}
.btn1 {
background: rgb(64, 158, 255);
.search {
width: 15px;
height: 17px;
background-image: url("@/assets/images/coursewareManage/search0.png");
}
.btnText{
color: rgb(255, 255, 255);
}
}
.btn2 {
background: rgb(255, 255, 255);
.search {
width: 15px;
height: 17px;
background-image: url("@/assets/images/coursewareManage/reset1.png");
}
.btnText{
color: rgb(64, 158, 255);
}
}
.btn1:hover {
background: rgb(255, 255, 255);
.search {
background-image: url("@/assets/images/courseManage/search1.png");
}
.btnText {
color: #388BE1;
}
}
.btn2:hover {
background: rgba(64, 158, 255, 1);
.search {
background-image: url("@/assets/images/courseManage/reset0.png");
}
.btnText {
color: #ffffff;
}
}
}
}
.main_btns{
height: 72px;
width: 100%;
position: absolute;
bottom: 0;
left: 0;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.16);
.btn1 {
width: 100px;
height: 40px;
border: 1px solid #4ea6ff;
border-radius: 8px;
color: #4ea6ff;
background-color: #fff;
cursor: pointer;
}
.btn2 {
cursor: pointer;
width: 100px;
height: 40px;
background: #4ea6ff;
border-radius: 8px;
border: 0;
margin-left: 15px;
color: #fff;
}
}
}
.drawerMain {
.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;
}
}
.contentMain {
.main_item {
display: flex;
align-items: center;
margin-bottom: 32px;
.signbox {
display: flex;
align-items: center;
.sign {
margin-right: 5px;
}
}
.btnbox {
display: flex;
align-items: center;
.xkbtn {
cursor: pointer;
width: 130px;
height: 40px;
background: #388be1;
border-radius: 8px;
border: 0;
margin-right: 8px;
color: #fff;
}
}
}
.main_items {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
margin-bottom: 12px;
.mi_ipts {
display: flex;
margin-bottom: 20px;
flex-wrap: wrap;
.mii_ipt {
display: flex;
align-items: center;
margin-right: 24px;
margin-bottom: 10px;
.ipt_name {
white-space: nowrap;
}
}
}
.mi_btns {
display: flex;
margin-left: 38px;
margin-bottom: 20px;
cursor: pointer;
.btn {
padding: 0px 26px 0px 26px;
height: 38px;
border-radius: 8px;
border: 1px solid rgba(64, 158, 255, 1);
display: flex;
align-items: center;
justify-content: center;
margin-left: 14px;
flex-shrink: 0;
.search {
background-size: 100%;
}
.btnText {
font-size: 14px;
font-weight: 400;
line-height: 36px;
margin-left: 5px;
}
}
.btn1 {
background: rgb(64, 158, 255);
.search {
width: 15px;
height: 17px;
background-image: url("@/assets/images/coursewareManage/search0.png");
}
.btnText {
color: rgb(255, 255, 255);
}
}
.btn2 {
background: rgb(255, 255, 255);
.search {
width: 15px;
height: 17px;
background-image: url("@/assets/images/coursewareManage/reset1.png");
}
.btnText {
color: rgb(64, 158, 255);
}
}
.btn1:hover {
background: rgb(255, 255, 255);
.search {
background-image: url("@/assets/images/courseManage/search1.png");
}
.btnText {
color: #388be1;
}
}
.btn2:hover {
background: rgba(64, 158, 255, 1);
.search {
background-image: url("@/assets/images/courseManage/reset0.png");
}
.btnText {
color: #ffffff;
}
}
}
}
}
.main_btns {
height: 72px;
width: 100%;
bottom: 0;
left: 0;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.16);
.btn1 {
width: 100px;
height: 40px;
border: 1px solid #4ea6ff;
border-radius: 8px;
color: #4ea6ff;
background-color: #fff;
cursor: pointer;
}
.btn2 {
cursor: pointer;
width: 100px;
height: 40px;
background: #4ea6ff;
border-radius: 8px;
border: 0;
margin-left: 15px;
color: #fff;
}
}
}
}
</style>

View File

@@ -0,0 +1,338 @@
<template>
<a-drawer
:visible="Evisible"
class="drawerStyle EntryScores"
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="closeDrawer"
/>
</div>
<div class="main">
<div class="isGood">
<div class="sta"></div>
<div class="cj">成绩</div>
<div class="ch">
<a-radio-group v-model:value="value">
<a-radio :value="1">合格</a-radio>
<a-radio :value="2">不合格</a-radio>
</a-radio-group>
</div>
</div>
<div class="score">
<div class="sleft">
<div class="sta"></div>
<div class="cj">得分</div>
<a-input
v-model:value="score"
style="
width: 270px;
height: 40px;
border-radius: 8px;
margin-left: 15px;
"
placeholder="请输入分数"
/>
</div>
</div>
</div>
<div class="btnn">
<button class="btn1">取消</button>
<button class="btn2">确定</button>
</div>
</div>
</a-drawer>
</template>
<script>
import { toRefs, reactive } from "vue";
export default {
name: "EntryScores",
props: {
Evisible: {
type: Boolean,
default: false,
},
},
setup(props, ctx) {
const state = reactive({
value: 1, //成绩是否合格的单选
score: null, //录入的成绩
pageSize: 10,
currentPage: 1,
tableDataTotal: 100,
projectNameList: [
{
id: 1,
value: "项目一",
label: "项目一",
},
{
id: 2,
value: "项目二",
label: "项目二",
},
{
id: 3,
value: "项目三",
label: "项目三",
},
{
id: 4,
value: "项目四",
label: "项目四",
},
],
tabledata: [
{
key: 1,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
time: "-",
state: "未完成",
},
{
key: 2,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 3,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 4,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 5,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 6,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 7,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 8,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 9,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 10,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
time: "2022-10-31 23:12:00",
state: "未完成",
},
],
tablecolumns: [
{
title: "姓名",
dataIndex: "name",
key: "name",
width: 50,
align: "center",
className: "h",
},
{
title: "所在部门",
dataIndex: "bum",
key: "bum",
width: 50,
align: "center",
className: "h",
},
{
title: "所在岗位",
dataIndex: "gangw",
key: "gangw",
width: 50,
align: "center",
className: "h",
},
{
title: "完成时间",
dataIndex: "time",
key: "time",
width: 50,
align: "center",
className: "h",
},
{
title: "任务状态",
dataIndex: "state",
key: "state",
width: 50,
align: "center",
className: "h",
},
],
});
const selectProjectName = (value, index) => {
console.log("value", value, index);
};
const closeDrawer = () => {
ctx.emit("update:Evisible", false);
};
return {
...toRefs(state),
selectProjectName,
closeDrawer,
};
},
};
</script>
<style scoped lang="scss" >
// .drawerStyle {
// .ant-drawer-content-wrapper {
// // max-width: 1000px;
// .ant-drawer-header {
// display: none !important;
// }
// .ant-drawer-body {
// padding: 0;
// }
// }
// }
.EntryScores {
.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;
}
}
.main {
width: 100%;
height: 100%;
.sta {
width: 10px;
height: 10px;
background-image: url(../../assets/images/basicinfo/asterisk.png);
background-size: 100%;
}
.cj {
font-size: 16px;
font-weight: 400;
color: rgba(0, 0, 0, 0.85);
margin-left: 6px;
}
// background-color: #bfa;
// overflow-y: auto;
.isGood {
display: flex;
align-items: center;
.ch {
margin-top: 2.5px;
margin-left: 15px;
}
}
.score {
display: flex;
margin-top: 30px;
.sleft {
display: flex;
align-items: center;
}
}
}
.btnn {
height: 72px;
width: 100%;
position: absolute;
bottom: 0;
left: 0;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.16);
.btn1 {
width: 100px;
height: 40px;
border: 1px solid #4ea6ff;
border-radius: 8px;
color: #4ea6ff;
background-color: #fff;
cursor: pointer;
}
.btn2 {
cursor: pointer;
width: 100px;
height: 40px;
background: #4ea6ff;
border-radius: 8px;
border: 0;
margin-left: 15px;
color: #fff;
}
}
}
}
</style>

View File

@@ -1,7 +1,7 @@
<template>
<a-drawer
:visible="Fvisible"
class="drawerStyle"
class="drawerStyle FaceManage"
placement="right"
width="60%"
@after-visible-change="afterVisibleChange"
@@ -60,7 +60,7 @@
<div class="wz">批量标注完成</div>
</div>
<div class="btn btn2">
<div class="wz">批量录入成绩</div>
<div class="wz" @click="showEntryScore">批量录入成绩</div>
</div>
<div class="btn btn2">
<div class="img2"></div>
@@ -80,7 +80,7 @@
<div class="right">清空</div>
</div>
</div>
<div class="tab" style="margin-top: 20px; margin-bottom: 100px">
<div class="tableBox" style="margin-top: 20px; margin-bottom: 100px">
<a-table
style="border: 1px solid #f2f6fe"
:columns="tablecolumns"
@@ -113,14 +113,42 @@
<button class="btn1">取消</button>
<button class="btn2">确定</button>
</div>
<a-modal
:closable="closable"
v-model:visible="showmodal"
centered="true"
:footer="null"
dialogClass="me"
style="width: 424px; height: 258px; padding: 0px; position: relative"
>
<div class="head">
<div class="inhead">
<div class="left">
<div class="gan"></div>
<div class="tis">提示</div>
</div>
<div class="right" @click="closeModal"></div>
</div>
</div>
<div class="main">确定将所选学员标记完成吗</div>
<div class="butn">
<button class="btn btn1" @click="closeModal">取消</button>
<button class="btn btn2" @click="check">确定</button>
</div>
</a-modal>
</div>
</a-drawer>
<!-- 录入成绩抽屉 -->
<entry-scores v-model:Evisible="Evisible" />
</template>
<script>
import { toRefs, reactive } from "vue";
import EntryScores from "./EntryScores.vue";
export default {
name: "FaceManage",
components: { EntryScores },
props: {
Fvisible: {
type: Boolean,
@@ -130,7 +158,10 @@ export default {
setup(props, ctx) {
const state = reactive({
Evisible: false, //录入成绩抽屉
name: null,
showmodal: false, //勾选提示框
closable: false, //modal右上角的关闭按钮
pageSize: 10,
currentPage: 1,
tableDataTotal: 100,
@@ -245,14 +276,14 @@ export default {
dataIndex: "name",
key: "name",
width: 50,
align: "center",
className: "h",
align: "left",
className: "h head",
},
{
title: "所在部门",
dataIndex: "bum",
key: "bum",
width: 50,
width: 60,
align: "center",
className: "h",
},
@@ -260,7 +291,7 @@ export default {
title: "所在岗位",
dataIndex: "gangw",
key: "gangw",
width: 50,
width: 60,
align: "center",
className: "h",
},
@@ -268,7 +299,7 @@ export default {
title: "课程成绩",
dataIndex: "score",
key: "score",
width: 50,
width: 60,
align: "center",
className: "h",
},
@@ -276,7 +307,7 @@ export default {
title: "任务状态",
dataIndex: "state",
key: "state",
width: 50,
width: 60,
align: "center",
className: "h",
},
@@ -288,31 +319,158 @@ export default {
const closeDrawer = () => {
ctx.emit("update:Fvisible", false);
};
//勾选提示框
const showModal = () => {
state.showmodal = true;
};
//关闭勾选提示框
const closeModal = () => {
state.showmodal = false;
};
//点击确认
const check = () => {
closeModal();
return true;
};
const showEntryScore = () => {
state.Evisible = true;
};
const onSelectChange = (selectedRowKeys) => {
console.log("selectedRowKeys changed: ", selectedRowKeys);
state.selectedRowKeys = selectedRowKeys;
showModal();
// 判断是否点击了确认
// let result = check();
// if (result) {
// state.selectedRowKeys = selectedRowKeys;
// }
// state.selectedRowKeys = selectedRowKeys;
};
return {
...toRefs(state),
selectProjectName,
check,
closeDrawer,
onSelectChange,
showModal,
closeModal,
showEntryScore,
};
},
};
</script>
<style scoped lang="scss" >
.drawerStyle {
.ant-drawer-content-wrapper {
// max-width: 1000px;
.ant-drawer-header {
display: none !important;
}
.ant-drawer-body {
padding: 0;
<style lang="scss" >
.me {
.ant-modal-body {
padding: 0px;
}
}
.ant-modal {
width: 424px !important;
height: 258px !important;
.ant-modal-content {
width: 424px !important;
height: 258px !important;
.ant-modal-body {
width: 424px !important;
height: 258px !important;
padding: 0px !important;
.head {
width: 424px;
height: 68px;
// position: absolute;
// left: 0;
// top: 0;
background: linear-gradient(
180deg,
rgba(78, 166, 255, 0.2) 0%,
rgba(78, 166, 255, 0) 100%
);
display: flex;
justify-content: center;
.inhead {
width: 90%;
height: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.left {
display: flex;
align-items: center;
.gan {
width: 16px;
height: 16px;
background-image: url(../../assets/images/taskpage/gan.png);
}
.tis {
margin-left: 5px;
width: 32px;
font-size: 16px;
font-weight: 600;
color: #333333;
}
}
.right {
width: 22px;
height: 22px;
background-image: url(../../assets/images/basicinfo/close.png);
background-size: 100% 100%;
cursor: pointer;
}
}
}
.main {
margin-top: 20px;
width: 100%;
display: flex;
justify-content: center;
font-size: 14px;
font-weight: 400;
color: #333333;
}
.butn {
width: 100%;
display: flex;
margin-top: 60px;
justify-content: center;
.btn {
width: 100px;
height: 40px;
border-radius: 4px;
cursor: pointer;
}
.btn1 {
color: #387df7;
background: #ffffff;
border: 1px solid #387df7;
}
.btn2 {
background: #388be1;
color: #fff;
border: 0;
margin-left: 10px;
}
}
}
}
}
// .drawerStyle {
// .ant-drawer-content-wrapper {
// // max-width: 1000px;
// .ant-drawer-header {
// display: none !important;
// }
// .ant-drawer-body {
// padding: 0;
// }
// }
// }
.FaceManage {
.drawerMain {
min-width: 600px;
margin: 0px 32px 0px 32px;
@@ -355,6 +513,9 @@ export default {
display: flex;
flex-wrap: nowrap;
margin-bottom: 10px;
.name {
margin-top: 8px;
}
// .name {
// margin-top: 8px;
@@ -493,15 +654,23 @@ export default {
}
}
}
.tab {
.ant-table-thead > tr > th {
background-color: rgba(239, 244, 252, 1);
.tableBox {
.ant-table-selection-column {
padding: 0px !important;
// padding-left: 45px !important;
}
.ant-table-thead > tr > th {
background-color: rgba(239, 244, 252, 1) !important;
}
.ant-table-selection-column {
padding: 0 !important;
}
th.h {
background-color: #eff4fc !important;
}
.head {
padding-left: 0px !important;
}
.ant-table-tbody
> tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)
> td {

View File

@@ -0,0 +1,738 @@
<template>
<a-drawer
:visible="FSvisible"
class="largeDrawerStyle"
placement="right"
width="80%"
@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="main">
<div class="titl">
<div class="endtime">
起止时间2022-07-21 14:00 2022-7-30 14:00
</div>
<div class="endtime" style="margin-left: 64px">签到时间14:00</div>
<div class="endtime" style="margin-left: 40px">签退时间21:00</div>
</div>
<div class="search">
<div class="leftchoose">
<div class="namecon" style="margin-right: 30px">
<div class="name">姓名</div>
<a-input
v-model:value="name"
style="width: 270px; height: 40px; border-radius: 8px"
placeholder="请输入姓名"
/>
</div>
<div class="namecon" style="margin-right: 30px">
<div class="name">考勤</div>
<div class="select">
<a-select
v-model:value="projectName"
style="width: 160px"
placeholder="请选择"
:options="projectNameList"
@change="selectProjectName"
allowClear
showSearch
></a-select>
</div>
</div>
<div class="namecon">
<div class="name">签到状态</div>
<div class="select">
<a-select
v-model:value="projectName2"
style="width: 160px"
placeholder="请选择"
:options="projectNameList2"
@change="selectProjectName2"
allowClear
showSearch
></a-select>
</div>
</div>
</div>
<div class="btns">
<div class="btn btn1" style="margin-right: 20px">
<div class="img1"></div>
<div class="wz">搜索</div>
</div>
<div class="btn btn2">
<div class="img2"></div>
<div class="wz">重置</div>
</div>
</div>
</div>
<div class="btnss" style="margin-top: 20px">
<div class="btn btn1" style="margin-right: 20px">
<div class="img1"></div>
<div class="wz">导入学员</div>
</div>
<div class="btn btn2">
<div class="wz">批量签到</div>
</div>
<div class="btn btn2">
<div class="wz" @click="showEntryScore">批量签退</div>
</div>
<div class="btn btn2">
<div class="img2"></div>
<div class="wz">导出数据</div>
</div>
</div>
<div class="line">
<div class="inline">
<div class="left">
<div class="img"></div>
<div class="text" style="margin-left: 10px">已选择</div>
<div class="text2">2</div>
<div class="text"></div>
<div class="text3">列表选项总计</div>
<div class="text4">9</div>
</div>
<div class="right">清空</div>
</div>
</div>
<!-- <div class="pad"></div> -->
<div class="tableBox" style="margin-top: 30px">
<a-table
style="border: 1px solid #f2f6fe"
:columns="tableDataFunc()"
:data-source="tableData"
:loading="tableDataTotal === -1 ? true : false"
expandRowByClick="true"
@expand="expandTable"
:scroll="{ x: 1300 }"
:pagination="false"
:row-selection="{
columnWidth: 30,
selectedRowKeys: selectedRowKeys,
onChange: onSelectChange,
}"
/>
</div>
<!-- <div class="tab" style="margin-top: 20px; margin-bottom: 100px">
<a-table
style="border: 1px solid #f2f6fe"
:columns="tablecolumns"
:data-source="tabledata"
:loading="tableDataTotal === -1 ? true : false"
expandRowByClick="true"
:scroll="{ x: 900, y: 350 }"
@expand="expandTable"
:pagination="false"
:row-selection="{
columnWidth: 30,
selectedRowKeys: selectedRowKeys,
onChange: onSelectChange,
}"
/>
</div> -->
</div>
</div>
<div class="botm"></div>
<div class="btnn">
<button class="btn1">取消</button>
<button class="btn2">确定</button>
</div>
</a-drawer>
</template>
<script>
import { toRefs, reactive } from "vue";
export default {
name: "FaceManage",
props: {
FSvisible: {
type: Boolean,
default: false,
},
},
setup(props, ctx) {
const state = reactive({
Evisible: false, //录入成绩抽屉
name: null,
showmodal: false, //勾选提示框
closable: false, //modal右上角的关闭按钮
pageSize: 10,
currentPage: 1,
tableDataTotal: 100,
selectedRowKeys: [],
projectNameList: [
{
id: 1,
value: "项目一",
label: "项目一",
},
{
id: 2,
value: "项目二",
label: "项目二",
},
{
id: 3,
value: "项目三",
label: "项目三",
},
{
id: 4,
value: "项目四",
label: "项目四",
},
],
projectNameList2: [
{
id: 1,
value: "项目一",
label: "项目一",
},
{
id: 2,
value: "项目二",
label: "项目二",
},
{
id: 3,
value: "项目三",
label: "项目三",
},
{
id: 4,
value: "项目四",
label: "项目四",
},
],
tableData: [
{
key: 1,
name: "张三",
com: "产研部",
gang: "产品经理",
cur: "-",
jin: "-",
time: "缺勤",
state: "异常",
},
{
key: 2,
name: "张三",
com: "产研部",
gang: "产品经理",
cur: "2022-10-31 23:12",
jin: "-",
time: "签到",
state: "正常",
},
{
key: 3,
name: "张三",
com: "产研部",
gang: "产品经理",
cur: "2022-10-31 23:12",
jin: "2022-10-31 23:12",
time: "签到/签退",
state: "正常",
},
{
key: 4,
name: "张三",
com: "产研部",
gang: "产品经理",
cur: "2022-10-31 23:12",
jin: "2022-10-31 23:12",
time: "签到/签退",
state: "正常",
},
{
key: 5,
name: "张三",
com: "产研部",
gang: "产品经理",
cur: "2022-10-31 23:12",
jin: "2022-10-31 23:12",
time: "签到/签退",
state: "正常",
},
{
key: 6,
name: "张三",
com: "产研部",
gang: "产品经理",
cur: "2022-10-31 23:12",
jin: "2022-10-31 23:12",
time: "签到/签退",
state: "正常",
},
{
name: "张三",
com: "产研部",
gang: "产品经理",
cur: "2022-10-31 23:12",
jin: "2022-10-31 23:12",
time: "签到/签退",
state: "正常",
},
{
key: 8,
name: "张三",
com: "产研部",
gang: "产品经理",
cur: "2022-10-31 23:12",
jin: "2022-10-31 23:12",
time: "请假",
state: "正常",
},
],
options: [
{
label: "Apple",
value: "Apple",
},
{
label: "Pear",
value: "Pear",
},
{
label: "Orange",
value: "Orange",
},
],
});
const selectProjectName = (value, index) => {
console.log("value", value, index);
};
const selectProjectName2 = (value, index) => {
console.log("value", value, index);
};
const closeDrawer = () => {
ctx.emit("update:FSvisible", false);
};
const showEntryScore = () => {
state.Evisible = true;
};
const onSelectChange = (selectedRowKeys) => {
console.log("selectedRowKeys changed: ", selectedRowKeys);
state.selectedRowKeys = selectedRowKeys;
};
const tableDataFunc = () => {
const columns = [
{
title: "姓名",
dataIndex: "name",
// width: "30%",
key: "name",
width: 50,
align: "left",
className: "classify",
scopedSlots: { customRender: "action" }, //引入的插槽
customRender: (text) => {
// console.log(text.record.checked1);
return (
<div class="racona">
<span> {text.record.name}</span>
</div>
);
},
},
{
title: "所在部门",
dataIndex: "com",
// width: "30%",
key: "com",
width: 50,
align: "center",
className: "h",
},
{
title: "所在岗位",
dataIndex: "gang",
key: "gang",
width: 50,
align: "center",
className: "h",
},
{
title: "签到时间",
dataIndex: "cur",
key: "cur",
width: 110,
align: "center",
className: "h",
},
{
title: "签退时间",
dataIndex: "jin",
key: "jin",
width: 110,
align: "center",
className: "h",
},
{
title: "考勤",
dataIndex: "time",
key: "time",
width: 50,
align: "center",
className: "h",
},
{
title: "签到状态",
dataIndex: "state",
key: "state",
width: 50,
align: "center",
className: "h",
},
{
title: "操作",
className: "h",
dataIndex: "opacation",
key: "opacation",
width: 210,
align: "center",
scopedSlots: { customRender: "action" }, //引入的插槽
customRender: () => {
return (
<div class="opa">
<a-checkbox-group />
</div>
);
},
},
];
return columns;
};
return {
...toRefs(state),
selectProjectName,
selectProjectName2,
closeDrawer,
onSelectChange,
showEntryScore,
tableDataFunc,
};
},
};
</script>
<style lang="scss" >
.me {
.ant-modal-body {
padding: 0px;
}
}
.largeDrawerStyle {
// width: 80%;
.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;
}
}
.main {
width: 100%;
height: 100%;
// background-color: #bfa;
// overflow-y: auto;
.titl {
display: flex;
.endtime {
font-size: 16px;
font-weight: 500;
color: #333333;
}
}
.search {
width: 100%;
display: flex;
flex-wrap: wrap;
margin-top: 20px;
justify-content: space-between;
.leftchoose {
display: flex;
margin-right: 20px;
.namecon {
display: flex;
flex-wrap: nowrap;
margin-bottom: 10px;
.name {
margin-top: 8px;
white-space: nowrap;
}
// .name {
// margin-top: 8px;
// color: rgba(0, 0, 0, 0.85);
// font-size: 14px;
// font-weight: 400;
// }
}
}
.btns {
display: flex;
flex-wrap: nowrap;
.btn {
cursor: pointer;
width: 100px;
height: 40px;
border-radius: 8px;
display: flex;
justify-content: center;
align-items: center;
.img1 {
width: 15px;
height: 17px;
background-image: url(../../assets/images/courseManage/search0.png);
background-size: 100% 100%;
margin-right: 7px;
}
.img2 {
width: 16px;
height: 18px;
background-image: url(../../assets/images/courseManage/reset1.png);
background-size: 100% 100%;
margin-right: 7px;
}
}
.btn1 {
background: #388be1;
color: #ffffff;
}
.btn2 {
background: #ffffff;
color: #388be1;
border: 1px solid #388be1;
}
}
}
.btnss {
display: flex;
flex-wrap: nowrap;
.btn {
cursor: pointer;
width: 130px;
height: 40px;
border-radius: 8px;
display: flex;
justify-content: center;
align-items: center;
.img1 {
width: 15px;
height: 17px;
background-image: url(../../assets/images/courseManage/search0.png);
background-size: 100% 100%;
margin-right: 7px;
}
.img2 {
width: 17px;
height: 16px;
background-image: url(../../assets/images/coursewareManage/export.png);
background-size: 100% 100%;
margin-right: 7px;
}
}
.btn1 {
background: #388be1;
color: #ffffff;
}
.btn2 {
background: #ffffff;
margin-right: 20px;
color: #388be1;
border: 1px solid #388be1;
}
}
.line {
width: 100%;
height: 40px;
background-color: #e9f6fe;
display: flex;
justify-content: center;
align-items: center;
margin-top: 20px;
border: 1px solid #c3e6fc;
.inline {
width: 95%;
height: 100%;
display: flex;
justify-content: space-between;
// background-color: #bfa;
.left {
height: 100%;
display: flex;
align-items: center;
.img {
width: 14px;
height: 15px;
background-image: url(../../assets/images/leveladd/gan.png);
background-size: 100% 100%;
}
.text {
color: #999ba3;
}
.text2 {
color: #4ea6ff;
margin-left: 5px;
margin-right: 5px;
}
.text3 {
color: #999ba3;
margin-left: 20px;
}
}
.right {
font-size: 14px;
font-weight: 400;
color: #387df7;
height: 100%;
display: flex;
align-items: center;
cursor: pointer;
}
}
}
.pad {
width: 96%;
height: 10px;
background-color: #fff;
position: absolute;
}
.tableBox {
// margin-bottom: 80px;
.classify {
// margin-left: 11px !important;
// padding-left: 9px !important;
padding-left: 0px !important;
}
.ant-checkbox-wrapper {
align-items: center;
margin-top: -2px;
}
.ant-table-selection-column {
padding: 0px !important;
// padding-left: 45px !important;
}
.ant-table-thead > tr > th {
background-color: rgba(239, 244, 252, 1);
}
th.h {
background-color: #eff4fc !important;
}
.ant-table-tbody
> tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)
> td {
background: #f6f9fd;
}
.opa {
background-color: #bfa;
}
}
// .tab {
// .ant-table-thead > tr > th {
// background-color: rgba(239, 244, 252, 1) !important;
// }
// th.h {
// background-color: #eff4fc !important;
// }
// .ant-table-tbody
// > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)
// > td {
// background: #f6f9fd;
// }
// }
}
}
// .botm {
// width: 100%;
// height: 100%;
// background-color: red;
// // flex-shrink: 1;
// }
.btnn {
height: 72px;
width: 100%;
position: absolute;
bottom: 0;
left: 0;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.16);
.btn1 {
width: 100px;
height: 40px;
border: 1px solid #4ea6ff;
border-radius: 8px;
color: #4ea6ff;
background-color: #fff;
cursor: pointer;
}
.btn2 {
cursor: pointer;
width: 100px;
height: 40px;
background: #4ea6ff;
border-radius: 8px;
border: 0;
margin-left: 15px;
color: #fff;
}
}
}
</style>

View File

@@ -0,0 +1,107 @@
<template>
<a-drawer
:visible="Svisible"
class="drawerStyle"
placement="right"
width="40%"
@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="main">
</div>
<div class="btnn">
<button class="btn1">取消</button>
<button class="btn2">确定</button>
</div>
</div>
</a-drawer>
</template>
<script>
export default {
name: "SubsetManage",
props: {
Svisible: {
type: Boolean,
default: false,
},
},
};
</script>
<style scoped lang="scss" >
.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;
}
}
.btnn {
height: 72px;
width: 100%;
position: absolute;
bottom: 0;
left: 0;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.16);
.btn1 {
width: 100px;
height: 40px;
border: 1px solid #4ea6ff;
border-radius: 8px;
color: #4ea6ff;
background-color: #fff;
cursor: pointer;
}
.btn2 {
cursor: pointer;
width: 100px;
height: 40px;
background: #4ea6ff;
border-radius: 8px;
border: 0;
margin-left: 15px;
color: #fff;
}
}
}
}
</style>

View File

@@ -1,14 +1,14 @@
<template>
<a-drawer
:visible="Tvisible"
class="drawerStyle"
class="drawerStyle TimeManage"
placement="right"
width="60%"
@after-visible-change="afterVisibleChange"
>
<div class="drawerMain">
<div class="header">
<div class="headerTitle">在线时间管理</div>
<div class="headerTitle">在线时间管理</div>
<img
style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png"
@@ -18,26 +18,28 @@
<div class="main">
<div class="endtime">起止时间2022-07-21 14:00 2022-7-30 14:00</div>
<div class="search">
<div class="namecon" style="margin-right: 30px">
<div class="name">姓名</div>
<a-input
v-model:value="name"
style="width: 270px; height: 40px; border-radius: 8px"
placeholder="请输入姓名"
/>
</div>
<div class="namecon" style="margin-right: 50px">
<div class="name">任务状态</div>
<div class="select">
<a-select
v-model:value="projectName"
style="width: 270px"
placeholder="请选择"
:options="projectNameList"
@change="selectProjectName"
allowClear
showSearch
></a-select>
<div class="sealeft">
<div class="namecon" style="margin-right: 30px">
<div class="name">姓名</div>
<a-input
v-model:value="name"
style="width: 270px; height: 40px; border-radius: 8px"
placeholder="请输入姓名"
/>
</div>
<div class="namecon" style="margin-right: 50px">
<div class="name">任务状态</div>
<div class="select">
<a-select
v-model:value="projectName"
style="width: 270px"
placeholder="请选择"
:options="projectNameList"
@change="selectProjectName"
allowClear
showSearch
></a-select>
</div>
</div>
</div>
<div class="btns">
@@ -272,17 +274,19 @@ export default {
};
</script>
<style scoped lang="scss" >
.drawerStyle {
.ant-drawer-content-wrapper {
// max-width: 1000px;
.ant-drawer-header {
display: none !important;
}
.ant-drawer-body {
padding: 0;
}
}
<style lang="scss" >
// .drawerStyle {
// .ant-drawer-content-wrapper {
// // max-width: 1000px;
// .ant-drawer-header {
// display: none !important;
// }
// .ant-drawer-body {
// padding: 0;
// }
// }
// }
.TimeManage {
.drawerMain {
min-width: 600px;
margin: 0px 32px 0px 32px;
@@ -320,18 +324,18 @@ export default {
display: flex;
flex-wrap: wrap;
margin-top: 20px;
justify-content: space-between;
.namecon {
.sealeft {
display: flex;
flex-wrap: nowrap;
margin-bottom: 10px;
// .name {
// margin-top: 8px;
// color: rgba(0, 0, 0, 0.85);
// font-size: 14px;
// font-weight: 400;
// }
.namecon {
display: flex;
flex-wrap: nowrap;
margin-bottom: 10px;
.name {
margin-top: 8px;
}
}
}
.btns {
display: flex;

View File

@@ -0,0 +1,482 @@
<template>
<a-drawer
:visible="Wvisible"
class="drawerStyle WorkManage"
placement="right"
width="60%"
@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="main">
<div class="endtime">起止时间2022-07-21 14:00 2022-7-30 14:00</div>
<div class="search">
<div class="sealeft">
<div class="namecon" style="margin-right: 30px">
<div class="name">姓名</div>
<a-input
v-model:value="name"
style="width: 270px; height: 40px; border-radius: 8px"
placeholder="请输入姓名"
/>
</div>
<div class="namecon" style="margin-right: 50px">
<div class="name">任务状态</div>
<div class="select">
<a-select
v-model:value="projectName"
style="width: 160px"
placeholder="请选择"
:options="projectNameList"
@change="selectProjectName"
allowClear
showSearch
></a-select>
</div>
</div>
</div>
<div class="btns">
<div class="btn btn1" style="margin-right: 20px">
<div class="img1"></div>
<div class="wz">搜索</div>
</div>
<div class="btn btn2">
<div class="img2"></div>
<div class="wz">重置</div>
</div>
</div>
</div>
<div class="btnss" style="margin-top: 20px">
<div class="btn btn1" style="margin-right: 20px">
<div class="img1"></div>
<div class="wz">导出数据</div>
</div>
<div class="btn btn2">
<div class="wz">导出作业</div>
</div>
</div>
<div class="tab" style="margin-top: 20px; margin-bottom: 100px">
<a-table
style="border: 1px solid #f2f6fe"
:columns="tablecolumns"
:data-source="tabledata"
:loading="tableDataTotal === -1 ? true : false"
expandRowByClick="true"
:scroll="{ x: 900, y: 500 }"
@expand="expandTable"
:pagination="false"
/>
</div>
</div>
<div class="btnn">
<button class="btn1">取消</button>
<button class="btn2">确定</button>
</div>
</div>
</a-drawer>
</template>
<script>
import { toRefs, reactive } from "vue";
export default {
name: "WorkManage",
props: {
Wvisible: {
type: Boolean,
default: false,
},
},
setup(props, ctx) {
const state = reactive({
name: null,
projectNameList: [
{
id: 1,
value: "项目一",
label: "项目一",
},
{
id: 2,
value: "项目二",
label: "项目二",
},
{
id: 3,
value: "项目三",
label: "项目三",
},
{
id: 4,
value: "项目四",
label: "项目四",
},
],
tabledata: [
{
key: 1,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "好好学习",
time: "-",
state: "未完成",
},
{
key: 2,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "好好学习",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 3,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "好好学习",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 4,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "好好学习",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 5,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "好好学习",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 6,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "好好学习",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 7,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "好好学习",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 8,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "好好学习",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 9,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "好好学习",
time: "2022-10-31 23:12:00",
state: "未完成",
},
{
key: 10,
name: "哈哈",
bum: "产品部",
gangw: "产品经理",
comp: "好好学习",
time: "2022-10-31 23:12:00",
state: "未完成",
},
],
tablecolumns: [
{
title: "姓名",
dataIndex: "name",
key: "name",
width: 50,
align: "center",
className: "h",
},
{
title: "所在部门",
dataIndex: "bum",
key: "bum",
width: 50,
align: "center",
className: "h",
},
{
title: "所在岗位",
dataIndex: "gangw",
key: "gangw",
width: 50,
align: "center",
className: "h",
},
{
title: "所在小组",
dataIndex: "comp",
key: "comp",
width: 50,
align: "center",
className: "h",
},
{
title: "完成时间",
dataIndex: "time",
key: "time",
width: 100,
align: "center",
className: "h",
},
{
title: "任务状态",
dataIndex: "state",
key: "state",
width: 50,
align: "center",
className: "h",
},
{
title: "操作",
className: "h",
dataIndex: "opacation",
key: "opacation",
width: 50,
align: "center",
scopedSlots: { customRender: "action" }, //引入的插槽
customRender: () => {
return (
<div class="opa">
<div class="opacation">
<span style="color:#4EA6FF;cursor:pointer">查看</span>
</div>
</div>
);
},
},
],
});
const selectProjectName = (value, index) => {
console.log("value", value, index);
};
const closeDrawer = () => {
ctx.emit("update:Wvisible", false);
};
return {
...toRefs(state),
selectProjectName,
closeDrawer,
};
},
};
</script>
<style lang="scss" >
// .drawerStyle {
// .ant-drawer-content-wrapper {
// // max-width: 1000px;
// .ant-drawer-header {
// display: none !important;
// }
// .ant-drawer-body {
// padding: 0;
// }
// }
// }
.WorkManage {
.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;
}
}
.main {
width: 100%;
height: 100%;
// background-color: #bfa;
// overflow-y: auto;
.endtime {
font-size: 16px;
font-weight: 500;
color: #333333;
}
.search {
width: 100%;
display: flex;
flex-wrap: wrap;
margin-top: 20px;
justify-content: space-between;
.sealeft {
display: flex;
.namecon {
display: flex;
flex-wrap: nowrap;
margin-bottom: 10px;
.name {
margin-top: 8px;
}
}
}
.btns {
display: flex;
flex-wrap: nowrap;
.btn {
cursor: pointer;
width: 100px;
height: 40px;
border-radius: 8px;
display: flex;
justify-content: center;
align-items: center;
.img1 {
width: 15px;
height: 17px;
background-image: url(../../assets/images/courseManage/search0.png);
background-size: 100% 100%;
margin-right: 7px;
}
.img2 {
width: 16px;
height: 18px;
background-image: url(../../assets/images/courseManage/reset1.png);
background-size: 100% 100%;
margin-right: 7px;
}
}
.btn1 {
background: #388be1;
color: #ffffff;
}
.btn2 {
background: #ffffff;
color: #388be1;
border: 1px solid #388be1;
}
}
}
.btnss {
display: flex;
flex-wrap: nowrap;
.btn {
cursor: pointer;
width: 130px;
height: 40px;
border-radius: 8px;
display: flex;
justify-content: center;
align-items: center;
.img1 {
width: 17px;
height: 16px;
background-image: url(../../assets/images/coursewareManage/export1.png);
background-size: 100% 100%;
margin-right: 7px;
}
}
.btn1 {
background: #388be1;
color: #ffffff;
}
.btn2 {
background: #ffffff;
color: #388be1;
border: 1px solid #388be1;
}
}
.tab {
th.h {
background-color: #eff4fc !important;
}
.ant-table-tbody
> tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)
> td {
background: #f6f9fd;
}
}
}
.btnn {
height: 72px;
width: 100%;
position: absolute;
bottom: 0;
left: 0;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.16);
.btn1 {
width: 100px;
height: 40px;
border: 1px solid #4ea6ff;
border-radius: 8px;
color: #4ea6ff;
background-color: #fff;
cursor: pointer;
}
.btn2 {
cursor: pointer;
width: 100px;
height: 40px;
background: #4ea6ff;
border-radius: 8px;
border: 0;
margin-left: 15px;
color: #fff;
}
}
}
}
</style>

View File

@@ -27,7 +27,7 @@
@ok="closeModal"
:footer="null"
:closable="false"
wrapClassName="modalStyle"
wrapClassName="modalStyle faceModal"
width="80%"
>
<div class="modalHeader">
@@ -260,7 +260,7 @@ export default {
.certificateCenter {
width: 100%;
}
.modalStyle {
.faceModal {
.ant-modal {
.modalHeader {
display: flex;

View File

@@ -294,19 +294,20 @@
alt=""
/>
</div>
<div class="item_inp">
<div class="i1_input">
<a-input
v-model:value="value6"
maxlength="90"
style="width: 440px; height: 40px; border-radius: 8px"
placeholder="请输入课程名称"
/>
<div class="inp_num">
<span style="color: #c7cbd2"
>{{ value6.length }}/90</span
>
</div>
<span style="margin-right: 14px">课程名称</span>
</div>
<div class="item_inp">
<div class="i1_input">
<a-input
v-model:value="value6"
maxlength="90"
style="width: 440px; height: 40px; border-radius: 8px"
placeholder="请输入课程名称"
/>
<div class="inp_num">
<span style="color: #c7cbd2"
>{{ value6.length }}/90</span
>
</div>
</div>
</div>
@@ -374,20 +375,10 @@
</div>
</a-upload>
</div>
<div class="item_inp">
<div class="i1_input">
<a-input
v-model:value="value7"
maxlength="50"
style="width: 440px; height: 40px; border-radius: 8px"
placeholder="请输入目标人群"
/>
<div class="inp_num">
<span style="color: #c7cbd2"
>{{ value7.length }}/50</span
>
</div>
</div>
<div class="i3_bottom">
<span style="color: #999ba3"
>高宽比为16:9 (:800*450) png或jpg图片</span
>
</div>
</div>
</div>
@@ -400,19 +391,20 @@
alt=""
/>
</div>
<div class="item_inp">
<div class="i1_input">
<a-input
v-model:value="value8"
maxlength="200"
style="width: 440px; height: 40px; border-radius: 8px"
placeholder="请输入课程价值"
/>
<div class="inp_num">
<span style="color: #c7cbd2"
>{{ value8.length }}/200</span
>
</div>
<span style="margin-right: 14px">目标人群</span>
</div>
<div class="item_inp">
<div class="i1_input">
<a-input
v-model:value="value7"
maxlength="50"
style="width: 440px; height: 40px; border-radius: 8px"
placeholder="请输入目标人群"
/>
<div class="inp_num">
<span style="color: #c7cbd2"
>{{ value7.length }}/50</span
>
</div>
</div>
</div>
@@ -429,6 +421,11 @@
style="width: 440px; height: 40px; border-radius: 8px"
placeholder="请输入课程价值"
/>
<div class="inp_num">
<span style="color: #c7cbd2"
>{{ value8.length }}/200</span
>
</div>
</div>
</div>
</div>
@@ -522,6 +519,11 @@
style="width: 440px; height: 100px; border-radius: 8px"
placeholder="请输入"
/>
<div class="inp_num">
<span style="color: #c7cbd2"
>{{ value11.length }}/150</span
>
</div>
</div>
</div>
</div>
@@ -536,11 +538,6 @@
src="@/assets/images/coursewareManage/enclosure.png"
alt=""
/>
<div class="inp_num">
<span style="color: #c7cbd2"
>{{ value11.length }}/150</span
>
</div>
</div>
<span style="color: #4ea6ff">添加附件</span>
</div>
@@ -724,10 +721,10 @@
</div>
<a-tabs
class="b_menu"
v-model:activeKey="activeKey"
v-model:activeKey="faceManageTab"
size="large"
:tabBarStyle="{ marginLeft: '10px' }"
@change="coursemanageTabsChange"
@change="faceManageChange"
>
<a-tab-pane key="1" tab="报名管理">
<div class="b_menunav">
@@ -839,7 +836,7 @@
@ok="closeModal"
:footer="null"
:closable="false"
wrapClassName="modalStyle detailModal"
wrapClassName="modalStyle coursewareDetail"
width="80%"
>
<div class="modalHeader">
@@ -2318,7 +2315,7 @@ export default defineComponent({
valueC: "",
selectedRowKeys: [],
activeKey: "1",
faceManageTab: "1",
});
const fileList = ref([]);
const loading = ref(false);
@@ -2363,19 +2360,15 @@ export default defineComponent({
{value.status === "已审核" ? (
<div class="nselect">
<div class="ops1">
{value.courseform === "线上" ? (
<div class="jc" style={{ width: "30px" }}></div>
) : (
<div
class="jc"
style={{ width: "30px" }}
onClick={() => {
state.stm_hs = true;
}}
>
开课
</div>
)}
<div
class="jc"
style={{ width: "30px" }}
onClick={() => {
state.stm_hs = true;
}}
>
开课
</div>
</div>
<div class="ops2">
<div
@@ -2485,19 +2478,15 @@ export default defineComponent({
{value.status === "待审核" ? (
<div class="nselect">
<div class="ops1">
{value.courseform === "线上" ? (
<div class="jc" style={{ width: "30px" }}></div>
) : (
<div
class="jc"
style={{ width: "30px" }}
onClick={() => {
state.stm_hs = true;
}}
>
开课
</div>
)}
<div
class="jc"
style={{ width: "30px" }}
onClick={() => {
state.stm_hs = true;
}}
>
开课
</div>
</div>
<div class="ops1">
<div class="jc" style={{ width: "30px" }}></div>
@@ -2552,19 +2541,15 @@ export default defineComponent({
{value.status === "未提交" ? (
<div class="nselect">
<div class="ops1">
{value.courseform === "线上" ? (
<div class="jc" style={{ width: "30px" }}></div>
) : (
<div
class="jc"
style={{ width: "30px" }}
onClick={() => {
state.stm_hs = true;
}}
>
开课
</div>
)}
<div
class="jc"
style={{ width: "30px" }}
onClick={() => {
state.stm_hs = true;
}}
>
开课
</div>
</div>
<div class="ops2">
<div class="jc" style={{ width: "30px" }}>
@@ -2576,46 +2561,6 @@ export default defineComponent({
复制
</div>
</div>
<div class="tableSelect">
<div class="ops4">
<a-select
style="width: 50px;margin-top:2px;margin-left:15px"
value="授权"
// options={state.projectNameList}
dropdownClassName="tabledropdown"
>
<a-select-option value="权限名单" label="权限名单">
<div
onClick={() => {
state.gpm_hs = true;
}}
>
权限名单
</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>
</div>
</div>
<div class="ops5">
<div class="jc" style="margin-left:22px">
删除
</div>
</div>
</div>
) : (
<div></div>
@@ -2623,19 +2568,15 @@ export default defineComponent({
{value.status === "审核未通过" ? (
<div class="nselect">
<div class="ops1">
{value.courseform === "线上" ? (
<div class="jc" style={{ width: "30px" }}></div>
) : (
<div
class="jc"
style={{ width: "30px" }}
onClick={() => {
state.stm_hs = true;
}}
>
开课
</div>
)}
<div
class="jc"
style={{ width: "30px" }}
onClick={() => {
state.stm_hs = true;
}}
>
开课
</div>
</div>
<div class="ops2">
<div class="jc" style={{ width: "30px" }}>
@@ -2699,7 +2640,6 @@ export default defineComponent({
state.tableData = datas;
};
getTableDate();
const getTableDate2 = () => {
let data2 = state.tableData7;
data2.map((value) => {
@@ -2763,7 +2703,6 @@ export default defineComponent({
state.tableData = data2;
};
getTableDate2();
const getTableDate3 = () => {
let datas = state.tableData6;
datas.map((value) => {
@@ -2821,7 +2760,6 @@ export default defineComponent({
state.tableData = datas;
};
getTableDate3();
const getTableDate4 = () => {
let data2 = state.tableData7;
data2.map((value) => {
@@ -2882,7 +2820,6 @@ export default defineComponent({
state.tableData = data2;
};
getTableDate4();
const onftvalue = ref();
const options1 = ref([
{
@@ -2953,8 +2890,7 @@ export default defineComponent({
};
const om_exit = () => {
state.om_1 = false;
// console.log("点击关闭");
state.activeKey = "1";
state.faceManageTab = "1";
};
const ckxq_hs = () => {
state.om_ckxq = true;
@@ -3001,10 +2937,10 @@ export default defineComponent({
state.selectedRowKeys = selectedRowKeys;
};
const coursemanageTabsChange = (e) => {
// console.log("eee", e);
state.activeKey = e;
const faceManageChange = (e) => {
state.faceManageTab = e;
};
return {
onftvalue,
current,
@@ -3046,7 +2982,7 @@ export default defineComponent({
agreestudy_exit,
rejectstudy_exit,
onSelectChange,
coursemanageTabsChange,
faceManageChange,
};
},
});
@@ -3060,7 +2996,6 @@ export default defineComponent({
// color: #4EA6FF !important;
// }
// }
.courseManage {
width: 100%;
height: 100%;
@@ -3284,7 +3219,6 @@ export default defineComponent({
margin-left: 100px;
}
}
.mb_right {
width: 50%;
.mbl_items {
@@ -3468,7 +3402,6 @@ export default defineComponent({
}
}
}
.selectonlineface {
z-index: 999;
width: 679px;
@@ -3560,33 +3493,15 @@ export default defineComponent({
justify-content: center;
margin-left: 6px;
}
.cstm_items {
display: flex;
width: 80%;
margin: auto;
align-items: center;
margin-bottom: 23px;
.signbox {
.b_sub {
width: 440px;
margin-left: 110px;
.bs_header {
display: flex;
justify-content: end;
width: 100px;
margin-right: 6px;
.sign {
margin-top: -5px;
margin-right: 4px;
}
}
.b_input {
flex: 1;
position: relative;
.upload_box {
justify-content: space-between;
.b_right {
display: flex;
}
.inp_num {
position: absolute;
top: 9px;
right: 10px;
}
}
}
.bl_detail {
@@ -3694,6 +3609,7 @@ export default defineComponent({
}
.b_input {
flex: 1;
position: relative;
.upload_box {
display: flex;
cursor: pointer;
@@ -3703,6 +3619,11 @@ export default defineComponent({
margin-right: 5px;
}
}
.inp_num {
position: absolute;
top: 9px;
right: 10px;
}
}
}
.items_fj {
@@ -3741,7 +3662,6 @@ export default defineComponent({
}
}
}
//QR
.ant-modal {
.ant-modal-content {
@@ -3835,7 +3755,6 @@ export default defineComponent({
}
}
}
//recordgrade
.ant-modal {
.ant-modal-content {
@@ -4136,7 +4055,6 @@ export default defineComponent({
}
}
}
//onlinemanage faceteachmanage ftsturecord givepower schooltime studentsmanage
.modalStyle {
.ant-modal {
@@ -4670,18 +4588,8 @@ export default defineComponent({
}
}
}
.detailModal {
// display: flex;
// align-items: center;
// justify-content: center;
.ant-modal {
height: 350px;
margin-top: 100px;
}
.ant-modal-content {
height: 350px !important;
}
.coursewareDetail .ant-modal {
height: 320px;
margin-top: 100px;
}
</style>

View File

@@ -78,7 +78,7 @@
</div>
<!-- 添加在线侧弹窗 -->
<div>
<add-online v-model:addonlineVisible="visible" />
<add-online v-model:addonlineVisible="addonlinevisible" />
</div>
<!-- 添加在线侧弹窗 -->
<div class="lin"></div>
@@ -92,7 +92,7 @@
</div>
<!-- 添加面授侧弹窗 -->
<div>
<add-faceteach v-model:addfaceteachVisible="visible3" />
<add-faceteach v-model:addfaceteachVisible="addfaceteachvisible" />
</div>
<!-- 添加面授侧弹窗 -->
<div class="lin"></div>
@@ -243,7 +243,7 @@
</div>
<!-- 编辑在线侧弹窗 -->
<div>
<edit-online v-model:editonlineVisible="visible2" />
<edit-online v-model:editonlineVisible="editonlinevisible" />
</div>
<!-- 编辑在线侧弹窗 -->
</div>
@@ -644,9 +644,9 @@ export default {
currentPage: 1,
tableDataTotal: 100,
pageSize: 10,
visible: false,
visible2: false,
visible3: false,
addonlinevisible: false,
addfaceteachvisible: false,
editonlinevisible: false,
stage: false,
selectedRowKeys: [],
});
@@ -763,7 +763,7 @@ export default {
<div class="opacation">
<span
onClick={() => {
state.visible2 = true;
state.editonlinevisible = true;
}}
style="color:#4EA6FF;margin-right:25px;cursor:pointer"
>
@@ -807,11 +807,10 @@ export default {
"0px 1px 35px 0px rgba(118, 136, 166, 0.07)";
});
const showDrawerOnline = () => {
state.visible = true;
state.addonlinevisible = true;
};
const showDrawerFaceteach = () => {
state.visible3 = true;
console.log(state.visible3);
state.addfaceteachvisible = true;
};
return {
...toRefs(state),

File diff suppressed because it is too large Load Diff