Files
fe-manage/src/components/growthpath/StudentManage.vue
Pengxiansen f0429972f7 提交
2025-02-14 14:04:16 +08:00

1261 lines
29 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<div class="TableStudent">
<a-row
type="flex"
gutter="12"
style="padding-left: 20px; margin-right: 0px"
>
<a-col>
<a-form-item title="归属组织" style="min-width: 170px">
<div class="select in">
<OrgClass
v-model:value="tableParam.organizationId"
:placeName="'请选择归属组织'"
></OrgClass>
</div>
</a-form-item>
</a-col>
<a-col>
<a-form-item title="选择岗位" style="min-width: 170px">
<div class="select in">
<PostSelect v-model:value="tableParam.stdPosition"> </PostSelect>
</div>
</a-form-item>
</a-col>
<a-col>
<a-form-item title="选择职级" style="min-width: 170px">
<div class="select in">
<OfficeSelect
v-model:value="tableParam.qualsLevelCode"
:searchData="tableParam.stdPosition"
@change="officeSelectChange"
></OfficeSelect>
</div>
</a-form-item>
</a-col>
<a-col>
<a-form-item title="Band职级" style="width: 193px">
<div class="select in">
<a-select
v-model:value="tableParam.bandCode"
placeholder="请选择Band职级"
:options="bandOption"
notFoundContent="请先选择任职资格"
allowClear
></a-select>
</div>
</a-form-item>
</a-col>
<a-col>
<a-form-item title="姓名:" style="width: 170px">
<a-input
class="cus-input"
v-model:value="tableParam.username"
placeholder="请输入姓名/工号"
/>
</a-form-item>
</a-col>
<a-col>
<a-form-item title="加入方式" style="width: 193px">
<div class="select in">
<a-select
v-model:value="tableParam.joinMethod"
placeholder="请选择加入方式"
:options="statusValues"
allowClear
></a-select>
</div>
</a-form-item>
</a-col>
<a-col>
<a-button
class="cus-btn"
style="background: #4ea6ff; color: #fff; margin-bottom: 10px"
@click="search"
:loading="stuAsyncLoading"
>
<template #icon>
<img
style="margin-right: 10px"
src="../../assets/images/courseManage/search0.png"
/></template>
搜索
</a-button>
</a-col>
<a-col :span="2">
<a-button
class="cus-btn"
style="
width: 100px;
background: #ffffff;
color: #578afc;
border: 1px solid #578afc;
margin-bottom: 10px;
"
@click="reset"
>
<template #icon>
<img
style="margin-right: 10px"
src="../../assets/images/growthpath/searchOut.png"
/></template>
重置
</a-button>
</a-col>
</a-row>
<a-row
type="flex"
gutter="12"
style="padding-left: 20px; margin-right: 0px; position: relative"
v-if="checkGrowthPer(permissions)"
>
<a-col :span="1.5">
<a-button
@click="addSut"
class="cus-btn"
style="background: #4ea6ff; color: #fff"
>
<template #icon
><img
style="margin-right: 10px"
src="../../assets/images/courseManage/add0.png"
/></template>
新增学员
</a-button>
</a-col>
<!-- 新加导入学员 批量换组 导出学习信息 -->
<a-col :span="1.5">
<a-button
class="cus-btn"
@click="showImpStu"
style="background: #ffffff; color: #578afc; border: 1px solid #578afc"
>
<template #icon
><img
style="margin-right: 10px"
src="../../assets/images/basicinfo/in2.png"
/></template>
导入学员
</a-button>
</a-col>
<a-col :span="1.5">
<a-button
class="cus-btn"
@click="bathDel"
style="background: #ffffff; color: #578afc; border: 1px solid #578afc"
>
<template #icon
><img
style="margin-right: 10px"
src="../../assets/images/projectadd/delete.png"
/></template>
批量删除学员
</a-button>
</a-col>
<a-col :span="1.5">
<a-button
class="cus-btn"
@click="exportTaskStu"
style="background: #ffffff; color: #578afc; border: 1px solid #578afc"
>
<template #icon
><img
style="margin-right: 10px"
src="../../assets/images/coursewareManage/export.png"
/></template>
导出学员信息
</a-button>
</a-col>
</a-row>
<div class="tips">
说明以下学员信息来自于AMED系统如需调整学员请登录员工发展认证管理系统操作
</div>
<div style="margin-top: 20px; padding: 0 20px">
<a-table
:columns="tablecolumns"
:data-source="tableData.list"
:pagination="stuPagination"
:loading="tableData.loading"
:scroll="{ x: 1000 }"
row-key="id"
:row-selection="stuRowSelection"
:row-class-name="getRowClass"
>
<template #studyNames="{ record }">
<div class="stuName">
<span class="name" :title="record.userNickName">{{
record.userNickName
}}</span>
<a-popover
v-if="record.moveStatus"
placement="right"
v-model:visible="visibleName[record.sid]"
class="popver"
trigger="click"
>
<template #content>
<div style="position: relative">
<img
style="margin: -40px 0 0 -44px"
src="@/assets/images/growthpath/namepag.png"
alt=""
/>
<div style="position: absolute; left: 21px; top: 16px">
<div>
改学员已被管理员{{
record.updateName || ""
}}添加至其他路径中
</div>
<div>添加时间{{ record.updateTime || "" }}</div>
</div>
<img
@click="visibleName[record.sid] = false"
style="
width: 26px;
height: 26px;
position: absolute;
top: -9px;
right: -4px;
"
src="@/assets/images/growthpath/out.png"
alt=""
/>
</div>
</template>
<div class="wen">?</div>
</a-popover>
</div>
</template>
<template #action="{ record }">
<div
style="display: flex; justify-content: center; align-items: center"
>
<a-button
@click="seeStudent(record)"
type="link"
style="margin-right: 16px"
>
查看
</a-button>
<a-button
v-if="checkGrowthPer(permissions)"
:disabled="record.isLeader === '1'"
@click="del(record)"
type="link"
>删除
</a-button>
</div>
</template>
</a-table>
</div>
</div>
<!-- 查看学员 传入查看学员的id-->
<see-stu :permissions="permissions" ref="seeStuRef" />
<!-- 导入学员抽屉 -->
<!-- :courseId="projectTaskInfo.courseId"
:courseType="2" -->
<ImportStu
v-model:AddImpStuvisible="AddImpStuvisible"
@AddImpStuvisibleClose="AddImpStuvisibleClose"
:courseId="id"
:courseType="type"
/>
<GrowthDrawer ref="GrowthDrawerRef" title="新增学员">
<GrowthCommonStudent
:growthId="growId"
@confirm="confirmDrawer"
@close="closeDrawer"
></GrowthCommonStudent>
</GrowthDrawer>
</template>
<script setup lang="jsx">
import { computed, defineProps, onMounted, ref, watch } from "vue";
import { delStudentList, getStuPage } from "@/api/index1";
import {
getGrowStudent,
delGrowStudent,
batchDelStudents,
allocationList,
addLearners,
getBandList,
} from "@/api/growthpath";
import GrowthCommonStudent from "./GrowthCommonStudent";
import { message } from "ant-design-vue";
import SeeStu from "./StudentSeeStu";
import ImportStu from "./ImportStu";
import { checkGrowthPer } from "@/utils/utils";
import dialog from "@/utils/dialog";
import PostSelect from "@/components/growthpath/PostSelect";
import OfficeSelect from "@/components/growthpath/OfficeSelect";
import OrgClass from "@/components/growthpath/OrgClass";
import GrowthDrawer from "@/components/growthpath/GrowthDrawer";
const props = defineProps({
type: Number,
permissions: {
type: String,
default: "",
},
activeKey: {
type: String,
default: "",
},
id: String,
columns: {
type: Array,
default: () => [],
},
stage: {
type: Array,
default: () => [],
},
visable: {
type: Boolean,
default: false,
},
isgetStudent: {
type: Boolean,
default: null,
},
groupList: {
type: Array,
default: () => [],
},
growId: String,
});
// const { loading: stuAsyncLoading, start } = useAsyncStu(props.id, props.type, getStuList);
const GrowthDrawerRef = ref(null);
const addSut = () => {
GrowthDrawerRef.value.openDrawer();
};
const visibleName = ref([]);
// band职级选项
const bandOption = ref([]);
// 加入方式选项
const statusValues = ref([
{ value: "1", label: "系统加入" },
{ value: "2", label: "手动加入" },
]);
const getRowClass = (record) => {
return record.moveStatus ? "row-moveStatus-true" : "";
};
// 职级change
const officeSelectChange = () => {
getBandList({
stdPosition: tableParam.value.stdPosition,
qualsLevelCode: tableParam.value.qualsLevelCode,
}).then((res) => {
// 清空筛选band职级的值
tableParam.value.bandCode = null;
bandOption.value = res.data.data.map((item) => {
return {
value: item,
lable: item,
};
});
});
};
const tablecolumns = ref([
{
title: "姓名",
dataIndex: "userNickName",
key: "userNickName",
width: 100,
align: "left",
className: "h",
ellipsis: true,
slots: { customRender: "studyNames" },
},
{
title: "工号",
dataIndex: "username",
key: "username",
width: 100,
align: "center",
className: "h",
ellipsis: true,
},
{
title: "归属组织",
dataIndex: "orgName",
key: "orgName",
width: 230,
align: "center",
className: "h",
ellipsis: true,
},
{
title: "标准岗位",
dataIndex: "stdPositionName",
key: "stdPositionName",
width: 170,
align: "center",
className: "h",
ellipsis: true,
},
{
title: "任职资格等级",
dataIndex: "qualsLevelDesr",
key: "qualsLevelDesr",
width: 100,
align: "center",
className: "h",
ellipsis: true,
},
{
title: "Band职级",
dataIndex: "bandName",
key: "bandName",
width: 100,
align: "center",
className: "h",
ellipsis: true,
},
{
title: "加入方式",
dataIndex: "joinMethod",
key: "joinMethod",
width: 100,
align: "center",
customRender: ({ record: { joinMethod } }) =>
({
1: "系统加入",
2: "手动加入",
}[joinMethod]),
},
{
title: "进度",
width: 100,
align: "center",
dataIndex: "progress",
key: "progress",
className: "h",
customRender: ({ record }) => (
<div class="text">{record.progress || 0}%</div>
),
},
{
title: "完成状态",
dataIndex: "completionStatus",
key: "completionStatus",
width: 100,
align: "center",
className: "h",
ellipsis: true,
customRender: ({ record: { completionStatus } }) =>
({
null: "未开始",
0: "未开始",
1: "已完成",
2: "进行中",
}[completionStatus] || "未开始"),
},
{
title: "操作",
dataIndex: "operation",
key: "operation",
width: 100,
align: "center",
slots: { customRender: "action" },
},
]);
const tableParam = ref({
username: "", //学员名称
pageNum: 1,
pageSize: 10,
type: props.type,
growthId: props.growId,
});
const stuSelectKeys = ref([]);
const tableData = ref({
list: [],
total: 10,
loading: false,
});
const stuRowSelection = computed(() => ({
columnWidth: 20,
selectedRowKeys: stuSelectKeys.value,
onChange: onStuSelectChange,
preserveSelectedRowKeys: true,
}));
function search() {
tableParam.value.pageNum = 1;
getStuList();
}
// 导出数据
function exportTaskStu() {
window.open(
buildUrl(
`${process.env.VUE_APP_BOE_API_URL}${process.env.VUE_APP_BASE_API_GROWTH}/professional/allocation/export`,
tableParam.value
)
);
// window.open(
// buildUrl(
// "http://192.168.18.141:32002/professional/allocation/export",
// tableParam.value
// )
// );
}
function buildUrl(url, params) {
const searchParams = new URLSearchParams();
Object.keys(params).forEach((key) => {
searchParams.append(key, params[key]);
});
return `${url}?${searchParams.toString()}`;
}
onMounted(() => {
console.log("props.activeKey1" + props.activeKey1);
getStuList();
});
watch(props.isgetStudent, () => {
console.log("监测");
});
watch(props, () => {
if (!props.visable) {
stuSelectKeys.value = [];
console.log("关闭了");
}
console.log("props.visable", props.visable);
// tableParam.value.pid = props.id;
getStuList();
});
function onStuSelectChange(e) {
stuSelectKeys.value = e;
}
const stuPagination = computed(() => ({
total: tableData.value.total,
showTotal: (total) => `${total}`,
showSizeChanger: true,
showQuickJumper: true,
current: tableParam.value.pageNum,
pageSize: tableParam.value.pageSize,
onChange: changePagination,
}));
function changePagination(page, pageSize) {
tableParam.value.pageNum = page;
tableParam.value.pageSize = pageSize;
getStuList();
}
function getStuList() {
tableData.value.loading = true;
console.log("tableParam.value", tableParam.value);
allocationList(tableParam.value)
.then((res) => {
console.log("学员管理-获取学员", res.data);
tableData.value.total = res.data.data.total;
tableData.value.list = res.data.data.records;
tableData.value.loading = false;
})
.catch((err) => {
tableData.value.loading = false;
});
}
function reset() {
tableParam.value.username = "";
// tableParam.value.groupName = ""; //学员小组
tableParam.value.topFlag = null; //是否是优秀学员
tableParam.value.joinMethod = null;
tableParam.value.qualsLevelCode = null;
tableParam.value.stdPosition = null;
tableParam.value.organizationId = null;
tableParam.value.bandCode = null;
getStuList();
}
function bathDel() {
if (stuSelectKeys.value && stuSelectKeys.value.length === 0) {
message.destroy();
return message.warning("请先选中学员");
}
// 判断选择的人员中是否有小组长
// let arr = [...tableData.value.list]
// .filter((x) => [...stuSelectKeys.value].some((id) => id === x.id))
// .filter((item) => item.isLeader === "1");
// if (arr.length > 0) {
// return message.warning(
// "选择人员中:" + arr[0].userNickName + "是小组长,请勿删除!"
// );
// }
dialog({
content: "确定删除吗?",
ok: () => {
tableData.value.loading = true;
batchDelStudents(stuSelectKeys.value.toString()).then((res) => {
if (res.data.code == 200) {
message.success("删除成功");
}
stuSelectKeys.value = [];
tableParam.value.pageNum = 1;
getStuList();
});
},
});
}
function del(row) {
// if (row.isLeader === "1") {
// return message.warning("" + row.name + "是小组长,请勿删除!");
// }
dialog({
content: "确定删除吗?",
ok: () => {
tableData.value.loading = true;
batchDelStudents(row.id).then((res) => {
if (res.data.code == 200) {
message.success("删除成功");
}
getStuList();
});
},
});
}
// 关闭新增学员弹框
function closeDrawer() {
GrowthDrawerRef.value.closeDrawer();
}
function confirmDrawer(selectList) {
closeDrawer();
tableData.value.loading = true;
addLearners({
growthId: props.id,
studentIds: selectList.map((item) => item.userNo),
})
.then((res) => {
tableData.value.loading = false;
message.success("添加成功");
getStuList();
})
.catch((err) => {
tableData.value.loading = false;
});
}
// 查看学员
const seeStuRef = ref(false);
function seeStudent(record) {
seeStuRef.value.openDrawer(record);
}
//导入学员
const AddImpStuvisible = ref(false); //导入学员抽屉
const showImpStu = () => {
AddImpStuvisible.value = true;
};
const AddImpStuvisibleClose = (isget) => {
console.log("关闭了导入学员弹框", isget);
if (isget) {
getStuList();
}
};
function startLoading() {
tableData.value.loading = true;
}
defineExpose({ getStuList, startLoading });
</script>
<style lang="scss" scoped>
::v-deep .ant-pagination-total-text {
color: #818a92;
}
.ant-table-pagination.ant-pagination {
display: flex;
justify-content: center;
}
.ant-table-pagination-right {
justify-content: center;
}
.row-moveStatus-true {
background-color: #ffffff;
color: #979797;
}
.ant-select-selection-item-content {
line-height: 26px !important;
}
.ant-select-selection-item-remove {
line-height: 26px !important;
}
::v-deep .ant-select-selection-item {
line-height: 40px !important;
}
.ant-popover-inner {
width: 355px;
height: 100px;
}
.tips {
padding: 20px 0 0 20px;
}
.stuName {
display: flex;
justify-content: center;
align-items: center;
.name {
width: 60px;
overflow: hidden;
text-overflow: ellipsis;
}
.wen {
width: 14px;
font-size: 14px;
height: 14px;
border: 1px solid #999999;
border-radius: 50%;
text-align: center;
line-height: 14px;
}
}
.TableStudent {
table tr th.ant-table-selection-column,
table tr td.ant-table-selection-column {
padding-left: 3px;
}
}
.stydentName {
overflow: hidden;
text-overflow: ellipsis;
}
.studentExcellent {
width: 64px;
height: 24px;
border-radius: 2px;
border: 1px solid #ffb64e;
background-color: rgba(255, 182, 78, 0.1);
margin-left: 24px;
display: flex;
align-items: center;
.studentExcellentImg {
width: 16px;
height: 16px;
margin-left: 7px;
}
.studentExcellentT {
font-size: 12px;
font-weight: 400;
color: #ffb64e;
line-height: 17px;
margin-left: 3px;
}
}
.studentopea1 {
font-size: 14px;
font-weight: 400;
color: #387df7;
line-height: 22px;
padding-right: 8px;
border-right: 1px solid #e9e9e9;
cursor: pointer;
}
.cus-btn {
width: 100%;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
margin-right: 16px;
border: 1px solid #4ea6ff;
border-radius: 8px;
background: #4ea6ff;
cursor: pointer;
color: #fff;
}
.white {
background: #fff;
color: #4ea6ff;
}
.cus-input {
height: 40px;
border-radius: 8px;
}
.del_header {
position: absolute;
width: calc(100%);
height: 40px;
background: linear-gradient(
rgba(78, 166, 255, 0.2) 0%,
rgba(78, 166, 255, 0) 100%
);
}
.batchOpera {
display: flex;
.stmm_btn {
width: 100px;
height: 40px;
margin-right: 14px;
background: #ffffff;
border: 1px solid #4ea6ff;
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
cursor: pointer;
.btnText {
color: #fff;
font-size: 14px;
font-weight: 400;
line-height: 40px;
}
}
.btn4 {
display: flex;
width: 130px;
flex-direction: column;
position: relative;
.btn4_sub {
display: flex;
justify-content: center;
align-items: center;
.b_zk {
width: 10px;
height: 8px;
// background-image: url("@/assets/images/coursewareManage/down.png");
background-size: 100% 100%;
}
.b_sq {
width: 10px;
height: 8px;
// background-image: url("@/assets/images/coursewareManage/up.png");
background-size: 100% 100%;
}
}
.btn4_sup {
width: 100%;
background-color: #ffffff;
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21);
position: absolute;
top: 40px;
z-index: 999;
.btnsbox {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
.btn4_tit {
margin: 10px auto;
white-space: nowrap;
}
.btn4_op1,
.btn4_op2,
.btn4_op3 {
margin-bottom: 10px;
white-space: nowrap;
}
// .btn4_tit:hover,
// .btn4_op1:hover,
// .btn4_op2:hover,
// .btn4_op3:hover {
// color: #4ea6ff;
// }
}
}
}
.btn5 {
margin-right: 0px;
.export {
width: 17px;
height: 18px;
margin-right: 5px;
background-image: url("@/assets/images/coursewareManage/export1.png");
}
}
}
.btnsearch {
display: flex;
position: absolute;
right: 10px;
}
.deleteModal1 {
.ant-modal {
width: 424px !important;
height: 258px !important;
.ant-modal-content {
width: 424px !important;
height: 258px !important;
.ant-modal-body {
width: 424px !important;
height: 258px !important;
padding: 0 !important;
.delete {
z-index: 999;
width: 424px;
height: 258px;
background: #ffffff;
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21);
border-radius: 4px;
// position: absolute;
// left: 50%;
// top: 10%;
// transform: translate(-50%, -50%);
.del_header {
position: absolute;
width: calc(100%);
height: 68px;
background: linear-gradient(
rgba(78, 166, 255, 0.2) 0%,
rgba(78, 166, 255, 0) 100%
);
}
.del_main {
width: 100%;
position: relative;
.header {
display: flex;
align-items: center;
padding-top: 20px;
padding-left: 26px;
font-size: 16px;
.icon {
width: 16px;
height: 16px;
margin-right: 10px;
background-image: url(@/assets/images/taskpage/gan.png);
background-size: 100% 100%;
}
.close_exit {
position: absolute;
right: 42px;
cursor: pointer;
width: 20px;
height: 20px;
background-image: url(@/assets/images/coursewareManage/close.png);
background-size: 100% 100%;
}
}
.body {
width: 100%;
margin: 34px auto 56px auto;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
// background-color: red;
position: relative;
.back {
position: absolute;
top: 30px;
font-size: 12px;
font-weight: 400;
color: #666666;
}
}
.del_btnbox {
display: flex;
margin: 30px auto;
justify-content: center;
.del_btn {
width: 100px;
height: 40px;
background: rgba(64, 158, 255, 0);
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
cursor: pointer;
.btnText {
font-size: 14px;
font-weight: 400;
line-height: 40px;
}
}
.btn1 {
border: 1px solid rgba(64, 158, 255, 1);
color: #4ea6ff;
margin-right: 14px;
}
.btn2 {
background-color: #4ea6ff;
color: #ffffff;
}
}
}
}
}
}
.ant-modal-close-x {
display: none;
}
}
}
/*.delete {
z-index: 9999;
width: 424px;
background: #ffffff;
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21);
border-radius: 4px;
position: absolute;
left: 50%;
top: 10%;
transform: translate(-50%, -50%);
}
.body {
width: 100%;
margin: 34px auto 56px auto;
display: flex;
justify-content: center;
align-items: center;
}
.del_main {
width: 100%;
position: relative;
}
.del_main > .header {
display: flex;
align-items: center;
padding-top: 20px;
padding-left: 26px;
font-size: 16px;
}
.del-icon {
width: 16px;
height: 16px;
margin-right: 10px;
background-image: url(@/assets/images/coursewareManage/notice.png);
background-size: 100% 100%;
}
.icon {
width: 16px;
height: 16px;
margin-right: 10px;
background-image: url(@/assets/images/coursewareManage/QR.png);
background-size: 100% 100%;
}
.close_exit {
position: absolute;
right: 42px;
cursor: pointer;
width: 20px;
height: 20px;
background-image: url(@/assets/images/coursewareManage/close.png);
background-size: 100% 100%;
}
.del_btnbox {
display: flex;
margin: 30px auto;
justify-content: center;
}
.del_btn {
width: 100px;
height: 40px;
background: rgba(64, 158, 255, 0);
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
margin-right: 14px;
flex-shrink: 0;
cursor: pointer;
}
.btnText {
font-size: 14px;
font-weight: 400;
line-height: 40px;
}
.btn1 {
border: 1px solid rgba(64, 158, 255, 1);
color: #4ea6ff;
}
.btn2 {
background-color: #4ea6ff;
color: #ffffff;
}
.ant-modal-close {
margin-right: 18px;
margin-top: 5px;
}
.ant-modal-content {
width: 424px !important;
height: 258px !important;
}
.ant-modal-body {
width: 424px !important;
height: 258px !important;
padding: 0 !important;
position: relative;
top: 105px !important;
}
.ant-modal-body > .delete {
z-index: 999;
width: 424px;
height: 258px;
background: #ffffff;
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21);
border-radius: 4px;
}
.ant-modal-body > .del_header {
position: absolute;
width: calc(100%);
height: 68px;
background: linear-gradient(rgba(78, 166, 255, 0.2) 0%,
rgba(78, 166, 255, 0) 100%);
}
.ant-modal-body > .del_main {
width: 100%;
position: relative;
}
.ant-modal-body > .del_main > .header {
display: flex;
align-items: center;
padding-top: 20px;
padding-left: 26px;
font-size: 16px;
}
.ant-modal-body > .del_main > .header > .icon1 {
width: 16px;
height: 16px;
margin-right: 10px;
background-image: url(@/assets/images/coursewareManage/QR.png);
background-size: 100% 100%;
}
.ant-modal-body > .del_main > .header > .close_exit {
position: absolute;
right: 42px;
cursor: pointer;
width: 20px;
height: 20px;
background-image: url(@/assets/images/coursewareManage/close.png);
background-size: 100% 100%;
}
.ant-modal-body > .del_main > .body {
width: 100%;
margin: 34px auto 56px auto;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
position: relative;
}
.ant-modal-body > .del_main > .body > .back {
position: absolute;
top: 30px;
font-size: 12px;
font-weight: 400;
color: #666666;
}
.ant-modal-body > .del_main > .del_btnbox {
display: flex;
margin: 30px auto;
justify-content: center;
}
.ant-modal-body > .del_main > .del_btnbox > .del_btn {
width: 100px;
height: 40px;
background: rgba(64, 158, 255, 0);
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
cursor: pointer;
}
.ant-modal-body > .del_main > .del_btnbox > .del_btn > .btnText {
font-size: 14px;
font-weight: 400;
line-height: 40px;
}
.ant-modal-body > .del_main > .del_btnbox > .btn1 {
border: 1px solid rgba(64, 158, 255, 1);
color: #4ea6ff;
margin-right: 14px;
}
.ant-modal-body > .del_main > .del_btnbox > .btn2 {
background-color: #4ea6ff;
color: #ffffff;
}
*/
</style>