diff --git a/src/option/base/common-address.js b/src/option/base/common-address.js
index 2316d19..6860fb7 100644
--- a/src/option/base/common-address.js
+++ b/src/option/base/common-address.js
@@ -146,6 +146,13 @@ export const createOption = () => ({
showWordLimit: true,
rules: [{ max: 200, message: '备注不能超过200个字', trigger: 'blur' }],
},
+ {
+ label: '创建人',
+ prop: 'createUserName',
+ minWidth: 120,
+ addDisplay: false,
+ editDisplay: false,
+ },
{
label: '更新时间',
prop: 'updateTime',
diff --git a/src/option/business/common-cargo.js b/src/option/business/common-cargo.js
index f9211fa..0c3a323 100644
--- a/src/option/business/common-cargo.js
+++ b/src/option/business/common-cargo.js
@@ -193,11 +193,11 @@ export const option = createCrudOption([
editDisplay: false,
},
...auditColumns
- .filter(column => ['updateTime', 'createTime'].includes(column.prop))
+ .filter(column => ['createUserName', 'createTime', 'updateTime'].includes(column.prop))
.sort(
(first, second) =>
- ['updateTime', 'createTime'].indexOf(first.prop) -
- ['updateTime', 'createTime'].indexOf(second.prop)
+ ['createUserName', 'createTime', 'updateTime'].indexOf(first.prop) -
+ ['createUserName', 'createTime', 'updateTime'].indexOf(second.prop)
),
// ---------- 表单隐藏字段 ----------
diff --git a/src/option/business/common-route.js b/src/option/business/common-route.js
index 3c57882..2be7a83 100644
--- a/src/option/business/common-route.js
+++ b/src/option/business/common-route.js
@@ -281,14 +281,13 @@ export const option = {
filterable: true,
},
...auditColumns
- .filter(column => column.prop !== 'createUserName')
.map(column =>
['createTime', 'updateTime'].includes(column.prop) ? { ...column, minWidth: 190 } : column
)
.sort(
(first, second) =>
- ['updateUserName', 'updateTime', 'createTime'].indexOf(first.prop) -
- ['updateUserName', 'updateTime', 'createTime'].indexOf(second.prop)
+ ['createUserName', 'updateUserName', 'createTime', 'updateTime'].indexOf(first.prop) -
+ ['createUserName', 'updateUserName', 'createTime', 'updateTime'].indexOf(second.prop)
),
]),
dialogCustomClass: 'avue-dialog--common-route',
diff --git a/src/option/business/contract-manage.js b/src/option/business/contract-manage.js
index 9bd9956..4a72be5 100644
--- a/src/option/business/contract-manage.js
+++ b/src/option/business/contract-manage.js
@@ -532,6 +532,13 @@ export const option = createCrudOption([
order: 30,
minWidth: 110,
},
+ {
+ label: '创建人',
+ prop: 'createUserName',
+ minWidth: 120,
+ addDisplay: false,
+ editDisplay: false,
+ },
{
label: '创建时间',
prop: 'createTime',
@@ -730,7 +737,7 @@ export const option = createCrudOption([
labelWidth: 0,
},
...auditColumns
- .filter(column => column.prop !== 'createTime')
+ .filter(column => !['createTime', 'createUserName'].includes(column.prop))
.map(column => ({ ...column, hide: true })),
]);
diff --git a/src/option/business/loading-manage.js b/src/option/business/loading-manage.js
index 4920d79..2a5e9c5 100644
--- a/src/option/business/loading-manage.js
+++ b/src/option/business/loading-manage.js
@@ -41,6 +41,7 @@ export const loadingManageConfig = {
{ prop: 'carrierName', label: '承运商' },
{ prop: 'transportType', label: '运输方式' },
{ prop: 'dataSource', label: '数据来源' },
+ { prop: 'createUserName', label: '创建人' },
{ prop: 'createTime', label: '创建时间' },
{ prop: 'updateTime', label: '更新时间' },
{ prop: 'currentProcessNode', label: '过程节点' },
diff --git a/src/option/business/process-config.js b/src/option/business/process-config.js
index 74c615c..3a43a20 100644
--- a/src/option/business/process-config.js
+++ b/src/option/business/process-config.js
@@ -112,12 +112,12 @@ export const option = {
editDisplay: false,
},
...auditColumns
- .filter(column => ['updateTime', 'createTime'].includes(column.prop))
+ .filter(column => ['createUserName', 'createTime', 'updateTime'].includes(column.prop))
.map(column => ({ ...column, minWidth: 190 }))
.sort(
(first, second) =>
- ['updateTime', 'createTime'].indexOf(first.prop) -
- ['updateTime', 'createTime'].indexOf(second.prop)
+ ['createUserName', 'createTime', 'updateTime'].indexOf(first.prop) -
+ ['createUserName', 'createTime', 'updateTime'].indexOf(second.prop)
),
{
label: '项目ID集合',
diff --git a/src/option/business/project-apply.js b/src/option/business/project-apply.js
index 0c6ed41..721413a 100644
--- a/src/option/business/project-apply.js
+++ b/src/option/business/project-apply.js
@@ -452,5 +452,9 @@ export const option = createCrudOption([
span: 24,
hide: true,
},
- ...auditColumns.map(column => ({ ...column, hide: true })),
+ ...auditColumns.map(column =>
+ ['createUserName', 'createTime'].includes(column.prop)
+ ? column
+ : { ...column, hide: true }
+ ),
]);
diff --git a/src/option/business/temporary-credit-limit.js b/src/option/business/temporary-credit-limit.js
index eab56af..12b480d 100644
--- a/src/option/business/temporary-credit-limit.js
+++ b/src/option/business/temporary-credit-limit.js
@@ -332,7 +332,11 @@ export const option = {
addDisplay: false,
editDisplay: false,
},
- ...auditColumns.map(column => ({ ...column, hide: true })),
+ ...auditColumns.map(column =>
+ ['createUserName', 'createTime'].includes(column.prop)
+ ? column
+ : { ...column, hide: true }
+ ),
])),
dialogWidth: 1100,
menuFixed: 'right',
diff --git a/src/option/business/transport-plan.js b/src/option/business/transport-plan.js
index 5fb8150..152054f 100644
--- a/src/option/business/transport-plan.js
+++ b/src/option/business/transport-plan.js
@@ -249,9 +249,10 @@ export const config = {
title: '其它信息',
fields: [
['remark', '备注'],
+ ['createUserName', '创建人'],
+ ['createTime', '创建时间'],
['updateUserName', '更新人'],
['updateTime', '更新时间'],
- ['createTime', '创建时间'],
],
},
],
@@ -457,6 +458,9 @@ export const option = {
showWordLimit: true,
rules: textRule('备注', 200),
},
+ {
+ ...auditColumn('createUserName'),
+ },
{
...auditColumn('updateUserName'),
},
diff --git a/src/option/business/waybill-manage.js b/src/option/business/waybill-manage.js
index 3e2349d..49fa17b 100644
--- a/src/option/business/waybill-manage.js
+++ b/src/option/business/waybill-manage.js
@@ -883,6 +883,9 @@ export const option = {
viewDisplay: false,
display: false,
},
+ {
+ ...auditColumn('createUserName'),
+ },
{
...auditColumn('createTime'),
},
diff --git a/src/option/transportCapacity/driver.js b/src/option/transportCapacity/driver.js
index 415cabe..95678c7 100644
--- a/src/option/transportCapacity/driver.js
+++ b/src/option/transportCapacity/driver.js
@@ -125,6 +125,23 @@ export const option = {
slot: true,
minWidth: 160,
},
+ {
+ label: '创建人',
+ prop: 'createUserName',
+ minWidth: 120,
+ addDisplay: false,
+ editDisplay: false,
+ },
+ {
+ label: '创建时间',
+ prop: 'createTime',
+ type: 'datetime',
+ format: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ minWidth: 170,
+ addDisplay: false,
+ editDisplay: false,
+ },
{
label: '准驾车型',
prop: 'drivingType',
diff --git a/src/option/transportCapacity/transport-ship.js b/src/option/transportCapacity/transport-ship.js
index 8e4c44a..bae59ac 100644
--- a/src/option/transportCapacity/transport-ship.js
+++ b/src/option/transportCapacity/transport-ship.js
@@ -91,6 +91,23 @@ export const option = {
minWidth: 140,
align: 'center',
},
+ {
+ label: '创建人',
+ prop: 'createUserName',
+ minWidth: 120,
+ addDisplay: false,
+ editDisplay: false,
+ },
+ {
+ label: '创建时间',
+ prop: 'createTime',
+ type: 'datetime',
+ format: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ minWidth: 170,
+ addDisplay: false,
+ editDisplay: false,
+ },
{
label: '',
prop: 'expireStatus',
diff --git a/src/option/transportCapacity/transport-vehicle.js b/src/option/transportCapacity/transport-vehicle.js
index 50038c1..df05326 100644
--- a/src/option/transportCapacity/transport-vehicle.js
+++ b/src/option/transportCapacity/transport-vehicle.js
@@ -151,6 +151,23 @@ export const option = {
minWidth: 130,
align: 'center',
},
+ {
+ label: '创建人',
+ prop: 'createUserName',
+ minWidth: 120,
+ addDisplay: false,
+ editDisplay: false,
+ },
+ {
+ label: '创建时间',
+ prop: 'createTime',
+ type: 'datetime',
+ format: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ minWidth: 170,
+ addDisplay: false,
+ editDisplay: false,
+ },
{
label: '',
prop: 'expireStatus',
diff --git a/src/option/vehicle/accident-record.js b/src/option/vehicle/accident-record.js
index 9e19045..6ba7b9b 100644
--- a/src/option/vehicle/accident-record.js
+++ b/src/option/vehicle/accident-record.js
@@ -209,6 +209,14 @@ export const option = {
editDisplay: false,
viewDisplay: false,
},
+ {
+ label: '创建人',
+ prop: 'createUserName',
+ addDisplay: false,
+ editDisplay: false,
+ display: false,
+ minWidth: 120,
+ },
{
label: '创建时间',
prop: 'createTime',
@@ -286,6 +294,8 @@ export const exportColumns = [
{ prop: 'insuranceClaimAmount', label: '保险理赔金额' },
{ prop: 'accidentReasonDamage', label: '事故原因及损坏情况' },
{ prop: 'remark', label: '备注' },
+ { prop: 'createUserName', label: '创建人' },
+ { prop: 'createTime', label: '创建时间' },
];
export const excelOption = {
diff --git a/src/option/vehicle/annual-inspection-record.js b/src/option/vehicle/annual-inspection-record.js
index 8413a30..b60671e 100644
--- a/src/option/vehicle/annual-inspection-record.js
+++ b/src/option/vehicle/annual-inspection-record.js
@@ -210,6 +210,14 @@ export const option = {
editDisplay: false,
viewDisplay: false,
},
+ {
+ label: '创建人',
+ prop: 'createUserName',
+ addDisplay: false,
+ editDisplay: false,
+ display: false,
+ minWidth: 120,
+ },
{
label: '创建时间',
prop: 'createTime',
@@ -286,6 +294,8 @@ export const exportColumns = [
{ prop: 'fee', label: '费用(元)' },
{ prop: 'assessmentUnit', label: '评定(复核)单位' },
{ prop: 'remark', label: '备注' },
+ { prop: 'createUserName', label: '创建人' },
+ { prop: 'createTime', label: '创建时间' },
];
export const excelOption = {
diff --git a/src/option/vehicle/equipment-ledger.js b/src/option/vehicle/equipment-ledger.js
index d2905b6..072b123 100644
--- a/src/option/vehicle/equipment-ledger.js
+++ b/src/option/vehicle/equipment-ledger.js
@@ -147,6 +147,15 @@ export const option = {
viewDisplay: false,
minWidth: 170,
},
+ {
+ label: '创建人',
+ prop: 'createUserName',
+ display: false,
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ minWidth: 120,
+ },
{
label: '创建时间',
prop: 'createTime',
@@ -224,6 +233,8 @@ export const exportColumns = [
{ prop: 'specificationModel', label: '规格型号' },
{ prop: 'remark', label: '备注' },
{ prop: 'originalEquipmentNo', label: '原厂设备号' },
+ { prop: 'createUserName', label: '创建人' },
+ { prop: 'createTime', label: '创建时间' },
];
export const excelOption = {
diff --git a/src/option/vehicle/etc-record.js b/src/option/vehicle/etc-record.js
index 196c952..ac89e11 100644
--- a/src/option/vehicle/etc-record.js
+++ b/src/option/vehicle/etc-record.js
@@ -172,6 +172,14 @@ export const option = {
editDisplay: false,
viewDisplay: false,
},
+ {
+ label: '创建人',
+ prop: 'createUserName',
+ addDisplay: false,
+ editDisplay: false,
+ display: false,
+ minWidth: 120,
+ },
{
label: '创建时间',
prop: 'createTime',
@@ -218,6 +226,8 @@ export const exportColumns = [
{ prop: 'exitStation', label: '出口站' },
{ prop: 'dataSource', label: '数据来源' },
{ prop: 'remark', label: '备注' },
+ { prop: 'createUserName', label: '创建人' },
+ { prop: 'createTime', label: '创建时间' },
];
export const excelOption = {
diff --git a/src/option/vehicle/insurance-record.js b/src/option/vehicle/insurance-record.js
index 17d2502..9d8ea71 100644
--- a/src/option/vehicle/insurance-record.js
+++ b/src/option/vehicle/insurance-record.js
@@ -182,6 +182,14 @@ export const option = {
hide: true,
rules: [{ max: 200, message: '备注最多 200 个字', trigger: 'blur' }],
},
+ {
+ label: '创建人',
+ prop: 'createUserName',
+ addDisplay: false,
+ editDisplay: false,
+ display: false,
+ minWidth: 120,
+ },
{
label: '创建时间',
prop: 'createTime',
@@ -260,6 +268,8 @@ export const exportColumns = [
{ prop: 'invoiceNo', label: '发票号' },
{ prop: 'invoiceDate', label: '开票日期' },
{ prop: 'remark', label: '备注' },
+ { prop: 'createUserName', label: '创建人' },
+ { prop: 'createTime', label: '创建时间' },
];
export const excelOption = {
diff --git a/src/option/vehicle/mileage-record.js b/src/option/vehicle/mileage-record.js
index 3368696..ae505cf 100644
--- a/src/option/vehicle/mileage-record.js
+++ b/src/option/vehicle/mileage-record.js
@@ -140,6 +140,14 @@ export const option = {
editDisplay: false,
viewDisplay: false,
},
+ {
+ label: '创建人',
+ prop: 'createUserName',
+ addDisplay: false,
+ editDisplay: false,
+ display: false,
+ minWidth: 120,
+ },
{
label: '创建时间',
prop: 'createTime',
@@ -215,6 +223,8 @@ export const exportColumns = [
{ prop: 'monthlyMileage', label: '本月行驶里程数' },
{ prop: 'totalMileage', label: '累计行驶里程数' },
{ prop: 'remark', label: '备注' },
+ { prop: 'createUserName', label: '创建人' },
+ { prop: 'createTime', label: '创建时间' },
];
export const excelOption = {
diff --git a/src/option/vehicle/oil-electric-record.js b/src/option/vehicle/oil-electric-record.js
index c36e7e2..41f452d 100644
--- a/src/option/vehicle/oil-electric-record.js
+++ b/src/option/vehicle/oil-electric-record.js
@@ -232,6 +232,14 @@ export const option = {
editDisplay: false,
viewDisplay: false,
},
+ {
+ label: '创建人',
+ prop: 'createUserName',
+ addDisplay: false,
+ editDisplay: false,
+ display: false,
+ minWidth: 120,
+ },
{
label: '创建时间',
prop: 'createTime',
@@ -311,6 +319,8 @@ export const exportColumns = [
{ prop: 'balance', label: '余额' },
{ prop: 'station', label: '站点' },
{ prop: 'remark', label: '备注' },
+ { prop: 'createUserName', label: '创建人' },
+ { prop: 'createTime', label: '创建时间' },
];
export const excelOption = {
diff --git a/src/option/vehicle/other-expense-record.js b/src/option/vehicle/other-expense-record.js
index 535a4c9..4f4f2dc 100644
--- a/src/option/vehicle/other-expense-record.js
+++ b/src/option/vehicle/other-expense-record.js
@@ -165,6 +165,14 @@ export const option = {
editDisplay: false,
viewDisplay: false,
},
+ {
+ label: '创建人',
+ prop: 'createUserName',
+ addDisplay: false,
+ editDisplay: false,
+ display: false,
+ minWidth: 120,
+ },
{
label: '创建时间',
prop: 'createTime',
@@ -209,6 +217,8 @@ export const exportColumns = [
{ prop: 'amount', label: '金额' },
{ prop: 'dataSource', label: '数据来源' },
{ prop: 'remark', label: '备注' },
+ { prop: 'createUserName', label: '创建人' },
+ { prop: 'createTime', label: '创建时间' },
];
export const excelOption = {
diff --git a/src/option/vehicle/tire-replacement-record.js b/src/option/vehicle/tire-replacement-record.js
index 6077e51..65711b7 100644
--- a/src/option/vehicle/tire-replacement-record.js
+++ b/src/option/vehicle/tire-replacement-record.js
@@ -147,6 +147,14 @@ export const option = {
slot: true,
formslot: true,
},
+ {
+ label: '创建人',
+ prop: 'createUserName',
+ addDisplay: false,
+ editDisplay: false,
+ display: false,
+ minWidth: 120,
+ },
{
label: '创建时间',
prop: 'createTime',
@@ -222,6 +230,8 @@ export const exportColumns = [
{ prop: 'replacementCost', label: '换胎费用' },
{ prop: 'replacementDescription', label: '换胎说明' },
{ prop: 'remark', label: '备注' },
+ { prop: 'createUserName', label: '创建人' },
+ { prop: 'createTime', label: '创建时间' },
];
export const excelOption = {
diff --git a/src/option/vehicle/transport-change-record.js b/src/option/vehicle/transport-change-record.js
index c90dea6..7728e98 100644
--- a/src/option/vehicle/transport-change-record.js
+++ b/src/option/vehicle/transport-change-record.js
@@ -97,6 +97,14 @@ export const option = {
slot: true,
formslot: true,
},
+ {
+ label: '创建人',
+ prop: 'createUserName',
+ addDisplay: false,
+ editDisplay: false,
+ display: false,
+ minWidth: 120,
+ },
{
label: '创建时间',
prop: 'createTime',
@@ -169,6 +177,8 @@ export const exportColumns = [
{ prop: 'changeItem', label: '变更事项' },
{ prop: 'changeContent', label: '变更内容' },
{ prop: 'remark', label: '备注' },
+ { prop: 'createUserName', label: '创建人' },
+ { prop: 'createTime', label: '创建时间' },
];
export const excelOption = {
diff --git a/src/option/vehicle/violation-record.js b/src/option/vehicle/violation-record.js
index 3ae5991..2246525 100644
--- a/src/option/vehicle/violation-record.js
+++ b/src/option/vehicle/violation-record.js
@@ -221,6 +221,14 @@ export const option = {
slot: true,
formslot: true,
},
+ {
+ label: '创建人',
+ prop: 'createUserName',
+ addDisplay: false,
+ editDisplay: false,
+ display: false,
+ minWidth: 120,
+ },
{
label: '创建时间',
prop: 'createTime',
@@ -299,6 +307,8 @@ export const exportColumns = [
{ prop: 'processStatus', label: '状态' },
{ prop: 'processDescription', label: '过程描述' },
{ prop: 'processResult', label: '处理结果' },
+ { prop: 'createUserName', label: '创建人' },
+ { prop: 'createTime', label: '创建时间' },
];
export const excelOption = {
diff --git a/src/store/getters.js b/src/store/getters.js
index fb53825..250ac19 100644
--- a/src/store/getters.js
+++ b/src/store/getters.js
@@ -1,8 +1,12 @@
+import { isAdministrator as checkAdministrator } from '@/utils/auth';
+
const getters = {
tag: state => state.tags.tag,
language: state => state.common.language,
setting: state => state.common.setting,
userInfo: state => state.user.userInfo,
+ // 超级管理员:角色别名中包含 administrator
+ isAdministrator: state => checkAdministrator(state.user.userInfo),
colorName: state => state.common.colorName,
themeName: state => state.common.themeName,
isMacOs: (state, getters) => getters.themeName === 'mac-os',
diff --git a/src/utils/auth.js b/src/utils/auth.js
index 0c4cdd8..7079756 100644
--- a/src/utils/auth.js
+++ b/src/utils/auth.js
@@ -6,8 +6,31 @@ const RefreshTokenKey = website.refreshTokenKey;
const SessionId = 'JSESSIONID';
const UserId = 'b-user-id';
+/** 超级管理员角色别名 */
+export const ADMINISTRATOR_ROLE_ALIAS = 'administrator';
+
+/**
+ * 是否超级管理员:角色别名中包含 administrator 即为超级管理员
+ *
+ * @param {object|string|string[]} [userInfoOrAuthority] 用户信息,或 authority / role_name 字符串/数组
+ * @returns {boolean}
+ */
+export function isAdministrator(userInfoOrAuthority) {
+ let authority = userInfoOrAuthority;
+ if (authority && typeof authority === 'object' && !Array.isArray(authority)) {
+ authority = authority.authority ?? authority.role_name ?? authority.roleName ?? '';
+ }
+ const roles = Array.isArray(authority)
+ ? authority
+ : String(authority || '')
+ .split(/[,,]/)
+ .map(role => role.trim())
+ .filter(Boolean);
+ return roles.some(role => String(role).trim() === ADMINISTRATOR_ROLE_ALIAS);
+}
+
export function getToken() {
- return Cookies.get(TokenKey);
+ return Cookies.get(TokenKey);
}
export function setToken(token) {
diff --git a/src/views/authority/apikey.vue b/src/views/authority/apikey.vue
index 2501704..275d96e 100644
--- a/src/views/authority/apikey.vue
+++ b/src/views/authority/apikey.vue
@@ -24,7 +24,7 @@
type="danger"
icon="el-icon-delete"
plain
- v-if="userInfo.authority.includes('admin')"
+ v-if="isAdministrator"
@click="handleDelete"
>删除
@@ -43,19 +43,19 @@
{{ timeRange(row) }}
{{ goodsSummary(row) }}
+创建人:{{ row.createUserName || '-' }}
+创建时间:{{ row.createTime || '-' }}