Commit 6b0df6da authored by xiexingan's avatar xiexingan

Merge branch 'dev' of gitlab.suntrayoa.com:geqilin/energyai_vue into dev

parents 63a7bab0 870a0e85
...@@ -11,7 +11,8 @@ CONFIG.TITLE = 'AI节能管理系统' ...@@ -11,7 +11,8 @@ CONFIG.TITLE = 'AI节能管理系统'
CONFIG.requestPath = 'http://59.110.43.122:8046' CONFIG.requestPath = 'http://59.110.43.122:8046'
// 文件上传 // 文件上传
CONFIG.urlPath = 'http://10.20.72.33/' // CONFIG.urlPath = 'http://10.20.72.33/'
CONFIG.urlPath = 'http://59.110.43.122/'
// BIM // BIM
CONFIG.bimPath = 'http://10.20.2.98:8066/' CONFIG.bimPath = 'http://10.20.2.98:8066/'
<template> <template>
<div class="d2-layout-header-aside-group" :style="styleLayoutMainGroup" :class="{ grayMode: grayActive }"> <div
class="d2-layout-header-aside-group"
:style="styleLayoutMainGroup"
:class="{ grayMode: grayActive }"
>
<!-- 半透明遮罩 --> <!-- 半透明遮罩 -->
<div class="d2-layout-header-aside-mask"></div> <div class="d2-layout-header-aside-mask"></div>
<!-- 主体内容 --> <!-- 主体内容 -->
<div class="d2-layout-header-aside-content" flex="dir:top"> <div class="d2-layout-header-aside-content" flex="dir:top">
<!-- 顶栏 --> <!-- 顶栏 -->
<div class="d2-theme-header" flex-box="0" flex> <div class="d2-theme-header" flex-box="0" flex>
<div class="logo-group" :style="{width: asideWidth}" flex-box="0"> <div class="logo-group" :style="{ width: asideWidth }" flex-box="0">
<img src="./imgs/train.png"> <img src="./imgs/train.png" />
<img src="./imgs/logo2x.png"> <img src="./imgs/logo2x.png" />
</div> </div>
<div style='width:100%;'> <div style="width: 100%">
<div flex-box="1"></div> <div flex-box="1"></div>
<!-- 顶栏右侧 --> <!-- 顶栏右侧 -->
<div class="d2-header-right"> <div class="d2-header-right">
...@@ -41,7 +45,12 @@ ...@@ -41,7 +45,12 @@
</div> </div>
</el-badge> --> </el-badge> -->
<d2-header-user /> <d2-header-user />
<div title="退出" class="msg-img" style="cursor: pointer;" @click="logOff"> <div
title="退出"
class="msg-img"
style="cursor: pointer"
@click="logOff"
>
<img src="./imgs/out.png" /> <img src="./imgs/out.png" />
</div> </div>
</div> </div>
...@@ -50,10 +59,15 @@ ...@@ -50,10 +59,15 @@
<!-- 下面 主体 --> <!-- 下面 主体 -->
<div class="d2-theme-container" flex-box="1" flex> <div class="d2-theme-container" flex-box="1" flex>
<!-- 主体 侧边栏 --> <!-- 主体 侧边栏 -->
<div flex-box="0" ref="aside" class="d2-theme-container-aside" :style="{ <div
width:asideWidth, flex-box="0"
ref="aside"
class="d2-theme-container-aside"
:style="{
width: asideWidth,
opacity: this.searchActive ? 0.5 : 1 opacity: this.searchActive ? 0.5 : 1
}"> }"
>
<d2-menu-side /> <d2-menu-side />
</div> </div>
<!-- 主体 --> <!-- 主体 -->
...@@ -72,8 +86,8 @@ ...@@ -72,8 +86,8 @@
</transition> </transition>
</div> </div>
</div> </div>
<div style="z-index:9999!important;user-select:none;" class="mfooter"> <div style="z-index: 9999 !important; user-select: none" class="mfooter">
Copyright (C) 2009-2010. XXXXX信息工程有限公司 蜀ICP备1202XXXX号-1 Copyright (C) 2021-2022. XXXXX信息工程有限公司 蜀ICP备1202XXXX号-1
电话:86-028-689XXXX 传真:86-028-6893XXXX 电话:86-028-689XXXX 传真:86-028-6893XXXX
</div> </div>
</div> </div>
...@@ -92,7 +106,6 @@ export default { ...@@ -92,7 +106,6 @@ export default {
'd2-menu-header': () => import('./components/menu-header'), 'd2-menu-header': () => import('./components/menu-header'),
'd2-header-theme': () => import('./components/header-theme'), 'd2-header-theme': () => import('./components/header-theme'),
'd2-header-user': () => import('./components/header-user') 'd2-header-user': () => import('./components/header-user')
}, },
data() { data() {
return { return {
...@@ -223,7 +236,7 @@ export default { ...@@ -223,7 +236,7 @@ export default {
.time-container { .time-container {
width: 93px; width: 93px;
text-align: center; text-align: center;
// border:1px solid red; // border:1px solid red;
padding: 2px; padding: 2px;
.current-time { .current-time {
font-size: 18px; font-size: 18px;
...@@ -256,8 +269,8 @@ export default { ...@@ -256,8 +269,8 @@ export default {
line-height: 37px; line-height: 37px;
text-align: center; text-align: center;
font-size: 14px; font-size: 14px;
color: #A0A8B4; color: #a0a8b4;
border: 1px solid #A0A8B4; border: 1px solid #a0a8b4;
border-radius: 50%; border-radius: 50%;
img { img {
width: 37px; width: 37px;
...@@ -269,8 +282,8 @@ export default { ...@@ -269,8 +282,8 @@ export default {
.weather-info { .weather-info {
width: 90px; width: 90px;
height: 36px; height: 36px;
border:1px solid; border: 1px solid;
border-color: #A0A8B4 #A0A8B4 #A0A8B4 transparent; border-color: #a0a8b4 #a0a8b4 #a0a8b4 transparent;
border-top-right-radius: 5px; border-top-right-radius: 5px;
border-bottom-right-radius: 5px; border-bottom-right-radius: 5px;
transform: translateX(-19px); transform: translateX(-19px);
...@@ -311,7 +324,7 @@ export default { ...@@ -311,7 +324,7 @@ export default {
} }
// 注册主题 // 注册主题
@import "~@/assets/style/theme/register.scss"; @import '~@/assets/style/theme/register.scss';
// 左上角logo // 左上角logo
.d2-layout-header-aside-group .d2-layout-header-aside-group
.d2-layout-header-aside-content .d2-layout-header-aside-content
......
...@@ -20,26 +20,41 @@ ...@@ -20,26 +20,41 @@
<!-- </el-date-picker> --> <!-- </el-date-picker> -->
<!-- <i style=" padding-left:20px;padding-right: 20px;color:#21acfc" class="el-icon-s-unfold"></i> --> <!-- <i style=" padding-left:20px;padding-right: 20px;color:#21acfc" class="el-icon-s-unfold"></i> -->
<!-- <i class="el-icon-printer" style="color:#21acfc"></i> --> <!-- <i class="el-icon-printer" style="color:#21acfc"></i> -->
<el-button size="mini" type="primary" @click="toPowerPage">图形/列表</el-button> <el-button size="mini" type="primary" @click="toPowerPage"
>图形/列表</el-button
>
</div> </div>
<div slot="content" style='height:calc(100% - 70px)'> <div slot="content" style="height: calc(100% - 70px)">
<div> <div>
<!-- <enTabs :tabList="energyTabList"></enTabs> --> <!-- <enTabs :tabList="energyTabList"></enTabs> -->
<el-tabs class="en-tabs" v-model="activetap"> <el-tabs class="en-tabs" v-model="activetap">
<el-row style="padding-top:15px"> <el-row style="padding-top: 15px">
<el-col :span="10"> <el-col :span="10">
<span>时间范围:</span> <span>时间范围:</span>
<el-date-picker size="mini" type="daterange" range-separator="~" start-placeholder="开始日期" end-placeholder="结束日期"> <el-date-picker
size="mini"
type="daterange"
range-separator="~"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker> </el-date-picker>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-button type="primary" size="mini" icon="el-icon-search">查询</el-button> <el-button type="primary" size="mini" icon="el-icon-search"
>查询</el-button
>
</el-col> </el-col>
</el-row> </el-row>
<el-tab-pane :label="item.label" :name="item.value" v-for="(item, index) in energyTabList" :key="index"></el-tab-pane> <el-tab-pane
:label="item.label"
:name="item.value"
v-for="(item, index) in energyTabList"
:key="index"
></el-tab-pane>
</el-tabs> </el-tabs>
</div> </div>
<div style='height:calc(100% - 70px)'> <div style="height: calc(100% - 70px)">
<energyChart></energyChart> <energyChart></energyChart>
</div> </div>
</div> </div>
...@@ -96,11 +111,27 @@ export default { ...@@ -96,11 +111,27 @@ export default {
}, },
{ {
value: '03', value: '03',
label: '多联空调' label: '机房空调(220V)'
}, },
{ {
value: '04', value: '04',
label: ' 多联新风' label: '机房空调(380V)'
},
{
value: '05',
label: '风幕机'
},
{
value: '06',
label: '风冷热泵机组'
},
{
value: '07',
label: '室内机风柜'
},
{
value: '08',
label: '多联室外机'
} }
] ]
} }
......
<template lang='pug'> <template lang="pug">
#pie3(:style="{ width: '100%', height: '90%'}") #pie3(:style="{ width: '100%', height: '90%'}")
</template> </template>
...@@ -13,7 +13,6 @@ export default { ...@@ -13,7 +13,6 @@ export default {
if (!dom) return if (!dom) return
let myCharts = this.$echarts.init(dom) let myCharts = this.$echarts.init(dom)
let option = { let option = {
tooltip: { tooltip: {
trigger: 'item' trigger: 'item'
}, },
...@@ -26,13 +25,24 @@ export default { ...@@ -26,13 +25,24 @@ export default {
type: 'pie', type: 'pie',
radius: '50%', radius: '50%',
data: [ data: [
{ value: 1048, name: '搜索引擎', itemStyle: { color: 'skyblue' } }, {
{ value: 735, name: '直接访问', itemStyle: { color: '#F2637B' } }, value: 1048,
{ value: 580, name: '邮件营销', itemStyle: { color: '#8EE0E0' } }, name: '风冷热泵机组',
{ value: 484, name: '联盟广告', itemStyle: { color: '#4ECB74' } }, itemStyle: { color: 'skyblue' }
{ value: 300, name: '视频广告', itemStyle: { color: '#FFCC00' } } },
{
value: 735,
name: '室内机风柜',
itemStyle: { color: '#F2637B' }
},
{ value: 580, name: '水泵', itemStyle: { color: '#8EE0E0' } },
{
value: 484,
name: '多联室内机',
itemStyle: { color: '#4ECB74' }
},
{ value: 300, name: '排风机', itemStyle: { color: '#FFCC00' } }
] ]
} }
] ]
} }
...@@ -42,5 +52,4 @@ export default { ...@@ -42,5 +52,4 @@ export default {
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped></style>
</style>
<template lang='pug'> <template lang="pug">
#pie4(:style="{ width: '100%', height: '90%' }") #pie4(:style="{ width: '100%', height: '90%' }")
</template> </template>
...@@ -118,5 +118,4 @@ export default { ...@@ -118,5 +118,4 @@ export default {
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped></style>
</style>
...@@ -73,7 +73,11 @@ export default { ...@@ -73,7 +73,11 @@ export default {
} }
} }
}, },
color: ['rgba(72,154,254,1)', 'rgba(247,243,204,1)', 'rgba(236,73,104,1)'], color: [
'rgba(72,154,254,1)',
'rgba(247,243,204,1)',
'rgba(236,73,104,1)'
],
series: [ series: [
{ {
name: '访问来源', name: '访问来源',
...@@ -88,7 +92,7 @@ export default { ...@@ -88,7 +92,7 @@ export default {
show: true, show: true,
position: 'center', position: 'center',
formatter: function () { formatter: function () {
return `调查总数\r\n \r\n20000` return `\r\n20000`
}, },
textStyle: { textStyle: {
fontSize: 30, fontSize: 30,
...@@ -106,7 +110,7 @@ export default { ...@@ -106,7 +110,7 @@ export default {
labelLine: { labelLine: {
show: false show: false
}, },
data: [...data ] data: [...data]
} }
] ]
} }
......
...@@ -16,15 +16,15 @@ ...@@ -16,15 +16,15 @@
<span v-if="index == 0" v-html="item.cardText"></span> <span v-if="index == 0" v-html="item.cardText"></span>
<span v-else-if="index == 1" v-html="item.cardText"></span> <span v-else-if="index == 1" v-html="item.cardText"></span>
<span v-else>{{ item.cardText }}</span> <span v-else>{{ item.cardText }}</span>
<p >{{ item.state }}</p> <p>{{ item.state }}</p>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="home-page-content"> <div class="home-page-content">
<el-row :gutter="12" style='height:100%;'> <el-row :gutter="12" style="height: 100%">
<el-col :span="16" style='height:100%;'> <el-col :span="16" style="height: 100%">
<card-list :cardListTitle="cardListLeftTitle"> <card-list :cardListTitle="cardListLeftTitle">
<div slot="right"> <div slot="right">
<span <span
...@@ -38,11 +38,7 @@ ...@@ -38,11 +38,7 @@
</div> </div>
<div slot="content" class="content-wrap"> <div slot="content" class="content-wrap">
<el-row <el-row :gutter="12" type="flex" justify="center">
:gutter="12"
type="flex"
justify="center"
>
<el-col :span="6"> <el-col :span="6">
<div class="energy-save-mode-wrap" style=""> <div class="energy-save-mode-wrap" style="">
<div class="font-style font_14"> <div class="font-style font_14">
...@@ -95,15 +91,15 @@ ...@@ -95,15 +91,15 @@
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
<div style="height:calc(100% - 130px);"> <div style="height: calc(100% - 130px)">
<energy-total-charts></energy-total-charts> <energy-total-charts></energy-total-charts>
</div> </div>
</div> </div>
</card-list> </card-list>
</el-col> </el-col>
<el-col :span="8" style="padding-left: 0;height:100%;"> <el-col :span="8" style="padding-left: 0; height: 100%">
<card-list :cardListTitle="cardListRightTitle"> <card-list :cardListTitle="cardListRightTitle">
<div slot="content" style='height:100%;'> <div slot="content" style="height: 100%">
<my-pies></my-pies> <my-pies></my-pies>
</div> </div>
</card-list> </card-list>
...@@ -143,23 +139,21 @@ export default { ...@@ -143,23 +139,21 @@ export default {
}, },
{ {
iconUrl: require('./image/sun_icon.png'), iconUrl: require('./image/sun_icon.png'),
cardDesc: '供暖模式', cardDesc: '办公区域供暖模式',
cardText: '办公区域供暖模式', cardText: '',
state: '开启' state: '开启'
}, },
{ {
iconUrl: require('./image/fan_icon.png'), iconUrl: require('./image/fan_icon.png'),
cardDesc: '机械通风模式', cardDesc: '办公区域机械通风模式',
cardText: '办公区域机械通风模式', cardText: '',
state: '已开启' state: '开启'
}, },
{ {
iconUrl: require('./image/nan_fan_icon.png'), iconUrl: require('./image/nan_fan_icon.png'),
cardDesc: '自然通风模式', cardDesc: '办公区域自然通风模式',
cardText: '办公区域自然通风模式', cardText: '',
state: '已开启' state: '开启'
} }
], ],
dateList: [ dateList: [
...@@ -196,7 +190,7 @@ export default { ...@@ -196,7 +190,7 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
@import '~@/assets/style/public.scss'; @import '~@/assets/style/public.scss';
.home-page { .home-page {
height:calc(100vh - 155px); height: calc(100vh - 155px);
width: 100%; width: 100%;
&-top { &-top {
margin: 20px; margin: 20px;
......
...@@ -3,12 +3,14 @@ ...@@ -3,12 +3,14 @@
<cardList cardListTitle="用电数据"> <cardList cardListTitle="用电数据">
<div slot="right"> <div slot="right">
<!-- <i class="el-icon-menu"></i> --> <!-- <i class="el-icon-menu"></i> -->
<el-button size="mini" @click="toEnergyPage" type="primary">综合图形</el-button> <el-button size="mini" @click="toEnergyPage" type="primary"
>综合图形</el-button
>
</div> </div>
<div slot="content"> <div slot="content">
<!-- <enTabs ></enTabs> --> <!-- <enTabs ></enTabs> -->
<div> <div>
<el-tabs class="en-tabs" v-model="activeTab" > <el-tabs class="en-tabs" v-model="activeTab">
<el-tab-pane <el-tab-pane
:label="item.label" :label="item.label"
:name="item.value" :name="item.value"
...@@ -55,8 +57,10 @@ ...@@ -55,8 +57,10 @@
:isShowOp="true" :isShowOp="true"
isShowPage="true" isShowPage="true"
> >
<template v-slot:operation='scope'> <template v-slot:operation="scope">
<el-button type="text" @click="openHistoryHandle">历史数据</el-button> <el-button type="text" @click="openHistoryHandle"
>历史数据</el-button
>
<el-button type="text" @click="openPicTHandle">统计图表</el-button> <el-button type="text" @click="openPicTHandle">统计图表</el-button>
</template> </template>
</enTable> </enTable>
...@@ -72,215 +76,148 @@ ...@@ -72,215 +76,148 @@
></statistic-pic-table-modal> ></statistic-pic-table-modal>
</div> </div>
</template> </template>
<script > <script>
import cardList from "../../components/cardList"; import cardList from '../../components/cardList'
import enTabs from "../../components/enTabs"; import enTabs from '../../components/enTabs'
import enTable from "../../components/enTable"; import enTable from '../../components/enTable'
import historyDataModal from "./components/historyDataModal"; import historyDataModal from './components/historyDataModal'
import statisticPicTableModal from "./components/statisticPicTableModal"; import statisticPicTableModal from './components/statisticPicTableModal'
const tableColums = [ const tableColums = [
{ {
align: "center", align: 'center',
prop: "A", prop: 'A',
label: "设备名称", label: '设备名称',
width: 132, width: 162
}, },
{ {
align: "center", align: 'center',
prop: "G", prop: 'B',
label: "设备编号", label: '设备位置'
width: 132, // width: 182
}, },
{ {
align: "center", align: 'center',
prop: "B", prop: 'C',
label: "设备位置", label: '当日功耗',
width: 112, width: 162
}, },
{ {
align: "center", align: 'center',
prop: "C", prop: 'D',
label: "当日功耗", label: '当月功耗',
width: 132, width: 162
}, },
{ {
align: "center", align: 'center',
prop: "D", prop: 'E',
label: "当月功耗", label: '设备状态',
width: 132, width: 152
}, },
{ {
align: "center", align: 'center',
prop: "E", prop: 'F',
label: "设备状态", label: '设备编号',
}, width: 152
]; }
]
const tableData = [ const tableData = [
{ {
A: "A", A: '设备1',
B: "YA01254N51", B: '左侧办公房屋',
C: "正常", C: '11',
D: "110Hz", D: '1100',
E: "", E: '开启',
F: "说明", F: 'QY0001'
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
},
{
A: "A",
B: "YA01254N51",
C: "正常",
D: "110Hz",
E: "",
F: "说明",
G: "QY0001",
}, },
{ {
A: "A", A: '设备2',
B: "YA01254N51", B: '左侧办公房屋',
C: "正常", C: '11',
D: "110Hz", D: '1100',
E: "", E: '开启',
F: "说明", F: 'QY0002'
G: "QY0001", }
}, ]
];
export default { export default {
name: "useElectroData", name: 'useElectroData',
components: { components: {
cardList, cardList,
enTabs, enTabs,
enTable, enTable,
historyDataModal, historyDataModal,
statisticPicTableModal, statisticPicTableModal
}, },
data() { data() {
return { return {
activeTab: "01", activeTab: '01',
historyDataModalVisible: false, historyDataModalVisible: false,
statisticModalVisible: false, statisticModalVisible: false,
tableColums, tableColums,
tableData, tableData,
electroTabList: [ electroTabList: [
{ {
value: "01", value: '01',
label: "全部", label: '全部'
},
{
value: '02',
label: '排风机'
},
{
value: '03',
label: '机房空调(220V)'
}, },
{ {
value: "02", value: '04',
label: "排风机", label: '机房空调(380V)'
}, },
{ {
value: "03", value: '05',
label: "多联空调", label: '风幕机'
}, },
{ {
value: "04", value: '06',
label: "多联新风", label: '风冷热泵机组'
}, },
], {
}; value: '07',
label: '室内机风柜'
},
{
value: '08',
label: '多联室外机'
}
]
}
}, },
methods: { methods: {
cancelhandle() { cancelhandle() {
this.$nextTick(() => { this.$nextTick(() => {
this.historyDataModalVisible = false; this.historyDataModalVisible = false
}); })
}, },
cancelhandlePic() { cancelhandlePic() {
this.$nextTick(() => { this.$nextTick(() => {
this.statisticModalVisible = false; this.statisticModalVisible = false
}); })
}, },
openHistoryHandle(){ openHistoryHandle() {
this.historyDataModalVisible = true; this.historyDataModalVisible = true
}, },
openPicTHandle(){ openPicTHandle() {
this.$nextTick(()=>{ this.$nextTick(() => {
this.statisticModalVisible = true; this.statisticModalVisible = true
}) })
}, },
toEnergyPage(){ toEnergyPage() {
this.$router.push({ this.$router.push({
path:'/analysis/energy' path: '/analysis/energy'
}) })
}, }
}, }
}; }
</script> </script>
<style lang="scss"> <style lang="scss">
.use-electro-data { .use-electro-data {
...@@ -290,5 +227,4 @@ export default { ...@@ -290,5 +227,4 @@ export default {
margin-top: 15px; margin-top: 15px;
} }
} }
</style> </style>
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
el-col(:span='24' ) el-col(:span='24' )
el-checkbox(v-model="formLogin.remember" checked) 记住密码 el-checkbox(v-model="formLogin.remember" checked) 记住密码
el-button(size="default" @click="submit" class='login-btn' :loading="loginLoad") 立即登录 el-button(size="default" @click="submit" class='login-btn' :loading="loginLoad") 立即登录
div.lFooter() Copyright (C) 2009-2010. XXXXX信息工程有限公司 蜀ICP备1202XXXX号-1 电话:86-028-6893XXXX 传真:86-028-6893XXXX div.lFooter() Copyright (C) 2021-2022. XXXXX信息工程有限公司 蜀ICP备1202XXXX号-1 电话:86-028-6893XXXX 传真:86-028-6893XXXX
</template> </template>
<script> <script>
......
<template lang='pug'>
el-container(style="padding:0px;height:77.6vh;")
el-header(style='height:42px;line-height:42px;border: 1px solid rgba(195, 195, 195, 1);background: #f4f4f4;')
span.title-bold.title-left-color() 历史指令
<el-popover placement="bottom" width="150" >
<el-button slot="reference" size='mini' type="primary" icon="el-icon-s-tools" style='float:right;transform:translateY(6px)'> 筛选</el-button>
<el-checkbox-group v-model="checkList">
<el-col :span="24">
<el-checkbox v-for="(item,index) in tableHeader" :label="item" :key="index" >
span {{item.label}}
</el-checkbox>
</el-col>
</el-checkbox-group>
</el-popover>
el-main.box_main
el-card()
div.tableCard()
el-form( :inline="true" :model="dataForm" size="mini" @keyup.enter.native="getDataList()" )
el-form-item( label="关键词:")
el-input( v-model="dataForm.comMark" placeholder="" clearable)
el-form-item( label="指令类型:")
el-select( v-model="dataForm.comType" placeholder="请选择" clearable)
el-option( label="自动" value="1")
el-option( label="人工" value="2")
el-form-item( label="操作时间:")
el-date-picker(type="datetime" value-format="yyyy-MM-dd HH:mm:ss" style="width:175px;" v-model="dataForm.startTime" placeholder="选择开始时间" clearable)
el-form-item( label="至")
el-date-picker( type="datetime" value-format="yyyy-MM-dd HH:mm:ss" style="width:175px;" v-model="dataForm.endTime" placeholder="选择结束时间" clearable)
el-button( type="primary" size='mini' icon="el-icon-search" @click="getDataList()") 查询
el-button(@click="reSet()" size='mini' type="primary" icon="el-icon-refresh-right") 重置
//- <drag-table :data="dataList" :header="checkList" :option="tableOption" @getDataList="getDataList" v-loading="dataListLoading" :operationNum="3" :isShowOperate="true">
<drag-table :data="dataList" :header="checkList" :option="tableOption" @getDataList="getDataList" v-loading="dataListLoading" >
//- -- 插槽
<el-table-column slot="fixed" fixed prop="" label="序号" width="80" header-align="center" align="center" >
<template slot-scope="scope">
span {{scope.$index+(pageIndex - 1) * pageSize + 1}}
</template>
</el-table-column>
//- 操作项
<template slot-scope="scope">
<el-button class="el-table-btn" type="text">编辑</el-button>
<el-button class="el-table-btn" type="text">查看</el-button>
<el-button class="el-table-btn" type="text">相关用户</el-button>
</template>
</drag-table>
el-footer.box_footer
el-pagination(@size-change="sizeChangeHandle" background @current-change="currentChangeHandle" :current-page="pageIndex" :page-sizes="[10, 20, 50, 100]" :page-size="pageSize" :total="totalPage" layout="total, sizes, prev, pager, next, jumper")
</template>
<script>
import Sortable from 'sortablejs'
import dragTable from '../../components/tab'
let that
export default {
filters: {
ellipsis (value) {
if (!value) return ''
if (value.length > 12) {
return value.slice(0, 12) + '...'
}
return value
}
},
data () {
return {
checkList: [], //筛选数据
tableHeader: [
{ label: '操作员', prop: 'username' }, //是否插槽
{ label: '来源', prop: 'ip' },
{ label: '指令类型', prop: 'operation' },
{ label: '操作时间', prop: 'createDate' },
{ label: '指令内容', prop: 'detail' }
// {label:'操作',prop:''},
],
tableOption: {
border: false, //是否边框
maxHeight: 500 //高度
},
dataForm: {
comMark: '',
comType: null,
startTime: '',
endTime: ''
},
dataList: [],
pageIndex: 1,
pageSize: 10,
totalPage: 0,
dataListLoading: false
}
},
components: {
dragTable
},
watch: {
totalPage() { //注意这个函数的名字必须和你监听data中的属性的名字一样,这样才能当你data中的属性发生变化时,触发这个函数
let pages = Math.ceil(this.totalPage / this.pageSize)//新数据总页数
//总页数小于当前页数则重新加载列表数据
if (pages < this.pageIndex) {
this.pageIndex = pages || 1
this.getDataList()//获取表格数据的方法
}
}
},
created () {
that = this
this.pageIndex = 1
this.getDataList()
},
mounted() {
this.checkList = [...this.tableHeader]
},
methods: {
toLine(name) {
return name.replace(/([A-Z])/g, '_$1').toLowerCase()
},
//重置
reSet() {
this.dataForm = {}
this.pageIndex = 1
this.getDataList()
},
// 获取数据列表
getDataList (sort, order) {
// console.log(sort,'---',order)
this.dataListLoading = true
this.$http({
url: this.$http.adornUrl('/sysCommandLog/pageList'),
method: 'post',
data: {
comMark: this.dataForm.comMark,
comType: this.dataForm.comType,
startTime: this.dataForm.startTime,
endTime: this.dataForm.endTime
}
}).then(data => {
//console.log('data', data)
if (data && data.code === 0) {
this.dataList = data.page.rows
// console.log(this.dataList)
this.totalPage = data.page.total
} else {
this.dataList = []
this.totalPage = 0
}
this.dataListLoading = false
})
},
//排序
sortChange (column) {
if (column.order === 'descending') {
this.order = 'desc'
} else {
this.order = 'asc'
}
if (column.column.columnKey) {
this.sort = column.column.columnKey
} else {
this.sort = column.prop
}
this.getDataList()
},
// 每页数
sizeChangeHandle (val) {
this.pageSize = val
this.pageIndex = 1
this.getDataList()
},
// 当前页
currentChangeHandle (val) {
this.pageIndex = val
this.getDataList()
}
}
}
</script>
...@@ -145,12 +145,12 @@ export default { ...@@ -145,12 +145,12 @@ export default {
// console.log(data) // console.log(data)
this.dataForm = data.user || {} this.dataForm = data.user || {}
this.dataForm.stationId = localStorage.getItem('stationId') this.dataForm.stationId = localStorage.getItem('stationId')
this.allJob.map(item => { this.allJob.map((item) => {
if (item.id === this.dataForm.job) { if (item.id === this.dataForm.job) {
this.dataForm.jobName = item.name this.dataForm.jobName = item.name
} }
}) })
this.nations.map(item => { this.nations.map((item) => {
if (item.id.toString() === this.dataForm.nation) { if (item.id.toString() === this.dataForm.nation) {
this.dataForm.nationName = item.name this.dataForm.nationName = item.name
} }
...@@ -192,7 +192,7 @@ export default { ...@@ -192,7 +192,7 @@ export default {
//获取民族信息 //获取民族信息
getNation() { getNation() {
this.$http({ this.$http({
url: this.$http.adornUrl('/emPerson/getAllNation'), url: this.$http.adornUrl('/sys/user/getAllNation'),
method: 'get' method: 'get'
}).then((data) => { }).then((data) => {
// console.log("data", data); // console.log("data", data);
......
...@@ -73,6 +73,7 @@ const frameIn = [ ...@@ -73,6 +73,7 @@ const frameIn = [
{ path: 'admin', name: `${pre}admin`, component: () => import('@/pages/sys/user'), meta: { ...meta, title: '用户管理' } }, { path: 'admin', name: `${pre}admin`, component: () => import('@/pages/sys/user'), meta: { ...meta, title: '用户管理' } },
{ path: 'role', name: `${pre}role`, component: () => import('@/pages/sys/role'), meta: { ...meta, title: '角色管理' } }, { path: 'role', name: `${pre}role`, component: () => import('@/pages/sys/role'), meta: { ...meta, title: '角色管理' } },
{ path: 'logs', name: `${pre}logs`, component: () => import('@/pages/sys/logs'), meta: { ...meta, title: '系统日志' } }, { path: 'logs', name: `${pre}logs`, component: () => import('@/pages/sys/logs'), meta: { ...meta, title: '系统日志' } },
{ path: 'commandlog', name: `${pre}commandlog`, component: () => import('@/pages/sys/commandlog'), meta: { ...meta, title: '历史指令' } },
{ path: 'point', name: `${pre}point`, component: () => import('@/pages/sys/point'), meta: { ...meta, title: '资源点管理' } }, { path: 'point', name: `${pre}point`, component: () => import('@/pages/sys/point'), meta: { ...meta, title: '资源点管理' } },
{ path: 'road', name: `${pre}road`, component: () => import('@/pages/sys/road'), meta: { ...meta, title: '线路站点管理' } }, { path: 'road', name: `${pre}road`, component: () => import('@/pages/sys/road'), meta: { ...meta, title: '线路站点管理' } },
{ path: 'parameter', name: `${pre}parameter`, component: () => import('@/pages/sys/parameter'), meta: { ...meta, title: '系统参数设置' } }, { path: 'parameter', name: `${pre}parameter`, component: () => import('@/pages/sys/parameter'), meta: { ...meta, title: '系统参数设置' } },
......
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