Commit 39ccd855 authored by wends's avatar wends

add views

parent ae9122f7
<template>
<div ref="line" style="background-color: #fff;height: 100%;width: 100%"/>
</template>
<script>
import { Line } from '@antv/g2plot'
export default {
name: "G2Line",
data() {
return {
line: null
}
},
mounted() {
const el = this.$refs.line
this.line = new Line(el, {
data: [],
title: {
visible: true,
text: '折线图'
},
description: {
visible: true,
text: '用平滑的曲线代替折线'
},
xField: 'time',
yField: 'value',
xAxis: {
type: 'time',
mask: 'HH:mm:ss'
}
})
this.line.render()
}
}
</script>
<style scoped>
</style>
......@@ -94,15 +94,18 @@ export const constantRoutes = routes
* asyncRoutes
* the routes that need to be dynamically loaded based on user roles
*/
// 数据管理
import datasetManagement from './modules/datasetManagement'
// 系统管理
import systemManagement from './modules/systemManagement'
// 租户管理
import tenantManagement from './modules/tenantManagement'
// 物管理
import objectManagement from './modules/objectManagement'
// 物可视
import objectVisible from './modules/objectVisibleManagement'
export const asyncRoutes = [
datasetManagement,
objectManagement,
objectVisible,
systemManagement,
tenantManagement,
// 404 page must be placed at the end !!!
......
import Common from '@/layout/common/index'
const router = {
menuId: 'ObjectMgr',
path: '/object-management',
name: '物管理',
component: Common,
redirect: '/object-management/mine-dataset',
meta: { title: '物管理', icon: 'object-mgr' },
alwaysShow: true,
children: [
{
menuId: 'ObjectModel',
path: 'object-model',
name: '物模型',
component: () => import('@/views/dataset-management/mine-dataset'),
meta: { title: '物模型', icon: 'object-model' }
},
{
menuId: 'DatasetMgrMine',
path: 'object-instance',
name: '物实例',
component: () => import('@/views/dataset-management/mine-dataset'),
meta: { title: '物实例', icon: 'object-instance' }
}
]
}
export default router
import Common from '@/layout/common/index'
const router = {
menuId: 'ObjectVisible',
path: '/object-visible',
name: '物可视',
component: Common,
redirect: '/object-visible/dashboard',
meta: { title: '物可视', icon: 'object-visible' },
alwaysShow: true,
children: [
{
menuId: 'DashBoard',
path: 'dashboard',
name: '仪表盘',
component: () => import('@/views/dataset-management/mine-dataset'),
meta: { title: '仪表盘', icon: 'dashboard' }
}
]
}
export default router
......@@ -9,6 +9,8 @@
:key="index"
:prop="column.prop"
:label="column.label"
min-width="200"
show-overflow-tooltip
>
<template slot="header">
<div v-if="!column.edit">
......@@ -53,6 +55,21 @@
<script>
export default {
name: 'PreSetData',
props: {
results: {
type: Object,
default: () => {
return {
data: [],
errors: [],
meta: {
fields: [],
delimiter: ''
}
}
}
}
},
data() {
return {
data: [],
......@@ -154,26 +171,16 @@ export default {
}
},
created() {
this.data = [
{
id: 1,
name: 'Tom Hanks',
birthday: '1968-06-9',
gender: 1,
education: 1,
telephone: '18790908766',
address: 'St1. Ca. USA'
}
]
for (const key in this.data[0]) {
this.data = this.results.data
this.results.meta.fields.forEach(v => {
this.dataHeader.push({
label: key,
prop: key,
label: v,
prop: v,
checked: true,
edit: false,
type: 14
})
}
})
},
methods: {
prev() {
......
......@@ -58,6 +58,7 @@
</template>
<script>
import Papa from 'papaparse'
export default {
name: 'UploadData',
data() {
......@@ -86,7 +87,14 @@ export default {
code: [
{ required: true, message: '请选择编码格式', trigger: 'change' }
]
}
},
delimiterType: {
1: ',',
2: ' ',
3: ';',
4: null
},
results: {}
}
},
computed: {
......@@ -112,10 +120,23 @@ export default {
params.delimiter = null
}
this.$refs.form.validate()
.then(_ => this.$emit('next', params))
.then(_ => this.$emit('next', {
type: 'upload-data',
params,
results: this.results
}))
.catch(_ => {})
},
beforeUpload(file) {
Papa.parse(file, {
delimiter: this.delimiterType[this.form.delimiterType],
header: this.form.header === 1,
encoding: (this.form.code === 1) ? 'utf-8' : 'gbk',
complete: (results) => {
console.log(results)
this.results = results
}
})
this.form.uploadData = file.name
},
httpRequest() {}
......
......@@ -19,6 +19,7 @@
/>
<pre-set-data
v-if="active === 1"
:results="results"
@prev="onPrev"
@next="onNext"
/>
......@@ -71,7 +72,8 @@ export default {
return {
active: 0,
datasetName: '',
datasetId: ''
datasetId: '',
results: {}
}
},
created() {
......@@ -86,7 +88,9 @@ export default {
this.$router.go(-1)
},
onNext(data) {
console.log(data)
if (data.type === 'upload-data') {
this.results = data.results
}
this.active++
},
onPrev() {
......
......@@ -56,6 +56,12 @@
<el-col :span="12" style="height: 500px">
<div id="line" style="background-color: #fff" />
</el-col>
<el-col :span="12" style="height: 500px">
<chart width="100%" height="100%"/>
</el-col>
<el-col :span="12" style="height: 500px">
<g2-line />
</el-col>
</el-row>
</div>
</template>
......@@ -63,9 +69,15 @@
<script>
import { Line, Gauge, MeterGauge, FanGauge } from '@antv/g2plot'
import { getLineData, getOverviewData } from '@/api/overview/overview'
import Chart from '@/components/Charts/LineMarker'
import G2Line from '@/components/G2Plot/G2Line'
export default {
name: 'Overview',
components: {
Chart,
G2Line
},
data() {
return {
circleUrl: 'https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png',
......@@ -99,10 +111,10 @@ export default {
mask: 'HH:mm:ss'
}
})
this.timer = setInterval(() => {
this.count++
this.updateData()
}, 1000)
// this.timer = setInterval(() => {
// this.count++
// this.updateData()
// }, 1000)
this.line.render()
this.gaugePlot = new Gauge(document.getElementById('gaugePlot'), {
value: 64,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment