样式: 用户管理页昵称列头像改为主色渐变,与右上角头像一致
CI/CD Deploy (Web) / 构建前端镜像并部署 (push) Successful in 44s

This commit is contained in:
张家训
2026-10-20 18:48:37 +08:00
parent 3b591486b6
commit fd18675883
+53 -50
View File
@@ -120,11 +120,11 @@
<script> <script>
import { getDataList, add, update, remove, getExcelTemplate, resetPassword } from '@/api/sys/sys-user' import { getDataList, add, update, remove, getExcelTemplate, resetPassword } from '@/api/sys/sys-user'
import { getRoleSelectList } from '@/api/sys/sys-role' import { getRoleSelectList } from '@/api/sys/sys-role'
import { nginxPath } from "@/common/js/common"; import { nginxPath } from '@/common/js/common'
import { objectUtil, utils, exportExcel } from "@/common/js/util"; import { objectUtil, exportExcel } from '@/common/js/util'
export default { export default {
name: "sso-user", name: 'sso-user',
data () { data () {
return { return {
fixedHeader: true, // 高度自适应 fixedHeader: true, // 高度自适应
@@ -134,12 +134,12 @@
}, },
listColumns: [ listColumns: [
{ {
title: "#", title: '#',
type: 'index', type: 'index',
width: 60, width: 60,
align: 'center', align: 'center',
indexMethod: (row) => { indexMethod: (row) => {
return (row._index + 1) + ((this.pageParam.pageNum - 1) * this.pageParam.pageSize); return (row._index + 1) + ((this.pageParam.pageNum - 1) * this.pageParam.pageSize)
} }
}, },
{ {
@@ -165,7 +165,10 @@
style: { style: {
marginRight: '8px', marginRight: '8px',
verticalAlign: 'middle', verticalAlign: 'middle',
backgroundColor: '#2d8cf0' // 与右上角用户头像同款渐变,无图时显示白色首字
background: 'linear-gradient(135deg, #4f6ef7, #7c5cf0)',
color: '#fff',
fontWeight: 500
} }
}, },
text text
@@ -186,12 +189,12 @@
{ {
title: '联系电话', title: '联系电话',
key: 'phone', key: 'phone',
width: 150, width: 150
}, },
{ {
title: '电子邮箱', title: '电子邮箱',
key: 'email', key: 'email',
width: 180, width: 180
}, },
{ {
title: '状态', title: '状态',
@@ -201,7 +204,7 @@
width: 120, width: 120,
render: (h, params) => { render: (h, params) => {
let temp = this.transformStatus(params.row.status) let temp = this.transformStatus(params.row.status)
return h("Tag", { return h('Tag', {
props: { props: {
color: temp.color color: temp.color
} }
@@ -240,7 +243,7 @@
let temp = this.transformStatus(value) let temp = this.transformStatus(value)
return temp.text return temp.text
} }
}, }
], ],
roleSelectList: [], // 角色列表 roleSelectList: [], // 角色列表
isDefaultRoleId: [], isDefaultRoleId: [],
@@ -266,7 +269,7 @@
phone: '', phone: '',
email: '', email: '',
roleIds: [], roleIds: [],
status: 0, status: 0
}, },
ruleCustom: { ruleCustom: {
username: [{ username: [{
@@ -286,8 +289,8 @@
}], }],
roleIds: [{ roleIds: [{
required: true, type: 'array', message: '请选择角色权限', trigger: 'blur' required: true, type: 'array', message: '请选择角色权限', trigger: 'blur'
}], }]
}, }
} }
}, },
methods: { methods: {
@@ -296,7 +299,7 @@
let data = objectUtil.trimJoin(temp, this.search) let data = objectUtil.trimJoin(temp, this.search)
this.tableLoading = true this.tableLoading = true
getDataList(data).then(res => { getDataList(data).then(res => {
let page = res.data.data; let page = res.data.data
this.pageTotal = page.total this.pageTotal = page.total
this.dataList = page.records this.dataList = page.records
// 延迟300毫秒,给它更流畅的感觉 // 延迟300毫秒,给它更流畅的感觉
@@ -316,14 +319,14 @@
}, },
toAdd () { toAdd () {
this.formItem.roleIds = this.isDefaultRoleId this.formItem.roleIds = this.isDefaultRoleId
this.modalTitle = "添加" this.modalTitle = '添加'
this.modal = true this.modal = true
this.addModal = true this.addModal = true
this.editModal = false this.editModal = false
}, },
toEdit (index) { toEdit (index) {
this.modalTitle = "编辑" this.modalTitle = '编辑'
let temp = this.dataList[index] let temp = this.dataList[index]
this.addModal = false this.addModal = false
@@ -369,12 +372,12 @@
if (this.addModal) { // 添加 if (this.addModal) { // 添加
add(data).then(res => { add(data).then(res => {
this.getDataList() this.getDataList()
this.$Message.success("添加成功!") this.$Message.success('添加成功!')
}) })
} else { // 编辑 } else { // 编辑
update(data).then(res => { update(data).then(res => {
this.getDataList() this.getDataList()
this.$Message.success("编辑成功!") this.$Message.success('编辑成功!')
}) })
} }
this.cancel() this.cancel()
@@ -385,7 +388,7 @@
let temp = this.dataList[index] let temp = this.dataList[index]
resetPassword({ id: temp.id }).then(res => { resetPassword({ id: temp.id }).then(res => {
setTimeout(() => { setTimeout(() => {
this.$Message.success("重置密码成功!") this.$Message.success('重置密码成功!')
}, 300) }, 300)
}) })
}, },
@@ -397,7 +400,7 @@
toDelete (index) { toDelete (index) {
let temp = this.dataList[index] let temp = this.dataList[index]
if (temp.username === 'admin' && temp.userType === 'userType001') { if (temp.username === 'admin' && temp.userType === 'userType001') {
this.$Message.warning("系统内置管理员账号不可删除!") this.$Message.warning('系统内置管理员账号不可删除!')
return return
} }
@@ -407,17 +410,17 @@
remove(data).then(res => { remove(data).then(res => {
this.refresh() this.refresh()
this.getDataList() this.getDataList()
this.$Message.success("删除成功!") this.$Message.success('删除成功!')
}) })
}, },
refresh () { refresh () {
this.pageParam = { this.pageParam = {
pageNum: 1, pageNum: 1,
pageSize: 10 pageSize: 10
}; }
this.search = { this.search = {
username: '', username: ''
}; }
this.formItem = { this.formItem = {
id: '', id: '',
username: '', username: '',
@@ -426,65 +429,65 @@
phone: '', phone: '',
email: '', email: '',
roleIds: [], roleIds: [],
status: 0, status: 0
}; }
}, },
changePage (index) { changePage (index) {
// 需要显示开始数据的index,(因为数据是从0开始的,页码是从1开始的,需要-1) // 需要显示开始数据的index,(因为数据是从0开始的,页码是从1开始的,需要-1)
this.pageParam.pageNum = index; this.pageParam.pageNum = index
this.getDataList(); this.getDataList()
}, },
changePageSize (page) { changePageSize (page) {
// 切换分页条数 // 切换分页条数
this.pageParam.pageNum = 1; this.pageParam.pageNum = 1
this.pageParam.pageSize = page; this.pageParam.pageSize = page
this.getDataList(); this.getDataList()
}, },
transformStatus (status) { transformStatus (status) {
let object = {} let object = {}
switch (status) { switch (status) {
case 0 : case 0 :
object.color = "blue" object.color = 'blue'
object.text = "正常" object.text = '正常'
break; break
case 9 : case 9 :
object.color = "red" object.color = 'red'
object.text = "已注销" object.text = '已注销'
break; break
} }
return object; return object
}, },
transformUserType (userType) { transformUserType (userType) {
// userType 转换 // userType 转换
switch (userType) { switch (userType) {
case 'userType001': case 'userType001':
userType = "超级管理员" userType = '超级管理员'
break; break
case 'userType002': case 'userType002':
userType = "普通用户" userType = '普通用户'
break; break
default: default:
userType = "-" userType = '-'
break; break
} }
return userType; return userType
}, },
toExport () { toExport () {
// 导出到Excel // 导出到Excel
getDataList({ pageNum: 1, pageSize: this.pageTotal || 1000 }).then(res => { getDataList({ pageNum: 1, pageSize: this.pageTotal || 1000 }).then(res => {
let page = res.data.data let page = res.data.data
let data = (page && page.records) ? page.records : this.dataList let data = (page && page.records) ? page.records : this.dataList
exportExcel(this.exportColumns, data, "用户数据") exportExcel(this.exportColumns, data, '用户数据')
}) })
}, },
toDownload () { toDownload () {
// 下载Excel模板 // 下载Excel模板
getExcelTemplate().then((res) => { getExcelTemplate().then((res) => {
let a = document.createElement('a'); let a = document.createElement('a')
a.href = nginxPath + "/excelTemplate" + res.data.data.fileSuffix; a.href = nginxPath + '/excelTemplate' + res.data.data.fileSuffix
a.click(); a.click()
}) })
}, }
}, },
created () { created () {
this.getDataList() this.getDataList()