3 changed files with 190 additions and 13 deletions
@ -0,0 +1,162 @@ |
|||||
|
<template> |
||||
|
<el-table |
||||
|
v-loading="loading" |
||||
|
:data="tableData" |
||||
|
border |
||||
|
style="width: 100%" |
||||
|
:row-class-name="tableRowClassName" |
||||
|
> |
||||
|
<el-table-column label="资产编号" align="center" prop="astNo"></el-table-column> |
||||
|
<el-table-column label="表来源系统" align="center" prop="dataAstSrc"></el-table-column> |
||||
|
<el-table-column label="表英文名称" align="center" prop="dataAstEngName"></el-table-column> |
||||
|
<el-table-column label="表中文名称" align="center" prop="dataAstCnName"></el-table-column> |
||||
|
<el-table-column label="表类型" align="center" prop="dataAstType"></el-table-column> |
||||
|
<el-table-column label="资产标签" align="center" prop="dataAstClas"> |
||||
|
<template #default="scope"> |
||||
|
<template v-for="item in JSON.parse(scope.row.dataAstClas)"> |
||||
|
<el-tag v-if="item.clasEffFlag && item.clasEffFlag === '1'">{{item.clasName}}</el-tag> |
||||
|
</template> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="资产描述" align="center" prop="dataAstDesc"></el-table-column> |
||||
|
<el-table-column label="资产应用场景" align="center" prop="dataAstScreen"></el-table-column> |
||||
|
<el-table-column label="应用场景分类" align="center" prop="dataAstScrenClas"></el-table-column> |
||||
|
<el-table-column label="常见问题" align="center" prop="dataAstFaq"></el-table-column> |
||||
|
<el-table-column label="变更类型" align="center"> |
||||
|
<template #default="{ row }"> |
||||
|
{{ changeTypeMap[row.changeType] || row.changeType }} |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="审批状态" align="center"> |
||||
|
<template #default="{ row }"> |
||||
|
{{ approStatusMap[row.approStatus] || row.approStatus }} |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
|
||||
|
</template> |
||||
|
|
||||
|
<script setup> |
||||
|
import { ref, watch } from 'vue'; |
||||
|
import { listAssetMainAppr,} from '@/api/dataAsset/assetDetail.js'; |
||||
|
import useUserStore from '@/store/modules/user'; // 注意路径是否正确 |
||||
|
|
||||
|
const userStore = useUserStore(); // 正确调用 |
||||
|
const dsSysList = userStore.dsSysList; // 访问属性 |
||||
|
const props = defineProps({ |
||||
|
flowId: { |
||||
|
type: String, |
||||
|
required: true |
||||
|
}, |
||||
|
dataAssetMainVisible:{ |
||||
|
type: Boolean, |
||||
|
required: true |
||||
|
} |
||||
|
}); |
||||
|
const getSrcSysName = (id) => { |
||||
|
const match = dsSysList.find(item => item.id === id); |
||||
|
return match ? match.name : id; |
||||
|
}; |
||||
|
// 设置行样式 |
||||
|
function tableRowClassName({ row }) { |
||||
|
switch (row.changeType) { |
||||
|
case 'add': |
||||
|
return 'row-add' |
||||
|
case 'update': |
||||
|
return 'row-edit' |
||||
|
case 'delete': |
||||
|
return 'row-delete' |
||||
|
default: |
||||
|
return '' |
||||
|
} |
||||
|
} |
||||
|
const loading = ref(false); |
||||
|
const codeId = ref(""); |
||||
|
const tableData = ref([]); |
||||
|
|
||||
|
const changeTypeMap = { |
||||
|
add: '新增', |
||||
|
update: '修改', |
||||
|
delete: '删除' |
||||
|
}; |
||||
|
|
||||
|
const approStatusMap = { |
||||
|
waiting: '待审核', |
||||
|
pending: '审核中', |
||||
|
succeed: '通过', |
||||
|
rejected: '拒绝', |
||||
|
canceled: '已取消' |
||||
|
}; |
||||
|
|
||||
|
|
||||
|
|
||||
|
const getList = async () => { |
||||
|
loading.value = true; |
||||
|
try { |
||||
|
const params = { flowId: props.flowId }; |
||||
|
const res = await listAssetMainAppr(params); |
||||
|
tableData.value = res.data || []; |
||||
|
} catch (e) { |
||||
|
console.error('加载失败', e); |
||||
|
} finally { |
||||
|
loading.value = false; |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
watch(() => props.dataAssetMainVisible, (newVal) => { |
||||
|
if (newVal) { |
||||
|
getList(); |
||||
|
} |
||||
|
}); |
||||
|
onMounted(() => { |
||||
|
if (props.flowId) { |
||||
|
getList(); |
||||
|
|
||||
|
} |
||||
|
}); |
||||
|
</script> |
||||
|
|
||||
|
<style scoped> |
||||
|
.custom-form-container .el-form-item { |
||||
|
margin-bottom: 15px; /* 增加表单项间距 */ |
||||
|
margin-left: 20px; |
||||
|
} |
||||
|
.changed-label, |
||||
|
.changed-value { |
||||
|
color: rgb(137, 189, 58) !important;; |
||||
|
font-weight: bold; |
||||
|
} |
||||
|
.custom-form-container .el-form-item .el-input, |
||||
|
.custom-form-container .el-form-item .el-select { |
||||
|
width: 100%; /* 输入框和选择框宽度填满 */ |
||||
|
} |
||||
|
|
||||
|
.custom-form-container .el-form-item span { |
||||
|
font-size: 14px; /* 字体大小 */ |
||||
|
color: #333; /* 字体颜色 */ |
||||
|
} |
||||
|
|
||||
|
.custom-form-item label { |
||||
|
font-weight: bold; /* 加粗标签 */ |
||||
|
margin-right: 10px; /* 为标签添加右侧间距 */ |
||||
|
} |
||||
|
|
||||
|
.el-dialog__footer { |
||||
|
text-align: center; |
||||
|
} |
||||
|
|
||||
|
.dialog-footer-btn { |
||||
|
width: 100px; /* 按钮宽度 */ |
||||
|
font-size: 14px; |
||||
|
} |
||||
|
::v-deep(.row-add) { |
||||
|
background-color: #bae7ff !important; |
||||
|
} |
||||
|
::v-deep(.row-edit) { |
||||
|
background-color: #d9f7be !important; |
||||
|
} |
||||
|
::v-deep(.row-delete) { |
||||
|
background-color: #ffa39e !important; |
||||
|
} |
||||
|
|
||||
|
</style> |
Loading…
Reference in new issue