优化全局状态颜色映射为支持中文状态值,Jsite服务器列表状态和区域显示为中文
This commit is contained in:
parent
71b62d9bdf
commit
77bc63da84
@ -22,42 +22,45 @@ export default {
|
||||
computed: {
|
||||
_color() {
|
||||
if (this.theme) return this.theme;
|
||||
return {
|
||||
Approved: 'green',
|
||||
Recovering: 'orange',
|
||||
Recovered: 'blue',
|
||||
Broken: 'red',
|
||||
Installing: 'orange',
|
||||
Running: 'blue',
|
||||
Pending: 'orange',
|
||||
Failure: 'red',
|
||||
Fatal: 'red',
|
||||
Failed: 'red',
|
||||
'Update Available': 'blue',
|
||||
Enabled: 'blue',
|
||||
'Awaiting Approval': 'orange',
|
||||
'Awaiting Deploy': 'orange',
|
||||
Success: 'green',
|
||||
Completed: 'green',
|
||||
Deployed: 'green',
|
||||
Expired: 'red',
|
||||
Paid: 'green',
|
||||
Unpaid: 'orange',
|
||||
'Invoice Created': 'blue',
|
||||
Rejected: 'red',
|
||||
'In Review': 'orange',
|
||||
'Attention Required': 'red',
|
||||
Active: 'green',
|
||||
Trial: 'orange',
|
||||
Published: 'green',
|
||||
Owner: 'blue',
|
||||
Primary: 'green',
|
||||
'Latest Deployed': 'orange',
|
||||
'Not Deployed': 'orange',
|
||||
'Action Required': 'red',
|
||||
'First Deploy': 'green',
|
||||
'Will be Uninstalled': 'red',
|
||||
}[this.label];
|
||||
|
||||
// 状态配置数组 - 每个配置包含英文、中文、颜色三个属性
|
||||
const statusConfigs = [
|
||||
// 服务器状态
|
||||
{ en: 'Pending', zh: '待处理', color: 'orange' },
|
||||
{ en: 'Starting', zh: '启动中', color: 'orange' },
|
||||
{ en: 'Running', zh: '运行中', color: 'green' },
|
||||
{ en: 'Stopping', zh: '停止中', color: 'orange' },
|
||||
{ en: 'Stopped', zh: '已停止', color: 'red' },
|
||||
{ en: 'Resetting', zh: '重置中', color: 'blue' },
|
||||
{ en: 'Upgrading', zh: '升级中', color: 'purple' },
|
||||
{ en: 'Disabled', zh: '已禁用', color: 'gray' },
|
||||
|
||||
// 其他状态
|
||||
{ en: 'Approved', zh: '已批准', color: 'green' },
|
||||
{ en: 'Recovering', zh: '恢复中', color: 'orange' },
|
||||
{ en: 'Recovered', zh: '已恢复', color: 'blue' },
|
||||
{ en: 'Broken', zh: '损坏', color: 'red' },
|
||||
{ en: 'Installing', zh: '安装中', color: 'orange' },
|
||||
{ en: 'Failure', zh: '失败', color: 'red' },
|
||||
{ en: 'Fatal', zh: '致命错误', color: 'red' },
|
||||
{ en: 'Failed', zh: '失败', color: 'red' },
|
||||
{ en: 'Success', zh: '成功', color: 'green' },
|
||||
{ en: 'Completed', zh: '已完成', color: 'green' },
|
||||
{ en: 'Deployed', zh: '已部署', color: 'green' },
|
||||
{ en: 'Expired', zh: '已过期', color: 'red' },
|
||||
{ en: 'Paid', zh: '已支付', color: 'green' },
|
||||
{ en: 'Unpaid', zh: '未支付', color: 'orange' },
|
||||
{ en: 'Rejected', zh: '已拒绝', color: 'red' },
|
||||
{ en: 'Active', zh: '激活', color: 'green' },
|
||||
{ en: 'Trial', zh: '试用', color: 'orange' },
|
||||
{ en: 'Published', zh: '已发布', color: 'green' },
|
||||
{ en: 'Owner', zh: '所有者', color: 'blue' },
|
||||
{ en: 'Primary', zh: '主要', color: 'green' },
|
||||
];
|
||||
|
||||
// 查找匹配的配置
|
||||
const config = statusConfigs.find(item => item.en === this.label || item.zh === this.label);
|
||||
return config ? config.color : 'gray';
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
@ -46,7 +46,7 @@ export default {
|
||||
fieldname: 'status',
|
||||
options: [
|
||||
{ label: '', value: '' },
|
||||
{ label: '待定', value: 'Pending' },
|
||||
{ label: '待处理', value: 'Pending' },
|
||||
{ label: '启动中', value: 'Starting' },
|
||||
{ label: '运行中', value: 'Running' },
|
||||
{ label: '停止中', value: 'Stopping' },
|
||||
@ -62,13 +62,32 @@ export default {
|
||||
fieldname: 'region',
|
||||
options: [
|
||||
{ label: '', value: '' },
|
||||
{ label: '中国大陆', value: '中国大陆' },
|
||||
{ label: '中国香港', value: '中国香港' },
|
||||
{ label: '美国-洛杉矶', value: '美国-洛杉矶' },
|
||||
{ label: '新加坡', value: '新加坡' },
|
||||
{ label: '英国-伦敦', value: '英国-伦敦' },
|
||||
{ label: '德国-法兰克福', value: '德国-法兰克福' },
|
||||
{ label: '阿联酋-迪拜', value: '阿联酋-迪拜' }
|
||||
{ label: '华北1(青岛)', value: 'cn-qingdao' },
|
||||
{ label: '华北2(北京)', value: 'cn-beijing' },
|
||||
{ label: '华北3(张家口)', value: 'cn-zhangjiakou' },
|
||||
{ label: '华北5(呼和浩特)', value: 'cn-huhehaote' },
|
||||
{ label: '华东1(杭州)', value: 'cn-hangzhou' },
|
||||
{ label: '华东2(上海)', value: 'cn-shanghai' },
|
||||
{ label: '华南1(深圳)', value: 'cn-shenzhen' },
|
||||
{ label: '华南2(河源)', value: 'cn-heyuan' },
|
||||
{ label: '西南1(成都)', value: 'cn-chengdu' },
|
||||
{ label: '华南3(广州)', value: 'cn-guangzhou' },
|
||||
{ label: '华北6(乌兰察布)', value: 'cn-wulanchabu' },
|
||||
{ label: '华东5(南京)', value: 'cn-nanjing' },
|
||||
{ label: '华东6(福州)', value: 'cn-fuzhou' },
|
||||
{ label: '华中1(武汉)', value: 'cn-wuhan-lr' },
|
||||
{ label: '中国香港', value: 'cn-hongkong' },
|
||||
{ label: '新加坡', value: 'ap-southeast-1' },
|
||||
{ label: '马来西亚(吉隆坡)', value: 'ap-southeast-3' },
|
||||
{ label: '印度尼西亚(雅加达)', value: 'ap-southeast-5' },
|
||||
{ label: '日本(东京)', value: 'ap-northeast-1' },
|
||||
{ label: '美国(硅谷)', value: 'us-west-1' },
|
||||
{ label: '美国(弗吉尼亚)', value: 'us-east-1' },
|
||||
{ label: '德国(法兰克福)', value: 'eu-central-1' },
|
||||
{ label: '英国(伦敦)', value: 'eu-west-1' },
|
||||
{ label: '菲律宾(马尼拉)', value: 'ap-southeast-6' },
|
||||
{ label: '泰国(曼谷)', value: 'ap-southeast-7' },
|
||||
{ label: '韩国(首尔)', value: 'ap-northeast-2' }
|
||||
]
|
||||
}
|
||||
];
|
||||
@ -89,7 +108,20 @@ export default {
|
||||
label: '状态',
|
||||
fieldname: 'status',
|
||||
type: 'Badge',
|
||||
width: 0.8
|
||||
width: 0.8,
|
||||
format(value) {
|
||||
const statusMap = {
|
||||
'Pending': '待处理',
|
||||
'Starting': '启动中',
|
||||
'Running': '运行中',
|
||||
'Stopping': '停止中',
|
||||
'Stopped': '已停止',
|
||||
'Resetting': '重置中',
|
||||
'Upgrading': '升级中',
|
||||
'Disabled': '已禁用'
|
||||
};
|
||||
return statusMap[value] || value;
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '配置',
|
||||
@ -112,7 +144,40 @@ export default {
|
||||
label: '区域',
|
||||
fieldname: 'region',
|
||||
format(value) {
|
||||
return value || '-';
|
||||
if (!value) return '-';
|
||||
|
||||
// 区域ID到中文名称的映射表
|
||||
const regionMap = {
|
||||
'cn-qingdao': '华北1(青岛)',
|
||||
'cn-beijing': '华北2(北京)',
|
||||
'cn-zhangjiakou': '华北3(张家口)',
|
||||
'cn-huhehaote': '华北5(呼和浩特)',
|
||||
'cn-hangzhou': '华东1(杭州)',
|
||||
'cn-shanghai': '华东2(上海)',
|
||||
'cn-shenzhen': '华南1(深圳)',
|
||||
'cn-heyuan': '华南2(河源)',
|
||||
'cn-chengdu': '西南1(成都)',
|
||||
'cn-guangzhou': '华南3(广州)',
|
||||
'cn-wulanchabu': '华北6(乌兰察布)',
|
||||
'cn-nanjing': '华东5(南京)',
|
||||
'cn-fuzhou': '华东6(福州)',
|
||||
'cn-wuhan-lr': '华中1(武汉)',
|
||||
'cn-hongkong': '中国香港',
|
||||
'ap-southeast-1': '新加坡',
|
||||
'ap-southeast-3': '马来西亚(吉隆坡)',
|
||||
'ap-southeast-5': '印度尼西亚(雅加达)',
|
||||
'ap-northeast-1': '日本(东京)',
|
||||
'us-west-1': '美国(硅谷)',
|
||||
'us-east-1': '美国(弗吉尼亚)',
|
||||
'eu-central-1': '德国(法兰克福)',
|
||||
'eu-west-1': '英国(伦敦)',
|
||||
'ap-southeast-6': '菲律宾(马尼拉)',
|
||||
'ap-southeast-7': '泰国(曼谷)',
|
||||
'ap-northeast-2': '韩国(首尔)'
|
||||
};
|
||||
|
||||
// 如果是RegionId,返回对应的中文名称;如果已经是中文名称,直接返回
|
||||
return regionMap[value] || value;
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -120,7 +185,7 @@ export default {
|
||||
fieldname: 'end_date',
|
||||
format(value) {
|
||||
if (!value) return '-';
|
||||
return new Date(value).toLocaleDateString('zh-CN');
|
||||
return value;
|
||||
}
|
||||
}
|
||||
],
|
||||
@ -135,17 +200,19 @@ export default {
|
||||
},
|
||||
statusBadge({ documentResource: jsiteServer }) {
|
||||
const status = jsiteServer.pg?.status;
|
||||
const statusConfig = {
|
||||
Pending: { label: '待定', color: 'gray' },
|
||||
Starting: { label: '启动中', color: 'yellow' },
|
||||
Running: { label: '运行中', color: 'green' },
|
||||
Stopping: { label: '停止中', color: 'orange' },
|
||||
Stopped: { label: '已停止', color: 'red' },
|
||||
Resetting: { label: '重置中', color: 'blue' },
|
||||
Upgrading: { label: '升级中', color: 'purple' },
|
||||
Disabled: { label: '已禁用', color: 'gray' }
|
||||
const statusMap = {
|
||||
'Pending': '待处理',
|
||||
'Starting': '启动中',
|
||||
'Running': '运行中',
|
||||
'Stopping': '停止中',
|
||||
'Stopped': '已停止',
|
||||
'Resetting': '重置中',
|
||||
'Upgrading': '升级中',
|
||||
'Disabled': '已禁用'
|
||||
};
|
||||
return {
|
||||
label: statusMap[status] || status
|
||||
};
|
||||
return statusConfig[status] || { label: status, color: 'gray' };
|
||||
},
|
||||
breadcrumbs({ documentResource: jsiteServer }) {
|
||||
return [
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user