Commit b1d21bb3 authored by dupengyu's avatar dupengyu

补充缺失页面 补充devserver及

parent 3e2f1a6d
...@@ -3,7 +3,7 @@ import request from '@/utils/request' ...@@ -3,7 +3,7 @@ import request from '@/utils/request'
// 查询分页 // 查询分页
export function selectPage(params) { export function selectPage(params) {
return request({ return request({
url: '/backuprestore/selectPage', url: '/api/backuprestore/selectPage',
method: 'post', method: 'post',
params params
}) })
...@@ -12,7 +12,7 @@ export function selectPage(params) { ...@@ -12,7 +12,7 @@ export function selectPage(params) {
// 数据备份 // 数据备份
export function doBackup(data) { export function doBackup(data) {
return request({ return request({
url: '/backuprestore/doBackup', url: '/api/backuprestore/doBackup',
method: 'post', method: 'post',
data data
}) })
...@@ -21,7 +21,7 @@ export function doBackup(data) { ...@@ -21,7 +21,7 @@ export function doBackup(data) {
// 数据恢复 // 数据恢复
export function restore(params) { export function restore(params) {
return request({ return request({
url: '/backuprestore/restore', url: '/api/backuprestore/restore',
method: 'post', method: 'post',
params params
}) })
......
import request from '@/utils/request' import request from '@/utils/request'
const path = { const path = {
deptList: '/dict/selectDeptItem', deptList: '/api/dict/selectDeptItem',
fsuList: '/dict/selectFsuItem', fsuList: '/api/dict/selectFsuItem',
OperateEnum: '/dict/selectOperationItem', OperateEnum: '/api/dict/selectOperationItem',
LeakyCablelEnum: '/dict/selectLeakyCablelItem', LeakyCablelEnum: '/api/dict/selectLeakyCablelItem',
MonitorEnum: '/dict/selectMonitorItem', MonitorEnum: '/api/dict/selectMonitorItem',
selectDictType: '/dict/selectDictType', selectDictType: '/api/dict/selectDictType',
getTree: '/home/getTree', getTree: '/api/home/getTree',
} }
export function deptList() { export function deptList() {
......
...@@ -2,29 +2,29 @@ import request from '@/utils/request' ...@@ -2,29 +2,29 @@ import request from '@/utils/request'
const path = { const path = {
// 告警管理 // 告警管理
exportLeakyCable: 'sysMonitorAlarm/export', exportLeakyCable: 'api/sysMonitorAlarm/export',
exportConnet: 'sysConnectAlarm/export', exportConnet: 'api/sysConnectAlarm/export',
// 配置管理 // 配置管理
exportRailWay: "railWay/export", exportRailWay: "api/railWay/export",
exportSite: "site/export", exportSite: "api/site/export",
exportFsu: "fsu/export", exportFsu: "api/fsu/export",
exportMonitorEquip: "monitorEquip/export", exportMonitorEquip: "api/monitorEquip/export",
exportLeaky: "leakyCable/export", exportLeaky: "api/leakyCable/export",
exportFeeder: "antennaFeeder/export", exportFeeder: "api/antennaFeeder/export",
// 实时状态 // 实时状态
exportLeakyCableTime: 'sysLeakyCableStatus/export', exportLeakyCableTime: 'api/sysLeakyCableStatus/export',
exportConnetTime: 'sysDeviceStatus/export', exportConnetTime: 'api/sysDeviceStatus/export',
// 历史数据 // 历史数据
exportLeakyStatusHistory: 'sysHistoryMonitorStatus/export', exportLeakyStatusHistory: 'api/sysHistoryMonitorStatus/export',
exportLeakyMaintainHistory: 'sysHistoryMonitorMaintain/export', exportLeakyMaintainHistory: 'api/sysHistoryMonitorMaintain/export',
exportConnectStatusHistory: 'sysHistoryConnectStatus/export', exportConnectStatusHistory: 'api/sysHistoryConnectStatus/export',
exportConnectMaintainHistory: 'sysHistoryConnectMaintain/export', exportConnectMaintainHistory: 'api/sysHistoryConnectMaintain/export',
// 用户管理 // 用户管理
exportLog: 'sysLog/exportLog', exportLog: 'api/sysLog/exportLog',
} }
const blobConf = { responseType: 'blob' } const blobConf = { responseType: 'blob' }
......
import request from '@/utils/request'
// 运行报表
export function chartInfo(params) {
return request({
url: '/xxl-job-admin/chartInfo',
method: 'post',
params
})
}
// 任务管理
export function jobinfoList(data) {
return request({
url: '/xxl-job-admin/jobinfo/pageList',
method: 'post',
data
})
}
// 调度日志
export function joblogList(data) {
return request({
url: '/xxl-job-admin/joblog/pageList',
method: 'post',
data
})
}
// 执行器管理
export function jobgroupList(data) {
return request({
url: '/xxl-job-admin/jobgroup/pageList',
method: 'post',
data
})
}
import request from '@/utils/request'
export function selectFeederPage(params) {
return request({
url: '/device/sync/selectFeederPage',
method: 'post',
params
})
}
...@@ -2,7 +2,7 @@ import request from '@/utils/request' ...@@ -2,7 +2,7 @@ import request from '@/utils/request'
export function getList(params) { export function getList(params) {
return request({ return request({
url: '/vue-admin-template/table/list', url: '/api/vue-admin-template/table/list',
method: 'get', method: 'get',
params params
}) })
......
import request from '@/utils/request'
export function timeSync(params) {
return request({
url: '/device/udp/timeSync',
method: 'post',
params
})
}
...@@ -2,19 +2,19 @@ import request from '@/utils/request' ...@@ -2,19 +2,19 @@ import request from '@/utils/request'
export function login(data) { export function login(data) {
return request({ return request({
url: '/user/login', url: '/api/user/login',
method: 'post', method: 'post',
data data
}) })
} }
export function getInfo() { export function getInfo() {
return request.post('/user/getUser', ...arguments) return request.post('/api/user/getUser', ...arguments)
} }
export function logout() { export function logout() {
return request({ return request({
url: '/user/logout', url: '/api/user/logout',
method: 'post' method: 'post'
}) })
} }
export const alarmLeval = { export const alarmLeval = {
1: '紧急', 0: '一般',
2: '重要', 1: '重要',
3: '一般' 2: '紧急'
} }
export const alarmType = { export const alarmType = {
0: '漏缆', 0: '漏缆',
1: '天馈线', 1: '天馈线',
} }
export const confirmStatus = {
0: '未确认',
1: '已确认',
2: '已消除'
}
export const ConnectStatusEnum = { export const ConnectStatusEnum = {
0: '连接正常', 0: '连接正常',
1: '连接异常' 1: '连接异常'
......
...@@ -158,6 +158,39 @@ export const constantRoutes = [ ...@@ -158,6 +158,39 @@ export const constantRoutes = [
// } // }
// ] // ]
// }, // },
{
path: '/jobgroup',
component: Layout,
redirect: '/jobgroup',
name: 'Jobgroup',
meta: { title: '轮询管理', icon: 'history' },
children: [
{
path: 'screen',
name: 'screen',
component: () => import('@/views/jobgroup/screen/index.vue'),
meta: { title: '运行报表' }
},
{
path: 'jobinfo',
name: 'jobinfo',
component: () => import('@/views/jobgroup/jobinfo/index.vue'),
meta: { title: '任务管理' }
},
{
path: 'joblog',
name: 'joblog',
component: () => import('@/views/jobgroup/joblog/index.vue'),
meta: { title: '调度日志' }
},
{
path: 'jobmanage',
name: 'jobmanage',
component: () => import('@/views/jobgroup/jobmanage/index.vue'),
meta: { title: '执行器管理' }
},
]
},
{ {
path: '/history', path: '/history',
component: Layout, component: Layout,
......
...@@ -7,7 +7,7 @@ import EventBus from '@/utils/bus' ...@@ -7,7 +7,7 @@ import EventBus from '@/utils/bus'
// create an axios instance // create an axios instance
const service = axios.create({ const service = axios.create({
baseURL: '/api/', // url = base url + request url baseURL: '/', // url = base url + request url
// withCredentials: true, // send cookies when cross-domain requests // withCredentials: true, // send cookies when cross-domain requests
timeout: 5000 // request timeout timeout: 5000 // request timeout
}) })
...@@ -33,6 +33,7 @@ function endLoading(el) { ...@@ -33,6 +33,7 @@ function endLoading(el) {
// request interceptor // request interceptor
service.interceptors.request.use( service.interceptors.request.use(
config => { config => {
console.log(config)
// do something before request is sent // do something before request is sent
startLoading(config.el) startLoading(config.el)
// config.data = json.dumps(config.data) // config.data = json.dumps(config.data)
......
import request from '@/utils/request'; import request from '@/utils/request';
const path = { const path = {
cableTimeList: 'sysMonitorAlarm/selectPage', cableTimeList: 'api/sysMonitorAlarm/selectPage',
cableConfirm: 'sysMonitorAlarm/confirm', cableConfirm: 'api/sysMonitorAlarm/confirm',
cableCancel: 'sysMonitorAlarm/cancel', cableCancel: 'api/sysMonitorAlarm/cancel',
eliminate: 'api/sysMonitorAlarm/eliminate',
deviceList: 'api/sysConnectAlarm/selectPage',
deviceConfirm: 'api/sysConnectAlarm/confirm',
deviceCancel: 'api/sysConnectAlarm/cancel',
deviceList: 'sysConnectAlarm/selectPage', alarmConfirmStatusStatistics: 'api/sysMonitorAlarmStatistics/alarmConfirmStatusStatistics',
deviceConfirm: 'sysConnectAlarm/confirm', alarmLevelStatistics: '/api/sysMonitorAlarmStatistics/alarmLevelStatistics',
deviceCancel: 'sysConnectAlarm/cancel' alarmLevelCountStatistics: '/api/sysMonitorAlarmStatistics/alarmLevelCountStatistics'
} }
export function cableTimeList() { export function cableTimeList() {
...@@ -19,7 +23,9 @@ export function cableCancel() { ...@@ -19,7 +23,9 @@ export function cableCancel() {
export function cableConfirm() { export function cableConfirm() {
return request.post(path.cableConfirm, ...arguments); return request.post(path.cableConfirm, ...arguments);
} }
export function eliminate() {
return request.post(path.eliminate, ...arguments);
}
export function deviceList() { export function deviceList() {
return request.post(path.deviceList, ...arguments); return request.post(path.deviceList, ...arguments);
} }
...@@ -29,3 +35,14 @@ export function deviceConfirm() { ...@@ -29,3 +35,14 @@ export function deviceConfirm() {
export function deviceCancel() { export function deviceCancel() {
return request.post(path.deviceCancel, ...arguments); return request.post(path.deviceCancel, ...arguments);
} }
export function alarmConfirmStatusStatistics() {
return request.post(path.alarmConfirmStatusStatistics, ...arguments);
}
export function alarmLevelStatistics() {
return request.post(path.alarmLevelStatistics, ...arguments);
}
export function alarmLevelCountStatistics() {
return request.post(path.alarmLevelCountStatistics, ...arguments);
}
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
v-for="(val, key) in alarmType" v-for="(val, key) in alarmType"
:key="key" :key="key"
:label="val" :label="val"
:value="val" :value="key"
> >
</el-option> </el-option>
</el-select> </el-select>
...@@ -77,7 +77,7 @@ ...@@ -77,7 +77,7 @@
<script> <script>
import { commonQuery } from "@/views/history/api"; import { commonQuery } from "@/views/history/api";
import { alarmLeval,alarmType } from "@/const"; import { alarmLeval, alarmType } from "@/const";
export default { export default {
name: "search", name: "search",
...@@ -87,7 +87,7 @@ export default { ...@@ -87,7 +87,7 @@ export default {
form: formInit(), form: formInit(),
alarmLeval, alarmLeval,
alarmType, alarmType,
dateRange:[] dateRange: [],
}; };
}, },
mounted() { mounted() {
...@@ -95,10 +95,13 @@ export default { ...@@ -95,10 +95,13 @@ export default {
}, },
methods: { methods: {
toSearch() { toSearch() {
this.form.startUploadTime = this.dateRange[0];
this.form.endUploadTime = this.dateRange[1];
this.$emit("search", this.form); this.$emit("search", this.form);
}, },
reset() { reset() {
this.form = formInit(); this.form = formInit();
this.dateRange = []
this.$emit("search"); this.$emit("search");
}, },
getInit() { getInit() {
......
...@@ -125,7 +125,7 @@ ...@@ -125,7 +125,7 @@
<el-button <el-button
v-if="scope.row.confirmStatus == 1" v-if="scope.row.confirmStatus == 1"
type="text" type="text"
@click="confirmAlarm(scope.row)" @click="eliminate(scope.row)"
>已消除</el-button >已消除</el-button
> >
</template> </template>
...@@ -201,7 +201,7 @@ ...@@ -201,7 +201,7 @@
</template> </template>
<script> <script>
import { cableTimeList, cableConfirm, cableCancel } from "../api"; import { cableTimeList, cableConfirm, cableCancel, eliminate } from "../api";
import { exportLeakyCable } from "@/api/export"; import { exportLeakyCable } from "@/api/export";
import search from "./components/search.vue"; import search from "./components/search.vue";
import download from "@/utils/download"; import download from "@/utils/download";
...@@ -247,6 +247,26 @@ export default { ...@@ -247,6 +247,26 @@ export default {
this.searchOption = this.$route.query; this.searchOption = this.$route.query;
}, },
methods: { methods: {
eliminate(row) {
this.$confirm("是否将该项警告消除?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.handleEliminate(row.id);
})
.catch(() => {
warningAlert("取消");
});
},
async handleEliminate(id) {
let res = await eliminate({id:id});
if (res.code === 200) {
successAlert("取消告警成功");
this.getTableData();
}
},
// 表格背景图颜色 // 表格背景图颜色
cellClassFn({ row, column, rowIndex, columnIndex }) { cellClassFn({ row, column, rowIndex, columnIndex }) {
if ( if (
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
placeholder="请输入网元设备" placeholder="请输入网元设备"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="监测设备厂家" label-width="120px"> <!-- <el-form-item label="监测设备厂家" label-width="120px">
<el-select v-model="value" placeholder="请选择"> <el-select v-model="value" placeholder="请选择">
<el-option <el-option
v-for="item in options" v-for="item in options"
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
> >
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item> -->
<el-form-item label="上传时间"> <el-form-item label="上传时间">
<el-date-picker <el-date-picker
v-model="dateRange" v-model="dateRange"
......
This diff is collapsed.
function printToPdf(targetId) {
// 确保DOM已完全加载
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', function () {
performPrint(targetId);
});
} else {
performPrint(targetId);
}
}
function performPrint(targetId) {
const targetElement = document.getElementById(targetId);
if (!targetElement) {
console.error('Element with ID'+ targetId +'not found.');
return;
}
// 克隆目标元素及其子元素
const clonedElement = targetElement.cloneNode(true);
clonedElement.style.width = '320mm'
// 在打印之前隐藏所有元素
function hideAllElements() {
document.getElementById('app').style.display = 'none'
// 将克隆的元素添加到body中
document.body.appendChild(clonedElement);
}
// 在打印结束后恢复所有元素
function showAllElements() {
document.body.removeChild(clonedElement);
document.getElementById('app').style.display = ''
}
// 添加事件监听器以在打印之前和之后执行操作
window.addEventListener('beforeprint', hideAllElements);
window.addEventListener('afterprint', showAllElements);
// 触发打印
window.print();
// 打印完成后移除事件监听器
window.removeEventListener('beforeprint', hideAllElements);
window.removeEventListener('afterprint', showAllElements);
}
// 调用函数
export default printToPdf
\ No newline at end of file
import request from '@/utils/request' import request from '@/utils/request'
const path = { const path = {
treeBaseInfo: '/home/treeBaseInfo', treeBaseInfo: '/api/home/treeBaseInfo',
railWayOpen: '/railWay/updateRailWay', railWayOpen: '/api/railWay/updateRailWay',
siteOpen: '/site/updateSite', siteOpen: '/api/site/updateSite',
fsuOpen: '/fsu/updateFsu', fsuOpen: '/api/fsu/updateFsu',
monitorEquipOpen: '/monitorEquip/updateMonitorEquip', monitorEquipOpen: '/api/monitorEquip/updateMonitorEquip',
leakyCableOpen: '/leakyCable/updateLeakyCable', leakyCableOpen: '/api/leakyCable/updateLeakyCable',
updateFeeder: '/antennaFeeder/updateFeeder', updateFeeder: '/api/antennaFeeder/updateFeeder',
getYear: '/sysStandingWaveRatio/getYear', getYear: '/api/sysStandingWaveRatio/getYear',
getMonth: '/sysStandingWaveRatio/getMonth', getMonth: '/api/sysStandingWaveRatio/getMonth',
} }
export function treeBaseInfo() { export function treeBaseInfo() {
......
import request from '@/utils/request' import request from '@/utils/request'
const path = { const path = {
MonitorStatusList: 'sysHistoryMonitorStatus/selectPage', MonitorStatusList: 'api/sysHistoryMonitorStatus/selectPage',
MonitorStatusDelete: 'sysHistoryMonitorStatus/batchDeleteHistoryMonitorStatus', MonitorStatusDelete: 'api/sysHistoryMonitorStatus/batchDeleteHistoryMonitorStatus',
pictorialStatement: 'sysHistoryMonitorStatus/pictorialStatement', pictorialStatement: 'api/sysHistoryMonitorStatus/pictorialStatement',
MonitorMaintainList: 'sysHistoryMonitorMaintain/selectPage', MonitorMaintainList: 'api/sysHistoryMonitorMaintain/selectPage',
MonitorMaintainDelete: 'sysHistoryMonitorMaintain/batchDeleteHistoryMonitorMaintain', MonitorMaintainDelete: 'api/sysHistoryMonitorMaintain/batchDeleteHistoryMonitorMaintain',
ConnectStatusList: 'sysHistoryConnectStatus/selectPage', ConnectStatusList: 'api/sysHistoryConnectStatus/selectPage',
ConnectStatusDelete: 'sysHistoryConnectStatus/batchDeleteHistoryConnectStatus', ConnectStatusDelete: 'api/sysHistoryConnectStatus/batchDeleteHistoryConnectStatus',
ConnectStatusDeleteAll: 'sysHistoryConnectStatus/deleteAll', ConnectStatusDeleteAll: 'api/sysHistoryConnectStatus/deleteAll',
ConnectMaintainList: 'sysHistoryConnectMaintain/selectPage', ConnectMaintainList: 'api/sysHistoryConnectMaintain/selectPage',
ConnectMaintainDelete: 'sysHistoryConnectMaintain/batchDeleteHistoryConnectMaintain', ConnectMaintainDelete: 'api/sysHistoryConnectMaintain/batchDeleteHistoryConnectMaintain',
ConnectMaintainDeleteAll: 'sysHistoryConnectMaintain/deleteAll', ConnectMaintainDeleteAll: 'api/sysHistoryConnectMaintain/deleteAll',
commonQuery: 'sysHistoryCommon/getSiteAndAlarmAll', commonQuery: 'api/sysHistoryCommon/getSiteAndAlarmAll',
} }
export function MonitorStatusList() { export function MonitorStatusList() {
......
<template>
<div class="">
<div class="card">
<div class="card-body">
<div class="icon"></div>
<div>
<div class="title"></div>
<div class="num"></div>
</div>
</div>
</div>
</div>
</template>
<script>
import { chartInfo } from "@/api/job.js";
export default {
data() {
return {
topList: [
{
title: "设备总数",
icon: "el-icon-s-home",
num: 3,
color: "#00C0EF",
msg: "调度中心运行的任务数量",
},
{
title: "调度次数",
icon: "el-icon-s-home",
num: 0,
color: "#F39C12",
msg: "调度中心触发的调度次数",
},
{
title: "执行器数量",
icon: "el-icon-s-home",
num: 0,
color: "#00A65A",
msg: "调度中心在线的执行器机器数量",
},
],
};
},
mounted() {
this.handleChartInfo();
},
methods: {
async handleChartInfo(){
console.log('---');
let res = await chartInfo({});
// console.log(res);
}
},
};
</script>
<style lang="scss" scoped>
</style>
\ No newline at end of file
import request from '@/utils/request'; import request from '@/utils/request';
const path = { const path = {
cableTypeEnum: 'equipParam/selectItem', cableTypeEnum: 'api/equipParam/selectItem',
saveParam: 'equipParam/saveParam', saveParam: 'api/equipParam/saveParam',
selectEquipByType: 'equipParam/selectEquipByType', selectEquipByType: 'api/equipParam/selectEquipByType',
} }
export function cableTypeEnum() { export function cableTypeEnum() {
......
import request from '@/utils/request' import request from '@/utils/request'
const path = { const path = {
CableStatusList: 'sysLeakyCableStatus/selectPage', CableStatusList: 'api/sysLeakyCableStatus/selectPage',
DeviceStatusList: 'sysDeviceStatus/selectPage', DeviceStatusList: 'api/sysDeviceStatus/selectPage',
} }
export function CableStatusList() { export function CableStatusList() {
......
<template>
<div>
<el-table
ref="multipleTable"
class="statistics-table"
:data="tableData"
tooltip-effect="dark"
style="width: 100%; height: auto"
:row-class-name="tableRowClassName"
:row-style="{ height: '50px' }"
:header-cell-style="{
background: '#eaf1fe',
color: '#000',
fontWeight: 700,
height: '50px',
}"
>
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column prop="equipCode" label="设备编号" align="center" />
<el-table-column
prop="equipName"
label="设备名称"
show-overflow-tooltip
align="center"
/>
<el-table-column prop="ip" label="设备IP" align="center" />
<el-table-column prop="railWayName" label="设备型号" align="center" />
<el-table-column prop="siteName" label="设备位置" align="center" />
<el-table-column
prop="action"
label="操作"
show-overflow-tooltip
align="center"
>
<template slot-scope="{ row }">
<el-link type="primary" :underline="false" @click="handleView(row)"
>添加</el-link
>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
export default {
data() {
return {
tableData: [
{
equipCode: "123456",
equipName: "123456",
ip: "123456",
railWayName: "123456",
siteName: "123456",
},
{
equipCode: "123456",
equipName: "123456",
ip: "123456",
railWayName: "123456",
},
],
};
},
methods: {
tableRowClassName({ row, rowIndex }) {
return rowIndex % 2 === 0 ? "" : "single-row";
},
},
};
</script>
<style lang="scss" scoped>
.statistics-table {
.single-row {
background: #f1f6ff;
}
td {
padding: 5px !important;
}
}
</style>
\ No newline at end of file
import request from '@/utils/request'; import request from '@/utils/request';
const path = { const path = {
railWaylist: 'railWay/selectPage', railWaylist: 'api/railWay/selectPage',
railWaydetail: 'railWay/detail', railWaydetail: 'api/railWay/detail',
railWaysave: 'railWay/save', railWaysave: 'api/railWay/save',
railWaybatchDelete: 'railWay/batchDelete', railWaybatchDelete: 'api/railWay/batchDelete',
railWayselectList: 'railWay/selectList', railWayselectList: 'api/railWay/selectList',
updateRailWay: 'railWay/updateRailWay', updateRailWay: 'api/railWay/updateRailWay',
sitelist: 'site/selectPage', sitelist: 'api/site/selectPage',
sitedetail: 'site/detail', sitedetail: 'api/site/detail',
sitesave: 'site/save', sitesave: 'api/site/save',
sitebatchDelete: 'site/batchDelete', sitebatchDelete: 'api/site/batchDelete',
siteselectList: 'site/selectList', siteselectList: 'api/site/selectList',
selectForSite:'site/selectForSite',//铁路查站点 selectForSite:'api/site/selectForSite',//铁路查站点
updateSiteConf:'site/updateSiteConf', updateSiteConf:'api/site/updateSiteConf',
fsuList: 'fsu/selectPage', fsuList: 'api/fsu/selectPage',
fsudetail: 'fsu/detail', fsudetail: 'api/fsu/detail',
fsusave: 'fsu/save', fsusave: 'api/fsu/save',
fsubatchDelete: 'fsu/batchDeleteFsu', fsubatchDelete: 'api/fsu/batchDeleteFsu',
fsuselectList: 'fsu/selectList', fsuselectList: 'api/fsu/selectList',
selectForFsu: 'fsu/selectForFsu', selectForFsu: 'api/fsu/selectForFsu',
updateFsuConf: 'fsu/updateFsuConf', updateFsuConf: 'api/fsu/updateFsuConf',
selectFsuItem:'dict/selectFsuItem',//fsu数据字典 selectFsuItem:'api/dict/selectFsuItem',//fsu数据字典
monitorEquipList: 'monitorEquip/selectPage', monitorEquipList: 'api/monitorEquip/selectPage',
monitorEquipdetail: 'monitorEquip/detail', monitorEquipdetail: 'api/monitorEquip/detail',
monitorEquipsave: 'monitorEquip/save', monitorEquipsave: 'api/monitorEquip/save',
monitorEquipbatchDelete: 'monitorEquip/batchDeleteEquip', monitorEquipbatchDelete: 'api/monitorEquip/batchDeleteEquip',
monitorEquipselectList: 'monitorEquip/selectList', monitorEquipselectList: 'api/monitorEquip/selectList',
selectForEquip: 'monitorEquip/selectForEquip', selectForEquip: 'api/monitorEquip/selectForEquip',
selectMonitorItem:'dict/selectMonitorItem',//监测设备字典 selectMonitorItem:'api/dict/selectMonitorItem',//监测设备字典
updateMonitorEquipConf:'monitorEquip/updateMonitorEquipConf', updateMonitorEquipConf:'api/monitorEquip/updateMonitorEquipConf',
leakyCableList: 'leakyCable/selectPage', leakyCableList: 'api/leakyCable/selectPage',
leakyCabledetail: 'leakyCable/detail', leakyCabledetail: 'api/leakyCable/detail',
leakyCablesave: 'leakyCable/save', leakyCablesave: 'api/leakyCable/save',
leakyCablebatchDelete: 'leakyCable/batchDeleteEquip', leakyCablebatchDelete: 'api/leakyCable/batchDeleteEquip',
leakyCableselectList: 'leakyCable/selectList', leakyCableselectList: 'api/leakyCable/selectList',
selectForCable: 'leakyCable/selectForCable', selectForCable: 'api/leakyCable/selectForCable',
updateLeakyCableConf: 'leakyCable/updateLeakyCableConf', updateLeakyCableConf: 'api/leakyCable/updateLeakyCableConf',
antennaFeederSave: 'antennaFeeder/save', antennaFeederSave: 'api/antennaFeeder/save',
antennaFeederDelete: 'antennaFeeder/batchDeleteEquip', antennaFeederDelete: 'api/antennaFeeder/batchDeleteEquip',
antennaFeederDetail: 'antennaFeeder/detail', antennaFeederDetail: 'api/antennaFeeder/detail',
antennaFeederList: 'antennaFeeder/selectFeederPage', antennaFeederList: 'api/antennaFeeder/selectFeederPage',
updateFeederConf: 'antennaFeeder/updateFeederConf', updateFeederConf: 'api/antennaFeeder/updateFeederConf',
} }
// 铁路线 // 铁路线
export function railWaylist() { export function railWaylist() {
......
...@@ -85,6 +85,20 @@ ...@@ -85,6 +85,20 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="监测设备厂家:">
<el-select
placeholder="请选择监测设备厂家"
v-model="monitorForm.fsuId"
clearable
>
<el-option
v-for="item in fsuSelect2"
:key="item.id"
:label="item.equipName"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="success" @click="searchQuery()">查询</el-button> <el-button type="success" @click="searchQuery()">查询</el-button>
<el-button type="primary" @click="reset">重置</el-button> <el-button type="primary" @click="reset">重置</el-button>
...@@ -159,11 +173,21 @@ ...@@ -159,11 +173,21 @@
width="40%" width="40%"
:close-on-click-modal="false" :close-on-click-modal="false"
> >
<autoAdd />
</el-dialog>
<el-dialog
title="监测设备参数设置"
:visible.sync="openSetting"
width="40%"
:close-on-click-modal="false"
>
<autoAdd />
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import monitor from "../../add/comp/monitorEquip.vue"; import monitor from "../../add/comp/monitorEquip.vue";
import autoAdd from "../../add/comp/autoAdd.vue";
import { import {
monitorEquiplist, monitorEquiplist,
monitorEquipbatchDelete, monitorEquipbatchDelete,
...@@ -175,7 +199,7 @@ import { successAlert, warningAlert } from "@/utils/alert"; ...@@ -175,7 +199,7 @@ import { successAlert, warningAlert } from "@/utils/alert";
import download from "@/utils/download"; import download from "@/utils/download";
import { exportMonitorEquip } from "@/api/export"; import { exportMonitorEquip } from "@/api/export";
export default { export default {
components: { monitor }, components: { monitor, autoAdd },
data() { data() {
return { return {
railWaySelect: [], railWaySelect: [],
...@@ -196,6 +220,7 @@ export default { ...@@ -196,6 +220,7 @@ export default {
visible: false, visible: false,
curInfo: {}, curInfo: {},
open: false, open: false,
openSetting: false,
}; };
}, },
created() { created() {
...@@ -212,6 +237,9 @@ export default { ...@@ -212,6 +237,9 @@ export default {
this.getAllWay(); this.getAllWay();
}, },
methods: { methods: {
handleSetting() {
this.openSetting = true;
},
handleAutomatic() { handleAutomatic() {
this.open = true; this.open = true;
}, },
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<el-tab-pane label="同步设备"> <el-tab-pane label="同步设备">
<div class="top-box"> <div class="top-box">
<div class="nav-title">同步设备</div> <div class="nav-title">同步设备</div>
<el-button type="primary" @click="handleClick">开始同步</el-button> <el-button type="primary" @click="handleTimeSync">开始同步</el-button>
</div> </div>
<div class="table"> <div class="table">
<el-table <el-table
...@@ -14,51 +14,28 @@ ...@@ -14,51 +14,28 @@
:header-cell-style="{ background: '#f5f7fa', color: '#909399' }" :header-cell-style="{ background: '#f5f7fa', color: '#909399' }"
> >
<el-table-column <el-table-column
prop="name" prop="ip"
label="设备IP" label="设备ip"
width="" width=""
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
prop="name" prop="equipmentCode"
label="设备编号" label="设备编号"
width="" width=""
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
prop="name" prop="lastModifiedTime"
label="站点名称"
width=""
></el-table-column>
</el-table>
</div>
</el-tab-pane>
<el-tab-pane label="同步记录">
<div class="top-box">
<div class="nav-title">时间同步记录</div>
<!-- <el-button type="primary" @click="handleClick">开始同步</el-button> -->
</div>
<div class="table">
<el-table
:data="tableData"
style="width: 100%"
border
:header-cell-style="{ background: '#f5f7fa', color: '#909399' }"
>
<el-table-column
prop="name"
label="同步设备"
width=""
></el-table-column>
<el-table-column
prop="name"
label="状态"
width=""
></el-table-column>
<el-table-column
prop="name"
label="同步时间" label="同步时间"
width="" width=""
></el-table-column> ></el-table-column>
</el-table> </el-table>
<Pagination
:limit="params.size"
:page="params.current"
:total="total"
class="pagination"
@pagination="handlePageChange"
/>
</div> </div>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
...@@ -66,15 +43,39 @@ ...@@ -66,15 +43,39 @@
</template> </template>
<script> <script>
import { selectFeederPage } from "@/api/sync";
import { timeSync } from "@/api/udp";
export default { export default {
data() { data() {
return { return {
tableData: [], tableData: [],
params: {
current: 1,
size: 10,
},
total: 0,
}; };
}, },
mounted() {
this.handleSelectFeederPage();
},
methods: { methods: {
handleClick() { handlePageChange(pageData) {
this.params.size = pageData.size;
this.params.current = pageData.page;
this.handleSelectFeederPage();
},
async handleTimeSync() {
let res = await timeSync({});
console.log(res);
this.$message.success("开始备份"); this.$message.success("开始备份");
this.handleSelectFeederPage();
},
async handleSelectFeederPage() {
let res = await selectFeederPage({});
this.tableData = res.records;
this.total = res.total;
}, },
}, },
}; };
......
import request from '@/utils/request' import request from '@/utils/request'
const path = { const path = {
list: 'user/selectUserPage', list: 'api/user/selectUserPage',
create: 'user/saveUser', create: 'api/user/saveUser',
updatePwd: 'user/updatePwd', updatePwd: 'api/user/updatePwd',
updateInfo: 'user/updateUserBaseInfo', updateInfo: 'api/user/updateUserBaseInfo',
logList: 'sysLog/selectLogPage', logList: 'api/sysLog/selectLogPage',
} }
export function list() { export function list() {
......
...@@ -19,6 +19,26 @@ const rewriteDefaultConfig = { ...@@ -19,6 +19,26 @@ const rewriteDefaultConfig = {
referer: 'laddercloud.cn' referer: 'laddercloud.cn'
}, },
} }
const rewriteDeviceConfig = {
changeOrigin: true,
target: 'http://101.126.159.207:8087',
// target: 'http://192.168.0.127:8886',
// ws: true,
headers: {
referer: 'laddercloud.cn'
},
}
const rewriteAdminConfig = {
changeOrigin: true,
target: 'http://101.126.159.207:8887',
// target: 'http://192.168.0.127:8886',
// ws: true,
headers: {
referer: 'laddercloud.cn'
},
}
module.exports = { module.exports = {
publicPath: './', publicPath: './',
...@@ -35,7 +55,9 @@ module.exports = { ...@@ -35,7 +55,9 @@ module.exports = {
errors: true errors: true
}, },
proxy: { proxy: {
'/api': rewriteDefaultConfig '/api': rewriteDefaultConfig,
'/device': rewriteDeviceConfig,
'/xxl-job-admin': rewriteAdminConfig
}, },
}, },
configureWebpack: { configureWebpack: {
......
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