|
@@ -112,12 +112,17 @@
|
|
</el-form>
|
|
</el-form>
|
|
<div class="btnWrap">
|
|
<div class="btnWrap">
|
|
<auth auths="courseShare/saveCourseShare">
|
|
<auth auths="courseShare/saveCourseShare">
|
|
- <el-button @click="addBlack" type="primary" style="margin-bottom: 10px"
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ @click="addBlack"
|
|
|
|
+ type="primary"
|
|
|
|
+ style="margin-bottom: 10px"
|
|
>添加学员</el-button
|
|
>添加学员</el-button
|
|
>
|
|
>
|
|
</auth>
|
|
</auth>
|
|
<auth auths="courseShare/importStudent">
|
|
<auth auths="courseShare/importStudent">
|
|
- <el-button type="primary" @click="() => (importVisible = true)">导入</el-button>
|
|
|
|
|
|
+ <el-button type="primary" @click="() => (importVisible = true)"
|
|
|
|
+ >导入</el-button
|
|
|
|
+ >
|
|
</auth>
|
|
</auth>
|
|
|
|
|
|
<auth auths="courseShare/deleteShareStudent">
|
|
<auth auths="courseShare/deleteShareStudent">
|
|
@@ -137,13 +142,21 @@
|
|
ref="multipleSelection"
|
|
ref="multipleSelection"
|
|
>
|
|
>
|
|
<el-table-column type="selection" width="55"> </el-table-column>
|
|
<el-table-column type="selection" width="55"> </el-table-column>
|
|
- <el-table-column align="center" prop="userId" label="编号"></el-table-column>
|
|
|
|
|
|
+ <el-table-column
|
|
|
|
+ align="center"
|
|
|
|
+ prop="userId"
|
|
|
|
+ label="编号"
|
|
|
|
+ ></el-table-column>
|
|
<el-table-column
|
|
<el-table-column
|
|
align="center"
|
|
align="center"
|
|
prop="username"
|
|
prop="username"
|
|
label="学员姓名"
|
|
label="学员姓名"
|
|
></el-table-column>
|
|
></el-table-column>
|
|
- <el-table-column align="center" prop="organName" label="分部"></el-table-column>
|
|
|
|
|
|
+ <el-table-column
|
|
|
|
+ align="center"
|
|
|
|
+ prop="organName"
|
|
|
|
+ label="分部"
|
|
|
|
+ ></el-table-column>
|
|
<el-table-column
|
|
<el-table-column
|
|
align="center"
|
|
align="center"
|
|
prop="subjectName"
|
|
prop="subjectName"
|
|
@@ -159,7 +172,9 @@
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<div>
|
|
<div>
|
|
<auth auths="courseShare/deleteShareStudent">
|
|
<auth auths="courseShare/deleteShareStudent">
|
|
- <el-button type="text" @click="deteleBlack(scope.row)">删除</el-button>
|
|
|
|
|
|
+ <el-button type="text" @click="deteleBlack(scope.row)"
|
|
|
|
+ >删除</el-button
|
|
|
|
+ >
|
|
</auth>
|
|
</auth>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
@@ -178,7 +193,9 @@
|
|
<addShareStudentModel @getList="getList" ref="addStudentModel" />
|
|
<addShareStudentModel @getList="getList" ref="addStudentModel" />
|
|
<el-dialog title="导入" width="400px" :visible.sync="importVisible">
|
|
<el-dialog title="导入" width="400px" :visible.sync="importVisible">
|
|
<div class="importWrap">
|
|
<div class="importWrap">
|
|
- <el-button type="primary" @click="() => downImport()">下载模板</el-button>
|
|
|
|
|
|
+ <el-button type="primary" @click="() => downImport()"
|
|
|
|
+ >下载模板</el-button
|
|
|
|
+ >
|
|
|
|
|
|
<el-upload
|
|
<el-upload
|
|
v-permission="'courseShare/importStudent'"
|
|
v-permission="'courseShare/importStudent'"
|
|
@@ -187,17 +204,21 @@
|
|
:before-upload="beforeUpload"
|
|
:before-upload="beforeUpload"
|
|
accept=".xlsx,.xls"
|
|
accept=".xlsx,.xls"
|
|
:data="{
|
|
:data="{
|
|
- courseId: $route.query.courseId,
|
|
|
|
|
|
+ courseId: $route.query.courseId
|
|
}"
|
|
}"
|
|
:headers="headers"
|
|
:headers="headers"
|
|
:on-error="handleError"
|
|
:on-error="handleError"
|
|
:on-success="handleSuccess"
|
|
:on-success="handleSuccess"
|
|
>
|
|
>
|
|
- <el-button type="primary" style="margin-left: 20px"> 导入学员 </el-button>
|
|
|
|
|
|
+ <el-button type="primary" style="margin-left: 20px">
|
|
|
|
+ 导入学员
|
|
|
|
+ </el-button>
|
|
</el-upload>
|
|
</el-upload>
|
|
</div>
|
|
</div>
|
|
<div slot="footer" class="dialog-footer">
|
|
<div slot="footer" class="dialog-footer">
|
|
- <el-button type="primary" @click="importVisible = false">确 定</el-button>
|
|
|
|
|
|
+ <el-button type="primary" @click="importVisible = false"
|
|
|
|
+ >确 定</el-button
|
|
|
|
+ >
|
|
</div>
|
|
</div>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
</div>
|
|
</div>
|
|
@@ -224,7 +245,7 @@ export default {
|
|
organIdList: [],
|
|
organIdList: [],
|
|
cooperationOrganId: [],
|
|
cooperationOrganId: [],
|
|
musicGroupId: [],
|
|
musicGroupId: [],
|
|
- groupList: [],
|
|
|
|
|
|
+ groupList: []
|
|
},
|
|
},
|
|
tableList: [],
|
|
tableList: [],
|
|
organList: [],
|
|
organList: [],
|
|
@@ -236,7 +257,7 @@ export default {
|
|
limit: 10, // 限制显示条数
|
|
limit: 10, // 限制显示条数
|
|
page: 1, // 当前页
|
|
page: 1, // 当前页
|
|
total: 0, // 总条数
|
|
total: 0, // 总条数
|
|
- page_size: [10, 20, 40, 50], // 选择限制显示条数
|
|
|
|
|
|
+ page_size: [10, 20, 40, 50] // 选择限制显示条数
|
|
},
|
|
},
|
|
addMuiscVisible: false,
|
|
addMuiscVisible: false,
|
|
multipleSelection: [],
|
|
multipleSelection: [],
|
|
@@ -244,7 +265,7 @@ export default {
|
|
isNewPage: false,
|
|
isNewPage: false,
|
|
lookVisible: false,
|
|
lookVisible: false,
|
|
activeRow: { sendFlag: false },
|
|
activeRow: { sendFlag: false },
|
|
- importVisible: false,
|
|
|
|
|
|
+ importVisible: false
|
|
};
|
|
};
|
|
},
|
|
},
|
|
|
|
|
|
@@ -257,7 +278,7 @@ export default {
|
|
methods: {
|
|
methods: {
|
|
downImport() {
|
|
downImport() {
|
|
window.location.href =
|
|
window.location.href =
|
|
- "https://daya-docs.ks3-cn-beijing.ksyuncs.com/%E7%9B%B4%E6%92%AD%E8%AF%BE-%E5%88%86%E4%BA%AB%E5%AF%BC%E5%85%A5%E6%A8%A1%E6%9D%BF.xlsx";
|
|
|
|
|
|
+ "https://oss.dayaedu.com/%E7%9B%B4%E6%92%AD%E8%AF%BE-%E5%88%86%E4%BA%AB%E5%AF%BC%E5%85%A5%E6%A8%A1%E6%9D%BF.xlsx";
|
|
},
|
|
},
|
|
async getGroupList() {
|
|
async getGroupList() {
|
|
const res = await getGroupList({ page: 1, rows: 9999 });
|
|
const res = await getGroupList({ page: 1, rows: 9999 });
|
|
@@ -280,16 +301,16 @@ export default {
|
|
...rest,
|
|
...rest,
|
|
page: this.rules.page,
|
|
page: this.rules.page,
|
|
rows: this.rules.limit,
|
|
rows: this.rules.limit,
|
|
- courseId: this.$route.query.courseId,
|
|
|
|
|
|
+ courseId: this.$route.query.courseId
|
|
});
|
|
});
|
|
this.tableList = res.data.rows;
|
|
this.tableList = res.data.rows;
|
|
this.rules.total = res.data.total;
|
|
this.rules.total = res.data.total;
|
|
- let idList = this.chioseIdList.map((group) => {
|
|
|
|
|
|
+ let idList = this.chioseIdList.map(group => {
|
|
return group.userId;
|
|
return group.userId;
|
|
});
|
|
});
|
|
this.isNewPage = true;
|
|
this.isNewPage = true;
|
|
this.$nextTick(() => {
|
|
this.$nextTick(() => {
|
|
- this.tableList.forEach((course) => {
|
|
|
|
|
|
+ this.tableList.forEach(course => {
|
|
if (idList.indexOf(course.userId) != -1) {
|
|
if (idList.indexOf(course.userId) != -1) {
|
|
this.$refs.multipleSelection.toggleRowSelection(course, true);
|
|
this.$refs.multipleSelection.toggleRowSelection(course, true);
|
|
}
|
|
}
|
|
@@ -310,7 +331,7 @@ export default {
|
|
organIdList: [],
|
|
organIdList: [],
|
|
cooperationOrganId: [],
|
|
cooperationOrganId: [],
|
|
musicGroupId: [],
|
|
musicGroupId: [],
|
|
- groupList: [],
|
|
|
|
|
|
+ groupList: []
|
|
}),
|
|
}),
|
|
this.clearCom();
|
|
this.clearCom();
|
|
this.search();
|
|
this.search();
|
|
@@ -318,15 +339,18 @@ export default {
|
|
handleSelectionChange(val) {
|
|
handleSelectionChange(val) {
|
|
if (val.length > 0) {
|
|
if (val.length > 0) {
|
|
this.chioseIdList = this.chioseIdList.concat(val);
|
|
this.chioseIdList = this.chioseIdList.concat(val);
|
|
- this.chioseIdList = this.$helpers.lodash.uniqBy(this.chioseIdList, "userId");
|
|
|
|
|
|
+ this.chioseIdList = this.$helpers.lodash.uniqBy(
|
|
|
|
+ this.chioseIdList,
|
|
|
|
+ "userId"
|
|
|
|
+ );
|
|
} else {
|
|
} else {
|
|
if (this.isNewPage) return;
|
|
if (this.isNewPage) return;
|
|
- let idList = this.chioseIdList.map((group) => {
|
|
|
|
|
|
+ let idList = this.chioseIdList.map(group => {
|
|
return group.userId;
|
|
return group.userId;
|
|
});
|
|
});
|
|
this.$nextTick(() => {
|
|
this.$nextTick(() => {
|
|
let tableIdList = [];
|
|
let tableIdList = [];
|
|
- this.tableList.forEach((group) => {
|
|
|
|
|
|
+ this.tableList.forEach(group => {
|
|
tableIdList.push(group.userId);
|
|
tableIdList.push(group.userId);
|
|
if (idList.indexOf(group.userId) != -1) {
|
|
if (idList.indexOf(group.userId) != -1) {
|
|
this.$refs.multipleSelection.toggleRowSelection(group, false);
|
|
this.$refs.multipleSelection.toggleRowSelection(group, false);
|
|
@@ -334,7 +358,7 @@ export default {
|
|
});
|
|
});
|
|
this.chioseIdList = this.$helpers.lodash.remove(
|
|
this.chioseIdList = this.$helpers.lodash.remove(
|
|
this.chioseIdList,
|
|
this.chioseIdList,
|
|
- function (item) {
|
|
|
|
|
|
+ function(item) {
|
|
return tableIdList.indexOf(item.userId) == -1;
|
|
return tableIdList.indexOf(item.userId) == -1;
|
|
}
|
|
}
|
|
);
|
|
);
|
|
@@ -349,7 +373,7 @@ export default {
|
|
this.$refs.multipleSelection.clearSelection();
|
|
this.$refs.multipleSelection.clearSelection();
|
|
},
|
|
},
|
|
onTableSelect(rows, row) {
|
|
onTableSelect(rows, row) {
|
|
- let idList = this.chioseIdList.map((group) => {
|
|
|
|
|
|
+ let idList = this.chioseIdList.map(group => {
|
|
return group.userId;
|
|
return group.userId;
|
|
});
|
|
});
|
|
if (idList.indexOf(row.userId) != -1) {
|
|
if (idList.indexOf(row.userId) != -1) {
|
|
@@ -362,7 +386,7 @@ export default {
|
|
onCancel() {
|
|
onCancel() {
|
|
this.$router.push({
|
|
this.$router.push({
|
|
path: "/business/liveCourseDetail",
|
|
path: "/business/liveCourseDetail",
|
|
- query: { ...this.$route.query },
|
|
|
|
|
|
+ query: { ...this.$route.query }
|
|
});
|
|
});
|
|
this.$store.dispatch("delVisitedViews", this.$route);
|
|
this.$store.dispatch("delVisitedViews", this.$route);
|
|
},
|
|
},
|
|
@@ -370,13 +394,13 @@ export default {
|
|
this.$confirm(`你确定将${row.username}移除分享列表?`, "提示", {
|
|
this.$confirm(`你确定将${row.username}移除分享列表?`, "提示", {
|
|
confirmButtonText: "确定",
|
|
confirmButtonText: "确定",
|
|
cancelButtonText: "取消",
|
|
cancelButtonText: "取消",
|
|
- type: "warning",
|
|
|
|
|
|
+ type: "warning"
|
|
})
|
|
})
|
|
.then(async () => {
|
|
.then(async () => {
|
|
try {
|
|
try {
|
|
const res = await deleteShareStudent({
|
|
const res = await deleteShareStudent({
|
|
courseId: this.$route.query.courseId,
|
|
courseId: this.$route.query.courseId,
|
|
- userIds: [row.userId],
|
|
|
|
|
|
+ userIds: [row.userId]
|
|
});
|
|
});
|
|
this.getList();
|
|
this.getList();
|
|
this.clearCom();
|
|
this.clearCom();
|
|
@@ -388,7 +412,7 @@ export default {
|
|
},
|
|
},
|
|
addBlack() {
|
|
addBlack() {
|
|
this.$refs.addStudentModel.openDioag({
|
|
this.$refs.addStudentModel.openDioag({
|
|
- courseId: this.$route.query.courseId,
|
|
|
|
|
|
+ courseId: this.$route.query.courseId
|
|
});
|
|
});
|
|
},
|
|
},
|
|
removes() {
|
|
removes() {
|
|
@@ -397,23 +421,23 @@ export default {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
let str = this.chioseIdList
|
|
let str = this.chioseIdList
|
|
- .map((group) => {
|
|
|
|
|
|
+ .map(group => {
|
|
return group.username;
|
|
return group.username;
|
|
})
|
|
})
|
|
.join(",");
|
|
.join(",");
|
|
this.$confirm(`你确定将${str}移除分享列表?`, "提示", {
|
|
this.$confirm(`你确定将${str}移除分享列表?`, "提示", {
|
|
confirmButtonText: "确定",
|
|
confirmButtonText: "确定",
|
|
cancelButtonText: "取消",
|
|
cancelButtonText: "取消",
|
|
- type: "warning",
|
|
|
|
|
|
+ type: "warning"
|
|
})
|
|
})
|
|
.then(async () => {
|
|
.then(async () => {
|
|
- let idList = this.chioseIdList.map((group) => {
|
|
|
|
|
|
+ let idList = this.chioseIdList.map(group => {
|
|
return group.userId;
|
|
return group.userId;
|
|
});
|
|
});
|
|
try {
|
|
try {
|
|
const res = await deleteShareStudent({
|
|
const res = await deleteShareStudent({
|
|
courseId: this.$route.query.courseId,
|
|
courseId: this.$route.query.courseId,
|
|
- userIds: idList,
|
|
|
|
|
|
+ userIds: idList
|
|
});
|
|
});
|
|
this.$message.success("删除成功");
|
|
this.$message.success("删除成功");
|
|
this.getList();
|
|
this.getList();
|
|
@@ -432,19 +456,22 @@ export default {
|
|
if (val && val.length > 0) {
|
|
if (val && val.length > 0) {
|
|
let organId = val.join(",");
|
|
let organId = val.join(",");
|
|
try {
|
|
try {
|
|
- await queryByOrganId({ organId }).then((res) => {
|
|
|
|
|
|
+ await queryByOrganId({ organId }).then(res => {
|
|
if (res.code == 200) {
|
|
if (res.code == 200) {
|
|
this.cooperationList = res.data;
|
|
this.cooperationList = res.data;
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
- await getTeamList({ organId, page: 1, rows: 9999, status: "PROGRESS" }).then(
|
|
|
|
- (res) => {
|
|
|
|
- if (res.code == 200) {
|
|
|
|
- this.teamList = res.data.rows;
|
|
|
|
- }
|
|
|
|
|
|
+ await getTeamList({
|
|
|
|
+ organId,
|
|
|
|
+ page: 1,
|
|
|
|
+ rows: 9999,
|
|
|
|
+ status: "PROGRESS"
|
|
|
|
+ }).then(res => {
|
|
|
|
+ if (res.code == 200) {
|
|
|
|
+ this.teamList = res.data.rows;
|
|
}
|
|
}
|
|
- );
|
|
|
|
|
|
+ });
|
|
} catch (e) {
|
|
} catch (e) {
|
|
console.log(e);
|
|
console.log(e);
|
|
}
|
|
}
|
|
@@ -475,8 +502,8 @@ export default {
|
|
},
|
|
},
|
|
handleError(err, file, fileList) {
|
|
handleError(err, file, fileList) {
|
|
load.endLoading();
|
|
load.endLoading();
|
|
- },
|
|
|
|
- },
|
|
|
|
|
|
+ }
|
|
|
|
+ }
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|