mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-10 19:36:46 +08:00
feat:新增学员管理列表操作渲染 操作删除弹窗 操作查看抽屉 项目积分获取规则
This commit is contained in:
161
src/components/windows/DelWins.vue
Normal file
161
src/components/windows/DelWins.vue
Normal file
@@ -0,0 +1,161 @@
|
||||
<template>
|
||||
<!--删除弹窗 -->
|
||||
<a-modal
|
||||
v-model:visible="delete_hs"
|
||||
:footer="null"
|
||||
:closable="closableQR"
|
||||
wrapClassName="DelModal"
|
||||
style="margin-top: 400px"
|
||||
>
|
||||
<div class="delete" :style="{ display: delete_hs ? 'block' : 'none' }">
|
||||
<div class="del_header"></div>
|
||||
<div class="del_main">
|
||||
<div class="header">
|
||||
<div class="del-icon"></div>
|
||||
<span>提示</span>
|
||||
<div class="close_exit" @click="delete_exit"></div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<span>您确定要删除此课程吗</span>
|
||||
</div>
|
||||
<div class="del_btnbox">
|
||||
<div class="del_btn btn1">
|
||||
<div class="btnText" @click="delete_exit">取消</div>
|
||||
</div>
|
||||
<div class="del_btn btn2">
|
||||
<div class="btnText" @click="delete_exit">确定</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a-modal>
|
||||
<!--删除弹窗 -->
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { toRefs, reactive, defineComponent } from "vue";
|
||||
export default defineComponent({
|
||||
name: "DelWins",
|
||||
props: {
|
||||
delete_hs: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
},
|
||||
setup() {
|
||||
const state = reactive({
|
||||
delete_hs: false,
|
||||
closableQR: false,
|
||||
})
|
||||
const delete_exit = () => {
|
||||
state.delete_hs = false;
|
||||
}
|
||||
return {
|
||||
...toRefs(state),
|
||||
delete_exit,
|
||||
};
|
||||
},
|
||||
})
|
||||
</script>
|
||||
<style lang="scss" scope>
|
||||
.DelModal {
|
||||
.ant-modal {
|
||||
.ant-modal-content {
|
||||
width: 424px !important;
|
||||
.ant-modal-body {
|
||||
.delete {
|
||||
z-index: 999;
|
||||
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%);
|
||||
.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%
|
||||
);
|
||||
}
|
||||
.del_main {
|
||||
width: 100%;
|
||||
position: relative;
|
||||
.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%;
|
||||
}
|
||||
}
|
||||
.body {
|
||||
width: 100%;
|
||||
margin: 34px auto 56px auto;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -820,7 +820,57 @@
|
||||
</div>
|
||||
</div>
|
||||
</a-tab-pane>
|
||||
<a-tab-pane key="5" tab="项目积分"> Content of Tab Pane 3 </a-tab-pane>
|
||||
<a-tab-pane key="5" tab="项目积分">
|
||||
<div class="split"></div>
|
||||
<div class="content3">
|
||||
<a-tabs v-model:activeKey="activeKey2">
|
||||
<a-tab-pane key="1" tab="学员获取">
|
||||
</a-tab-pane>
|
||||
<a-tab-pane key="2" tab="榜单">
|
||||
</a-tab-pane>
|
||||
<a-tab-pane key="3" tab="获取规则">
|
||||
<div class="projectscore">
|
||||
<div class="pjc_body">
|
||||
<div class="pjcb_header">
|
||||
<span>规则</span>
|
||||
<div class="edit_btn">
|
||||
<div class="edit"></div>
|
||||
<div class="btnText">编辑</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pjcb_content">
|
||||
<div class="content content1">
|
||||
<span>当前设计下,学员可以获得
|
||||
<a-input
|
||||
v-model:value="inputValue"
|
||||
:maxlength="3"
|
||||
style="width: 50px"
|
||||
/>
|
||||
积分</span>
|
||||
</div>
|
||||
<div class="content content2">
|
||||
<span>完成【必修/选修】获得
|
||||
<a-input
|
||||
v-model:value="inputValue2"
|
||||
:maxlength="3"
|
||||
style="width: 50px"
|
||||
/>
|
||||
积分</span></div>
|
||||
<div class="content content3">
|
||||
<span>优秀学员可获得
|
||||
<a-input
|
||||
v-model:value="inputValue3"
|
||||
:maxlength="3"
|
||||
style="width: 50px"
|
||||
/>
|
||||
积分</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a-tab-pane>
|
||||
</a-tabs>
|
||||
</div>
|
||||
</a-tab-pane>
|
||||
<a-tab-pane key="6" tab="排行榜">
|
||||
<div class="content6">
|
||||
<div class="title">排行榜</div>
|
||||
@@ -1464,6 +1514,39 @@
|
||||
</a-modal>
|
||||
</div>
|
||||
<!-- 编辑弹窗 -->
|
||||
<!-- 删除弹窗 -->
|
||||
<div>
|
||||
<a-modal
|
||||
v-model:visible="delete_hs"
|
||||
:footer="null"
|
||||
:closable="closableQR"
|
||||
wrapClassName="DelModal"
|
||||
style="margin-top: 400px"
|
||||
>
|
||||
<div class="delete" :style="{ display: delete_hs ? 'block' : 'none' }">
|
||||
<div class="del_header"></div>
|
||||
<div class="del_main">
|
||||
<div class="header">
|
||||
<div class="del-icon"></div>
|
||||
<span>提示</span>
|
||||
<div class="close_exit" @click="delete_exit"></div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<span>您确定要删除此课程吗</span>
|
||||
</div>
|
||||
<div class="del_btnbox">
|
||||
<div class="del_btn btn1">
|
||||
<div class="btnText" @click="delete_exit">取消</div>
|
||||
</div>
|
||||
<div class="del_btn btn2">
|
||||
<div class="btnText" @click="delete_exit">确定</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a-modal>
|
||||
</div>
|
||||
<!-- 删除弹窗 -->
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
@@ -1668,6 +1751,7 @@ export default {
|
||||
Seevisible: false, //查看学员
|
||||
Changevisible: false, //学员换组
|
||||
edit_hs: false, //编辑弹窗
|
||||
delete_hs:false, //删除弹窗
|
||||
pubproject: false,
|
||||
stugroup: false,
|
||||
canclestu: false,
|
||||
@@ -1680,6 +1764,10 @@ export default {
|
||||
radioV2: "",
|
||||
activeKey: "2",
|
||||
activeKey1: "8",
|
||||
activeKey2: "3",
|
||||
inputValue:5,
|
||||
inputValue2:5,
|
||||
inputValue3:5,
|
||||
valueName: "", //排行榜输入姓名
|
||||
valueDate: "", //排行榜输入日期
|
||||
noticeChecked: true,
|
||||
@@ -2135,6 +2223,75 @@ export default {
|
||||
//考试、测评页面传递参数
|
||||
showTestText: "",
|
||||
});
|
||||
|
||||
//学员学员管理渲染
|
||||
const getTableDate = () => {
|
||||
let datas = state.tabledata;
|
||||
datas.map((value) => {
|
||||
{
|
||||
//单层项目
|
||||
value.operations = (
|
||||
<div class="operation">
|
||||
<div class="nSelect">
|
||||
<div class="nselect">
|
||||
<div
|
||||
class="jc"
|
||||
onClick={() => {
|
||||
// state.QR_hs = true;
|
||||
// state.ftsQR_hs = true;
|
||||
}}
|
||||
>
|
||||
优秀学员
|
||||
</div>
|
||||
<div class="jc"
|
||||
onClick={() => {
|
||||
state.Seevisible = true;
|
||||
}}>查看</div>
|
||||
<div class="tableSelect">
|
||||
<a-select
|
||||
style="width: 50px;margin-top:2px;margin-left:25px"
|
||||
value="更多"
|
||||
// options={state.projectNameList}
|
||||
dropdownClassName="tabledropdown"
|
||||
>
|
||||
<a-select-option
|
||||
value="换组"
|
||||
label="换组"
|
||||
style="padding-left:35px"
|
||||
>
|
||||
<div
|
||||
onClick={() => {
|
||||
// state.copy_hs = true;
|
||||
}}
|
||||
>
|
||||
复制
|
||||
</div>
|
||||
</a-select-option>
|
||||
<a-select-option
|
||||
value="删除"
|
||||
label="删除"
|
||||
style="padding-left:35px"
|
||||
>
|
||||
<div
|
||||
onClick={() => {
|
||||
state.delete_hs = true;
|
||||
}}
|
||||
>
|
||||
删除
|
||||
</div>
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
});
|
||||
state.tableData = datas;
|
||||
};
|
||||
getTableDate()
|
||||
|
||||
const showModal = () => {
|
||||
state.pubproject = true;
|
||||
};
|
||||
@@ -2231,6 +2388,9 @@ export default {
|
||||
state.radioV2 = "";
|
||||
}
|
||||
};
|
||||
const delete_exit = () => {
|
||||
state.delete_hs = false;
|
||||
};
|
||||
return {
|
||||
...toRefs(state),
|
||||
showModal,
|
||||
@@ -2258,6 +2418,7 @@ export default {
|
||||
edit_exit,
|
||||
cloradio1,
|
||||
cloradio2,
|
||||
delete_exit,
|
||||
};
|
||||
},
|
||||
};
|
||||
@@ -3497,7 +3658,32 @@ export default {
|
||||
justify-content: right;
|
||||
// position: absolute;
|
||||
// bottom: 20px;
|
||||
|
||||
}
|
||||
.operation {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: #4ea6ff;
|
||||
.nselect {
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
display: flex;
|
||||
.jc {
|
||||
margin-left: 20px;
|
||||
cursor: pointer;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
.tableSelect {
|
||||
margin-right: 10px;
|
||||
margin-left: -5px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: right;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
}
|
||||
.groupmain {
|
||||
display: flex;
|
||||
@@ -3632,6 +3818,55 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
.projectscore{
|
||||
.pjc_body{
|
||||
margin-left:34px;
|
||||
margin-right:34px;
|
||||
.pjcb_header{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin:24px auto;
|
||||
.edit_btn{
|
||||
width: 100px;
|
||||
// padding: 0px 26px 0px 26px;
|
||||
height: 38px;
|
||||
background: rgb(64, 158, 255);
|
||||
border-radius: 8px;
|
||||
border: 1px solid rgba(64, 158, 255, 1);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-shrink: 0;
|
||||
cursor: pointer;
|
||||
.edit {
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
background-image: url(@/assets/images/coursewareManage/export1.png);
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.btnText {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: rgb(255, 255, 255);
|
||||
line-height: 36px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.pjcb_content{
|
||||
border: 1px solid #388BE1;
|
||||
padding: 32px;
|
||||
.pjcb_content :last-child{
|
||||
margin-bottom:0px;
|
||||
}
|
||||
.content{
|
||||
margin-bottom:24px;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.content6 {
|
||||
width: 100%;
|
||||
@@ -4019,4 +4254,104 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
.DelModal {
|
||||
.ant-modal {
|
||||
.ant-modal-content {
|
||||
width: 424px !important;
|
||||
.ant-modal-body {
|
||||
.delete {
|
||||
z-index: 999;
|
||||
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%);
|
||||
.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%
|
||||
);
|
||||
}
|
||||
.del_main {
|
||||
width: 100%;
|
||||
position: relative;
|
||||
.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%;
|
||||
}
|
||||
}
|
||||
.body {
|
||||
width: 100%;
|
||||
margin: 34px auto 56px auto;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user