Browse Source

数据资产发布,审批

master
xueyinfei 1 month ago
parent
commit
2c3b615a24
  1. 10
      vue-fastapi-frontend/src/api/dataAsset/assetDetail.js
  2. 162
      vue-fastapi-frontend/src/views/system/flow/dataAssetMainAppr.vue
  3. 31
      vue-fastapi-frontend/src/views/system/flow/index.vue

10
vue-fastapi-frontend/src/api/dataAsset/assetDetail.js

@ -21,5 +21,13 @@ export function deptTreeSelect() {
url: '/default-api/system/dataAsset/sources',
method: 'get'
})
}
}
export function listAssetMainAppr(data) {
return request({
url: '/default-api/system/dataAsset/listastappr',
method: 'get',
params: data
})
}

162
vue-fastapi-frontend/src/views/system/flow/dataAssetMainAppr.vue

@ -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>

31
vue-fastapi-frontend/src/views/system/flow/index.vue

@ -527,25 +527,30 @@
<el-dialog v-model="stdCodeVisible" title="标准代码变更详情" width="80%" >
<DataStdCodeTable :flowId="selectedFlowId" :stdCodeVisible="stdCodeVisible"/>
</el-dialog>
<el-dialog v-model="dataAssetMainVisible" title="数据资产变更详情" width="80%" >
<DataAssetMainAppr :flowId="selectedFlowId" :dataAssetMainVisible="dataAssetMainVisible"/>
</el-dialog>
</div>
</template>
<script setup>
import {getFlowConfList, getApprovalList, operateProcess, cancelMyFlow } from "@/api/flow/flow"
import {getFlowConfList, getApprovalList, operateProcess, cancelMyFlow,getWaitingFlowCount } from "@/api/flow/flow"
import { getMetaInfoApplyBusinessDetail } from "@/api/meta/metaInfo"
import {v4 as uuid} from 'uuid'
import DataStdMainTable from './dataStdMainAppr.vue'; //
import DataStdDictTable from './dataStdDictAppr.vue'; //
import DataStdCodeTable from './dataStdCodeAppr.vue'; //
import DataStdMainTable from '@/views/system/flow/dataStdMainAppr.vue'; //
import DataStdDictTable from '@/views/system/flow/dataStdDictAppr.vue'; //
import DataStdCodeTable from '@/views/system/flow/dataStdCodeAppr.vue'; //
import DataAssetMainAppr from "@/views/system/flow/dataAssetMainAppr.vue"; //
const stdMainVisible = ref(false);
const stdDictVisible = ref(false);
const stdCodeVisible = ref(false);
const dataAssetMainVisible = ref(false);
const { proxy } = getCurrentInstance();
import { ref, nextTick, computed, watch, reactive, onMounted } from 'vue'
import {getWaitingFlowCount} from "../../../api/flow/flow.js";
import cache from "../../../plugins/cache.js";
import {Graph} from "@antv/x6";
const flowTab = ref('waiting')
const selectedFlowId = ref('');
@ -973,16 +978,18 @@ function showBusinessDataDialog(row){
}
})
}else if(row.businessType ==="dataStdMain"){
selectedFlowId.value = row.businessId;
stdMainVisible.value = true;
}else if(row.businessType ==="dataStdDict"){
selectedFlowId.value = row.businessId;
stdDictVisible.value = true;
}else if(row.businessType ==="dataStdCode"){
selectedFlowId.value = row.businessId;
stdCodeVisible.value = true;
}
selectedFlowId.value = row.businessId;
stdDictVisible.value = true;
}else if(row.businessType ==="dataStdCode"){
selectedFlowId.value = row.businessId;
stdCodeVisible.value = true;
}else if (row.businessType === 'dataAssetMain'){
dataAssetMainVisible.value = true;
selectedFlowId.value = row.businessId;
}
}

Loading…
Cancel
Save