var techId = $.getUrlParam("id") //工艺id
var editFlag = true,
appendFlag = true,
editIndex
//var lineChart;
$(document).ready(function () {
initDatagrid()
loadData()
$("#btnSave").on("click", function () {
if (appendFlag && editFlag) {
layer.msg("没有需要保存或者更新的行!")
return
}
$("#dg").datagrid("acceptChanges")
var rows = $("#dg").datagrid("getRows")
for (var i in rows) {
var index = $("#dg").datagrid("getRowIndex", rows[i])
$("#dg").datagrid("selectRow", index)
var row = $("#dg").datagrid("getSelected")
$("#dg").datagrid("updateRow", { index: index, row: rows[i] })
}
;(editFlag = true), (appendFlag = true)
})
$("#btnUpdate").click(function () {
/*var row = $("#dg").datagrid('getSelected');
if (row == null || row == undefined) {
layer.msg('请选择一条记录进行修改.', {
icon : 4
});
return;
}*/
editFlag = false
//var index = $("#dg").datagrid('getRowIndex', row);
//editIndex = index;
var rows = $("#dg").datagrid("getRows")
for (var i in rows) {
var index = $("#dg").datagrid("getRowIndex", rows[i])
$("#dg").datagrid("beginEdit", index)
}
})
$("#btnCancel").on("click", function () {
if (!editFlag) {
var rows = $("#dg").datagrid("getRows")
for (var i in rows) {
var index = $("#dg").datagrid("getRowIndex", rows[i])
$("#dg").datagrid("cancelEdit", index)
appendFlag = true
}
editIndex = undefined
editFlag = true
}
})
$("#btnGenerate").on("click", function () {
if (!appendFlag || !editFlag) {
layer.msg("请先取消正在更改的行!", {
icon: 4,
})
return
}
var gridData = $("#dg").datagrid("getData")
ajax({
url: "/web/technique/addTechniquesSet.json",
dataType: "json",
cache: false,
data: { id: techId, standardDefine: JSON.stringify(gridData.rows) },
success: function (data) {
if (data.status == 0) {
layer.msg("服务器异常,请稍后再试")
return
}
if (data.status == 9) {
layer.msg("带*的为必填项")
return
}
$("#dg").datagrid("loadData", data.data.tableData)
var standard = {}
standard["name"] = "标准工艺"
standard["data"] = data.data.chartData
initChart([standard], { title: { text: "单位:(千瓦)" } }, "")
},
})
})
//返回按钮
$("#btnBack").click(function () {
window.location.href = "technique_list.html"
})
})
//加载数据
function loadData() {
ajax({
url: "/web/technique/getTechniquesSet.json",
dataType: "json",
cache: false,
data: { id: techId },
success: function (data) {
if (data.status != 1) {
layer.msg(data.msg)
return
}
$("#dg").datagrid("loadData", data.data.tableData)
var standard = {}
standard["name"] = "标准工艺"
standard["data"] = data.data.chartData
initChart([standard], { title: { text: "单位:(千瓦)" } }, "")
},
})
}
function initDatagrid() {
$("#dg").datagrid({
toolbar: "#menu_left",
rownumbers: false,
fit: true,
fitcolumns: true,
animate: true,
selectOnCheck: false,
checkOnSelect: false,
singleSelect: true,
columns: [
[
{
field: "name",
title: "属性",
width: 250,
align: "left",
formatter: function (value, row) {
return getName(value)
},
},
{ field: "value", title: "值", width: 300, align: "left", editor: { type: "numberbox", options: { precision: 2, min: 1 } } },
{
field: "id",
title: "备注",
width: 500,
align: "left",
formatter: function (value, row) {
return getDesc(row.name)
},
},
],
],
})
}
function initChart(series, yAxis, title) {
$("#lineContainer").highcharts({
title: {
text: title,
x: -20,
},
xAxis: {
type: "datetime",
tickInterval: 3 * 3600 * 1000,
gridLineWidth: 1, // 默认是0,即在图上没有纵轴间隔线
// 自定义x刻度上显示的时间格式,根据间隔大小,以下面预设的小时/分钟/日的格式来显示
dateTimeLabelFormats: {
hour: "%H:%M",
day: "00:00",
},
},
yAxis: yAxis,
tooltip: {
crosshairs: {
width: 1,
color: "gray",
},
headerFormat: '时间:{point.key}
',
pointFormat: '{series.name}: {point.y}
',
valueDecimals: 2, // 数据值保留小数位数
xDateFormat: "%H:%M",
shared: true,
},
legend: {
borderWidth: 0,
},
plotOptions: {
column: {
dataLabels: {
enabled: false,
color: (Highcharts.theme && Highcharts.theme.dataLabelsColor) || "white",
},
},
series: {
connectNulls: true,
},
},
series: series,
})
}
function getName(name) {
//1:运行时长 2:待机时长 3:间隔时长 4:波动范围 5:最大波动值 6:最小波动值 7:波动初始值
var s = ["运行时长*", "待机时长 *", "采集时长*", "波动范围*", "最大波动值 *", "最小波动值 *", "波动初始值 ", "开始时间 (填写分钟)"]
switch (name) {
case 1:
return s[0]
case 2:
return s[1]
case 3:
return s[2]
case 4:
return s[3]
case 5:
return s[4]
case 6:
return s[5]
case 7:
return s[6]
case 8:
return s[7]
default:
return "未定义"
}
}
function getDesc(name) {
//1:运行时长 2:待机时长 3:间隔时长 4:波动范围 5:最大波动值 6:最小波动值 7:波动初始值
var s = ["运行时长(单位分钟,必填),必填", "待机时长(单位分钟,必填)", "数据采集间隔时长(单位分钟,必填)", "运行或待机负荷可上下波动范围(必填)", "工艺最大负荷值,必填", "工艺最小负荷值,必填", "负荷初始值(第一个采集点的值,可以不填) ", "工艺开始时间(单位分钟,可以不填)"]
switch (name) {
case 1:
return s[0]
case 2:
return s[1]
case 3:
return s[2]
case 4:
return s[3]
case 5:
return s[4]
case 6:
return s[5]
case 7:
return s[6]
case 8:
return s[7]
default:
return "未定义"
}
}