Commit b936d57d authored by yanzhongrong's avatar yanzhongrong

Code specification

parent d591d068
<template>
<div id="app">
<router-view />
<audio ref="audio" src="./assets/audio/urgent.wav" muted="true" loop="false" />
<audio
ref="audio"
src="./assets/audio/urgent.wav"
muted="true"
loop="false"
/>
<transition name="tipalerm">
<div v-if="tflag" class="tips">
<p>提示</p>
<span>系统新增{{ msg.count }}
<span
>系统新增{{ msg.count }}
<span v-text="msg.type == 1 ? '设备连接' : '漏缆监测'" />
<span id="alevel" :style="alevel">{{ msg.level }}</span>告警消息,请及时查看!
<span id="alevel" :style="alevel">{{ msg.level }}</span
>告警消息,请及时查看!
</span>
</div>
</transition>
......@@ -48,7 +55,7 @@ export default {
watch: {
$route(to, from) {
if (to.path === '/login') {
setTimeout(this.closeWebsocket(), 300)
setTimeout(this.closeWebsocket(), 300);
}
},
usertoken: {
......@@ -56,9 +63,9 @@ export default {
handler(newV) {
if (newV) {
if (newV !== '') {
this.websocket = socket({ onmessage: this.receiveMessage })
this.websocket = socket({ onmessage: this.receiveMessage });
} else {
this.closeWebsocket()
this.closeWebsocket();
}
}
}
......@@ -67,11 +74,11 @@ export default {
handler(newV) {
if (newV.length || this.deviceList.length) {
setTimeout(() => {
this.$refs.audio.play()
this.$refs.audio.loop = true
this.$refs.audio.play();
this.$refs.audio.loop = true;
}, 500)
} else {
this.$refs.audio.loop = false
this.$refs.audio.loop = false;
}
}
}
......@@ -80,35 +87,35 @@ export default {
document.body.addEventListener(
'mousedown',
() => {
this.$refs.audio.muted = false
document.body.removeEventListener('mousedown', () => {})
this.$refs.audio.muted = false;
document.body.removeEventListener('mousedown', () => { });
},
false
)
EventBus.$on('dialogAlarm', (data) => {
// 接收消息之后 声音弹窗显示
this.msg = data
this.levelcolor()
this.tflag = true
this.msg = data;
this.levelcolor();
this.tflag = true;
setTimeout(() => {
this.tflag = false
this.tflag = false;
}, 3000)
})
EventBus.$on('autioPlay', (data) => {
this.audioUrl = './assets/audio/' + this.audioObj[data.level]
this.audioUrl = './assets/audio/' + this.audioObj[data.level];
setTimeout(() => {
this.$refs.audio.play()
this.$refs.audio.play();
}, 500)
if (this.cableList.length || this.deviceList.length) {
this.$refs.audio.loop = true
this.$refs.audio.loop = true;
}
})
EventBus.$on('cancelWS', () => {
this.closeWebsocket()
this.closeWebsocket();
})
},
destroyed() {
document.body.removeEventListener('mousedown', () => {})
document.body.removeEventListener('mousedown', () => { });
},
methods: {
receiveMessage,
......@@ -119,20 +126,19 @@ export default {
},
levelcolor() {
if (this.msg.level === '正常' || this.msg.level === '连接正常') {
this.alevel.color = 'green'
this.alevel.color = 'green';
} else if (this.msg.level === '紧急' || this.msg.level === '连接异常') {
this.alevel.color = '#f00'
this.alevel.color = '#f00';
} else if (this.msg.level === '重要') {
this.alevel.color = '#f89850'
this.alevel.color = '#f89850';
} else if (this.msg.level === '一般') {
this.alevel.color = '#ead906'
this.alevel.color = '#ead906';
}
}
}
}
</script>
<style lang="scss" scoped>
#app {}
.tipalerm-enter-active {
transition: 0.5s;
}
......
......@@ -52,7 +52,6 @@
:expand-on-click-node="false"
@node-click="handleClick"
>
<!-- :current-node-key='id' -->
</el-tree>
</el-scrollbar>
</div>
......@@ -95,6 +94,7 @@ export default {
this.getInit();
},
methods: {
// 展开
toOpen() {
this.isOpen = !this.isOpen;
this.openOrNot = false;
......@@ -102,6 +102,7 @@ export default {
this.openOrNot = true;
}, 10);
},
// 点击节点
handleClick(data, node) {
this.treeClickCount++;
if (this.treeClickCount >= 2) {
......@@ -119,6 +120,7 @@ export default {
}, 300)
},
// 初始化数据
getInit() {
this.loading = true;
getTree().then((res) => {
......@@ -130,6 +132,7 @@ export default {
}
});
},
// 动态渲染树
renderContent(h, { node, data, store }) {
return (
<div>
......@@ -143,9 +146,9 @@ export default {
</span>
</div>
);
},
}
},
};
}
</script>
<style lang="scss">
......
......@@ -8,16 +8,13 @@ import getPageTitle from '@/utils/get-page-title'
NProgress.configure({ showSpinner: false }) // NProgress Configuration
const whiteList = ['/login'] // no redirect whitelist
const whiteList = ['/login']
router.beforeEach(async(to, from, next) => {
// start progress bar
NProgress.start()
// set page title
document.title = getPageTitle(to.meta.title)
// determine whether the user has logged in
const hasToken = getToken()
if (hasToken) {
......@@ -25,21 +22,17 @@ router.beforeEach(async(to, from, next) => {
next({ path: '/' })
NProgress.done()
} else {
// const hasGetUserInfo = store.getters.userName
const hasRoles = store.state.user && store.state.user.roles.length > 0
if (hasRoles) {
next()
} else {
try {
// get user info
const { isAdmin } = await store.dispatch('user/getInfo')
const roles = isAdmin == 1 ? ['admin'] : ['editor']
const accessRoutes = await store.dispatch('permission/generateRoutes', roles)
router.addRoutes(accessRoutes)
next({ ...to, replace: true })
} catch (error) {
// remove token and go to login page to re-login
await store.dispatch('user/resetToken')
Message.error(error || 'Has Error')
next(`/login?redirect=${to.path}`)
......
......@@ -3,28 +3,8 @@ import Router from 'vue-router'
Vue.use(Router)
/* Layout */
import Layout from '@/layout'
/**
* Note: sub-menu only appear when route children.length >= 1
* Detail see: https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html
*
* hidden: true if set true, item will not show in the sidebar(default is false)
* alwaysShow: true if set true, will always show the root menu
* if not set alwaysShow, when item has more than one children route,
* it will becomes nested mode, otherwise not show the root menu
* redirect: noRedirect if set noRedirect will no redirect in the breadcrumb
* name:'router-name' the name is used by <keep-alive> (must set!!!)
* meta : {
roles: ['admin','editor'] control the page roles (you can set multiple roles)
title: 'title' the name show in sidebar and breadcrumb (recommend set)
icon: 'svg-name'/'el-icon-x' the icon show in the sidebar
breadcrumb: false if set false, the item will hidden in breadcrumb(default is true)
activeMenu: '/example/list' if set path, the sidebar will highlight the path you set
}
*/
/**
* constantRoutes
* a base page that does not have permission requirements
......@@ -38,13 +18,6 @@ export const constantRoutes = [
hidden: true
},
// {
// path: '/404',
// component: () => import('@/views/404'),
// meta:{title:"404"},
// hidden: true
// },
{
path: '/',
component: Layout,
......@@ -249,7 +222,6 @@ const createRouter = () => new Router({
const router = createRouter()
// Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465
export function resetRouter() {
const newRouter = createRouter()
router.matcher = newRouter.matcher // reset router
......
......@@ -84,7 +84,7 @@ service.interceptors.response.use(
return res
},
error => {
console.log('err' + error) // for debug
// console.log('err' + error) // for debug
if (error.response) {
endLoading(error.response.config.el)
if (!error.response.config.silence) {
......
......@@ -25,7 +25,6 @@ export default function socket(handlerOptions) {
//连接成功建立的回调方法
websocket.onopen = function() {
console.info("Websocket连接成功")
console.log(websocket.readyState);
heart.start()
onopen && onopen()
}
......
import request from '@/utils/request'
import request from '@/utils/request';
const path = {
cableTimeList: 'sysMonitorAlarm/selectPage',
......@@ -11,22 +11,21 @@ const path = {
}
export function cableTimeList() {
return request.post(path.cableTimeList, ...arguments)
return request.post(path.cableTimeList, ...arguments);
}
export function cableCancel() {
return request.post(path.cableCancel, ...arguments)
return request.post(path.cableCancel, ...arguments);
}
export function cableConfirm() {
return request.post(path.cableConfirm, ...arguments)
return request.post(path.cableConfirm, ...arguments);
}
export function deviceList() {
return request.post(path.deviceList, ...arguments)
return request.post(path.deviceList, ...arguments);
}
export function deviceConfirm() {
return request.post(path.deviceConfirm, ...arguments)
return request.post(path.deviceConfirm, ...arguments);
}
export function deviceCancel() {
return request.post(path.deviceCancel, ...arguments)
return request.post(path.deviceCancel, ...arguments);
}
This diff is collapsed.
......@@ -23,7 +23,8 @@
</template>
<script>
import { ConnectStatusEnum } from '@/const/index'
import { ConnectStatusEnum } from '@/const/index';
export default {
name: 'Search',
data() {
......@@ -33,18 +34,16 @@ export default {
dateRange: []
}
},
mounted() {
},
methods: {
toSearch() {
this.form.startUploadTime = this.dateRange[0]
this.form.endUploadTime = this.dateRange[1]
this.$emit('search', this.form)
this.form.startUploadTime = this.dateRange[0];
this.form.endUploadTime = this.dateRange[1];
this.$emit('search', this.form);
},
reset() {
this.dateRange = []
this.form = formInit()
this.$emit('search')
this.dateRange = [];
this.form = formInit();
this.$emit('search');
}
}
}
......
......@@ -53,13 +53,13 @@
scope.row.confirmStatus === 1 &&
scope.row.connectStatusName == '连接正常'
"
@click="cancel2(scope.row)"
@click="cancelAlarm(scope.row)"
>取消</el-button
>
<el-button
type="text"
v-else-if="scope.row.confirmStatus === 0"
@click="confirm2(scope.row)"
@click="confirmAlarm(scope.row)"
>确认</el-button
>
</template>
......@@ -121,6 +121,7 @@ import { exportConnet } from "@/api/export";
import search from "./components/search.vue";
import download from "@/utils/download";
import { successAlert, warningAlert } from "@/utils/alert";
export default {
name:'device',
components: { search },
......@@ -152,10 +153,8 @@ export default {
exids: []
}
},
mounted() {
this.getTableData()
},
created() {
this.getTableData()
this.searchOption = this.$route.query
},
methods: {
......@@ -177,26 +176,30 @@ export default {
return "stripe";
}
},
// 刷新
refresh() {
this.$refs.reset != undefined
? this.$refs.reset.reset()
: this.getTableData();
},
// 分页更改
handlePageChange(pageData) {
this.params.size = pageData.size;
this.params.current = pageData.page;
this.getTableData();
},
// 查询
search(option) {
this.istrue = 1;
this.searchOption = option;
this.getTableData();
},
// 获取数据
getTableData() {
let param = {
confirmStatus: this.confirmStatus,
...this.params,
...this.searchOption,
...this.searchOption
};
deviceList(param).then((res) => {
let list = res.records || [];
......@@ -213,38 +216,43 @@ export default {
}
});
},
confirm2(row) {
// 表格确认告警
confirmAlarm(row) {
this.centerDialogVisible = true;
this.dialogInfo = row;
},
// 编辑确认告警
confirm(dialogInfo) {
let id = dialogInfo.id;
deviceConfirm({ id: id }).then((res) => {
this.getTableData();
this.$store.dispatch('alarm/getDevice')
this.$store.dispatch('alarm/getDevice');
});
this.centerDialogVisible = false;
},
cancel2(row) {
// 表格取消告警
cancelAlarm(row) {
this.centerDialogVisible = true;
this.dialogInfo = row;
},
// 编辑取消告警
cancel(dialogInfo) {
let query = {
connectStatusName: dialogInfo.connectStatusName,
id: dialogInfo.id,
id: dialogInfo.id
};
deviceCancel(query).then((res) => {
this.getTableData();
});
this.centerDialogVisible = false;
},
// 切换是否确认告警
changeType(item) {
this.confirmStatus = item.key;
this.params.current = 1
this.params.current = 1;
this.getTableData();
},
// 导出
exportList() {
if (this.exids.length == 0) {
this.$message.warning("暂无数据");
......
......@@ -14,30 +14,30 @@ const path = {
}
export function treeBaseInfo() {
return request.post(path.treeBaseInfo, ...arguments)
return request.post(path.treeBaseInfo, ...arguments);
}
export function railWayOpen() {
return request.post(path.railWayOpen, ...arguments)
return request.post(path.railWayOpen, ...arguments);
}
export function siteOpen() {
return request.post(path.siteOpen, ...arguments)
return request.post(path.siteOpen, ...arguments);
}
export function fsuOpen() {
return request.post(path.fsuOpen, ...arguments)
return request.post(path.fsuOpen, ...arguments);
}
export function monitorEquipOpen() {
return request.post(path.monitorEquipOpen, ...arguments)
return request.post(path.monitorEquipOpen, ...arguments);
}
export function leakyCableOpen() {
return request.post(path.leakyCableOpen, ...arguments)
return request.post(path.leakyCableOpen, ...arguments);
}
export function updateFeeder() {
return request.post(path.updateFeeder, ...arguments)
return request.post(path.updateFeeder, ...arguments);
}
export function getYear() {
return request.post(path.getYear, ...arguments)
return request.post(path.getYear, ...arguments);
}
export function getMonth() {
return request.post(path.getMonth, ...arguments)
return request.post(path.getMonth, ...arguments);
}
......@@ -25,19 +25,19 @@ export default {
props: {
type: {
type: [Number, String],
defualt: null,
defualt: null
},
curInfo: {
type: Object,
default: () => {},
default: () => {}
},
curId: {
type: [Number, String],
defualt: null,
defualt: null
},
selectId: {
type: [Number, String],
defualt: null,
defualt: null
}
},
computed: {
......@@ -59,7 +59,7 @@ export default {
},
cancel() {
this.$emit("cancel");
},
},
}
}
};
</script>
\ No newline at end of file
// 公共文件
import { formInit } from '../const'
export const DetailMixins = {
......
......@@ -56,13 +56,15 @@
<el-col :span="10">
<el-button
v-if="
form.status.connectAlarm == '告警' || form.status.connectAlarm == '连接异常'
form.status.connectAlarm == '告警' ||
form.status.connectAlarm == '连接异常'
"
class="alarmbtn"
type="primary"
size="mini"
@click="toalarm(form.status.connectAlarm)"
>处理告警</el-button>
>处理告警</el-button
>
</el-col>
</el-row>
</el-col>
......@@ -78,12 +80,17 @@
}}</el-col>
<el-col :span="10">
<el-button
v-if="form.status.monitorAlarm != '正常' && form.status.monitorAlarm != '' && form.status.monitorAlarm != undefined"
v-if="
form.status.monitorAlarm != '正常' &&
form.status.monitorAlarm != '' &&
form.status.monitorAlarm != undefined
"
class="alarmbtn"
type="primary"
size="mini"
@click="toalarm(form.status.monitorAlarm)"
>处理告警</el-button>
>处理告警</el-button
>
</el-col>
</el-row>
</el-col>
......@@ -151,14 +158,16 @@
type="text"
class="savebtn"
@click="editbtn()"
><svg-icon icon-class="edit" /> 编辑</el-button>
><svg-icon icon-class="edit" /> 编辑</el-button
>
<el-button
v-else
style="float: right; padding: 3px 0; margin-right: 20px"
type="text"
class="savebtn"
@click="savebtn()"
><svg-icon icon-class="save" /> 保存</el-button>
><svg-icon icon-class="save" /> 保存</el-button
>
</div>
<div>
<el-row class="text" :gutter="24">
......@@ -250,9 +259,10 @@
</template>
<script>
import { DetailMixins } from './mixins'
import { getUserName } from '@/utils/auth'
import { railWayOpen } from '../api'
import { DetailMixins } from './mixins';
import { getUserName } from '@/utils/auth';
import { railWayOpen } from '../api';
export default {
name: 'Type1',
mixins: [DetailMixins],
......@@ -269,7 +279,7 @@ export default {
},
computed: {
userName() {
return getUserName()
return getUserName();
}
},
watch: {
......@@ -277,16 +287,17 @@ export default {
immediate: true,
handler(newV) {
if (newV) {
this.waylevelcolor()
this.waylevelcolor2()
this.waylevelcolor();
this.waylevelcolor2();
}
}
},
deep: true
},
methods: {
// 保存
savebtn() {
this.flag = true
this.flag = true;
const params = {
id: this.form.baseInfo.id,
name: this.form.baseInfo.name,
......@@ -296,43 +307,45 @@ export default {
totalLong: this.form.baseInfo.totalLong
}
railWayOpen(params).then((res) => {
this.$message.success('修改成功')
this.$message.success('修改成功');
})
},
// 数据更新,判断状态更新
waylevelcolor() {
if (this.form.status.monitorAlarm === '正常') {
this.acolor.color = 'green'
this.acolor.color = 'green';
} else if (this.form.status.monitorAlarm === '紧急') {
this.acolor.color = '#f00'
this.form.status.monitorAlarm = '紧急告警'
this.acolor.color = '#f00';
this.form.status.monitorAlarm = '紧急告警';
} else if (this.form.status.monitorAlarm === '重要') {
this.acolor.color = '#f89850'
this.form.status.monitorAlarm = '重要告警'
this.acolor.color = '#f89850';
this.form.status.monitorAlarm = '重要告警';
} else if (this.form.status.monitorAlarm === '一般') {
this.acolor.color = '#ead906'
this.form.status.monitorAlarm = '一般告警'
this.acolor.color = '#ead906';
this.form.status.monitorAlarm = '一般告警';
}
},
// 数据更新,判断状态更新
waylevelcolor2() {
if (this.form.status.connectAlarm === '连接正常') {
this.acolor3.color = 'green'
this.acolor3.color = 'green';
} else if (this.form.status.connectAlarm === '连接异常') {
this.acolor3.color = '#f00'
this.form.status.connectAlarm = '告警'
this.acolor3.color = '#f00';
this.form.status.connectAlarm = '告警';
}
},
// 处理告警
toalarm(data) {
let topath = ''
let topath = '';
if (data === '告警') {
topath = '/alarm/device'
topath = '/alarm/device';
} else {
topath = '/alarm/cableTime'
topath = '/alarm/cableTime';
}
this.$router.push({
path: topath,
query: {
wayId: this.form.baseInfo.id
}
})
}
......@@ -364,11 +377,7 @@ export default {
position: absolute;
right: 2%;
}
// .el-col {
// margin-bottom: 20px;
// }
.text {
// display: flex;
padding: 10px 20px 10px 20px;
border-bottom: 1px solid #e3e3e3;
&:last-child {
......@@ -390,7 +399,6 @@ export default {
margin-top: 12px;
margin-bottom: 12px;
}
.value_handle {
margin-right: 10px;
min-width: 52px;
......
......@@ -127,7 +127,9 @@
<div class="item_name">站点经度</div>
</el-col>
<el-col :span="colspan">
<div class="item_data">{{ changeToLngDFM(form.baseInfo.siteLatitude) }}</div>
<div class="item_data">
{{ changeToLngDFM(form.baseInfo.siteLatitude) }}
</div>
</el-col>
</el-row>
<el-row class="text" :gutter="24">
......@@ -135,17 +137,11 @@
<div class="item_name">站点纬度</div>
</el-col>
<el-col :span="colspan">
<div class="item_data">{{ changeToLatDFM(form.baseInfo.siteLongitude) }}</div>
<div class="item_data">
{{ changeToLatDFM(form.baseInfo.siteLongitude) }}
</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="colspan">
<div class="item_data"></div>
</el-col>
</el-row> -->
<el-row class="text" :gutter="24">
<el-col :span="10">
<div class="item_name">漏缆根数</div>
......@@ -235,13 +231,12 @@
</template>
<script>
import { changeToLngDFM,
changeToLatDFM } from '@/utils/index'
import { changeToLngDFM, changeToLatDFM } from '@/utils/index';
import { DetailMixins } from "./mixins";
import { siteOpen } from "../api";
export default {
name: "Dashboard",
name: "Type2",
mixins: [DetailMixins],
data() {
return {
......@@ -260,7 +255,7 @@ export default {
if (this.form.status) {
return this.form.status;
} else {
return this.defaultList
return this.defaultList;
}
},
},
......@@ -272,8 +267,6 @@ export default {
this.$nextTick(function () {
this.levelcolor2();
});
}
},
},
......@@ -281,40 +274,43 @@ export default {
methods: {
changeToLngDFM,
changeToLatDFM,
// 保存
savebtn() {
this.flag = true;
siteOpen(this.info()).then((res) => {
this.$message.success("修改成功");
});
},
// 实时告警判断状态
levelcolor2() {
let la = document.getElementsByClassName("levelData")
let dom = document.getElementsByClassName("levelData")
for (var i = 0; i < this.statusAlarmfun.length; i++) {
if (la[i].innerHTML == "连接正常") {
la[i].style.color = "green";
la[i].innerHTML = "连接正常"
} if (la[i].innerHTML == "连接异常") {
la[i].style.color = "#f00";
la[i].innerHTML = "告警"
} if (la[i].innerHTML == "正常") {
la[i].style.color = "green";
} if (la[i].innerHTML == "紧急") {
la[i].style.color = "#f00";
} if (la[i].innerHTML == "重要") {
la[i].style.color = "#f89850";
la[i].innerHTML = "重要告警"
} if (la[i].innerHTML == "一般") {
la[i].style.color = "#ead906";
la[i].innerHTML = "一般告警"
if (dom[i].innerHTML == "连接正常") {
dom[i].style.color = "green";
dom[i].innerHTML = "连接正常";
} if (dom[i].innerHTML == "连接异常") {
dom[i].style.color = "#f00";
dom[i].innerHTML = "告警";
} if (dom[i].innerHTML == "正常") {
dom[i].style.color = "green";
} if (dom[i].innerHTML == "紧急") {
dom[i].style.color = "#f00";
} if (dom[i].innerHTML == "重要") {
dom[i].style.color = "#f89850";
dom[i].innerHTML = "重要告警";
} if (dom[i].innerHTML == "一般") {
dom[i].style.color = "#ead906";
dom[i].innerHTML = "一般告警";
}
}
},
// 处理告警
toalarm(data) {
let topath = ''
if (data === '设备状态') {
topath = '/alarm/device'
topath = '/alarm/device';
} else {
topath = '/alarm/cableTime'
topath = '/alarm/cableTime';
}
this.$router.push({
path: topath,
......@@ -331,7 +327,6 @@ export default {
::v-deep.el-card {
border: 1px solid #e3e3e3;
border-radius: 8px;
// min-height: 243px;
.el-card__header {
font-size: 18px;
color: #333333;
......@@ -355,9 +350,7 @@ export default {
position: absolute;
top: 328px;
}
.text {
// display: flex;
padding: 10px 20px 10px 20px;
border-bottom: 1px solid #e3e3e3;
&:last-child {
......@@ -379,7 +372,6 @@ export default {
margin-top: 12px;
margin-bottom: 12px;
}
.value_handle {
color: red;
margin-right: 10px;
......
......@@ -40,15 +40,13 @@
<el-card shadow="never">
<div slot="header" class="clearfix posa">
<span>基础信息</span>
<el-button
<el-button
style="float: right; padding: 3px 0; margin-right: 20px"
type="text"
class="savebtn"
v-if="flag == true"
@click="editbtn()"
><svg-icon
icon-class="edit"
/> 编辑</el-button
><svg-icon icon-class="edit" /> 编辑</el-button
>
<el-button
style="float: right; padding: 3px 0; margin-right: 20px"
......@@ -56,9 +54,7 @@
class="savebtn"
v-else
@click="savebtn()"
><svg-icon
icon-class="save"
/> 保存</el-button
><svg-icon icon-class="save" /> 保存</el-button
>
</div>
<div>
......@@ -222,7 +218,12 @@
<span>当前状态</span>
</div>
<div>
<el-row v-for="(item, i) in statusList" :key="i" class="text" :gutter="24">
<el-row
v-for="(item, i) in statusList"
:key="i"
class="text"
:gutter="24"
>
<el-col :span="10">
<div class="item_name">{{ item.name }}</div>
</el-col>
......@@ -231,12 +232,18 @@
</el-col>
<el-col :span="6">
<el-button
v-if="item.value == '连接异常' || item.value == '紧急' || item.value == '重要' || item.value == '一般'"
v-if="
item.value == '连接异常' ||
item.value == '紧急' ||
item.value == '重要' ||
item.value == '一般'
"
class="alarmbtn"
type="primary"
size="mini"
@click="toalarm(item)"
>处理告警</el-button>
>处理告警</el-button
>
</el-col>
</el-row>
</div>
......@@ -247,10 +254,11 @@
</template>
<script>
import { DetailMixins } from './mixins'
import { fsuOpen } from '../api'
import { DetailMixins } from './mixins';
import { fsuOpen } from '../api';
export default {
name: 'Type5',
name: 'Type3',
mixins: [DetailMixins],
data() {
return {
......@@ -262,29 +270,31 @@ export default {
immediate: true,
handler(newV) {
if (newV) {
this.$nextTick(function() {
this.levelcolor()
this.$nextTick(function () {
this.levelcolor();
})
}
}
}
},
methods: {
// 保存
savebtn() {
this.flag = true
this.flag = true;
fsuOpen(this.info()).then((res) => {
this.$message.success('修改成功')
this.$message.success('修改成功');
})
},
// 处理告警
toalarm(item) {
let topath = ''
let toquery = {}
let topath = '';
let toquery = {};
if (item.name === '设备状态') {
topath = '/alarm/device'
toquery = { fsuId: this.form.baseInfo.id }
topath = '/alarm/device';
toquery = { fsuId: this.form.baseInfo.id };
} else {
topath = '/alarm/cableTime'
toquery = { alarmTargetName: item.name }
topath = '/alarm/cableTime';
toquery = { alarmTargetName: item.name };
}
this.$router.push({
path: topath,
......
......@@ -34,15 +34,13 @@
<el-card shadow="never">
<div slot="header" class="clearfix posa">
<span>基础信息</span>
<el-button
<el-button
style="float: right; padding: 3px 0; margin-right: 20px"
type="text"
class="savebtn"
v-if="flag == true"
@click="editbtn()"
><svg-icon
icon-class="edit"
/> 编辑</el-button
><svg-icon icon-class="edit" /> 编辑</el-button
>
<el-button
style="float: right; padding: 3px 0; margin-right: 20px"
......@@ -50,9 +48,7 @@
class="savebtn"
v-else
@click="savebtn()"
><svg-icon
icon-class="save"
/> 保存</el-button
><svg-icon icon-class="save" /> 保存</el-button
>
</div>
<div>
......@@ -197,11 +193,21 @@
<el-col :span="8">
<div class="item_data levelData">{{ item.value }}</div>
</el-col>
<el-col :span="6" >
<el-button class="alarmbtn" type="primary" size="mini"
v-if="item.value == '连接异常' || item.value == '紧急' || item.value == '重要' || item.value == '一般'"
@click="toalarm(item)" >处理告警</el-button>
</el-col>
<el-col :span="6">
<el-button
class="alarmbtn"
type="primary"
size="mini"
v-if="
item.value == '连接异常' ||
item.value == '紧急' ||
item.value == '重要' ||
item.value == '一般'
"
@click="toalarm(item)"
>处理告警</el-button
>
</el-col>
</el-row>
</div>
</el-card>
......@@ -212,62 +218,60 @@
<script>
import { DetailMixins } from "./mixins";
import { monitorEquipOpen } from "../api";
export default {
name: "Dashboard",
name: "Type4",
mixins: [DetailMixins],
data() {
return {
colspan:14,
colspan: 14,
};
},
mixins: [DetailMixins],
watch: {
statusList: {
immediate: true,
handler(newV) {
if (newV) {
this.$nextTick(function () {
this.levelcolor();
});
}
},
},
},
methods: {
// 保存
savebtn() {
this.flag = true;
monitorEquipOpen(this.info()).then((res) => {
this.$message.success("修改成功");
this.$message.success("修改成功");
});
},
toalarm(item){
let topath = ''
let toquery = {}
if (item.name == '设备状态') {
topath = '/alarm/device'
toquery = { monitorEquipId:this.form.baseInfo.id }
} else{
topath = '/alarm/cableTime'
toquery = { alarmTargetName :item.name }
}
// 处理告警
toalarm(item) {
let topath = '';
let toquery = {};
if (item.name == '设备状态') {
topath = '/alarm/device';
toquery = { monitorEquipId: this.form.baseInfo.id };
} else {
topath = '/alarm/cableTime';
toquery = { alarmTargetName: item.name };
}
this.$router.push({
path: topath,
query: toquery,
});
},
},
watch: {
statusList: {
immediate: true,
handler(newV) {
if (newV) {
this.$nextTick(function () {
this.levelcolor();
});
}
},
},
},
mounted() {},
};
}
</script>
<style lang="scss" scoped>
::v-deep.el-card {
border: 1px solid #e3e3e3;
border-radius: 8px;
// min-height: 243px;
.el-card__header {
font-size: 18px;
color: #333333;
......@@ -312,7 +316,6 @@ export default {
margin-top: 12px;
margin-bottom: 12px;
}
.el-card:last-child .text {
border-bottom: none !important;
}
......
......@@ -35,12 +35,13 @@
<div class="item_data">{{ form.log.monitor }}</div>
</el-col>
<el-col :span="6" />
<el-button
class="picbtn"
type="success"
size="mini"
@click="trendAnalysis"
>趋势分析图形</el-button>
<el-button
class="picbtn"
type="success"
size="mini"
@click="trendAnalysis"
>趋势分析图形</el-button
>
</el-row>
</div>
</el-card>
......@@ -56,14 +57,16 @@
type="text"
class="savebtn"
@click="editbtn()"
><svg-icon icon-class="edit" /> 编辑</el-button>
><svg-icon icon-class="edit" /> 编辑</el-button
>
<el-button
v-else
style="float: right; padding: 3px 0; margin-right: 20px"
type="text"
class="savebtn"
@click="savebtn()"
><svg-icon icon-class="save" /> 保存</el-button>
><svg-icon icon-class="save" /> 保存</el-button
>
</div>
<div>
<el-row class="text" :gutter="24">
......@@ -145,7 +148,8 @@
clearable
placeholder="请输入内容"
:disabled="flag"
><template slot="append">dB/m</template></el-input>
><template slot="append">dB/m</template></el-input
>
</div>
</el-col>
</el-row>
......@@ -228,27 +232,33 @@
<span>当前状态</span>
</div>
<div>
<!-- === -->
<el-row class="text" :gutter="24">
<el-col :span="10">
<div class="item_name">漏缆状态</div>
</el-col>
<el-col :span="8">
<div
v-if="statusl.length != 0"
v-if="stateEmergency.length != 0"
class="item_data levelData"
:style="acolor"
>{{statusl[0].value }}</div>
>
{{ stateEmergency[0].value }}
</div>
</el-col>
<el-col :span="6">
<el-button
v-if="form.status.length && (form.status[0].value == '紧急告警' || form.status[0].value == '重要告警' || form.status[0].value == '一般告警')
v-if="
form.status.length &&
(form.status[0].value == '紧急告警' ||
form.status[0].value == '重要告警' ||
form.status[0].value == '一般告警')
"
class="alarmbtn"
type="primary"
size="mini"
@click="toalarm()"
>处理告警</el-button>
>处理告警</el-button
>
</el-col>
</el-row>
<el-row class="text" :gutter="24">
......@@ -256,13 +266,13 @@
<div class="item_name">最后更新时间</div>
</el-col>
<el-col :span="colspan">
<div v-if="statusl.length != 0" class="item_data">
{{ statusl[1].value }}
<div v-if="stateEmergency.length != 0" class="item_data">
{{ stateEmergency[1].value }}
</div>
</el-col>
</el-row>
<el-row
v-for="(item, i) in long"
v-for="(item, i) in distanceList"
:key="i"
class="text"
:gutter="24"
......@@ -275,12 +285,9 @@
</div>
</el-col>
<el-col :span="colspan">
<div class="item_data">驻波比:{{ zhubobi[i].value }}</div>
<div class="item_data">驻波比:{{ standingWaveRatio[i].value }}</div>
</el-col>
</el-row>
<!-- ==== -->
<el-row class="text" :gutter="24">
<el-col :span="10">
<div class="item_name">百米损耗</div>
......@@ -296,57 +303,61 @@
type="success"
size="mini"
@click="generateChart"
>生成图形</el-button>
>生成图形</el-button
>
</el-col>
</el-row>
</div>
</el-card>
</el-col>
</el-row>
<picAnalysis :flag="curflag" :curInfo="curObj" @cancel="cancel" />
<trendAnalysis :flag="trendflag" :selectId="selectId" :curInfo="curInfo" :type="type==5 ? 0 : 1" @cancel="cancel" />
<trendAnalysis
:flag="trendflag"
:selectId="selectId"
:curInfo="curInfo"
:type="type == 5 ? 0 : 1"
@cancel="cancel"
/>
</div>
</template>
<script>
import { DetailMixins } from './mixins'
import { leakyCableOpen } from '../api'
import picAnalysis from '@/views/history/leakyCableStatus/components/picAnalysis.vue'
import trendAnalysis from './trendAnalysis.vue'
import { DetailMixins } from './mixins';
import { leakyCableOpen } from '../api';
import picAnalysis from '@/views/history/leakyCableStatus/components/picAnalysis.vue';
import trendAnalysis from './trendAnalysis.vue';
export default {
name: 'Type5',
mixins: [DetailMixins],
data() {
return {
colspan: 14,
acolor: {
color: ''
},
leakyList: [],
timeStatus: {},
zhubobi: [],
long: [],
statusl: [],
standingWaveRatio: [], // 驻波比
distanceList: [], // 距离数组
stateEmergency: [], // 状态
curflag: 0,
trendflag: 0,
curObj: []
}
},
components: {picAnalysis, trendAnalysis},
components: { picAnalysis, trendAnalysis },
computed: {
statusAlarmfun() {
return this.form.status || []
return this.form.status || [];
}
},
watch: {
statusAlarmfun: {
handler(newV) {
if (newV) {
this.trans()
this.$nextTick(function() {
this.leakylevelcolor()
this.handleData();
this.$nextTick(function () {
this.leakylevelcolor();
})
}
}
......@@ -354,74 +365,80 @@ export default {
deep: true
},
methods: {
// 趋势分析图形
trendAnalysis() {
this.trendflag = 1
this.trendflag = 1;
},
// 生成图形
generateChart() {
this.curObj = []
this.curflag = 1
this.curObj.push(this.curInfo.baseInfo.leakyCableDescribe)
this.curObj = [];
this.curflag = 1;
this.curObj.push(this.curInfo.baseInfo.leakyCableDescribe);
},
// 取消
cancel() {
this.curflag = 0
this.trendflag = 0
this.curflag = 0;
this.trendflag = 0;
},
// 保存
savebtn() {
this.flag = true
this.flag = true;
const params = {
id: this.form.baseInfo.id,
isOpen: this.form.baseInfo.isOpen,
hundredMetersLoss: this.form.baseInfo.hundredMetersLoss
}
leakyCableOpen(params).then((res) => {
this.$message.success('修改成功')
this.$message.success('修改成功');
})
},
// 数据更改,判断状态更改
leakylevelcolor() {
if (this.form.status[0].value === '正常') {
this.acolor.color = 'green'
this.acolor.color = 'green';
} else if (this.form.status[0].value === '紧急') {
this.acolor.color = '#f00'
this.form.status[0].value = '紧急告警'
this.acolor.color = '#f00';
this.form.status[0].value = '紧急告警';
} else if (this.form.status[0].value === '重要') {
this.acolor.color = '#f89850'
this.form.status[0].value = '重要告警'
this.acolor.color = '#f89850';
this.form.status[0].value = '重要告警';
} else if (this.form.status[0].value === '一般') {
this.acolor.color = '#ead906'
this.form.status[0].value = '一般告警'
this.acolor.color = '#ead906';
this.form.status[0].value = '一般告警';
}
},
// 处理告警
toalarm() {
this.$router.push({
path: '/alarm/cableTime',
query: {
alarmTargetName: this.form.baseInfo.leakyCableDescribe
}
})
},
trans() {
// 处理数据
handleData() {
const arr1 = []; const arr2 = []; const arr3 = []
if (this.statusAlarmfun.length !== 0) {
for (let i = 0; i < this.statusAlarmfun.length; i++) {
if (i % 2 !== 0) {
if (this.statusAlarmfun[i].name === '最后更新时间') {
this.statusAlarmfun[i].value = this.dateFormat(this.statusAlarmfun[i].value, 'yyyy-MM-dd HH:mm:ss')
arr1.push(this.statusAlarmfun[i])
this.statusAlarmfun[i].value = this.dateFormat(this.statusAlarmfun[i].value, 'yyyy-MM-dd HH:mm:ss');
arr1.push(this.statusAlarmfun[i]);
} else {
arr2.push(this.statusAlarmfun[i])
arr2.push(this.statusAlarmfun[i]);
}
} else {
if (this.statusAlarmfun[i].name === '漏缆状态') {
arr1.push(this.statusAlarmfun[i])
arr1.push(this.statusAlarmfun[i]);
} else {
arr3.push(this.statusAlarmfun[i])
arr3.push(this.statusAlarmfun[i]);
}
}
}
this.statusl = arr1
this.zhubobi = arr2
this.long = arr3
this.stateEmergency = arr1;
this.standingWaveRatio = arr2;
this.distanceList = arr3;
}
}
}
......
This diff is collapsed.
<template>
<!-- 首页 -->
<div class="dashboard-container">
<!-- 首页 -->
<div>
<orgTree ref="tree" style="float:left" @selectItem="selectItem" @defaultSite="defaultSite" @dblClick="dblClick"/>
<div class="ml300">
<type v-loading="loading" :type="type" :curInfo="curInfo" :selectId="selectId" :curId="curId" />
</div>
</div>
</div>
</template>
......@@ -32,49 +31,53 @@ export default {
Type,
},
methods: {
// 初始化选中第一条数据
defaultSite(data){
this.getDetailNode(data)
this.getDetailNode(data);
},
// 单击树
selectItem(data) {
this.selectId = data.id
this.curId = data.code
this.type = data.type
this.getDetailNode(data.id)
},
this.selectId = data.id;
this.curId = data.code;
this.type = data.type;
this.getDetailNode(data.id);
},
// 双击树
dblClick(data, node) {
this.changeTreeNodeStatus(node)
this.changeTreeNodeStatus(node);
},
// 双击树,收起节点
changeTreeNodeStatus (node) {
node.expanded = true
node.expanded = true;
for (let i = 0; i < node.childNodes.length; i++) {
// 改变节点的自身expanded状态
node.childNodes[i].expanded = true
node.childNodes[i].expanded = true;
// 遍历子节点
if (node.childNodes[i].childNodes.length > 0) {
this.changeTreeNodeStatus(node.childNodes[i])
this.changeTreeNodeStatus(node.childNodes[i]);
}
}
},
// 获取节点的详情
getDetailNode(data) {
let param = {
type: this.type,
id: data
}
this.loading = true
this.loading = true;
treeBaseInfo(param).then(res => {
let controlLimit = res.controlLimit || []
let controlLimit = res.controlLimit || [];
if(controlLimit) {
controlLimit.map(item => {
res[`type${item.type}`]= item.sum
res[`type${item.type}`]= item.sum;
})
}
this.curInfo = res
this.loading = false
this.curInfo = res;
this.loading = false;
})
},
}
}
}
</script>
<style lang="scss" scoped>
......@@ -112,11 +115,7 @@ export default {
position: absolute;
right: 2%;
}
// .el-col {
// margin-bottom: 20px;
// }
.text {
// display: flex;
padding: 10px 20px 10px 20px;
border-bottom: 1px solid #e3e3e3;
&:last-child {
......@@ -139,8 +138,6 @@ export default {
margin-bottom: 12px;
}
.item_data {
}
.value_handle {
color: red;
margin-right: 10px;
......@@ -154,7 +151,6 @@ export default {
}
}
.text2 {
// display: flex;
padding: 10px 20px 10px 20px;
border-bottom: 1px solid #e3e3e3;
.item_name,
......@@ -173,9 +169,6 @@ export default {
margin-top: 12px;
margin-bottom: 12px;
}
.item_data {
}
.value_handle {
color: red;
margin-right: 10px;
......
......@@ -31,11 +31,9 @@ export default {
data() {
return {
form: formInit(),
dateRange: [],
dateRange: []
}
},
mounted() {
},
methods: {
toSearch() {
this.form.startConnectAlarmMaintainTime = this.dateRange[0]
......
......@@ -2,13 +2,20 @@
<div class="leakage-cable">
<!-- 设备连接维修历史 -->
<div class="leakage-top">
<div style="color: #666666" key=""/>
<div style="color: #666666" />
<div class="operate-btn">
<delids :multipleSelection2="multipleSelection" @del="toDelete">删除</delids>
<delids :multipleSelection2="multipleSelection" @del="toDelete"
>删除</delids
>
<el-button type="primary" @click="refresh">刷新</el-button>
<el-button type="primary" @click="isQuery = !isQuery">查询</el-button>
<el-button type="primary" @click="toExport">导出</el-button>
<el-button :type="isPermit==false ? 'primary' : 'info'" :disabled="isPermit" @click="delAll">清空数据</el-button>
<el-button
:type="isPermit == false ? 'primary' : 'info'"
:disabled="isPermit"
@click="delAll"
>清空数据</el-button
>
</div>
</div>
<div v-if="isQuery">
......@@ -38,7 +45,7 @@
label="网元设备"
align="center"
/>
<el-table-column prop="userName" label="维修人员信息" align="center"/>
<el-table-column prop="userName" label="维修人员信息" align="center" />
<el-table-column
prop="connectAlarmMaintainTime"
label="连接告警维修时间"
......@@ -54,18 +61,20 @@
/>
</div>
</template>
<script>
import {
ConnectMaintainList,
ConnectMaintainDelete,
ConnectMaintainDeleteAll
} from '../api'
import { ConnectStatusEnum } from '@/const/index'
import search from './components/search.vue'
import download from '@/utils/download'
import { exportConnectMaintainHistory } from '@/api/export'
import { successAlert, warningAlert } from '@/utils/alert'
import { mapState } from 'vuex'
} from '../api';
import { ConnectStatusEnum } from '@/const/index';
import search from './components/search.vue';
import download from '@/utils/download';
import { exportConnectMaintainHistory } from '@/api/export';
import { successAlert, warningAlert } from '@/utils/alert';
import { mapState } from 'vuex';
export default {
components: {
search
......@@ -90,65 +99,72 @@ export default {
...mapState('user', ['userBaseInfo']),
isPermit() {
if (this.userBaseInfo.userId === 1) {
return false
return false;
} else {
return true
return true;
}
}
},
mounted() {
this.getTableData()
this.getTableData();
},
methods: {
// 表格多选
handleSelectionChange(val) {
let deleteIds = val.map((item) => item.id)
this.multipleSelection = deleteIds
let deleteIds = val.map((item) => item.id);
this.multipleSelection = deleteIds;
},
// 分页更改
handlePageChange(pageData) {
this.params.size = pageData.size
this.params.current = pageData.page
this.getTableData()
this.params.size = pageData.size;
this.params.current = pageData.page;
this.getTableData();
},
// 刷新
refresh() {
this.$refs.reset !== undefined
? this.$refs.reset.reset()
: this.getTableData()
: this.getTableData();
},
// 查询
search(option) {
this.istrue = 1
this.searchOption = option
this.getTableData()
this.istrue = 1;
this.searchOption = option;
this.getTableData();
},
// 获取数据
getTableData() {
let params = {
...this.params,
...this.searchOption
}
ConnectMaintainList(params).then((res) => {
let list = res.records || []
let list = res.records || [];
list.forEach((item) => {
item.pointConnectStatus_text =
this.ConnectStatusEnum[item.pointConnectStatus]
this.ConnectStatusEnum[item.pointConnectStatus];
})
this.tableData = list
this.total = res.total
this.exids = list.map((i) => i.id)
this.tableData = list;
this.total = res.total;
this.exids = list.map((i) => i.id);
if (this.istrue === 1) {
if (this.tableData.length !== 0) {
successAlert('操作成功')
successAlert('操作成功');
} else {
warningAlert('查询结果为空')
warningAlert('查询结果为空');
}
this.istrue = 0
this.istrue = 0;
}
})
},
// 删除
toDelete() {
ConnectMaintainDelete({ ids: this.multipleSelection }).then((res) => {
this.$message.success('删除成功!')
this.getTableData()
this.$message.success('删除成功!');
this.getTableData();
})
},
// 清空数据
delAll() {
this.$confirm('继续操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
......@@ -156,36 +172,38 @@ export default {
type: 'warning'
}).then(() => {
ConnectMaintainDeleteAll().then((res) => {
this.$message.success('清空成功!')
this.getTableData()
this.$message.success('清空成功!');
this.getTableData();
})
}).catch(() => {
warningAlert('取消删除')
warningAlert('取消删除');
})
},
// 表格背景
cellClassFn({ row, column, rowIndex, columnIndex }) {
if (
row.pointConnectStatus_text === '连接异常' &&
column.label === '连接状态'
) {
return 'emergency'
return 'emergency';
} else if (
row.pointConnectStatus_text === '连接正常' &&
column.label === '连接状态'
) {
return 'normal'
return 'normal';
}
if (rowIndex % 2 === 1) {
return 'stripe'
return 'stripe';
}
},
// 导出
toExport() {
if (this.exids.length === 0) {
this.$message.warning('暂无数据')
return false
this.$message.warning('暂无数据');
return false;
} else {
exportConnectMaintainHistory({ ids: this.exids }).then((res) => {
download(res, 'vnd.ms-excel', `设备连接维修历史.xls`)
download(res, 'vnd.ms-excel', `设备连接维修历史.xls`);
})
}
}
......@@ -203,7 +221,6 @@ export default {
& ::v-deep .cell {
color: #333333;
}
& ::v-deep .stripe {
background-color: #eaf1fe;
}
......@@ -216,7 +233,6 @@ export default {
& ::v-deep .normal {
background-color: green !important;
}
.page {
display: flex;
align-items: center;
......
......@@ -39,25 +39,22 @@ export default {
return {
form: formInit(),
uploadRange: [],
cancelRange: [],
cancelRange: []
}
},
mounted() {
},
methods: {
toSearch() {
this.form.startUploadTime = this.uploadRange[0]
this.form.endUploadTime = this.uploadRange[1]
this.form.startCancelTime = this.cancelRange[0]
this.form.endCancelTime = this.cancelRange[1]
this.$emit('search', this.form)
this.form.startUploadTime = this.uploadRange[0];
this.form.endUploadTime = this.uploadRange[1];
this.form.startCancelTime = this.cancelRange[0];
this.form.endCancelTime = this.cancelRange[1];
this.$emit('search', this.form);
},
reset() {
this.uploadRange = []
this.cancelRange = []
this.form = formInit()
this.$emit('search')
this.uploadRange = [];
this.cancelRange = [];
this.form = formInit();
this.$emit('search');
},
}
}
......
......@@ -4,11 +4,18 @@
<div class="leakage-top">
<div style="color: #666666" />
<div class="operate-btn">
<delids :multipleSelection2="multipleSelection" @del="toDelete">删除</delids>
<delids :multipleSelection2="multipleSelection" @del="toDelete"
>删除</delids
>
<el-button type="primary" @click="refresh">刷新</el-button>
<el-button type="primary" @click="isQuery = !isQuery">查询</el-button>
<el-button type="primary" @click="toExport">导出</el-button>
<el-button :type="isPermit==false ? 'primary' : 'info'" :disabled="isPermit" @click="delAll">清空数据</el-button>
<el-button
:type="isPermit == false ? 'primary' : 'info'"
:disabled="isPermit"
@click="delAll"
>清空数据</el-button
>
</div>
</div>
<div v-if="isQuery">
......@@ -61,13 +68,13 @@ import {
ConnectStatusList,
ConnectStatusDelete,
ConnectStatusDeleteAll
} from '../api'
import { ConnectStatusEnum } from '@/const/index'
import search from './components/search.vue'
import { exportConnectStatusHistory } from '@/api/export'
import download from '@/utils/download'
import { successAlert, warningAlert } from '@/utils/alert'
import { mapState } from 'vuex'
} from '../api';
import { ConnectStatusEnum } from '@/const/index';
import search from './components/search.vue';
import { exportConnectStatusHistory } from '@/api/export';
import download from '@/utils/download';
import { successAlert, warningAlert } from '@/utils/alert';
import { mapState } from 'vuex';
export default {
components: {
......@@ -94,35 +101,40 @@ export default {
...mapState('user', ['userBaseInfo']),
isPermit() {
if (this.userBaseInfo.userId === 1) {
return false
return false;
} else {
return true
return true;
}
}
},
mounted() {
this.getTableData()
this.getTableData();
},
methods: {
// 多选操作
handleSelectionChange(val) {
let deleteIds = val.map((item) => item.id)
this.multipleSelection = deleteIds
let deleteIds = val.map((item) => item.id);
this.multipleSelection = deleteIds;
},
// 分页更改
handlePageChange(pageData) {
this.params.size = pageData.size
this.params.current = pageData.page
this.getTableData()
this.params.size = pageData.size;
this.params.current = pageData.page;
this.getTableData();
},
// 刷新
refresh() {
this.$refs.reset !== undefined
? this.$refs.reset.reset()
: this.getTableData()
: this.getTableData();
},
// 查询
search(option) {
this.istrue = 1
this.searchOption = option
this.getTableData()
this.istrue = 1;
this.searchOption = option;
this.getTableData();
},
// 获取数据
getTableData() {
let params = {
...this.params,
......@@ -132,27 +144,29 @@ export default {
let list = res.records || []
list.forEach((item) => {
item.pointConnectStatus_text =
this.ConnectStatusEnum[item.pointConnectStatus]
this.ConnectStatusEnum[item.pointConnectStatus];
})
this.tableData = list
this.total = res.total
this.tableData = list;
this.total = res.total;
this.exids = list.map((i) => i.id)
if (this.istrue === 1) {
if (this.tableData.length !== 0) {
successAlert('操作成功')
successAlert('操作成功');
} else {
warningAlert('查询结果为空')
warningAlert('查询结果为空');
}
this.istrue = 0
this.istrue = 0;
}
})
},
// 删除
toDelete() {
ConnectStatusDelete({ ids: this.multipleSelection }).then((res) => {
this.$message.success('删除成功!')
this.getTableData()
this.$message.success('删除成功!');
this.getTableData();
})
},
// 清空
delAll() {
this.$confirm('继续操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
......@@ -160,36 +174,38 @@ export default {
type: 'warning'
}).then(() => {
ConnectStatusDeleteAll().then((res) => {
this.$message.success('清空成功!')
this.getTableData()
this.$message.success('清空成功!');
this.getTableData();
})
}).catch(() => {
warningAlert('取消删除')
warningAlert('取消删除');
})
},
// 表格背景
cellClassFn({ row, column, rowIndex, columnIndex }) {
if (
row.pointConnectStatus_text === '连接异常' &&
column.label === '连接状态'
) {
return 'emergency'
return 'emergency';
} else if (
row.pointConnectStatus_text === '连接正常' &&
column.label === '连接状态'
) {
return 'normal'
return 'normal';
}
if (rowIndex % 2 === 1) {
return 'stripe'
return 'stripe';
}
},
// 导出
toExport() {
if (this.exids.length === 0) {
this.$message.warning('暂无数据')
return false
this.$message.warning('暂无数据');
return false;
} else {
exportConnectStatusHistory({ ids: this.exids }).then((res) => {
download(res, 'vnd.ms-excel', `设备连接历史状态.xls`)
download(res, 'vnd.ms-excel', `设备连接历史状态.xls`);
})
}
}
......@@ -207,20 +223,18 @@ export default {
& ::v-deep .cell {
color: #333333;
}
& ::v-deep .stripe {
background-color: #eaf1fe;
}
& ::v-deep .emergency {
background-color: #f00!important;
background-color: #f00 !important;
}
& ::v-deep .important {
background-color: #f89850!important;
background-color: #f89850 !important;
}
& ::v-deep .normal {
background-color: green!important;
background-color: green !important;
}
.page {
display: flex;
align-items: center;
......
......@@ -31,8 +31,8 @@
</template>
<script>
import { commonQuery } from '../../api'
import { alarmLeval } from '@/const'
import { commonQuery } from '../../api';
import { alarmLeval } from '@/const';
export default {
name: 'search',
......@@ -45,20 +45,20 @@ export default {
}
},
mounted() {
this.getInit()
this.getInit();
},
methods: {
toSearch() {
this.$emit('search', this.form)
this.$emit('search', this.form);
},
reset() {
this.form = formInit()
this.$emit('search')
this.form = formInit();
this.$emit('search');
},
getInit() {
commonQuery().then(res => {
this.siteList = res.siteList || []
this.alarmObj = res.alarmObjectList || []
this.siteList = res.siteList || [];
this.alarmObj = res.alarmObjectList || [];
})
}
}
......
......@@ -67,12 +67,13 @@
</div>
</template>
<script>
import { MonitorMaintainList, MonitorMaintainDelete } from '../api'
import search from './components/search.vue'
import download from '@/utils/download'
import { exportLeakyMaintainHistory } from '@/api/export'
import { successAlert, warningAlert } from '@/utils/alert'
import { levelStyle } from '@/const/index'
import { MonitorMaintainList, MonitorMaintainDelete } from '../api';
import search from './components/search.vue';
import download from '@/utils/download';
import { exportLeakyMaintainHistory } from '@/api/export';
import { successAlert, warningAlert } from '@/utils/alert';
import { levelStyle } from '@/const/index';
export default {
components: {
search
......@@ -95,77 +96,85 @@ export default {
}
},
mounted() {
this.getTableData()
this.getTableData();
},
methods: {
// 多选操作
handleSelectionChange(val) {
let deleteIds = val.map((item) => item.id)
this.multipleSelection = deleteIds
let deleteIds = val.map((item) => item.id);
this.multipleSelection = deleteIds;
},
// 分页更改
handlePageChange(pageData) {
this.params.size = pageData.size
this.params.current = pageData.page
this.getTableData()
this.params.size = pageData.size;
this.params.current = pageData.page;
this.getTableData();
},
// 刷新
refresh() {
this.$refs.reset !== undefined
? this.$refs.reset.reset()
: this.getTableData()
: this.getTableData();
},
// 查询
search(option) {
this.istrue = 1
this.searchOption = option
this.getTableData()
this.istrue = 1;
this.searchOption = option;
this.getTableData();
},
// 获取数据
getTableData() {
let params = {
...this.params,
...this.searchOption
}
MonitorMaintainList(params).then((res) => {
let list = res.records || []
let list = res.records || [];
list.forEach(item => {
item.alarmInfo = JSON.parse(item.alarmInfo)
item.lossValue = eval(item.alarmInfo.map(k => k.lossValue).join('+'))
item.alarmInfo = JSON.parse(item.alarmInfo);
item.lossValue = eval(item.alarmInfo.map(k => k.lossValue).join('+'));
})
this.tableData = list
this.total = res.total
this.exids = list.map((i) => i.id)
this.tableData = list;
this.total = res.total;
this.exids = list.map((i) => i.id);
if (this.istrue === 1) {
if (this.tableData.length !== 0) {
successAlert('操作成功')
successAlert('操作成功');
} else {
warningAlert('查询结果为空')
warningAlert('查询结果为空');
}
this.istrue = 0
this.istrue = 0;
}
})
},
// 删除
deleteCable() {
MonitorMaintainDelete({ ids: this.multipleSelection }).then((res) => {
this.$message.success('删除成功!')
this.getTableData()
this.$message.success('删除成功!');
this.getTableData();
})
},
// 表格背景
cellClassFn({ row, column, rowIndex, columnIndex }) {
if (row.alarmLevelName === '紧急' && column.label === '告警级别') {
return 'emergency'
return 'emergency';
} else if (row.alarmLevelName === '重要' && column.label === '告警级别') {
return 'important'
return 'important';
} else if (row.alarmLevelName === '一般' && column.label === '告警级别') {
return 'common'
return 'common';
}
if (rowIndex % 2 === 1) {
return 'stripe'
return 'stripe';
}
},
// 导出
toExport() {
if (this.exids.length === 0) {
this.$message.warning('暂无数据')
return false
this.$message.warning('暂无数据');
return false;
} else {
exportLeakyMaintainHistory({ ids: this.exids }).then((res) => {
download(res, 'vnd.ms-excel', `漏缆监测维修历史.xls`)
download(res, 'vnd.ms-excel', `漏缆监测维修历史.xls`);
})
}
}
......
......@@ -5,8 +5,18 @@
width="1060px"
@close="cancel"
>
<div v-show="listData.length" ref="chartLine" class="chartLine" :key="componentKeys"></div>
<div v-show="!listData.length" style="font-size:20px;text-align:center"><i class="el-icon-warning" style="color:orange;margin-right:10px" />暂无数据</div>
<div
v-show="listData.length"
ref="chartLine"
class="chartLine"
:key="componentKeys"
></div>
<div v-show="!listData.length" style="font-size: 20px; text-align: center">
<i
class="el-icon-warning"
style="color: orange; margin-right: 10px"
/>暂无数据
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="cancel">关 闭</el-button>
</span>
......@@ -14,8 +24,9 @@
</template>
<script>
import { pictorialStatement } from '../../api.js'
import * as echarts from "echarts"
import { pictorialStatement } from '../../api.js';
import * as echarts from "echarts";
export default {
props: {
flag: {
......@@ -26,7 +37,7 @@ export default {
type: Array,
default: () => []
}
},
},
data() {
return {
visible: false,
......@@ -39,51 +50,51 @@ export default {
flag: {
immediate: true,
handler(newV) {
this.visible = !!newV
this.visible = !!newV;
}
},
curInfo(newV) {
if (newV) {
this.componentKeys++
this.init()
this.componentKeys++;
this.init();
}
}
},
computed:{
computed: {
finalyText() {
return '驻波比图形分析(' + this.title + ')'
return '驻波比图形分析(' + this.title + ')';
}
},
methods: {
init() {
pictorialStatement(this.curInfo).then((res) => {
if(JSON.stringify(res.collect) !== '{}') {
let keyList = Object.keys(res.collect)
let valueList = Object.values(res.collect)
let finallyList = []
this.title = keyList.length > 1 ? '' : keyList[0]
if (JSON.stringify(res.collect) !== '{}') {
let keyList = Object.keys(res.collect);
let valueList = Object.values(res.collect);
let finallyList = [];
this.title = keyList.length > 1 ? '' : keyList[0];
for (var i = 0; i < keyList.length; i++) {
let obj = {}
let source = []
let obj = {};
let source = [];
valueList[i].map(item => {
let arr = []
arr.push(parseFloat(item.distance), parseFloat(item.value))
source.push(arr)
let arr = [];
arr.push(parseFloat(item.distance), parseFloat(item.value));
source.push(arr);
})
obj.dimensions = [`${keyList[i]}`]
obj.source = source
finallyList.push(obj)
obj.dimensions = [`${keyList[i]}`];
obj.source = source;
finallyList.push(obj);
}
this.listData = finallyList
finallyList.length ? this.getLine(finallyList) : ''
this.listData = finallyList;
finallyList.length ? this.getLine(finallyList) : '';
} else {
this.title = ''
this.listData = []
this.title = '';
this.listData = [];
}
})
},
getLine(data) {
if(data.length) {
if (data.length) {
this.myChartLine = echarts.init(this.$refs.chartLine)
let option = {
legend: {},
......@@ -94,16 +105,16 @@ export default {
let str = params[0].data[0] + "<br />"
params.forEach(item => {
str += '<span style="display:inline-block;margin-right:5px;border-radius:50%;width:10px;height:10px;left:5px;background-color:' + item.color + '"></span>'
+ '<span style="display:inline-block;width:70px;margin-right:5px;">' + item.seriesName + '</span>'
+ " 驻波比"
+ '<span style="font-weight:700;">' + item.data[1] + "</span><br />";
+ '<span style="display:inline-block;width:70px;margin-right:5px;">' + item.seriesName + '</span>'
+ " 驻波比"
+ '<span style="font-weight:700;">' + item.data[1] + "</span><br />";
})
return str;
} else {
let str = params[0].data[0] + "<br />"
str += '<span style="display:inline-block;margin-right:5px;border-radius:50%;width:10px;height:10px;left:5px;background-color:' + params[0].color + '"></span>'
+ '<span style="display:inline-block;width:70px;margin-right:5px;">' + params[0].seriesName + '</span>'
+ " 驻波比"
+ '<span style="display:inline-block;width:70px;margin-right:5px;">' + params[0].seriesName + '</span>'
+ " 驻波比"
+ '<span style="font-weight:700;">' + params[0].data[1] + "</span><br />";
return str;
}
......@@ -131,7 +142,7 @@ export default {
color: "#195384",
},
},
},
yAxis: [
{
......@@ -188,8 +199,8 @@ export default {
}
},
cancel() {
this.visible = false
this.$emit('cancel')
this.visible = false;
this.$emit('cancel');
}
}
}
......
......@@ -22,7 +22,8 @@
</template>
<script>
import { commonQuery } from '../../api'
import { commonQuery } from '../../api';
export default {
name: 'search',
data() {
......@@ -33,20 +34,20 @@ export default {
}
},
mounted() {
this.getInit()
this.getInit();
},
methods: {
toSearch() {
this.$emit('search', this.form)
this.$emit('search', this.form);
},
reset() {
this.form = formInit()
this.$emit('search')
this.form = formInit();
this.$emit('search');
},
getInit() {
commonQuery().then(res => {
this.siteList = res.siteList || []
this.alarmObj = res.alarmObjectList || []
this.siteList = res.siteList || [];
this.alarmObj = res.alarmObjectList || [];
})
}
}
......
......@@ -82,18 +82,23 @@ export default {
search,
picAnalysis
},
mounted() {
this.getTableData();
},
methods: {
// 图形报表
multiPic() {
this.flag = 1
this.curInfo = this.multipleTarget
this.flag = 1;
this.curInfo = this.multipleTarget;
},
// 生成图表
generateChart(row) {
this.curInfo = []
this.flag = 1
this.curInfo.push(row.alarmTarget)
this.curInfo = [];
this.flag = 1;
this.curInfo.push(row.alarmTarget);
},
cancel() {
this.flag = 0
this.flag = 0;
},
// 表格背景图颜色
cellClassFn({ row, column, rowIndex, columnIndex }) {
......@@ -157,9 +162,7 @@ export default {
}
},
},
mounted() {
this.getTableData();
},
};
</script>
......
......@@ -69,23 +69,25 @@
class="loginbtn"
style="width: 100%; margin-top: 30px; margin-bottom: 30px"
@click.native.prevent="handleLogin"
>登录</el-button>
>登录</el-button
>
</el-form>
</div>
</div>
</template>
<script>
import { login } from '@/api/user'
import { setToken, setUserName } from '@/utils/auth'
import { login } from '@/api/user';
import { setToken, setUserName } from '@/utils/auth';
export default {
name: 'Login',
data() {
const validatePassword = (rule, value, callback) => {
if (value.length < 6) {
callback(new Error('密码不能少于6位'))
callback(new Error('密码不能少于6位'));
} else {
callback()
callback();
}
}
return {
......@@ -108,35 +110,35 @@ export default {
},
watch: {
$route: {
handler: function(route) {
this.redirect = route.query && route.query.redirect
handler: function (route) {
this.redirect = route.query && route.query.redirect;
},
immediate: true
}
},
created() {
var that = this
document.onkeydown = function(e) {
var key = window.event.keyCode
var that = this;
document.onkeydown = function (e) {
var key = window.event.keyCode;
if (key === 13) {
that.handleLogin()
that.handleLogin();
}
}
},
methods: {
// 显示密码
showPwd() {
if (this.passwordType === 'password') {
this.passwordType = ''
this.passwordType = '';
} else {
this.passwordType = 'password'
this.passwordType = 'password';
}
this.$nextTick(() => {
this.$refs.password.focus()
this.$refs.password.focus();
})
},
async toLogin() {
const { username, password } = this.loginForm
const { username, password } = this.loginForm;
const { token, userId } = await login(
{
userName: username,
......@@ -147,19 +149,18 @@ export default {
}
)
if (!token) return
this.$store.commit('user/SET_TOKEN', token)
this.$store.commit('user/SET_USERID', userId)
// this.$store.dispatch('user/getInfo')
setToken(token)
this.$router.push({ path: '/' })
this.$store.commit('user/SET_TOKEN', token);
this.$store.commit('user/SET_USERID', userId);
setToken(token);
this.$router.push({ path: '/' });
},
handleLogin() {
this.$refs.loginForm.validate((valid) => {
if (valid) {
setUserName(this.loginForm.username)
this.toLogin()
setUserName(this.loginForm.username);
this.toLogin();
} else {
return false
return false;
}
})
}
......@@ -226,8 +227,7 @@ $light_gray: #eee;
.login-container {
min-height: 100%;
width: 100%;
// background-color: $bg;
background-image: url("../../assets/img/login.png");
background-image: url('../../assets/img/login.png');
background-repeat: no-repeat;
background-size: 100% 100%;
overflow: hidden;
......@@ -243,8 +243,7 @@ $light_gray: #eee;
transform: translateY(-82px);
margin: 0;
box-sizing: border-box;
font-family: "Source Sans Pro", sans-serif;
// background-image: url('../../assets/img/loginTitleBg.png');
font-family: 'Source Sans Pro', sans-serif;
}
.loginBox {
position: absolute;
......@@ -256,13 +255,11 @@ $light_gray: #eee;
width: 464px;
height: 380px;
background: rgba(0, 0, 0, 0.4);
margin: 0;
padding: 33px 21px 40px;
box-sizing: border-box;
border-radius: 20px;
font-family: "Source Sans Pro", sans-serif;
font-family: 'Source Sans Pro', sans-serif;
.loginbtn {
background: linear-gradient(180deg, #4082ff 0%, #0044c7 100%);
color: #ffffff;
......@@ -276,7 +273,6 @@ $light_gray: #eee;
.login-form {
position: relative;
width: 80%;
padding: 0px;
margin: 0 auto;
overflow: hidden;
......@@ -286,14 +282,12 @@ $light_gray: #eee;
font-size: 14px;
color: #fff;
margin-bottom: 10px;
span {
&:first-of-type {
margin-right: 16px;
}
}
}
.svg-container {
padding: 4px 5px 10px 15px;
color: $dark_gray;
......@@ -301,19 +295,16 @@ $light_gray: #eee;
width: 30px;
display: inline-block;
}
.title-container {
position: relative;
margin-top: 15px;
margin-bottom: 32px;
.title {
font-family: "Source Han Sans CN";
font-family: 'Source Han Sans CN';
font-size: 24px;
color: $light_gray;
margin: 0px auto 10px auto;
text-align: center;
// font-weight: bold;
letter-spacing: 5px;
}
.titeng {
......@@ -344,18 +335,16 @@ $light_gray: #eee;
border-radius: 20px;
margin-top: 50px;
}
</style>
<style>
/* 自动填充样式修改 */
.login-container .el-input input:-webkit-autofill{
-webkit-box-shadow: 0 0 0px 1000px transparent inset !important;
box-shadow: 0 0 0px 1000px transparent inset !important;
/* 自动填充样式修改 */
.login-container .el-input input:-webkit-autofill {
-webkit-box-shadow: 0 0 0px 1000px transparent inset !important;
box-shadow: 0 0 0px 1000px transparent inset !important;
}
input:-internal-autofill-previewed,
input:-internal-autofill-selected {
-webkit-text-fill-color: #FFFFFF !important;
-webkit-text-fill-color: #ffffff !important;
transition: background-color 5000s ease-in-out 0s !important;
}
</style>
import request from '@/utils/request'
import request from '@/utils/request';
const path = {
cableTypeEnum: 'equipParam/selectItem',
......@@ -7,13 +7,13 @@ const path = {
}
export function cableTypeEnum() {
return request.post(path.cableTypeEnum, ...arguments)
return request.post(path.cableTypeEnum, ...arguments);
}
export function saveParam() {
return request.post(path.saveParam, ...arguments)
return request.post(path.saveParam, ...arguments);
}
export function selectEquipByType() {
return request.post(path.selectEquipByType, ...arguments)
return request.post(path.selectEquipByType, ...arguments);
}
......@@ -2,12 +2,27 @@
<div class="oneself">
<div class="content">
<div class="content-title">温馨提示:系统如无异常,请勿操作此界面</div>
<el-form ref="form1" :model="formData1" :rules="rules1" label-width="180px" class="content-form">
<el-form
ref="form1"
:model="formData1"
:rules="rules1"
label-width="180px"
class="content-form"
>
<el-form-item label="服务器IP地址:" prop="ip">
<el-input v-model="formData1.ip" style="width: 300px" placeholder="请输入服务器IP地址" />
<el-input
v-model="formData1.ip"
style="width: 300px"
placeholder="请输入服务器IP地址"
/>
</el-form-item>
<el-form-item label="基站名称:" prop="baseStation">
<el-select v-model="formData1.baseStation" style="width: 300px" filterable placeholder="请选择基站">
<el-select
v-model="formData1.baseStation"
style="width: 300px"
filterable
placeholder="请选择基站"
>
<el-option
v-for="item in baseStationList"
:key="item.value"
......@@ -17,7 +32,12 @@
</el-select>
</el-form-item>
<el-form-item label="FSU:" prop="fsu">
<el-select v-model="formData1.fsu" style="width: 300px" filterable placeholder="请选择FSU">
<el-select
v-model="formData1.fsu"
style="width: 300px"
filterable
placeholder="请选择FSU"
>
<el-option
v-for="item in fsuList"
:key="item.value"
......@@ -27,7 +47,12 @@
</el-select>
</el-form-item>
<el-form-item label="设备类型配置:" prop="type">
<el-select v-model="formData1.type" style="width: 300px" filterable placeholder="请选择设备类型配置">
<el-select
v-model="formData1.type"
style="width: 300px"
filterable
placeholder="请选择设备类型配置"
>
<el-option
v-for="item in typeList"
:key="item.value"
......@@ -37,33 +62,58 @@
</el-select>
</el-form-item>
</el-form>
<el-form ref="form2" :model="formData2" :rules="rules2" label-width="180px" class="content-form">
<el-form
ref="form2"
:model="formData2"
:rules="rules2"
label-width="180px"
class="content-form"
>
<el-form-item label="设备配置下发:" prop="type">
<div class="content-form-right">
<el-radio-group v-model="formData2.type">
<el-row style="margin-bottom: 10px">
<el-radio :label="1">复位重启FSU</el-radio>
<el-radio :label="2">常规测试>>次数
<el-input-number v-model="formData2.routineNum" :min="1" />
<el-radio :label="2"
>常规测试>>次数
<el-input-number v-model="formData2.routineNum" :min="1" />
</el-radio>
</el-row>
<el-row>
<el-radio :label="3">请求实时连接</el-radio>
<el-radio :label="4">自检测试>>次数
<el-input-number v-model="formData2.selfNum" :min="1" />
<el-radio :label="4"
>自检测试>>次数
<el-input-number v-model="formData2.selfNum" :min="1" />
</el-radio>
</el-row>
</el-radio-group>
<div class="btn">
<el-button style="width: 120px" type="primary" :loading="loading3" @click="sendContent">发送查询内容</el-button>
<el-button
style="width: 120px"
type="primary"
:loading="loading3"
@click="sendContent"
>发送查询内容</el-button
>
</div>
</div>
</el-form-item>
</el-form>
<el-form ref="form3" :model="formData3" :rules="rules3" label-width="180px" class="content-form">
<el-form
ref="form3"
:model="formData3"
:rules="rules3"
label-width="180px"
class="content-form"
>
<el-form-item label="设备运行参数配置下发:" prop="issue">
<div class="content-form-right">
<el-select v-model="formData3.issue" style="width: 300px" filterable placeholder="请选择配置下发类型">
<el-select
v-model="formData3.issue"
style="width: 300px"
filterable
placeholder="请选择配置下发类型"
>
<el-option
v-for="item in issueList"
:key="item.value"
......@@ -72,7 +122,13 @@
/>
</el-select>
<div class="btn">
<el-button style="width: 120px" type="primary" :loading="loading3" @click="sendData">发送数据</el-button>
<el-button
style="width: 120px"
type="primary"
:loading="loading3"
@click="sendData"
>发送数据</el-button
>
</div>
</div>
</el-form-item>
......@@ -109,7 +165,6 @@ export default {
type: [
{ required: true, message: '请选择设备配置类型', trigger: 'blur' }
]
},
formData2: {
type: 1,
......@@ -136,14 +191,12 @@ export default {
sendContent() {
this.$refs.form2.validate((valid) => {
if (valid) {
console.log(this.formData2)
}
})
},
sendData() {
this.$refs.form3.validate((valid) => {
if (valid) {
console.log(this.formData3)
}
})
}
......@@ -170,11 +223,11 @@ export default {
margin-bottom: 20px;
}
.content-form {
margin: 0 auto;
margin: 0 auto;
// padding: 20px 0;
width: 800px;
.content-form-right {
border: 1px solid #DCDFE6;
border: 1px solid #dcdfe6;
padding: 20px;
border-radius: 10px;
display: flex;
......@@ -189,7 +242,7 @@ export default {
.tips {
text-align: center;
padding-top: 50px;
color: #1E64F6;
color: #1e64f6;
font-size: 18px;
font-weight: 500;
}
......
......@@ -52,8 +52,9 @@
</template>
<script>
import { rules } from './const'
import { cableTypeEnum, saveParam, selectEquipByType } from '../api'
import { rules } from './const';
import { cableTypeEnum, saveParam, selectEquipByType } from '../api';
export default {
data() {
return {
......@@ -69,27 +70,27 @@ export default {
}
},
mounted() {
this.getLeakyCablel()
this.getLeakyCablel();
},
methods: {
submit() {
this.$refs.form.validate((valid) => {
if (valid) {
saveParam(this.form).then(res => {
this.$message.success('操作成功')
this.$message.success('操作成功');
})
}
})
},
getLeakyCablel() {
cableTypeEnum().then(res => {
let list = res || []
this.equipTypeList = list
let list = res || [];
this.equipTypeList = list;
})
},
checkMode(data) {
selectEquipByType({equipType:data}).then(res => {
this.form = res
this.form = res;
})
},
}
......@@ -132,5 +133,4 @@ export default {
}
}
}
</style>
......@@ -22,7 +22,8 @@
</template>
<script>
import { ConnectStatusEnum } from '@/const/index'
import { ConnectStatusEnum } from '@/const/index';
export default {
name: 'search',
data() {
......@@ -31,16 +32,13 @@ export default {
ConnectStatusEnum,
}
},
mounted() {
},
methods: {
toSearch() {
this.$emit('search', this.form)
this.$emit('search', this.form);
},
reset() {
this.form = formInit()
this.$emit('search')
this.form = formInit();
this.$emit('search');
},
}
}
......
......@@ -56,12 +56,13 @@
</template>
<script>
import { DeviceStatusList } from '../api'
import { ConnectStatusEnum } from '@/const/index'
import search from './components/search.vue'
import download from '@/utils/download'
import { exportConnetTime } from '@/api/export'
import { successAlert, warningAlert } from '@/utils/alert'
import { DeviceStatusList } from '../api';
import { ConnectStatusEnum } from '@/const/index';
import search from './components/search.vue';
import download from '@/utils/download';
import { exportConnetTime } from '@/api/export';
import { successAlert, warningAlert } from '@/utils/alert';
export default {
components: { search },
data() {
......@@ -80,7 +81,7 @@ export default {
}
},
mounted() {
this.getTableData()
this.getTableData();
},
methods: {
// 表格背景图颜色
......@@ -89,44 +90,43 @@ export default {
row.startPointConnectStatus_text === '连接正常' &&
column.property === 'startPointConnectStatus_text'
) {
return 'green'
return 'green';
}
if (
row.startPointConnectStatus_text === '连接异常' &&
column.property === 'startPointConnectStatus_text'
) {
return 'red'
return 'red';
}
if (
row.endPointConnectStatus_text === '连接正常' &&
column.property === 'endPointConnectStatus_text'
) {
return 'green'
return 'green';
} else if (
row.endPointConnectStatus_text === '连接异常' &&
column.property === 'endPointConnectStatus_text'
) {
return 'red'
return 'red';
}
if (rowIndex % 2 === 1) {
return 'stripe'
return 'stripe';
}
},
refresh() {
this.$refs.reset !== undefined
? this.$refs.reset.reset()
: this.getTableData()
: this.getTableData();
},
handlePageChange(pageData) {
this.params.size = pageData.size
this.params.current = pageData.page
this.getTableData()
this.params.size = pageData.size;
this.params.current = pageData.page;
this.getTableData();
},
search(option) {
this.istrue = 1
this.searchOption = option
this.getTableData()
this.istrue = 1;
this.searchOption = option;
this.getTableData();
},
getTableData() {
let params = {
......@@ -134,33 +134,33 @@ export default {
...this.searchOption
}
DeviceStatusList(params).then((res) => {
let list = res.records || []
let list = res.records || [];
list.forEach((item) => {
item.startPointConnectStatus_text =
this.ConnectStatusEnum[item.startPointConnectStatus]
item.endPointConnectStatus_text =
this.ConnectStatusEnum[item.endPointConnectStatus]
})
this.tableData = list
this.total = res.total
this.exids = list.map((i) => i.id)
this.tableData = list;
this.total = res.total;
this.exids = list.map((i) => i.id);
if (this.istrue === 1) {
if (this.tableData.length !== 0) {
successAlert('操作成功')
successAlert('操作成功');
} else {
warningAlert('查询结果为空')
warningAlert('查询结果为空');
}
this.istrue = 0
this.istrue = 0;
}
})
},
toExport() {
if (this.exids.length === 0) {
this.$message.warning('暂无数据')
return false
this.$message.warning('暂无数据');
return false;
} else {
exportConnetTime({ ids: this.exids }).then((res) => {
download(res, 'vnd.ms-excel', `设备实时.xls`)
download(res, 'vnd.ms-excel', `设备实时.xls`);
})
}
}
......
......@@ -31,8 +31,8 @@
</template>
<script>
import { commonQuery } from '@/views/history/api'
import { alarmLeval } from '@/const'
import { commonQuery } from '@/views/history/api';
import { alarmLeval } from '@/const';
export default {
name: 'search',
......@@ -44,19 +44,19 @@ export default {
}
},
mounted() {
this.getInit()
this.getInit();
},
methods: {
toSearch() {
this.$emit('search', this.form)
this.$emit('search', this.form);
},
reset() {
this.form = formInit()
this.$emit('search')
this.form = formInit();
this.$emit('search');
},
getInit() {
commonQuery().then(res => {
this.siteList = res.siteList || []
this.siteList = res.siteList || [];
})
}
}
......
......@@ -64,12 +64,13 @@
</template>
<script>
import { CableStatusList } from '../api'
import { ConnectStatusEnum, levelStyle } from '@/const/index'
import search from './components/search.vue'
import { exportLeakyCableTime } from '@/api/export'
import download from '@/utils/download'
import { successAlert, warningAlert } from '@/utils/alert'
import { CableStatusList } from '../api';
import { ConnectStatusEnum, levelStyle } from '@/const/index';
import search from './components/search.vue';
import { exportLeakyCableTime } from '@/api/export';
import download from '@/utils/download';
import { successAlert, warningAlert } from '@/utils/alert';
export default {
components: { search },
data() {
......@@ -95,33 +96,33 @@ export default {
// 表格背景图颜色
cellClassFn({ row, column, rowIndex, columnIndex }) {
if (row.alarmLevelName === '紧急' && column.label === '告警级别') {
return 'emergency'
return 'emergency';
} else if (row.alarmLevelName === '重要' && column.label === '告警级别') {
return 'important'
return 'important';
} else if (row.alarmLevelName === '一般' && column.label === '告警级别') {
return 'common'
return 'common';
} else if (row.alarmLevelName === '正常' && column.label === '告警级别') {
return 'normal'
return 'normal';
}
if (rowIndex % 2 === 1) {
return 'stripe'
return 'stripe';
}
},
refresh() {
this.searchOption = {}
this.$refs.reset !== undefined
? this.$refs.reset.reset()
: this.getTableData()
: this.getTableData();
},
handlePageChange(pageData) {
this.params.size = pageData.size
this.params.curent = pageData.page
this.getTableData()
this.params.size = pageData.size;
this.params.curent = pageData.page;
this.getTableData();
},
search(option) {
this.istrue = 1
this.searchOption = option
this.getTableData()
this.istrue = 1;
this.searchOption = option;
this.getTableData();
},
getTableData() {
let params = {
......@@ -129,33 +130,33 @@ export default {
...this.searchOption,
}
CableStatusList(params).then((res) => {
let list = res.records || []
this.tableData = list
let list = res.records || [];
this.tableData = list;
list.forEach(item => {
if (item.alarmInfo !== '' && item.alarmInfo != null) {
item.alarmInfo = JSON.parse(item.alarmInfo)
item.lossValue = eval(item.alarmInfo.map(k => k.lossValue).join('+'))
item.alarmInfo = JSON.parse(item.alarmInfo);
item.lossValue = eval(item.alarmInfo.map(k => k.lossValue).join('+'));
}
})
this.total = res.records.length
this.exids = list.map(i => i.id)
this.total = res.records.length;
this.exids = list.map(i => i.id);
if (this.istrue === 1) {
if (this.tableData.length !== 0) {
successAlert('操作成功')
successAlert('操作成功');
} else {
warningAlert('查询结果为空')
warningAlert('查询结果为空');
}
this.istrue = 0
this.istrue = 0;
}
})
},
toExport() {
if (this.exids.length === 0) {
this.$message.warning('暂无数据')
return false
this.$message.warning('暂无数据');
return false;
} else {
exportLeakyCableTime({ ids: this.exids }).then((res) => {
download(res, 'vnd.ms-excel', `漏缆实时.xls`)
download(res, 'vnd.ms-excel', `漏缆实时.xls`);
})
}
}
......
......@@ -112,7 +112,7 @@
/>
</el-form-item>
</el-form>
<div class="btn" v-if="isEdit==1">
<div class="btn" v-if="isEdit == 1">
<el-button type="primary" @click="cancel">取 消</el-button>
<el-button type="primary" @click="confirm">确 定</el-button>
</div>
......@@ -133,14 +133,14 @@ export default {
},
curInfo: {
type: Object,
default: () => {}
default: () => { }
}
},
watch: {
curInfo: {
immediate: true,
handler(newV) {
this.FSUForm = formInit(newV)
this.FSUForm = formInit(newV);
}
}
},
......@@ -205,14 +205,14 @@ export default {
},
created() {
selectFsuItem().then((res) => {
this.backupModeSelect = res["01"]
this.connectModeSelect = res["02"]
this.equipTypeSelect = res["03"]
this.equipSubTypeSelect = res["04"]
this.backupModeSelect = res["01"];
this.connectModeSelect = res["02"];
this.equipTypeSelect = res["03"];
this.equipSubTypeSelect = res["04"];
})
},
mounted() {
this.getAllWay()
this.getAllWay();
},
methods: {
// 编辑的确认
......@@ -220,17 +220,17 @@ export default {
let params = {
...this.FSUForm
}
delete params.creationTime
delete params.creationTime;
updateFsuConf(params).then(res => {
if(res.code == 200) {
this.$message.success('保存成功!')
if (res.code == 200) {
this.$message.success('保存成功!');
}
this.cancel(true)
this.cancel(true);
})
},
cancel(refersh) {
this.$emit('update', refersh)
this.reset()
this.$emit('update', refersh);
this.reset();
},
changerailWay() {
selectForSite({ wayId: this.FSUForm.wayId }).then((res) => {
......@@ -239,34 +239,34 @@ export default {
},
readNodes(aaa = [], arrarea = []) {
for (let item of aaa) {
arrarea.push({ id: item.id, siteName: item.name })
arrarea.push({ id: item.id, siteName: item.name });
if (item.children) {
this.readNodes(item.children, arrarea)
this.readNodes(item.children, arrarea);
}
}
return arrarea
return arrarea;
},
reset() {
this.$refs.FSUForm.resetFields()
this.$refs.FSUForm.resetFields();
},
submit() {
this.$refs.FSUForm.validate((valid) => {
if (valid) {
this.FSUForm.parentId = this.FSUForm.siteId
this.FSUForm.fsuPort = Number(this.FSUForm.fsuPort)
this.FSUForm.parentId = this.FSUForm.siteId;
this.FSUForm.fsuPort = Number(this.FSUForm.fsuPort);
fsusave(this.FSUForm).then((res) => {
successAlert('操作成功')
successAlert('操作成功');
})
}
this.FSUForm = formInit()
this.FSUForm = formInit();
})
},
getAllWay() {
railWaylist(this.params).then((res) => {
this.railWaySelect = res.records || []
this.railWaySelect = res.records || [];
if (res.total > this.params.size) {
this.params.size = res.total
this.getAllWay()
this.params.size = res.total;
this.getAllWay();
}
})
}
......
......@@ -144,6 +144,7 @@ import {
updateLeakyCableConf
} from "../../api";
import { successAlert, warningAlert } from "@/utils/alert";
export default {
props: {
isEdit: {
......@@ -159,7 +160,7 @@ export default {
curInfo: {
immediate: true,
handler(newV) {
this.leakyCableForm = formInit(newV)
this.leakyCableForm = formInit(newV);
}
}
},
......@@ -182,13 +183,9 @@ export default {
equipId: [
{ required: true, message: "请选择监测设备", trigger: "blur" },
],
antennaFeederLength: [
{ required: true, message: "请输入天馈线长度", trigger: "blur" },
],
// hundredMetersLoss: [
// { required: true, message: "请输入漏缆百米损耗", trigger: "blur" },
// ],
inserterLength: [
{ required: true, message: "请输入插入器长度", trigger: "blur" },
],
......@@ -228,7 +225,9 @@ export default {
},
};
},
computed: {},
mounted() {
this.getAllWay();
},
methods: {
// 编辑的确认
confirm() {
......@@ -244,8 +243,8 @@ export default {
})
},
cancel(refersh) {
this.$emit('update', refersh)
this.reset()
this.$emit('update', refersh);
this.reset();
},
changerailWay() {
......@@ -269,7 +268,6 @@ export default {
submit() {
this.$refs.leakyCableForm.validate((valid) => {
if (valid) {
console.log(this.leakyCableForm);
this.leakyCableForm.parentId = this.leakyCableForm.equipId;
leakyCablesave(this.leakyCableForm).then((res) => {
if (res.code == 200) {
......@@ -292,10 +290,8 @@ export default {
});
},
},
mounted() {
this.getAllWay();
},
};
function formInit(data = {}) {
return {
parentId: "",
......
......@@ -118,7 +118,7 @@
/>
</el-form-item>
</el-form>
<div class="btn" v-if="isEdit==1">
<div class="btn" v-if="isEdit == 1">
<el-button type="primary" @click="cancel">取 消</el-button>
<el-button type="primary" @click="confirm">确 定</el-button>
</div>
......@@ -138,22 +138,23 @@ import {
updateFeederConf
} from "../../api";
import { successAlert, warningAlert } from "@/utils/alert";
export default {
props: {
props: {
isEdit: {
type: Number,
default: 0
},
curInfo: {
type: Object,
default: () => {}
default: () => { }
}
},
watch: {
curInfo: {
immediate: true,
handler(newV) {
this.leakyCableForm = formInit(newV)
this.leakyCableForm = formInit(newV);
}
}
},
......@@ -179,9 +180,6 @@ export default {
feederLength: [
{ required: true, message: "请输入天馈线长度", trigger: "blur" },
],
// feederLossMeters: [
// { required: true, message: "请输入天馈线百米损耗", trigger: "blur" },
// ],
inserterLength: [
{ required: true, message: "请输入插入器长度", trigger: "blur" },
],
......@@ -218,6 +216,9 @@ export default {
},
};
},
mounted() {
this.getAllWay();
},
methods: {
// 编辑的确认
confirm() {
......@@ -226,15 +227,15 @@ export default {
}
delete params.creationTime
updateFeederConf(params).then(res => {
if(res.code == 200) {
this.$message.success('保存成功!')
if (res.code == 200) {
this.$message.success('保存成功!');
}
this.cancel(true)
this.cancel(true);
})
},
cancel(refersh) {
this.$emit('update', refersh)
this.reset()
this.$emit('update', refersh);
this.reset();
},
changerailWay() {
selectForSite({ wayId: this.leakyCableForm.wayId }).then((res) => {
......@@ -278,10 +279,8 @@ export default {
});
},
},
mounted() {
this.getAllWay();
},
};
function formInit(data = {}) {
return {
parentId: "",
......
......@@ -99,29 +99,6 @@
placeholder="请输入设备所在铁路公里标"
/>
</el-form-item>
<!-- <el-form-item label="安装日期:" prop="installDate">
<el-date-picker
v-model="monitorForm.installDate"
type="datetime"
placeholder="请选择安装日期"
format="yyyy-MM-dd HH:mm:ss"
style="width: 400px"
value-format="yyyy-MM-dd HH:mm:ss"
>
</el-date-picker>
</el-form-item>
<el-form-item label=" 维护日期:" prop="repairDate">
<el-date-picker
v-model="monitorForm.repairDate"
type="datetime"
placeholder="请选择维护日期"
format="yyyy-MM-dd HH:mm:ss"
style="width: 400px"
value-format="yyyy-MM-dd HH:mm:ss"
>
</el-date-picker>
</el-form-item> -->
</el-form>
<div class="btn" v-if="isEdit==1">
<el-button type="primary" @click="cancel">取 消</el-button>
......@@ -142,8 +119,8 @@ import {
selectForFsu,
updateMonitorEquipConf
} from "../../api";
import { successAlert, warningAlert } from "@/utils/alert";
export default {
props: {
isEdit: {
......@@ -159,7 +136,7 @@ export default {
curInfo: {
immediate: true,
handler(newV) {
this.monitorForm = formInit(newV)
this.monitorForm = formInit(newV);
}
}
},
......@@ -214,6 +191,9 @@ export default {
},
};
},
mounted() {
this.getAllWay();
},
methods: {
// 编辑的确认
confirm() {
......@@ -223,14 +203,14 @@ export default {
delete params.creationTime
updateMonitorEquipConf(params).then(res => {
if(res.code == 200) {
this.$message.success('保存成功!')
this.$message.success('保存成功!');
}
this.cancel(true)
this.cancel(true);
})
},
cancel(refersh) {
this.$emit('update', refersh)
this.reset()
this.$emit('update', refersh);
this.reset();
},
changerailWay() {
selectForSite({ wayId: this.monitorForm.wayId }).then((res) => {
......@@ -240,7 +220,6 @@ export default {
changesite() {
selectForFsu({ siteId: this.monitorForm.siteId }).then((res) => {
this.fsuSelect2 = res;
console.log(this.fsuSelect2);
});
},
reset() {
......@@ -279,10 +258,8 @@ export default {
this.equipModeSelect = res["09"];
});
},
mounted() {
this.getAllWay();
},
};
function formInit(data = {}) {
return {
wayId: "",
......@@ -298,7 +275,6 @@ function formInit(data = {}) {
equipType: "",
installDate: "",
kmSign: "",
repairDate: "",
...data,
};
......
......@@ -40,8 +40,6 @@ import { railWaysave } from "../../api";
import { successAlert, warningAlert } from "@/utils/alert";
export default {
props: [],
components: {},
data() {
return {
formData: formInit(),
......@@ -60,7 +58,6 @@ export default {
},
};
},
computed: {},
methods: {
reset() {
this.$refs.form.resetFields();
......@@ -80,7 +77,6 @@ export default {
});
},
},
mounted() {},
};
function formInit(data = {}) {
return {
......
......@@ -79,6 +79,7 @@
<script>
import { sitesave, railWaylist, updateSiteConf } from "../../api";
import { successAlert, warningAlert } from "@/utils/alert";
export default {
props: {
isEdit: {
......@@ -94,7 +95,7 @@ export default {
curInfo: {
immediate: true,
handler(newV) {
this.stationForm = formInit(newV)
this.stationForm = formInit(newV);
}
}
},
......@@ -139,7 +140,9 @@ export default {
},
};
},
computed: {},
mounted() {
this.getAllWay();
},
methods: {
// 编辑的确认
confirm() {
......@@ -158,7 +161,6 @@ export default {
this.$emit('update', refersh)
this.reset()
},
readNodes(aaa = [], arrarea = []) {
for (let item of aaa) {
arrarea.push({ id: item.id, name: item.name });
......@@ -197,10 +199,8 @@ export default {
});
},
},
mounted() {
this.getAllWay();
},
};
}
function formInit(data = {}) {
return {
parentId: "",
......
......@@ -8,7 +8,6 @@
<railWay />
</div>
</el-tab-pane>
<el-tab-pane label="站点" name="1">
<div v-if="activeName === '1'" class="content">
<div class="content-title">添加站点</div>
......@@ -91,8 +90,6 @@ export default {
]
}
},
methods: {
}
}
</script>
......
import request from '@/utils/request'
import request from '@/utils/request';
const path = {
railWaylist: 'railWay/selectPage',
......@@ -51,138 +51,138 @@ const path = {
}
// 铁路线
export function railWaylist() {
return request.post(path.railWaylist, ...arguments)
return request.post(path.railWaylist, ...arguments);
}
export function railWaydetail() {
return request.post(path.railWaydetail, ...arguments)
return request.post(path.railWaydetail, ...arguments);
}
export function railWaysave() {
return request.post(path.railWaysave, ...arguments)
return request.post(path.railWaysave, ...arguments);
}
export function railWaybatchDelete() {
return request.post(path.railWaybatchDelete, ...arguments)
return request.post(path.railWaybatchDelete, ...arguments);
}
export function railWayselectList() {
return request.post(path.railWayselectList, ...arguments)
return request.post(path.railWayselectList, ...arguments);
}
export function updateRailWay() {
return request.post(path.updateRailWay, ...arguments)
return request.post(path.updateRailWay, ...arguments);
}
//站点
export function selectForSite() {
return request.post(path.selectForSite, ...arguments)
return request.post(path.selectForSite, ...arguments);
}
export function sitelist() {
return request.post(path.sitelist, ...arguments)
return request.post(path.sitelist, ...arguments);
}
export function sitedetail() {
return request.post(path.sitedetail, ...arguments)
return request.post(path.sitedetail, ...arguments);
}
export function sitesave() {
return request.post(path.sitesave, ...arguments)
return request.post(path.sitesave, ...arguments);
}
export function sitebatchDelete() {
return request.post(path.sitebatchDelete, ...arguments)
return request.post(path.sitebatchDelete, ...arguments);
}
export function siteselectList() {
return request.post(path.siteselectList, ...arguments)
return request.post(path.siteselectList, ...arguments);
}
export function updateSiteConf() {
return request.post(path.updateSiteConf, ...arguments)
return request.post(path.updateSiteConf, ...arguments);
}
//fsu
export function selectForFsu() {
return request.post(path.selectForFsu, ...arguments)
return request.post(path.selectForFsu, ...arguments);
}
export function selectFsuItem() {//fsu字典
return request.post(path.selectFsuItem, ...arguments)
return request.post(path.selectFsuItem, ...arguments);
}
export function fsulist() {
return request.post(path.fsuList, ...arguments)
return request.post(path.fsuList, ...arguments);
}
export function fsudetail() {
return request.post(path.fsudetail, ...arguments)
return request.post(path.fsudetail, ...arguments);
}
export function fsusave() {
return request.post(path.fsusave, ...arguments)
return request.post(path.fsusave, ...arguments);
}
export function fsubatchDelete() {
return request.post(path.fsubatchDelete, ...arguments)
return request.post(path.fsubatchDelete, ...arguments);
}
export function fsuselectList() {
return request.post(path.fsuselectList, ...arguments)
return request.post(path.fsuselectList, ...arguments);
}
export function updateFsuConf() {
return request.post(path.updateFsuConf, ...arguments)
return request.post(path.updateFsuConf, ...arguments);
}
//监测
export function selectMonitorItem() {
return request.post(path.selectMonitorItem, ...arguments)
return request.post(path.selectMonitorItem, ...arguments);
}
export function monitorEquiplist() {
return request.post(path.monitorEquipList, ...arguments)
return request.post(path.monitorEquipList, ...arguments);
}
export function monitorEquipdetail() {
return request.post(path.monitorEquipdetail, ...arguments)
return request.post(path.monitorEquipdetail, ...arguments);
}
export function monitorEquipsave() {
return request.post(path.monitorEquipsave, ...arguments)
return request.post(path.monitorEquipsave, ...arguments);
}
export function monitorEquipbatchDelete() {
return request.post(path.monitorEquipbatchDelete, ...arguments)
return request.post(path.monitorEquipbatchDelete, ...arguments);
}
export function monitorEquipselectList() {
return request.post(path.monitorEquipselectList, ...arguments)
return request.post(path.monitorEquipselectList, ...arguments);
}
export function selectForEquip() {
return request.post(path.selectForEquip, ...arguments)
return request.post(path.selectForEquip, ...arguments);
}
export function updateMonitorEquipConf() {
return request.post(path.updateMonitorEquipConf, ...arguments)
return request.post(path.updateMonitorEquipConf, ...arguments);
}
//漏缆
export function leakyCablelist() {
return request.post(path.leakyCableList, ...arguments)
return request.post(path.leakyCableList, ...arguments);
}
export function leakyCabledetail() {
return request.post(path.leakyCabledetail, ...arguments)
return request.post(path.leakyCabledetail, ...arguments);
}
export function leakyCablesave() {
return request.post(path.leakyCablesave, ...arguments)
return request.post(path.leakyCablesave, ...arguments);
}
export function leakyCablebatchDelete() {
return request.post(path.leakyCablebatchDelete, ...arguments)
return request.post(path.leakyCablebatchDelete, ...arguments);
}
export function leakyCableselectList() {
return request.post(path.leakyCableselectList, ...arguments)
return request.post(path.leakyCableselectList, ...arguments);
}
export function selectForCable() {
return request.post(path.selectForCable, ...arguments)
return request.post(path.selectForCable, ...arguments);
}
export function updateLeakyCableConf() {
return request.post(path.updateLeakyCableConf, ...arguments)
return request.post(path.updateLeakyCableConf, ...arguments);
}
// 天馈线
export function antennaFeederSave() {
return request.post(path.antennaFeederSave, ...arguments)
return request.post(path.antennaFeederSave, ...arguments);
}
export function antennaFeederDelete() {
return request.post(path.antennaFeederDelete, ...arguments)
return request.post(path.antennaFeederDelete, ...arguments);
}
export function antennaFeederDetail() {
return request.post(path.antennaFeederDetail, ...arguments)
return request.post(path.antennaFeederDetail, ...arguments);
}
export function antennaFeederList() {
return request.post(path.antennaFeederList, ...arguments)
return request.post(path.antennaFeederList, ...arguments);
}
export function updateFeederConf() {
return request.post(path.updateFeederConf, ...arguments)
return request.post(path.updateFeederConf, ...arguments);
}
\ No newline at end of file
......@@ -2,9 +2,10 @@
<div>
<div class="leakage-top">
<div style="color: #666666"></div>
<div class="operate-btn">
<delids :multipleSelection2="multipleSelection" @del="del()">删除</delids>
<delids :multipleSelection2="multipleSelection" @del="del()"
>删除</delids
>
<el-button type="primary" @click="refresh">刷新</el-button>
<el-button type="primary" @click="block = !block">查询</el-button>
<el-button type="primary" @click="exportData">导出</el-button>
......@@ -115,8 +116,12 @@
align="center"
>
<template slot-scope="{ row }">
<el-link type="primary" :underline="false" @click="handleView(row)">查看</el-link>
<el-link type="primary" :underline="false" @click="toEdit(row)">编辑</el-link>
<el-link type="primary" :underline="false" @click="handleView(row)"
>查看</el-link
>
<el-link type="primary" :underline="false" @click="toEdit(row)"
>编辑</el-link
>
</template>
</el-table-column>
</el-table>
......@@ -127,19 +132,18 @@
class="pagination"
@pagination="handlePageChange"
/>
<el-dialog
<el-dialog
title="编辑-FSU"
:visible.sync="visible"
width="40%"
:close-on-click-modal="false"
>
<fsu :curInfo="curInfo" :isEdit="1" @update="update" />
</el-dialog>
>
<fsu :curInfo="curInfo" :isEdit="1" @update="update" />
</el-dialog>
</div>
</template>
<script>
import fsu from '@/views/setting/add/comp/FSU.vue'
import fsu from '@/views/setting/add/comp/FSU.vue';
import {
fsulist,
fsubatchDelete,
......@@ -149,9 +153,9 @@ import {
import { successAlert, warningAlert } from "@/utils/alert";
import download from "@/utils/download";
import { exportFsu } from "@/api/export";
export default {
props: [],
components: {fsu},
components: { fsu },
data() {
return {
railWaySelect: [],
......@@ -173,7 +177,19 @@ export default {
curInfo: {}
};
},
computed: {},
created() {
var that = this;
document.onkeydown = function (e) {
var key = window.event.keyCode;
if (key == 13) {
that.searchQuery();
}
};
},
mounted() {
this.getTableData();
this.getAllWay();
},
methods: {
toEdit(row) {
this.visible = true
......@@ -181,7 +197,7 @@ export default {
},
update(data) {
this.visible = false
if(data) {
if (data) {
this.getTableData()
}
},
......@@ -209,7 +225,7 @@ export default {
});
},
refresh() {
this.reset();
this.reset();
},
searchQuery() {
this.istrue = 1;
......@@ -220,20 +236,17 @@ export default {
this.searchQuery();
},
exportData() {
// let ids = [];
// this.ids.length != 0 ? (ids = this.ids) : (ids = this.exids);
if (this.exids.length == 0) {
if (this.exids.length == 0) {
this.$message.warning("暂无数据");
return false;
} else {
exportFsu({ ids: this.exids }).then((res) => {
download(res, "vnd.ms-excel", `FSU表.xls`);
});
exportFsu({ ids: this.exids }).then((res) => {
download(res, "vnd.ms-excel", `FSU表.xls`);
});
}
},
handleSelectionChange(val) {
this.multipleSelection = val;
this.ids = this.multipleSelection.map((i) => i.id);
},
handleView(row) {
......@@ -256,7 +269,6 @@ export default {
this.tableData = list;
this.total = res.total;
this.exids = list.map((i) => i.id);
if (this.istrue == 1) {
if (this.tableData.length != 0) {
successAlert("操作成功");
......@@ -277,20 +289,8 @@ export default {
});
},
},
created() {
var that = this;
document.onkeydown = function (e) {
var key = window.event.keyCode;
if (key == 13) {
that.searchQuery();
}
};
},
mounted() {
this.getTableData();
this.getAllWay();
},
};
function formInit(data = {}) {
return {
fsuCode: "",
......
......@@ -6,18 +6,19 @@
<script>
import { treeBaseInfo } from "../../dashboard/api";
import Type from "../../dashboard/components/index.vue";
export default {
props: [],
components: { Type },
data() {
return {
titleinfo: "",
type: 1,
curInfo: {},
};
},
computed: {},
created() {
this.getParams();
},
methods: {
getParams() {
this.type = this.$route.query.type;
......@@ -26,7 +27,6 @@ export default {
type: this.type,
name: this.$route.query.name
};
treeBaseInfo(params).then((res) => {
let controlLimit = res.controlLimit || []
if (controlLimit) {
......@@ -38,10 +38,5 @@ export default {
});
},
},
created() {
this.getParams();
},
mounted() { },
};
</script>
<template>
<div class="leakage-cable">
<el-button-group>
<el-button
......@@ -84,10 +83,6 @@ export default {
changeType(item) {
this.activeName = item.key
},
refresh() {},
query() {},
exportData() {}
}
}
</script>
......
......@@ -10,22 +10,22 @@ const path = {
}
export function list() {
return request.post(path.list, ...arguments)
return request.post(path.list, ...arguments);
}
export function create() {
return request.post(path.create, ...arguments)
return request.post(path.create, ...arguments);
}
export function updatePwd() {
return request.post(path.updatePwd, ...arguments)
return request.post(path.updatePwd, ...arguments);
}
export function updateInfo() {
return request.post(path.updateInfo, ...arguments)
return request.post(path.updateInfo, ...arguments);
}
export function logList() {
return request.post(path.logList, ...arguments)
return request.post(path.logList, ...arguments);
}
......@@ -54,11 +54,10 @@ export default {
this.$refs.form.validate((valid) => {
if (valid) {
updateInfo(this.form).then(res => {
this.$message.success('操作成功')
this.$message.success('操作成功');
})
} else {
console.log('error submit!!')
return false
return false;
}
})
}
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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