diff --git a/package.json b/package.json index e687665..c966921 100644 --- a/package.json +++ b/package.json @@ -86,7 +86,7 @@ "vue-template-compiler": "2.5.17", "webpack": "4.16.5", "webpack-bundle-analyzer": "^3.4.1", - "webpack-cli": "3.1.0", + "webpack-cli": "^3.1.0", "webpack-dev-server": "3.1.14", "webpack-merge": "4.1.4" }, diff --git a/package.json b/package.json index e687665..c966921 100644 --- a/package.json +++ b/package.json @@ -86,7 +86,7 @@ "vue-template-compiler": "2.5.17", "webpack": "4.16.5", "webpack-bundle-analyzer": "^3.4.1", - "webpack-cli": "3.1.0", + "webpack-cli": "^3.1.0", "webpack-dev-server": "3.1.14", "webpack-merge": "4.1.4" }, diff --git a/src/api/system/user.js b/src/api/system/user.js index e60d4e8..67f0e16 100644 --- a/src/api/system/user.js +++ b/src/api/system/user.js @@ -122,3 +122,13 @@ params }) } +// 同步用户 +export function syncUser(data) { + return request({ + url: 'ssoUser/syncUser', + method: 'post', + data:{ + data + } + }) +} diff --git a/package.json b/package.json index e687665..c966921 100644 --- a/package.json +++ b/package.json @@ -86,7 +86,7 @@ "vue-template-compiler": "2.5.17", "webpack": "4.16.5", "webpack-bundle-analyzer": "^3.4.1", - "webpack-cli": "3.1.0", + "webpack-cli": "^3.1.0", "webpack-dev-server": "3.1.14", "webpack-merge": "4.1.4" }, diff --git a/src/api/system/user.js b/src/api/system/user.js index e60d4e8..67f0e16 100644 --- a/src/api/system/user.js +++ b/src/api/system/user.js @@ -122,3 +122,13 @@ params }) } +// 同步用户 +export function syncUser(data) { + return request({ + url: 'ssoUser/syncUser', + method: 'post', + data:{ + data + } + }) +} diff --git a/src/components/NormalTable/index.vue b/src/components/NormalTable/index.vue index a98b8a2..78a2a2f 100644 --- a/src/components/NormalTable/index.vue +++ b/src/components/NormalTable/index.vue @@ -231,7 +231,10 @@ }, rowClick(row, column, event) { this.$emit('row-click', row) - } + }, + clearSelection() { + this.$refs.table.clearSelection() + }, } } diff --git a/package.json b/package.json index e687665..c966921 100644 --- a/package.json +++ b/package.json @@ -86,7 +86,7 @@ "vue-template-compiler": "2.5.17", "webpack": "4.16.5", "webpack-bundle-analyzer": "^3.4.1", - "webpack-cli": "3.1.0", + "webpack-cli": "^3.1.0", "webpack-dev-server": "3.1.14", "webpack-merge": "4.1.4" }, diff --git a/src/api/system/user.js b/src/api/system/user.js index e60d4e8..67f0e16 100644 --- a/src/api/system/user.js +++ b/src/api/system/user.js @@ -122,3 +122,13 @@ params }) } +// 同步用户 +export function syncUser(data) { + return request({ + url: 'ssoUser/syncUser', + method: 'post', + data:{ + data + } + }) +} diff --git a/src/components/NormalTable/index.vue b/src/components/NormalTable/index.vue index a98b8a2..78a2a2f 100644 --- a/src/components/NormalTable/index.vue +++ b/src/components/NormalTable/index.vue @@ -231,7 +231,10 @@ }, rowClick(row, column, event) { this.$emit('row-click', row) - } + }, + clearSelection() { + this.$refs.table.clearSelection() + }, } } diff --git a/src/views/system/user/editUser.vue b/src/views/system/user/editUser.vue index 9b1ee73..77af02e 100644 --- a/src/views/system/user/editUser.vue +++ b/src/views/system/user/editUser.vue @@ -180,8 +180,8 @@ message: '请输入正确的邮箱地址', trigger: ['blur', 'change'] }], phone: [{ - required: false, - pattern: /^1[34578]\d{9}$/, // 可以写正则表达式呦呦呦 + required: true, + pattern: /^1[3456789]\d{9}$/, // 可以写正则表达式呦呦呦 message: '请输入正确的手机号', trigger: ['blur', 'change'] }] }, // 前端校验规则 diff --git a/package.json b/package.json index e687665..c966921 100644 --- a/package.json +++ b/package.json @@ -86,7 +86,7 @@ "vue-template-compiler": "2.5.17", "webpack": "4.16.5", "webpack-bundle-analyzer": "^3.4.1", - "webpack-cli": "3.1.0", + "webpack-cli": "^3.1.0", "webpack-dev-server": "3.1.14", "webpack-merge": "4.1.4" }, diff --git a/src/api/system/user.js b/src/api/system/user.js index e60d4e8..67f0e16 100644 --- a/src/api/system/user.js +++ b/src/api/system/user.js @@ -122,3 +122,13 @@ params }) } +// 同步用户 +export function syncUser(data) { + return request({ + url: 'ssoUser/syncUser', + method: 'post', + data:{ + data + } + }) +} diff --git a/src/components/NormalTable/index.vue b/src/components/NormalTable/index.vue index a98b8a2..78a2a2f 100644 --- a/src/components/NormalTable/index.vue +++ b/src/components/NormalTable/index.vue @@ -231,7 +231,10 @@ }, rowClick(row, column, event) { this.$emit('row-click', row) - } + }, + clearSelection() { + this.$refs.table.clearSelection() + }, } } diff --git a/src/views/system/user/editUser.vue b/src/views/system/user/editUser.vue index 9b1ee73..77af02e 100644 --- a/src/views/system/user/editUser.vue +++ b/src/views/system/user/editUser.vue @@ -180,8 +180,8 @@ message: '请输入正确的邮箱地址', trigger: ['blur', 'change'] }], phone: [{ - required: false, - pattern: /^1[34578]\d{9}$/, // 可以写正则表达式呦呦呦 + required: true, + pattern: /^1[3456789]\d{9}$/, // 可以写正则表达式呦呦呦 message: '请输入正确的手机号', trigger: ['blur', 'change'] }] }, // 前端校验规则 diff --git a/src/views/system/user/listUser.vue b/src/views/system/user/listUser.vue index 8cfb01c..b1ccaa0 100644 --- a/src/views/system/user/listUser.vue +++ b/src/views/system/user/listUser.vue @@ -9,16 +9,9 @@ 组织机构 - + @@ -28,33 +21,38 @@ - + - + - 新增 - 修改 - 删除 - 重置密码 - 角色分配 - 注册人脸 + 新增 + 修改 + 删除 + 重置密码 + 角色分配 + 注册人脸 + 用户同步 - + + + @@ -62,19 +60,21 @@ - + {{ scope.row.statusName }} - {{ btnNames[scope.row.statusName] }} + {{ btnNames[scope.row.statusName] }} - {{ faceReged[scope.row.attr1] }} + {{ faceReged[scope.row.attr1] }} @@ -82,8 +82,8 @@ - - + + @@ -93,7 +93,7 @@ import editUser from '@/views/system/user/editUser' import roleAssign from '@/views/system/user/roleAssign' import RegFace from '@/views/system/user/regFace' -import { getUserList, delUser, freezeUser, unfreezeUser, resetPwd, delFace } from '@/api/system/user' +import { getUserList, delUser, freezeUser, unfreezeUser, resetPwd, delFace, syncUser } from '@/api/system/user' import { getDeptTreeList } from '@/api/system/dept' import { toTreeList } from '@/utils/structure' @@ -177,7 +177,8 @@ roleAssignShow: false, // 角色分配组件是否显示 expandAllNode: true, expandNodeClick: false, - regFaceShow: false + regFaceShow: false, + multipleSelection: [], } }, watch: { @@ -196,6 +197,44 @@ this.fetchData() }, methods: { + // 多选触发方法 + handleSelectionChange(val) { + console.log('selectionChange') + this.multipleSelection = val + }, + // 同步用户 + sync() { + if (!this.multipleSelection.length) { + this.$message({ + message: '请选择要同步的用户', + type: 'warning' + }) + return + } + // 检查用户是否全面(都含有手机号) + if (this.multipleSelection.some(item => !item.phone)) { + const userList = this.multipleSelection.map(item => !item.phone).map(itmm => item.name) + this.$message({ + message: `用户:${userList.join('、')},缺少手机号,请补充手机号后再进行同步`, + type: 'warning' + }) + return + } + syncUser(this.multipleSelection.map((item) => ({ + userName: item.name, + phone: item.phone + }))).then(res => { + if (response.code === 200) { + this.$message.success('同步成功') + this.multipleSelection = [] + // 清空多选 + this.$refs.normalTable.clearSelection() + } + else { + this.$message.error('同步失败') + } + }) + }, // 打开新增对话框 add() { this.dialogStatus = 'create' @@ -416,35 +455,41 @@