Commit b98bd069 authored by neogcg's avatar neogcg

3.25

parent 638c4f18
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
"dependencies": { "dependencies": {
"axios": "0.18.1", "axios": "0.18.1",
"core-js": "^3.6.5", "core-js": "^3.6.5",
"echarts": "^5.3.1",
"element-ui": "2.13.2", "element-ui": "2.13.2",
"events": "^3.3.0", "events": "^3.3.0",
"inquirer": "^8.2.0", "inquirer": "^8.2.0",
......
<template> <template>
<div id="app"> <div id="app">
<router-view /> <router-view />
<audio <!-- <audio ref="audio" id="my_audio" src="./assets/audio/19000.wav" controls autoplay hidden="hidden"/> -->
controls="controls" <transition name="tipalerm">
id="my_audio" <div class="tips" v-if="tflag">
src="./assets/audio/alarm.mp3" <p>提示</p>
style="display: none" <span
hidden="hidden" >系统新增{{ msg.count }}<span
/> v-text="msg.type == 1 ? '设备连接' : '漏缆监测'"
<!-- <div class="tips" v-if="tflag"> ></span
<p>提示</p> ><span id="alevel" :style="alevel">{{ msg.level }}</span
<span>有一条新告警</span> >告警消息,请及时查看!</span
</div> --> >
</div>
</transition>
</div> </div>
</template> </template>
...@@ -26,6 +28,10 @@ export default { ...@@ -26,6 +28,10 @@ export default {
return { return {
websocket: null, websocket: null,
tflag: false, tflag: false,
msg: "",
alevel: {
color: "",
},
}; };
}, },
computed: { computed: {
...@@ -44,27 +50,51 @@ export default { ...@@ -44,27 +50,51 @@ export default {
this.websocket.close(); this.websocket.close();
} }
}, },
levelcolor() {
if (this.msg.level == "正常" || this.msg.level == "连接正常") {
this.alevel.color = "green";
} else if (this.msg.level == "紧急" || this.msg.level == "连接异常") {
this.alevel.color = "#f00";
} else if (this.msg.level == "重要") {
this.alevel.color = "#f89850";
} else if (this.msg.level == "一般") {
this.alevel.color = "#ead906";
}
},
}, },
mounted() { mounted() {
// this.websocket = socket({ let audioPlay = document.getElementById("my_audio");
// onmessage: this.receiveMessage, this.websocket = socket({
// }); onmessage: this.receiveMessage,
});
EventBus.$on("dialogAlarm", (data) => { EventBus.$on("dialogAlarm", (data) => {
// 接收消息之后 声音弹窗显示 // 接收消息之后 声音弹窗显示
this.tflag = data; // audioPlay.play();
this.msg = data;
this.levelcolor();
// console.log(data);
this.tflag = true;
setTimeout(() => { setTimeout(() => {
this.tflag = false; this.tflag = false;
}, 3000); }, 3000);
}); });
EventBus.$on("cancelWS", () => { EventBus.$on("cancelWS", () => {
this.websocket.close(); this.websocket.close();
console.log('关闭ws');
}); });
// EventBus.$on("wsOpen", () => { // EventBus.$on("wsOpen", () => {
// this.websocket.onopen(); // audioPlay.play()
// // this.websocket.onopen();
// }); // });
}, },
watch: { watch: {
$route(to, from) {
if (to.path == "/login") {
this.websocket.close();
console.log("在登录页");
}
},
usertoken: { usertoken: {
immediate: true, immediate: true,
handler(newV) { handler(newV) {
...@@ -100,16 +130,24 @@ export default { ...@@ -100,16 +130,24 @@ export default {
// background-color: #bed5ff !important; // background-color: #bed5ff !important;
// } // }
} }
.tipalerm-enter-active {
transition: 0.5s;
}
.tipalerm-enter {
transform: translateX(200px);
}
.tips { .tips {
width: 400px; width: 150px;
height: 80px; height: 120px;
font-size: 14px;
letter-spacing: 1px;
background: #fff; background: #fff;
box-shadow: 0px 2px 14px #888888; box-shadow: 0px 2px 14px #888888;
border-radius: 5px; border-radius: 5px;
padding: 0 20px 20px 20px; padding: 4px 16px 16px 16px;
position: absolute; position: fixed;
text-align: center; text-align: center;
top: calc(50% - 40px); bottom: 0px;
left: calc(50% - 200px); right: 0px;
} }
</style> </style>
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
type="primary" type="primary"
icon="el-icon-s-unfold" icon="el-icon-s-unfold"
size="mini" size="mini"
v-if="isOpen==true" v-if="isOpen == true"
@click="toOpen" @click="toOpen"
>收起</el-button >收起</el-button
> >
...@@ -60,7 +60,7 @@ ...@@ -60,7 +60,7 @@
<script> <script>
import { mapGetters } from "vuex"; import { mapGetters } from "vuex";
import { getTree } from '@/api/baseData' import { getTree } from "@/api/baseData";
export default { export default {
data() { data() {
...@@ -91,33 +91,36 @@ export default { ...@@ -91,33 +91,36 @@ export default {
...mapGetters("tree", ["treeData"]), ...mapGetters("tree", ["treeData"]),
}, },
mounted() { mounted() {
this.getInit() this.getInit();
}, },
methods: { methods: {
toOpen() { toOpen() {
this.isOpen = !this.isOpen this.isOpen = !this.isOpen;
this.openOrNot = false; this.openOrNot = false;
setTimeout(() => { setTimeout(() => {
this.openOrNot = true; this.openOrNot = true;
}, 10); }, 10);
}, },
handleClick(data) { handleClick(data) {
this.$emit('selectItem', data) this.$emit("selectItem", data);
}, },
getInit() { getInit() {
this.loading = true this.loading = true;
getTree().then(res => { getTree().then((res) => {
this.loading = false this.loading = false;
let list = res || [] let list = res || [];
this.data = list this.data = list;
}) if (this.data[0]) {
this.$emit("defaultSite", this.data[0].id);
}
});
}, },
renderContent(h, { node, data, store }) { renderContent(h, { node, data, store }) {
return ( return (
<div> <div>
<span style="padding-right:10px;"> <span style="padding-right:10px;">
<span style={{ marginRight: "5px", fontSize: "16px" }}> <span style={{ marginRight: "5px", fontSize: "16px" }}>
<svg-icon icon-class={data.iconName} /> <svg-icon icon-class={data.iconName} />
</span> </span>
<span style={{ marginRight: "5px", fontSize: "16px" }}> <span style={{ marginRight: "5px", fontSize: "16px" }}>
{node.label} {node.label}
......
...@@ -6,8 +6,7 @@ ...@@ -6,8 +6,7 @@
<Sidebar /> <Sidebar />
<div class="right-menu"> <div class="right-menu">
<el-dropdown class="avatar-container" trigger="click"> <el-dropdown class="avatar-container" trigger="click">
<span class="el-dropdown-link"> <span class="el-dropdown-link">{{userName}}<i class="el-icon-arrow-down el-icon--right"></i>
admin<i class="el-icon-arrow-down el-icon--right"></i>
</span> </span>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item divided @click.native="logout"> <el-dropdown-item divided @click.native="logout">
...@@ -27,12 +26,13 @@ import Breadcrumb from '@/components/Breadcrumb' ...@@ -27,12 +26,13 @@ import Breadcrumb from '@/components/Breadcrumb'
import Hamburger from '@/components/Hamburger' import Hamburger from '@/components/Hamburger'
import Sidebar from './Sidebar/index.vue' import Sidebar from './Sidebar/index.vue'
import { logout } from '@/api/user' import { logout } from '@/api/user'
import { getUserName } from "@/utils/auth";
import EventBus from '@/utils/bus' import EventBus from '@/utils/bus'
export default { export default {
data() { data() {
let timer
return { return {
dateTime: '', dateTime: '',
} }
}, },
components: { components: {
...@@ -44,7 +44,11 @@ export default { ...@@ -44,7 +44,11 @@ export default {
...mapGetters([ ...mapGetters([
'sidebar', 'sidebar',
'avatar' 'avatar'
]) ]),
userName() {
return getUserName()
},
}, },
mounted() { mounted() {
this.nowTimes() this.nowTimes()
...@@ -55,9 +59,9 @@ export default { ...@@ -55,9 +59,9 @@ export default {
}, },
logout() { logout() {
logout().then(() => { logout().then(() => {
EventBus.$emit('cancelWS')
this.$store.dispatch('user/logout') this.$store.dispatch('user/logout')
this.$router.push(`/login`) this.$router.push(`/login`)
EventBus.$emit('cancelWS')
}) })
}, },
......
...@@ -54,7 +54,7 @@ const actions = { ...@@ -54,7 +54,7 @@ const actions = {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
removeToken() // must remove token first removeToken() // must remove token first
removeUserName() // must remove token first removeUserName() // must remove token first
removeUserId() // must remove token first // removeUserId() // must remove token first
resetRouter() resetRouter()
commit("SET_TOKEN", "") commit("SET_TOKEN", "")
commit("SET_BASEINFO", {}) commit("SET_BASEINFO", {})
...@@ -68,7 +68,7 @@ const actions = { ...@@ -68,7 +68,7 @@ const actions = {
return new Promise(resolve => { return new Promise(resolve => {
removeToken() // must remove token first removeToken() // must remove token first
removeUserName() // must remove token first removeUserName() // must remove token first
removeUserId() // must remove token first // removeUserId() // must remove token first
commit('RESET_STATE') commit('RESET_STATE')
resolve() resolve()
}) })
......
...@@ -102,4 +102,10 @@ ...@@ -102,4 +102,10 @@
letter-spacing: 5px; letter-spacing: 5px;
opacity: 1; opacity: 1;
margin-bottom: 20px; margin-bottom: 20px;
} }
\ No newline at end of file /* 自动填充样式修改 */
input:-internal-autofill-previewed,
input:-internal-autofill-selected {
-webkit-text-fill-color: #FFFFFF !important;
transition: background-color 5000s ease-in-out 0s !important;
}
...@@ -13,3 +13,12 @@ export function setToken(token) { ...@@ -13,3 +13,12 @@ export function setToken(token) {
export function removeToken() { export function removeToken() {
return Cookies.remove(TokenKey) return Cookies.remove(TokenKey)
} }
export function setUserName(username){
return Cookies.set('userName',username)
}
export function getUserName(){
return Cookies.get('userName')
}
export function removeUserName(){
return Cookies.remove('userName')
}
...@@ -66,8 +66,8 @@ service.interceptors.response.use( ...@@ -66,8 +66,8 @@ service.interceptors.response.use(
location.href = location.href.replace(/#.+/, '') + '#/login' location.href = location.href.replace(/#.+/, '') + '#/login'
return return
} }
if (code == 501) { if (code == 501 ) {
!config.silence && !errorShowing && Message.error(message) // !config.silence && !errorShowing && Message.error(message)
errorShowing = true errorShowing = true
setTimeout(() => { errorShowing = false }, 3000) setTimeout(() => { errorShowing = false }, 3000)
store.dispatch('user/resetToken') store.dispatch('user/resetToken')
......
...@@ -8,7 +8,7 @@ export default function socket(handlerOptions) { ...@@ -8,7 +8,7 @@ export default function socket(handlerOptions) {
onopen, onopen,
// socketUrl // socketUrl
} = handlerOptions } = handlerOptions
let socketUrl = 'ws://8.142.143.40:8885/websocket/1/1' let socketUrl = 'ws://8.142.143.40:8885/websocket/1'
let websocket let websocket
if ("WebSocket" in window) { if ("WebSocket" in window) {
websocket = new WebSocket(socketUrl) websocket = new WebSocket(socketUrl)
...@@ -57,6 +57,7 @@ function heartCheck(websocket) { ...@@ -57,6 +57,7 @@ function heartCheck(websocket) {
websocket.send("HeartBeat") websocket.send("HeartBeat")
console.info("Websocket发送心跳:HeartBeat") console.info("Websocket发送心跳:HeartBeat")
// } // }
}, this.timeout) }, this.timeout)
}, },
} }
...@@ -64,8 +65,16 @@ function heartCheck(websocket) { ...@@ -64,8 +65,16 @@ function heartCheck(websocket) {
//消息处理 //消息处理
export function receiveMessage(message) { export function receiveMessage(message) {
// 消息接收后处理逻辑 接口访问 // 消息接收后处理逻辑 接口访问
console.log(message, '接收到的信息'); // console.log(message, '接收到的信息');
EventBus.$emit('dialogAlarm', true) if (message != '连接成功') {
// let obj = JSON.parse(message) let obj =JSON.parse( JSON.parse(message))
EventBus.$emit('dialogAlarm', obj)
}
// return obj // return obj
} }
\ No newline at end of file
...@@ -178,6 +178,7 @@ import { exportLeakyCable } from "@/api/export"; ...@@ -178,6 +178,7 @@ import { exportLeakyCable } from "@/api/export";
import search from "@/views/monitor/leakageCable/components/search.vue"; import search from "@/views/monitor/leakageCable/components/search.vue";
import download from "@/utils/download"; import download from "@/utils/download";
import socket from "@/utils/websocket"; import socket from "@/utils/websocket";
import { successAlert, warningAlert } from "@/utils/alert";
export default { export default {
data() { data() {
return { return {
...@@ -206,6 +207,7 @@ export default { ...@@ -206,6 +207,7 @@ export default {
}, },
], ],
isQuery: false, isQuery: false,
istrue: 0,
searchOption: {}, searchOption: {},
exids: [], exids: [],
wsUrl: "ws://8.142.143.40:8885/websocket/1/1", wsUrl: "ws://8.142.143.40:8885/websocket/1/1",
...@@ -221,17 +223,17 @@ export default { ...@@ -221,17 +223,17 @@ export default {
return "important"; return "important";
} else if (row.alarmLevelName == "一般" && column.label == "告警级别") { } else if (row.alarmLevelName == "一般" && column.label == "告警级别") {
return "common"; return "common";
} else if (row.alarmLevelName == "正常" && column.label == "告警级别") {
return "normal";
} }
if (rowIndex % 2 == 1) { if (rowIndex % 2 == 1) {
return "stripe"; return "stripe";
} }
}, },
refresh() { refresh() {
this.searchOption = {}; this.$refs.reset != undefined
if (this.$refs.reset != undefined) { ? this.$refs.reset.reset()
this.$refs.reset.reset(); : this.getTableData();
}
this.getTableData();
}, },
handlePageChange(pageData) { handlePageChange(pageData) {
this.params.size = pageData.size; this.params.size = pageData.size;
...@@ -239,6 +241,7 @@ export default { ...@@ -239,6 +241,7 @@ export default {
this.getTableData(); this.getTableData();
}, },
search(option) { search(option) {
this.istrue = 1;
this.searchOption = option; this.searchOption = option;
this.getTableData(); this.getTableData();
}, },
...@@ -254,6 +257,14 @@ export default { ...@@ -254,6 +257,14 @@ export default {
this.tableData = list; this.tableData = list;
this.total = res.total; this.total = res.total;
this.exids = list.map((i) => i.id); this.exids = list.map((i) => i.id);
if (this.istrue == 1) {
if (this.tableData.length != 0) {
successAlert("查询成功");
} else {
warningAlert("查询结果为空");
}
this.istrue = 0;
}
}); });
}, },
confirm(dialogInfo) { confirm(dialogInfo) {
...@@ -293,9 +304,14 @@ export default { ...@@ -293,9 +304,14 @@ export default {
...this.params, ...this.params,
...this.searchOption, ...this.searchOption,
}; };
exportLeakyCable({ ids: this.exids }).then((res) => { if (this.exids.length == 0) {
download(res, "vnd.ms-excel", `漏缆监测告警.xls`); this.$message.warning("暂无数据");
}); return false;
} else {
exportLeakyCable({ ids: this.exids }).then((res) => {
download(res, "vnd.ms-excel", `漏缆监测告警.xls`);
});
}
}, },
}, },
computed: { computed: {
...@@ -361,6 +377,9 @@ export default { ...@@ -361,6 +377,9 @@ export default {
& ::v-deep .common { & ::v-deep .common {
background-color: #ead906; background-color: #ead906;
} }
& ::v-deep .normal {
background-color: green;
}
.page { .page {
display: flex; display: flex;
align-items: center; align-items: center;
......
...@@ -139,6 +139,7 @@ import { exportConnet } from "@/api/export"; ...@@ -139,6 +139,7 @@ import { exportConnet } from "@/api/export";
import search from "./components/search.vue"; import search from "./components/search.vue";
import download from "@/utils/download"; import download from "@/utils/download";
import socket from "@/utils/websocket"; import socket from "@/utils/websocket";
import { successAlert, warningAlert } from "@/utils/alert";
export default { export default {
data() { data() {
return { return {
...@@ -167,6 +168,7 @@ export default { ...@@ -167,6 +168,7 @@ export default {
}, },
], ],
isQuery: false, isQuery: false,
istrue: 0,
searchOption: {}, searchOption: {},
exids: [], exids: [],
wsUrl: "ws://8.142.143.40:8885/websocket/1/2", wsUrl: "ws://8.142.143.40:8885/websocket/1/2",
...@@ -194,11 +196,9 @@ export default { ...@@ -194,11 +196,9 @@ export default {
} }
}, },
refresh() { refresh() {
this.searchOption = {}; this.$refs.reset != undefined
this.getTableData(); ? this.$refs.reset.reset()
if (this.$refs.reset != undefined) { : this.getTableData();
this.$refs.reset.reset();
}
}, },
handlePageChange(pageData) { handlePageChange(pageData) {
this.params.size = pageData.size; this.params.size = pageData.size;
...@@ -206,6 +206,7 @@ export default { ...@@ -206,6 +206,7 @@ export default {
this.getTableData(); this.getTableData();
}, },
search(option) { search(option) {
this.istrue = 1;
this.searchOption = option; this.searchOption = option;
this.getTableData(); this.getTableData();
}, },
...@@ -219,8 +220,17 @@ export default { ...@@ -219,8 +220,17 @@ export default {
deviceList(param).then((res) => { deviceList(param).then((res) => {
let list = res.records || []; let list = res.records || [];
this.tableData = list; this.tableData = list;
console.log(this.tableData);
this.total = res.total; this.total = res.total;
this.exids = list.map((i) => i.id); this.exids = list.map((i) => i.id);
if (this.istrue == 1) {
if (this.tableData.length != 0) {
successAlert("查询成功");
} else {
warningAlert("查询结果为空");
}
this.istrue = 0;
}
}); });
}, },
confirm2(row) { confirm2(row) {
...@@ -261,9 +271,14 @@ export default { ...@@ -261,9 +271,14 @@ export default {
...this.params, ...this.params,
...this.searchOption, ...this.searchOption,
}; };
exportConnet({ ids: this.exids }).then((res) => { if (this.exids.length == 0) {
download(res, "vnd.ms-excel", `设备连接告警.xls`); this.$message.warning("暂无数据");
}); return false;
} else {
exportConnet({ ids: this.exids }).then((res) => {
download(res, "vnd.ms-excel", `设备连接告警.xls`);
});
}
}, },
}, },
mounted() { mounted() {
......
...@@ -2,8 +2,29 @@ import request from '@/utils/request' ...@@ -2,8 +2,29 @@ import request from '@/utils/request'
const path = { const path = {
treeBaseInfo: '/home/treeBaseInfo', treeBaseInfo: '/home/treeBaseInfo',
railWayOpen: '/railWay/updateIsOpen',
siteOpen: '/site/updateIsOpen',
fsuOpen: '/fsu/updateIsOpen',
monitorEquipOpen: '/monitorEquip/updateIsOpen',
leakyCableOpen: '/leakyCable/updateIsOpen',
} }
export function treeBaseInfo() { export function treeBaseInfo() {
return request.post(path.treeBaseInfo, ...arguments) return request.post(path.treeBaseInfo, ...arguments)
} }
export function railWayOpen() {
return request.post(path.railWayOpen, ...arguments)
}
export function siteOpen() {
return request.post(path.siteOpen, ...arguments)
}
export function fsuOpen() {
return request.post(path.fsuOpen, ...arguments)
}
export function monitorEquipOpen() {
return request.post(path.monitorEquipOpen, ...arguments)
}
export function leakyCableOpen() {
return request.post(path.leakyCableOpen, ...arguments)
}
<template> <template>
<component :is="useEditComponent" :type="type" :curInfo="curInfo" @toUpdate="toUpdate" @cancel="cancel"></component> <component
:is="useEditComponent"
:type="type"
:curInfo="curInfo"
@toUpdate="toUpdate"
@cancel="cancel"
></component>
</template> </template>
<script> <script>
import Type1 from './type1.vue' import Type1 from "./type1.vue";
import Type2 from './type2.vue' import Type2 from "./type2.vue";
import Type3 from './type3.vue' import Type3 from "./type3.vue";
import Type4 from './type4.vue' import Type4 from "./type4.vue";
import Type5 from './type5.vue' import Type5 from "./type5.vue";
export default { export default {
data() { data() {
return {} return {};
}, },
props: { props: {
type: { type: {
type: Number, type: Number,
defualt: null defualt: null,
}, },
curInfo: { curInfo: {
type: Object, type: Object,
default: () => {} default: () => {},
} },
}, },
computed: { computed: {
useEditComponent() { useEditComponent() {
return `Type${this.type}` return `Type${this.type}`;
}, },
}, },
components: { components: {
...@@ -37,11 +43,11 @@ export default { ...@@ -37,11 +43,11 @@ export default {
}, },
methods: { methods: {
toUpdate() { toUpdate() {
this.$emit('toUpdate') this.$emit("toUpdate");
}, },
cancel() { cancel() {
this.$emit('cancel') this.$emit("cancel");
}, },
} },
} };
</script> </script>
\ No newline at end of file
...@@ -4,15 +4,16 @@ export const DetailMixins = { ...@@ -4,15 +4,16 @@ export const DetailMixins = {
data() { data() {
return { return {
form: {}, form: {},
flag: true,
formFunc: null, formFunc: null,
isOpenSelect:[{ isOpenSelect: [{
key: 0, key: 0,
label: "未开通" label: "未开通"
}, },
{ {
key: 1, key: 1,
label: "已开通" label: "已开通"
}] }],
} }
}, },
watch: { watch: {
...@@ -32,13 +33,58 @@ export const DetailMixins = { ...@@ -32,13 +33,58 @@ export const DetailMixins = {
props: { props: {
curInfo: { curInfo: {
type: Object, type: Object,
default: () => {}, default: () => { },
}, },
type: { type: {
type: Number, type: Number,
defualt: null, defualt: null,
}, },
}, },
computed: {
statusList() {
if (this.form.status) {
for (let i = 0; i < this.form.status.length; i++) {
if (i % 2 != 0) {
this.form.status[i].value = this.dateFormat(this.form.status[i].value, 'yyyy-MM-dd HH:mm:ss')
}
}
return this.form.status
}
}
},
methods: { methods: {
info() {
let params = {
id: this.form.baseInfo.id,
isOpen: this.form.baseInfo.isOpen
}
return params
},
editbtn() {
this.flag = false
},
dateFormat(date, format) {
date = new Date(date);
var o = {
'M+': date.getMonth() + 1, //month
'd+': date.getDate(), //day
'H+': date.getHours(), //hour
'm+': date.getMinutes(), //minute
's+': date.getSeconds(), //second
'S': date.getMilliseconds() //millisecond
};
if (/(y+)/.test(format))
format = format.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp('(' + k + ')').test(format))
format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length));
return format;
}
}, },
} }
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<div class="item_name">服务器IP</div> <div class="item_name">服务器IP</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<div class="item_data">192.168.1.110</div> <div class="item_data">{{ form.operateSystem.ip }}</div>
</el-col> </el-col>
</el-row> </el-row>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
...@@ -22,7 +22,9 @@ ...@@ -22,7 +22,9 @@
<div class="item_name">操作系统</div> <div class="item_name">操作系统</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<div class="item_data">Red Hat EnterpiseLin...</div> <div class="item_data">
{{ form.operateSystem.operateSystem }}
</div>
</el-col> </el-col>
</el-row> </el-row>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
...@@ -30,7 +32,7 @@ ...@@ -30,7 +32,7 @@
<div class="item_name">系统软件版本</div> <div class="item_name">系统软件版本</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<div class="item_data">192.168.1.110</div> <div class="item_data">{{ form.operateSystem.version }}</div>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
...@@ -78,7 +80,7 @@ ...@@ -78,7 +80,7 @@
<el-col :span="12" class="mb20"> <el-col :span="12" class="mb20">
<el-card shadow="never"> <el-card shadow="never">
<div slot="header" class="clearfix posa"> <div slot="header" class="clearfix posa">
<span>管理员(admin)管理范围</span> <span>管理员({{ userName }})管理范围</span>
</div> </div>
<div> <div>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
...@@ -107,7 +109,7 @@ ...@@ -107,7 +109,7 @@
</el-row> </el-row>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
<el-col :span="10"> <el-col :span="10">
<div class="item_name"></div> <div class="item_name"></div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<div class="item_data">{{ form.type5 }}</div> <div class="item_data">{{ form.type5 }}</div>
...@@ -127,11 +129,22 @@ ...@@ -127,11 +129,22 @@
<el-col :span="12" class="mb20"> <el-col :span="12" class="mb20">
<el-card shadow="never"> <el-card shadow="never">
<div slot="header" class="clearfix posa"> <div slot="header" class="clearfix posa">
<span>基本信息</span> <span>基础信息</span>
<el-button <el-button
style="float: right; padding: 3px 0; margin-right: 20px" style="float: right; padding: 3px 0; margin-right: 20px"
type="text" type="text"
class="savebtn" class="savebtn"
v-if="flag == true"
@click="editbtn()"
>编辑</el-button
>
<el-button
style="float: right; padding: 3px 0; margin-right: 20px"
type="text"
class="savebtn"
v-else
@click="savebtn()"
>保存</el-button >保存</el-button
> >
</div> </div>
...@@ -140,14 +153,14 @@ ...@@ -140,14 +153,14 @@
<el-col :span="10"> <el-col :span="10">
<div class="item_name">铁路名称</div> <div class="item_name">铁路名称</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div> <div>
<el-input <el-input
v-model="form.baseInfo.name" v-model="form.baseInfo.name"
clearable clearable
placeholder="请输入内容" placeholder="请输入内容"
></el-input :disabled="flag"
> ></el-input>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -155,14 +168,14 @@ ...@@ -155,14 +168,14 @@
<el-col :span="10"> <el-col :span="10">
<div class="item_name">铁路起点站名</div> <div class="item_name">铁路起点站名</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div> <div>
<el-input <el-input
v-model="form.baseInfo.startPointName" v-model="form.baseInfo.startPointName"
clearable clearable
placeholder="请输入内容" placeholder="请输入内容"
></el-input :disabled="flag"
> ></el-input>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -170,14 +183,14 @@ ...@@ -170,14 +183,14 @@
<el-col :span="10"> <el-col :span="10">
<div class="item_name">铁路终点站名</div> <div class="item_name">铁路终点站名</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div> <div>
<el-input <el-input
v-model="form.baseInfo.endPointName" v-model="form.baseInfo.endPointName"
clearable clearable
placeholder="请输入内容" placeholder="请输入内容"
></el-input :disabled="flag"
> ></el-input>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -185,14 +198,14 @@ ...@@ -185,14 +198,14 @@
<el-col :span="10"> <el-col :span="10">
<div class="item_name">铁路总长度(公里)</div> <div class="item_name">铁路总长度(公里)</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div> <div>
<el-input <el-input
v-model="form.baseInfo.totalLong" v-model="form.baseInfo.totalLong"
clearable clearable
placeholder="请输入内容" placeholder="请输入内容"
>张呼铁路客运专线</el-input :disabled="flag"
> ></el-input>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -200,9 +213,13 @@ ...@@ -200,9 +213,13 @@
<el-col :span="10"> <el-col :span="10">
<div class="item_name">开通状态</div> <div class="item_name">开通状态</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div> <div>
<el-select v-model="form.baseInfo.isOpen" > <el-select
v-model="form.baseInfo.isOpen"
:disabled="flag"
style="width: 100%"
>
<el-option <el-option
v-for="item in isOpenSelect" v-for="item in isOpenSelect"
:key="item.key" :key="item.key"
...@@ -221,17 +238,33 @@ ...@@ -221,17 +238,33 @@
</template> </template>
<script> <script>
import { DetailMixins } from './mixins' import { DetailMixins } from "./mixins";
import { getUserName } from "@/utils/auth";
import { railWayOpen } from "../api";
export default { export default {
name: 'Dashboard', name: "Dashboard",
mixins: [DetailMixins], mixins: [DetailMixins],
data() { data() {
return { return {
} colspan:14
};
}, },
methods: { methods: {
} savebtn() {
} this.flag = true;
console.log(this.info());
railWayOpen(this.info()).then((res) => {
console.log("铁路线");
});
},
},
computed: {
userName() {
return getUserName();
},
},
};
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
</el-row> </el-row>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
<el-col :span="10"> <el-col :span="10">
<div class="item_name"></div> <div class="item_name"></div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<div class="item_data">{{ form.type5 }}</div> <div class="item_data">{{ form.type5 }}</div>
...@@ -48,13 +48,29 @@ ...@@ -48,13 +48,29 @@
<el-card shadow="never"> <el-card shadow="never">
<div slot="header" class="clearfix posa"> <div slot="header" class="clearfix posa">
<span>基础信息</span> <span>基础信息</span>
<el-button
style="float: right; padding: 3px 0; margin-right: 20px"
type="text"
class="savebtn"
v-if="flag == true"
@click="editbtn()"
>编辑</el-button
>
<el-button
style="float: right; padding: 3px 0; margin-right: 20px"
type="text"
class="savebtn"
v-else
@click="savebtn()"
>保存</el-button
>
</div> </div>
<div> <div>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
<el-col :span="10"> <el-col :span="10">
<div class="item_name">站点编号</div> <div class="item_name">站点编号</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.siteCode }}</div> <div class="item_data">{{ form.baseInfo.siteCode }}</div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -62,7 +78,7 @@ ...@@ -62,7 +78,7 @@
<el-col :span="10"> <el-col :span="10">
<div class="item_name">站名</div> <div class="item_name">站名</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.siteName }}</div> <div class="item_data">{{ form.baseInfo.siteName }}</div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -70,7 +86,7 @@ ...@@ -70,7 +86,7 @@
<el-col :span="10"> <el-col :span="10">
<div class="item_name">站点地址</div> <div class="item_name">站点地址</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.siteAddress }}</div> <div class="item_data">{{ form.baseInfo.siteAddress }}</div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -78,15 +94,15 @@ ...@@ -78,15 +94,15 @@
<el-col :span="10"> <el-col :span="10">
<div class="item_name">所在铁路线</div> <div class="item_name">所在铁路线</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.wayId }}</div> <div class="item_data">{{ form.baseInfo.railWayName }}</div>
</el-col> </el-col>
</el-row> </el-row>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
<el-col :span="10"> <el-col :span="10">
<div class="item_name">站点所在局</div> <div class="item_name">站点所在局</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.siteArea }}</div> <div class="item_data">{{ form.baseInfo.siteArea }}</div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -94,7 +110,7 @@ ...@@ -94,7 +110,7 @@
<el-col :span="10"> <el-col :span="10">
<div class="item_name">站点所在段号</div> <div class="item_name">站点所在段号</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.siteSectionCode }}</div> <div class="item_data">{{ form.baseInfo.siteSectionCode }}</div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -102,7 +118,7 @@ ...@@ -102,7 +118,7 @@
<el-col :span="10"> <el-col :span="10">
<div class="item_name">站点所在铁路公里标</div> <div class="item_name">站点所在铁路公里标</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.siteKmSign }}</div> <div class="item_data">{{ form.baseInfo.siteKmSign }}</div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -110,47 +126,47 @@ ...@@ -110,47 +126,47 @@
<el-col :span="10"> <el-col :span="10">
<div class="item_name">站点经度</div> <div class="item_name">站点经度</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.siteLongitude }}</div> <div class="item_data">{{ form.baseInfo.siteLatitude }}</div>
</el-col> </el-col>
</el-row> </el-row>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
<el-col :span="10"> <el-col :span="10">
<div class="item_name">站点纬度</div> <div class="item_name">站点纬度</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.siteLatitude }}</div> <div class="item_data">{{ form.baseInfo.siteLongitude }}</div>
</el-col> </el-col>
</el-row> </el-row>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
<el-col :span="10"> <el-col :span="10">
<div class="item_name">站点监控时间</div> <div class="item_name">站点监控时间</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">Red Hat EnterpiseLin...</div> <div class="item_data"></div>
</el-col> </el-col>
</el-row> </el-row>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
<el-col :span="10"> <el-col :span="10">
<div class="item_name">漏缆个数</div> <div class="item_name">漏缆个数</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">Red Hat EnterpiseLin...</div> <div class="item_data">{{ form.count.LEAKY }}</div>
</el-col> </el-col>
</el-row> </el-row>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
<el-col :span="10"> <el-col :span="10">
<div class="item_name">天馈线个数</div> <div class="item_name">天馈线个数</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">Red Hat EnterpiseLin...</div> <div class="item_data"></div>
</el-col> </el-col>
</el-row> </el-row>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
<el-col :span="10"> <el-col :span="10">
<div class="item_name">站点其他信息</div> <div class="item_name">站点其他信息</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data"> <div class="item_data">
{{ form.baseInfo.siteOtherMessage }} {{ form.baseInfo.siteOtherMessage }}
</div> </div>
...@@ -161,7 +177,11 @@ ...@@ -161,7 +177,11 @@
<div class="item_name">开通状态</div> <div class="item_name">开通状态</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<el-select v-model="form.baseInfo.isOpen"> <el-select
v-model="form.baseInfo.isOpen"
:disabled="flag"
style="width: 100%"
>
<el-option <el-option
v-for="item in isOpenSelect" v-for="item in isOpenSelect"
:key="item.key" :key="item.key"
...@@ -185,7 +205,7 @@ ...@@ -185,7 +205,7 @@
<div class="item_name">设备状态</div> <div class="item_name">设备状态</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<div class="item_data">正常</div> <div class="item_data">{{ form.status.connect }}</div>
</el-col> </el-col>
</el-row> </el-row>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
...@@ -193,7 +213,7 @@ ...@@ -193,7 +213,7 @@
<div class="item_name">漏缆状态</div> <div class="item_name">漏缆状态</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<div class="item_data">正常</div> <div class="item_data">{{ form.status.monitor }}</div>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
...@@ -205,13 +225,24 @@ ...@@ -205,13 +225,24 @@
<script> <script>
import { DetailMixins } from "./mixins"; import { DetailMixins } from "./mixins";
import { siteOpen } from "../api";
export default { export default {
name: "Dashboard", name: "Dashboard",
mixins: [DetailMixins], mixins: [DetailMixins],
data() { data() {
return {}; return {
flag: true,
colspan:14
};
},
methods: {
savebtn() {
this.flag = true;
siteOpen(this.info()).then((res) => {
console.log("站点");
});
},
}, },
methods: {},
}; };
</script> </script>
...@@ -235,10 +266,13 @@ export default { ...@@ -235,10 +266,13 @@ export default {
.posa { .posa {
position: relative; position: relative;
} }
.savebtn {
position: absolute;
right: 2%;
}
.specialCard { .specialCard {
position: absolute; position: absolute;
top: 340px; top: 328px;
} }
.text { .text {
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
</el-row> </el-row>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
<el-col :span="10"> <el-col :span="10">
<div class="item_name"></div> <div class="item_name"></div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<div class="item_data">{{ form.type5 }}</div> <div class="item_data">{{ form.type5 }}</div>
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
<div class="item_name">天馈线</div> <div class="item_name">天馈线</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<div class="item_data">{{ form.type5 }}</div> <div class="item_data">{{ form.count.LEAKY }}</div>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
...@@ -40,13 +40,29 @@ ...@@ -40,13 +40,29 @@
<el-card shadow="never"> <el-card shadow="never">
<div slot="header" class="clearfix posa"> <div slot="header" class="clearfix posa">
<span>基础信息</span> <span>基础信息</span>
<el-button
style="float: right; padding: 3px 0; margin-right: 20px"
type="text"
class="savebtn"
v-if="flag == true"
@click="editbtn()"
>编辑</el-button
>
<el-button
style="float: right; padding: 3px 0; margin-right: 20px"
type="text"
class="savebtn"
v-else
@click="savebtn()"
>保存</el-button
>
</div> </div>
<div> <div>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
<el-col :span="10"> <el-col :span="10">
<div class="item_name">FSU身份编号</div> <div class="item_name">FSU身份编号</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.fsuCode }}</div> <div class="item_data">{{ form.baseInfo.fsuCode }}</div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -54,7 +70,7 @@ ...@@ -54,7 +70,7 @@
<el-col :span="10"> <el-col :span="10">
<div class="item_name">FSU端口数</div> <div class="item_name">FSU端口数</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.fsuPort }}</div> <div class="item_data">{{ form.baseInfo.fsuPort }}</div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -62,7 +78,7 @@ ...@@ -62,7 +78,7 @@
<el-col :span="10"> <el-col :span="10">
<div class="item_name">设备名称</div> <div class="item_name">设备名称</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.equipName }}</div> <div class="item_data">{{ form.baseInfo.equipName }}</div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -70,7 +86,7 @@ ...@@ -70,7 +86,7 @@
<el-col :span="10"> <el-col :span="10">
<div class="item_name">IP地址</div> <div class="item_name">IP地址</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.ip }}</div> <div class="item_data">{{ form.baseInfo.ip }}</div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -78,23 +94,23 @@ ...@@ -78,23 +94,23 @@
<el-col :span="10"> <el-col :span="10">
<div class="item_name">所在铁路线</div> <div class="item_name">所在铁路线</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">南昆客运专线</div> <div class="item_data">{{ form.baseInfo.railWayName }}</div>
</el-col> </el-col>
</el-row> </el-row>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
<el-col :span="10"> <el-col :span="10">
<div class="item_name">所在站点</div> <div class="item_name">所在站点</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">81</div> <div class="item_data">{{ form.baseInfo.siteName }}</div>
</el-col> </el-col>
</el-row> </el-row>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
<el-col :span="10"> <el-col :span="10">
<div class="item_name">设备厂商</div> <div class="item_name">设备厂商</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.equipFactory }}</div> <div class="item_data">{{ form.baseInfo.equipFactory }}</div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -102,15 +118,15 @@ ...@@ -102,15 +118,15 @@
<el-col :span="10"> <el-col :span="10">
<div class="item_name">设备备用方式</div> <div class="item_name">设备备用方式</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.backupModeName }}</div> <div class="item_data">{{ form.baseInfo.backModeName }}</div>
</el-col> </el-col>
</el-row> </el-row>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
<el-col :span="10"> <el-col :span="10">
<div class="item_name">通信方式</div> <div class="item_name">通信方式</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.connectModeName }}</div> <div class="item_data">{{ form.baseInfo.connectModeName }}</div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -118,7 +134,7 @@ ...@@ -118,7 +134,7 @@
<el-col :span="10"> <el-col :span="10">
<div class="item_name">设备类型</div> <div class="item_name">设备类型</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.equipTypeName }}</div> <div class="item_data">{{ form.baseInfo.equipTypeName }}</div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -126,7 +142,7 @@ ...@@ -126,7 +142,7 @@
<el-col :span="10"> <el-col :span="10">
<div class="item_name">设备子类型</div> <div class="item_name">设备子类型</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data"> <div class="item_data">
{{ form.baseInfo.equipSubTypeName }} {{ form.baseInfo.equipSubTypeName }}
</div> </div>
...@@ -136,7 +152,7 @@ ...@@ -136,7 +152,7 @@
<el-col :span="10"> <el-col :span="10">
<div class="item_name">软件版本号</div> <div class="item_name">软件版本号</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.softVersion }}</div> <div class="item_data">{{ form.baseInfo.softVersion }}</div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -144,7 +160,7 @@ ...@@ -144,7 +160,7 @@
<el-col :span="10"> <el-col :span="10">
<div class="item_name">设备生产序列号</div> <div class="item_name">设备生产序列号</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data"> <div class="item_data">
{{ form.baseInfo.equipSerialNumber }} {{ form.baseInfo.equipSerialNumber }}
</div> </div>
...@@ -154,23 +170,23 @@ ...@@ -154,23 +170,23 @@
<el-col :span="10"> <el-col :span="10">
<div class="item_name">安装日期</div> <div class="item_name">安装日期</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">南昆客运专线</div> <div class="item_data">{{ form.baseInfo.creationTime }}</div>
</el-col> </el-col>
</el-row> </el-row>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
<el-col :span="10"> <el-col :span="10">
<div class="item_name">维护日期</div> <div class="item_name">维护日期</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">南昆客运专线</div> <div class="item_data">{{ form.baseInfo.openTime }}</div>
</el-col> </el-col>
</el-row> </el-row>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
<el-col :span="10"> <el-col :span="10">
<div class="item_name">设备所铁路公里标</div> <div class="item_name">设备所铁路公里标</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.kmSign }}</div> <div class="item_data">{{ form.baseInfo.kmSign }}</div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -178,8 +194,12 @@ ...@@ -178,8 +194,12 @@
<el-col :span="10"> <el-col :span="10">
<div class="item_name">开通状态</div> <div class="item_name">开通状态</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<el-select v-model="form.baseInfo.isOpen"> <el-select
v-model="form.baseInfo.isOpen"
:disabled="flag"
style="width: 100%"
>
<el-option <el-option
v-for="item in isOpenSelect" v-for="item in isOpenSelect"
:key="item.key" :key="item.key"
...@@ -198,20 +218,12 @@ ...@@ -198,20 +218,12 @@
<span>当前状态</span> <span>当前状态</span>
</div> </div>
<div> <div>
<el-row class="text" :gutter="24"> <el-row v-for="(item, i) in statusList" class="text" :gutter="24">
<el-col :span="10"> <el-col :span="10">
<div class="item_name">监测设备</div> <div class="item_name">{{ item.name }}</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<div class="item_data">81</div> <div class="item_data">{{ item.value }}</div>
</el-col>
</el-row>
<el-row class="text" :gutter="24">
<el-col :span="10">
<div class="item_name">混缆</div>
</el-col>
<el-col :span="10">
<div class="item_data">142根</div>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
...@@ -224,12 +236,24 @@ ...@@ -224,12 +236,24 @@
<script> <script>
import { DetailMixins } from "./mixins"; import { DetailMixins } from "./mixins";
import { fsuOpen } from "../api";
export default { export default {
name: "Dashboard", name: "Dashboard",
data() { data() {
return {}; return {
colspan:14
};
}, },
mixins: [DetailMixins], mixins: [DetailMixins],
methods: {
savebtn() {
this.flag = true;
fsuOpen(this.info()).then((res) => {
console.log("fsu");
});
},
},
mounted() {},
}; };
</script> </script>
...@@ -252,12 +276,15 @@ export default { ...@@ -252,12 +276,15 @@ export default {
} }
.specialCard { .specialCard {
position: absolute; position: absolute;
top: 280px; top: 268px;
} }
.posa { .posa {
position: relative; position: relative;
} }
.savebtn {
position: absolute;
right: 2%;
}
.text { .text {
padding: 10px 20px 10px 20px; padding: 10px 20px 10px 20px;
border-bottom: 1px solid #e3e3e3; border-bottom: 1px solid #e3e3e3;
......
<template> <template>
<div class="dashboard-container"> <div class="dashboard-container">
<!-- 首页 --> <!-- 首页 -->
<header class="header_title">FSU</header> <header class="header_title">
监测设备({{ form.baseInfo.equipName }})
</header>
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="11" class="mb20"> <el-col :span="11" class="mb20">
<el-card shadow="never"> <el-card shadow="never">
<div slot="header" class="clearfix posa"> <div slot="header" class="clearfix posa">
<span>管理范围</span> <span>管理范围</span>
</div> </div>
<div > <div>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
<el-col :span="10"> <el-col :span="10">
<div class="item_name">漏缆</div> <div class="item_name">漏缆</div>
...@@ -17,6 +19,14 @@ ...@@ -17,6 +19,14 @@
<div class="item_data">{{ form.type5 }}</div> <div class="item_data">{{ form.type5 }}</div>
</el-col> </el-col>
</el-row> </el-row>
<el-row class="text" :gutter="24">
<el-col :span="10">
<div class="item_name">天馈线</div>
</el-col>
<el-col :span="10">
<div class="item_data">{{ form.controlLimit[0].sum }}</div>
</el-col>
</el-row>
</div> </div>
</el-card> </el-card>
</el-col> </el-col>
...@@ -24,13 +34,29 @@ ...@@ -24,13 +34,29 @@
<el-card shadow="never"> <el-card shadow="never">
<div slot="header" class="clearfix posa"> <div slot="header" class="clearfix posa">
<span>基础信息</span> <span>基础信息</span>
<el-button
style="float: right; padding: 3px 0; margin-right: 20px"
type="text"
class="savebtn"
v-if="flag == true"
@click="editbtn()"
>编辑</el-button
>
<el-button
style="float: right; padding: 3px 0; margin-right: 20px"
type="text"
class="savebtn"
v-else
@click="savebtn()"
>保存</el-button
>
</div> </div>
<div > <div>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
<el-col :span="10"> <el-col :span="10">
<div class="item_name">设备身份编号</div> <div class="item_name">设备身份编号</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.equipCode }}</div> <div class="item_data">{{ form.baseInfo.equipCode }}</div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -38,7 +64,7 @@ ...@@ -38,7 +64,7 @@
<el-col :span="10"> <el-col :span="10">
<div class="item_name">设备名称</div> <div class="item_name">设备名称</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.equipName }}</div> <div class="item_data">{{ form.baseInfo.equipName }}</div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -46,7 +72,7 @@ ...@@ -46,7 +72,7 @@
<el-col :span="10"> <el-col :span="10">
<div class="item_name">设备厂商</div> <div class="item_name">设备厂商</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.equipFactory }}</div> <div class="item_data">{{ form.baseInfo.equipFactory }}</div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -54,7 +80,7 @@ ...@@ -54,7 +80,7 @@
<el-col :span="10"> <el-col :span="10">
<div class="item_name">IP地址</div> <div class="item_name">IP地址</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.ip }}</div> <div class="item_data">{{ form.baseInfo.ip }}</div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -62,31 +88,31 @@ ...@@ -62,31 +88,31 @@
<el-col :span="10"> <el-col :span="10">
<div class="item_name">所在铁路线</div> <div class="item_name">所在铁路线</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">南昆客运专线</div> <div class="item_data">{{ form.baseInfo.railWayName }}</div>
</el-col> </el-col>
</el-row> </el-row>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
<el-col :span="10"> <el-col :span="10">
<div class="item_name">所在站点</div> <div class="item_name">所在站点</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">81</div> <div class="item_data">{{ form.baseInfo.siteName }}</div>
</el-col> </el-col>
</el-row> </el-row>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
<el-col :span="10"> <el-col :span="10">
<div class="item_name">所在FSU</div> <div class="item_name">所在FSU</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">81</div> <div class="item_data">{{ form.baseInfo.fsuName }}</div>
</el-col> </el-col>
</el-row> </el-row>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
<el-col :span="10"> <el-col :span="10">
<div class="item_name">设备类别</div> <div class="item_name">设备类别</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.equipTypeName }}</div> <div class="item_data">{{ form.baseInfo.equipTypeName }}</div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -94,7 +120,7 @@ ...@@ -94,7 +120,7 @@
<el-col :span="10"> <el-col :span="10">
<div class="item_name">设备型号</div> <div class="item_name">设备型号</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.equipModeName }}</div> <div class="item_data">{{ form.baseInfo.equipModeName }}</div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -102,41 +128,46 @@ ...@@ -102,41 +128,46 @@
<el-col :span="10"> <el-col :span="10">
<div class="item_name">设备生产序列号</div> <div class="item_name">设备生产序列号</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.equipSerialNumber }}</div> <div class="item_data">
{{ form.baseInfo.equipSerialNumber }}
</div>
</el-col> </el-col>
</el-row> </el-row>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
<el-col :span="10"> <el-col :span="10">
<div class="item_name">安装日期</div> <div class="item_name">安装日期</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.installDate }}</div> <div class="item_data">{{ form.baseInfo.creationTime }}</div>
</el-col> </el-col>
</el-row> </el-row>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
<el-col :span="10"> <el-col :span="10">
<div class="item_name">维护日期</div> <div class="item_name">维护日期</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.repairDate }}</div> <div class="item_data">{{ form.baseInfo.openTime }}</div>
</el-col> </el-col>
</el-row> </el-row>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
<el-col :span="10"> <el-col :span="10">
<div class="item_name">设备所铁路公里标</div> <div class="item_name">设备所铁路公里标</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<div class="item_data">{{ form.baseInfo.kmSign }}</div> <div class="item_data">{{ form.baseInfo.kmSign }}</div>
</el-col> </el-col>
</el-row> </el-row>
<el-row class="text" :gutter="24"> <el-row class="text" :gutter="24">
<el-col :span="10"> <el-col :span="10">
<div class="item_name">开通状态</div> <div class="item_name">开通状态</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="colspan">
<el-select class="item_data" <el-select
>{{ form.baseInfo.isOpen }} v-model="form.baseInfo.isOpen"
:disabled="flag"
style="width: 100%"
>
<el-option <el-option
v-for="item in isOpenSelect" v-for="item in isOpenSelect"
:key="item.key" :key="item.key"
...@@ -154,21 +185,13 @@ ...@@ -154,21 +185,13 @@
<div slot="header" class="clearfix posa"> <div slot="header" class="clearfix posa">
<span>当前状态</span> <span>当前状态</span>
</div> </div>
<div > <div>
<el-row class="text" :gutter="24"> <el-row v-for="(item, i) in statusList" class="text" :gutter="24">
<el-col :span="10"> <el-col :span="10">
<div class="item_name">设备状态</div> <div class="item_name">{{ item.name }}</div>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<div class="item_data">正常</div> <div class="item_data">{{ item.value }}</div>
</el-col>
</el-row>
<el-row class="text" :gutter="24">
<el-col :span="10">
<div class="item_name">最后更新日期</div>
</el-col>
<el-col :span="10">
<div class="item_data">142根</div>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
...@@ -179,16 +202,28 @@ ...@@ -179,16 +202,28 @@
</template> </template>
<script> <script>
import { DetailMixins } from './mixins' import { DetailMixins } from "./mixins";
import { monitorEquipOpen } from "../api";
export default { export default {
name: 'Dashboard', name: "Dashboard",
data() { data() {
return { return {
} colspan:14
};
}, },
mixins: [DetailMixins], mixins: [DetailMixins],
}
methods: {
savebtn() {
this.flag = true;
monitorEquipOpen(this.info()).then((res) => {
console.log("监测设备");
});
},
},
mounted() {},
};
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
...@@ -210,12 +245,15 @@ export default { ...@@ -210,12 +245,15 @@ export default {
} }
.specialCard { .specialCard {
position: absolute; position: absolute;
top: 180px; top: 205px;
} }
.posa { .posa {
position: relative; position: relative;
} }
.savebtn {
position: absolute;
right: 2%;
}
.text { .text {
padding: 10px 20px 10px 20px; padding: 10px 20px 10px 20px;
border-bottom: 1px solid #e3e3e3; border-bottom: 1px solid #e3e3e3;
...@@ -242,5 +280,4 @@ export default { ...@@ -242,5 +280,4 @@ export default {
border-bottom: none !important; border-bottom: none !important;
} }
} }
</style> </style>
This diff is collapsed.
export function formInit1(data = {}) { export function formInit1(data = {}) {
return { return {
deviceStatus: null, deviceStatus: '',
baseInfo: { baseInfo: {
createdBy: "",
id: null, id: null,
name: "", name: "",
startPointName: "", startPointName: "",
endPointName: "", endPointName: "",
totalLong: null, totalLong: null,
}, },
status: [],
type2: 0, type2: 0,
type3: 0, type3: 0,
type4: 0, type4: 0,
type5: 0, type5: 0,
operateSystem: null, controlLimit: [
{ sum: 0, type: "" },
{ sum: 0, type: "" },
{ sum: 0, type: "" },
{ sum: 0, type: "" },
],
operateSystem: '',
...data ...data
} }
} }
...@@ -39,6 +47,9 @@ export function formInit2(data = {}) { ...@@ -39,6 +47,9 @@ export function formInit2(data = {}) {
type3: 0, type3: 0,
type4: 0, type4: 0,
type5: 0, type5: 0,
status: '',
controlLimit: "",
count: "",
...data ...data
} }
} }
...@@ -50,6 +61,8 @@ export function formInit3(data = {}) { ...@@ -50,6 +61,8 @@ export function formInit3(data = {}) {
fsuPort: null, fsuPort: null,
equipName: "", equipName: "",
ip: "", ip: "",
railWayName: '',
siteName: '',
equipFactory: "", equipFactory: "",
backupModeName: null, backupModeName: null,
connectModeName: "", connectModeName: "",
...@@ -61,6 +74,10 @@ export function formInit3(data = {}) { ...@@ -61,6 +74,10 @@ export function formInit3(data = {}) {
}, },
type4: 0, type4: 0,
type5: 0, type5: 0,
controlLimit: "",
count: {
LEAKY: 0
},
...data ...data
} }
} }
...@@ -79,6 +96,9 @@ export function formInit4(data = {}) { ...@@ -79,6 +96,9 @@ export function formInit4(data = {}) {
repairDate: '', repairDate: '',
}, },
type5: 0, type5: 0,
controlLimit: [
{ sum: 0, type: "" },
],
...data ...data
} }
} }
...@@ -101,6 +121,8 @@ export function formInit5(data = {}) { ...@@ -101,6 +121,8 @@ export function formInit5(data = {}) {
siteId: null, siteId: null,
wayId: null, wayId: null,
}, },
log: 0,
loss: 0,
...data ...data
} }
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div class="dashboard-container"> <div class="dashboard-container">
<!-- 首页 --> <!-- 首页 -->
<div> <div>
<orgTree style="float:left" @selectItem="selectItem" /> <orgTree style="float:left" @selectItem="selectItem" @defaultSite="defaultSite"/>
<div class="ml300"> <div class="ml300">
<type :type="type" :curInfo="curInfo" /> <type :type="type" :curInfo="curInfo" />
</div> </div>
...@@ -29,9 +29,13 @@ export default { ...@@ -29,9 +29,13 @@ export default {
computed: { computed: {
}, },
mounted() { mounted() {
this.getDetailNode(4) // this.defaultSite()
// this.getDetailNode(30)
}, },
methods: { methods: {
defaultSite(data){
this.getDetailNode(data)
},
selectItem(data) { selectItem(data) {
this.type = data.type this.type = data.type
this.getDetailNode(data.id) this.getDetailNode(data.id)
...@@ -49,6 +53,7 @@ export default { ...@@ -49,6 +53,7 @@ export default {
}) })
} }
this.curInfo = res this.curInfo = res
console.log(res);
}) })
}, },
} }
......
...@@ -9,9 +9,11 @@ const path = { ...@@ -9,9 +9,11 @@ const path = {
ConnectStatusList: 'sysHistoryConnectStatus/selectPage', ConnectStatusList: 'sysHistoryConnectStatus/selectPage',
ConnectStatusDelete: 'sysHistoryConnectStatus/batchDeleteHistoryConnectStatus', ConnectStatusDelete: 'sysHistoryConnectStatus/batchDeleteHistoryConnectStatus',
ConnectStatusDeleteAll: 'sysHistoryConnectStatus/deleteAll',
ConnectMaintainList: 'sysHistoryConnectMaintain/selectPage', ConnectMaintainList: 'sysHistoryConnectMaintain/selectPage',
ConnectMaintainDelete: 'sysHistoryConnectMaintain/batchDeleteHistoryConnectMaintain', ConnectMaintainDelete: 'sysHistoryConnectMaintain/batchDeleteHistoryConnectMaintain',
ConnectMaintainDeleteAll: 'sysHistoryConnectMaintain/deleteAll',
commonQuery: 'sysHistoryCommon/getSiteAndAlarmAll', commonQuery: 'sysHistoryCommon/getSiteAndAlarmAll',
} }
...@@ -30,12 +32,16 @@ export function MonitorMaintainDelete() { ...@@ -30,12 +32,16 @@ export function MonitorMaintainDelete() {
return request.post(path.MonitorMaintainDelete, ...arguments) return request.post(path.MonitorMaintainDelete, ...arguments)
} }
export function ConnectStatusList() { export function ConnectStatusList() {
return request.post(path.ConnectStatusList, ...arguments) return request.post(path.ConnectStatusList, ...arguments)
} }
export function ConnectStatusDelete() { export function ConnectStatusDelete() {
return request.post(path.ConnectStatusDelete, ...arguments) return request.post(path.ConnectStatusDelete, ...arguments)
} }
export function ConnectStatusDeleteAll() {
return request.post(path.ConnectStatusDeleteAll, ...arguments)
}
export function ConnectMaintainList() { export function ConnectMaintainList() {
return request.post(path.ConnectMaintainList, ...arguments) return request.post(path.ConnectMaintainList, ...arguments)
...@@ -43,6 +49,9 @@ export function ConnectMaintainList() { ...@@ -43,6 +49,9 @@ export function ConnectMaintainList() {
export function ConnectMaintainDelete() { export function ConnectMaintainDelete() {
return request.post(path.ConnectMaintainDelete, ...arguments) return request.post(path.ConnectMaintainDelete, ...arguments)
} }
export function ConnectMaintainDeleteAll() {
return request.post(path.ConnectMaintainDeleteAll, ...arguments)
}
export function commonQuery() { export function commonQuery() {
return request.post(path.commonQuery, ...arguments) return request.post(path.commonQuery, ...arguments)
......
...@@ -10,11 +10,11 @@ ...@@ -10,11 +10,11 @@
<el-button type="primary" @click="refresh">刷新</el-button> <el-button type="primary" @click="refresh">刷新</el-button>
<el-button type="primary" @click="isQuery = !isQuery">查询</el-button> <el-button type="primary" @click="isQuery = !isQuery">查询</el-button>
<el-button type="primary" @click="toExport">导出</el-button> <el-button type="primary" @click="toExport">导出</el-button>
<el-button type="primary">清空数据</el-button> <el-button type="primary" @click="delAll">清空数据</el-button>
</div> </div>
</div> </div>
<div v-if="isQuery"> <div v-if="isQuery">
<search @search="getTableData" ref="reset" /> <search @search="search" ref="reset" />
</div> </div>
<el-table <el-table
:data="tableData" :data="tableData"
...@@ -60,11 +60,16 @@ ...@@ -60,11 +60,16 @@
</div> </div>
</template> </template>
<script> <script>
import { ConnectMaintainList, ConnectMaintainDelete } from "../api"; import {
ConnectMaintainList,
ConnectMaintainDelete,
ConnectMaintainDeleteAll,
} from "../api";
import { ConnectStatusEnum } from "@/const/index"; import { ConnectStatusEnum } from "@/const/index";
import search from "./components/search.vue"; import search from "./components/search.vue";
import download from "@/utils/download"; import download from "@/utils/download";
import { exportConnectMaintainHistory } from "@/api/export"; import { exportConnectMaintainHistory } from "@/api/export";
import { successAlert, warningAlert } from "@/utils/alert";
export default { export default {
data() { data() {
return { return {
...@@ -77,6 +82,7 @@ export default { ...@@ -77,6 +82,7 @@ export default {
total: 14, total: 14,
tableData: [], tableData: [],
isQuery: false, isQuery: false,
istrue: 0,
searchOption: {}, searchOption: {},
exids: [], exids: [],
}; };
...@@ -95,13 +101,19 @@ export default { ...@@ -95,13 +101,19 @@ export default {
this.getTableData(); this.getTableData();
}, },
refresh() { refresh() {
this.$refs.reset != undefined ? (this.$refs.reset.reset()) : (this.getTableData()) this.$refs.reset != undefined
? this.$refs.reset.reset()
: this.getTableData();
}, },
getTableData(option) { search(option) {
this.istrue = 1;
this.searchOption = option; this.searchOption = option;
this.getTableData();
},
getTableData() {
let params = { let params = {
...this.params, ...this.params,
...option, ...this.searchOption,
}; };
ConnectMaintainList(params).then((res) => { ConnectMaintainList(params).then((res) => {
let list = res.records || []; let list = res.records || [];
...@@ -112,6 +124,14 @@ export default { ...@@ -112,6 +124,14 @@ export default {
this.tableData = list; this.tableData = list;
this.total = res.total; this.total = res.total;
this.exids = list.map((i) => i.id); this.exids = list.map((i) => i.id);
if (this.istrue == 1) {
if (this.tableData.length != 0) {
successAlert("查询成功");
} else {
warningAlert("查询结果为空");
}
this.istrue = 0;
}
}); });
}, },
toDelete() { toDelete() {
...@@ -120,6 +140,22 @@ export default { ...@@ -120,6 +140,22 @@ export default {
this.getTableData(); this.getTableData();
}); });
}, },
delAll() {
this.$confirm('继续操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
ConnectMaintainDeleteAll().then((res) => {
this.$message.success("清空成功!");
this.getTableData();
});
}).catch(() => {
warningAlert("取消删除")
});
},
cellClassFn({ row, column, rowIndex, columnIndex }) { cellClassFn({ row, column, rowIndex, columnIndex }) {
if ( if (
row.pointConnectStatus_text == "连接异常" && row.pointConnectStatus_text == "连接异常" &&
...@@ -137,9 +173,14 @@ export default { ...@@ -137,9 +173,14 @@ export default {
} }
}, },
toExport() { toExport() {
exportConnectMaintainHistory({ ids: this.exids }).then((res) => { if (this.exids.length == 0) {
download(res, "vnd.ms-excel", `设备连接维修历史.xls`); this.$message.warning("暂无数据");
}); return false;
} else {
exportConnectMaintainHistory({ ids: this.exids }).then((res) => {
download(res, "vnd.ms-excel", `设备连接维修历史.xls`);
});
}
}, },
}, },
mounted() { mounted() {
......
...@@ -10,11 +10,11 @@ ...@@ -10,11 +10,11 @@
<el-button type="primary" @click="refresh">刷新</el-button> <el-button type="primary" @click="refresh">刷新</el-button>
<el-button type="primary" @click="isQuery = !isQuery">查询</el-button> <el-button type="primary" @click="isQuery = !isQuery">查询</el-button>
<el-button type="primary" @click="toExport">导出</el-button> <el-button type="primary" @click="toExport">导出</el-button>
<el-button type="primary">清空数据</el-button> <el-button type="primary" @click="delAll">清空数据</el-button>
</div> </div>
</div> </div>
<div v-if="isQuery"> <div v-if="isQuery">
<search @search="getTableData" ref="reset" /> <search @search="search" ref="reset" />
</div> </div>
<el-table <el-table
:data="tableData" :data="tableData"
...@@ -60,11 +60,16 @@ ...@@ -60,11 +60,16 @@
</div> </div>
</template> </template>
<script> <script>
import { ConnectStatusList, ConnectStatusDelete } from "../api"; import {
ConnectStatusList,
ConnectStatusDelete,
ConnectStatusDeleteAll,
} from "../api";
import { ConnectStatusEnum } from "@/const/index"; import { ConnectStatusEnum } from "@/const/index";
import search from "./components/search.vue"; import search from "./components/search.vue";
import { exportConnectStatusHistory } from "@/api/export"; import { exportConnectStatusHistory } from "@/api/export";
import download from "@/utils/download"; import download from "@/utils/download";
import { successAlert, warningAlert } from "@/utils/alert";
export default { export default {
props: [], props: [],
data() { data() {
...@@ -78,6 +83,7 @@ export default { ...@@ -78,6 +83,7 @@ export default {
total: 10, total: 10,
tableData: [], tableData: [],
isQuery: false, isQuery: false,
istrue: 0,
searchOption: {}, searchOption: {},
exids: [], exids: [],
}; };
...@@ -96,13 +102,19 @@ export default { ...@@ -96,13 +102,19 @@ export default {
this.getTableData(); this.getTableData();
}, },
refresh() { refresh() {
this.$refs.reset != undefined ? (this.$refs.reset.reset()) : (this.getTableData()) this.$refs.reset != undefined
? this.$refs.reset.reset()
: this.getTableData();
}, },
getTableData(option) { search(option) {
this.istrue = 1;
this.searchOption = option; this.searchOption = option;
this.getTableData();
},
getTableData() {
let params = { let params = {
...this.params, ...this.params,
...option, ...this.searchOption,
}; };
ConnectStatusList(params).then((res) => { ConnectStatusList(params).then((res) => {
let list = res.records || []; let list = res.records || [];
...@@ -113,6 +125,14 @@ export default { ...@@ -113,6 +125,14 @@ export default {
this.tableData = list; this.tableData = list;
this.total = res.total; this.total = res.total;
this.exids = list.map((i) => i.id); this.exids = list.map((i) => i.id);
if (this.istrue == 1) {
if (this.tableData.length != 0) {
successAlert("查询成功");
} else {
warningAlert("查询结果为空");
}
this.istrue = 0;
}
}); });
}, },
toDelete() { toDelete() {
...@@ -121,6 +141,21 @@ export default { ...@@ -121,6 +141,21 @@ export default {
this.getTableData(); this.getTableData();
}); });
}, },
delAll() {
this.$confirm('继续操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
ConnectStatusDeleteAll().then((res)=>{
this.$message.success("清空成功!");
this.getTableData();
});
}).catch(() => {
warningAlert("取消删除")
});
},
cellClassFn({ row, column, rowIndex, columnIndex }) { cellClassFn({ row, column, rowIndex, columnIndex }) {
if ( if (
row.pointConnectStatus_text == "连接异常" && row.pointConnectStatus_text == "连接异常" &&
...@@ -138,9 +173,14 @@ export default { ...@@ -138,9 +173,14 @@ export default {
} }
}, },
toExport() { toExport() {
exportConnectStatusHistory({ ids: this.exids }).then((res) => { if (this.exids.length == 0) {
download(res, "vnd.ms-excel", `设备连接历史状态.xls`); this.$message.warning("暂无数据");
}); return false;
} else {
exportConnectStatusHistory({ ids: this.exids }).then((res) => {
download(res, "vnd.ms-excel", `设备连接历史状态.xls`);
});
}
}, },
}, },
mounted() { mounted() {
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
</div> </div>
</div> </div>
<div v-if="isQuery"> <div v-if="isQuery">
<search @search="getTableData" ref="reset" /> <search @search="search" ref="reset" />
</div> </div>
<el-table <el-table
:data="tableData" :data="tableData"
...@@ -65,6 +65,7 @@ import { MonitorMaintainList, MonitorMaintainDelete } from "../api"; ...@@ -65,6 +65,7 @@ import { MonitorMaintainList, MonitorMaintainDelete } from "../api";
import search from "./components/search.vue"; import search from "./components/search.vue";
import download from "@/utils/download"; import download from "@/utils/download";
import { exportLeakyMaintainHistory } from "@/api/export"; import { exportLeakyMaintainHistory } from "@/api/export";
import { successAlert, warningAlert } from "@/utils/alert";
export default { export default {
props: [], props: [],
data() { data() {
...@@ -77,6 +78,7 @@ export default { ...@@ -77,6 +78,7 @@ export default {
total: 10, total: 10,
tableData: [], tableData: [],
isQuery: false, isQuery: false,
istrue:0,
searchOption: {}, searchOption: {},
exids: [], exids: [],
}; };
...@@ -95,19 +97,33 @@ export default { ...@@ -95,19 +97,33 @@ export default {
this.getTableData(); this.getTableData();
}, },
refresh() { refresh() {
this.$refs.reset != undefined ? (this.$refs.reset.reset()) : (this.getTableData()) this.$refs.reset != undefined
? this.$refs.reset.reset()
: this.getTableData();
}, },
getTableData(option) { search(option){
this.searchOption = option; this.istrue=1
this.searchOption = option
this.getTableData()
},
getTableData() {
let params = { let params = {
...this.params, ...this.params,
...option, ...this.searchOption,
}; };
MonitorMaintainList(params).then((res) => { MonitorMaintainList(params).then((res) => {
let list = res.records || []; let list = res.records || [];
this.tableData = list; this.tableData = list;
this.total = res.total; this.total = res.total;
this.exids = list.map((i) => i.id); this.exids = list.map((i) => i.id);
if (this.istrue==1) {
if (this.tableData.length != 0) {
successAlert("查询成功");
} else {
warningAlert("查询结果为空");
}
this.istrue=0
}
}); });
}, },
deleteCable() { deleteCable() {
...@@ -129,9 +145,14 @@ export default { ...@@ -129,9 +145,14 @@ export default {
} }
}, },
toExport() { toExport() {
exportLeakyMaintainHistory({ ids: this.exids }).then((res) => { if (this.exids.length == 0) {
download(res, "vnd.ms-excel", `漏缆监测维修历史.xls`); this.$message.warning("暂无数据");
}); return false;
} else {
exportLeakyMaintainHistory({ ids: this.exids }).then((res) => {
download(res, "vnd.ms-excel", `漏缆监测维修历史.xls`);
});
}
}, },
}, },
mounted() { mounted() {
......
...@@ -10,13 +10,15 @@ ...@@ -10,13 +10,15 @@
<el-button type="primary" @click="refresh">刷新</el-button> <el-button type="primary" @click="refresh">刷新</el-button>
<el-button type="primary" @click="isQuery = !isQuery">查询</el-button> <el-button type="primary" @click="isQuery = !isQuery">查询</el-button>
<el-button type="primary" @click="toExport">导出</el-button> <el-button type="primary" @click="toExport">导出</el-button>
<el-button :type="multipleSelection.length ? 'primary' : 'info'" <el-button
:disabled="!multipleSelection.length">图形报表 :type="multipleSelection.length ? 'primary' : 'info'"
:disabled="!multipleSelection.length"
>图形报表
</el-button> </el-button>
</div> </div>
</div> </div>
<div v-if="isQuery"> <div v-if="isQuery">
<search @search="getTableData" ref="reset" /> <search @search="search" ref="reset" />
</div> </div>
<el-table <el-table
ref="multipleTable" ref="multipleTable"
...@@ -32,9 +34,9 @@ ...@@ -32,9 +34,9 @@
<el-table-column prop="alarmInfo" label="告警信息" align="center"> <el-table-column prop="alarmInfo" label="告警信息" align="center">
</el-table-column> </el-table-column>
<el-table-column prop="uploadTime" label="上传日期" align="center" /> <el-table-column prop="uploadTime" label="上传日期" align="center" />
<el-table-column label="图形分析" align="center"> <el-table-column label="图形分析" align="center">
<el-button type="text">生成图表</el-button> <el-button type="text">生成图表</el-button> </el-table-column
</el-table-column>> >>
</el-table> </el-table>
<Pagination <Pagination
:limit="params.size" :limit="params.size"
...@@ -51,6 +53,7 @@ import { MonitorStatusList, MonitorStatusDelete } from "../api"; ...@@ -51,6 +53,7 @@ import { MonitorStatusList, MonitorStatusDelete } from "../api";
import search from "./components/search.vue"; import search from "./components/search.vue";
import download from "@/utils/download"; import download from "@/utils/download";
import { exportLeakyStatusHistory } from "@/api/export"; import { exportLeakyStatusHistory } from "@/api/export";
import { successAlert, warningAlert } from "@/utils/alert";
export default { export default {
data() { data() {
return { return {
...@@ -62,6 +65,7 @@ export default { ...@@ -62,6 +65,7 @@ export default {
tableData: [], tableData: [],
multipleSelection: [], multipleSelection: [],
isQuery: false, isQuery: false,
istrue:0,
searchOption: {}, searchOption: {},
exids: [], exids: [],
}; };
...@@ -89,13 +93,19 @@ export default { ...@@ -89,13 +93,19 @@ export default {
this.getTableData(); this.getTableData();
}, },
refresh() { refresh() {
this.$refs.reset != undefined ? (this.$refs.reset.reset()) : (this.getTableData()) this.$refs.reset != undefined
? this.$refs.reset.reset()
: this.getTableData();
}, },
getTableData(option) { search(option){
this.searchOption = option; this.istrue=1
this.searchOption = option
this.getTableData()
},
getTableData() {
let params = { let params = {
...this.params, ...this.params,
...option, ...this.searchOption,
}; };
MonitorStatusList(params).then((res) => { MonitorStatusList(params).then((res) => {
let list = res.records || []; let list = res.records || [];
...@@ -115,9 +125,14 @@ export default { ...@@ -115,9 +125,14 @@ export default {
}); });
}, },
toExport() { toExport() {
exportLeakyStatusHistory({ ids: this.exids }).then((res) => { if (this.exids.length == 0) {
download(res, "vnd.ms-excel", `漏缆监测历史状态.xls`); this.$message.warning("暂无数据");
}); return false;
} else {
exportLeakyStatusHistory({ ids: this.exids }).then((res) => {
download(res, "vnd.ms-excel", `漏缆监测历史状态.xls`);
});
}
}, },
}, },
mounted() { mounted() {
......
...@@ -77,9 +77,9 @@ ...@@ -77,9 +77,9 @@
</template> </template>
<script> <script>
import { login } from "@/api/user" import { login } from "@/api/user";
import { setToken } from "@/utils/auth" import { setToken, setUserName } from "@/utils/auth";
import EventBus from '@/utils/bus' import EventBus from "@/utils/bus";
export default { export default {
name: "Login", name: "Login",
data() { data() {
...@@ -92,12 +92,12 @@ export default { ...@@ -92,12 +92,12 @@ export default {
}; };
return { return {
loginForm: { loginForm: {
username: "admin", username: "",
password: "123456", password: "",
}, },
loginRules: { loginRules: {
username: [ username: [
{ required: true, trigger: "blur", message: '请输入用户名' }, { required: true, trigger: "blur", message: "请输入用户名" },
], ],
password: [ password: [
{ required: true, trigger: "blur", validator: validatePassword }, { required: true, trigger: "blur", validator: validatePassword },
...@@ -138,20 +138,20 @@ export default { ...@@ -138,20 +138,20 @@ export default {
}); });
}, },
async toLogin() { async toLogin() {
const { const { username, password } = this.loginForm;
username, let { token } = await login(
password {
} = this.loginForm userName: username,
let { token } = await login({ password: password,
userName: username, },
password: password, {
}, { el: ".el-button",
el: '.el-button' }
}) );
if (!token) return if (!token) return;
this.$store.commit("user/SET_TOKEN", token) this.$store.commit("user/SET_TOKEN", token);
setToken(token) setToken(token);
this.$router.push({ path: "/" }) this.$router.push({ path: "/" });
// setTimeout(() => { // setTimeout(() => {
// location.reload() // location.reload()
// }, 10) // }, 10)
...@@ -159,15 +159,17 @@ export default { ...@@ -159,15 +159,17 @@ export default {
handleLogin() { handleLogin() {
this.$refs.loginForm.validate((valid) => { this.$refs.loginForm.validate((valid) => {
if (valid) { if (valid) {
this.toLogin() setUserName(this.loginForm.username);
// EventBus.$emit('wsOpen') this.toLogin();
// EventBus.$emit('wsOpen')
} else { } else {
console.log("error submit!!"); console.log("error submit!!");
return false; return false;
} }
}); });
}, },
}, },
}; };
</script> </script>
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
> >
<el-table-column <el-table-column
prop="startPointDeviceName" prop="startPointDeviceName"
label="网元设备" label="网元设备(起点)"
align="center" align="center"
/> />
<el-table-column <el-table-column
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
/> />
<el-table-column <el-table-column
prop="endPointDeviceName" prop="endPointDeviceName"
label="网元设备" label="网元设备(终点)"
align="center" align="center"
/> />
<el-table-column <el-table-column
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
/> />
<el-table-column <el-table-column
prop="lastPointDeviceName" prop="lastPointDeviceName"
label="网元设备" label="网元设备(末端)"
align="center" align="center"
/> />
<el-table-column prop="uploadTime" label="上传时间" align="center" /> <el-table-column prop="uploadTime" label="上传时间" align="center" />
...@@ -61,6 +61,7 @@ import { ConnectStatusEnum } from "@/const/index"; ...@@ -61,6 +61,7 @@ import { ConnectStatusEnum } from "@/const/index";
import search from "./components/search.vue"; import search from "./components/search.vue";
import download from "@/utils/download"; import download from "@/utils/download";
import { exportConnetTime } from "@/api/export"; import { exportConnetTime } from "@/api/export";
import { successAlert, warningAlert } from "@/utils/alert";
export default { export default {
data() { data() {
return { return {
...@@ -72,6 +73,7 @@ export default { ...@@ -72,6 +73,7 @@ export default {
total: 10, total: 10,
tableData: [], tableData: [],
isQuery: false, isQuery: false,
istrue:0,
searchOption: {}, searchOption: {},
exids: [], exids: [],
}; };
...@@ -108,7 +110,9 @@ export default { ...@@ -108,7 +110,9 @@ export default {
} }
}, },
refresh() { refresh() {
this.$refs.reset != undefined ? (this.$refs.reset.reset()) : (this.getTableData()) this.$refs.reset != undefined
? this.$refs.reset.reset()
: this.getTableData();
}, },
handlePageChange(pageData) { handlePageChange(pageData) {
...@@ -117,6 +121,7 @@ export default { ...@@ -117,6 +121,7 @@ export default {
this.getTableData(); this.getTableData();
}, },
search(option) { search(option) {
this.istrue=1
this.searchOption = option; this.searchOption = option;
this.getTableData(); this.getTableData();
}, },
...@@ -136,12 +141,25 @@ export default { ...@@ -136,12 +141,25 @@ export default {
this.tableData = list; this.tableData = list;
this.total = res.total; this.total = res.total;
this.exids = list.map((i) => i.id); this.exids = list.map((i) => i.id);
if (this.istrue==1) {
if (this.tableData.length != 0) {
successAlert("查询成功");
} else {
warningAlert("查询结果为空");
}
this.istrue=0
}
}); });
}, },
toExport() { toExport() {
exportConnetTime({ ids: this.exids }).then((res) => { if (this.exids.length == 0) {
download(res, "vnd.ms-excel", `设备实时.xls`); this.$message.warning("暂无数据");
}); return false;
} else {
exportConnetTime({ ids: this.exids }).then((res) => {
download(res, "vnd.ms-excel", `设备实时.xls`);
});
}
}, },
}, },
mounted() { mounted() {
......
...@@ -62,6 +62,7 @@ import { ConnectStatusEnum } from "@/const/index"; ...@@ -62,6 +62,7 @@ import { ConnectStatusEnum } from "@/const/index";
import search from "./components/search.vue"; import search from "./components/search.vue";
import { exportLeakyCableTime } from "@/api/export"; import { exportLeakyCableTime } from "@/api/export";
import download from "@/utils/download"; import download from "@/utils/download";
import { successAlert, warningAlert } from "@/utils/alert";
export default { export default {
data() { data() {
return { return {
...@@ -73,6 +74,7 @@ export default { ...@@ -73,6 +74,7 @@ export default {
total: 10, total: 10,
tableData: [], tableData: [],
isQuery: false, isQuery: false,
istrue:0,
searchOption: {}, searchOption: {},
exids: [], exids: [],
}; };
...@@ -94,15 +96,18 @@ export default { ...@@ -94,15 +96,18 @@ export default {
}, },
refresh() { refresh() {
this.searchOption = {}; this.searchOption = {};
this.$refs.reset != undefined ? this.$refs.reset.reset() : this.getTableData(); this.$refs.reset != undefined
? this.$refs.reset.reset()
: this.getTableData();
}, },
handlePageChange(pageData) { handlePageChange(pageData) {
this.params.size = pageData.size; this.params.size = pageData.size
this.params.curent = pageData.page; this.params.curent = pageData.page
this.getTableData(); this.getTableData();
}, },
search(option) { search(option) {
this.searchOption = option; this.istrue=1
this.searchOption = option
this.getTableData(); this.getTableData();
}, },
getTableData() { getTableData() {
...@@ -115,6 +120,14 @@ export default { ...@@ -115,6 +120,14 @@ export default {
this.tableData = list; this.tableData = list;
this.total = res.records.length; this.total = res.records.length;
this.exids = list.map((i) => i.id); this.exids = list.map((i) => i.id);
if (this.istrue==1) {
if (this.tableData.length != 0) {
successAlert("查询成功");
} else {
warningAlert("查询结果为空");
}
this.istrue=0
}
}); });
}, },
toExport() { toExport() {
...@@ -122,9 +135,14 @@ export default { ...@@ -122,9 +135,14 @@ export default {
...this.params, ...this.params,
...this.searchOption, ...this.searchOption,
}; };
exportLeakyCableTime({ ids: this.exids }).then((res) => { if (this.exids.length == 0) {
download(res, "vnd.ms-excel", `漏缆实时.xls`); this.$message.warning("暂无数据");
}); return false;
} else {
exportLeakyCableTime({ ids: this.exids }).then((res) => {
download(res, "vnd.ms-excel", `漏缆实时.xls`);
});
}
}, },
}, },
mounted() { mounted() {
......
...@@ -146,12 +146,12 @@ export default { ...@@ -146,12 +146,12 @@ export default {
{ required: true, message: "请输入FSU身份编号", trigger: "blur" }, { required: true, message: "请输入FSU身份编号", trigger: "blur" },
], ],
fsuPort: [ fsuPort: [
{ required: true, message: "请输入FSU端口数", trigger: "blur" }, { required: true, pattern : /^(([^0][0-9]+|0)$)|^(([1-9]+)$)/, message: "请输入FSU端口数", trigger: "blur" },
], ],
equipName: [ equipName: [
{ required: true, message: "请输入设备名称", trigger: "blur" }, { required: true, message: "请输入设备名称", trigger: "blur" },
], ],
ip: [{ required: true, message: "请输入IP地址", trigger: "blur" }], ip: [{ required: true, pattern : /^(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.((1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.){2}(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)$/ , message: "请输入正确的IP地址", trigger: "blur" }],
equipFactory: [ equipFactory: [
{ required: true, message: "请输入设备厂商", trigger: "blur" }, { required: true, message: "请输入设备厂商", trigger: "blur" },
], ],
......
...@@ -136,7 +136,7 @@ import { ...@@ -136,7 +136,7 @@ import {
selectForSite, selectForSite,
selectForFsu, selectForFsu,
selectForEquip, selectForEquip,
railWaylist railWaylist,
} from "../../api"; } from "../../api";
import { successAlert, warningAlert } from "@/utils/alert"; import { successAlert, warningAlert } from "@/utils/alert";
export default { export default {
...@@ -155,12 +155,13 @@ export default { ...@@ -155,12 +155,13 @@ export default {
size: 10, size: 10,
}, },
rules: { rules: {
wayId: [{ required: true, message: "请选择铁路线", trigger: "blur" }],
wayId: [{ required: true, message: "请选择铁路线", trigger: "blur" }],
siteId: [{ required: true, message: "请选择站点", trigger: "blur" }], siteId: [{ required: true, message: "请选择站点", trigger: "blur" }],
fsuId: [{ required: true, message: "请选择FSU", trigger: "blur" }], fsuId: [{ required: true, message: "请选择FSU", trigger: "blur" }],
equipId: [{ required: true, message: "请选择监测设备", trigger: "blur" }], equipId: [
{ required: true, message: "请选择监测设备", trigger: "blur" },
],
antennaFeederLength: [ antennaFeederLength: [
{ required: true, message: "请输入天馈线长度", trigger: "blur" }, { required: true, message: "请输入天馈线长度", trigger: "blur" },
], ],
...@@ -229,6 +230,8 @@ export default { ...@@ -229,6 +230,8 @@ export default {
submit() { submit() {
this.$refs.leakyCableForm.validate((valid) => { this.$refs.leakyCableForm.validate((valid) => {
if (valid) { if (valid) {
console.log(this.leakyCableForm);
this.leakyCableForm.parentId = this.leakyCableForm.equipId;
leakyCablesave(this.leakyCableForm).then((res) => { leakyCablesave(this.leakyCableForm).then((res) => {
if (res.code == 200) { if (res.code == 200) {
successAlert("添加成功"); successAlert("添加成功");
......
...@@ -99,7 +99,7 @@ ...@@ -99,7 +99,7 @@
placeholder="请输入设备所在铁路公里标" placeholder="请输入设备所在铁路公里标"
/> />
</el-form-item> </el-form-item>
<el-form-item label="安装日期:" prop="installDate"> <!-- <el-form-item label="安装日期:" prop="installDate">
<el-date-picker <el-date-picker
v-model="monitorForm.installDate" v-model="monitorForm.installDate"
type="datetime" type="datetime"
...@@ -121,7 +121,7 @@ ...@@ -121,7 +121,7 @@
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item> -->
</el-form> </el-form>
<div class="btn"> <div class="btn">
<el-button type="primary" @click="reset">重置</el-button> <el-button type="primary" @click="reset">重置</el-button>
...@@ -155,17 +155,16 @@ export default { ...@@ -155,17 +155,16 @@ export default {
size: 10, size: 10,
}, },
rules: { rules: {
wayId: [{ required: true, message: "请选择铁路线", trigger: "blur" }], wayId: [{ required: true, message: "请选择铁路线", trigger: "blur" }],
siteId: [{ required: true, message: "请选择站点", trigger: "blur" }], siteId: [{ required: true, message: "请选择站点", trigger: "blur" }],
fsuId: [{ required: true, message: "请选择FSU", trigger: "blur" }], fsuId: [{ required: true, message: "请选择FSU", trigger: "blur" }],
equipCode: [ equipCode: [
{ required: true, message: "请输入设备身份编号", trigger: "blur" }, { required: true, message: "请输入设备身份编号", trigger: "blur" },
], ],
equipFactory: [ equipFactory: [
{ required: true, message: "请输入设备厂商", trigger: "blur" }, { required: true, message: "请输入设备厂商", trigger: "blur" },
], ],
ip: [{ required: true, message: "请输入IP", trigger: "blur" }], ip: [{ required: true, pattern : /^(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.((1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.){2}(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)$/ , message: "请输入正确的IP地址", trigger: "blur" }],
equipMode: [ equipMode: [
{ required: true, message: "请选择设备型号", trigger: "blur" }, { required: true, message: "请选择设备型号", trigger: "blur" },
], ],
......
...@@ -53,11 +53,9 @@ export default { ...@@ -53,11 +53,9 @@ export default {
endPointName: [ endPointName: [
{ required: true, message: "请输入铁路线终点站名", trigger: "blur" }, { required: true, message: "请输入铁路线终点站名", trigger: "blur" },
], ],
totalLong: [ totalLong: [
{ required: true, message: "请输入铁路全长公里数", trigger: "blur" }, { required: true, pattern:/^(([^0][0-9]+|0)\.([0-9]{1,2})$)|^(([^0][0-9]+|0)$)|^(([1-9]+)\.([0-9]{1,5})$)|^(([1-9]+)$)/, message: "请输入整数或小数(小数点后最多5位)", trigger: "blur" },
],
siteLongitude: [
{ required: true, message: "请输入铁路全长公里数", trigger: "blur" },
], ],
}, },
}; };
......
...@@ -202,14 +202,19 @@ export default { ...@@ -202,14 +202,19 @@ export default {
}, },
reset() { reset() {
this.FSUForm = formInit(); this.FSUForm = formInit();
this.getTableData(); this.searchQuery();
}, },
exportData() { exportData() {
// let ids = []; // let ids = [];
// this.ids.length != 0 ? (ids = this.ids) : (ids = this.exids); // this.ids.length != 0 ? (ids = this.ids) : (ids = this.exids);
if (this.exids.length == 0) {
this.$message.warning("暂无数据");
return false;
} else {
exportFsu({ ids: this.exids }).then((res) => { exportFsu({ ids: this.exids }).then((res) => {
download(res, "vnd.ms-excel", `FSU表.xls`); download(res, "vnd.ms-excel", `FSU表.xls`);
}); });
}
}, },
handleSelectionChange(val) { handleSelectionChange(val) {
this.multipleSelection = val; this.multipleSelection = val;
...@@ -217,6 +222,7 @@ export default { ...@@ -217,6 +222,7 @@ export default {
this.ids = this.multipleSelection.map((i) => i.id); this.ids = this.multipleSelection.map((i) => i.id);
}, },
handleView(row) { handleView(row) {
console.log(row);
this.$router.push({ this.$router.push({
path: "/detail", path: "/detail",
query: { query: {
......
...@@ -259,13 +259,18 @@ export default { ...@@ -259,13 +259,18 @@ export default {
}, },
reset() { reset() {
this.leakyCableForm = formInit(); this.leakyCableForm = formInit();
this.getTableData(); this.searchQuery();
}, },
exportData() { exportData() {
if (this.exids.length == 0) {
this.$message.warning("暂无数据");
return false;
} else {
exportLeaky({ ids: this.exids }).then((res) => { exportLeaky({ ids: this.exids }).then((res) => {
download(res, "vnd.ms-excel", `漏缆表.xls`); download(res, "vnd.ms-excel", `漏缆表.xls`);
}); });
}
}, },
handleSelectionChange(val) { handleSelectionChange(val) {
this.multipleSelection = val; this.multipleSelection = val;
......
...@@ -213,13 +213,18 @@ export default { ...@@ -213,13 +213,18 @@ export default {
}, },
reset() { reset() {
this.monitorForm = formInit(); this.monitorForm = formInit();
this.getTableData(); this.searchQuery();
}, },
exportData() { exportData() {
if (this.exids.length == 0) {
this.$message.warning("暂无数据");
return false;
} else {
exportMonitorEquip({ ids: this.exids }).then((res) => { exportMonitorEquip({ ids: this.exids }).then((res) => {
download(res, "vnd.ms-excel", `监测设备表.xls`); download(res, "vnd.ms-excel", `监测设备表.xls`);
}); });
}
}, },
handleSelectionChange(val) { handleSelectionChange(val) {
this.multipleSelection = val; this.multipleSelection = val;
......
...@@ -166,13 +166,18 @@ export default { ...@@ -166,13 +166,18 @@ export default {
}, },
reset() { reset() {
this.railData = formInit(); this.railData = formInit();
this.getTableData(); this.searchQuery();
}, },
exportData() { exportData() {
if (this.exids.length == 0) {
this.$message.warning("暂无数据");
return false;
} else {
exportRailWay({ ids: this.exids }).then((res) => { exportRailWay({ ids: this.exids }).then((res) => {
download(res, "vnd.ms-excel", `铁路线表.xls`); download(res, "vnd.ms-excel", `铁路线表.xls`);
}); });
}
}, },
handleSelectionChange(val) { handleSelectionChange(val) {
this.multipleSelection = val; this.multipleSelection = val;
...@@ -181,6 +186,7 @@ export default { ...@@ -181,6 +186,7 @@ export default {
}, },
handleView(row) { handleView(row) {
console.log(row);
this.$router.push({ this.$router.push({
path: "/detail", path: "/detail",
query: { query: {
......
...@@ -167,12 +167,17 @@ export default { ...@@ -167,12 +167,17 @@ export default {
}, },
reset() { reset() {
this.siteForm = formInit(); this.siteForm = formInit();
this.getTableData(); this.searchQuery();
}, },
exportData() { exportData() {
if (this.exids.length == 0) {
this.$message.warning("暂无数据");
return false;
} else {
exportSite({ ids: this.exids }).then((res) => { exportSite({ ids: this.exids }).then((res) => {
download(res, "vnd.ms-excel", `站点表.xls`); download(res, "vnd.ms-excel", `站点表.xls`);
}); });
}
}, },
handleSelectionChange(val) { handleSelectionChange(val) {
this.multipleSelection = val; this.multipleSelection = val;
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
</div> </div>
</div> </div>
<div v-if="isQuery"> <div v-if="isQuery">
<search @search="getTableData" ref="reset" /> <search @search="search" ref="reset" />
</div> </div>
<el-table <el-table
:data="tableData" :data="tableData"
...@@ -24,12 +24,12 @@ ...@@ -24,12 +24,12 @@
<el-table-column prop="operateTypeName" label="操作类别" align="center" /> <el-table-column prop="operateTypeName" label="操作类别" align="center" />
<el-table-column prop="operateObjName" label="操作对象" align="center" /> <el-table-column prop="operateObjName" label="操作对象" align="center" />
<el-table-column prop="objectName" label="对象名称" align="center" /> <el-table-column prop="objectName" label="对象名称" align="center" />
<el-table-column prop="operateContent" label="操作内容" align="center" />
<el-table-column <el-table-column
prop="operateContent" prop="operateResultName"
label="操作内容" label="操作结果"
align="center" align="center"
/> />
<el-table-column prop="operateResultName" label="操作结果" align="center" />
<el-table-column prop="creationTime" label="操作时间" align="center" /> <el-table-column prop="creationTime" label="操作时间" align="center" />
</el-table> </el-table>
<Pagination <Pagination
...@@ -40,13 +40,13 @@ ...@@ -40,13 +40,13 @@
@pagination="handlePageChange" @pagination="handlePageChange"
/> />
</div> </div>
</template> </template>
<script> <script>
import { logList } from '../api' import { logList } from "../api";
import search from './components/search.vue' import search from "./components/search.vue";
import { exportLog } from '@/api/export' import { exportLog } from "@/api/export";
import download from '@/utils/download' import download from "@/utils/download";
import { successAlert, warningAlert } from "@/utils/alert";
export default { export default {
data() { data() {
return { return {
...@@ -57,45 +57,69 @@ export default { ...@@ -57,45 +57,69 @@ export default {
total: 10, total: 10,
tableData: [], tableData: [],
isQuery: false, isQuery: false,
istrue:0,
searchOption: {}, searchOption: {},
exids:[] exids: [],
}; };
}, },
components: { components: {
search search,
}, },
methods: { methods: {
handlePageChange(pageData) { handlePageChange(pageData) {
this.params.size = pageData.size; this.params.size = pageData.size
this.params.current = pageData.page; this.params.current = pageData.page
this.getTableData() this.getTableData();
}, },
refresh() { refresh() {
this.$refs.reset != undefined ? (this.$refs.reset.reset()) : (this.getTableData()) this.$refs.reset != undefined
? this.$refs.reset.reset()
: this.getTableData();
}, },
getTableData(option) { search(option){
this.istrue=1
this.searchOption = option this.searchOption = option
this.getTableData()
},
getTableData() {
let params = { let params = {
...this.params, ...this.params,
...option ...this.searchOption,
} };
logList(params).then(res => { logList(params).then((res) => {
let list = res.records || [] let list = res.records || [];
this.tableData = list this.tableData = list;
this.total = res.total this.total = res.total;
this.exids = list.map((i)=>i.id) this.exids = list.map((i) => i.id);
}) if (this.istrue==1) {
if (this.tableData.length != 0) {
successAlert("查询成功");
} else {
warningAlert("查询结果为空");
}
this.istrue=0
}
});
}, },
tableRowClassName({ row, rowIndex }) { tableRowClassName({ row, rowIndex }) {
return rowIndex % 2 === 0 ? '' : 'single-row' return rowIndex % 2 === 0 ? "" : "single-row";
}, },
exportLog() { exportLog() {
exportLog({ids:this.exids}).then(res => { if (this.exids.length == 0) {
download(res, 'vnd.ms-excel', `用户日志.xls`) this.$message.warning("暂无数据");
}) return false;
} } else {
exportLog({ ids: this.exids }).then((res) => {
download(res, "vnd.ms-excel", `用户日志.xls`);
});
}
},
},
mounted() {
this.getTableData();
}, },
mounted() { this.getTableData() },
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
......
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