Compare commits
2 Commits
6c717d5485
...
9ca5c801a2
Author | SHA1 | Date |
---|---|---|
|
9ca5c801a2 | |
|
28c083d36e |
|
@ -101,3 +101,9 @@ export function structureList(data){
|
|||
data
|
||||
})
|
||||
}
|
||||
export function quantity(){
|
||||
return request({
|
||||
url:'/source/source/quantity',
|
||||
method:'get'
|
||||
})
|
||||
}
|
||||
|
|
|
@ -1,19 +1,5 @@
|
|||
<template>
|
||||
<div>
|
||||
<el-card v-if="tableMessage!=null">
|
||||
<div slot="header" class="clearfix">
|
||||
<span>资产模型基本信息</span>
|
||||
</div>
|
||||
<el-descriptions border :column="2">
|
||||
|
||||
<el-descriptions-item label="表名称">{{tableMessage.name}}</el-descriptions-item>
|
||||
<el-descriptions-item label="表备注">{{ tableMessage.as }}</el-descriptions-item>
|
||||
<el-descriptions-item label="数据量">{{ tableMessage.dataTotal }}</el-descriptions-item>
|
||||
<el-descriptions-item label="是否核心">
|
||||
<el-tag size="small">是</el-tag>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-card>
|
||||
<el-card style=" margin-top: 20px;">
|
||||
<div slot="header" class="clearfix">
|
||||
<span>资产模型详细信息</span>
|
||||
|
@ -25,7 +11,7 @@
|
|||
<el-table-column prop="comment" label="注释" />
|
||||
<el-table-column prop="isPrimaryKey" label="是否主键" >
|
||||
<template slot-scope="scope">
|
||||
<el-tag size="small" :type="scope.row.isPrimaryKey === 'Y' ? 'success' : ''">
|
||||
<el-tag size="small" :type="scope.row.isPrimaryKey === '是' ? 'success' : ''">
|
||||
{{scope.row.isPrimaryKey}}
|
||||
</el-tag>
|
||||
</template>
|
||||
|
@ -36,7 +22,7 @@
|
|||
<el-table-column prop="decimalPlaces" label="小数位" />
|
||||
<el-table-column prop="isNull" label="是否为空" >
|
||||
<template slot-scope="scope">
|
||||
<el-tag size="small" :type="scope.row.isNull === 'Y' ? 'success' : 'danger'">
|
||||
<el-tag size="small" :type="scope.row.isNull === '是' ? 'success' : 'danger'">
|
||||
{{scope.row.isNull}}
|
||||
</el-tag>
|
||||
</template>
|
||||
|
@ -181,8 +167,10 @@ import bus from '@/views/dataSource/assets/dashboard/bus'
|
|||
import { database, table } from '@/api/dataSource/source'
|
||||
|
||||
export default {
|
||||
props:['essential','tableMessage','itemTest','totalList',`childrenListModel`],
|
||||
name: 'OverallAssetStructure',
|
||||
props:{
|
||||
'itemTest':{}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
localEssential: null,
|
||||
|
@ -201,6 +189,7 @@ export default {
|
|||
],
|
||||
},
|
||||
sendTest:[],
|
||||
tableMessage:[],
|
||||
}
|
||||
},
|
||||
beforeDestroy() {
|
||||
|
@ -215,29 +204,15 @@ export default {
|
|||
this.sendTest=res.data
|
||||
}
|
||||
)
|
||||
console.log("aadasdas",val.databaseName)
|
||||
table(val.databaseName).then(
|
||||
res => {
|
||||
this.tableMessage = res.data
|
||||
console.log("one",this.tableMessage)
|
||||
}
|
||||
)
|
||||
},
|
||||
immediate:true,
|
||||
},
|
||||
"childrenListModel":{
|
||||
handler(val){
|
||||
table(val.databaseName).then(
|
||||
res=>{
|
||||
this.tableMessage=res.data
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
},
|
||||
methods: {
|
||||
updEssential(row){
|
||||
|
||||
this.form=row
|
||||
this.formStatus=true
|
||||
},
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
<div class="title-header">
|
||||
整体数据资产结构概述
|
||||
</div>
|
||||
|
||||
<el-col :lg="8" :sm="12" :xs="12" class="card-panel-col">
|
||||
<div class="card-panel" @click="handleSetLineChartData('newVisitis')">
|
||||
<div class="card-panel-icon-wrapper icon-people">
|
||||
|
@ -12,7 +13,7 @@
|
|||
<div class="card-panel-text">
|
||||
数据接入
|
||||
</div>
|
||||
<count-to :duration="2600" :end-val="2" :start-val="0" class="card-panel-num"/>
|
||||
<count-to :duration="2600" :end-val="totalNum" :start-val="0" class="card-panel-num"/>
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
|
@ -25,7 +26,7 @@
|
|||
<div class="card-panel-text">
|
||||
资产模型
|
||||
</div>
|
||||
<count-to :duration="3000" :end-val="1" :start-val="0" class="card-panel-num"/>
|
||||
<count-to :duration="3000" :end-val="assetsNum" :start-val="0" class="card-panel-num"/>
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
|
@ -38,7 +39,7 @@
|
|||
<div class="card-panel-text">
|
||||
数据模型
|
||||
</div>
|
||||
<count-to :duration="3200" :end-val="560" :start-val="0" class="card-panel-num"/>
|
||||
<count-to :duration="3200" :end-val="totalTable" :start-val="0" class="card-panel-num"/>
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
|
@ -52,11 +53,23 @@ export default {
|
|||
components: {
|
||||
CountTo
|
||||
},
|
||||
props:{
|
||||
totalNum: {},
|
||||
assetsNum: {},
|
||||
totalTable: {},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
num:null,
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleSetLineChartData(type) {
|
||||
this.$emit('handleSetLineChartData', type)
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
|
@ -3,15 +3,104 @@
|
|||
<div class="title-header">
|
||||
{{title}} - 资产结构概述
|
||||
</div>
|
||||
|
||||
<el-col :sm="12" :xs="12" class="card-panel-col">
|
||||
<div class="card-panel" @click="handleSetLineChartData('messages')">
|
||||
<div class="card-panel-icon-wrapper icon-message">
|
||||
<svg-icon class-name="card-panel-icon" icon-class="table"/>
|
||||
</div>
|
||||
<div class="card-panel-description">
|
||||
<div class="card-panel-text">
|
||||
资产模型
|
||||
</div>
|
||||
<count-to :duration="3000" :end-val="assetsNum" :start-val="0" class="card-panel-num"/>
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :sm="12" :xs="12" class="card-panel-col">
|
||||
<div class="card-panel" @click="handleSetLineChartData('purchases')">
|
||||
<div class="card-panel-icon-wrapper icon-money">
|
||||
<svg-icon class-name="card-panel-icon" icon-class="field"/>
|
||||
</div>
|
||||
<div class="card-panel-description">
|
||||
<div class="card-panel-text">
|
||||
数据模型
|
||||
</div>
|
||||
<count-to :duration="3200" :end-val="totalTable" :start-val="0" class="card-panel-num"/>
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col v-for="(val,key) in dictMap" :md="8" :sm="24" :xs="12">
|
||||
<el-card class="box-card" style="height: 300px">
|
||||
<div slot="header" class="clearfix">
|
||||
<span>{{key}}</span>
|
||||
<el-button style="float: right; padding: 3px 0"
|
||||
type="text"
|
||||
@click="val.push({ label: null, val: null, isEdit: true })"
|
||||
>新增</el-button>
|
||||
</div>
|
||||
<el-table :data="val" style="width: 100%" height="280px">
|
||||
<el-table-column prop="label" label="标签">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="!scope.row.isEdit">{{scope.row.label}}</span>
|
||||
<el-input v-if="scope.row.isEdit" v-model="scope.row.label" size="mini"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="val" label="值">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="!scope.row.isEdit">{{scope.row.val}}</span>
|
||||
<el-input v-if="scope.row.isEdit" v-model="scope.row.val" size="mini"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="val" label="操作">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
v-if="!scope.row.isEdit"
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="scope.row.isEdit = true"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
v-if="scope.row.isEdit"
|
||||
@click="editConfirm(scope.row)"
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-finished"
|
||||
>确定</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-card>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-col :span="24">
|
||||
<el-tabs v-model="activeName" type="border-card" >
|
||||
<el-tabs v-model="activeName" type="border-card" @tab-click="handleTabClick">
|
||||
<el-tab-pane
|
||||
v-for="item in childrenList"
|
||||
:key="item.name"
|
||||
:label="item.name+'('+item.as+')'"
|
||||
:name="item.name">
|
||||
<overall-asset-structure v-bind:itemTest="item"
|
||||
v-bind:childrenListModel="childrenListModel"/>
|
||||
<el-card v-if="tableMessage!=null">
|
||||
<div slot="header" class="clearfix">
|
||||
<span>资产模型基本信息</span>
|
||||
</div>
|
||||
<el-descriptions border :column="2">
|
||||
|
||||
<el-descriptions-item label="表名称">{{tableMessage.name}}</el-descriptions-item>
|
||||
<el-descriptions-item label="表备注">{{ tableMessage.as }}</el-descriptions-item>
|
||||
<el-descriptions-item label="数据量">{{ tableMessage.dataTotal }}</el-descriptions-item>
|
||||
<el-descriptions-item label="是否核心">
|
||||
<el-tag size="small">是</el-tag>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-card>
|
||||
<overall-asset-structure
|
||||
:itemTest="item"
|
||||
:Model="childrenListModel"/>
|
||||
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
|
@ -34,11 +123,25 @@ export default {
|
|||
}
|
||||
},
|
||||
title: null,
|
||||
assetsNum:0,
|
||||
totalTable:0,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
activeName: 'first',
|
||||
childrenListModel:[],
|
||||
tableMessage:{},
|
||||
dictMap: {
|
||||
"性别(system_sex)": [
|
||||
{ label: '男', val: '1', isEdit: false },
|
||||
{ label: '女', val: '2', isEdit: false },
|
||||
{ label: '未知', val: '0', isEdit: false },
|
||||
],
|
||||
"开关(system_y_n)": [
|
||||
{ label: '是', val: '1', isEdit: false },
|
||||
{ label: '否', val: '0', isEdit: false }
|
||||
],
|
||||
},
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
@ -51,26 +154,18 @@ export default {
|
|||
handleTabClick(tab, node,event ) {
|
||||
// 通过当前激活的标签页的 name 在 childrenList 中找到对应的 item
|
||||
this.selectedItem = this.childrenList.find(item => item.name === tab.name);
|
||||
console.log(this.selectedItem)
|
||||
|
||||
table(this.selectedItem.databaseName).then(
|
||||
res => {
|
||||
this.childrenListModel = res.data
|
||||
}
|
||||
)
|
||||
|
||||
database(this.selectedItem.name).then(
|
||||
res => {
|
||||
this.essentialModel = res.data
|
||||
console.log("tow",this.essentialModel)
|
||||
this.childrenListModel.forEach(item => {
|
||||
if (item.name === this.selectedItem.name) {
|
||||
this.tableMessage = item
|
||||
this.childrenListModel.forEach(res=>{
|
||||
if (this.selectedItem.name == res.name) {
|
||||
this.tableMessage=res
|
||||
}
|
||||
})
|
||||
}
|
||||
)
|
||||
bus.$emit('getEssential',this.essentialModel,this.tableMessage)
|
||||
|
||||
bus.$emit('getEssential',this.childrenListModel,this.tableMessage)
|
||||
},
|
||||
handleSetLineChartData(type) {
|
||||
this.$emit('handleSetLineChartData', type)
|
||||
|
|
|
@ -16,34 +16,34 @@
|
|||
</el-tree>
|
||||
</el-aside>
|
||||
<el-main>
|
||||
<OverallAssets v-if="showAssets == null"/>
|
||||
<!-- <overall-specific-assets v-if="showAssets === 1"-->
|
||||
<!-- v-bind:totalNum="totalNum"-->
|
||||
<!-- v-bind:dictDetail="dictDetail"-->
|
||||
<!-- v-bind:databaseId="databaseId"-->
|
||||
<!-- v-bind:totalTable="totalTable"-->
|
||||
<!-- v-bind:childrenList="childrenList"-->
|
||||
<!-- :title="title"/>-->
|
||||
<!-- <overall-asset-structure v-bind:essential="essential" v-bind:tableMessage="tableMessage"-->
|
||||
<!-- v-if="showAssets === 1" :title="title"/>-->
|
||||
<overall-specific-assets v-if="showAssets === 0"
|
||||
<OverallAssets v-if="showAssets === null"
|
||||
:totalNum="totalNum"
|
||||
:assetsNum="assetsNum"
|
||||
:totalTable="totalTable"/>
|
||||
|
||||
<OverallSpecificAssets v-if="showAssets === 0"
|
||||
:childrenList="childrenList"
|
||||
:title="title"/>
|
||||
<overall-asset-structure v-if="showAssets === 1"
|
||||
:title="title"
|
||||
:assetsNum="num"
|
||||
:totalTable="tableNum"
|
||||
/>
|
||||
|
||||
<OverallAssetStructure v-if="showAssets === 1"
|
||||
:childrenList="childrenList"/>
|
||||
</el-main>
|
||||
</el-container>
|
||||
|
||||
</template>
|
||||
<script>
|
||||
import OverallSpecificAssets from "@/views/dataSource/assets/dashboard/OverallSpecificAssets.vue";
|
||||
import OverallAssets from "@/views/dataSource/assets/dashboard/OverallAssets.vue";
|
||||
import { database, findStructure, table, findDataBaseTable, structureList } from '@/api/dataSource/source'
|
||||
import OverallAssets from "@/views/dataSource/assets/dashboard/OverallAssets";
|
||||
import OverallSpecificAssets from "@/views/dataSource/assets/dashboard/OverallSpecificAssets";
|
||||
import OverallAssetStructure from "@/views/dataSource/assets/dashboard/OverallAssetStructure";
|
||||
import { quantity, findStructure, table, findDataBaseTable, structureList } from '@/api/dataSource/source'
|
||||
|
||||
export default {
|
||||
|
||||
name: 'assets',
|
||||
components: { OverallSpecificAssets, OverallAssets },
|
||||
components: { OverallSpecificAssets, OverallAssets,OverallAssetStructure },
|
||||
data() {
|
||||
return {
|
||||
mainHeight: window.innerHeight - 85,
|
||||
|
@ -61,13 +61,30 @@ export default {
|
|||
totalTable: 0,
|
||||
totalNum: 0,
|
||||
databaseId: 0,
|
||||
assetsNum: 0,
|
||||
quantityList:[],
|
||||
num:0,
|
||||
tableNum:0,
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
this.statistical();
|
||||
},
|
||||
methods: {
|
||||
handleNodeClick(data,node) {
|
||||
if (data.type==0){
|
||||
console.log("tow",data)
|
||||
this.num=0
|
||||
this.tableNum=0
|
||||
this.quantityList.forEach(res=>{
|
||||
if (res.databaseName==data.databaseName){
|
||||
//数据模型
|
||||
this.tableNum+=res.dataTotal;
|
||||
this.num+=1
|
||||
}
|
||||
})
|
||||
}
|
||||
if(data.type == 1) {
|
||||
let databaseConnect={}
|
||||
databaseConnect.databaseName=data.databaseName;
|
||||
|
@ -77,35 +94,11 @@ export default {
|
|||
this.childrenList=res.data
|
||||
})
|
||||
}
|
||||
|
||||
// this.childrenList=[]
|
||||
this.totalNum=0
|
||||
this.totalTable=0
|
||||
|
||||
this.childrenList.forEach(res=>{
|
||||
//数据记录条数
|
||||
this.totalTable+=res.dataTotal
|
||||
})
|
||||
//连接接口
|
||||
this.totalNum=this.parentList.length
|
||||
console.log(this.totalTable)
|
||||
console.log(this.totalNum)
|
||||
|
||||
// database(data.databaseName).then(
|
||||
// res => {
|
||||
// this.childrenList = res.data
|
||||
// console.log('12142141',this.childrenList)
|
||||
// this.childrenList.forEach(
|
||||
// item=>{
|
||||
// this.totalTable+=item.dataTotal
|
||||
// }
|
||||
// )
|
||||
// this.totalNum=this.childrenList.length
|
||||
// }
|
||||
// )
|
||||
},
|
||||
expandTable(node, resolve) {
|
||||
if (node.level === 0) return resolve(this.parentList);
|
||||
if (node.level === 0){
|
||||
return resolve(this.parentList);
|
||||
}
|
||||
|
||||
const { data } = node;
|
||||
|
||||
|
@ -134,10 +127,24 @@ export default {
|
|||
findStructure().then(
|
||||
res=>{
|
||||
this.parentList=res.data.assetStructureList;
|
||||
//连接入数量
|
||||
this.totalNum=this.parentList.length
|
||||
}
|
||||
)
|
||||
}
|
||||
},
|
||||
statistical(){
|
||||
quantity().then(res=>{
|
||||
// 获取所有数据
|
||||
this.quantityList=res.data
|
||||
//资产模型数量
|
||||
this.assetsNum=this.quantityList.length
|
||||
|
||||
this.quantityList.forEach(res=>{
|
||||
//数据模型数量
|
||||
this.totalTable+=res.dataTotal
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
Loading…
Reference in New Issue