export default {
name: “home”,
components: {
“v-chart”: ECharts,
},
data() {
return {
controlloading: false, //控制策略的loding变量
interval: “”, //告警定时器
badge: “”, //告警条数
markers: “”, //生成的海量点标注
labelsLayer: “”, // 生成的画布
massMarks: [], //生成的海量点标记
searchList: [],
searchShow: false, //用来控制模糊搜索下面的列表是否展示
echartsshow: false,
dingjijiedianpath: “”, //用来存放顶级节点path的
marksInfo: “”, //存放点击标点的这个基站的信息
biaodianname: “”, //弹框的标点名称
marks: [], //基站标点的数组
marksShow: false, //控制基站标点的显示
inputName: “”, //input基站模糊搜索的变量
agreementtype: “1”, //存协议类型的变量
prefix: “101”, //用来存前缀的变量
prefix2: “01”, //用来存整流模块的变量
biaodianmsgarr: [
{ name: “SOC”, value: “–”, unit: “%” },
{ name: “状态”, value: “–”, unit: “” },
{ name: “SOH”, value: “–”, unit: “%” },
],
url: require(“@/assets/img/jizhan.jpg”),
srcList: [require(“@/assets/img/jizhan.jpg”)],
windows: {
position: [119.613587, 29.071318],
visible: false,
},
marks: [], //存放所有点标记的数组
// 点标记 事件
events: {
click: async (e) => {
this.biaodianmsgarr.forEach((item) => {
item.value = “–”;
}); //先把数据都清空
this.windows.position = [e.lnglat.R, e.lnglat.Q]; //弹框位置的 赋值
let marksInfo = e.target.w.vid;
this.marksInfo = e.target.w.vid;
console.log(marksInfo);
this.biaodianname = marksInfo.name; //标点弹框name的赋值
let ID = marksInfo.nodeValueList.find((item) => item.tagbaseid == 101)
.value;
// console.log(ID);
let lists = [
{ systemName: “GW_G103”, tableType: 3 },
{ systemName: “GW_G104”, tableType: 3 },
{ systemName: “GW_G109”, tableType: 3 },
];
const { data } = await reqRoutes({
devicecode: ID,
systemNameList: lists,
startDate: 0,
endDate: 0,
step: -1,
type: 1,
});
// console.log(data);
let temp = data.result.roleResponseEntities;
if (temp[“GW_G103”] && temp[“GW_G103”].length > 0) {
this.biaodianmsgarr[0].value = (
temp[“GW_G103”][0].value - 0
).toFixed(0); // SOC赋值
}
if (temp[“GW_G104”] && temp[“GW_G104”].length > 0) {
this.biaodianmsgarr[2].value = (
temp[“GW_G104”][0].value - 0
).toFixed(0); // SOH赋值
}
if (temp[“GW_G109”] && temp[“GW_G109”].length > 0) {
if (temp[“GW_G109”][0].value == 0) {
this.biaodianmsgarr[1].value = “静止”;
} else if (temp[“GW_G109”][0].value == 1) {
this.biaodianmsgarr[1].value = “充电”;
} else if (temp[“GW_G109”][0].value == 2) {
this.biaodianmsgarr[1].value = “放电”;
}
}
this.windows.visible = true;
},
},
jizhananniushow1: false, //数据展示的显示按钮
jizhananniushow2: false, //控制策略的显示按钮
jizhananniushow3: false, //效益分析的显示按钮
// 效益分析第一个表格
tableDataFourth: [
{
name: "--",
time: "8:00-11:00",
type: "峰",
timeLength: "3h",
// jiage: "0.9014",
jiage: "1.0553",
status: "放电",
peak: "--",
valley: "--",
},
{
name: "--",
time: "11:00-13:00",
type: "谷",
timeLength: "2h",
// jiage: "0.3784",
jiage: "0.4302",
status: "充电",
peak: "--",
valley: "--",
},
{
name: "--",
time: "13:00-19:00",
type: "峰",
timeLength: "6h",
// jiage: "0.9014",
jiage: "1.0553",
status: "不充不放",
peak: "--",
valley: "--",
},
{
name: "--",
time: "19:00-21:00",
type: "尖",
timeLength: "2h",
// jiage: "1.2064",
jiage: "1.4205",
status: "放电",
peak: "--",
valley: "--",
},
{
name: "--",
time: "21:00-22:00",
type: "峰",
timeLength: "1h",
// jiage: "0.9014",
jiage: "1.0553",
status: "放电",
peak: "--",
valley: "--",
},
{
name: "--",
time: "22:00-08:00",
type: "谷",
timeLength: "10h",
// jiage: "0.3784",
jiage: "0.4302",
status: "充电",
peak: "--",
valley: "--",
},
],
//效益分析第二个表格
tableDataFourth_two: [
{
sharp: "--",
sharpMoney: "1.4205",
allPeak: "--",
allPeakMoney: "1.0553",
allCvally: "--",
allCvallyMoney: "0.4302",
dc: "--",
name: "90.65%",
name_two: "96.82%",
avgMoney: "--",
},
],
fourthHeader: [
{ name: "节能收益", value: "--", id: 1 },
{ name: "削峰填谷收益", value: "--", id: 2 },
{ name: "效率提升收益", value: "--", id: 3 },
{ name: "其他收益", value: "--", id: 4 },
],
// 效益分析顶部限制日期范围
pickerOptions: {
disabledDate(time) {
return time.getTime() > Date.now() - 8.64e7;
},
},
timeModel: +new Date() - 1000 * 3600 * 24, //效益分析顶部绑定的时间变量
dialogVisible: false,
dialogVisible2: false,
aaa1: "",
aaa2: "",
tableData2: [
{
name: "浮充电压",
value: "--",
unit: "V",
gai: "",
config: 0,
dianwei: "S301",
sheding: "请输入设定值(44-58)",
},
{
name: "终止电压",
value: "--",
unit: "V",
gai: "",
config: 1,
dianwei: "S302",
sheding: "请输入设定值(44-58)",
},
{
name: "转换电压",
value: "--",
unit: "V",
gai: "",
config: 2,
dianwei: "S316",
sheding: "请输入设定值(44-58)",
},
{
name: "单体电压",
value: "--",
unit: "V",
gai: "",
config: 3,
dianwei: "S317",
sheding: "请输入设定值(2.6-3.65)",
},
{
name: "充电1电流系数",
value: "--",
unit: "C",
gai: "",
config: 4,
dianwei: "S318",
sheding: "请输入设定值(0-0.5)",
},
{
name: "充电2电流系数",
value: "--",
unit: "C",
gai: "",
config: 5,
dianwei: "S319",
sheding: "请输入设定值(0-0.5)",
},
{
name: "充电3电流系数",
value: "--",
unit: "C",
gai: "",
config: 6,
dianwei: "S320",
sheding: "请输入设定值(0-0.5)",
},
{
name: "补电充电系数",
value: "--",
unit: "C",
gai: "",
config: 7,
dianwei: "S321",
sheding: "请输入设定值(0-0.5)",
},
{
name: "转换系数",
value: "--",
unit: "C",
gai: "",
config: 8,
dianwei: "S322",
sheding: "请输入设定值(0-0.5)",
},
{
name: "电池默认总容量",
value: "--",
unit: "Ah",
gai: "",
config: 9,
dianwei: "S323",
sheding: "请输入设定值(0-2000)",
},
],
tableData: [
{
name: "峰放谷充",
shi: "有",
kai: "--",
jie: "--",
checked: false,
starttime: new Date(2016, 9, 10, 0, 0),
endtime: new Date(2016, 9, 10, 0, 0),
show: false,
config: 0,
dianwei1: "SM_S309",
},
{
name: "放电第一阶段",
shi: "有",
kai: "09:30",
jie: "18:30",
checked: false,
starttime: new Date(2016, 9, 10, 0, 0),
endtime: new Date(2016, 9, 10, 0, 0),
show: true,
config: 1,
dianwei1: "S310",
dianwei2: "S303",
},
{
name: "充电第一阶段",
shi: "有",
kai: "09:30",
jie: "18:30",
checked: false,
starttime: new Date(2016, 9, 10, 0, 0),
endtime: new Date(2016, 9, 10, 0, 0),
show: true,
config: 2,
dianwei1: "S311",
dianwei2: "S304",
},
{
name: "放电第二阶段",
shi: "有",
kai: "09:30",
jie: "18:30",
checked: false,
starttime: new Date(2016, 9, 10, 0, 0),
endtime: new Date(2016, 9, 10, 0, 0),
show: true,
config: 3,
dianwei1: "S312",
dianwei2: "S305",
},
{
name: "充电第二阶段",
shi: "有",
kai: "09:30",
jie: "18:30",
checked: false,
starttime: new Date(2016, 9, 10, 0, 0),
endtime: new Date(2016, 9, 10, 0, 0),
show: true,
config: 4,
dianwei1: "S313",
dianwei2: "S306",
},
{
name: "放电第三阶段",
shi: "有",
kai: "09:30",
jie: "18:30",
checked: false,
starttime: new Date(2016, 9, 10, 0, 0),
endtime: new Date(2016, 9, 10, 0, 0),
show: true,
config: 5,
dianwei1: "S314",
dianwei2: "S307",
},
{
name: "充电第三阶段",
shi: "有",
kai: "09:30",
jie: "18:30",
checked: false,
starttime: new Date(2016, 9, 10, 0, 0),
endtime: new Date(2016, 9, 10, 0, 0),
show: true,
config: 6,
dianwei1: "S315",
dianwei2: "S308",
},
], //削峰填谷第一个表格数组
options_activeBox: [
{
value: "01",
label: "整流模块1",
},
{
value: "02",
label: "整流模块2",
},
{
value: "03",
label: "整流模块3",
},
{
value: "04",
label: "整流模块4",
},
{
value: "05",
label: "整流模块5",
},
{
value: "06",
label: "整流模块6",
},
{
value: "07",
label: "整流模块7",
},
{
value: "08",
label: "整流模块8",
},
{
value: "09",
label: "整流模块9",
},
{
value: "10",
label: "整流模块10",
},
{
value: "11",
label: "整流模块11",
},
{
value: "12",
label: "整流模块12",
},
], //整流模块
activeBoxData_stree: [
{
name: "整流模块输出电流",
unit: "A",
value: "--",
systemName: "RM01_R102",
},
{
name: "整流模块限流点",
unit: "%",
value: "--",
systemName: "RM01_R101",
},
{
name: "交流输入电压",
unit: "V",
value: "--",
systemName: "RM01_R103",
},
{
name: "整流模块输出电压",
unit: "V",
value: "--",
systemName: "RM01_R106",
},
{
name: "限流/不限流状态",
unit: "",
value: "--",
systemName: "RM01_R202S",
},
{
name: "开机/关机状态",
unit: "",
value: "--",
systemName: "RM01_R201S",
},
], //整流模块的点位
activeBoxData_two: [
{
name: "总电压",
unit: "V",
value: "--",
systemName: "BMS101_B101",
},
{
name: "总电流",
unit: "A",
value: "--",
systemName: "BMS101_B102",
},
{
name: "SOC",
unit: "%",
value: "--",
systemName: "BMS101_B103",
},
{
name: "SOH",
unit: "%",
value: "--",
systemName: "BMS101_B104",
},
{
name: "单体最高电压",
unit: "V",
value: "--",
systemName: "BMS101_B105",
},
{
name: "单体最低电压",
unit: "V",
value: "--",
systemName: "BMS101_B106",
},
{
name: "单体最高温度",
unit: "℃",
value: "--",
systemName: "BMS101_B107",
},
{
name: "单体最低温度",
unit: "℃",
value: "--",
systemName: "BMS101_B108",
},
{
name: "电池插箱总容量",
unit: "Ah",
value: "--",
systemName: "BMS101_B109",
},
{
name: "电池插箱剩余容量",
unit: "Ah",
value: "--",
systemName: "BMS101_B110",
},
{
name: "累计充电容量",
unit: "Ah",
value: "--",
systemName: "BMS101_B111",
},
{
name: "累计放电容量",
unit: "Ah",
value: "--",
systemName: "BMS101_B112",
},
{
name: "累计充电能量",
unit: "KWh",
value: "--",
systemName: "BMS101_B113",
},
{
name: "累计放电能量",
unit: "KWh",
value: "--",
systemName: "BMS101_B114",
},
{
name: "累计充电时间",
unit: "h",
value: "--",
systemName: "BMS101_B115",
},
{
name: "累计放电时间",
unit: "h",
value: "--",
systemName: "BMS101_B116",
},
{
name: "充电次数",
unit: "次",
value: "--",
systemName: "BMS101_B117",
},
{
name: "放电次数",
unit: "次",
value: "--",
systemName: "BMS101_B118",
},
{
name: "单体电压1",
unit: "V",
value: "--",
systemName: "BMS101_B119",
},
{
name: "单体电压2",
unit: "V",
value: "--",
systemName: "BMS101_B120",
},
{
name: "单体电压3",
unit: "V",
value: "--",
systemName: "BMS101_B121",
},
{
name: "单体电压4",
unit: "V",
value: "--",
systemName: "BMS101_B122",
},
{
name: "单体电压5",
unit: "V",
value: "--",
systemName: "BMS101_B123",
},
{
name: "单体电压6",
unit: "V",
value: "--",
systemName: "BMS101_B124",
},
{
name: "单体电压7",
unit: "V",
value: "--",
systemName: "BMS101_B125",
},
{
name: "单体电压8",
unit: "V",
value: "--",
systemName: "BMS101_B126",
},
{
name: "单体电压9",
unit: "V",
value: "--",
systemName: "BMS101_B127",
},
{
name: "单体电压10",
unit: "V",
value: "--",
systemName: "BMS101_B128",
},
{
name: "单体电压11",
unit: "V",
value: "--",
systemName: "BMS101_B129",
},
{
name: "单体电压12",
unit: "V",
value: "--",
systemName: "BMS101_B130",
},
{
name: "单体电压13",
unit: "V",
value: "--",
systemName: "BMS101_B131",
},
{
name: "单体电压14",
unit: "V",
value: "--",
systemName: "BMS101_B132",
},
{
name: "单体电压15",
unit: "V",
value: "--",
systemName: "BMS101_B133",
},
{
name: "单体电压16",
unit: "V",
value: "--",
systemName: "BMS101_B134",
},
{
name: "单体压差",
unit: "V",
value: "--",
systemName: "BMS101_B141",
},
{
name: "单体温度1",
unit: "℃",
value: "--",
systemName: "BMS101_B135",
},
{
name: "单体温度2",
unit: "℃",
value: "--",
systemName: "BMS101_B136",
},
{
name: "单体温度3",
unit: "℃",
value: "--",
systemName: "BMS101_B137",
},
{
name: "单体温度4",
unit: "℃",
value: "--",
systemName: "BMS101_B138",
},
{
name: "PCB温度",
unit: "℃",
value: "--",
systemName: "BMS101_B139",
},
{
name: "环境温度",
unit: "℃",
value: "--",
systemName: "BMS101_B140",
},
],
options_activeBox_two: [
{
value: "01",
label: "插箱1",
},
{
value: "02",
label: "插箱2",
},
{
value: "03",
label: "插箱3",
},
{
value: "04",
label: "插箱4",
},
{
value: "05",
label: "插箱5",
},
{
value: "06",
label: "插箱6",
},
{
value: "07",
label: "插箱7",
},
{
value: "08",
label: "插箱8",
},
{
value: "09",
label: "插箱9",
},
{
value: "10",
label: "插箱10",
},
{
value: "11",
label: "插箱11",
},
{
value: "12",
label: "插箱12",
},
{
value: "13",
label: "插箱13",
},
{
value: "14",
label: "插箱14",
},
{
value: "15",
label: "插箱15",
},
{
value: "16",
label: "插箱16",
},
], //插箱数据点 下拉框的选项数组
value_activeBox_two: "01", //插箱数据点 下拉框的绑定值
value_activeBox: "01", //整流模块下拉框的绑定值
valueStart: [+new Date() - 3600 * 1000 * 24 * 7, +new Date()], //综合管理 的时间选择器数组
stateRight: { name: "未知", color: "ccc" },
systemStateData: [
{
name: "电池系统告警状态",
state: "ccc",
systemName: "GW_G204S",
},
{
name: "电池系统保护状态",
state: "ccc",
systemName: "GW_G205S",
},
{
name: "电池系统故障状态",
state: "ccc",
systemName: "GW_G206S",
},
{
name: "电池系统通讯状态",
state: "ccc",
systemName: "GW_G202S",
},
{
name: "直流防雷器故障",
state: "ccc",
systemName: "SM_S216A",
},
{
name: "交流防雷器断",
state: "ccc",
systemName: "SM_S210A",
},
{
name: "交流A相欠压",
state: "ccc",
systemName: "SM_S201A",
},
{
name: "交流A相过压",
state: "ccc",
systemName: "SM_S202A",
},
{
name: "交流B相欠压",
state: "ccc",
systemName: "SM_S202A",
},
{
name: "交流B相过压",
state: "ccc",
systemName: "SM_S205A",
},
{
name: "交流C相欠压",
state: "ccc",
systemName: "SM_S207A",
},
{
name: "交流C相过压",
state: "ccc",
systemName: "SM_S208A",
},
],
infoShowBox_Two: [
{
name: "交流输入A相电压",
unit: "V",
value: "--",
systemName: "SM_S101",
},
{
name: "交流输入B相电压",
unit: "V",
value: "--",
systemName: "SM_S102",
},
{
name: "交流输入C相电压",
unit: "V",
value: "--",
systemName: "SM_S103",
},
{
name: "交流输入频率",
unit: "Hz",
value: "--",
systemName: "SM_S104",
},
{
name: "电源输出电压",
unit: "V",
value: "--",
systemName: "SM_S105",
},
{
name: "电源输出总电流",
unit: "A",
value: "--",
systemName: "SM_S106",
},
{
name: "电池侧总电流",
unit: "A",
value: "--",
systemName: "SM_S137",
},
{
name: "负载电流",
unit: "A",
value: "--",
systemName: "SM_S139",
},
{
name: "整流模块数量",
unit: "个",
value: "--",
systemName: "SM_S107",
},
{
name: "电源系统总输出电量",
unit: "KWh",
value: "--",
systemName: "SM_S138",
},
{
name: "负载总使用电量",
unit: "kWh",
value: "--",
systemName: "SM_S146",
},
{
name: "监控模块时间信息",
unit: "",
value: "--",
systemName: "monitoring",
},
], //数据展示第二个盒子
infoShowBox_One: [
{
name: "系统总电压",
unit: "V",
value: "--",
systemName: "GW_G101",
},
{ name: "系统总电流", unit: "A", value: "--", systemName: "GW_G102" },
{ name: "系统SOC", unit: "%", value: "--", systemName: "GW_G103" },
{ name: "系统SOH", unit: "%", value: "--", systemName: "GW_G104" },
{
name: "系统单体最高电压",
unit: "V",
value: "--",
systemName: "GW_G105",
},
{
name: "系统单体最低电压",
unit: "V",
value: "--",
systemName: "GW_G106",
},
{
name: "系统最高单体温度",
unit: "℃",
value: "--",
systemName: "GW_G107",
},
{
name: "系统最低单体温度",
unit: "℃",
value: "--",
systemName: "GW_G108",
},
{
name: "系统累计充电容量",
unit: "Ah",
value: "--",
systemName: "GW_G110",
},
{
name: "系统累计放电容量",
unit: "Ah",
value: "--",
systemName: "GW_G111",
},
{
name: "系统累计充电能量",
unit: "kWh",
value: "--",
systemName: "GW_G112",
},
{
name: "系统累计放电能量",
unit: "kWh",
value: "--",
systemName: "GW_G113",
},
{
name: "系统电池插箱数量",
unit: "个",
value: "--",
systemName: "GW_G114",
},
{
name: "系统总标称容量",
unit: "Ah",
value: "--",
systemName: "GW_G116",
},
{
name: "系统总剩余容量",
unit: "Ah",
value: "--",
systemName: "GW_G118",
},
{
name: "系统总运行功率",
unit: "Wh",
value: "--",
systemName: "GW_G120",
},
{
name: "系统单体最大压差",
unit: "mV",
value: "--",
systemName: "GW_G119",
},
{
name: "电池系统电流偏差",
unit: "A",
value: "--",
systemName: "GW_G121",
},
{
name: "电池系统电压偏差",
unit: "V",
value: "--",
systemName: "GW_G122",
},
{
name: "直流负载功率",
unit: "KW",
value: "--",
systemName: "GW_G123",
},
], //数据展示第一个盒子
mainInfoList: [
{
name: "单体最大压差",
unit: "mV",
value: "--",
systemName: "GW_G119",
},
{ name: "单体最高温度", unit: "℃", value: "--", systemName: "GW_G107" },
{ name: "SOC", unit: "%", value: "--", systemName: "GW_G103" },
{ name: "标称容量", unit: "Ah", value: "--", systemName: "GW_G116" },
{
name: "累计充电电能",
unit: "kWh",
value: "--",
systemName: "GW_G112",
},
{
name: "累计放电电能",
unit: "kWh",
value: "--",
systemName: "GW_G113",
},
{ name: "SOH", unit: "%", value: "--", systemName: "GW_G104" },
{ name: "剩余容量", unit: "Ah", value: "--", systemName: "GW_G118" },
{ name: "单体最高电压", unit: "V", value: "--", systemName: "GW_G105" },
{ name: "单体最低电压", unit: "V", value: "--", systemName: "GW_G106" },
{ name: "电池系统电流", unit: "A", value: "--", systemName: "GW_G102" },
{ name: "电池系统电压", unit: "V", value: "--", systemName: "GW_G101" },
], //关键信息的数组
baseInfoList: [
{ name: "基站名称", value: "--" },
{ name: "设备ID", value: "--" },
{ name: "基站编号", value: "--" },
{ name: "产品类型", value: "--" },
{ name: "电池容量", value: "--" },
{ name: "电池型号", value: "--" },
], // 基础信息的数组
activeName: "first",
mapIsShow: true, //控制显示地图模板,还是基站模板的布尔值。
showLine: true,
treeData: [], //树的数组
color1: "#56b77e",
oo: "",
polygons: [],
markerCenter: [119.647265, 29.079195], //地图初始化中心点
zoom: 9, //地图缩放倍数,[3,18],18放大最高级, 市级的话11
mapEvents: {
init: this.mapInit,
}, // 加载地图样式
blockarr: [
{
name: "分布区域",
unit: "个",
value: "--",
// systemName: "nodeChildren",
systemName: "childnodes",
},
{ name: "基站数量", unit: "个", value: "--", systemName: "104" },
{
name: "储能容量",
unit: "Ah",
value: "--",
systemName: "energyStorageCapacity",
},
{
name: "总充电量",
unit: "KWh",
value: "--",
systemName: "cumulativeCharging",
},
{
name: "总放电量",
unit: "KWh",
value: "--",
systemName: "cumulativeDischarge",
},
{
name: "储能收益",
unit: "RMB",
value: "--",
systemName: "energyBenefits",
},
],
options01: {
lefttitle: "总负荷曲线",
lianjie: "loadCurve",
color: ["#536d80"],
grid: { left: 60, height: "70%", bottom: 30 },
tooltip: { trigger: "axis" },
legend: {
data: ["总负荷曲线"],
inactiveColor: "#cccccc",
textStyle: { color: "#60667e" },
},
xAxis: { data: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] },
yAxis: { axisLabel: { fontSize: 10 }, splitLine: { show: false } },
series: [
{
name: "总负荷曲线",
type: "line",
data: [23, 34, 23, 34, 21, 24, 46, 67, 87, 43, 12, 34, 45, 23, 23],
},
],
},
options02: {
lefttitle: "尖/峰放电量、谷时充电量(KWh)",
lianjie1: "sharpDischarge",
lianjie2: "peakDischarge",
lianjie3: "lowValleyCharging",
grid: { left: 60, height: "70%", bottom: 20 },
color: ["#ffff00", "#a96300", "#008000"],
tooltip: {
trigger: "axis",
axisPointer: { type: "cross", crossStyle: { color: "#999" } },
},
legend: {
data: ["尖峰放电", "高峰放电", "低谷充电"],
textStyle: { fontSize: 12, color: "#60667e" },
},
xAxis: [
{
type: "category",
axisLabel: { interval: 0 },
data: [1, 2, 3, 4],
axisPointer: { type: "shadow" },
},
],
yAxis: [
{
type: "value",
axisLabel: { fontSize: 10 },
splitLine: {
show: false,
lineStyle: { type: "dashed", width: 1, color: "#7d8590" },
},
},
],
series: [
{
name: "尖峰放电",
type: "bar",
stack: "A",
data: [12132, 23332, 23432],
},
{
name: "高峰放电",
type: "bar",
stack: "A",
data: [34353, 54232, 12345],
},
{
name: "低谷充电",
type: "bar",
stack: "B",
data: [46433, 23354, 23544],
},
],
},
options03: {
lefttitle: "储能收益(RMB)",
lianjie: "energyBenefits",
color: ["#86d3b1"],
grid: { left: 60, height: "70%", bottom: 20 },
tooltip: {
trigger: "axis",
axisPointer: { type: "cross", crossStyle: { color: "#999" } },
},
toolbox: {},
legend: { data: ["储能收益"], textStyle: { color: "#60667e" } },
xAxis: [
{
type: "category",
axisLabel: { interval: 0 },
data: [1, 2, 3, 4],
axisPointer: { type: "shadow" },
},
],
yAxis: [
{
type: "value",
axisLabel: { fontSize: 10 },
splitLine: {
show: false,
lineStyle: { type: "dashed", width: 1, color: "#7d8590" },
},
},
],
series: [
{ name: "储能收益", type: "bar", data: [13212, 34344, 45542, 56645] },
],
},
options04: {
color: "#3aa1ff",
legend: {
type: "plain",
show: true,
// left: "150px",
textStyle: { color: "#fff" },
data: [{ name: "充放电曲线", icon: "roundRect" }],
},
tooltip: { trigger: "axis" },
xAxis: {
data: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
axisLine: { show: false },
splitLine: { show: false },
axisTick: { show: false },
axisLabel: {
color: "#fff",
show: true,
fontWeight: 700,
fontSize: 14,
margin: 10,
},
},
yAxis: {
name: "A",
nameGap: 30,
nameTextStyle: { color: "#fff", fontWeight: 700 },
axisTick: { show: false },
axisLine: { show: false },
splitLine: { show: true, lineStyle: { type: "solid" } },
axisLabel: {
color: "#fff",
show: true,
fontWeight: 700,
fontSize: 16,
margin: 10,
},
},
toolbox: {
show: false,
left: "center",
feature: {
dataZoom: { yAxisIndex: "none" },
restore: {},
saveAsImage: {},
},
},
dataZoom: [
{
startValue: "2014-06-01",
show: true,
dataBackground: {
lineStyle: { color: "rgba(9, 87, 231, 1)", width: 1 },
},
},
{ type: "inside" },
],
series: [
{
name: "充放电曲线",
type: "line",
data: [
324,
354,
567,
354,
576,
697,
234,
364,
568,
234,
355,
686,
123,
325,
576,
],
lineStyle: { color: "#3aa1ff" },
markLine: { silent: true },
},
],
},
options05: {
color: "#3aa1ff",
legend: {
type: "plain",
show: true,
// left: "150px",
textStyle: { color: "#fff" },
data: [{ name: "电流曲线", icon: "roundRect" }],
},
tooltip: { trigger: "axis" },
xAxis: {
data: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
axisLine: { show: false },
splitLine: { show: false },
axisTick: { show: false },
axisLabel: {
color: "#fff",
show: true,
fontWeight: 700,
fontSize: 14,
margin: 10,
},
},
yAxis: {
name: "A",
nameGap: 30,
nameTextStyle: { color: "#fff", fontWeight: 700 },
axisTick: { show: false },
axisLine: { show: false },
splitLine: { show: true, lineStyle: { type: "solid" } },
axisLabel: {
color: "#fff",
show: true,
fontWeight: 700,
fontSize: 16,
margin: 10,
},
},
toolbox: {
show: false,
left: "center",
feature: {
dataZoom: { yAxisIndex: "none" },
restore: {},
saveAsImage: {},
},
},
dataZoom: [
{
startValue: "2014-06-01",
show: true,
dataBackground: {
lineStyle: { color: "rgba(9, 87, 231, 1)", width: 1 },
},
},
{ type: "inside" },
],
series: [
{
name: "电流曲线",
type: "line",
data: [
32,
34,
567,
354,
57,
697,
234,
36,
568,
24,
355,
68,
123,
35,
576,
],
lineStyle: { color: "#3aa1ff" },
markLine: { silent: true },
},
],
},
options06: {
color: "#3aa1ff",
legend: {
type: "plain",
show: true,
// left: "150px",
textStyle: { color: "#fff" },
data: [{ name: "负荷曲线", icon: "roundRect" }],
},
tooltip: { trigger: "axis" },
xAxis: {
data: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
axisLine: { show: false },
splitLine: { show: false },
axisTick: { show: false },
axisLabel: {
color: "#fff",
show: true,
fontWeight: 700,
fontSize: 14,
margin: 10,
},
},
yAxis: {
name: "A",
nameGap: 30,
nameTextStyle: { color: "#fff", fontWeight: 700 },
axisTick: { show: false },
axisLine: { show: false },
splitLine: { show: true, lineStyle: { type: "solid" } },
axisLabel: {
color: "#fff",
show: true,
fontWeight: 700,
fontSize: 16,
margin: 10,
},
},
toolbox: {
show: false,
left: "center",
feature: {
dataZoom: { yAxisIndex: "none" },
restore: {},
saveAsImage: {},
},
},
dataZoom: [
{
startValue: "2014-06-01",
show: true,
dataBackground: {
lineStyle: { color: "rgba(9, 87, 231, 1)", width: 1 },
},
},
{ type: "inside" },
],
series: [
{
name: "负荷曲线",
type: "line",
data: [
32,
34,
57,
54,
57,
67,
234,
36,
58,
24,
355,
68,
23,
35,
576,
],
lineStyle: { color: "#3aa1ff" },
markLine: { silent: true },
},
],
},
};
},
computed: {},
mounted() {
this.inputChange = _.debounce(this.inputChange, 500); //基站模糊搜索 0.5s触发–防抖
this.onloadParentTree();
this.getOperationByUrl(“/Home/detail”); //查询基站详情的四个按钮权限
},
async created() {
///判断是否是从告警跳转过来的
console.log(this.
r
o
u
t
e
.
p
a
r
a
m
s
)
;
i
f
(
t
h
i
s
.
route.params); if (this.
route.params);if(this.route.params.deviceid) {
setTimeout(() => {
this.mapIsShow = false;
this.baseInfoList[0].value = this.
r
o
u
t
e
.
p
a
r
a
m
s
.
n
o
d
e
n
a
m
e
;
t
h
i
s
.
b
a
s
e
I
n
f
o
L
i
s
t
[
1
]
.
v
a
l
u
e
=
t
h
i
s
.
route.params.nodename; this.baseInfoList[1].value = this.
route.params.nodename;this.baseInfoList[1].value=this.route.params.deviceid;
this.activeName = “first”; //点开基站 展开第一个页面
this.getfirstmsg();
}, 2000);
}
定时请求告警信息
this.getDeviceAlarmList();
clearInterval(this.interval);
this.interval = setInterval(() => {
this.getDeviceAlarmList();
this.getallmarkers(this.dingjijiedianpath);
}, 60000);
定时请求告警信息
},
beforeDestroy() {
clearInterval(this.interval);
},
watch: {},
methods: {
//查询告警列表
async getDeviceAlarmList() {
const { data } = await getNotAlamCurList({
pageNo: “1”,
pageSize: “1000000”,
// nodeName: this.nodeName,
// column: this.column,
// value: this.value,
});
console.log(data);
this.badge = data.result.total;
},
//点击警铃跳转到告警页面
warmimg() {
this.$router.push({ path: “/system/warmingRed” });
},
async getwinwowshowmsg(info) {
console.log(info);
this.biaodianmsgarr.forEach((item) => {
item.value = “–”;
}); //先把数据都清空
this.windows.position = info.position; //弹框位置的 赋值
let marksInfo = info;
this.marksInfo = info;
console.log(marksInfo);
this.biaodianname = marksInfo.name; //标点弹框name的赋值
let ID = marksInfo.shebeiid;
// console.log(ID);
let lists = [
{ systemName: “GW_G103”, tableType: 3 },
{ systemName: “GW_G104”, tableType: 3 },
{ systemName: “GW_G109”, tableType: 3 },
];
const { data } = await reqRoutes({
devicecode: ID,
systemNameList: lists,
startDate: 0,
endDate: 0,
step: -1,
type: 1,
});
// console.log(data);
let temp = data.result.roleResponseEntities;
if (temp[“GW_G103”] && temp[“GW_G103”].length > 0) {
this.biaodianmsgarr[0].value = (temp[“GW_G103”][0].value - 0).toFixed(
0
); // SOC赋值
}
if (temp[“GW_G104”] && temp[“GW_G104”].length > 0) {
this.biaodianmsgarr[2].value = (temp[“GW_G104”][0].value - 0).toFixed(
0
); // SOH赋值
}
if (temp[“GW_G109”] && temp[“GW_G109”].length > 0) {
if (temp[“GW_G109”][0].value == 0) {
this.biaodianmsgarr[1].value = “静止”;
} else if (temp[“GW_G109”][0].value == 1) {
this.biaodianmsgarr[1].value = “充电”;
} else if (temp[“GW_G109”][0].value == 2) {
this.biaodianmsgarr[1].value = “放电”;
}
}
this.windows.visible = true;
},
async getallmarkers(path) {
var thatis = this;
// this.oo.remove(this.massMarks); //清除上次结果
let jingzhi = require("@/assets/img/mark_bs_hui.png");
let chongdian = require("@/assets/img/mark_bs_blue.png");
let fangdian = require("@/assets/img/mark_bs_yellow.png");
let gaojing = require("@/assets/img/mark_bs_red.png");
let icon1 = {
// 图标类型,现阶段只支持 image 类型
type: "image",
// 图片 url
image: jingzhi,
// 图片尺寸
size: [11, 17],
// 图片相对 position 的锚点,默认为 bottom-center
anchor: "center",
};
let icon2 = {
// 图标类型,现阶段只支持 image 类型
type: "image",
// 图片 url
image: chongdian,
// 图片尺寸
size: [11, 17],
// 图片相对 position 的锚点,默认为 bottom-center
anchor: "center",
};
let icon3 = {
// 图标类型,现阶段只支持 image 类型
type: "image",
// 图片 url
image: fangdian,
// 图片尺寸
size: [11, 17],
// 图片相对 position 的锚点,默认为 bottom-center
anchor: "center",
};
let icon4 = {
// 图标类型,现阶段只支持 image 类型
type: "image",
// 图片 url
image: gaojing,
// 图片尺寸
size: [11, 17],
// 图片相对 position 的锚点,默认为 bottom-center
anchor: "center",
};
const { data } = await reqGetFindNodesRote({ path: path });
console.log(data);
// this.marks == data.result;
let temp1 = data.result.filter((item) => {
return (
item.nodeValueList[0].value &&
item.nodeValueList[1].value &&
item.nodeValueList[3].value &&
item.nodeValueList[4].value
);
});
let arr = temp1.map((item) => {
return item.nodeValueList.find((item) => item.tagbaseid == 101).value;
});
const res2 = await reqStatusCurrencyData("GW_G109", arr);
let statesArr = res2.data.result;
let markers = [];
temp1.forEach((item, index) => {
let tempicon = icon4;
if (statesArr[index][0].value == 0) {
tempicon = icon1;
} else if (statesArr[index][0].value == 1) {
tempicon = icon2;
} else if (statesArr[index][0].value == 2) {
tempicon = icon3;
}
let labelMarker = new AMap.LabelMarker({
xieyi: item.nodeValueList[3].value,
shebeiid: item.nodeValueList[4].value,
name: item.name, // 此属性非绘制文字内容,仅最为标识使用
position: [item.nodeValueList[0].value, item.nodeValueList[1].value],
zIndex: 16,
// 将第一步创建的 icon 对象传给 icon 属性
icon: tempicon,
});
labelMarker.on("click", function (e) {
thatis.getwinwowshowmsg(e.target.w);
});
markers.push(labelMarker);
});
var labelsLayer = new AMap.LabelsLayer({
zooms: [3, 20],
zIndex: 1000,
// 该层内标注是否避让
collision: false,
// 设置 allowCollision:false,可以让标注避让用户的标注
allowCollision: false,
});
if (this.labelsLayer) {
this.labelsLayer.remove(this.markers); //移除上一次所有点标记
}
this.labelsLayer = labelsLayer;
this.markers = markers;
labelsLayer.add(markers);
this.oo.add(labelsLayer);
},
// 失去焦点
inputBlur() {
this.searchShow = false;
this.searchList = [];
this.inputName = "";
},
async loginjizhan(item) {
// console.log(item);
this.mapIsShow = false;
this.baseInfoList[0].value = item.name;
this.getdevicecode(item.id, item.nodetype);
this.searchShow = false;
this.inputName = "";
},
async inputChange() {
if (this.inputName !== "") {
this.searchShow = true;
} else {
this.searchShow = false;
this.searchList = [];
return;
}
const { data } = await reqGetFindName({ name: this.inputName });
// console.log(data);
if (data.code !== 200 || data.result == null) return;
this.searchList = data.result;
},
async testapi() {
// this.labelsLayer.remove(this.markers); //移除所有点标记
},
async getmapbottommsg(key) {
// 获取2021年初的时间戳和 现在的时间戳
let startDate13 = 1609430400000;
let endDate13 = new Date().getTime();
this.blockarr.forEach((item) => {
item.value = "--";
}); //先把地图下面的数据全部清空
let lists = this.blockarr.map((item) => {
return {
systemName: item.systemName,
tableType: 0,
};
});
let templastobj = lists.pop();
// console.log(lists);
// console.log(templastobj);
const { data } = await reqRoutes({
devicecode: key,
systemNameList: lists,
startDate: startDate13,
endDate: endDate13,
step: 0,
type: 2,
});
let temparr1 = data.result.roleResponseEntities;
// console.log(temparr1);
this.blockarr.forEach((item, index) => {
if (temparr1[item.systemName] && temparr1[item.systemName].length > 0) {
item.value = temparr1[item.systemName][0].value;
item.value = item.value.toFixed(0);
}
});
{
const { data } = await reqRoutes({
devicecode: key,
systemNameList: [templastobj],
startDate: startDate13,
endDate: endDate13,
step: 7,
type: 2,
});
// console.log(data);
let temparr2 = data.result.roleResponseEntities;
// console.log(temparr2);
this.blockarr.forEach((item, index) => {
if (
temparr2[item.systemName] &&
temparr2[item.systemName].length > 0
) {
item.value = temparr2[item.systemName][0].value;
item.value = item.value.toFixed(0);
}
});
}
},
async getecharts3data(key) {
this.options03.xAxis[0].data = [];
this.options03.series[0].data = [];
let startDate1 = this.$moment()
.year(this.$moment().year())
.startOf("year")
.valueOf(); //获取年开始的时间戳
let endDate1 = this.$moment()
.year(this.$moment().year())
.endOf("year")
.valueOf(); //获取年结束的时间戳
let arr99 = [{ systemName: "energyBenefits", tableType: 0 }];
reqRoute3({
devicecode: key,
systemNameList: arr99,
startDate: startDate1,
endDate: endDate1,
step: 5,
type: 2,
}).then((res) => {
let temparr1 = res.data.result.roleResponseEntities.energyBenefits;
// console.log(temparr1);
let arr31 = []; // y轴
let arr32 = []; // x轴
temparr1.forEach((item, index) => {
arr31.push(item.value);
item.aquicTimeStamp = item.aquicTimeStamp.slice(5, 7);
if (item.aquicTimeStamp < 10) {
item.aquicTimeStamp = item.aquicTimeStamp.slice(1, 2) + "月";
} else {
item.aquicTimeStamp = item.aquicTimeStamp + "月";
}
arr32.push(item.aquicTimeStamp);
});
this.options03.xAxis[0].data = arr32;
this.options03.series[0].data = arr31;
});
},
async getecharts2data(key) {
this.options02.xAxis[0].data = [];
this.options02.series[0].data = [];
this.options02.series[1].data = [];
this.options02.series[2].data = [];
//先把图表2的数据清空
let startDate1 = this.$moment()
.year(this.$moment().year())
.startOf("year")
.valueOf(); //获取年开始的时间戳
let endDate1 = this.$moment()
.year(this.$moment().year())
.endOf("year")
.valueOf(); //获取年结束的时间戳
let arr99 = [
{ systemName: "sharpDischarge", tableType: 0 }, //尖峰
{ systemName: "peakDischarge", tableType: 0 }, //高峰
{ systemName: "lowValleyCharging", tableType: 0 }, //低谷
];
reqRoute3({
devicecode: key,
systemNameList: arr99,
startDate: startDate1,
endDate: endDate1,
step: 5,
type: 2,
}).then((res) => {
{
let temparr1 = res.data.result.roleResponseEntities.sharpDischarge;
// console.log(temparr1);
let arr31 = []; // y轴
let arr32 = []; // x轴
temparr1.forEach((item, index) => {
arr31.push(item.value);
item.aquicTimeStamp = item.aquicTimeStamp.slice(5, 7);
if (item.aquicTimeStamp < 10) {
item.aquicTimeStamp = item.aquicTimeStamp.slice(1, 2) + "月";
} else {
item.aquicTimeStamp = item.aquicTimeStamp + "月";
}
arr32.push(item.aquicTimeStamp);
});
this.options02.xAxis[0].data = arr32;
this.options02.series[0].data = arr31;
}
{
let temparr1 = res.data.result.roleResponseEntities.peakDischarge;
// console.log(temparr1);
let arr31 = []; // y轴
temparr1.forEach((item, index) => {
arr31.push(item.value);
});
this.options02.series[1].data = arr31;
}
{
let temparr1 = res.data.result.roleResponseEntities.lowValleyCharging;
// console.log(temparr1);
let arr31 = []; // y轴
temparr1.forEach((item, index) => {
arr31.push(item.value);
});
this.options02.series[2].data = arr31;
}
});
},
async getecharts1data(key) {
this.options01.xAxis.data = [];
this.options01.series[0].data = []; //先把图表1的数据清空
let startDate1 = new Date().getTime() - 86400000 * 17;
let endDate1 = new Date().getTime();
let arr99 = [{ systemName: "loadCurve", tableType: 0 }];
reqRoute3({
devicecode: key,
systemNameList: arr99,
startDate: startDate1,
endDate: endDate1,
step: 1,
type: 2,
}).then((res) => {
let temparr = res.data.result.roleResponseEntities.loadCurve;
let arr31 = []; // y轴
let arr32 = []; // x轴
temparr.forEach((item, index) => {
arr31.push(item.value);
arr32.push(item.aquicTimeStamp);
});
this.options01.xAxis.data = arr32;
this.options01.series[0].data = arr31;
});
},
//点击行政节点的时候,获取地图下方豆腐块数据和旁边三个eacharts图表的数据
async getmapasidemsg(key, pid, title, value, path, nodetype) {
//先查图表1的数据
this.getecharts1data(key); //拿到图表1的数据
this.getecharts2data(key); //拿到图表2的数据
this.getecharts3data(key); //拿到图表3的数据
this.getmapbottommsg(key); //拿到地图下面的数据
},
async getthirdmsg() {
this.tableData.forEach((item) => {
item.checked = false;
item.starttime = 0;
item.endtime = 0;
});
this.tableData2.forEach((item) => {
item.value = "--";
});
//控制策略的数据先清空
let lists = [
{ systemName: "SM_S108", tableType: 3 },
{ systemName: "SM_S112", tableType: 3 },
{ systemName: "SM_S109", tableType: 3 },
{ systemName: "SM_S113", tableType: 3 },
{ systemName: "SM_S110", tableType: 3 },
{ systemName: "SM_S114", tableType: 3 },
{ systemName: "SM_S111", tableType: 3 },
/以上是使能的点位
{ systemName: "SM_S123", tableType: 3 },
{ systemName: "SM_S125", tableType: 3 },
{ systemName: "SM_S127", tableType: 3 },
{ systemName: "SM_S129", tableType: 3 },
{ systemName: "SM_S131", tableType: 3 },
{ systemName: "SM_S133", tableType: 3 },
/以上是查开始时间的点位
{ systemName: "SM_S124", tableType: 3 },
{ systemName: "SM_S126", tableType: 3 },
{ systemName: "SM_S128", tableType: 3 },
{ systemName: "SM_S130", tableType: 3 },
{ systemName: "SM_S132", tableType: 3 },
{ systemName: "SM_S134", tableType: 3 },
/以上是查结束时间的点位
{ systemName: "SM_S119", tableType: 3 },
{ systemName: "SM_S121", tableType: 3 },
{ systemName: "SM_S120", tableType: 3 },
{ systemName: "SM_S122", tableType: 3 },
{ systemName: "SM_S115", tableType: 3 },
{ systemName: "SM_S116", tableType: 3 },
{ systemName: "SM_S117", tableType: 3 },
{ systemName: "SM_S118", tableType: 3 },
{ systemName: "SM_S136", tableType: 3 },
{ systemName: "SM_S135", tableType: 3 },
/以上是查参数设置的点位
];
const { data } = await reqRoutes({
devicecode: this.baseInfoList[1].value,
systemNameList: lists,
startDate: 0,
endDate: 0,
step: -1,
type: 1,
});
// console.log(data);
let tempdata01 = data.result.roleResponseEntities;
// console.log(tempdata01);
// 峰放谷充使能
if (tempdata01["SM_S108"] && tempdata01["SM_S108"].length > 0) {
if (tempdata01["SM_S108"][0].value == 1) {
this.tableData[0].checked = true;
} else {
this.tableData[0].checked = false;
}
}
// 第一阶段放电使能
if (tempdata01["SM_S112"] && tempdata01["SM_S112"].length > 0) {
if (tempdata01["SM_S112"][0].value == 1) {
this.tableData[1].checked = true;
} else {
this.tableData[1].checked = false;
}
}
// 第一阶段充电使能
if (tempdata01["SM_S109"] && tempdata01["SM_S109"].length > 0) {
if (tempdata01["SM_S109"][0].value == 1) {
this.tableData[2].checked = true;
} else {
this.tableData[2].checked = false;
}
}
// 第二阶段放电使能
if (tempdata01["SM_S113"] && tempdata01["SM_S113"].length > 0) {
if (tempdata01["SM_S113"][0].value == 1) {
this.tableData[3].checked = true;
} else {
this.tableData[3].checked = false;
}
}
// 第二阶段充电使能
if (tempdata01["SM_S110"] && tempdata01["SM_S110"].length > 0) {
if (tempdata01["SM_S110"][0].value == 1) {
this.tableData[4].checked = true;
} else {
this.tableData[4].checked = false;
}
}
// 第三阶段放电使能
if (tempdata01["SM_S114"] && tempdata01["SM_S114"].length > 0) {
if (tempdata01["SM_S114"][0].value == 1) {
this.tableData[5].checked = true;
} else {
this.tableData[5].checked = false;
}
}
// 第三阶段充电使能
if (tempdata01["SM_S111"] && tempdata01["SM_S111"].length > 0) {
if (tempdata01["SM_S111"][0].value == 1) {
this.tableData[6].checked = true;
} else {
this.tableData[6].checked = false;
}
}
//放电第一阶段开始时间
if (tempdata01["SM_S123"] && tempdata01["SM_S123"].length > 0) {
let temptime1 = (tempdata01["SM_S123"][0].value - 0).toFixed(0);
temptime1 = (temptime1 - 0).toString(16);
// console.log(temptime1);
if (temptime1.length == 3) {
temptime1 = "0" + temptime1;
}
if (temptime1.length == 1) {
temptime1 = "000" + temptime1;
}
if (temptime1.length == 2) {
temptime1 = "00" + temptime1;
}
// console.log(temptime1);
this.tableData[1].starttime = new Date(
2016,
9,
10,
parseInt(temptime1.substr(0, 2), 16),
parseInt(temptime1.substr(2, 4), 16)
);
// console.log(this.tableData[1].starttime);
}
//充电第一阶段开始时间
if (tempdata01["SM_S125"] && tempdata01["SM_S125"].length > 0) {
let temptime1 = (tempdata01["SM_S125"][0].value - 0).toFixed(0);
temptime1 = (temptime1 - 0).toString(16);
// console.log(temptime1);
if (temptime1.length == 3) {
temptime1 = "0" + temptime1;
}
if (temptime1.length == 1) {
temptime1 = "000" + temptime1;
}
if (temptime1.length == 2) {
temptime1 = "00" + temptime1;
}
// console.log(temptime1);
this.tableData[2].starttime = new Date(
2016,
9,
10,
parseInt(temptime1.substr(0, 2), 16),
parseInt(temptime1.substr(2, 4), 16)
);
}
//放电第二阶段开始时间
if (tempdata01["SM_S127"] && tempdata01["SM_S127"].length > 0) {
let temptime1 = (tempdata01["SM_S127"][0].value - 0).toFixed(0);
temptime1 = (temptime1 - 0).toString(16);
// console.log(temptime1);
if (temptime1.length == 3) {
temptime1 = "0" + temptime1;
}
if (temptime1.length == 1) {
temptime1 = "000" + temptime1;
}
if (temptime1.length == 2) {
temptime1 = "00" + temptime1;
}
// console.log(temptime1);
this.tableData[3].starttime = new Date(
2016,
9,
10,
parseInt(temptime1.substr(0, 2), 16),
parseInt(temptime1.substr(2, 4), 16)
);
}
//充电第二阶段开始时间
if (tempdata01["SM_S129"] && tempdata01["SM_S129"].length > 0) {
let temptime1 = (tempdata01["SM_S129"][0].value - 0).toFixed(0);
temptime1 = (temptime1 - 0).toString(16);
// console.log(temptime1);
if (temptime1.length == 3) {
temptime1 = "0" + temptime1;
}
if (temptime1.length == 1) {
temptime1 = "000" + temptime1;
}
if (temptime1.length == 2) {
temptime1 = "00" + temptime1;
}
// console.log(temptime1);
this.tableData[4].starttime = new Date(
2016,
9,
10,
parseInt(temptime1.substr(0, 2), 16),
parseInt(temptime1.substr(2, 4), 16)
);
}
//放电第三阶段开始时间
if (tempdata01["SM_S131"] && tempdata01["SM_S131"].length > 0) {
let temptime1 = (tempdata01["SM_S131"][0].value - 0).toFixed(0);
temptime1 = (temptime1 - 0).toString(16);
// console.log(temptime1);
if (temptime1.length == 3) {
temptime1 = "0" + temptime1;
}
if (temptime1.length == 1) {
temptime1 = "000" + temptime1;
}
if (temptime1.length == 2) {
temptime1 = "00" + temptime1;
}
// console.log(temptime1);
this.tableData[5].starttime = new Date(
2016,
9,
10,
parseInt(temptime1.substr(0, 2), 16),
parseInt(temptime1.substr(2, 4), 16)
);
}
//充电第三阶段开始时间
if (tempdata01["SM_S133"] && tempdata01["SM_S133"].length > 0) {
let temptime1 = (tempdata01["SM_S133"][0].value - 0).toFixed(0);
temptime1 = (temptime1 - 0).toString(16);
// console.log(temptime1);
if (temptime1.length == 3) {
temptime1 = "0" + temptime1;
}
if (temptime1.length == 1) {
temptime1 = "000" + temptime1;
}
if (temptime1.length == 2) {
temptime1 = "00" + temptime1;
}
// console.log(temptime1);
this.tableData[6].starttime = new Date(
2016,
9,
10,
parseInt(temptime1.substr(0, 2), 16),
parseInt(temptime1.substr(2, 4), 16)
);
}
//放电第一阶段结束时间
if (tempdata01["SM_S124"] && tempdata01["SM_S124"].length > 0) {
let temptime1 = (tempdata01["SM_S124"][0].value - 0).toFixed(0);
temptime1 = (temptime1 - 0).toString(16);
// console.log(temptime1);
if (temptime1.length == 3) {
temptime1 = "0" + temptime1;
}
if (temptime1.length == 1) {
temptime1 = "000" + temptime1;
}
if (temptime1.length == 2) {
temptime1 = "00" + temptime1;
}
console.log(temptime1);
this.tableData[1].endtime = new Date(
2016,
9,
10,
parseInt(temptime1.substr(0, 2), 16),
parseInt(temptime1.substr(2, 4), 16)
);
}
//充电第一阶段结束时间
if (tempdata01["SM_S126"] && tempdata01["SM_S126"].length > 0) {
let temptime1 = (tempdata01["SM_S126"][0].value - 0).toFixed(0);
temptime1 = (temptime1 - 0).toString(16);
// console.log(temptime1);
if (temptime1.length == 3) {
temptime1 = "0" + temptime1;
}
if (temptime1.length == 1) {
temptime1 = "000" + temptime1;
}
if (temptime1.length == 2) {
temptime1 = "00" + temptime1;
}
// console.log(temptime1);
this.tableData[2].endtime = new Date(
2016,
9,
10,
parseInt(temptime1.substr(0, 2), 16),
parseInt(temptime1.substr(2, 4), 16)
);
}
//放电第二阶段结束时间
if (tempdata01["SM_S128"] && tempdata01["SM_S128"].length > 0) {
let temptime1 = (tempdata01["SM_S128"][0].value - 0).toFixed(0);
temptime1 = (temptime1 - 0).toString(16);
// console.log(temptime1);
if (temptime1.length == 3) {
temptime1 = "0" + temptime1;
}
if (temptime1.length == 1) {
temptime1 = "000" + temptime1;
}
if (temptime1.length == 2) {
temptime1 = "00" + temptime1;
}
// console.log(temptime1);
this.tableData[3].endtime = new Date(
2016,
9,
10,
parseInt(temptime1.substr(0, 2), 16),
parseInt(temptime1.substr(2, 4), 16)
);
}
//充电第二阶段结束时间
if (tempdata01["SM_S130"] && tempdata01["SM_S130"].length > 0) {
let temptime1 = (tempdata01["SM_S130"][0].value - 0).toFixed(0);
temptime1 = (temptime1 - 0).toString(16);
// console.log(temptime1);
if (temptime1.length == 3) {
temptime1 = "0" + temptime1;
}
if (temptime1.length == 1) {
temptime1 = "000" + temptime1;
}
if (temptime1.length == 2) {
temptime1 = "00" + temptime1;
}
// console.log(temptime1);
this.tableData[4].endtime = new Date(
2016,
9,
10,
parseInt(temptime1.substr(0, 2), 16),
parseInt(temptime1.substr(2, 4), 16)
);
}
//放电第三阶段结束时间
if (tempdata01["SM_S132"] && tempdata01["SM_S132"].length > 0) {
let temptime1 = (tempdata01["SM_S132"][0].value - 0).toFixed(0);
temptime1 = (temptime1 - 0).toString(16);
// console.log(temptime1);
if (temptime1.length == 3) {
temptime1 = "0" + temptime1;
}
if (temptime1.length == 1) {
temptime1 = "000" + temptime1;
}
if (temptime1.length == 2) {
temptime1 = "00" + temptime1;
}
// console.log(temptime1);
this.tableData[5].endtime = new Date(
2016,
9,
10,
parseInt(temptime1.substr(0, 2), 16),
parseInt(temptime1.substr(2, 4), 16)
);
}
//充电第三阶段结束时间
if (tempdata01["SM_S134"] && tempdata01["SM_S134"].length > 0) {
let temptime1 = (tempdata01["SM_S134"][0].value - 0).toFixed(0);
temptime1 = (temptime1 - 0).toString(16);
// console.log(temptime1);
if (temptime1.length == 3) {
temptime1 = "0" + temptime1;
}
if (temptime1.length == 1) {
temptime1 = "000" + temptime1;
}
if (temptime1.length == 2) {
temptime1 = "00" + temptime1;
}
console.log(temptime1);
this.tableData[6].endtime = new Date(
2016,
9,
10,
parseInt(temptime1.substr(0, 2), 16),
parseInt(temptime1.substr(2, 4), 16)
);
}
//以下是参数设置的数据赋值
if (tempdata01["SM_S119"] && tempdata01["SM_S119"].length > 0) {
this.tableData2[0].value = tempdata01["SM_S119"][0].value;
this.tableData2[0].value = (this.tableData2[0].value - 0).toFixed(2);
}
if (tempdata01["SM_S121"] && tempdata01["SM_S121"].length > 0) {
this.tableData2[1].value = tempdata01["SM_S121"][0].value;
this.tableData2[1].value = (this.tableData2[1].value - 0).toFixed(2);
}
if (tempdata01["SM_S120"] && tempdata01["SM_S120"].length > 0) {
this.tableData2[2].value = tempdata01["SM_S120"][0].value;
this.tableData2[2].value = (this.tableData2[2].value - 0).toFixed(2);
}
if (tempdata01["SM_S122"] && tempdata01["SM_S122"].length > 0) {
this.tableData2[3].value = tempdata01["SM_S122"][0].value;
this.tableData2[3].value = (this.tableData2[3].value - 0).toFixed(2);
}
if (tempdata01["SM_S115"] && tempdata01["SM_S115"].length > 0) {
this.tableData2[4].value = tempdata01["SM_S115"][0].value;
this.tableData2[4].value = (this.tableData2[4].value - 0).toFixed(2);
}
if (tempdata01["SM_S116"] && tempdata01["SM_S116"].length > 0) {
this.tableData2[5].value = tempdata01["SM_S116"][0].value;
this.tableData2[5].value = (this.tableData2[5].value - 0).toFixed(2);
}
if (tempdata01["SM_S117"] && tempdata01["SM_S117"].length > 0) {
this.tableData2[6].value = tempdata01["SM_S117"][0].value;
this.tableData2[6].value = (this.tableData2[6].value - 0).toFixed(2);
}
if (tempdata01["SM_S118"] && tempdata01["SM_S118"].length > 0) {
this.tableData2[7].value = tempdata01["SM_S118"][0].value;
this.tableData2[7].value = (this.tableData2[7].value - 0).toFixed(2);
}
if (tempdata01["SM_S136"] && tempdata01["SM_S136"].length > 0) {
this.tableData2[8].value = tempdata01["SM_S136"][0].value;
this.tableData2[8].value = (this.tableData2[8].value - 0).toFixed(2);
}
if (tempdata01["SM_S135"] && tempdata01["SM_S135"].length > 0) {
this.tableData2[9].value = tempdata01["SM_S135"][0].value;
this.tableData2[9].value = (this.tableData2[9].value - 0).toFixed(2);
}
},
async getsecondmsg4(number) {
this.activeBoxData_stree.forEach((item) => {
item.value = "--";
item.systemName = item.systemName.replace(this.prefix2, number);
}); //整流模块数据全部清空
this.prefix2 = number;
let lists = this.activeBoxData_stree.map((item) => {
return {
systemName: item.systemName,
tableType: 3,
};
});
const { data } = await reqRoutes({
devicecode: this.baseInfoList[1].value,
systemNameList: lists,
startDate: 0,
endDate: 0,
step: -1,
type: 1,
});
console.log(data);
this.activeBoxData_stree.forEach((item) => {
if (
data.result.roleResponseEntities[item.systemName] &&
data.result.roleResponseEntities[item.systemName].length > 0
) {
item.value =
data.result.roleResponseEntities[item.systemName][0].value;
} else {
item.value = "--";
}
});
this.activeBoxData_stree.forEach((item, index) => {
if (item.value != "--" && item.value != "0") {
item.value = item.value - 0;
item.value = item.value.toFixed(2);
}
});
},
async getsecondmsg3(index) {
let tempstr = this.agreementtype + index;
this.activeBoxData_two.forEach((item) => {
item.value = "--";
item.systemName = item.systemName.replace(this.prefix, tempstr);
}); //插箱数据全部清空
this.prefix = this.agreementtype + index; //BMS前缀生成
let lists = this.activeBoxData_two.map((item) => {
return {
systemName: item.systemName,
tableType: 3,
};
});
const { data } = await reqRoutes({
devicecode: this.baseInfoList[1].value,
systemNameList: lists,
startDate: 0,
endDate: 0,
step: -1,
type: 1,
});
console.log(data);
this.activeBoxData_two.forEach((item) => {
if (
data.result.roleResponseEntities[item.systemName] &&
data.result.roleResponseEntities[item.systemName].length > 0
) {
item.value =
data.result.roleResponseEntities[item.systemName][0].value;
} else {
item.value = "--";
}
});
this.activeBoxData_two.forEach((item, index) => {
if (item.value != "--" && item.value != "0") {
item.value = item.value - 0;
item.value = item.value.toFixed(2);
}
});
},
async getsecondmsg2() {
this.systemStateData.forEach((item) => {
item.state = "ccc";
}); //运行状态数据全部清空
let lists = this.systemStateData.map((item) => {
return {
systemName: item.systemName,
tableType: 3,
};
});
const { data } = await reqRoutes({
devicecode: this.baseInfoList[1].value,
systemNameList: lists,
startDate: 0,
endDate: 0,
step: -1,
type: 1,
});
console.log(data);
this.systemStateData.forEach((item) => {
if (
data.result.roleResponseEntities[item.systemName] &&
data.result.roleResponseEntities[item.systemName].length > 0
) {
if (data.result.roleResponseEntities[item.systemName][0].value == 0) {
item.state = "green";
} else if (
data.result.roleResponseEntities[item.systemName][0].value == 1
) {
item.state = "red";
} else {
item.state = "ccc";
}
}
});
},
async getsecondmsg() {
this.getsecondmsg2();
this.value_activeBox_two = "01";
this.getsecondmsg3(this.value_activeBox_two);
this.value_activeBox = "01";
this.getsecondmsg4(this.value_activeBox);
this.infoShowBox_One.forEach((item) => {
item.value = "--";
}); //电池系统数据全部清空
this.infoShowBox_Two.forEach((item) => {
item.value = "--";
}); //电源插框数据全部清空
let temparr = [...this.infoShowBox_One, ...this.infoShowBox_Two];
let lists = temparr.map((item) => {
return {
systemName: item.systemName,
tableType: 3,
};
});
{
const { data } = await reqRoutes({
devicecode: this.baseInfoList[1].value,
systemNameList: lists,
startDate: 0,
endDate: 0,
step: -1,
type: 1,
});
console.log(data);
this.infoShowBox_One.forEach((item) => {
if (
data.result.roleResponseEntities[item.systemName] &&
data.result.roleResponseEntities[item.systemName].length > 0
) {
item.value =
data.result.roleResponseEntities[item.systemName][0].value;
} else {
item.value = "--";
}
});
this.infoShowBox_One.forEach((item, index) => {
if (item.value != "--" && item.value != "0") {
item.value = item.value - 0;
item.value = item.value.toFixed(2);
}
});
this.infoShowBox_Two.forEach((item) => {
if (
data.result.roleResponseEntities[item.systemName] &&
data.result.roleResponseEntities[item.systemName].length > 0
) {
item.value =
data.result.roleResponseEntities[item.systemName][0].value;
} else {
item.value = "--";
}
});
this.infoShowBox_Two.forEach((item, index) => {
if (item.value != "--" && item.value != "0") {
item.value = item.value - 0;
item.value = item.value.toFixed(2);
}
});
}
},
async getfirstpageechartsdata(e) {
console.log(e);
let startDate;
let endDate;
if (e) {
console.log(e);
startDate = +new Date(e[0]);
endDate = +new Date(e[1]);
console.log(startDate, endDate);
} else {
startDate = new Date().getTime() - 86400000 * 7;
endDate = new Date().getTime();
}
///
this.options04.xAxis.data = [];
this.options04.series[0].data = []; // 清空第一个图表
this.options05.xAxis.data = [];
this.options05.series[0].data = []; // 清空第二个图表
this.options06.xAxis.data = [];
this.options06.series[0].data = []; // 清空第三个图表
///在查之前先清空三个图表的数据
let lists = [
{ systemName: "GW_G102", tableType: 1 },
{ systemName: "SM_S139", tableType: 1 },
{ systemName: "GW_G120", tableType: 1 },
];
const { data } = await reqRoutes({
devicecode: this.baseInfoList[1].value,
systemNameList: lists,
startDate,
endDate,
step: -1,
type: 1,
});
console.log(data);
///如果第一个图表有数据的话,就赋值
if (data.result.roleResponseEntities["GW_G102"]) {
let tempecharts1 = data.result.roleResponseEntities["GW_G102"];
let optionarrX = [];
let optionarrY = [];
tempecharts1.forEach((item, index) => {
optionarrX.push(item.aquicTimeStamp);
optionarrY.push(item.value);
});
this.options04.xAxis.data = optionarrX;
this.options04.series[0].data = optionarrY;
}
///如果第二个图表有数据的话,就赋值
if (data.result.roleResponseEntities["SM_S139"]) {
let tempecharts1 = data.result.roleResponseEntities["SM_S139"];
let optionarrX = [];
let optionarrY = [];
tempecharts1.forEach((item, index) => {
optionarrX.push(item.aquicTimeStamp);
optionarrY.push(item.value);
});
this.options05.xAxis.data = optionarrX;
this.options05.series[0].data = optionarrY;
}
///如果第三个图表有数据的话,就赋值
if (data.result.roleResponseEntities["GW_G120"]) {
let tempecharts1 = data.result.roleResponseEntities["GW_G120"];
let optionarrX = [];
let optionarrY = [];
tempecharts1.forEach((item, index) => {
optionarrX.push(item.aquicTimeStamp);
optionarrY.push(item.value);
});
this.options06.xAxis.data = optionarrX;
this.options06.series[0].data = optionarrY;
}
},
///获取到第一个页面的数据
async getfirstmsg() {
this.echartsshow = false;
setTimeout(() => {
this.echartsshow = true;
}, 500);
this.mainInfoList.forEach((item) => {
item.value = "--";
}); //先把数据全部清空
let lists = this.mainInfoList.map((item) => {
return {
systemName: item.systemName,
tableType: 3,
};
});
// console.log(this.baseInfoList[1].value); 这个是存设备ID的变量
this.valueStart = [+new Date() - 3600 * 1000 * 24 * 7, +new Date()];
this.getfirstpageechartsdata(false); //查三个echarts图表的数据
{
const { data } = await reqRoutes({
devicecode: this.baseInfoList[1].value,
systemNameList: lists,
startDate: 0,
endDate: 0,
step: -1,
type: 1,
});
console.log(data);
this.mainInfoList.forEach((item) => {
if (data.result.roleResponseEntities[item.systemName].length > 0) {
item.value =
data.result.roleResponseEntities[item.systemName][0].value;
} else {
item.value = "--";
}
});
this.mainInfoList.forEach((item, index) => {
console.log(item.value);
if (item.value != "--" && item.value != "0") {
item.value = item.value - 0;
item.value = item.value.toFixed(2);
}
});
}
{
this.stateRight.name = "未知";
this.stateRight.color = "ccc"; // 先重置状态
let lists = [
{
systemName: "GW_G109",
tableType: 3,
},
];
const { data } = await reqRoutes({
devicecode: this.baseInfoList[1].value,
systemNameList: lists,
startDate: 0,
endDate: 0,
step: -1,
type: 1,
});
console.log(data);
console.log(data.result.roleResponseEntities["GW_G109"][0].value);
if (data.result.roleResponseEntities["GW_G109"].length > 0) {
if (data.result.roleResponseEntities["GW_G109"][0].value == 0) {
this.stateRight.name = "静止";
this.stateRight.color = "static";
} else if (
data.result.roleResponseEntities["GW_G109"][0].value == 1
) {
this.stateRight.name = "充电";
this.stateRight.color = "blue";
} else {
this.stateRight.name = "放电";
this.stateRight.color = "yellow";
}
}
}
},
// 小标点 进入基站详情页面
loginjizhninfo(marksInfo) {
console.log(marksInfo);
this.mapIsShow = false;
this.baseInfoList[0].value = marksInfo.name;
this.baseInfoList[1].value = marksInfo.shebeiid; // 获取到设备id
this.agreementtype = marksInfo.xieyi; // 获取到设备类型
console.log(this.agreementtype);
this.activeName = "first"; //点开基站 展开第一个页面
this.getfirstmsg(); // 打开第一页面
},
// 关闭基站信息窗
closeWindow() {
this.windows.visible = false;
},
// 图标样式
getMarkerContent(item, width, height) {
// if (item[0].warming == 1) {
// var color = "red";
// } else {
// var stateColor = item[0].states ? item[0].states : 0;
// var color =
// stateColor == 0 ? "#009ec6" : stateColor == 1 ? "green" : "yellow";
// }
let color = "#009ec6";
// if (item.states == 0) {
// color = "#009ec6"; //静止
// } else if (item.states == 1) {
// color = "#008000"; //充电
// } else if (item.states == 2) {
// color = "#ffff00"; //放电
// }
// if (item[0].warming == 1) {
// color = "#f00"; //告警
// }
const content = `<div style = "
height: ${width}px;
width: ${height}px;
color: ${color};
background-size: cover;
font-size:15px;
z-index:9999;
"
class='iconfont icon-ditu'
>
</div>`;
return content;
},
//查询这个角色 有基站详情的几个权限按钮
async getOperationByUrl(url) {
const { data } = await reqGetOperationByUrl({ menuurl: url });
// console.log(data);
if (data.result.find((item) => item.name == "数据展示")) {
this.jizhananniushow1 = true;
} else {
this.jizhananniushow1 = false;
}
if (data.result.find((item) => item.name == "控制策略")) {
this.jizhananniushow2 = true;
} else {
this.jizhananniushow2 = false;
}
if (data.result.find((item) => item.name == "效益分析")) {
this.jizhananniushow3 = true;
} else {
this.jizhananniushow3 = false;
}
},
// 合并单元格
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 7) {
if (rowIndex % 2 === 0) {
return {
rowspan: this.tableDataFourth.length,
colspan: 1,
};
} else {
return {
rowspan: 0,
colspan: 0,
};
}
}
},
// 效益分析数据获取
async getAllelectricData(e) {
// console.log(e);
},
yitan2(aaa) {
this.aaa2 = aaa;
this.dialogVisible2 = true;
},
async shezhi2(index) {
this.controlloading = true;
// console.log(index);
// console.log(this.tableData2[index].gai);
this.dialogVisible2 = false;
// 前端先校验
if (
((index == 0 || index == 1 || index == 2) &&
this.tableData2[index].gai >= 44 &&
this.tableData2[index].gai <= 58) ||
(index == 3 &&
this.tableData2[index].gai >= 2.6 &&
this.tableData2[index].gai <= 3.65) ||
((index == 4 || index == 5 || index == 6 || index == 7 || index == 8) &&
this.tableData2[index].gai > 0 &&
this.tableData2[index].gai <= 0.5) ||
(index == 9 &&
this.tableData2[index].gai > 0 &&
this.tableData2[index].gai <= 2000)
) {
const { data } = await getdata7({
command: [
{
clientId: this.baseInfoList[1].value,
ver: "v2.0.0",
dev: "SM",
m: this.tableData2[index].dianwei,
v: this.tableData2[index].gai,
},
],
});
// console.log(data);
if (data.result == "OK") {
Message({
message: "指令发送成功",
type: "success",
});
} else {
Message({
message: `${data.result}`,
type: "error",
duration: 5000,
});
}
} else {
Message({
message: "您输入的数值不在取值范围之内,请重新输入。",
type: "error",
});
}
this.controlloading = false;
},
input001(data, index) {
this.tableData2[index].gai = data;
},
//控制策略第一个表格 ,设置按钮事件
yitan(aaa) {
this.aaa1 = aaa;
this.dialogVisible = true;
},
async shezhi1(index) {
// let temptimestart = this.$moment("2016-09-10").startOf("day").format("x");
// console.log(temptimestart);
// console.log(this.tableData[index].starttime);
// console.log(this.tableData[index].starttime - temptimestart);
/
this.controlloading = true;
this.dialogVisible = false;
let start = this.$moment(this.tableData[index].starttime).format("HHmm");
let end = this.$moment(this.tableData[index].endtime).format("HHmm");
let num = start + end;
const { data } = await getdata7({
command: [
{
clientId: this.baseInfoList[1].value,
ver: "v2.0.0",
dev: "SM",
m: this.tableData[index].dianwei2,
v: num,
},
],
});
if (data.result == "OK") {
Message({
message: "指令发送成功",
type: "success",
});
} else {
Message({
message: `${data.result}`,
type: "error",
duration: 5000,
});
}
this.controlloading = false;
},
//控制策略第一个表格 ,单选change事件
async shezhi3(index) {
this.controlloading = true;
// console.log(index);
let temp = "1";
if (this.tableData[index].checked == true) {
temp = "1";
} else {
temp = "0";
}
const { data } = await getdata7({
command: [
{
clientId: this.baseInfoList[1].value,
ver: "v2.0.0",
dev: "SM",
m: this.tableData[index].dianwei1,
v: temp,
},
],
});
if (data.result == "OK") {
Message({
message: "指令发送成功",
type: "success",
});
} else {
Message({
message: `${data.result}`,
type: "error",
duration: 5000,
});
}
this.controlloading = false;
},
async getmarkerarr(path) {
// console.log(path);
this.marksShow = false;
const { data } = await reqGetFindNodesRote({ path: path });
// console.log(data);
// this.marks == data.result;
this.marks = data.result.filter((item) => {
return (
item.nodeValueList[0].value &&
item.nodeValueList[1].value &&
item.nodeValueList[4].value
);
});
let arr = this.marks.map((item) => {
return item.nodeValueList.find((item) => item.tagbaseid == 101).value;
});
// this.marksShow = true;
// console.log(arr);
// {
// const { data } = await reqFindDeviceAlarms(arr);
// console.log(data);
// let waringsArr = data.result;
// this.marks.forEach((item, index) => {
// item[0].warming = waringsArr[index];
// });
// }
{
const { data } = await reqStatusCurrencyData("GW_G109", arr);
// console.log(data);
let statesArr = data.result;
this.marks.forEach((item, index) => {
item.states = statesArr[index][0].value;
});
// console.log(this.marks);
this.marksShow = true;
}
},
// 基站页面,上面四个tab的改变事件
handleClick() {
// console.log(this.activeName);
if (this.activeName == "first") {
this.getfirstmsg();
}
if (this.activeName == "second") {
this.getsecondmsg();
}
if (this.activeName == "third") {
this.getthirdmsg();
}
},
// 时间选择器的改变事件
startDateChange(e) {
// console.log(e);
let startDate = +new Date(e[0]);
let endDate = +new Date(e[1]);
// console.log(startDate, endDate);
},
// 获取到图表1的方法
getecharts1(dingID) {
// console.log(dingID);
let startDate1 = new Date().getTime() - 86400000 * 7;
let endDate1 = new Date().getTime();
let arr99 = [{ systemName: "loadCurve", tableType: 0 }];
reqRoute3({
devicecode: dingID,
systemNameList: arr99,
startDate: startDate1,
endDate: endDate1,
step: 1,
type: 2,
}).then((res) => {
// console.log(res);
});
},
//点击树节点触发的事件
onSelect(selectedKeys, info) {
const {
value,
pid,
key,
title,
path,
nodetype,
} = info.selectedNodes[0].data.props.dataRef;
// console.log(key, pid, title, value, path, nodetype);
if (value !== "通信基站") {
if (value == "国家") {
this.oo.clearMap();
this.zoom = 3;
// this.getallmarkers(this.dingjijiedianpath);
} else {
this.oo.clearMap();
this.zoom = 9;
this.drawBounds(this.oo, title);
// this.getallmarkers(path);
}
this.mapIsShow = true;
this.windows.visible = false;
this.getmapasidemsg(key, pid, title, value, path, nodetype);
} else {
this.mapIsShow = false;
this.getdevicecode(key, nodetype);
this.baseInfoList[0].value = title;
}
},
//获取到设备id的方法(里面有基站的挂载信息)
async getdevicecode(key, nodetype) {
const { data } = await reqFindTreeValue({
nodeId: key,
typeId: nodetype,
});
// console.log(data);
this.baseInfoList[1].value = data.result.find(
(item) => item.tagbaseid == 101
).value; // 获取到设备id
this.agreementtype = data.result.find(
(item) => item.tagbaseid == 99
).value; // 获取到设备类型
// console.log(this.agreementtype);
this.activeName = "first"; //点开基站 展开第一个页面
this.getfirstmsg(); // 打开第一页面
},
//加载树形节点父级
onloadParentTree() {
// console.log(11);
reqGetRootTreeByUser().then((res) => {
var _this = this;
if (
res.data.code !== 200 ||
res.data.result == null ||
res.data.result.length == 0
)
return;
var data = res.data.result;
// console.log(data);
this.dingjijiedianpath = data[0][0].path;
this.getecharts1data(data[0][0].id); //拿到图表1的数据
this.getecharts2data(data[0][0].id); //拿到图表2的数据
this.getecharts3data(data[0][0].id); //拿到图表3的数据
this.getmapbottommsg(data[0][0].id); //拿到地图下面的数据
// this.getmarkerarr(data[0][0].path); // 查询所有点标记
this.getallmarkers(data[0][0].path); //使用海量点的方法
data.forEach(function (item, index) {
var tree = {
key: item[0].id,
title: item[0].name,
value: item[0].valued,
path: item[0].path,
nodetype: item[0].nodetype,
};
_this.treeData.push(tree);
});
});
// console.log(this.treeData);
},
// 树的异步加载
onLoadData(treeNode) {
// console.log(treeNode);
var pid = treeNode.dataRef.key;
return new Promise((resolve) => {
setTimeout(() => {
reqGetChildrenTreeByUser({
pid,
nodePath: treeNode.dataRef.path,
}).then((res) => {
// console.log(res);
if (!res.data.result) return resolve();
var datas = res.data.result;
var list = [];
if (datas instanceof Array && datas.length > 0) {
datas.forEach(function (item, index) {
var tree = {
key: item[0].id,
title: item[0].name,
value: item[0].valued,
pid: item[0].pid,
path: item[0].path,
nodetype: item[0].nodetype,
};
list.push(tree);
});
}
treeNode.dataRef.children = list;
this.treeData = [...this.treeData];
resolve();
});
}, 0);
});
},
//绘制遮罩,显示某个省
drawBounds(map, cc) {
console.log(map);
console.log(cc);
//加载行政区划插件
let opts = {
subdistrict: 0, //获取边界不需要返回下级行政区
extensions: "all", //返回行政区边界坐标组等具体信息
level: "city", //查询行政级别为 市
};
let district = new AMap.DistrictSearch(opts);
district.setLevel(cc);
district.search(cc, (status, result) => {
console.log(result);
map.remove(this.polygons); //清除上次结果
this.polygons = [];
let bounds = result.districtList[0].boundaries;
if (bounds) {
for (let i = 0, l = bounds.length; i < l; i++) {
//生成行政区划polygon
let polygon = new AMap.Polygon({
strokeWeight: 3,
path: bounds[i],
fillOpacity: 0.2,
fillColor: this.color1,
strokeColor: this.color1,
});
this.polygons.push(polygon);
}
}
map.add(this.polygons);
map.setFitView(this.polygons); //视口自适应
//那遥远的四个点在这
let outer = [
new AMap.LngLat(-360, 90, true),
new AMap.LngLat(-360, -90, true),
new AMap.LngLat(360, -90, true),
new AMap.LngLat(360, 90, true),
];
let holes = result.districtList[0].boundaries;
let pathArray = [outer];
pathArray.push.apply(pathArray, holes);
let polygon = new AMap.Polygon({
pathL: pathArray,
//线条颜色,使用16进制颜色代码赋值。默认值为#006600
// strokeColor: 'rgb(20,164,173)',
strokeColor: "#001826",
strokeWeight: 1,
//轮廓线透明度,取值范围[0,1],0表示完全透明,1表示不透明。默认为0.9
strokeOpacity: 0.8,
//多边形填充颜色,使用16进制颜色代码赋值,如:#FFAA00
fillColor: "#000",
//多边形填充透明度,取值范围[0,1],0表示完全透明,1表示不透明。默认为0.9
fillOpacity: 0,
//轮廓线样式,实线:solid,虚线:dashed
strokeStyle: "solid",
/*勾勒形状轮廓的虚线和间隙的样式,此属性在strokeStyle 为dashed 时有效, 此属性在
ie9+浏览器有效 取值:
实线:[0,0,0]
虚线:[10,10] ,[10,10] 表示10个像素的实线和10个像素的空白(如此反复)组成的虚线
点画线:[10,2,10], [10,2,10] 表示10个像素的实线和2个像素的空白 + 10个像素的实
线和10个像素的空白 (如此反复)组成的虚线*/
strokeDasharray: [10, 2, 10],
});
polygon.setPath(pathArray);
map.add(polygon);
});
},
jump() {
this.$router.push({ path: "/system" });
},
mapInit(o) {
this.oo = o;
setTimeout(() => {
this.zoom = 3;
// this.drawBounds(o, "浙江省");
// o.setMapStyle("amap://styles/21e4dee35b66d5ad9e00b16a549ea0bd"); //自定义的高德地图的样式
o.setMapStyle("amap://styles/darkblue"); //自定义的高德地图的样式
}, 100);
},**加粗样式**
},
};