From 10e03b909f30fc965f078f8a55ca83e29ec3c703 Mon Sep 17 00:00:00 2001
From: yujialong <479214531@qq.com>
Date: Thu, 21 Nov 2024 11:07:40 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AD=A6=E7=94=9F=E6=89=B9=E9=87=8F=E7=94=9F?=
=?UTF-8?q?=E6=88=90=E8=B4=A6=E5=8F=B7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/index.js | 1 +
src/pages/student/list/index.vue | 129 +++++++++--------
src/pages/system/list/staff.vue | 241 +++++++++----------------------
3 files changed, 145 insertions(+), 226 deletions(-)
diff --git a/src/api/index.js b/src/api/index.js
index 1b0354d..055e3b4 100644
--- a/src/api/index.js
+++ b/src/api/index.js
@@ -79,6 +79,7 @@ export default {
saveOrg: `occupationlab/occupationlab/architecture/save`, // 新增组织架构
updateOrg: `occupationlab/occupationlab/architecture/update`, // 编辑组织架构
deleteOrg: `occupationlab/occupationlab/architecture/delete`, // 删除组织架构
+ generate: `users/users/batchProcessing/users/generate`,
studentTemplate: `https://www.occupationlab.com/template/学生导入模板.xlsx`, // 学生导入模板
// 测评管理
diff --git a/src/pages/student/list/index.vue b/src/pages/student/list/index.vue
index c571316..6b7073b 100644
--- a/src/pages/student/list/index.vue
+++ b/src/pages/student/list/index.vue
@@ -65,11 +65,12 @@
@@ -189,6 +209,7 @@ import Util from "@/libs/util";
import Setting from "@/setting";
import OrgTree from "@/components/org-tree/src/tree";
import { mapState } from "vuex";
+import _ from 'lodash'
export default {
components: { OrgTree },
data () {
@@ -266,7 +287,6 @@ export default {
}
],
workNumber: [
- { required: true, message: "请输入学号", trigger: 'blur' },
{
pattern: /^[A-Za-z0-9]*$/,
message: "请输入正确的学号",
@@ -312,7 +332,21 @@ export default {
token: Util.local.get(Setting.tokenKey)
},
disableds: false,
- submiting: false // 新增编辑防抖标识
+ submiting: false, // 新增编辑防抖标识
+
+ generateVisible: false,
+ generateForm: {
+ classId: [],
+ numberOfUsers: '',
+ },
+ generateRules: {
+ classId: [
+ { required: true, message: '请选择所属班级', trigger: 'change' }
+ ],
+ numberOfUsers: [
+ { required: true, message: '请输入账号数', trigger: 'blur' }
+ ],
+ },
};
},
computed: {
@@ -652,6 +686,35 @@ export default {
}).catch(res => {
});
},
+ // 批量生成账号
+ batchGenerate () {
+ this.generateForm = {
+ classId: [],
+ numberOfUsers: '',
+ }
+ this.generateVisible = true
+ },
+ // 批量生成账号提交
+ generateSubmit () {
+ this.$refs.generateForm.validate(async (valid) => {
+ if (valid) {
+ const form = _.cloneDeep(this.generateForm)
+ const { classId } = form
+ if (classId && classId.length) form.classId = classId[classId.length - 1]
+ debugger
+ await this.$post(this.api.generate, {
+ ...form,
+ platformId: Setting.platformId,
+ type: 1,
+ })
+ this.generateVisible = false
+ Util.successMsg('批量生成成功!')
+ this.initData()
+ } else {
+ return false;
+ }
+ })
+ },
addStudent () { // 添加学生
this.isAdd = true;
this.showTree = true;
@@ -667,54 +730,6 @@ export default {
this.originWorkNumber = data.workNumber
this.showTree = true
},
- // 组合账号
- renderAccount () {
- const form = this.form
- // 平台id-端id-schoolId-workNumber组成账号
- form.account = `${Setting.platformId}-1-${this.schoolId}-${form.workNumber}`
- },
- async workNumberChange () {
- const { form, isAdd, originWorkNumber: origin } = this
- const { workNumber } = form
- if (workNumber && /^[A-Za-z0-9]*$/.test(workNumber)) {
- // 编辑的时候,修改后的学号跟原学号相同则不用判重
- if (origin === workNumber && !isAdd) {
- this.workNumberReapeat = false
- } else {
- const { data } = await this.$post(`${this.api.getDetailByAccount}?workNumber=${workNumber}&platformId=${Setting.platformId}&type=1`)
- if (data) {
- if (isAdd) {
- this.showTree = true
- const classId = data.classList.map(e => e.id).toString()
- this.form = data
- this.form.classId = classId
- this.renderAccount()
- // 无指定范围的classId为1,即没有班级,如果没有班级则直接清空班级选择
- if (classId === '1') {
- this.$refs.classTree.setCheckedKeys([])
- } else {
- this.defaultCheckedKeys = classId.split(",").map(i => Number(i))
- }
- this.$refs.form.clearValidate()
- } else {
- Util.errorMsg('该学生学号已存在')
- this.workNumberReapeat = true
- }
- } else {
- if (isAdd) {
- // 如果该学号没有对应的学生,则清空所有信息,除了学号
- this.form = JSON.parse(JSON.stringify(this.originForm))
- this.form.workNumber = workNumber
- this.renderAccount()
- this.$refs.classTree.setCheckedKeys([])
- }
- this.workNumberReapeat = false
- }
- }
- } else {
- this.renderAccount()
- }
- },
phoneChange () {
let regex = /^1[3456789]\d{9}$/;
if (regex.test(this.form.phone)) {
diff --git a/src/pages/system/list/staff.vue b/src/pages/system/list/staff.vue
index d446f16..811d7bf 100644
--- a/src/pages/system/list/staff.vue
+++ b/src/pages/system/list/staff.vue
@@ -1,9 +1,7 @@
-
+
@@ -11,193 +9,95 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
- 查看
- 编辑
- 重置密码
- 删除
+ 查看
+ 编辑
+ 重置密码
+ 删除
-
-
-
-
+
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
- 模板下载
+ 模板下载
-
- 上传文件
+
+ 上传文件
- 部分数据导入失败,查看失败原因
+ 部分数据导入失败,查看失败原因
-
@@ -657,20 +557,23 @@ export default {
\ No newline at end of file