<template>
	<div class="app-container">
		<el-header>
			<div class="left-panel">
				<el-button
					type="primary"
					@click="exportExcel()"
					:loading="exportLoading"
					v-auth="'export_excel'"
					>导出xlsx
				</el-button>
				<el-button type="primary" @click="handlePrint">打印 </el-button>
			</div>
		</el-header>
		<el-card style="margin-top: 5px">
			<div class="printWrap">
				<div ref="print" id="myReport" class="printContainer">
					<table
						border="1"
						width="1035"
						cellspacing="0"
						:key="timeStamp"
						id="myTable"
						class="myTable"
					>
						<thead class="myTableHead">
							<tr>
								<th colspan="10">烧成工序生产报告</th>
							</tr>
							<tr>
								<th colspan="2">参数</th>
								<th>本日</th>
								<th>昨日</th>
								<th>本月</th>
								<th>本年</th>
								<th>月目标值</th>
								<th>月完成度</th>
								<th>年目标值</th>
								<th>年完成度</th>
							</tr>
						</thead>
						<tbody>
							<tr
								v-for="(item, index) in tableDatas"
								:key="index"
							>
								<td
									class="numCell"
									v-if="index == 0 || index == 2"
									rowspan="2"
								>
									{{ item[0] }}
								</td>
								<td
									class="numCell"
									v-else-if="index == 4"
									rowspan="5"
								>
									{{ item[0] }}
								</td>
								<td class="numCell" v-else-if="index == 9">
									{{ item[0] }}
								</td>
								<td class="numCell" v-else-if="index == 10">
									{{ item[0] }}
								</td>
								<td class="numCell" v-else-if="index == 11">
									{{ item[0] }}
								</td>
								<td class="numCell">{{ item[1] }}</td>
								<td
									class="numCell hoursItem"
									@click="itemClick('hour_s', item)"
								>
									{{ item[2] }}
								</td>
								<td
									class="numCell daysItem"
									@click="itemClick('day_s', item)"
								>
									{{ item[3] }}
								</td>
								<td
									class="numCell monthItem"
									@click="itemClick('month_s', item)"
								>
									{{ item[4] }}
								</td>
								<td
									class="numCell yearItem"
									@click="itemClick('year_s', item)"
								>
									{{ item[5] }}
								</td>
								<td class="numCell">{{ item[6]}}</td>
								<td class="numCell">{{ item[7] }}</td>
								<td class="numCell">{{ item[8]}}</td>
								<td class="numCell">{{ item[9] }}</td>
							</tr>
						</tbody>
					</table>
					<div class="radioWrap">
						<el-radio-group
							v-model="typeRadio"
							@change="typeRadioChange"
						>
							<el-radio-button label="day">按时</el-radio-button>
							<el-radio-button label="month"
								>按日</el-radio-button
							>
							<el-radio-button label="year">按月</el-radio-button>
						</el-radio-group>
						<div style="position: absolute; right: 20px">
							<el-date-picker
								v-model="searchDate"
								type="date"
								value-format="YYYY-MM-DD"
								formatter="YYYY-MM-DD"
								placeholder="选择日期"
								v-if="typeRadio == 'day'"
								@change="dateChange"
							></el-date-picker>
							<el-date-picker
								v-model="searchDate"
								type="month"
								value-format="YYYY-MM"
								formatter="YYYY-MM"
								placeholder="选择月"
								v-if="typeRadio == 'month'"
								@change="dateChange"
							></el-date-picker>
							<el-date-picker
								v-if="typeRadio == 'year'"
								v-model="searchDate"
								type="year"
								value-format="YYYY"
								formatter="YYYY"
								placeholder="选择年"
								@change="dateChange"
							></el-date-picker>
						</div>
					</div>

					<div class="chartWrap" v-show="typeRadio == 'day'">
						<div class="chartTitle">本日生产参数统计图</div>
						<scEcharts
							height="400px"
							width="1033px"
							:option="optionHour"
						></scEcharts>
					</div>
					<div class="chartWrap" v-show="typeRadio == 'month'">
						<div class="chartTitle">本月生产参数统计图</div>
						<scEcharts
							height="400px"
							width="1033px"
							:option="optionDay"
						></scEcharts>
					</div>
					<div class="chartWrap" v-show="typeRadio == 'year'">
						<div class="chartTitle">本年生产参数统计图</div>
						<scEcharts
							height="400px"
							width="1033px"
							:option="optionMonth"
						></scEcharts>
					</div>
				</div>
			</div>

			<sc-dialog v-model="chartShow" draggable title="烧成工序">
				<div class="searchHead" v-if="type == 'hours'">
					<el-date-picker
						v-model="query.start_time"
						type="date"
						placeholder="选择时间"
						format="YYYY-MM-DD"
						value-format="YYYY-MM-DD"
						:picker-options="pickerOptions"
					/>
					<span class="middleText">至</span>
					<el-date-picker
						v-model="query.end_time"
						type="date"
						format="YYYY-MM-DD"
						value-format="YYYY-MM-DD"
						start-placeholder="结束日期"
						:picker-options="pickerOptions"
					/>
					<el-button
						type="primary"
						class="searchBtn"
						@click="dataSearch"
						>查询</el-button
					>
				</div>
				<div class="searchHead" v-if="type == 'days'">
					<el-date-picker
						v-model="query.start_time"
						type="date"
						format="YYYY-MM-DD"
						value-format="YYYY-MM-DD"
						start-placeholder="开始日期"
						:picker-options="pickerOptions"
					/>
					<el-date-picker
						v-model="query.end_time"
						type="date"
						format="YYYY-MM-DD"
						value-format="YYYY-MM-DD"
						start-placeholder="结束日期"
						:picker-options="pickerOptions"
					/>
					<el-button
						type="primary"
						class="searchBtn"
						@click="dataSearch"
						>查询</el-button
					>
				</div>
				<div class="searchHead" v-if="type == 'month'">
					<el-date-picker
						v-model="query.start_time"
						type="month"
						format="YYYY-MM"
						value-format="YYYY-MM"
						start-placeholder="开始月份"
						:picker-options="pickerOptions"
					/>
					<el-date-picker
						v-model="query.end_time"
						type="month"
						format="YYYY-MM"
						value-format="YYYY-MM"
						start-placeholder="结束月份"
						:picker-options="pickerOptions"
					/>
					<el-button
						type="primary"
						class="searchBtn"
						@click="dataSearch"
						>查询</el-button
					>
				</div>
				<div class="searchHead" v-if="type == 'year'">
					<el-date-picker
						v-model="query.start_time"
						type="year"
						format="YYYY"
						value-format="YYYY"
						start-placeholder="开始日期"
						:picker-options="pickerOptions"
					/>
					<el-date-picker
						v-model="query.end_time"
						type="year"
						format="YYYY"
						value-format="YYYY"
						start-placeholder="结束日期"
						:picker-options="pickerOptions"
					/>
					<el-button
						type="primary"
						class="searchBtn"
						@click="dataSearch"
						>查询</el-button
					>
				</div>
				<scEcharts
					height="360px"
					:option="myOption"
					v-if="chartShow"
				></scEcharts>
			</sc-dialog>
			<charts
				v-if="asynDialog"
				:type="type"
				:title="title"
				:cate="cate"
				:apiObj="apiObj"
				:mgroup="query.mgroup"
				:modelValue="modelValue"
				:showClose="showClose"
				:echartType="echartType"
				@closed="asynDialog = false"
			></charts>
		</el-card>
	</div>
