/* * @Author: your name * @Date: 2021-03-05 09:44:53 * @LastEditTime: 2021-05-08 11:55:55 * @LastEditors: Please set LastEditors * @Description: In User Settings Edit * @FilePath: \exclusive-cloud\manage\common\src\assets\filters\batch.filter.ts */ /** * 资源部分过滤器 */ /**操作类型 */ function batchHandlePipe(statusPipe: string) { let handleObj: {[key: string]: any} = { other: '操作', create: '创建', destroy: '销毁', forceDestroy: '强制销毁', bind: '绑定', unbind: '卸载', mount: '挂载', delete: '删除', start: '启动', stop: '停止', remove: '移除', freeze: "冻结" } let key = statusPipe.split('-')[0]; return handleObj[key] || handleObj.other; } /**资源类型 */ function batchResource(statusPipe: string) { let resourceObj: {[key: string]: any} = { other: '资源', vm: '云主机', disk: '磁盘', ip: 'IP', mirror: '镜像', slb: '负载均衡', rds: 'RDS', nat: 'NAT', dnat: 'DNAT条目', securityGroup: '安全组', vpc: 'VPC网络', vswitch: '交换机', vmlist: '云主机实例', 'auto-snap-config': "自动快照配置", monitor: '监听', strategy: '策略', aceAddress: '源地址', announcements:'公告', user: '用户' } let key = statusPipe.split('-')[1]; return resourceObj[key] || resourceObj.other; } /**连起来 */ function batchNamePipe(statusPipe: string) { return batchHandlePipe(statusPipe) + batchResource(statusPipe); } /**生成状态提示语对象 * */ function batchStatus(statusPipe: string, status: string) { let name = batchHandlePipe(statusPipe); let newObj: {[key: string]: string} = { '-1': name + '失败', '0': '等待中...', '1': name + '中...', '2': name + '成功', '3': '已终止' }; return newObj[status]; } export default { batchHandlePipe, batchResource, batchNamePipe, batchStatus, }