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 ...@@ -94,15 +94,18 @@ export const constantRoutes = routes
* asyncRoutes * asyncRoutes
* the routes that need to be dynamically loaded based on user roles * the routes that need to be dynamically loaded based on user roles
*/ */
// 数据管理
import datasetManagement from './modules/datasetManagement'
// 系统管理 // 系统管理
import systemManagement from './modules/systemManagement' import systemManagement from './modules/systemManagement'
// 租户管理 // 租户管理
import tenantManagement from './modules/tenantManagement' import tenantManagement from './modules/tenantManagement'
// 物管理
import objectManagement from './modules/objectManagement'
// 物可视
import objectVisible from './modules/objectVisibleManagement'
export const asyncRoutes = [ export const asyncRoutes = [
datasetManagement, objectManagement,
objectVisible,
systemManagement, systemManagement,
tenantManagement, tenantManagement,
// 404 page must be placed at the end !!! // 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 @@ ...@@ -9,6 +9,8 @@
:key="index" :key="index"
:prop="column.prop" :prop="column.prop"
:label="column.label" :label="column.label"
min-width="200"
show-overflow-tooltip
> >
<template slot="header"> <template slot="header">
<div v-if="!column.edit"> <div v-if="!column.edit">
...@@ -53,6 +55,21 @@ ...@@ -53,6 +55,21 @@
<script> <script>
export default { export default {
name: 'PreSetData', name: 'PreSetData',
props: {
results: {
type: Object,
default: () => {
return {
data: [],
errors: [],
meta: {
fields: [],
delimiter: ''
}
}
}
}
},
data() { data() {
return { return {
data: [], data: [],
...@@ -154,26 +171,16 @@ export default { ...@@ -154,26 +171,16 @@ export default {
} }
}, },
created() { created() {
this.data = [ this.data = this.results.data
{ this.results.meta.fields.forEach(v => {
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.dataHeader.push({ this.dataHeader.push({
label: key, label: v,
prop: key, prop: v,
checked: true, checked: true,
edit: false, edit: false,
type: 14 type: 14
}) })
} })
}, },
methods: { methods: {
prev() { prev() {
......
...@@ -58,6 +58,7 @@ ...@@ -58,6 +58,7 @@
</template> </template>
<script> <script>
import Papa from 'papaparse'
export default { export default {
name: 'UploadData', name: 'UploadData',
data() { data() {
...@@ -86,7 +87,14 @@ export default { ...@@ -86,7 +87,14 @@ export default {
code: [ code: [
{ required: true, message: '请选择编码格式', trigger: 'change' } { required: true, message: '请选择编码格式', trigger: 'change' }
] ]
} },
delimiterType: {
1: ',',
2: ' ',
3: ';',
4: null
},
results: {}
} }
}, },
computed: { computed: {
...@@ -112,10 +120,23 @@ export default { ...@@ -112,10 +120,23 @@ export default {
params.delimiter = null params.delimiter = null
} }
this.$refs.form.validate() this.$refs.form.validate()
.then(_ => this.$emit('next', params)) .then(_ => this.$emit('next', {
type: 'upload-data',
params,
results: this.results
}))
.catch(_ => {}) .catch(_ => {})
}, },
beforeUpload(file) { 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 this.form.uploadData = file.name
}, },
httpRequest() {} httpRequest() {}
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
/> />
<pre-set-data <pre-set-data
v-if="active === 1" v-if="active === 1"
:results="results"
@prev="onPrev" @prev="onPrev"
@next="onNext" @next="onNext"
/> />
...@@ -71,7 +72,8 @@ export default { ...@@ -71,7 +72,8 @@ export default {
return { return {
active: 0, active: 0,
datasetName: '', datasetName: '',
datasetId: '' datasetId: '',
results: {}
} }
}, },
created() { created() {
...@@ -86,7 +88,9 @@ export default { ...@@ -86,7 +88,9 @@ export default {
this.$router.go(-1) this.$router.go(-1)
}, },
onNext(data) { onNext(data) {
console.log(data) if (data.type === 'upload-data') {
this.results = data.results
}
this.active++ this.active++
}, },
onPrev() { onPrev() {
......
...@@ -56,6 +56,12 @@ ...@@ -56,6 +56,12 @@
<el-col :span="12" style="height: 500px"> <el-col :span="12" style="height: 500px">
<div id="line" style="background-color: #fff" /> <div id="line" style="background-color: #fff" />
</el-col> </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> </el-row>
</div> </div>
</template> </template>
...@@ -63,9 +69,15 @@ ...@@ -63,9 +69,15 @@
<script> <script>
import { Line, Gauge, MeterGauge, FanGauge } from '@antv/g2plot' import { Line, Gauge, MeterGauge, FanGauge } from '@antv/g2plot'
import { getLineData, getOverviewData } from '@/api/overview/overview' import { getLineData, getOverviewData } from '@/api/overview/overview'
import Chart from '@/components/Charts/LineMarker'
import G2Line from '@/components/G2Plot/G2Line'
export default { export default {
name: 'Overview', name: 'Overview',
components: {
Chart,
G2Line
},
data() { data() {
return { return {
circleUrl: 'https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png', circleUrl: 'https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png',
...@@ -99,10 +111,10 @@ export default { ...@@ -99,10 +111,10 @@ export default {
mask: 'HH:mm:ss' mask: 'HH:mm:ss'
} }
}) })
this.timer = setInterval(() => { // this.timer = setInterval(() => {
this.count++ // this.count++
this.updateData() // this.updateData()
}, 1000) // }, 1000)
this.line.render() this.line.render()
this.gaugePlot = new Gauge(document.getElementById('gaugePlot'), { this.gaugePlot = new Gauge(document.getElementById('gaugePlot'), {
value: 64, 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