</template>
<script>
const colors = ["#5b9bd5", "#ed7d31", "#70ad47", "#ffc000", "#5f6694", "#cb9bff"];
// 产量/台时/运转率/分布电耗/单位产品标煤耗/成本
let tooltip = {
	show: true,
	trigger: "axis",
	axisPointer: {
		type: "cross",
	},
	confine: false,
	showContent: true,
	triggerOn: "mousemove",
};
let grid = {
	right: "11%",
	left: "11%",
	top: "28%",
};
let toolbox = {
	right: 0,
	feature: {
		dataView: { show: true, readOnly: false },
		saveAsImage: { show: true },
	},
	orient: "vertical",
};
let legend = {
	selector: [
		{
			type: 'all',
			title: '全选'
		},
		{
			type: 'inverse',
			title: '反选'
		}
	],
	top: "2%",
	width: "400px",
	data: [
		"回转窑总产量",
		"台时产量",
		"回转窑运转率",
		"熟料分布电耗",
		"熟料标煤耗",
		"熟料单位成本",
	],
	
};
let yAxis = [
	{
		type: "value",
		name: "产量 (t)",
		position: "left",
		alignTicks: true,
		nameRotate: 50,
		axisLine: {
			show: true,
			lineStyle: {
				color: colors[0],
			},
		},
		axisLabel: {
			formatter: "{value}",
		},
	},
	{
		type: "value",
		name: "台时产量 (t/h)",
		position: "left",
		alignTicks: true,
		nameRotate: 50,
		axisLine: {
			show: true,
			lineStyle: {
				color: colors[1],
			},
		},
		offset: 100,
		axisLabel: {
			formatter: "{value}",
		},
	},
	{
		type: "value",
		name: "回转窑运转率(%) ",
		position: "right",
		alignTicks: true,
		nameRotate: 50,
		offset: 100,
		axisLine: {
			show: true,
			lineStyle: {
				color: colors[2],
			},
		},
		axisLabel: {
			formatter: "{value}",
		},
	},
	{
		type: "value",
		name: "熟料分布电耗(kW·h/t)",
		position: "right",
		alignTicks: true,
		nameRotate: 50,
		axisLine: {
			show: true,
			lineStyle: {
				color: colors[3],
			},
		},
		axisLabel: {
			formatter: "{value}",
		},
	},
	{
		type: "value",
		name: "熟料标煤耗(kgce/t)",
		position: "right",
		alignTicks: true,
		nameRotate: 50,
		offset: 50,
		axisLine: {
			show: true,
			lineStyle: {
				color: colors[4],
			},
		},
		axisLabel: {
			formatter: "{value}",
		},
	},
	{
		type: "value",
		name: "熟料单位成本(元/吨)",
		position: "left",
		alignTicks: true,
		nameRotate: 50,
		offset: 50,
		axisLine: {
			show: true,
			lineStyle: {
				color: colors[5],
			},
		},
		// axisLabel: {
		// 	formatter: "{value}/元",
		// },
	},
];
import scEcharts from "@/components/scEcharts";
import { defineAsyncComponent } from "vue";
export default {
	components: {
		scEcharts,
		charts: defineAsyncComponent(() =>
			import("@/components/scEnm/lineChartsdialog.vue")
		),
	},
	data() {
		return {
			searchDate: "",
			typeRadio: "day",
			exportLoading: false,
			chartShow: false,
			myOption: null,
			timeStamp: null,
			optionHour: {},
			optionDay: {},
			optionMonth: {},
			year: 2023,
			month: 1,
			days: 1,
			hours: 1,
			query: {
				mgroup: "",
			},
			tableDatas: [
				["产量", "回转窑总产量（t）", 0, 0, 0, 0, 0, 0, 0, 0],
				["产量", "回转窑台时产量（t/h）", 0, 0, 0, 0, 0, 0, 0, 0],
				["运转时间", "运转时间（h）", 0, 0, 0, 0, 0, 0, 0, 0],
				["运转时间", "回转窑运转率（%）", 0, 0, 0, 0, 0, 0, 0, 0],
				["能耗", "熟料分布电耗（kW·h/t）", 0, 0, 0, 0, 0, 0, 0, 0],
				["能耗", "熟料综合电耗（kW·h/t）", 0, 0, 0, 0, 0, 0, 0, 0],
				["能耗", "熟料标煤耗（kgce/t）", 0, 0, 0, 0, 0, 0, 0, 0],
				["能耗", "熟料综合能耗（kgce/t）", 0, 0, 0, 0, 0, 0, 0, 0],
				["能耗", "烧成工序总电量（kW·h）", 0, 0, 0, 0, 0, 0, 0, 0],
				["成本", "熟料单位成本（元/吨）", 0, 0, 0, 0, 0, 0, 0, 0],
				["氨水", "氨水消耗量(t)", 0, 0, 0, 0, 0, 0, 0, 0],
				["氨水", "熟料单位氨水消耗量(kg/t)", 0, 0, 0, 0, 0, 0, 0, 0],
			],
			tableName: "生产报告",
			modelValue: true,
			type: "hour_s",
			title: "烧成工序",
			cate: "",
			apiObj: this.$API.enm.enstat,
			showClose: true,
			echartType: "line",
			asynDialog: false,
			option1: {
				color: colors,
				tooltip: tooltip,
				grid: grid,
				toolbox: toolbox,
				legend:  Object.assign(legend, {data: ["回转窑总产量", "台时产量","回转窑运转率", "熟料分布电耗", "熟料标煤耗", "熟料单位成本"]}),
				xAxis: {
					axisTick: {
						show: true,
						length: 5,
						inside: true,
					},
					data: [],
				},
				yAxis: yAxis,
				series: [
					{
						name: "回转窑总产量",
						type: "bar",
						yAxisIndex: 0,
						data: [],
					},
					{
						name: "台时产量",
						type: "bar",
						yAxisIndex: 0,
						data: [],
					},
					{
						name: "回转窑运转率",
						type: "line",
						yAxisIndex: 1,
						data: [],
					},
					{
						name: "熟料分布电耗",
						type: "bar",
						yAxisIndex: 2,
						data: [],
					},
					{
						name: "熟料标煤耗",
						type: "bar",
						yAxisIndex: 3,
						data: [],
					},
					{
						name: "熟料单位成本",
						type: "bar",
						yAxisIndex: 4,
						data: [],
					},
				],
			},
			option2: {
				color: colors,
				tooltip: tooltip,
				grid: grid,
				toolbox: toolbox,
				legend: legend,
				xAxis: {
					axisTick: {
						show: true,
						length: 5,
						inside: true,
						// alignWithLabel: true
					},
					data: [
						"一月",
						"二月",
						"三月",
						"四月",
						"五月",
						"六月",
						"七月",
						"八月",
						"九月",
						"十月",
						"十一月",
						"十二月",
					],
				},
				yAxis: yAxis,
				series: [
					{
						name: "回转窑总产量",
						type: "bar",
						yAxisIndex: 0,
						data: [],
					},
					{
						name: "台时产量",
						type: "bar",
						yAxisIndex: 1,
						data: [],
					},
					{
						name: "回转窑运转率",
						type: "line",
						yAxisIndex: 2,
						data: [],
					},
					{
						name: "熟料分布电耗",
						type: "bar",
						yAxisIndex: 3,
						data: [],
					},
					{
						name: "熟料标煤耗",
						type: "bar",
						yAxisIndex: 4,
						data: [],
					},
					{
						name: "熟料单位成本",
						type: "bar",
						yAxisIndex: 5,
						data: [],
					},
				],
			},
			option3: {
				color: colors,
				tooltip: tooltip,
				grid: grid,
				toolbox: toolbox,
				legend: legend,
				xAxis: {
					axisTick: {
						show: true,
						length: 5,
						inside: true,
					},
					data: [],
				},
				yAxis: yAxis,
				series: [
					{
						name: "回转窑总产量",
						type: "bar",
						yAxisIndex: 0,
						data: [],
					},
					{
						name: "台时产量",
						type: "bar",
						yAxisIndex: 1,
						data: [],
					},
					{
						name: "回转窑运转率",
						type: "line",
						yAxisIndex: 2,
						data: [],
					},
					{
						name: "熟料分布电耗",
						type: "bar",
						yAxisIndex: 3,
						data: [],
					},
					{
						name: "熟料标煤耗",
						type: "bar",
						yAxisIndex: 4,
						data: [],
					},
					{
						name: "熟料单位成本",
						type: "bar",
						yAxisIndex: 5,
						data: [],
					},
				],
			},
		};
	},
	mounted() {
		function precen(a, b) {
			if (b !== 0 && b !== null && a !== null) {
				let precen = (a / b) * 100;
				return precen.toFixed(2) + "%";
			} else {
				return "/";
			}
		}
		function consume_precen(a, b) {
			if (b !== 0 && b !== null && a !== null) {
				let precen = ((a / b)+1)* 100;
				return precen.toFixed(2) + "%";
			} else {
				return "/";
			}
		}
		let that = this;
		var myDate = new Date();
		let year = (that.year = myDate.getFullYear());
		let month = (that.month = myDate.getMonth() + 1);
		let days = (that.days = myDate.getDate());
		let hours = (that.hours = myDate.getHours());
		let timeDate = myDate.getTime();
		that.timeStamp = timeDate;
		let dayTime = 24 * 60 * 60 * 1000;
		//昨天的计算
		let year_d = year,
			month_d = month,
			days_d = days;
		
		//8点前，查找昨日数据为前一天数据
		let newDate = timeDate - dayTime;
		let lastDate = new Date(newDate);
		year_d = lastDate.getFullYear();
		month_d = lastDate.getMonth() + 1;
		days_d = lastDate.getDate();
		//上一小时的计算
		let hourTime = timeDate - 3600000;
		let hourDate = new Date(hourTime);
		let year_h = hourDate.getFullYear();
		let month_h = hourDate.getMonth() + 1;
		let days_h = hourDate.getDate();
		let hours_h = hourDate.getHours();
		that.$API.mtm.mgroup.list
			.req({ page: 0, name: "回转窑" })
			.then((res) => {
				console.log("回转窑", res);
				that.query.mgroup = res[0].id;
				//昨日
				let params3 = {};
				params3.page = 0;
				params3.year_s = year_d;
				params3.month_s = month_d;
				params3.day_s = days_d;
				params3.type = "day_s";
				params3.mgroup = that.query.mgroup;
				that.$API.enm.enstat.req(params3).then((res3) => {
					if (res3.length > 0) {
						let data3 = res3[0];
						that.tableDatas[0][3] = data3.total_production;
						that.tableDatas[1][3] = data3.production_hour;
						that.tableDatas[2][3] = data3.run_hour;
						that.tableDatas[3][3] = data3.run_rate;
						that.tableDatas[4][3] = data3.elec_consume_unit;
						that.tableDatas[5][3] = data3.celec_consume_unit;
						that.tableDatas[6][3] = data3.coal_consume_unit;
						that.tableDatas[7][3] = data3.cen_consume_unit;
						that.tableDatas[8][3] = data3.elec_consume;
						that.tableDatas[9][3] = data3.production_cost_unit;
						that.tableDatas[10][3] = data3.ammonia_consume;
						that.tableDatas[11][3] = (data3.ammonia_consume*1000/data3.total_production).toFixed(2);
					}
				});
				//本日
				let params4 = {};
				params4.page = 0;
				params4.year_s = year_h;
				params4.month_s = month_h;
				params4.day_s = days_h;
				params4.type = "day_s";
				params4.mgroup = that.query.mgroup;
				that.$API.enm.enstat.req(params4).then((res4) => {
					if (res4.length > 0) {
						let data4 = res4[0];
						that.tableDatas[0][2] = data4.total_production;
						if (data4.total_production < 1){
							that.tableDatas[4][2] = 0;
							that.tableDatas[5][2] = 0;
							that.tableDatas[6][2] = 0;
							that.tableDatas[7][2] = 0;
							that.tableDatas[8][2] = 0;
						}else{
						that.tableDatas[0][2] = data4.total_production;
						that.tableDatas[1][2] = data4.production_hour;
						that.tableDatas[2][2] = data4.run_hour;
						that.tableDatas[3][2] = data4.run_rate;
						that.tableDatas[4][2] = data4.elec_consume_unit;
						that.tableDatas[5][2] = data4.celec_consume_unit;
						that.tableDatas[6][2] = data4.coal_consume_unit;
						that.tableDatas[7][2] = data4.cen_consume_unit;
						that.tableDatas[8][2] = data4.elec_consume;
						that.tableDatas[9][2] = data4.production_cost_unit;
						that.tableDatas[10][2] = data4.ammonia_consume;
						that.tableDatas[11][2] = (data4.ammonia_consume*1000/data4.total_production).toFixed(2);}

						
					}
				});
				let params5 = {};
				params5.page = 0;
				params5.year = year;
				params5.mgroup = that.query.mgroup;
				that.$API.mtm.goal.list
					.req(params5)
					.then((res5) => {
						if (res5.length > 0) {
							let data5 = res5;
							data5.forEach((item5) => {
								let str = "goal_val_" + that.month;
								if (item5.goal_cate_name == "总产量（t）") {
									that.tableDatas[0][6] = item5[str];
									that.tableDatas[0][8] = item5.goal_val;
								} else if (
									item5.goal_cate_name == "台时产量（t/h）"
								) {
									that.tableDatas[1][6] = item5[str];
									that.tableDatas[1][8] = item5.goal_val;
								} else if (
									item5.goal_cate_name == "运转时间（h）"
								) {
									that.tableDatas[2][6] = item5[str];
									that.tableDatas[2][8] = item5.goal_val;
								} else if (
									item5.goal_cate_name == "运转率（%）"
								) {
									that.tableDatas[3][6] = item5[str];
									that.tableDatas[3][8] = item5.goal_val;
								} else if (
									item5.goal_cate_name ==
									"单位产品分布电耗（kW·h/t）"
								) {
									that.tableDatas[4][6] = item5[str];
									that.tableDatas[4][8] = item5.goal_val;
								} else if (
									item5.goal_cate_name ==
									"单位产品综合电耗（KW·h/t）"
								) {
									that.tableDatas[5][6] = item5[str];
									that.tableDatas[5][8] = item5.goal_val;
								} else if (
									item5.goal_cate_name ==
									"单位产品标煤耗（kgce/t）"
								) {
									that.tableDatas[6][6] = item5[str];
									that.tableDatas[6][8] = item5.goal_val;
								} else if (
									item5.goal_cate_name ==
									"单位产品综合能耗（kgce/t）"
								) {
									that.tableDatas[7][6] = item5[str];
									that.tableDatas[7][8] = item5.goal_val;
								} else if (
									item5.goal_cate_name ==
									"单位产品成本（元/吨）"
								) {
									that.tableDatas[9][6] = item5[str];
									that.tableDatas[9][8] = item5.goal_val;
								}else if(item5.goal_cate_name == "总电量（kW·h）"){
									that.tableDatas[8][6] = item5[str];
									that.tableDatas[8][8] = item5.goal_val;
								}else if(item5.goal_cate_name == "氨水消耗量(t)"){
								that.tableDatas[10][6] = item5[str];
								that.tableDatas[10][8] = item5.goal_val;
								}else if (item5.goal_cate_name == "熟料单位氨水消耗量(kg/t)"){
									that.tableDatas[11][6] = item5[str];
									that.tableDatas[11][8] = item5.goal_val;
								}
							});
						}
					})
					.then((res) => {
						//年
						let params1 = {};
						params1.page = 0;
						params1.year_s = year;
						params1.type = "year_s";
						params1.mgroup = this.query.mgroup;
						this.$API.enm.enstat.req(params1).then((res1) => {
							if (res1.length > 0) {
								let data1 = res1[0];
								that.tableDatas[0][5] = data1.total_production;
								that.tableDatas[0][9] = precen(
									that.tableDatas[0][5],
									that.tableDatas[0][8]
								);
								that.tableDatas[1][5] = data1.production_hour;
								that.tableDatas[1][9] = precen(
									that.tableDatas[1][5],
									that.tableDatas[1][8]
								);
								that.tableDatas[2][5] = data1.run_hour;
								that.tableDatas[2][9] = precen(
									that.tableDatas[2][5],
									that.tableDatas[2][8]
								);
								that.tableDatas[3][5] = data1.run_rate;
								that.tableDatas[3][9] = precen(
									that.tableDatas[3][5],
									that.tableDatas[3][8]
								);
								that.tableDatas[4][5] = data1.elec_consume_unit;
								that.tableDatas[4][9] = consume_precen(
									(that.tableDatas[4][8]-that.tableDatas[4][5]),
									that.tableDatas[4][8]
								);
								that.tableDatas[5][5] =
									data1.celec_consume_unit;
								that.tableDatas[5][9] = consume_precen(
									(that.tableDatas[5][8]-that.tableDatas[5][5]),
									that.tableDatas[5][8]
								);
								that.tableDatas[6][5] = data1.coal_consume_unit;
								that.tableDatas[6][9] = consume_precen(
									(that.tableDatas[6][8]-that.tableDatas[6][5]),
									that.tableDatas[6][8]
								);
								that.tableDatas[7][5] = data1.cen_consume_unit;
								that.tableDatas[7][9] = consume_precen(
									(that.tableDatas[7][8]-that.tableDatas[7][5]),
									that.tableDatas[7][8]
								);
								that.tableDatas[8][5] = data1.elec_consume;
								that.tableDatas[8][9] = consume_precen(
									(that.tableDatas[8][8]-that.tableDatas[8][5]),
									that.tableDatas[8][8]
									);
								that.tableDatas[9][5] =
									data1.production_cost_unit;
								that.tableDatas[9][9] = consume_precen(
									(that.tableDatas[9][8]-that.tableDatas[9][5]),
									that.tableDatas[9][8]
								);
								that.tableDatas[10][5] = data1.ammonia_consume;
								that.tableDatas[10][9] = consume_precen(
									that.tableDatas[10][8] - that.tableDatas[10][5],
									that.tableDatas[10][8]
							);
								that.tableDatas[11][5] = (data1.ammonia_consume*1000/data1.total_production).toFixed(2);
								that.tableDatas[11][9] = consume_precen(
									that.tableDatas[11][8] - that.tableDatas[11][5],
									that.tableDatas[11][8]
							);
							} else {
							}
						});
						//月
						let params2 = {};
						params2.page = 0;
						params2.year_s = year;
						params2.month_s = month;
						params2.type = "month_s";
						params2.mgroup = this.query.mgroup;
						this.$API.enm.enstat.req(params2).then((res2) => {
							if (res2.length > 0) {
								let data2 = res2[0];
								that.tableDatas[0][4] = data2.total_production;
								that.tableDatas[0][7] = precen(
									that.tableDatas[0][4],
									that.tableDatas[0][6]
								);
								that.tableDatas[1][4] = data2.production_hour;
								that.tableDatas[1][7] = precen(
									that.tableDatas[1][4],
									that.tableDatas[1][6]
								);
								that.tableDatas[2][4] = data2.run_hour;
								that.tableDatas[2][7] = precen(
									that.tableDatas[2][4],
									that.tableDatas[2][6]
								);
								that.tableDatas[3][4] = data2.run_rate;
								that.tableDatas[3][7] = precen(
									that.tableDatas[3][4],
									that.tableDatas[3][6]
								);
								that.tableDatas[4][4] = data2.elec_consume_unit;
								that.tableDatas[4][7] = consume_precen(
									that.tableDatas[4][6] - that.tableDatas[4][4],
									that.tableDatas[4][6]
								);
								that.tableDatas[5][4] =
									data2.celec_consume_unit;
								that.tableDatas[5][7] = consume_precen(
									that.tableDatas[5][6] - that.tableDatas[5][4],
									that.tableDatas[5][6]
								);
								that.tableDatas[6][4] = data2.coal_consume_unit;
								that.tableDatas[6][7] = consume_precen(
									that.tableDatas[6][6]-that.tableDatas[6][4],
									that.tableDatas[6][6]
								);
								that.tableDatas[7][4] = data2.cen_consume_unit;
								that.tableDatas[7][7] = consume_precen(
									that.tableDatas[7][6]-that.tableDatas[7][4],
									that.tableDatas[7][6]
								);
								that.tableDatas[8][4] = data2.elec_consume;
								that.tableDatas[8][7] = consume_precen(
									that.tableDatas[8][6]-that.tableDatas[8][4],
									that.tableDatas[8][6]
							);
								that.tableDatas[9][4] =
									data2.production_cost_unit;
								that.tableDatas[9][7] = consume_precen(
									that.tableDatas[9][4]-that.tableDatas[9][6],
									that.tableDatas[9][6]
								);
								that.tableDatas[10][4] = data2.ammonia_consume;
								that.tableDatas[10][7] = consume_precen(
									that.tableDatas[10][6] - that.tableDatas[10][4],
									that.tableDatas[10][6]
								)
								that.tableDatas[11][4] = (data2.ammonia_consume*1000/data2.total_production).toFixed(2);
								that.tableDatas[11][7] = consume_precen(
									that.tableDatas[11][6] - that.tableDatas[11][4],
									that.tableDatas[11][6]
								)
							}
						});
					});
				that.getHourData(year, month, days);
				that.getDayData(year, month);
				that.getMonthData(year);
			});
	},
	methods: {
		typeRadioChange() {
			this.searchDate = "";
		},
		dateChange(val) {
			let that = this;
			console.log(val);
			if (val !== null) {
				if (this.typeRadio == "day") {
					let year = val.split("-")[0];
					let month = val.split("-")[1];
					let days = val.split("-")[2];
					this.getHourData(year, month, days);
				} else if (this.typeRadio == "month") {
					let year = val.split("-")[0];
					let month = val.split("-")[1];
					this.getDayData(year, month);
				} else {
					this.getMonthData(val);
				}
			} else {
				if (this.typeRadio == "day") {
					that.getHourData(that.year, that.month, that.days);
				} else if (this.typeRadio == "month") {
					this.getDayData(that.year, that.month);
				} else {
					this.getMonthData(that.year);
				}
			}
		},
		//获取小时数据
		getHourData(year, month, days) {
			let that = this;
			let query = {};
			query.page = 0;
			query.year = year;
			query.month = month;
			query.day = days;
			query.type = "hour_s";
			query.mgroup = that.query.mgroup;
			this.$API.enm.enstat.req(query).then((response) => {
				let seriesData0 = [],
					seriesData1 = [],
					seriesData2 = [],
					seriesData3 = [],
					seriesData4 = [],
					seriesData5 = [];
				let data = response;
				data.forEach((item) => {
					let ind = item.hour;
					seriesData0[ind] = item.total_production;
					// seriesData1[ind] = item.production_hour;
					// seriesData2[ind] = item.run_rate;
					seriesData3[ind] = item.elec_consume_unit;
					seriesData4[ind] = item.coal_consume_unit;
					seriesData5[ind] = item.production_cost_unit;
				});
				let options = { ...that.option1 };
				options.series[0].data = seriesData0;
				// options.series[1].data = seriesData1;
				// options.series[2].data = seriesData2;
				options.series[3].data = seriesData3;
				options.series[4].data = seriesData4;
				options.series[5].data = seriesData5;
				let hourXAxis = [];
				for (let i = 0; i < 24; i++) {
					let item = i + "时";
					hourXAxis.push(item);
				}
				options.xAxis.data = hourXAxis;
				that.optionHour = options;
			});
		},
		//获取天数据
		getDayData(year, month) {
			let that = this;
			let query1 = {};
			query1.page = 0;
			query1.year_s = year;
			query1.month_s = month;
			query1.type = "day_s";
			query1.mgroup = this.query.mgroup;
			this.$API.enm.enstat.req(query1).then((response) => {
				let seriesData0 = [],
					seriesData1 = [],
					seriesData2 = [],
					seriesData3 = [],
					seriesData4 = [],
					seriesData5 = [];
				let data = response;
				data.forEach((item) => {
					let ind = item.day_s - 1;
					seriesData0[ind] = item.total_production;
					seriesData1[ind] = item.production_hour;
					seriesData2[ind] = item.run_rate;
					seriesData3[ind] = item.elec_consume_unit;
					seriesData4[ind] = item.coal_consume_unit;
					seriesData5[ind] = item.production_cost_unit;
				});
				let options = { ...that.option2 };
				options.series[0].data = seriesData0;
				options.series[1].data = seriesData1;
				options.series[2].data = seriesData2;
				options.series[3].data = seriesData3;
				options.series[4].data = seriesData4;
				options.series[5].data = seriesData5;
				let dayXAxis = [];
				for (let i = 1; i <= data.length; i++) {
					let item = i + "日";
					dayXAxis.push(item);
				}
				options.xAxis.data = dayXAxis;
				that.optionDay = options;
			});
		},
		//获取月数据
		getMonthData(year) {
			let that = this;
			let query2 = {};
			query2.page = 0;
			query2.year_s = year;
			query2.type = "month_s";
			query2.mgroup = that.query.mgroup;
			this.$API.enm.enstat.req(query2).then((response) => {
				let seriesData0 = [],
					seriesData1 = [],
					seriesData2 = [],
					seriesData3 = [],
					seriesData4 = [],
					seriesData5 = [];
				let data = response;
				data.forEach((item) => {
					let ind = item.month_s - 1;
					seriesData0[ind] = item.total_production;
					seriesData1[ind] = item.production_hour;
					seriesData2[ind] = item.run_rate;
					seriesData3[ind] = item.elec_consume_unit;
					seriesData4[ind] = item.coal_consume_unit;
					seriesData5[ind] = item.production_cost_unit;
				});
				let options = { ...that.option3 };
				options.series[0].data = seriesData0;
				options.series[1].data = seriesData1;
				options.series[2].data = seriesData2;
				options.series[3].data = seriesData3;
				options.series[4].data = seriesData4;
				options.series[5].data = seriesData5;
				let monthXAxis = [];
				for (let i = 1; i <= that.month; i++) {
					let item = i + "月";
					monthXAxis.push(item);
				}
				options.xAxis.data = monthXAxis;
				that.optionMonth = options;
			});
		},
		itemClick(type, item) {
			this.type = type;
			this.cate = item[1];
			this.asynDialog = true;
		},
		itemClick1(type, item) {
			this.chartShow = false;
			this.$API.bi.dataset.exec.req("3322567213885833216").then((res) => {
				this.myOption = JSON.parse(res.echart_options);
				debugger;
				console.log(this.myOption);
				this.chartShow = true;
			});
		},
		handlePrint() {
			this.$PRINT("#myReport");
		},
		exportExcel() {
			this.exportLoading = true;
			this.$XLSX("#myTable", this.tableName);
			this.exportLoading = false;
		},
	},
};
</script>
<style scoped>
.printContainer {
	padding-left: 20px;
}
.printWrap {
	overflow-x: auto;
}
.radioWrap {
	display: flex;
	justify-content: center;
	padding-top: 10px;
	position: relative;
}
</style>
