|
|
@@ -330,35 +330,37 @@
|
|
|
|
|
|
|
|
|
<!-- 移动班级学生弹框 -->
|
|
|
- <el-dialog :visible.sync="moveClaVisible" width="500px">
|
|
|
+ <el-dialog :visible.sync="moveClaVisible" width="440px">
|
|
|
<template slot="title">
|
|
|
<div class="dia_title_box">
|
|
|
- <span>移动班级学生</span>
|
|
|
+ <span>移动学生</span>
|
|
|
</div>
|
|
|
</template>
|
|
|
- <el-cascader
|
|
|
- :options="cascaderData"
|
|
|
- v-model="moveClaCascaderDataPath"
|
|
|
- @change="handlemoveChangecascader"
|
|
|
- popper-class="myCascader2"
|
|
|
- style="width: 100%;"
|
|
|
- :props="{
|
|
|
- label: 'name',
|
|
|
- value: 'id',
|
|
|
- children: 'children',
|
|
|
- }"
|
|
|
- >
|
|
|
- <template slot-scope="{ data, node }">
|
|
|
- <!-- 一级选项(年级) -->
|
|
|
- <span v-if="node.level === 1">{{ data.name }}</span>
|
|
|
- <!-- 二级选项(班级)- 可以自定义显示 -->
|
|
|
- <span v-else-if="node.level === 2" class="cascader-class-item">
|
|
|
- <span>{{ data.name }}</span>
|
|
|
- </span>
|
|
|
- <!-- 其他级别(兜底) -->
|
|
|
- <span v-else>{{ data.name }}</span>
|
|
|
- </template>
|
|
|
- </el-cascader>
|
|
|
+ <div style="width: 100%;height: 300px;padding-top: 20px;box-sizing: border-box;">
|
|
|
+ <el-cascader
|
|
|
+ :options="cascaderData"
|
|
|
+ v-model="moveClaCascaderDataPath"
|
|
|
+ @change="handlemoveChangecascader"
|
|
|
+ popper-class="myCascader2"
|
|
|
+ style="width: 100%;"
|
|
|
+ :props="{
|
|
|
+ label: 'name',
|
|
|
+ value: 'id',
|
|
|
+ children: 'children',
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <template slot-scope="{ data, node }">
|
|
|
+ <!-- 一级选项(年级) -->
|
|
|
+ <span v-if="node.level === 1">{{ data.name }}</span>
|
|
|
+ <!-- 二级选项(班级)- 可以自定义显示 -->
|
|
|
+ <span v-else-if="node.level === 2" class="cascader-class-item">
|
|
|
+ <span>{{ data.name }}</span>
|
|
|
+ </span>
|
|
|
+ <!-- 其他级别(兜底) -->
|
|
|
+ <span v-else>{{ data.name }}</span>
|
|
|
+ </template>
|
|
|
+ </el-cascader>
|
|
|
+ </div>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<el-button @click="moveClaVisible = false">取消</el-button>
|
|
|
<el-button type="primary" @click="confirmMoveClaEdit">确定</el-button>
|
|
|
@@ -432,17 +434,29 @@
|
|
|
:show-close="false"
|
|
|
>
|
|
|
<div class="msgCon">
|
|
|
- <img style="width: 20px;" src="../../../../assets/stuImg/tishi.svg" alt="">
|
|
|
+ <img style="width: 20px;" v-if="deltypy == 7 || deltypy == 8" src="../../../../assets/stuImg/duil.svg" alt="">
|
|
|
+ <img style="width: 20px;" v-else src="../../../../assets/stuImg/tishi.svg" alt="">
|
|
|
+
|
|
|
<div class="msgContxt">
|
|
|
<div v-if="deltypy == 1">确认删除“{{delStuinfo.username}}”学生? </div>
|
|
|
<div v-if="deltypy == 2">确认删除这 {{selectedData.length}} 位学生? </div>
|
|
|
<div v-if="deltypy == 3">此操作将删除该班级,及班级所有已产生的授课数据, 是否继续? </div>
|
|
|
<div v-if="deltypy == 4">确定从当前班级移除{{ selectedData.length }}名学生吗? </div>
|
|
|
<div v-if="deltypy == 5">确定要重置 {{selectedData.length}} 个学生的密码吗? </div>
|
|
|
+ <div v-if="deltypy == 6">确定要重置 {{this.stuEditInfo.username}} 的密码吗? </div>
|
|
|
+ </div>
|
|
|
+ <div class="msgContxt" v-if="deltypy == 7 || deltypy == 8">
|
|
|
+ <div v-if="deltypy == 7">对{{selectedData.length}}个账户重置密码成功! </div>
|
|
|
+ <div v-if="deltypy == 8">重置密码成功! </div>
|
|
|
+ <div>
|
|
|
+ <span>默认密码为:Coco1234</span>
|
|
|
+ <img @click="copyText" style="width: 20px;cursor: pointer;scale: 1.2;" src="../../../../assets/stuImg/copy2.svg" alt="">
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
<el-button @click="closeDia"
|
|
|
+ v-if="deltypy != 7 && deltypy != 8"
|
|
|
>取 消</el-button
|
|
|
>
|
|
|
<el-button type="primary" @click="confirmDelStu"
|
|
|
@@ -632,7 +646,33 @@ export default {
|
|
|
},
|
|
|
},
|
|
|
methods: {
|
|
|
-
|
|
|
+ copyText(){
|
|
|
+ const text = 'Coco1234';
|
|
|
+ if (navigator.clipboard && navigator.clipboard.writeText) {
|
|
|
+ navigator.clipboard.writeText(text).then(() => {
|
|
|
+ this.$message.success('已复制到剪贴板');
|
|
|
+ }).catch(() => {
|
|
|
+ this.fallbackCopy(text);
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.fallbackCopy(text);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ fallbackCopy(text) {
|
|
|
+ const textarea = document.createElement('textarea');
|
|
|
+ textarea.value = text;
|
|
|
+ textarea.style.position = 'fixed';
|
|
|
+ textarea.style.opacity = '0';
|
|
|
+ document.body.appendChild(textarea);
|
|
|
+ textarea.select();
|
|
|
+ try {
|
|
|
+ document.execCommand('copy');
|
|
|
+ this.$message.success('已复制到剪贴板');
|
|
|
+ } catch (err) {
|
|
|
+ this.$message.error('复制失败');
|
|
|
+ }
|
|
|
+ document.body.removeChild(textarea);
|
|
|
+ },
|
|
|
// 年级方法区域
|
|
|
// 打开删除班级弹框
|
|
|
deleteCla(cid,val,uid) {
|
|
|
@@ -894,9 +934,9 @@ export default {
|
|
|
});
|
|
|
Promise.all(promises)
|
|
|
.then(() => {
|
|
|
- this.$refs.msgboxref.dialogVisible = true;
|
|
|
this.popBoxdia = false;
|
|
|
- this.cancelAllSelection();
|
|
|
+ this.deltypy = 7;
|
|
|
+ this.popBoxdia = true;
|
|
|
})
|
|
|
.catch((err) => {
|
|
|
console.error(err);
|
|
|
@@ -927,17 +967,25 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
inPassword() {
|
|
|
- this.$confirm(
|
|
|
- `确定要重置 ${this.stuEditInfo.username} 的密码吗?`,
|
|
|
- "提示",
|
|
|
- {
|
|
|
- confirmButtonText: "确定",
|
|
|
- cancelButtonText: "取消",
|
|
|
- type: "warning",
|
|
|
- }
|
|
|
- )
|
|
|
- .then(() => {
|
|
|
- let params = [
|
|
|
+ this.deltypy = 6;
|
|
|
+ this.popBoxdia = true;
|
|
|
+
|
|
|
+ // this.$confirm(
|
|
|
+ // `确定要重置 ${this.stuEditInfo.username} 的密码吗?`,
|
|
|
+ // "提示",
|
|
|
+ // {
|
|
|
+ // confirmButtonText: "确定",
|
|
|
+ // cancelButtonText: "取消",
|
|
|
+ // type: "warning",
|
|
|
+ // }
|
|
|
+ // )
|
|
|
+ // .then(() => {
|
|
|
+
|
|
|
+ // })
|
|
|
+ // .catch(() => {});
|
|
|
+ },
|
|
|
+ confirminPassword(){
|
|
|
+ let params = [
|
|
|
{
|
|
|
uid: this.stuEditInfo.userid,
|
|
|
pa: "Coco1234",
|
|
|
@@ -946,21 +994,25 @@ export default {
|
|
|
this.ajax
|
|
|
.post(this.$store.state.api + "iniPassword", params)
|
|
|
.then((res) => {
|
|
|
- this.$message({
|
|
|
- message: "密码重置成功",
|
|
|
- type: "success",
|
|
|
- });
|
|
|
+ // this.$message({
|
|
|
+ // message: "密码重置成功",
|
|
|
+ // type: "success",
|
|
|
+ // });
|
|
|
+ this.popBoxdia = false;
|
|
|
+ this.deltypy = 8
|
|
|
+ this.popBoxdia = true;
|
|
|
+
|
|
|
+ // this.$refs.msgboxref.dialogVisible = true;
|
|
|
+
|
|
|
})
|
|
|
.catch((err) => {
|
|
|
+ this.popBoxdia = false;
|
|
|
this.$message({
|
|
|
message: "密码重置失败",
|
|
|
type: "error",
|
|
|
});
|
|
|
});
|
|
|
- })
|
|
|
- .catch(() => {});
|
|
|
},
|
|
|
-
|
|
|
// 打开批量删除弹框
|
|
|
deleteSelectionStudent() {
|
|
|
this.deltypy = 2
|
|
|
@@ -984,6 +1036,13 @@ export default {
|
|
|
this.confirmRemove()
|
|
|
}else if(this.deltypy == 5){
|
|
|
this.confirmrestpsd()
|
|
|
+ }else if(this.deltypy == 6){
|
|
|
+ this.confirminPassword()
|
|
|
+ }else if(this.deltypy == 7){
|
|
|
+ this.cancelAllSelection();
|
|
|
+ this.popBoxdia = false;
|
|
|
+ }else if(this.deltypy == 8){
|
|
|
+ this.popBoxdia = false;
|
|
|
}
|
|
|
},
|
|
|
onedelstu(){
|
|
|
@@ -1068,7 +1127,7 @@ export default {
|
|
|
},
|
|
|
// 添加学生
|
|
|
addStudent() {
|
|
|
- this.$refs.addStu.addStuVisible = true;
|
|
|
+ this.$refs.addStu.stardop()
|
|
|
this.$refs.addStu.classInfo = this.activeinfo;
|
|
|
},
|
|
|
|
|
|
@@ -1576,10 +1635,10 @@ export default {
|
|
|
display: block !important;
|
|
|
}
|
|
|
.myCascader2 .el-cascader-panel{
|
|
|
- width: 460px !important;
|
|
|
+ width: 400px !important;
|
|
|
}
|
|
|
.myCascader2 .el-cascader-menu__list{
|
|
|
- width: 230px;
|
|
|
+ width: 200px;
|
|
|
}
|
|
|
</style>
|
|
|
|