From 08f18189fc4c2bffddc46ded67384d6ee5d93236 Mon Sep 17 00:00:00 2001 From: BianLzhaoMin <11485688+bianliangzhaomin123@user.noreply.gitee.com> Date: Fri, 3 Jan 2025 17:24:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/company-manage/index.js | 12 +- .../company-manage/components/add-form.vue | 147 ++++++++++++++---- .../components/company-card.vue | 82 +++++++--- src/views/company-manage/index.vue | 10 +- 4 files changed, 197 insertions(+), 54 deletions(-) diff --git a/src/api/company-manage/index.js b/src/api/company-manage/index.js index 0d981648..517fbef4 100644 --- a/src/api/company-manage/index.js +++ b/src/api/company-manage/index.js @@ -9,8 +9,8 @@ export const addCompanyAPI = (data) => { /** * @data 查询参数 公司列表查询接口 */ -export const getDeptListAPI = (data = {}) => { - return request.get('/system/dept/deptList', data) +export const getDeptListAPI = (data) => { + return request.get('/system/dept/deptList', { params: data }) } /** * @id 查询参数 获取详情 @@ -22,5 +22,11 @@ export const getDeptDetailsAPI = (id) => { * @data 编辑参数 编辑公司信息提交接口 */ export const editCompanyAPI = (data) => { - return request.post('/system//dept/edit', data) + return request.post('/system/dept/edit', data) +} +/** + * @data 编辑参数 编辑公司信息提交接口 + */ +export const editDeptLogoutAPI = (data) => { + return request.post('/system/dept/deptLogout', data) } diff --git a/src/views/company-manage/components/add-form.vue b/src/views/company-manage/components/add-form.vue index 178bd3ca..79db8a7a 100644 --- a/src/views/company-manage/components/add-form.vue +++ b/src/views/company-manage/components/add-form.vue @@ -17,20 +17,44 @@ > - + - + - + + + + + + + 启用 + 停用 + - + - + + + + - + - - + + @@ -92,7 +131,10 @@ } " > - + @@ -104,6 +146,7 @@ import { getDeptDetailsAPI, editCompanyAPI, } from '@/api/company-manage/index.js' +import { validateNewPassword } from '@/utils/validate' import { getToken } from '@/utils/auth' export default { props: { @@ -142,6 +185,7 @@ export default { userName: '', orderNum: 200, fileList: [], + status: '', roles: '系统管理员', }, addOrEditFormRef: { @@ -151,6 +195,12 @@ export default { message: '请输入公司名称', trigger: 'blur', }, + { + min: 1, + max: 30, + message: '长度在 1 到 30 个字符', + trigger: 'blur', + }, ], deptAbbreviation: [ { @@ -158,6 +208,19 @@ export default { message: '请输入公司简称', trigger: 'blur', }, + { + min: 1, + max: 20, + message: '长度在 1 到 20 个字符', + trigger: 'blur', + }, + ], + status: [ + { + required: true, + message: '请选择公司状态', + trigger: 'change', + }, ], remark: [ { @@ -165,6 +228,12 @@ export default { message: '请输入公司概述', trigger: 'blur', }, + { + min: 1, + max: 150, + message: '长度在 1 到 150 个字符', + trigger: 'blur', + }, ], password: [ { @@ -172,6 +241,7 @@ export default { message: '请输入默认密码', trigger: 'blur', }, + { validator: validateNewPassword, trigger: 'blur' }, ], logo: [ { @@ -186,6 +256,12 @@ export default { message: '请输入管理员姓名', trigger: 'blur', }, + { + min: 1, + max: 20, + message: '长度在 1 到 20 个字符', + trigger: 'blur', + }, ], phonenumber: [ { @@ -242,6 +318,8 @@ export default { phonenumber, deptId, parentId, + userId, + status, } = this.addOrEditForm const params = { deptName, @@ -259,7 +337,9 @@ export default { if (this.formType == 2) { params.deptId = deptId + params.status = status params.parentId = parentId + params.sysUser.userId = userId } const SEND_FUN = this.formType == 2 ? editCompanyAPI : addCompanyAPI @@ -300,10 +380,10 @@ export default { this.addOrEditForm.logo = '' }, handlePreview(file) { - console.log(file, '查看') this.dialogInnerVisible = true this.previewUrl = file.url }, + handleSuccess(res) { if (res.code === 200) { this.addOrEditForm.logo = res.data.url @@ -313,10 +393,19 @@ export default { } this.$modal.closeLoading() }, + onViewLogoImg(url) { + this.dialogInnerVisible = true + this.previewUrl = url + }, onDefaultLogo() { - this.addOrEditForm.fileList = [] - this.addOrEditForm.logo = '' + this.addOrEditForm.fileList = [ + { + url: 'http://36.33.26.201:17788/statics/2025/01/03/logo_20250103151123A002.svg', + }, + ] + this.addOrEditForm.logo = + 'http://36.33.26.201:17788/statics/2025/01/03/logo_20250103151123A002.svg' }, // 文件个数超出 handleExceed() { @@ -324,10 +413,6 @@ export default { }, }, async mounted() { - this.getConfigKey('sys.user.initPassword').then((res) => { - this.addOrEditForm.password = res.msg - }) - if (this.formType === 1 || this.formType === 2) { // console.log(this.detailsId, 'detailsId') const { data: res } = await getDeptDetailsAPI(this.detailsId) @@ -339,36 +424,30 @@ export default { logo, parentId, sysUser, + status, } = res - const { userName, password, nickName } = sysUser + const { userName, password, nickName, userId } = sysUser Object.assign(this.addOrEditForm, { deptName, deptAbbreviation, remark, deptId, + userId, logo, parentId, phonenumber: userName, userName, password, nickName, + status, fileList: [{ url: logo }], }) - } else { - this.addOrEditForm = { - deptName: '', - deptAbbreviation: '', - remark: '', - password: '', - logo: '', - nickName: '', - phonenumber: '', - userName: '', - orderNum: 200, - fileList: [], - roles: '系统管理员', - } + } + if (this.formType === 3) { + this.getConfigKey('sys.user.initPassword').then((res) => { + this.addOrEditForm.password = res.msg + }) } }, watch: { @@ -424,6 +503,12 @@ export default { } } } + +.view-logo-box { + width: 120px; + height: 120px; + cursor: pointer; +} ::v-deep .el-upload { width: 120px; height: 120px; diff --git a/src/views/company-manage/components/company-card.vue b/src/views/company-manage/components/company-card.vue index 5d74244f..2a47d161 100644 --- a/src/views/company-manage/components/company-card.vue +++ b/src/views/company-manage/components/company-card.vue @@ -6,7 +6,7 @@ - {{ companyInfo.deptName }} + {{ companyInfo.deptName }} - {{ companyInfo.remark }} + {{ companyInfo.remark }} @@ -48,7 +48,7 @@ - {{ item.btn_name }} + --> + + 详情 + + + 编辑 + + + 注销
{{ companyInfo.remark }}