Commit 5fb2b96a authored by dupengyu's avatar dupengyu

图表 统计 旧项目改动

parent a674e78e
...@@ -230,22 +230,22 @@ export const constantRoutes = [ ...@@ -230,22 +230,22 @@ export const constantRoutes = [
} }
] ]
}, { }, {
path: '/system', path: '/backup',
component: Layout, component: Layout,
redirect: '/dashboard', redirect: '/dashboard',
name: '系统管理', name: '备份管理',
meta: { title: '系统管理', icon: 'system' }, meta: { title: '备份管理', icon: 'backup' },
children: [ children: [
{ {
path: 'backups', path: 'backups',
name: '数据备份', name: '数据备份',
component: () => import('@/views/system/backups/index'), component: () => import('@/views/backup/backups/index'),
meta: { title: '数据备份' } meta: { title: '数据备份' }
}, },
{ {
path: 'synchronize', path: 'synchronize',
name: '时间同步', name: '时间同步',
component: () => import('@/views/system/synchronize/index'), component: () => import('@/views/backup/synchronize/index'),
meta: { title: '时间同步' } meta: { title: '时间同步' }
} }
] ]
......
...@@ -53,18 +53,6 @@ export default { ...@@ -53,18 +53,6 @@ export default {
length: 10, length: 10,
}; };
const queryParams = new URLSearchParams(data).toString(); const queryParams = new URLSearchParams(data).toString();
// const formData = new FormData();
// Object.keys(data).map((key) => {
// formData.append(key, data[key]);
// });
// let formdata=new FormData();
// formdata.append('jobGroup', 0);
// formdata.append('jobId', 0);
// formdata.append('logStatus', -1);
// formdata.append('filterTime', '2024-12-09 00:00:00 - 2025-01-09 23:59:59');
// formdata.append('start', );
// formdata.append('logStatus', -1);
const res = await joblogList(queryParams); const res = await joblogList(queryParams);
console.log(res); console.log(res);
this.tableData = res; this.tableData = res;
......
...@@ -66,6 +66,9 @@ ...@@ -66,6 +66,9 @@
<el-form-item label="IP:" prop="ip"> <el-form-item label="IP:" prop="ip">
<el-input v-model="monitorForm.ip" placeholder="请输入IP" /> <el-input v-model="monitorForm.ip" placeholder="请输入IP" />
</el-form-item> </el-form-item>
<el-form-item label="端口:" prop="port">
<el-input v-model="monitorForm.port" placeholder="请输入端口号" />
</el-form-item>
<el-form-item label="设备类别:" prop="equipType"> <el-form-item label="设备类别:" prop="equipType">
<el-select v-model="monitorForm.equipType" placeholder="请输入设备类别"> <el-select v-model="monitorForm.equipType" placeholder="请输入设备类别">
<el-option <el-option
...@@ -86,7 +89,6 @@ ...@@ -86,7 +89,6 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="设备生产序列号:" prop="equipSerialNumber"> <el-form-item label="设备生产序列号:" prop="equipSerialNumber">
<el-input <el-input
v-model="monitorForm.equipSerialNumber" v-model="monitorForm.equipSerialNumber"
...@@ -100,7 +102,7 @@ ...@@ -100,7 +102,7 @@
/> />
</el-form-item> </el-form-item>
</el-form> </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="cancel">取 消</el-button>
<el-button type="primary" @click="confirm">确 定</el-button> <el-button type="primary" @click="confirm">确 定</el-button>
</div> </div>
...@@ -117,7 +119,7 @@ import { ...@@ -117,7 +119,7 @@ import {
selectMonitorItem, selectMonitorItem,
selectForSite, selectForSite,
selectForFsu, selectForFsu,
updateMonitorEquipConf updateMonitorEquipConf,
} from "../../api"; } from "../../api";
import { successAlert, warningAlert } from "@/utils/alert"; import { successAlert, warningAlert } from "@/utils/alert";
...@@ -125,20 +127,20 @@ export default { ...@@ -125,20 +127,20 @@ export default {
props: { props: {
isEdit: { isEdit: {
type: Number, type: Number,
default: 0 default: 0,
}, },
curInfo: { curInfo: {
type: Object, type: Object,
default: () => {} default: () => {},
} },
}, },
watch: { watch: {
curInfo: { curInfo: {
immediate: true, immediate: true,
handler(newV) { handler(newV) {
this.monitorForm = formInit(newV); this.monitorForm = formInit(newV);
} },
} },
}, },
data() { data() {
return { return {
...@@ -162,7 +164,16 @@ export default { ...@@ -162,7 +164,16 @@ export default {
equipFactory: [ equipFactory: [
{ required: true, message: "请输入设备厂商", trigger: "blur" }, { required: true, message: "请输入设备厂商", trigger: "blur" },
], ],
ip: [{ required: true, pattern : /^(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.((1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.){2}(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)$/ , message: "请输入正确的IP地址", trigger: "blur" }], ip: [
{
required: true,
pattern:
/^(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.((1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.){2}(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)$/,
message: "请输入正确的IP地址",
trigger: "blur",
},
],
port: [{ required: true, message: "请选择端口号", trigger: "blur" }],
equipMode: [ equipMode: [
{ required: true, message: "请选择设备型号", trigger: "blur" }, { required: true, message: "请选择设备型号", trigger: "blur" },
], ],
...@@ -198,18 +209,18 @@ export default { ...@@ -198,18 +209,18 @@ export default {
// 编辑的确认 // 编辑的确认
confirm() { confirm() {
let params = { let params = {
...this.monitorForm ...this.monitorForm,
} };
delete params.creationTime delete params.creationTime;
updateMonitorEquipConf(params).then(res => { updateMonitorEquipConf(params).then((res) => {
if(res.code == 200) { if (res.code == 200) {
this.$message.success('保存成功!'); this.$message.success("保存成功!");
} }
this.cancel(true); this.cancel(true);
}) });
}, },
cancel(refersh) { cancel(refersh) {
this.$emit('update', refersh); this.$emit("update", refersh);
this.reset(); this.reset();
}, },
changerailWay() { changerailWay() {
...@@ -249,7 +260,7 @@ export default { ...@@ -249,7 +260,7 @@ export default {
this.params.size = res.total; this.params.size = res.total;
this.getAllWay(); this.getAllWay();
} }
});l });
}, },
}, },
created() { created() {
......
...@@ -50,8 +50,9 @@ const path = { ...@@ -50,8 +50,9 @@ const path = {
updateFeederConf: 'api/antennaFeeder/updateFeederConf', updateFeederConf: 'api/antennaFeeder/updateFeederConf',
autoList: '/device/autoAdd/selectPage', autoList: '/device/autoAdd/selectPage',
waveStatistics:'/device/sampling/waveStatistics', waveStatistics: '/device/sampling/waveStatistics',
samplingList:'/device/sampling/selectPage', distanceStatistics: '/device/sampling/distanceStatistics',
samplingList: '/device/sampling/selectPage',
} }
// 铁路线 // 铁路线
export function railWaylist() { export function railWaylist() {
...@@ -203,6 +204,14 @@ export function waveStatistics(params) { ...@@ -203,6 +204,14 @@ export function waveStatistics(params) {
params params
}) })
} }
export function distanceStatistics(params) {
return request({
url: path.distanceStatistics,
method: 'post',
params
})
}
// 漏缆链路及天馈接口驻波比数据趋势分析 列表 // 漏缆链路及天馈接口驻波比数据趋势分析 列表
export function samplingList(params) { export function samplingList(params) {
return request({ return request({
......
...@@ -24,26 +24,16 @@ ...@@ -24,26 +24,16 @@
:inline="true" :inline="true"
size="mini" size="mini"
> >
<el-form-item label="漏缆链路编号"> <el-form-item label="类型">
<el-input <el-select v-model="type" placeholder="请选择类型" clearable>
v-model="form.pointDeviceName" <el-option
clearable v-for="item in typeList"
placeholder="请输入漏缆链路编号" :key="item"
></el-input> :label="item"
</el-form-item> :value="item"
<el-form-item label="天馈接口编号"> >
<el-input </el-option>
v-model="form.pointDeviceName" </el-select>
clearable
placeholder="请输入天馈接口编号"
></el-input>
</el-form-item>
<el-form-item label="检测点位置名称">
<el-input
v-model="form.pointDeviceName"
clearable
placeholder="请输入检测点位置名称"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="采集时间"> <el-form-item label="采集时间">
<el-date-picker <el-date-picker
...@@ -52,7 +42,7 @@ ...@@ -52,7 +42,7 @@
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd hh:mm:ss"
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
...@@ -63,9 +53,9 @@ ...@@ -63,9 +53,9 @@
</el-form> </el-form>
<div class="card"> <div class="card">
<div class="nav-title">漏缆链路及天馈接口驻波比数据趋势分析</div> <div class="nav-title">漏缆链路及天馈接口驻波比数据趋势分析</div>
<div id="chart1" style="width: 100%; height: 500px"></div>
</div> </div>
<div> <div>
<!-- :cell-class-name="cellClassFn" -->
<el-table <el-table
:data="tableData" :data="tableData"
style="width: 100%" style="width: 100%"
...@@ -160,16 +150,22 @@ ...@@ -160,16 +150,22 @@
</template> </template>
<script> <script>
import { waveStatistics, samplingList } from "../api.js"; import * as echarts from "echarts";
import { waveStatistics, distanceStatistics, samplingList } from "../api.js";
export default { export default {
data() { data() {
return { return {
typeList: ["驻波比", "距离"],
type: "驻波比",
form: {}, form: {},
dateRange: [], dateRange: [],
value: "", value: "",
options: [], options: [],
tableData: [], tableData: [],
isQuery: false, isQuery: false,
myChart: {
chart1: null,
},
params: { params: {
current: 1, current: 1,
size: 10, size: 10,
...@@ -178,11 +174,51 @@ export default { ...@@ -178,11 +174,51 @@ export default {
}; };
}, },
mounted() { mounted() {
this.handleInit();
},
methods: {
handleInit() {
if (this.type == "驻波比") {
this.handleWaveStatistics(); this.handleWaveStatistics();
} else {
this.handleDistanceStatistics();
}
this.handleSamplingList(); this.handleSamplingList();
}, },
methods: { handleLoadEchars(data) {
handleView(){}, if (this.myChart.chart1 != null) {
this.myChart.chart1.dispose();
}
let chartDom = document.getElementById("chart1");
this.myChart.chart1 = echarts.init(chartDom);
let option;
option = {
tooltip: {
trigger: "axis",
},
xAxis: {
type: "category",
data: data.xData,
},
yAxis: {
type: "value",
},
series: [
{
data: data.t1,
name: data.t1Name,
type: "line",
},
{
data: data.t2,
name: data.t2Name,
type: "line",
},
],
};
option && this.myChart.chart1.setOption(option);
},
handleView() {},
formatDate(date) { formatDate(date) {
const year = date.getFullYear(); const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, "0"); const month = String(date.getMonth() + 1).padStart(2, "0");
...@@ -204,6 +240,51 @@ export default { ...@@ -204,6 +240,51 @@ export default {
data.endDate = this.formatDate(new Date()); data.endDate = this.formatDate(new Date());
} }
let res = await waveStatistics(data); let res = await waveStatistics(data);
let xData = res.map((item) => {
return item.alarmDate;
});
let t1 = res.map((item) => {
return item.upWave;
});
let t2 = res.map((item) => {
return item.downWave;
});
this.handleLoadEchars({
xData,
t1Name: "上行漏缆故障点驻波比值",
t2Name: "下行漏缆故障点驻波比值",
t1,
t2,
});
},
async handleDistanceStatistics() {
let data = {
startDate: "",
endDate: "",
};
if (!this.dateRange.length) {
data.startDate = this.formatDate(
new Date(new Date().getTime() - 3600 * 1000 * 24 * 7)
);
data.endDate = this.formatDate(new Date());
}
let res = await distanceStatistics(data);
let xData = res.map((item) => {
return item.alarmDate;
});
let t1 = res.map((item) => {
return item.upDistance;
});
let t2 = res.map((item) => {
return item.downDistance;
});
this.handleLoadEchars({
xData,
t1Name: "上行漏缆故障点距离",
t2Name: "下行漏缆故障点距离",
t1,
t2,
});
}, },
async handleSamplingList() { async handleSamplingList() {
let res = await samplingList(this.params); let res = await samplingList(this.params);
...@@ -217,7 +298,9 @@ export default { ...@@ -217,7 +298,9 @@ export default {
}, },
getInit() {}, getInit() {},
reset() {}, reset() {},
toSearch() {}, toSearch() {
this.handleInit();
},
}, },
}; };
</script> </script>
......
...@@ -9,9 +9,9 @@ ...@@ -9,9 +9,9 @@
<el-button type="primary" @click="refresh">刷新</el-button> <el-button type="primary" @click="refresh">刷新</el-button>
<el-button type="primary" @click="block = !block">查询</el-button> <el-button type="primary" @click="block = !block">查询</el-button>
<el-button type="primary" @click="exportData">导出</el-button> <el-button type="primary" @click="exportData">导出</el-button>
<el-button type="primary" @click="handleAutomatic" <!-- <el-button type="primary" @click="handleAutomatic"
>自动添加设备</el-button >自动添加设备</el-button
> > -->
</div> </div>
</div> </div>
<el-form <el-form
...@@ -167,14 +167,14 @@ ...@@ -167,14 +167,14 @@
> >
<monitor :curInfo="curInfo" :isEdit="1" @update="update" /> <monitor :curInfo="curInfo" :isEdit="1" @update="update" />
</el-dialog> </el-dialog>
<el-dialog <!-- <el-dialog
title="自动添加设备" title="自动添加设备"
:visible.sync="open" :visible.sync="open"
width="40%" width="40%"
:close-on-click-modal="false" :close-on-click-modal="false"
> >
<autoAdd /> <autoAdd />
</el-dialog> </el-dialog> -->
<el-dialog <el-dialog
title="监测设备参数设置" title="监测设备参数设置"
:visible.sync="openSetting" :visible.sync="openSetting"
......
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