<template> <div class="app-container1"> <el-tabs v-model="activeName" @tab-click="handleTabClick"> <el-tab-pane label="汇总统计" name="first"> <div class="search"> <el-date-picker v-model="tab.table.getdataListParm.parammaps.inputDatetime" :clearable="false" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="width: 250px;" :picker-options="pickerOptions" /> <el-button class="el-icon-arrow-left elIconArrowLeft" :disabled="Beforedisabled" @click="handleBefore" /> <el-button class="el-icon-arrow-right elIconArrowRight" :disabled="Nextdisabled" @click="handleNext" /> <span style="margin-left: 10px;">统计类型:</span> <el-radio v-model="tab.radio" label="1" @change="changeRadio">配方名称</el-radio> <el-radio v-model="tab.radio" label="2" @change="changeRadio">栏舍名称</el-radio> <el-radio v-model="tab.radio" label="3" @change="changeRadio">牲畜类别</el-radio> <el-radio v-model="tab.radio" label="4" @change="changeRadio">车次</el-radio> <el-checkbox v-model="tab.checked" style="margin-right: 10px;" @change="changeChecked">按日期统计</el-checkbox> <el-input v-if="tab.isFormulaName" v-model="tab.table.getdataListParm.parammaps.fname" class="filter-item" style="width: 140px;" placeholder="配方名称" /> <el-input v-if="tab.isHouseName" v-model="tab.table.getdataListParm.parammaps.fname" class="filter-item" style="width: 140px;" placeholder="栏舍名称" /> <el-input v-if="tab.isLivestockType" v-model="tab.table.getdataListParm.parammaps.fname" class="filter-item" style="width: 140px;" placeholder="牲畜名称" /> <el-input v-if="tab.isTrainNumber" v-model="tab.table.getdataListParm.parammaps.projname" class="filter-item" style="width: 100px;" placeholder="车次" /> <el-input v-if="tab.isTrainNumber" v-model="tab.table.getdataListParm.parammaps.times" class="filter-item" style="width: 100px;" placeholder="班次" /> <el-input v-if="tab.isTrainNumber" v-model="tab.table.getdataListParm.parammaps.fname" class="filter-item" style="width: 100px;" placeholder="TMR名称" /> <el-button class="successBorder" @click="handleSearch">查询</el-button> <el-button class="export" icon="el-icon-upload2" @click="handleDownload">导出</el-button> <svg-icon icon-class="Up" class="down" style="width: 40px;height: 40px;float: right;" @click="handleQuickJumpChart" /> </div> <div id="table" class="table"> <h4>混料</h4> <el-table :key="tab.table.tableKey" v-loading="tab.table.listLoading" element-loading-text="给我一点时间" :data="tab.table.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" > <el-table-column v-if="tab.checked" label="日期" min-width="90px" align="center" prop="计划时间" /> <el-table-column v-if="tab.isFormulaName" label="配方名称" min-width="100px" align="center" prop="配方名称" /> <el-table-column v-if="tab.isHouseName" label="栏舍名称" min-width="100px" align="center" prop="栏舍名称" /> <el-table-column v-if="tab.isLivestockType" label="牲畜类别" min-width="100px" align="center" prop="牲畜类别" /> <el-table-column v-if="tab.isTrainNumber" label="车次" min-width="100px" align="center" prop="车次" /> <el-table-column v-if="tab.isTrainNumber" label="班次" min-width="100px" align="center" prop="班次" /> <el-table-column v-if="tab.isTrainNumber" label="TMR名称" min-width="100px" align="center" prop="TMR名称" /> <el-table-column v-if="tab.isTrainNumber" label="驾驶员" min-width="100px" align="center" prop="驾驶员" /> <el-table-column label="理论重量" min-width="90px" align="center" prop="理论重量" /> <el-table-column label="实际重量" min-width="90px" align="center" prop="实际重量" /> <el-table-column label="计划混料操作数" min-width="90px" align="center" prop="计划混料操作数" /> <el-table-column label="已混料操作数" min-width="90px" align="center" prop="已混料操作数" /> <el-table-column label="混料操作率" min-width="100px" align="center" prop="混料操作率" /> <el-table-column label="混料误差值" min-width="100px" align="center" prop="混料误差值" /> <el-table-column label="混料准确率" min-width="100px" align="center" prop="混料准确率" /> <el-table-column label="混料自动跳转次数" min-width="90px" align="center" prop="混料自动跳转次数" /> <el-table-column label="混料手动跳转次数" min-width="90px" align="center" prop="混料手动跳转次数" /> <el-table-column label="取消次数" min-width="90px" align="center" prop="取消次数" /> <el-table-column label="标准差" min-width="90px" align="center" prop="方差" /> </el-table> <span v-if="tab.table.listLoading == false" style="margin-right: 30px;margin-top: 10px;font-size: 14px;">共{{ tab.table.total }}条</span> <!-- <pagination v-show="tab.table.total>=0" :total="tab.table.total" :page.sync="tab.table.getdataListParm.offset" :limit.sync="tab.table.getdataListParm.pagecount" @pagination="getTabList" /> --> <h4>撒料</h4> <el-table :key="tab.table2.tableKey" v-loading="tab.table2.listLoading" element-loading-text="给我一点时间" :data="tab.table2.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" > <el-table-column v-if="tab.checked" label="日期" min-width="90px" align="center" prop="计划时间" /> <el-table-column v-if="tab.isFormulaName" label="配方名称" min-width="100px" align="center" prop="配方名称" /> <el-table-column v-if="tab.isHouseName" label="栏舍名称" min-width="100px" align="center" prop="栏舍名称" /> <el-table-column v-if="tab.isLivestockType" label="牲畜类别" min-width="100px" align="center" prop="牲畜类别" /> <el-table-column v-if="tab.isTrainNumber" label="车次" min-width="100px" align="center" prop="车次" /> <el-table-column v-if="tab.isTrainNumber" label="班次" min-width="100px" align="center" prop="班次" /> <el-table-column v-if="tab.isTrainNumber" label="TMR名称" min-width="100px" align="center" prop="TMR名称" /> <el-table-column v-if="tab.isTrainNumber" label="驾驶员" min-width="100px" align="center" prop="驾驶员" /> <el-table-column label="理论重量" min-width="90px" align="center" prop="理论重量" /> <el-table-column label="实际重量" min-width="90px" align="center" prop="实际重量" /> <el-table-column label="计划撒料操作数" min-width="90px" align="center" prop="计划撒料操作数" /> <el-table-column label="已撒料操作数" min-width="90px" align="center" prop="已撒料操作数" /> <el-table-column label="撒料操作率" min-width="100px" align="center" prop="撒料操作率" /> <el-table-column label="撒料误差值" min-width="100px" align="center" prop="撒料误差值" /> <el-table-column label="撒料准确率" min-width="100px" align="center" prop="撒料准确率" /> <el-table-column label="撒料自动跳转次数" width="90px" align="center" prop="撒料自动跳转次数" /> <el-table-column label="撒料手动跳转次数" width="90px" align="center" prop="撒料手动跳转次数" /> <el-table-column label="取消次数" min-width="90px" align="center" prop="取消次数" /> <el-table-column label="标准差" min-width="90px" align="center" prop="方差" /> </el-table> <span v-if="tab.table2.listLoading == false" style="margin-right: 30px;margin-top: 10px;font-size: 14px;">共{{ tab.table2.total }}条</span> <!-- <pagination v-show="tab.table2.total>=0" :total="tab.table2.total" :page.sync="tab.table2.getdataListParm.offset" :limit.sync="tab.table2.getdataListParm.pagecount" @pagination="getTabList2" /> --> </div> <div id="AnalysisChart" class="AnalysisChart"> <el-row :gutter="10"> <el-col :span="24" style="margin-bottom: 10px;margin-top: 10px;"> <span>图表查询时间:</span> <el-date-picker v-model="tab.chartDate" :clearable="false" style="margin-left: 10px;width: 250px;margin-right: 10px;" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" /> <el-button class="successBorder" @click="handleChartDate">确认</el-button> <svg-icon icon-class="Up" style="width: 40px;height: 40px;float: right;" @click="handleQuickJumpTop" /> </el-col> </el-row> <el-row :gutter="10" class="dashboard-editor-container"> <!-- 计划统计 --> <el-col :span="12"> <div class="grid-content"> <h4>计划统计</h4> <div v-if="tab.chart2.isChart" class="button"> <el-date-picker v-model="tab.chart2.getdataListParm.parammaps.inputDatetime" :clearable="false" style="width: 250px;" class="inputDatetime" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" @change="changeChartDate('chart2')" /> <div class="exportTable" @click="handleExport('chart2')">导出</div> <div class="exportTable" @click="handleTable('chart2')">切换表格</div> </div> <div v-if="tab.chart2.isChart" id="chartLine2" style="width:100%;height:400px;background: #fff;" /> <div v-if="tab.chart2.isTable" class="table"> <div class="button"> <div class="exportTable" @click="handleExport('chart2')">导出</div> <div class="exportTable" @click="handleChart('chart2')">切换图表</div> </div> <el-table :key="tab.chart2.table.tableKey" v-loading="tab.chart2.table.listLoading" element-loading-text="给我一点时间" :data="tab.chart2.table.list" border fit highlight-current-row style="width: 100%;" height="400" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" > <el-table-column label="日期" sortable min-width="85px" align="center" prop="日期" /> <el-table-column label="计划执行重量(kg)" sortable min-width="110px" align="center" prop="实际量" /> <el-table-column label="配方理论重量(kg)" sortable min-width="110px" align="center" prop="理论量" /> <el-table-column label="计划准确率" sortable min-width="80px" align="center" prop="field1" /> <el-table-column label="计划取消重量(kg)" sortable min-width="110px" align="center" prop="计划取消重量" /> <el-table-column label="计划准确率(去除取消重量)" sortable min-width="120px" align="center" prop="field3" /> <el-table-column label="计划正确数" sortable min-width="80px" align="center" prop="正确数" /> <el-table-column label="计划数" sortable min-width="60px" align="center" prop="计划数" /> <el-table-column label="计划正确率" sortable min-width="70px" align="center" prop="field2" /> </el-table> </div> </div> </el-col> <!-- 配方准确率 --> <el-col :span="12"> <div class="grid-content"> <h4>配方准确率</h4> <div v-if="tab.chart1.isChart" class="button"> <my-select ref="tenantselect" :model="tab.chart1.getdataListParm.parammaps.statisticsList" :option="tab.chart1.statisticsList" :value="'name'" :label="'name'" style="width: 150px;margin-right: 5px;float: left;" placeholder="请选择统计参数" @searchSelect="changeStatisticChart1" /> <el-date-picker v-model="tab.chart1.getdataListParm.parammaps.inputDatetime" style="width: 245px;" class="inputDatetime filter-item" :clearable="false" type="daterange" range-separator="至" start-placeholder="开始日期" :picker-options="pickerOptions" end-placeholder="结束日期" @change="changeChartDate('chart1')" /> <div class="exportTable" @click="handleExport('chart1')">导出</div> <div class="exportTable" @click="handleTable('chart1')">切换表格</div> </div> <div v-if="tab.chart1.isChart" id="chartLine1" style="width:100%;height:400px;" /> <div v-if="tab.chart1.isTable" class="table"> <div class="button"> <div class="exportTable" @click="handleExport('chart1')">导出</div> <div class="exportTable" @click="handleChart('chart1')">切换图表</div> </div> <el-table :key="tab.chart1.table.tableKey" v-loading="tab.chart1.table.listLoading" element-loading-text="给我一点时间" :data="tab.chart1.table.list" border fit highlight-current-row style="width: 100%;" height="400" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" > <el-table-column label="日期" sortable min-width="90px" align="center" prop="日期" /> <el-table-column label="配方名称" sortable min-width="90px" align="center" prop="名称" /> <el-table-column label="计划重量(kg)" sortable min-width="100px" align="center" prop="理论量" /> <el-table-column label="实际重量(kg)" sortable min-width="100px" align="center" prop="实际量" /> <el-table-column label="准确率" sortable min-width="90px" align="center" prop="准确率" /> </el-table> </div> </div> </el-col> </el-row> <el-row :gutter="10" class="dashboard-editor-container"> <!-- 牛群准确率 --> <el-col :span="12"> <div class="grid-content"> <h4>牛群准确率</h4> <div v-if="tab.chart3.isChart" class="button"> <my-select ref="tenantselect" :model="tab.chart3.getdataListParm.parammaps.statisticsList" :option="tab.chart3.statisticsList" :value="'name'" :label="'name'" style="width: 150px;margin-right: 5px;float: left;" placeholder="请选择统计参数" @searchSelect="changeStatisticChart3" /> <el-date-picker v-model="tab.chart3.getdataListParm.parammaps.inputDatetime" style="width: 245px;" :clearable="false" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" :picker-options="pickerOptions" end-placeholder="结束日期" @change="changeChartDate('chart3')" /> <div class="exportTable" @click="handleExport('chart3')">导出</div> <div class="exportTable" @click="handleTable('chart3')">切换表格</div> </div> <div v-if="tab.chart3.isChart" id="chartLine3" style="width:100%;height:400px;" /> <div v-if="tab.chart3.isTable" class="table"> <div class="button"> <div class="exportTable" @click="handleExport('chart3')">导出</div> <div class="exportTable" @click="handleChart('chart3')">切换图表</div> </div> <el-table :key="tab.chart3.table.tableKey" v-loading="tab.chart3.table.listLoading" element-loading-text="给我一点时间" :data="tab.chart3.table.list" border fit highlight-current-row style="width: 100%;" height="400" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" > <el-table-column label="日期" sortable min-width="90px" align="center" prop="日期" /> <el-table-column label="牲畜类别" sortable min-width="90px" align="center" prop="名称" /> <el-table-column label="计划重量(kg)" sortable min-width="100px" align="center" prop="理论量" /> <el-table-column label="实际重量(kg)" sortable min-width="100px" align="center" prop="实际量" /> <el-table-column label="准确率" sortable min-width="90px" align="center" prop="准确率" /> </el-table> </div> </div> </el-col> <!-- 车辆准确率(重量) --> <el-col :span="12"> <div class="grid-content"> <h4>车辆准确率(重量)</h4> <div v-if="tab.chart4.isChart" class="button"> <my-select ref="tenantselect" :model="tab.chart4.getdataListParm.parammaps.statisticsList" :option="tab.chart4.statisticsList" :value="'name'" :label="'name'" style="width: 150px;margin-right: 5px;float: left;" placeholder="请选择统计参数" @searchSelect="changeStatisticChart4" /> <el-date-picker v-model="tab.chart4.getdataListParm.parammaps.inputDatetime" :clearable="false" style="width: 245px;" class="inputDatetime" type="daterange" range-separator="至" start-placeholder="开始日期" :picker-options="pickerOptions" end-placeholder="结束日期" @change="changeChartDate('chart4')" /> <div class="exportTable" @click="handleExport('chart4')">导出</div> <div class="exportTable" @click="handleTable('chart4')">切换表格</div> </div> <div v-if="tab.chart4.isChart" id="chartLine4" style="width:100%;height:400px;" /> <div v-if="tab.chart4.isTable" class="table"> <div class="button"> <div class="exportTable" @click="handleExport('chart4')">导出</div> <div class="exportTable" @click="handleChart('chart4')">切换图表</div> </div> <el-table :key="tab.chart4.table.tableKey" v-loading="tab.chart4.table.listLoading" element-loading-text="给我一点时间" :data="tab.chart4.table.list" border fit highlight-current-row style="width: 100%;" height="400" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" > <el-table-column label="日期" sortable min-width="90px" align="center" prop="日期" /> <el-table-column label="车次" sortable min-width="90px" align="center" prop="名称" /> <el-table-column label="计划重量(kg)" sortable min-width="100px" align="center" prop="理论量" /> <el-table-column label="实际重量(kg)" sortable min-width="100px" align="center" prop="实际量" /> <el-table-column label="准确率" sortable min-width="90px" align="center" prop="准确率" /> </el-table> </div> </div> </el-col> </el-row> <el-row :gutter="10" class="dashboard-editor-container"> <!-- 混料统计 --> <el-col :span="12"> <div class="grid-content"> <h4>混料统计</h4> <div v-if="tab.chart5.isChart" class="button"> <el-date-picker v-model="tab.chart5.getdataListParm.parammaps.inputDatetime" :clearable="false" style="width: 250px;" class="inputDatetime" type="daterange" range-separator="至" start-placeholder="开始日期" :picker-options="pickerOptions" end-placeholder="结束日期" @change="changeChartDate('chart5')" /> <div class="exportTable" @click="handleExport('chart5')">导出</div> <div class="exportTable" @click="handleTable('chart5')">切换表格</div> </div> <div v-if="tab.chart5.isChart" id="chartLine5" class="button" style="width:100%;height:400px;" /> <div v-if="tab.chart5.isTable" class="table"> <div class="button"> <div class="exportTable" @click="handleExport('chart5')">导出</div> <div class="exportTable" @click="handleChart('chart5')">切换图表</div> </div> <el-table :key="tab.chart5.table.tableKey" v-loading="tab.chart5.table.listLoading" element-loading-text="给我一点时间" :data="tab.chart5.table.list" border fit highlight-current-row style="width: 100%;" height="400" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" > <el-table-column label="日期" sortable min-width="100px" align="center" prop="日期" /> <el-table-column label="自动跳转次数" sortable min-width="130px" align="center" prop="field1" /> <el-table-column label="手动跳转次数" sortable min-width="130px" align="center" prop="field2" /> <el-table-column label="自动跳转理论重量" sortable min-width="110px" align="center" prop="理论自动" /> <el-table-column label="自动跳转实际重量" sortable min-width="110px" align="center" prop="实际自动" /> <el-table-column label="自动跳转准确率" sortable min-width="110px" align="center" prop="field3" /> <el-table-column label="手动跳转理论重量" sortable min-width="110px" align="center" prop="理论手动" /> <el-table-column label="手动跳转实际重量" sortable min-width="110px" align="center" prop="实际手动" /> <el-table-column label="手动跳转准确率" sortable min-width="110px" align="center" prop="field4" /> </el-table> </div> </div> </el-col> <!-- 混料计划取消次数 --> <el-col :span="12"> <div class="grid-content"> <h4>混料计划取消次数</h4> <div v-if="tab.chart6.isChart" class="button"> <el-date-picker v-model="tab.chart6.getdataListParm.parammaps.inputDatetime" :clearable="false" style="width: 250px;" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" :picker-options="pickerOptions" end-placeholder="结束日期" @change="changeChartDate('chart6')" /> <div class="exportTable" @click="handleExport('chart6')">导出</div> <div class="exportTable" @click="handleTable('chart6')">切换表格</div> </div> <div v-if="tab.chart6.isChart" id="chartLine6" style="width:100%;height:400px;" /> <div v-if="tab.chart6.isTable" class="table"> <div class="button"> <div class="exportTable" @click="handleExport('chart6')">导出</div> <div class="exportTable" @click="handleChart('chart6')">切换图表</div> </div> <el-table :key="tab.chart6.table.tableKey" v-loading="tab.chart6.table.listLoading" element-loading-text="给我一点时间" :data="tab.chart6.table.list" border fit highlight-current-row style="width: 100%;" height="400" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" > <el-table-column label="日期" sortable min-width="110px" align="center" prop="日期" /> <el-table-column label="混料计划取消次数" sortable min-width="110px" align="center" prop="field1" /> </el-table> </div> </div> </el-col> </el-row> <el-row :gutter="10" class="dashboard-editor-container" style="margin-bottom: 30px;"> <!-- 栏舍撒料时间统计 --> <el-col :span="24"> <div class="grid-content"> <h4>栏舍撒料时间统计</h4> <div v-if="tab.chart7.isChart" class="button"> <my-select ref="tenantselect" :model="tab.chart7.getdataListParm.parammaps.statisticsLis" :option="tab.chart7.statisticsList" :value="'name'" :label="'name'" style="width: 150px;margin-right: 5px;float: left;" placeholder="请选择统计参数" @searchSelect="changeStatisticChart7" /> <el-date-picker v-model="tab.chart7.getdataListParm.parammaps.inputDatetime" :clearable="false" style="width: 250px;" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" :picker-options="pickerOptions" end-placeholder="结束日期" @change="changeChartDate('chart7')" /> <div class="exportTable" @click="handleExport('chart7')">导出</div> <div class="exportTable" @click="handleTable('chart7')">切换表格</div> </div> <div v-if="tab.chart7.isChart" id="chartLine7" style="width:100%;height:400px;" /> <div v-if="tab.chart7.isTable" class="table"> <div class="button"> <div class="exportTable" @click="handleExport('chart7')">导出</div> <div class="exportTable" @click="handleChart('chart7')">切换图表</div> </div> <el-table :key="tab.chart7.table.tableKey" v-loading="tab.chart7.table.listLoading" element-loading-text="给我一点时间" :data="tab.chart7.table.list" border fit highlight-current-row style="width: 100%;" height="400" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" > <el-table-column label="日期" sortable min-width="110px" align="center" prop="日期" /> <el-table-column label="栏舍" sortable min-width="110px" align="center" prop="fname" /> <el-table-column label="撒料时间" sortable min-width="110px" align="center" prop="撒料时间" /> </el-table> </div> </div> </el-col> </el-row> </div> </el-tab-pane> <el-tab-pane label="混料统计" name="second"> <div class="search"> <el-date-picker v-model="tab2.table.getdataListParm.parammaps.inputDatetime" :clearable="false" style="float: left;margin-right: 10px;margin-bottom:10px;width: 250px;" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" /> <el-button class="el-icon-arrow-left elIconArrowLeft" style="float: left;" :disabled="Beforedisabled2" @click="handleBefore2" /> <el-button class="el-icon-arrow-right elIconArrowRight" style="float: left;" :disabled="Nextdisabled2" @click="handleNext2" /> <el-input v-model="tab2.table.getdataListParm.parammaps.tmrtname" style="float: left;margin-right: 10px;margin-bottom:10px;width: 130px;" placeholder="TMR名称" class="filter-item" clearable /> <el-input v-model="tab2.table.getdataListParm.parammaps.projname" style="float: left;margin-right: 10px;margin-bottom:10px;width: 130px;" placeholder="车次" class="filter-item" clearable /> <el-select v-model="tab2.table.getdataListParm.parammaps.times" style="float: left;margin-right: 10px;margin-bottom:10px;width: 110px;" filterable placeholder="班次" class="filter-item" clearable> <el-option v-for="item in tab2.frequencyList" :key="item.id" :label="item.name" :value="item.id" /> </el-select> <el-input v-model="tab2.table.getdataListParm.parammaps.templetname" style="float: left;margin-right: 10px;margin-bottom:10px;width: 130px;" placeholder="配方名称" class="filter-item" clearable /> <el-select v-model="tab2.table.getdataListParm.parammaps.buttontype" style="float: left;margin-right: 10px;margin-bottom:10px;width: 130px;" filterable placeholder="跳转方式" class="filter-item" clearable> <el-option v-for="item in tab2.jumpModeList" :key="item.id" :label="item.name" :value="item.id" /> </el-select> <el-button class="successBorder" style="float: left;margin-right: 10px;margin-bottom:10px;" @click="handleSearch2">查询</el-button> <el-button class="successBorder" style="float: left;margin-right: 10px;margin-bottom:10px;" @click="handleRefresh2">重置</el-button> <el-button style="float: left;margin-right: 10px;margin-bottom:10px;" class="export" icon="el-icon-upload2" @click="handleExport2">导出</el-button> </div> <div class="table"> <el-table :key="tab2.table.tableKey" v-loading="tab2.table.listLoading" element-loading-text="给我一点时间" :data="tab2.table.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" > <el-table-column label="日期" min-width="85px" align="center" prop="日期" /> <el-table-column label="TMR名称" min-width="90px" align="center" prop="TMR名称" /> <el-table-column label="车次" min-width="70px" align="center" prop="车次" /> <el-table-column label="班次" min-width="70px" align="center" prop="班次" /> <el-table-column label="配方名称" min-width="90px" align="center" prop="配方名称" /> <el-table-column label="饲料" min-width="70px" align="center" prop="饲料" /> <el-table-column label="理论重量" min-width="70px" align="center" prop="理论重量" /> <el-table-column label="实际重量" min-width="70px" align="center" prop="实际重量" /> <el-table-column label="误差值" min-width="70px" align="center" prop="误差值" /> <el-table-column label="准确率" min-width="70px" align="center" prop="准确率" /> <el-table-column label="计划时间" min-width="55px" align="center" prop="计划时间" /> <el-table-column label="开始时间" min-width="80px" align="center" prop="开始时间" /> <el-table-column label="结束时间" min-width="80px" align="center" prop="结束时间" /> <el-table-column label="跳转方式" min-width="70px" align="center" prop="跳转方式" /> <el-table-column label="开始重量" min-width="70px" align="center" prop="开始重量" /> <el-table-column label="结束重量" min-width="70px" align="center" prop="结束重量" /> </el-table> <span v-if="tab2.table.listLoading == false" style="margin-right: 30px;margin-top: 10px;font-size: 14px;">共{{ tab2.table.total }}条</span> <!-- <pagination v-show="tab2.table.total>=0" :total="tab2.table.total" :page.sync="tab2.table.getdataListParm.offset" :limit.sync="tab2.table.getdataListParm.pagecount" @pagination="getTab2List" /> --> </div> </el-tab-pane> <el-tab-pane label="撒料统计" name="third"> <div class="search"> <el-date-picker v-model="tab3.table.getdataListParm.parammaps.inputDatetime" :clearable="false" style="float: left;margin-right: 10px;margin-bottom:10px;width: 250px;" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" /> <el-button class="el-icon-arrow-left elIconArrowLeft" style="float: left;" :disabled="Beforedisabled3" @click="handleBefore3" /> <el-button class="el-icon-arrow-right elIconArrowRight" style="float: left;" :disabled="Nextdisabled3" @click="handleNext3" /> <el-input v-model="tab3.table.getdataListParm.parammaps.tmrtname" style="float: left;margin-right: 10px;margin-bottom:10px;width: 110px;" placeholder="TMR名称" class="filter-item" clearable /> <el-input v-model="tab3.table.getdataListParm.parammaps.projname" style="float: left;margin-right: 10px;margin-bottom:10px;width: 110px;" placeholder="车次" class="filter-item" clearable /> <el-select v-model="tab3.table.getdataListParm.parammaps.times" style="float: left;margin-right: 10px;margin-bottom:10px;width: 100px;" filterable placeholder="班次" class="filter-item" clearable> <el-option v-for="item in tab3.frequencyList" :key="item.id" :label="item.name" :value="item.id" /> </el-select> <el-input v-model="tab3.table.getdataListParm.parammaps.templetname" style="float: left;margin-right: 10px;margin-bottom:10px;width: 110px;" placeholder="配方名称" class="filter-item" clearable /> <el-input v-model="tab3.table.getdataListParm.parammaps.fname" style="float: left;margin-right: 10px;margin-bottom:10px;width: 110px;" placeholder="栏舍名称" class="filter-item" clearable /> <el-select v-model="tab3.table.getdataListParm.parammaps.buttontype" style="float: left;margin-right: 10px;margin-bottom:10px;width: 110px;" filterable placeholder="跳转方式" class="filter-item" clearable> <el-option v-for="item in tab3.jumpModeList" :key="item.id" :label="item.name" :value="item.id" /> </el-select> <el-button class="successBorder" style="float: left;margin-right: 10px;margin-bottom:10px;" @click="handleSearch3">查询</el-button> <el-button class="successBorder" style="float: left;margin-right: 10px;margin-bottom:10px;" @click="handleRefresh3">重置</el-button> <el-button style="float: left;margin-right: 10px;margin-bottom:10px;" class="export" icon="el-icon-upload2" @click="handleExport3">导出</el-button> </div> <div class="table"> <el-table :key="tab3.table.tableKey" v-loading="tab3.table.listLoading" element-loading-text="给我一点时间" :data="tab3.table.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" > <el-table-column label="日期" min-width="80px" align="center" prop="日期" /> <el-table-column label="TMR名称" min-width="90px" align="center" prop="TMR名称" /> <el-table-column label="车次" min-width="70px" align="center" prop="车次" /> <el-table-column label="班次" min-width="70px" align="center" prop="班次" /> <el-table-column label="配方名称" min-width="110px" align="center" prop="配方名称" /> <el-table-column label="栏舍" min-width="110px" align="center" prop="栏舍" /> <el-table-column label="理论重量" min-width="80px" align="center" prop="理论重量" /> <el-table-column label="实际重量" min-width="80px" align="center" prop="实际重量" /> <el-table-column label="误差值" min-width="70px" align="center" prop="误差值" /> <el-table-column label="准确率" min-width="70px" align="center" prop="准确率" /> <el-table-column label="开始时间" min-width="80px" align="center" prop="开始时间" /> <el-table-column label="结束时间" min-width="80px" align="center" prop="结束时间" /> <el-table-column label="跳转方式" min-width="70px" align="center" prop="跳转方式" /> <el-table-column label="开始重量" min-width="70px" align="center" prop="开始重量" /> <el-table-column label="结束重量" min-width="70px" align="center" prop="结束重量" /> </el-table> <span v-if="tab3.table.listLoading == false" style="margin-right: 30px;margin-top: 10px;font-size: 14px;">共{{ tab3.table.total }}条</span> <!-- <pagination v-show="tab3.table.total>=0" :total="tab3.table.total" :page.sync="tab3.table.getdataListParm.offset" :limit.sync="tab3.table.getdataListParm.pagecount" @pagination="getTab3List" /> --> </div> </el-tab-pane> </el-tabs> </div> </template> <script> import echarts from 'echarts' require('echarts/theme/macarons') import { GetDataByName, GetReportform } from '@/api/common' import Cookies from 'js-cookie' import { parseTime } from '@/utils/index.js' import Pagination from '@/components/Pagination' import { json2excel } from '@/utils/index.js' import { MessageBox } from 'element-ui' import mySelect from '@/components/mySelect' export default { name: 'PastureErrorAnalysis', components: { Pagination, mySelect }, data() { return { Beforedisabled: false, Nextdisabled: false, Beforedisabled2: false, Nextdisabled2: false, Beforedisabled3: false, Nextdisabled3: false, pickerOptions: { onPick: ({ maxDate, minDate }) => { this.pickerMinDate = minDate.getTime() if (maxDate) { this.pickerMinDate = '' } }, // 限制不能选择今天之后的日期 disabledDate: (time) => { if (this.pickerMinDate !== '') { const one = 31 * 24 * 3600 * 1000 const minTime = this.pickerMinDate - one let maxTime = this.pickerMinDate + one if (maxTime > new Date()) { maxTime = new Date() } return time.getTime() < minTime || time.getTime() > maxTime } return time.getTime() > Date.now() } }, // 班次 maxTime: { getMaxTimesParm: { name: 'getSysoptEnable', page: 1, offset: 1, pagecount: 1, returntype: 'Map', parammaps: { pastureid: Cookies.get('pastureid'), inforname: 'times' } } }, activeName: 'first', tab: { radio: '1', isFormulaName: true, // 配方名称 isHouseName: false, // 栏舍名称 isLivestockType: false, // 牲畜类别 isTrainNumber: false, // 车次 checked: false, // 按日期统计 table: { getdataListParm: { name: 'getAccuracyHFT', page: 1, offset: 1, pagecount: '', returntype: 'Map', parammaps: { pastureid: Cookies.get('pastureid'), startTime: parseTime(new Date(), '{y}-{m}-{d}'), stopTime: parseTime(new Date(), '{y}-{m}-{d}'), inputDatetime: [new Date(), new Date()], fname: '', sort: '', times: '' } }, tableKey: 1, list: [], total: 0, listLoading: true, temp: {} }, table2: { getdataListParm: { name: 'getAccuracySFT', page: 1, offset: 1, pagecount: '', returntype: 'Map', parammaps: { pastureid: Cookies.get('pastureid'), startTime: parseTime(new Date(), '{y}-{m}-{d}'), stopTime: parseTime(new Date(), '{y}-{m}-{d}'), inputDatetime: [new Date(), new Date()], fname: '', sort: '', times: '' } }, tableKey: 2, list: [], total: 0, listLoading: true, temp: {} }, chartDate: [], // 配方准确率 chart1: { chartLine: null, chartLine_data: {}, getdataListParm: { name: 'getAccuracyAllFT', page: 1, offset: 1, pagecount: '', returntype: 'Map', parammaps: { pastureid: Cookies.get('pastureid'), startTime: parseTime(new Date(), '{y}-{m}-{d}'), stopTime: parseTime(new Date(), '{y}-{m}-{d}'), inputDatetime: [new Date(), new Date()] } }, tableKey: 1, list: [], total: 0, listLoading: true, statisticsList: [], chart1Data3: [], isChart: true, isTable: false, table: { tableKey: 1, list: [], total: 0, listLoading: false } }, // 计划统计 chart2: { chartLine: null, chartLine_data: {}, getdataListParm: { name: 'getAccuracyAllJH', page: 1, offset: 1, pagecount: '', returntype: 'Map', parammaps: { pastureid: Cookies.get('pastureid'), startTime: parseTime(new Date(), '{y}-{m}-{d}'), stopTime: parseTime(new Date(), '{y}-{m}-{d}'), inputDatetime: [new Date(), new Date()] } }, tableKey: 1, list: [], total: 0, listLoading: true, isChart: true, isTable: false, table: { tableKey: 1, list: [], total: 0, listLoading: false } }, // 牛群准确率 chart3: { chartLine: null, chartLine_data: {}, getdataListParm: { name: 'getAccuracyAllNQ', page: 1, offset: 1, pagecount: '', returntype: 'Map', parammaps: { pastureid: Cookies.get('pastureid'), startTime: parseTime(new Date(), '{y}-{m}-{d}'), stopTime: parseTime(new Date(), '{y}-{m}-{d}'), inputDatetime: [new Date(), new Date()] } }, tableKey: 1, list: [], total: 0, listLoading: true, statisticsList: [], chart1Data3: [], isChart: true, isTable: false, table: { tableKey: 1, list: [], total: 0, listLoading: false } }, // 车辆准确率(重量) chart4: { chartLine: null, chartLine_data: {}, getdataListParm: { name: 'getAccuracyAllCC', page: 1, offset: 1, pagecount: '', returntype: 'Map', parammaps: { pastureid: Cookies.get('pastureid'), startTime: parseTime(new Date(), '{y}-{m}-{d}'), stopTime: parseTime(new Date(), '{y}-{m}-{d}'), inputDatetime: [new Date(), new Date()] } }, tableKey: 1, list: [], total: 0, listLoading: true, statisticsList: [], chart4Data3: [], isChart: true, isTable: false, table: { tableKey: 1, list: [], total: 0, listLoading: false } }, // 混料统计 chart5: { chartLine: null, chartLine_data: {}, getdataListParm: { name: 'getAccuracyAllHL', page: 1, offset: 1, pagecount: '', returntype: 'Map', parammaps: { pastureid: Cookies.get('pastureid'), startTime: parseTime(new Date(), '{y}-{m}-{d}'), stopTime: parseTime(new Date(), '{y}-{m}-{d}'), inputDatetime: [new Date(), new Date()] } }, tableKey: 1, list: [], total: 0, listLoading: true, isChart: true, isTable: false, table: { tableKey: 1, list: [], total: 0, listLoading: false } }, // 混料计划取消次数 chart6: { chartLine: null, chartLine_data: {}, getdataListParm: { name: 'getAccuracyAllQX', page: 1, offset: 1, pagecount: '', returntype: 'Map', parammaps: { pastureid: Cookies.get('pastureid'), startTime: parseTime(new Date(), '{y}-{m}-{d}'), stopTime: parseTime(new Date(), '{y}-{m}-{d}'), inputDatetime: [new Date(), new Date()] } }, tableKey: 1, list: [], total: 0, listLoading: true, isChart: true, isTable: false, table: { tableKey: 1, list: [], total: 0, listLoading: false } }, // 栏舍撒料时间统计 chart7: { chartLine: null, chartLine_data: {}, getdataListParm: { name: 'getAccuracyAllLS', page: 1, offset: 1, pagecount: '', returntype: 'Map', parammaps: { pastureid: Cookies.get('pastureid'), startTime: parseTime(new Date(), '{y}-{m}-{d}'), stopTime: parseTime(new Date(), '{y}-{m}-{d}'), inputDatetime: [new Date(), new Date()] } }, tableKey: 1, list: [], total: 0, listLoading: true, statisticsList: [], chart7Data3: [], isChart: true, isTable: false, table: { tableKey: 1, list: [], total: 0, listLoading: false } } }, tab2: { table: { getdataListParm: { name: 'getStatisticsHL', page: 1, offset: 1, pagecount: '', returntype: 'Map', parammaps: { pastureid: Cookies.get('pastureid'), startTime: parseTime(new Date(), '{y}-{m}-{d}'), stopTime: parseTime(new Date(), '{y}-{m}-{d}'), inputDatetime: [new Date(), new Date()], tmrtname: '', projname: '', times: '', buttontype: '', templetname: '' } }, tableKey: 1, list: [], total: 0, listLoading: true, temp: {} }, frequencyList: [], jumpModeList: [{ id: '0', name: '手动跳转' }, { id: '1', name: '自动跳转' }] }, tab3: { table: { getdataListParm: { name: 'getStatisticsSL', page: 1, offset: 1, pagecount: '', returntype: 'Map', parammaps: { pastureid: Cookies.get('pastureid'), startTime: parseTime(new Date(), '{y}-{m}-{d}'), stopTime: parseTime(new Date(), '{y}-{m}-{d}'), inputDatetime: [new Date(), new Date()], tmrtname: '', projname: '', times: '', templetname: '', fname: '', buttontype: '' } }, tableKey: 1, list: [], total: 0, listLoading: true, temp: {} }, frequencyList: [], jumpModeList: [{ id: '0', name: '手动跳转' }, { id: '1', name: '自动跳转' }] }, rowStyle: { maxHeight: 30 + 'px', height: 30 + 'px' }, cellStyle: { padding: 0 + 'px' } } }, created() { this.getTimeFn() this.getIsDisplay() this.getTabList() this.getTabList2() this.getChart1() this.getChart2() this.getChart3() this.getChart4() this.getChart5() this.getChart6() this.getChart7() }, mounted() {}, methods: { getTimeFn() { const that = this const start = new Date() const end = new Date() const start2 = new Date() const end2 = new Date() start2.setTime(start2.getTime() - 3600 * 1000 * 24 * 1) end2.setTime(end2.getTime() - 3600 * 1000 * 24 * 1) // that.tab.table.getdataListParm.parammaps.inputDatetime[0] = parseTime(start2, '{y}-{m}-{d}') // that.tab.table.getdataListParm.parammaps.inputDatetime[1] = parseTime(end2, '{y}-{m}-{d}') that.tab.table.getdataListParm.parammaps.startTime = parseTime(start2, '{y}-{m}-{d}') that.tab.table.getdataListParm.parammaps.stopTime = parseTime(end2, '{y}-{m}-{d}') that.tab.table.getdataListParm.parammaps.inputDatetime = [start2, end2] that.tab.table2.getdataListParm.parammaps.startTime = parseTime(start2, '{y}-{m}-{d}') that.tab.table2.getdataListParm.parammaps.stopTime = parseTime(end2, '{y}-{m}-{d}') that.tab2.table.getdataListParm.parammaps.inputDatetime = [start2, end2] // that.tab2.table.getdataListParm.parammaps.inputDatetime[0] = parseTime(start2, '{y}-{m}-{d}') // that.tab2.table.getdataListParm.parammaps.inputDatetime[1] = parseTime(end2, '{y}-{m}-{d}') that.tab2.table.getdataListParm.parammaps.startTime = parseTime(start2, '{y}-{m}-{d}') that.tab2.table.getdataListParm.parammaps.stopTime = parseTime(end2, '{y}-{m}-{d}') that.tab3.table.getdataListParm.parammaps.inputDatetime = [start2, end2] // that.tab3.table.getdataListParm.parammaps.inputDatetime[0] = parseTime(start2, '{y}-{m}-{d}') // that.tab3.table.getdataListParm.parammaps.inputDatetime[1] = parseTime(end2, '{y}-{m}-{d}') that.tab3.table.getdataListParm.parammaps.startTime = parseTime(start2, '{y}-{m}-{d}') that.tab3.table.getdataListParm.parammaps.stopTime = parseTime(end2, '{y}-{m}-{d}') start.setTime(start.getTime() - 3600 * 1000 * 24 * 7) that.tab.chartDate[0] = parseTime(start, '{y}-{m}-{d}') that.tab.chartDate[1] = parseTime(end, '{y}-{m}-{d}') that.tab.chart1.getdataListParm.parammaps.inputDatetime[0] = parseTime(start, '{y}-{m}-{d}') that.tab.chart1.getdataListParm.parammaps.inputDatetime[1] = parseTime(end, '{y}-{m}-{d}') that.tab.chart1.getdataListParm.parammaps.startTime = parseTime(start, '{y}-{m}-{d}') that.tab.chart1.getdataListParm.parammaps.stopTime = parseTime(end, '{y}-{m}-{d}') that.tab.chart2.getdataListParm.parammaps.inputDatetime[0] = parseTime(start, '{y}-{m}-{d}') that.tab.chart2.getdataListParm.parammaps.inputDatetime[1] = parseTime(end, '{y}-{m}-{d}') that.tab.chart2.getdataListParm.parammaps.startTime = parseTime(start, '{y}-{m}-{d}') that.tab.chart2.getdataListParm.parammaps.stopTime = parseTime(end, '{y}-{m}-{d}') that.tab.chart3.getdataListParm.parammaps.inputDatetime[0] = parseTime(start, '{y}-{m}-{d}') that.tab.chart3.getdataListParm.parammaps.inputDatetime[1] = parseTime(end, '{y}-{m}-{d}') that.tab.chart3.getdataListParm.parammaps.startTime = parseTime(start, '{y}-{m}-{d}') that.tab.chart3.getdataListParm.parammaps.stopTime = parseTime(end, '{y}-{m}-{d}') that.tab.chart4.getdataListParm.parammaps.inputDatetime[0] = parseTime(start, '{y}-{m}-{d}') that.tab.chart4.getdataListParm.parammaps.inputDatetime[1] = parseTime(end, '{y}-{m}-{d}') that.tab.chart4.getdataListParm.parammaps.startTime = parseTime(start, '{y}-{m}-{d}') that.tab.chart4.getdataListParm.parammaps.stopTime = parseTime(end, '{y}-{m}-{d}') that.tab.chart5.getdataListParm.parammaps.inputDatetime[0] = parseTime(start, '{y}-{m}-{d}') that.tab.chart5.getdataListParm.parammaps.inputDatetime[1] = parseTime(end, '{y}-{m}-{d}') that.tab.chart5.getdataListParm.parammaps.startTime = parseTime(start, '{y}-{m}-{d}') that.tab.chart5.getdataListParm.parammaps.stopTime = parseTime(end, '{y}-{m}-{d}') that.tab.chart6.getdataListParm.parammaps.inputDatetime[0] = parseTime(start, '{y}-{m}-{d}') that.tab.chart6.getdataListParm.parammaps.inputDatetime[1] = parseTime(end, '{y}-{m}-{d}') that.tab.chart6.getdataListParm.parammaps.startTime = parseTime(start, '{y}-{m}-{d}') that.tab.chart6.getdataListParm.parammaps.stopTime = parseTime(end, '{y}-{m}-{d}') that.tab.chart7.getdataListParm.parammaps.inputDatetime[0] = parseTime(start, '{y}-{m}-{d}') that.tab.chart7.getdataListParm.parammaps.inputDatetime[1] = parseTime(end, '{y}-{m}-{d}') that.tab.chart7.getdataListParm.parammaps.startTime = parseTime(start, '{y}-{m}-{d}') that.tab.chart7.getdataListParm.parammaps.stopTime = parseTime(end, '{y}-{m}-{d}') }, getIsDisplay() { GetDataByName(this.maxTime.getMaxTimesParm).then(response => { if (response.data.list[0].inforvalue == 1) { this.tab2.frequencyList = [{ id: '1', name: '第一班' }] this.tab3.frequencyList = [{ id: '1', name: '第一班' }] } else if (response.data.list[0].inforvalue == 2) { this.tab2.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }] this.tab3.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }] } else if (response.data.list[0].inforvalue == 3) { this.tab2.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }] this.tab3.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }] this.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }] } else if (response.data.list[0].inforvalue == 4) { this.tab2.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }, { id: '4', name: '第四班' }] this.tab3.frequencyList = [{ id: '1', name: '第一班' }, { id: '2', name: '第二班' }, { id: '3', name: '第三班' }, { id: '4', name: '第四班' }] } }) }, // 导出 handleDownload() { if (this.tab.checked == true) { if (this.tab.radio == '1') { var excelDatas = [ { tHeader: ['日期', '配方名称', '理论重量', '实际重量', '计划混料操作数', '已混料操作数', '混料操作率', '混料误差值', '混料准确率', '混料自动跳转次数', '混料手动跳转次数', '取消次数', '标准差'], filterVal: ['计划时间', '配方名称', '理论重量', '实际重量', '计划混料操作数', '已混料操作数', '混料操作率', '混料误差值', '混料准确率', '混料自动跳转次数', '混料手动跳转次数', '取消次数', '方差'], tableDatas: this.tab.table.list, sheetName: '混料' }, { tHeader: ['日期', '配方名称', '理论重量', '实际重量', '计划撒料操作数', '已撒料操作数', '撒料操作率', '撒料误差值', '撒料准确率', '撒料自动跳转次数', '撒料手动跳转次数', '取消次数', '标准差'], filterVal: ['计划时间', '配方名称', '理论重量', '实际重量', '计划撒料操作数', '已撒料操作数', '撒料操作率', '撒料误差值', '撒料准确率', '撒料自动跳转次数', '撒料手动跳转次数', '取消次数', '方差'], tableDatas: this.tab.table2.list, sheetName: '撒料' } ] json2excel(excelDatas, '准确性分析—汇总统计', true, 'xlsx') } else if (this.tab.radio == '2') { var excelDatas2 = [ { tHeader: ['日期', '栏舍名称', '理论重量', '实际重量', '计划混料操作数', '已混料操作数', '混料操作率', '混料误差值', '混料准确率', '混料自动跳转次数', '混料手动跳转次数', '取消次数', '标准差'], filterVal: ['计划时间', '栏舍名称', '理论重量', '实际重量', '计划混料操作数', '已混料操作数', '混料操作率', '混料误差值', '混料准确率', '混料自动跳转次数', '混料手动跳转次数', '取消次数', '方差'], tableDatas: this.tab.table.list, sheetName: '混料' }, { tHeader: ['日期', '栏舍名称', '理论重量', '实际重量', '计划撒料操作数', '已撒料操作数', '撒料操作率', '撒料误差值', '撒料准确率', '撒料自动跳转次数', '撒料手动跳转次数', '取消次数', '标准差'], filterVal: ['计划时间', '栏舍名称', '理论重量', '实际重量', '计划撒料操作数', '已撒料操作数', '撒料操作率', '撒料误差值', '撒料准确率', '撒料自动跳转次数', '撒料手动跳转次数', '取消次数', '方差'], tableDatas: this.tab.table2.list, sheetName: '撒料' } ] json2excel(excelDatas2, '汇总统计-栏舍名称', true, 'xlsx') } else if (this.tab.radio == '3') { var excelDatas3 = [ { tHeader: ['日期', '牲畜类别', '理论重量', '实际重量', '计划混料操作数', '已混料操作数', '混料操作率', '混料误差值', '混料准确率', '混料自动跳转次数', '混料手动跳转次数', '取消次数', '标准差'], filterVal: ['计划时间', '牲畜类别', '理论重量', '实际重量', '计划混料操作数', '已混料操作数', '混料操作率', '混料误差值', '混料准确率', '混料自动跳转次数', '混料手动跳转次数', '取消次数', '方差'], tableDatas: this.tab.table.list, sheetName: '混料' }, { tHeader: ['日期', '牲畜类别', '理论重量', '实际重量', '计划撒料操作数', '已撒料操作数', '撒料操作率', '撒料误差值', '撒料准确率', '撒料自动跳转次数', '撒料手动跳转次数', '取消次数', '标准差'], filterVal: ['计划时间', '牲畜类别', '理论重量', '实际重量', '计划撒料操作数', '已撒料操作数', '撒料操作率', '撒料误差值', '撒料准确率', '撒料自动跳转次数', '撒料手动跳转次数', '取消次数', '方差'], tableDatas: this.tab.table2.list, sheetName: '撒料' } ] json2excel(excelDatas3, '汇总统计-牲畜类别', true, 'xlsx') } else if (this.tab.radio == '4') { var excelDatas4 = [ { tHeader: ['日期', '车次', '班次', 'TMR名称', '驾驶员', '理论重量', '实际重量', '计划混料操作数', '已混料操作数', '混料操作率', '混料误差值', '混料准确率', '混料自动跳转次数', '混料手动跳转次数', '取消次数', '标准差'], filterVal: ['计划时间', '车次', '班次', 'TMR名称', '驾驶员', '理论重量', '实际重量', '计划混料操作数', '已混料操作数', '混料操作率', '混料误差值', '混料准确率', '混料自动跳转次数', '混料手动跳转次数', '取消次数', '方差'], tableDatas: this.tab.table.list, sheetName: '混料' }, { tHeader: ['日期', '车次', '理论重量', '实际重量', '计划撒料操作数', '已撒料操作数', '撒料操作率', '撒料误差值', '撒料准确率', '撒料自动跳转次数', '撒料手动跳转次数', '取消次数', '标准差'], filterVal: ['计划时间', '车次', '理论重量', '实际重量', '计划撒料操作数', '已撒料操作数', '撒料操作率', '撒料误差值', '撒料准确率', '撒料自动跳转次数', '撒料手动跳转次数', '取消次数', '方差'], tableDatas: this.tab.table2.list, sheetName: '撒料' } ] json2excel(excelDatas4, '汇总统计-车次', true, 'xlsx') } } else { if (this.tab.radio == '1') { var excelDatas = [ { tHeader: ['配方名称', '理论重量', '实际重量', '计划混料操作数', '已混料操作数', '混料操作率', '混料误差值', '混料准确率', '混料自动跳转次数', '混料手动跳转次数', '取消次数', '标准差'], filterVal: ['配方名称', '理论重量', '实际重量', '计划混料操作数', '已混料操作数', '混料操作率', '混料误差值', '混料准确率', '混料自动跳转次数', '混料手动跳转次数', '取消次数', '方差'], tableDatas: this.tab.table.list, sheetName: '混料' }, { tHeader: ['配方名称', '理论重量', '实际重量', '计划撒料操作数', '已撒料操作数', '撒料操作率', '撒料误差值', '撒料准确率', '撒料自动跳转次数', '撒料手动跳转次数', '取消次数', '标准差'], filterVal: ['配方名称', '理论重量', '实际重量', '计划撒料操作数', '已撒料操作数', '撒料操作率', '撒料误差值', '撒料准确率', '撒料自动跳转次数', '撒料手动跳转次数', '取消次数', '方差'], tableDatas: this.tab.table2.list, sheetName: '撒料' } ] json2excel(excelDatas, '准确性分析—汇总统计', true, 'xlsx') } else if (this.tab.radio == '2') { var excelDatas2 = [ { tHeader: ['栏舍名称', '理论重量', '实际重量', '计划混料操作数', '已混料操作数', '混料操作率', '混料误差值', '混料准确率', '混料自动跳转次数', '混料手动跳转次数', '取消次数', '标准差'], filterVal: ['栏舍名称', '理论重量', '实际重量', '计划混料操作数', '已混料操作数', '混料操作率', '混料误差值', '混料准确率', '混料自动跳转次数', '混料手动跳转次数', '取消次数', '方差'], tableDatas: this.tab.table.list, sheetName: '混料' }, { tHeader: ['栏舍名称', '理论重量', '实际重量', '计划撒料操作数', '已撒料操作数', '撒料操作率', '撒料误差值', '撒料准确率', '撒料自动跳转次数', '撒料手动跳转次数', '取消次数', '标准差'], filterVal: ['栏舍名称', '理论重量', '实际重量', '计划撒料操作数', '已撒料操作数', '撒料操作率', '撒料误差值', '撒料准确率', '撒料自动跳转次数', '撒料手动跳转次数', '取消次数', '方差'], tableDatas: this.tab.table2.list, sheetName: '撒料' } ] json2excel(excelDatas2, '汇总统计-栏舍名称', true, 'xlsx') } else if (this.tab.radio == '3') { var excelDatas3 = [ { tHeader: ['牲畜类别', '理论重量', '实际重量', '计划混料操作数', '已混料操作数', '混料操作率', '混料误差值', '混料准确率', '混料自动跳转次数', '混料手动跳转次数', '取消次数', '标准差'], filterVal: ['牲畜类别', '理论重量', '实际重量', '计划混料操作数', '已混料操作数', '混料操作率', '混料误差值', '混料准确率', '混料自动跳转次数', '混料手动跳转次数', '取消次数', '方差'], tableDatas: this.tab.table.list, sheetName: '混料' }, { tHeader: ['牲畜类别', '理论重量', '实际重量', '计划撒料操作数', '已撒料操作数', '撒料操作率', '撒料误差值', '撒料准确率', '撒料自动跳转次数', '撒料手动跳转次数', '取消次数', '标准差'], filterVal: ['牲畜类别', '理论重量', '实际重量', '计划撒料操作数', '已撒料操作数', '撒料操作率', '撒料误差值', '撒料准确率', '撒料自动跳转次数', '撒料手动跳转次数', '取消次数', '方差'], tableDatas: this.tab.table2.list, sheetName: '撒料' } ] json2excel(excelDatas3, '汇总统计-牲畜类别', true, 'xlsx') } else if (this.tab.radio == '4') { var excelDatas4 = [ { tHeader: ['车次', '班次', 'TMR名称', '驾驶员', '理论重量', '实际重量', '计划混料操作数', '已混料操作数', '混料操作率', '混料误差值', '混料准确率', '混料自动跳转次数', '混料手动跳转次数', '取消次数', '标准差'], filterVal: ['车次', '班次', 'TMR名称', '驾驶员', '理论重量', '实际重量', '计划混料操作数', '已混料操作数', '混料操作率', '混料误差值', '混料准确率', '混料自动跳转次数', '混料手动跳转次数', '取消次数', '方差'], tableDatas: this.tab.table.list, sheetName: '混料' }, { tHeader: ['车次', '理论重量', '实际重量', '计划撒料操作数', '已撒料操作数', '撒料操作率', '撒料误差值', '撒料准确率', '撒料自动跳转次数', '撒料手动跳转次数', '取消次数', '标准差'], filterVal: ['车次', '理论重量', '实际重量', '计划撒料操作数', '已撒料操作数', '撒料操作率', '撒料误差值', '撒料准确率', '撒料自动跳转次数', '撒料手动跳转次数', '取消次数', '方差'], tableDatas: this.tab.table2.list, sheetName: '撒料' } ] json2excel(excelDatas4, '汇总统计-车次', true, 'xlsx') } } }, // 切换Tab handleTabClick() { if (this.activeName == 'first') { const start = new Date() const end = new Date() start.setTime(start.getTime() - 3600 * 1000 * 24 * 1) end.setTime(end.getTime() - 3600 * 1000 * 24 * 1) this.tab.table.getdataListParm.parammaps.inputDatetime = [start, end] this.tab.table.getdataListParm.parammaps.startTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.table.getdataListParm.parammaps.stopTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') // this.tab.table.getdataListParm.parammaps.inputDatetime = [] this.tab.table2.getdataListParm.parammaps.startTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.table2.getdataListParm.parammaps.stopTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') this.tab.table.getdataListParm.parammaps.fname = '' this.tab.table.getdataListParm.parammaps.sort = '' this.tab.table.getdataListParm.parammaps.times = '' this.tab.table2.getdataListParm.parammaps.fname = '' this.tab.table2.getdataListParm.parammaps.sort = '' this.tab.table2.getdataListParm.parammaps.times = '' this.getTabList() this.getTabList2() this.getChart1() this.getChart2() this.getChart3() this.getChart4() this.getChart5() this.getChart6() this.getChart7() } else if (this.activeName == 'second') { const start2 = new Date() const end2 = new Date() start2.setTime(start2.getTime() - 3600 * 1000 * 24 * 1) end2.setTime(end2.getTime() - 3600 * 1000 * 24 * 1) this.tab2.table.getdataListParm.parammaps.inputDatetime = [start2, end2] this.tab2.table.getdataListParm.parammaps.startTime = parseTime(this.tab2.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab2.table.getdataListParm.parammaps.stopTime = parseTime(this.tab2.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') this.tab2.table.getdataListParm.parammaps.tmrtname = '' this.tab2.table.getdataListParm.parammaps.projname = '' this.tab2.table.getdataListParm.parammaps.times = '' this.tab2.table.getdataListParm.parammaps.buttontype = '' this.tab2.table.getdataListParm.parammaps.templetname = '' this.getTab2List() } else if (this.activeName == 'third') { const start3 = new Date() const end3 = new Date() start3.setTime(start3.getTime() - 3600 * 1000 * 24 * 1) end3.setTime(end3.getTime() - 3600 * 1000 * 24 * 1) this.tab3.table.getdataListParm.parammaps.inputDatetime = [start3, end3] this.tab3.table.getdataListParm.parammaps.startTime = parseTime(this.tab3.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab3.table.getdataListParm.parammaps.stopTime = parseTime(this.tab3.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') this.tab3.table.getdataListParm.parammaps.tmrtname = '' this.tab3.table.getdataListParm.parammaps.projname = '' this.tab3.table.getdataListParm.parammaps.times = '' this.tab3.table.getdataListParm.parammaps.templetname = '' this.tab3.table.getdataListParm.parammaps.buttontype = '' this.getTab3List() } }, // 切换统计类型 changeRadio() { console.log(this.tab.radio) this.tab.table.getdataListParm.parammaps.sort = '' this.tab.table.getdataListParm.parammaps.times = '' this.tab.table.getdataListParm.parammaps.fname = '' this.tab.table2.getdataListParm.parammaps.sort = '' this.tab.table2.getdataListParm.parammaps.times = '' this.tab.table2.getdataListParm.parammaps.fname = '' if (this.tab.checked == true) { if (this.tab.radio == '1') { console.log('配方名称') this.tab.isFormulaName = true this.tab.isHouseName = false this.tab.isLivestockType = false this.tab.isTrainNumber = false this.tab.table.getdataListParm.name = 'getAccuracyHFTDate' if (this.tab.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab.table.getdataListParm.parammaps.inputDatetime !== null) { this.tab.table.getdataListParm.parammaps.startTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.table.getdataListParm.parammaps.stopTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') } else { this.tab.table.getdataListParm.parammaps.inputDatetime = '' this.tab.table.getdataListParm.parammaps.startTime = '' this.tab.table.getdataListParm.parammaps.stopTime = '' } this.tab.table.getdataListParm.offset = 1 this.getTabList() this.tab.table2.getdataListParm.name = 'getAccuracySFTDate' this.tab.table2.getdataListParm.parammaps.startTime = this.tab.table.getdataListParm.parammaps.startTime this.tab.table2.getdataListParm.parammaps.stopTime = this.tab.table.getdataListParm.parammaps.stopTime this.getTabList2() } else if (this.tab.radio == '2') { console.log('栏舍名称') this.tab.isFormulaName = false this.tab.isHouseName = true this.tab.isLivestockType = false this.tab.isTrainNumber = false this.tab.table.getdataListParm.name = 'getAccuracyHNSDate' if (this.tab.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab.table.getdataListParm.parammaps.inputDatetime !== null) { this.tab.table.getdataListParm.parammaps.startTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.table.getdataListParm.parammaps.stopTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') } else { this.tab.table.getdataListParm.parammaps.inputDatetime = '' this.tab.table.getdataListParm.parammaps.startTime = '' this.tab.table.getdataListParm.parammaps.stopTime = '' } this.tab.table.getdataListParm.offset = 1 this.getTabList() this.tab.table2.getdataListParm.name = 'getAccuracySNSDate' this.tab.table2.getdataListParm.parammaps.startTime = this.tab.table.getdataListParm.parammaps.startTime this.tab.table2.getdataListParm.parammaps.stopTime = this.tab.table.getdataListParm.parammaps.stopTime this.getTabList2() } else if (this.tab.radio == '3') { console.log(' 牲畜类别') this.tab.isFormulaName = false this.tab.isHouseName = false this.tab.isLivestockType = true this.tab.isTrainNumber = false this.tab.table.getdataListParm.name = 'getAccuracyHSCDate' if (this.tab.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab.table.getdataListParm.parammaps.inputDatetime !== null) { this.tab.table.getdataListParm.parammaps.startTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.table.getdataListParm.parammaps.stopTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') } else { this.tab.table.getdataListParm.parammaps.inputDatetime = '' this.tab.table.getdataListParm.parammaps.startTime = '' this.tab.table.getdataListParm.parammaps.stopTime = '' } this.tab.table.getdataListParm.offset = 1 this.getTabList() this.tab.table2.getdataListParm.name = 'getAccuracySSCDate' this.tab.table2.getdataListParm.parammaps.startTime = this.tab.table.getdataListParm.parammaps.startTime this.tab.table2.getdataListParm.parammaps.stopTime = this.tab.table.getdataListParm.parammaps.stopTime this.tab.table2.getdataListParm.offset = 1 this.getTabList2() } else if (this.tab.radio == '4') { console.log('车次') this.tab.isFormulaName = false this.tab.isHouseName = false this.tab.isLivestockType = false this.tab.isTrainNumber = true this.tab.table.getdataListParm.name = 'getAccuracyHCCDate' if (this.tab.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab.table.getdataListParm.parammaps.inputDatetime !== null) { this.tab.table.getdataListParm.parammaps.startTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.table.getdataListParm.parammaps.stopTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') } else { this.tab.table.getdataListParm.parammaps.inputDatetime = '' this.tab.table.getdataListParm.parammaps.startTime = '' this.tab.table.getdataListParm.parammaps.stopTime = '' } this.tab.table.getdataListParm.offset = 1 this.getTabList() this.tab.table2.getdataListParm.name = 'getAccuracySCCDate' this.tab.table2.getdataListParm.parammaps.startTime = this.tab.table.getdataListParm.parammaps.startTime this.tab.table2.getdataListParm.parammaps.stopTime = this.tab.table.getdataListParm.parammaps.stopTime this.tab.table2.getdataListParm.offset = 1 this.getTabList2() } } else { if (this.tab.radio == '1') { console.log('配方名称') this.tab.isFormulaName = true this.tab.isHouseName = false this.tab.isLivestockType = false this.tab.isTrainNumber = false this.tab.table.getdataListParm.name = 'getAccuracyHFT' if (this.tab.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab.table.getdataListParm.parammaps.inputDatetime !== null) { this.tab.table.getdataListParm.parammaps.startTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.table.getdataListParm.parammaps.stopTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') } else { this.tab.table.getdataListParm.parammaps.inputDatetime = '' this.tab.table.getdataListParm.parammaps.startTime = '' this.tab.table.getdataListParm.parammaps.stopTime = '' } this.tab.table.getdataListParm.offset = 1 this.getTabList() this.tab.table2.getdataListParm.name = 'getAccuracySFT' this.tab.table2.getdataListParm.parammaps.startTime = this.tab.table.getdataListParm.parammaps.startTime this.tab.table2.getdataListParm.parammaps.stopTime = this.tab.table.getdataListParm.parammaps.stopTime this.getTabList2() } else if (this.tab.radio == '2') { console.log('栏舍名称') this.tab.isFormulaName = false this.tab.isHouseName = true this.tab.isLivestockType = false this.tab.isTrainNumber = false this.tab.table.getdataListParm.name = 'getAccuracyHNS' if (this.tab.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab.table.getdataListParm.parammaps.inputDatetime !== null) { this.tab.table.getdataListParm.parammaps.startTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.table.getdataListParm.parammaps.stopTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') } else { this.tab.table.getdataListParm.parammaps.inputDatetime = '' this.tab.table.getdataListParm.parammaps.startTime = '' this.tab.table.getdataListParm.parammaps.stopTime = '' } this.tab.table.getdataListParm.offset = 1 this.getTabList() this.tab.table2.getdataListParm.name = 'getAccuracySNS' this.tab.table2.getdataListParm.parammaps.startTime = this.tab.table.getdataListParm.parammaps.startTime this.tab.table2.getdataListParm.parammaps.stopTime = this.tab.table.getdataListParm.parammaps.stopTime this.getTabList2() } else if (this.tab.radio == '3') { console.log(' 牲畜类别') this.tab.isFormulaName = false this.tab.isHouseName = false this.tab.isLivestockType = true this.tab.isTrainNumber = false this.tab.table.getdataListParm.name = 'getAccuracyHSC' if (this.tab.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab.table.getdataListParm.parammaps.inputDatetime !== null) { this.tab.table.getdataListParm.parammaps.startTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.table.getdataListParm.parammaps.stopTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') } else { this.tab.table.getdataListParm.parammaps.inputDatetime = '' this.tab.table.getdataListParm.parammaps.startTime = '' this.tab.table.getdataListParm.parammaps.stopTime = '' } this.tab.table.getdataListParm.offset = 1 this.getTabList() this.tab.table2.getdataListParm.name = 'getAccuracySSC' this.tab.table2.getdataListParm.parammaps.startTime = this.tab.table.getdataListParm.parammaps.startTime this.tab.table2.getdataListParm.parammaps.stopTime = this.tab.table.getdataListParm.parammaps.stopTime this.tab.table2.getdataListParm.offset = 1 this.getTabList2() } else if (this.tab.radio == '4') { console.log('车次') this.tab.isFormulaName = false this.tab.isHouseName = false this.tab.isLivestockType = false this.tab.isTrainNumber = true this.tab.table.getdataListParm.name = 'getAccuracyHCC' if (this.tab.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab.table.getdataListParm.parammaps.inputDatetime !== null) { this.tab.table.getdataListParm.parammaps.startTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.table.getdataListParm.parammaps.stopTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') } else { this.tab.table.getdataListParm.parammaps.inputDatetime = '' this.tab.table.getdataListParm.parammaps.startTime = '' this.tab.table.getdataListParm.parammaps.stopTime = '' } this.tab.table.getdataListParm.offset = 1 this.getTabList() this.tab.table2.getdataListParm.name = 'getAccuracySCC' this.tab.table2.getdataListParm.parammaps.startTime = this.tab.table.getdataListParm.parammaps.startTime this.tab.table2.getdataListParm.parammaps.stopTime = this.tab.table.getdataListParm.parammaps.stopTime this.tab.table2.getdataListParm.offset = 1 this.getTabList2() } } }, // 按日期统计 changeChecked() { // console.log(this.tab.checked) if (this.tab.radio == '1') { console.log('配方名称') this.tab.isFormulaName = true this.tab.isHouseName = false this.tab.isLivestockType = false this.tab.isTrainNumber = false this.tab.table.getdataListParm.name = 'getAccuracyHFTDate' if (this.tab.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab.table.getdataListParm.parammaps.inputDatetime !== null) { this.tab.table.getdataListParm.parammaps.startTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.table.getdataListParm.parammaps.stopTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') } else { this.tab.table.getdataListParm.parammaps.inputDatetime = '' this.tab.table.getdataListParm.parammaps.startTime = '' this.tab.table.getdataListParm.parammaps.stopTime = '' } this.tab.table.getdataListParm.offset = 1 this.getTabList() this.tab.table2.getdataListParm.name = 'getAccuracySFTDate' this.tab.table2.getdataListParm.parammaps.startTime = this.tab.table.getdataListParm.parammaps.startTime this.tab.table2.getdataListParm.parammaps.stopTime = this.tab.table.getdataListParm.parammaps.stopTime this.getTabList2() } else if (this.tab.radio == '2') { console.log('栏舍名称') this.tab.isFormulaName = false this.tab.isHouseName = true this.tab.isLivestockType = false this.tab.isTrainNumber = false this.tab.table.getdataListParm.name = 'getAccuracyHNSDate' if (this.tab.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab.table.getdataListParm.parammaps.inputDatetime !== null) { this.tab.table.getdataListParm.parammaps.startTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.table.getdataListParm.parammaps.stopTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') } else { this.tab.table.getdataListParm.parammaps.inputDatetime = '' this.tab.table.getdataListParm.parammaps.startTime = '' this.tab.table.getdataListParm.parammaps.stopTime = '' } this.tab.table.getdataListParm.offset = 1 this.getTabList() this.tab.table2.getdataListParm.name = 'getAccuracySNSDate' this.tab.table2.getdataListParm.parammaps.startTime = this.tab.table.getdataListParm.parammaps.startTime this.tab.table2.getdataListParm.parammaps.stopTime = this.tab.table.getdataListParm.parammaps.stopTime this.getTabList2() } else if (this.tab.radio == '3') { console.log(' 牲畜类别') this.tab.isFormulaName = false this.tab.isHouseName = false this.tab.isLivestockType = true this.tab.isTrainNumber = false this.tab.table.getdataListParm.name = 'getAccuracyHSCDate' if (this.tab.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab.table.getdataListParm.parammaps.inputDatetime !== null) { this.tab.table.getdataListParm.parammaps.startTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.table.getdataListParm.parammaps.stopTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') } else { this.tab.table.getdataListParm.parammaps.inputDatetime = '' this.tab.table.getdataListParm.parammaps.startTime = '' this.tab.table.getdataListParm.parammaps.stopTime = '' } this.tab.table.getdataListParm.offset = 1 this.getTabList() this.tab.table2.getdataListParm.name = 'getAccuracySSCDate' this.tab.table2.getdataListParm.parammaps.startTime = this.tab.table.getdataListParm.parammaps.startTime this.tab.table2.getdataListParm.parammaps.stopTime = this.tab.table.getdataListParm.parammaps.stopTime this.tab.table2.getdataListParm.offset = 1 this.getTabList2() } else if (this.tab.radio == '4') { console.log('车次') this.tab.isFormulaName = false this.tab.isHouseName = false this.tab.isLivestockType = false this.tab.isTrainNumber = true this.tab.table.getdataListParm.name = 'getAccuracyHCCDate' if (this.tab.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab.table.getdataListParm.parammaps.inputDatetime !== null) { this.tab.table.getdataListParm.parammaps.startTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.table.getdataListParm.parammaps.stopTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') } else { this.tab.table.getdataListParm.parammaps.inputDatetime = '' this.tab.table.getdataListParm.parammaps.startTime = '' this.tab.table.getdataListParm.parammaps.stopTime = '' } this.tab.table.getdataListParm.offset = 1 this.getTabList() this.tab.table2.getdataListParm.name = 'getAccuracySCCDate' this.tab.table2.getdataListParm.parammaps.startTime = this.tab.table.getdataListParm.parammaps.startTime this.tab.table2.getdataListParm.parammaps.stopTime = this.tab.table.getdataListParm.parammaps.stopTime this.tab.table2.getdataListParm.offset = 1 this.getTabList2() } }, // 汇总统计/混料 getTabList() { this.tab.table.listLoading = true GetDataByName(this.tab.table.getdataListParm).then(response => { console.log('汇总统计/混料table数据', response.data.list) if (response.data.list !== null) { this.tab.table.list = response.data.list this.tab.table.total = response.data.total } else { this.tab.table.list = [] } setTimeout(() => { this.tab.table.listLoading = false }, 100) }) }, // 汇总统计/撒料 getTabList2() { this.tab.table2.listLoading = true GetDataByName(this.tab.table2.getdataListParm).then(response => { console.log('汇总统计/撒料table数据', response.data.list) if (response.data.list !== null) { this.tab.table2.list = response.data.list this.tab.table2.total = response.data.total } else { this.tab.table2.list = [] } setTimeout(() => { this.tab.table2.listLoading = false }, 100) }) }, // 查询 handleSearch() { console.log(this.tab.checked) if (this.tab.checked == true) { if (this.tab.radio == '1') { console.log(111) console.log('配方名称/查询111') this.tab.isFormulaName = true this.tab.isHouseName = false this.tab.isLivestockType = false this.tab.isTrainNumber = false this.tab.table.getdataListParm.name = 'getAccuracyHFTDate' if (this.tab.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab.table.getdataListParm.parammaps.inputDatetime !== null) { this.tab.table.getdataListParm.parammaps.startTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.table.getdataListParm.parammaps.stopTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') } else { this.tab.table.getdataListParm.parammaps.inputDatetime = '' this.tab.table.getdataListParm.parammaps.startTime = '' this.tab.table.getdataListParm.parammaps.stopTime = '' } this.tab.table.getdataListParm.offset = 1 this.getTabList() this.tab.table2.getdataListParm.name = 'getAccuracySFTDate' this.tab.table2.getdataListParm.parammaps.startTime = this.tab.table.getdataListParm.parammaps.startTime this.tab.table2.getdataListParm.parammaps.stopTime = this.tab.table.getdataListParm.parammaps.stopTime this.tab.table2.getdataListParm.offset = 1 this.getTabList2() } else if (this.tab.radio == '2') { console.log('栏舍名称/查询') this.tab.isFormulaName = false this.tab.isHouseName = true this.tab.isLivestockType = false this.tab.isTrainNumber = false this.tab.table.getdataListParm.name = 'getAccuracyHNSDate' if (this.tab.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab.table.getdataListParm.parammaps.inputDatetime !== null) { this.tab.table.getdataListParm.parammaps.startTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.table.getdataListParm.parammaps.stopTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') } else { this.tab.table.getdataListParm.parammaps.inputDatetime = '' this.tab.table.getdataListParm.parammaps.startTime = '' this.tab.table.getdataListParm.parammaps.stopTime = '' } this.tab.table.getdataListParm.offset = 1 this.getTabList() this.tab.table2.getdataListParm.name = 'getAccuracySNSDate' this.tab.table2.getdataListParm.parammaps.startTime = this.tab.table.getdataListParm.parammaps.startTime this.tab.table2.getdataListParm.parammaps.stopTime = this.tab.table.getdataListParm.parammaps.stopTime this.tab.table2.getdataListParm.offset = 1 this.getTabList2() } else if (this.tab.radio == '3') { console.log(' 牲畜类别/查询') this.tab.isFormulaName = false this.tab.isHouseName = false this.tab.isLivestockType = true this.tab.isTrainNumber = false this.tab.table.getdataListParm.name = 'getAccuracyHSCDate' if (this.tab.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab.table.getdataListParm.parammaps.inputDatetime !== null) { this.tab.table.getdataListParm.parammaps.startTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.table.getdataListParm.parammaps.stopTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') } else { this.tab.table.getdataListParm.parammaps.inputDatetime = '' this.tab.table.getdataListParm.parammaps.startTime = '' this.tab.table.getdataListParm.parammaps.stopTime = '' } this.tab.table.getdataListParm.offset = 1 this.getTabList() this.tab.table2.getdataListParm.name = 'getAccuracySSCDate' this.tab.table2.getdataListParm.parammaps.startTime = this.tab.table.getdataListParm.parammaps.startTime this.tab.table2.getdataListParm.parammaps.stopTime = this.tab.table.getdataListParm.parammaps.stopTime this.tab.table2.getdataListParm.offset = 1 this.getTabList2() } else if (this.tab.radio == '4') { console.log('车次/查询') this.tab.isFormulaName = false this.tab.isHouseName = false this.tab.isLivestockType = false this.tab.isTrainNumber = true this.tab.table.getdataListParm.name = 'getAccuracyHCCDate' if (this.tab.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab.table.getdataListParm.parammaps.inputDatetime !== null) { this.tab.table.getdataListParm.parammaps.startTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.table.getdataListParm.parammaps.stopTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') } else { this.tab.table.getdataListParm.parammaps.inputDatetime = '' this.tab.table.getdataListParm.parammaps.startTime = '' this.tab.table.getdataListParm.parammaps.stopTime = '' } this.tab.table.getdataListParm.offset = 1 this.getTabList() this.tab.table2.getdataListParm.name = 'getAccuracySCCDate' this.tab.table2.getdataListParm.parammaps.startTime = this.tab.table.getdataListParm.parammaps.startTime this.tab.table2.getdataListParm.parammaps.stopTime = this.tab.table.getdataListParm.parammaps.stopTime this.tab.table2.getdataListParm.parammaps.fname = this.tab.table.getdataListParm.parammaps.fname this.tab.table2.getdataListParm.parammaps.times = this.tab.table.getdataListParm.parammaps.times this.tab.table2.getdataListParm.parammaps.projname = this.tab.table.getdataListParm.parammaps.projname this.tab.table2.getdataListParm.offset = 1 this.getTabList2() } } else { if (this.tab.radio == '1') { console.log('配方名称/查询') this.tab.isFormulaName = true this.tab.isHouseName = false this.tab.isLivestockType = false this.tab.isTrainNumber = false this.tab.table.getdataListParm.name = 'getAccuracyHFT' if (this.tab.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab.table.getdataListParm.parammaps.inputDatetime !== null) { this.tab.table.getdataListParm.parammaps.startTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.table.getdataListParm.parammaps.stopTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') } else { this.tab.table.getdataListParm.parammaps.inputDatetime = '' this.tab.table.getdataListParm.parammaps.startTime = '' this.tab.table.getdataListParm.parammaps.stopTime = '' } this.tab.table.getdataListParm.offset = 1 this.getTabList() this.tab.table2.getdataListParm.name = 'getAccuracySFT' this.tab.table2.getdataListParm.parammaps.startTime = this.tab.table.getdataListParm.parammaps.startTime this.tab.table2.getdataListParm.parammaps.stopTime = this.tab.table.getdataListParm.parammaps.stopTime this.tab.table2.getdataListParm.offset = 1 this.getTabList2() } else if (this.tab.radio == '2') { console.log('栏舍名称/查询') this.tab.isFormulaName = false this.tab.isHouseName = true this.tab.isLivestockType = false this.tab.isTrainNumber = false this.tab.table.getdataListParm.name = 'getAccuracyHNS' if (this.tab.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab.table.getdataListParm.parammaps.inputDatetime !== null) { this.tab.table.getdataListParm.parammaps.startTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.table.getdataListParm.parammaps.stopTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') } else { this.tab.table.getdataListParm.parammaps.inputDatetime = '' this.tab.table.getdataListParm.parammaps.startTime = '' this.tab.table.getdataListParm.parammaps.stopTime = '' } this.tab.table.getdataListParm.offset = 1 this.getTabList() this.tab.table2.getdataListParm.name = 'getAccuracySNS' this.tab.table2.getdataListParm.parammaps.startTime = this.tab.table.getdataListParm.parammaps.startTime this.tab.table2.getdataListParm.parammaps.stopTime = this.tab.table.getdataListParm.parammaps.stopTime this.tab.table2.getdataListParm.offset = 1 this.getTabList2() } else if (this.tab.radio == '3') { console.log(' 牲畜类别/查询') this.tab.isFormulaName = false this.tab.isHouseName = false this.tab.isLivestockType = true this.tab.isTrainNumber = false this.tab.table.getdataListParm.name = 'getAccuracyHSC' if (this.tab.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab.table.getdataListParm.parammaps.inputDatetime !== null) { this.tab.table.getdataListParm.parammaps.startTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.table.getdataListParm.parammaps.stopTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') } else { this.tab.table.getdataListParm.parammaps.inputDatetime = '' this.tab.table.getdataListParm.parammaps.startTime = '' this.tab.table.getdataListParm.parammaps.stopTime = '' } this.tab.table.getdataListParm.offset = 1 this.getTabList() this.tab.table2.getdataListParm.name = 'getAccuracySSC' this.tab.table2.getdataListParm.parammaps.startTime = this.tab.table.getdataListParm.parammaps.startTime this.tab.table2.getdataListParm.parammaps.stopTime = this.tab.table.getdataListParm.parammaps.stopTime this.tab.table2.getdataListParm.offset = 1 this.getTabList2() } else if (this.tab.radio == '4') { console.log('车次/查询') this.tab.isFormulaName = false this.tab.isHouseName = false this.tab.isLivestockType = false this.tab.isTrainNumber = true this.tab.table.getdataListParm.name = 'getAccuracyHCC' if (this.tab.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab.table.getdataListParm.parammaps.inputDatetime !== null) { this.tab.table.getdataListParm.parammaps.startTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.table.getdataListParm.parammaps.stopTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') } else { this.tab.table.getdataListParm.parammaps.inputDatetime = '' this.tab.table.getdataListParm.parammaps.startTime = '' this.tab.table.getdataListParm.parammaps.stopTime = '' } this.tab.table.getdataListParm.offset = 1 this.getTabList() this.tab.table2.getdataListParm.name = 'getAccuracySCC' this.tab.table2.getdataListParm.parammaps.startTime = this.tab.table.getdataListParm.parammaps.startTime this.tab.table2.getdataListParm.parammaps.stopTime = this.tab.table.getdataListParm.parammaps.stopTime this.tab.table2.getdataListParm.parammaps.fname = this.tab.table.getdataListParm.parammaps.fname this.tab.table2.getdataListParm.parammaps.times = this.tab.table.getdataListParm.parammaps.times this.tab.table2.getdataListParm.parammaps.projname = this.tab.table.getdataListParm.parammaps.projname this.tab.table2.getdataListParm.offset = 1 this.getTabList2() } } this.tab.table2.getdataListParm.parammaps.fname = this.tab.table.getdataListParm.parammaps.fname }, handleBefore() { this.$forceUpdate() if (this.tab.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab.table.getdataListParm.parammaps.inputDatetime !== null) { var start = new Date(this.tab.table.getdataListParm.parammaps.inputDatetime[0].setDate(this.tab.table.getdataListParm.parammaps.inputDatetime[0].getDate() - 1)) var stop = new Date(this.tab.table.getdataListParm.parammaps.inputDatetime[1].setDate(this.tab.table.getdataListParm.parammaps.inputDatetime[1].getDate() - 1)) if (stop > Date.now() - 8.64e7) { this.Nextdisabled = true this.Beforedisabled = false } else { this.Nextdisabled = false this.Beforedisabled = false } this.tab.table.getdataListParm.parammaps.inputDatetime.length = 0 this.tab.table.getdataListParm.parammaps.inputDatetime.push(start, stop) this.$forceUpdate() } this.tab.table.getdataListParm.parammaps.startTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.table.getdataListParm.parammaps.stopTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') this.getTabList() }, handleNext() { this.$forceUpdate() if (this.tab.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab.table.getdataListParm.parammaps.inputDatetime !== null) { var start2 = new Date(this.tab.table.getdataListParm.parammaps.inputDatetime[0].setDate(this.tab.table.getdataListParm.parammaps.inputDatetime[0].getDate() + 1)) var stop2 = new Date(this.tab.table.getdataListParm.parammaps.inputDatetime[1].setDate(this.tab.table.getdataListParm.parammaps.inputDatetime[1].getDate() + 1)) if (stop2 > Date.now() - 8.64e7) { this.Nextdisabled = true this.Beforedisabled = false } else { this.Nextdisabled = false this.Beforedisabled = false } this.tab.table.getdataListParm.parammaps.inputDatetime.length = 0 this.tab.table.getdataListParm.parammaps.inputDatetime.push(start2, stop2) this.$forceUpdate() } this.tab.table.getdataListParm.parammaps.startTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.table.getdataListParm.parammaps.stopTime = parseTime(this.tab.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') this.getTabList() }, handleBefore2() { this.$forceUpdate() if (this.tab2.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab2.table.getdataListParm.parammaps.inputDatetime !== null) { var start3 = new Date(this.tab2.table.getdataListParm.parammaps.inputDatetime[0].setDate(this.tab2.table.getdataListParm.parammaps.inputDatetime[0].getDate() - 1)) var stop3 = new Date(this.tab2.table.getdataListParm.parammaps.inputDatetime[1].setDate(this.tab2.table.getdataListParm.parammaps.inputDatetime[1].getDate() - 1)) if (stop3 > Date.now() - 8.64e7) { this.Nextdisabled2 = true this.Beforedisabled2 = false } else { this.Nextdisabled2 = false this.Beforedisabled2 = false } this.tab2.table.getdataListParm.parammaps.inputDatetime.length = 0 this.tab2.table.getdataListParm.parammaps.inputDatetime.push(start3, stop3) this.$forceUpdate() } this.tab2.table.getdataListParm.parammaps.startTime = parseTime(this.tab2.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab2.table.getdataListParm.parammaps.stopTime = parseTime(this.tab2.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') this.getTab2List() }, handleNext2() { console.log(this.tab2.table.getdataListParm.parammaps.inputDatetime, 'inputDatetime前') if (this.tab2.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab2.table.getdataListParm.parammaps.inputDatetime !== null) { var start4 = new Date(this.tab2.table.getdataListParm.parammaps.inputDatetime[0].setDate(this.tab2.table.getdataListParm.parammaps.inputDatetime[0].getDate() + 1)) var stop4 = new Date(this.tab2.table.getdataListParm.parammaps.inputDatetime[1].setDate(this.tab2.table.getdataListParm.parammaps.inputDatetime[1].getDate() + 1)) if (stop4 > Date.now() - 8.64e7) { this.Nextdisabled2 = true this.Beforedisabled2 = false } else { this.Nextdisabled2 = false this.Beforedisabled2 = false } this.tab2.table.getdataListParm.parammaps.inputDatetime.length = 0 this.tab2.table.getdataListParm.parammaps.inputDatetime.push(start4, stop4) console.log(this.tab2.table.getdataListParm.parammaps.inputDatetime, 'inputDatetime后') this.$forceUpdate() } this.tab2.table.getdataListParm.parammaps.startTime = parseTime(this.tab2.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab2.table.getdataListParm.parammaps.stopTime = parseTime(this.tab2.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') this.getTab2List() }, handleBefore3() { if (this.tab3.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab3.table.getdataListParm.parammaps.inputDatetime !== null) { var start5 = new Date(this.tab3.table.getdataListParm.parammaps.inputDatetime[0].setDate(this.tab3.table.getdataListParm.parammaps.inputDatetime[0].getDate() - 1)) var stop5 = new Date(this.tab3.table.getdataListParm.parammaps.inputDatetime[1].setDate(this.tab3.table.getdataListParm.parammaps.inputDatetime[1].getDate() - 1)) this.tab3.table.getdataListParm.parammaps.inputDatetime.length = 0 this.tab3.table.getdataListParm.parammaps.inputDatetime.push(start5, stop5) this.$forceUpdate() if (stop5 > Date.now() - 8.64e7) { this.Nextdisabled3 = true this.Beforedisabled3 = false } else { this.Nextdisabled3 = false this.Beforedisabled3 = false } } this.tab3.table.getdataListParm.parammaps.startTime = parseTime(this.tab3.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab3.table.getdataListParm.parammaps.stopTime = parseTime(this.tab3.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') this.getTab3List() }, handleNext3() { this.$forceUpdate() if (this.tab3.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab2.table.getdataListParm.parammaps.inputDatetime !== null) { var start6 = new Date(this.tab3.table.getdataListParm.parammaps.inputDatetime[0].setDate(this.tab3.table.getdataListParm.parammaps.inputDatetime[0].getDate() + 1)) var stop6 = new Date(this.tab3.table.getdataListParm.parammaps.inputDatetime[1].setDate(this.tab3.table.getdataListParm.parammaps.inputDatetime[1].getDate() + 1)) this.tab3.table.getdataListParm.parammaps.inputDatetime.length = 0 this.tab3.table.getdataListParm.parammaps.inputDatetime.push(start6, stop6) this.$forceUpdate() if (stop6 > Date.now() - 8.64e7) { this.Nextdisabled3 = true this.Beforedisabled3 = false } else { this.Nextdisabled3 = false this.Beforedisabled3 = false } } this.tab3.table.getdataListParm.parammaps.startTime = parseTime(this.tab3.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab3.table.getdataListParm.parammaps.stopTime = parseTime(this.tab3.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') this.getTab3List() }, // 快速跳转到图表 handleQuickJumpChart() { var myHeight = document.getElementById('table').offsetHeight + 120 window.scrollTo(myHeight, myHeight) }, // 快速回到顶部 handleQuickJumpTop() { window.scrollTo(0, 0) }, // 图表总查询 handleChartDate() { console.log('点击了确认时间') MessageBox.confirm('是否调整以下所有图表查询时间?', { confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning' }).then(() => { var that = this var startTime = parseTime(this.tab.chartDate[0], '{y}-{m}-{d}') var stopTime = parseTime(this.tab.chartDate[1], '{y}-{m}-{d}') that.tab.chart1.getdataListParm.parammaps.inputDatetime = this.tab.chartDate that.tab.chart1.getdataListParm.parammaps.startTime = startTime that.tab.chart1.getdataListParm.parammaps.stopTime = stopTime that.getChart1() that.tab.chart2.getdataListParm.parammaps.inputDatetime = this.tab.chartDate that.tab.chart2.getdataListParm.parammaps.startTime = startTime that.tab.chart2.getdataListParm.parammaps.stopTime = stopTime that.getChart2() that.tab.chart3.getdataListParm.parammaps.inputDatetime = this.tab.chartDate that.tab.chart3.getdataListParm.parammaps.startTime = startTime that.tab.chart3.getdataListParm.parammaps.stopTime = stopTime that.getChart3() that.tab.chart4.getdataListParm.parammaps.inputDatetime = this.tab.chartDate that.tab.chart4.getdataListParm.parammaps.startTime = startTime that.tab.chart4.getdataListParm.parammaps.stopTime = stopTime that.getChart4() that.tab.chart5.getdataListParm.parammaps.inputDatetime = this.tab.chartDate that.tab.chart5.getdataListParm.parammaps.startTime = startTime that.tab.chart5.getdataListParm.parammaps.stopTime = stopTime that.getChart5() that.tab.chart6.getdataListParm.parammaps.inputDatetime = this.tab.chartDate that.tab.chart6.getdataListParm.parammaps.startTime = startTime that.tab.chart6.getdataListParm.parammaps.stopTime = stopTime that.getChart6() that.tab.chart7.getdataListParm.parammaps.inputDatetime = this.tab.chartDate that.tab.chart7.getdataListParm.parammaps.startTime = startTime that.tab.chart7.getdataListParm.parammaps.stopTime = stopTime that.getChart7() }) }, // 配方准确率 changeStatisticChart1(arr) { var arr1 = [] for (let i = 0; i < arr.length; i++) { if (arr[i] !== 'all') { arr1.push(arr[i]) } } this.tab.chart1.getdataListParm.parammaps.statisticsList = arr1 var arrData3 = [] for (let i = 0; i < this.tab.chart1.getdataListParm.parammaps.statisticsList.length; i++) { const myId = this.tab.chart1.statisticsList.find(obj => obj.name == this.tab.chart1.getdataListParm.parammaps.statisticsList[i]).id for (let j = 0; j < this.tab.chart1.chart1Data3.length; j++) { if (j == myId) { arrData3.push(this.tab.chart1.chart1Data3[j]) } } } this.tab.chart1.chartLine_data.data3 = arrData3 this.tab.chart1.chartLine_data.data1 = this.tab.chart1.getdataListParm.parammaps.statisticsList this.roadChartLine1(this.tab.chart1.chartLine_data) }, getChart1() { this.tab.chart1.listLoading = true GetReportform(this.tab.chart1.getdataListParm).then(response => { if (response.data.list !== null) { for (let i = 0; i < response.data.data.length; i++) { for (let i = 0; i < response.data.data.length; i++) { if (response.data.data[i].准确率 !== '' && response.data.data[i].准确率 !== undefined) { response.data.data[i].准确率 = parseFloat(response.data.data[i].准确率) + '%' } if (response.data.data[i].理论量 !== '' && response.data.data[i].理论量 !== undefined) { response.data.data[i].理论量 = parseFloat(response.data.data[i].理论量) } if (response.data.data[i].实际量 !== '' && response.data.data[i].实际量 !== undefined) { response.data.data[i].实际量 = parseFloat(response.data.data[i].实际量) } } } this.tab.chart1.table.list = response.data.data this.tab.chart1.chartLine_data = response.data.list this.tab.chart1.statisticsList = [] this.tab.chart1.getdataListParm.parammaps.statisticsList = [] for (let i = 0; i < response.data.list.data1.length; i++) { if (i < 10) { this.tab.chart1.getdataListParm.parammaps.statisticsList.push(response.data.list.data1[i]) } var obj = {} obj.id = i obj.name = response.data.list.data1[i] this.tab.chart1.statisticsList.push(obj) } console.log(this.tab.chart1.statisticsList, '配 方准确率下拉内容') this.tab.chart1.chart1Data3 = response.data.list.data3 this.tab.chart1.total = response.data.total console.log('配方准确率表数据', this.tab.chart1.table.list) console.log('配方准确率图数据', this.tab.chart1.chartLine_data) var arrData3 = [] for (let i = 0; i < this.tab.chart1.getdataListParm.parammaps.statisticsList.length; i++) { const myId = this.tab.chart1.statisticsList.find(obj => obj.name == this.tab.chart1.getdataListParm.parammaps.statisticsList[i]).id for (let j = 0; j < this.tab.chart1.chart1Data3.length; j++) { if (j == myId) { this.tab.chart1.chart1Data3[j].checkedState = true arrData3.push(this.tab.chart1.chart1Data3[j]) } } } this.tab.chart1.chartLine_data.data3 = arrData3 this.tab.chart1.chartLine_data.data1 = this.tab.chart1.getdataListParm.parammaps.statisticsList this.roadChartLine1(this.tab.chart1.chartLine_data) } else { this.tab.chart1.list = [] } setTimeout(() => { this.tab.chart1.listLoading = false }, 100) }) }, roadChartLine1(chartLine_data) { if (this.tab.chart1.chartLine != null) { this.tab.chart1.chartLine.dispose() } this.tab.chart1.chartLine = echarts.init(document.getElementById('chartLine1')) var option = { title: { text: '' }, tooltip: { trigger: 'axis' }, legend: { data: chartLine_data.data1, right: 10 }, grid: { top: '20%', left: '5%', right: '8%', containLabel: true }, toolbox: { show: true, right: '2%', feature: {} }, xAxis: { type: 'category', boundaryGap: false, data: chartLine_data.data2, name: '日期' }, yAxis: { type: 'value', name: '百分比', axisLabel: { formatter: '{value} %' } }, series: (function() { var serie = [] for (var i = 0; i < chartLine_data.data3.length; i++) { var item = { name: chartLine_data.data1[i], type: 'line', data: chartLine_data.data3[i].data } serie.push(item) } return serie }()) } this.tab.chart1.chartLine.setOption(option) window.onresize = function() { this.tab.chart1.chartLine.resize() } }, // 计划统计 getChart2() { this.tab.chart2.listLoading = true GetReportform(this.tab.chart2.getdataListParm).then(response => { if (response.data.list !== null) { for (let i = 0; i < response.data.data.length; i++) { if (response.data.data[i].实际量 !== '' && response.data.data[i].实际量 !== undefined) { response.data.data[i].实际量 = parseFloat(response.data.data[i].实际量) } if (response.data.data[i].理论量 !== '' && response.data.data[i].理论量 !== undefined) { response.data.data[i].理论量 = parseFloat(response.data.data[i].理论量) } if (response.data.data[i].field1 !== '' && response.data.data[i].field1 !== undefined) { response.data.data[i].field1 = parseFloat(response.data.data[i].field1) } if (response.data.data[i].计划取消重量 !== '' && response.data.data[i].计划取消重量 !== undefined) { response.data.data[i].计划取消重量 = parseFloat(response.data.data[i].计划取消重量) } if (response.data.data[i].field3 !== '' && response.data.data[i].field3 !== undefined) { response.data.data[i].field3 = parseFloat(response.data.data[i].field3) } if (response.data.data[i].正确数 !== '' && response.data.data[i].正确数 !== undefined) { response.data.data[i].正确数 = parseFloat(response.data.data[i].正确数) } if (response.data.data[i].计划数 !== '' && response.data.data[i].计划数 !== undefined) { response.data.data[i].计划数 = parseFloat(response.data.data[i].计划数) } if (response.data.data[i].field2 !== '' && response.data.data[i].field2 !== undefined) { response.data.data[i].field2 = parseFloat(response.data.data[i].field2) } } this.tab.chart2.table.list = response.data.data this.tab.chart2.chartLine_data = response.data.list this.tab.chart2.total = response.data.total console.log('计划统计图数据', this.tab.chart2.chartLine_data) console.log('计划统计表数据', this.tab.chart2.table.list) this.roadChartLine2(this.tab.chart2.chartLine_data) } else { this.tab.chart2.list = [] } setTimeout(() => { this.tab.chart2.listLoading = false }, 100) }) }, roadChartLine2(chartLine_data) { if (this.tab.chart2.chartLine != null) { this.tab.chart2.chartLine.dispose() } this.tab.chart2.chartLine = echarts.init(document.getElementById('chartLine2')) var option = { title: { text: '' }, tooltip: { trigger: 'axis' }, legend: { data: ['计划准确率', '计划正确率', '计划准确率(去除取消重量)'], right: 10 }, grid: { top: '20%', left: '5%', right: '8%', containLabel: true }, toolbox: { show: true, right: '2%', feature: {} }, xAxis: { type: 'category', boundaryGap: false, data: chartLine_data.data1, name: '日期' }, yAxis: { type: 'value', name: '百分比', axisLabel: { formatter: '{value} %' } }, series: [ { name: '计划准确率', type: 'line', data: chartLine_data.data2 }, { name: '计划正确率', type: 'line', data: chartLine_data.data3 }, { name: '计划准确率(去除取消重量)', type: 'line', data: chartLine_data.data4 } ] } this.tab.chart2.chartLine.setOption(option) window.onresize = function() { this.tab.chart2.chartLine.resize() } }, // 牛群准确率 changeStatisticChart3(arr) { var arr1 = [] for (let i = 0; i < arr.length; i++) { if (arr[i] !== 'all') { arr1.push(arr[i]) } } this.tab.chart3.getdataListParm.parammaps.statisticsList = arr1 var arrData3 = [] for (let i = 0; i < this.tab.chart3.getdataListParm.parammaps.statisticsList.length; i++) { const myId = this.tab.chart3.statisticsList.find(obj => obj.name == this.tab.chart3.getdataListParm.parammaps.statisticsList[i]).id for (let j = 0; j < this.tab.chart3.chart3Data3.length; j++) { if (j == myId) { arrData3.push(this.tab.chart3.chart3Data3[j]) } } } this.tab.chart3.chartLine_data.data3 = arrData3 this.tab.chart3.chartLine_data.data1 = this.tab.chart3.getdataListParm.parammaps.statisticsList this.roadChartLine3(this.tab.chart3.chartLine_data) }, getChart3() { this.tab.chart3.listLoading = true GetReportform(this.tab.chart3.getdataListParm).then(response => { if (response.data.data !== null) { for (let i = 0; i < response.data.data.length; i++) { if (response.data.data[i].理论量 !== '' && response.data.data[i].理论量 !== undefined) { response.data.data[i].理论量 = parseFloat(response.data.data[i].理论量) } if (response.data.data[i].实际量 !== '' && response.data.data[i].实际量 !== undefined) { response.data.data[i].实际量 = parseFloat(response.data.data[i].实际量) } if (response.data.data[i].准确率 !== '' && response.data.data[i].准确率 !== undefined) { response.data.data[i].准确率 = parseFloat(response.data.data[i].准确率) + '%' } } this.tab.chart3.table.list = response.data.data this.tab.chart3.chartLine_data = response.data.list this.tab.chart3.total = response.data.total this.tab.chart3.statisticsList = [] this.tab.chart3.getdataListParm.parammaps.statisticsList = [] for (let i = 0; i < response.data.list.data1.length; i++) { if (i < 10) { this.tab.chart3.getdataListParm.parammaps.statisticsList.push(response.data.list.data1[i]) } var obj = {} obj.id = i obj.name = response.data.list.data1[i] this.tab.chart3.statisticsList.push(obj) } this.tab.chart3.chart3Data3 = response.data.list.data3 this.tab.chart3.total = response.data.total console.log('牛群准确率图数据', this.tab.chart3.chartLine_data) console.log('牛群准确率表数据', this.tab.chart3.table.list) var arrData3 = [] for (let i = 0; i < this.tab.chart3.getdataListParm.parammaps.statisticsList.length; i++) { const myId = this.tab.chart3.statisticsList.find(obj => obj.name == this.tab.chart3.getdataListParm.parammaps.statisticsList[i]).id for (let j = 0; j < this.tab.chart3.chart3Data3.length; j++) { if (j == myId) { arrData3.push(this.tab.chart3.chart3Data3[j]) } } } this.tab.chart3.chartLine_data.data3 = arrData3 this.tab.chart3.chartLine_data.data1 = this.tab.chart3.getdataListParm.parammaps.statisticsList this.roadChartLine3(this.tab.chart3.chartLine_data) } else { this.tab.chart3.list = [] } setTimeout(() => { this.tab.chart3.listLoading = false }, 100) }) }, roadChartLine3(chartLine_data) { if (this.tab.chart3.chartLine != null) { this.tab.chart3.chartLine.dispose() } this.tab.chart3.chartLine = echarts.init(document.getElementById('chartLine3')) var option = { title: { text: '' }, tooltip: { trigger: 'axis' }, legend: { data: chartLine_data.data1, right: 10 }, grid: { top: '20%', left: '5%', right: '8%', containLabel: true }, toolbox: { show: true, right: '2%', feature: {} }, xAxis: { type: 'category', boundaryGap: false, data: chartLine_data.data2, name: '日期' }, yAxis: { type: 'value', name: '百分比', axisLabel: { formatter: '{value} %' } }, series: (function() { var serie = [] for (var i = 0; i < chartLine_data.data3.length; i++) { var item = { name: chartLine_data.data1[i], type: 'line', data: chartLine_data.data3[i].data } serie.push(item) } return serie }()) } this.tab.chart3.chartLine.setOption(option) window.onresize = function() { this.tab.chart3.chartLine.resize() } }, // 车辆准确率(重量) changeStatisticChart4(arr) { var arr1 = [] for (let i = 0; i < arr.length; i++) { if (arr[i] !== 'all') { arr1.push(arr[i]) } } this.tab.chart4.getdataListParm.parammaps.statisticsList = arr1 var arrData3 = [] for (let i = 0; i < this.tab.chart4.getdataListParm.parammaps.statisticsList.length; i++) { const myId = this.tab.chart4.statisticsList.find(obj => obj.name == this.tab.chart4.getdataListParm.parammaps.statisticsList[i]).id for (let j = 0; j < this.tab.chart4.chart4Data3.length; j++) { if (j == myId) { arrData3.push(this.tab.chart4.chart4Data3[j]) } } } this.tab.chart4.chartLine_data.data3 = arrData3 this.tab.chart4.chartLine_data.data1 = this.tab.chart4.getdataListParm.parammaps.statisticsList this.roadChartLine4(this.tab.chart4.chartLine_data) }, getChart4() { this.tab.chart4.listLoading = true GetReportform(this.tab.chart4.getdataListParm).then(response => { if (response.data.list !== null) { for (let i = 0; i < response.data.data.length; i++) { if (response.data.data[i].理论量 !== '' && response.data.data[i].理论量 !== undefined) { response.data.data[i].理论量 = parseFloat(response.data.data[i].理论量) } if (response.data.data[i].实际量 !== '' && response.data.data[i].实际量 !== undefined) { response.data.data[i].实际量 = parseFloat(response.data.data[i].实际量) } if (response.data.data[i].准确率 !== '' && response.data.data[i].准确率 !== undefined) { response.data.data[i].准确率 = parseFloat(response.data.data[i].准确率) + '%' } } this.tab.chart4.table.list = response.data.data this.tab.chart4.chartLine_data = response.data.list this.tab.chart4.total = response.data.total this.tab.chart4.statisticsList = [] this.tab.chart4.getdataListParm.parammaps.statisticsList = [] for (let i = 0; i < response.data.list.data1.length; i++) { if (i < 10) { this.tab.chart4.getdataListParm.parammaps.statisticsList.push(response.data.list.data1[i]) } var obj = {} obj.id = i obj.name = response.data.list.data1[i] this.tab.chart4.statisticsList.push(obj) } this.tab.chart4.chart4Data3 = response.data.list.data3 this.tab.chart4.total = response.data.total console.log('车辆准确率(重量)图', this.tab.chart4.chartLine_data) console.log('车辆准确率(重量)表', this.tab.chart4.table.list) var arrData3 = [] for (let i = 0; i < this.tab.chart4.getdataListParm.parammaps.statisticsList.length; i++) { const myId = this.tab.chart4.statisticsList.find(obj => obj.name == this.tab.chart4.getdataListParm.parammaps.statisticsList[i]).id for (let j = 0; j < this.tab.chart4.chart4Data3.length; j++) { if (j == myId) { arrData3.push(this.tab.chart4.chart4Data3[j]) } } } this.tab.chart4.chartLine_data.data3 = arrData3 this.tab.chart4.chartLine_data.data1 = this.tab.chart4.getdataListParm.parammaps.statisticsList this.roadChartLine4(this.tab.chart4.chartLine_data) } else { this.tab.chart4.list = [] } setTimeout(() => { this.tab.chart4.listLoading = false }, 100) }) }, roadChartLine4(chartLine_data) { if (this.tab.chart4.chartLine != null) { this.tab.chart4.chartLine.dispose() } this.tab.chart4.chartLine = echarts.init(document.getElementById('chartLine4')) var option = { title: { text: '' }, tooltip: { trigger: 'axis' }, legend: { data: chartLine_data.data1, right: 10 }, grid: { top: '20%', left: '5%', right: '8%', containLabel: true }, toolbox: { show: true, right: '2%', feature: {} }, xAxis: { type: 'category', boundaryGap: false, data: chartLine_data.data2, name: '日期' }, yAxis: { type: 'value', name: '百分比', axisLabel: { formatter: '{value} %' } }, series: (function() { var serie = [] for (var i = 0; i < chartLine_data.data3.length; i++) { var item = { name: chartLine_data.data1[i], type: 'line', data: chartLine_data.data3[i].data } serie.push(item) } return serie }()) } this.tab.chart4.chartLine.setOption(option) window.onresize = function() { this.tab.chart4.chartLine.resize() } }, // 混料统计 getChart5() { this.tab.chart5.listLoading = true GetReportform(this.tab.chart5.getdataListParm).then(response => { if (response.data.list !== null) { for (let i = 0; i < response.data.data.length; i++) { if (response.data.data[i].field1 !== '' && response.data.data[i].field1 !== undefined) { response.data.data[i].field1 = parseFloat(response.data.data[i].field1) } if (response.data.data[i].field2 !== '' && response.data.data[i].field2 !== undefined) { response.data.data[i].field2 = parseFloat(response.data.data[i].field2) } if (response.data.data[i].理论自动 !== '' && response.data.data[i].理论自动 !== undefined) { response.data.data[i].理论自动 = parseFloat(response.data.data[i].理论自动) } if (response.data.data[i].实际自动 !== '' && response.data.data[i].实际自动 !== undefined) { response.data.data[i].实际自动 = parseFloat(response.data.data[i].实际自动) } if (response.data.data[i].field3 !== '' && response.data.data[i].field3 !== undefined) { response.data.data[i].field3 = parseFloat(response.data.data[i].field3) } if (response.data.data[i].理论手动 !== '' && response.data.data[i].理论手动 !== undefined) { response.data.data[i].理论手动 = parseFloat(response.data.data[i].理论手动) } if (response.data.data[i].实际手动 !== '' && response.data.data[i].实际手动 !== undefined) { response.data.data[i].实际手动 = parseFloat(response.data.data[i].实际手动) } if (response.data.data[i].field4 !== '' && response.data.data[i].field4 !== undefined) { response.data.data[i].field4 = parseFloat(response.data.data[i].field4) } } this.tab.chart5.table.list = response.data.data this.tab.chart5.chartLine_data = response.data.list this.tab.chart5.total = response.data.total console.log('混料统计图', this.tab.chart5.chartLine_data) console.log('混料统计表', this.tab.chart5.table.list) this.roadChartLine5(this.tab.chart5.chartLine_data) } else { this.tab.chart5.list = [] } setTimeout(() => { this.tab.chart5.listLoading = false }, 100) }) }, roadChartLine5(chartLine_data) { if (this.tab.chart5.chartLine != null) { this.tab.chart5.chartLine.dispose() } this.tab.chart5.chartLine = echarts.init(document.getElementById('chartLine5')) var option = { tooltip: { trigger: 'axis', axisPointer: { type: 'cross', crossStyle: { color: '#999' } } }, toolbox: { feature: {} }, legend: { data: ['自动跳转次数', '手动跳转次数', '自动跳转准确率', '手动跳转准确率'] }, grid: { top: '20%', left: '5%', right: '8%', containLabel: true }, xAxis: [ { type: 'category', data: chartLine_data.data1, axisPointer: { type: 'shadow' } } ], yAxis: [ { splitLine: { show: false }, type: 'value', name: '跳转次数', axisLabel: { formatter: '{value}' } }, { splitLine: { show: false }, type: 'value', name: '混料准确率', min: 0, max: 100, interval: 10, axisLabel: { formatter: '{value} %' } } ], series: [ { name: '自动跳转次数', type: 'bar', data: chartLine_data.data2 }, { name: '手动跳转次数', type: 'bar', data: chartLine_data.data3 }, { name: '自动跳转准确率', type: 'line', yAxisIndex: 1, data: chartLine_data.data4 }, { name: '手动跳转准确率', type: 'line', yAxisIndex: 1, data: chartLine_data.data5 } ] } this.tab.chart5.chartLine.setOption(option) window.onresize = function() { this.tab.chart5.chartLine.resize() } }, // 混料计划取消次数 getChart6() { this.tab.chart6.listLoading = true GetReportform(this.tab.chart6.getdataListParm).then(response => { if (response.data.list !== null) { for (let i = 0; i < response.data.data.length; i++) { if (response.data.data[i].field1 !== '' && response.data.data[i].field1 !== undefined) { response.data.data[i].field1 = parseFloat(response.data.data[i].field1) } } this.tab.chart6.table.list = response.data.data this.tab.chart6.chartLine_data = response.data.list this.tab.chart6.total = response.data.total console.log('混料计划取消次数图', this.tab.chart6.chartLine_data) console.log('混料计划取消次数表', this.tab.chart6.table.list) this.roadChartLine6(this.tab.chart6.chartLine_data) } else { this.tab.chart6.list = [] } setTimeout(() => { this.tab.chart6.listLoading = false }, 100) }) }, roadChartLine6(chartLine_data) { if (this.tab.chart6.chartLine != null) { this.tab.chart6.chartLine.dispose() } this.tab.chart6.chartLine = echarts.init(document.getElementById('chartLine6')) var option = { color: ['#3398DB'], tooltip: { trigger: 'axis', axisPointer: { // 坐标轴指示器,坐标轴触发有效 type: 'shadow' // 默认为直线,可选为:'line' | 'shadow' } }, legend: { data: ['取消次数'], right: 10 }, grid: { top: '20%', left: '5%', right: '8%', containLabel: true }, xAxis: [ { name: '日期', type: 'category', data: chartLine_data.data1, axisTick: { alignWithLabel: true } } ], yAxis: [ { name: '次数', interval: 1, // 会出现负数刻度 min: 0, type: 'value' } ], series: [ { name: '取消次数', type: 'bar', barWidth: '60%', data: chartLine_data.data2 } ] } this.tab.chart6.chartLine.setOption(option) window.onresize = function() { this.tab.chart6.chartLine.resize() } }, // 栏舍撒料时间统计 changeStatisticChart7(arr) { var arr1 = [] for (let i = 0; i < arr.length; i++) { if (arr[i] !== 'all') { arr1.push(arr[i]) } } this.tab.chart4.getdataListParm.parammaps.statisticsList = arr1 var arrData3 = [] for (let i = 0; i < this.tab.chart7.getdataListParm.parammaps.statisticsList.length; i++) { const myId = this.tab.chart7.statisticsList.find(obj => obj.name == this.tab.chart7.getdataListParm.parammaps.statisticsList[i]).id for (let j = 0; j < this.tab.chart7.chart7Data3.length; j++) { if (j == myId) { arrData3.push(this.tab.chart7.chart7Data3[j]) } } } this.tab.chart7.chartLine_data.data3 = arrData3 this.tab.chart7.chartLine_data.data1 = this.tab.chart7.getdataListParm.parammaps.statisticsList this.roadChartLine7(this.tab.chart7.chartLine_data) }, getChart7() { this.tab.chart7.listLoading = true GetReportform(this.tab.chart7.getdataListParm).then(response => { if (response.data.list !== null) { for (let i = 0; i < response.data.data.length; i++) { // 撒料时间 var b = [] for (let j = 0; j <= response.data.data[i].准确率.length; j++) { // console.log(response.data.data[i].准确率) if (response.data.data[i].准确率.charAt(j) == '.') { b[j] = response.data.data[i].准确率.replace('.', ':') } } response.data.data[i].准确率 = b[b.length - 1] response.data.data[i].撒料时间 = response.data.data[i].准确率 } this.tab.chart7.table.list = response.data.data this.tab.chart7.chartLine_data = response.data.list this.tab.chart7.statisticsList = [] this.tab.chart7.getdataListParm.parammaps.statisticsList = [] for (let i = 0; i < response.data.list.data1.length; i++) { if (i < 10) { this.tab.chart7.getdataListParm.parammaps.statisticsList.push(response.data.list.data1[i]) } var obj = {} obj.id = i obj.name = response.data.list.data1[i] this.tab.chart7.statisticsList.push(obj) } this.tab.chart7.chart7Data3 = response.data.list.data3 this.tab.chart7.total = response.data.total console.log('栏舍撒料时间统计图', this.tab.chart7.chartLine_data) console.log('栏舍撒料时间统计表', this.tab.chart7.table.list) var arrData3 = [] for (let i = 0; i < this.tab.chart7.getdataListParm.parammaps.statisticsList.length; i++) { const myId = this.tab.chart7.statisticsList.find(obj => obj.name == this.tab.chart7.getdataListParm.parammaps.statisticsList[i]).id for (let j = 0; j < this.tab.chart7.chart7Data3.length; j++) { if (j == myId) { arrData3.push(this.tab.chart7.chart7Data3[j]) } } } this.tab.chart7.chartLine_data.data3 = arrData3 this.tab.chart7.chartLine_data.data1 = this.tab.chart7.getdataListParm.parammaps.statisticsList this.roadChartLine7(this.tab.chart7.chartLine_data) } else { this.tab.chart7.list = [] } setTimeout(() => { this.tab.chart7.listLoading = false }, 100) }) }, roadChartLine7(chartLine_data) { if (this.tab.chart7.chartLine != null) { this.tab.chart7.chartLine.dispose() } this.tab.chart7.chartLine = echarts.init(document.getElementById('chartLine7')) var option = { title: { text: '' }, tooltip: { trigger: 'axis', formatter: function(params) { // console.log(params) var tip = params[0].name for (let i = 0; i < params.length; i++) { var b = [] // var str = params[i].value for (let j = 0; j <= params[i].value.length; j++) { if (params[i].value !== '') { if (params[i].value.charAt(j) == '.') { b[j] = params[i].value.replace('.', ':') } } else { b[j] = '' } } tip += '<br>' + params[i].seriesName + ': ' + b[b.length - 1] } return tip } }, legend: { data: chartLine_data.data1, right: 10 }, grid: { top: '20%', left: '5%', right: '8%', containLabel: true }, toolbox: { show: true, right: '2%', feature: {} }, xAxis: { type: 'category', boundaryGap: false, data: chartLine_data.data2, name: '日期' }, yAxis: [{ type: '', name: '时间', mix: 0, max: 24, interval: 2, axisLabel: { formatter: function(value) { var texts = [] if (value < 10) { texts.push('0' + value + ':00') } else { texts.push(value + ':00') } return texts } } }], series: (function() { var serie = [] for (var i = 0; i < chartLine_data.data3.length; i++) { var item = { name: chartLine_data.data1[i], type: 'line', data: chartLine_data.data3[i].data } serie.push(item) } return serie }()) } this.tab.chart7.chartLine.setOption(option) window.onresize = function() { this.tab.chart7.chartLine.resize() } }, // 时间 changeChartDate(item) { console.log(item) if (item == 'chart1') { if (this.tab.chart1.getdataListParm.parammaps.inputDatetime !== '' && this.tab.chart1.getdataListParm.parammaps.inputDatetime !== null) { this.tab.chart1.getdataListParm.parammaps.startTime = parseTime(this.tab.chart1.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.chart1.getdataListParm.parammaps.stopTime = parseTime(this.tab.chart1.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') this.getChart1() } else { this.tab.chart1.getdataListParm.parammaps.inputDatetime = '' this.tab.chart1.getdataListParm.parammaps.startTime = '' this.tab.chart1.getdataListParm.parammaps.stopTime = '' this.getChart1() } } else if (item == 'chart2') { if (this.tab.chart2.getdataListParm.parammaps.inputDatetime !== '' && this.tab.chart2.getdataListParm.parammaps.inputDatetime !== null) { this.tab.chart2.getdataListParm.parammaps.startTime = parseTime(this.tab.chart2.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.chart2.getdataListParm.parammaps.stopTime = parseTime(this.tab.chart2.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') this.getChart2() } else { this.tab.chart2.getdataListParm.parammaps.inputDatetime = '' this.tab.chart2.getdataListParm.parammaps.startTime = '' this.tab.chart2.getdataListParm.parammaps.stopTime = '' this.getChart2() } } else if (item == 'chart3') { if (this.tab.chart3.getdataListParm.parammaps.inputDatetime !== '' && this.tab.chart3.getdataListParm.parammaps.inputDatetime !== null) { this.tab.chart3.getdataListParm.parammaps.startTime = parseTime(this.tab.chart3.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.chart3.getdataListParm.parammaps.stopTime = parseTime(this.tab.chart3.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') this.getChart3() } else { this.tab.chart3.getdataListParm.parammaps.inputDatetime = '' this.tab.chart3.getdataListParm.parammaps.startTime = '' this.tab.chart3.getdataListParm.parammaps.stopTime = '' this.getChart3() } } else if (item == 'chart4') { if (this.tab.chart4.getdataListParm.parammaps.inputDatetime !== '' && this.tab.chart4.getdataListParm.parammaps.inputDatetime !== null) { this.tab.chart4.getdataListParm.parammaps.startTime = parseTime(this.tab.chart4.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.chart4.getdataListParm.parammaps.stopTime = parseTime(this.tab.chart4.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') this.getChart4() } else { this.tab.chart4.getdataListParm.parammaps.inputDatetime = '' this.tab.chart4.getdataListParm.parammaps.startTime = '' this.tab.chart4.getdataListParm.parammaps.stopTime = '' this.getChart4() } } else if (item == 'chart5') { if (this.tab.chart5.getdataListParm.parammaps.inputDatetime !== '' && this.tab.chart5.getdataListParm.parammaps.inputDatetime !== null) { this.tab.chart5.getdataListParm.parammaps.startTime = parseTime(this.tab.chart5.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.chart5.getdataListParm.parammaps.stopTime = parseTime(this.tab.chart5.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') this.getChart5() } else { this.tab.chart5.getdataListParm.parammaps.inputDatetime = '' this.tab.chart5.getdataListParm.parammaps.startTime = '' this.tab.chart5.getdataListParm.parammaps.stopTime = '' this.getChart5() } } else if (item == 'chart6') { if (this.tab.chart6.getdataListParm.parammaps.inputDatetime !== '' && this.tab.chart6.getdataListParm.parammaps.inputDatetime !== null) { this.tab.chart6.getdataListParm.parammaps.startTime = parseTime(this.tab.chart6.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.chart6.getdataListParm.parammaps.stopTime = parseTime(this.tab.chart6.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') this.getChart6() } else { this.tab.chart6.getdataListParm.parammaps.inputDatetime = '' this.tab.chart6.getdataListParm.parammaps.startTime = '' this.tab.chart6.getdataListParm.parammaps.stopTime = '' this.getChart6() } } else if (item == 'chart7') { if (this.tab.chart6.getdataListParm.parammaps.inputDatetime !== '' && this.tab.chart7.getdataListParm.parammaps.inputDatetime !== null) { this.tab.chart7.getdataListParm.parammaps.startTime = parseTime(this.tab.chart7.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab.chart7.getdataListParm.parammaps.stopTime = parseTime(this.tab.chart7.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') this.getChart7() } else { this.tab.chart7.getdataListParm.parammaps.inputDatetime = '' this.tab.chart7.getdataListParm.parammaps.startTime = '' this.tab.chart7.getdataListParm.parammaps.stopTime = '' this.getChart7() } } }, // 导出 handleExport(item) { if (item == 'chart1') { console.log('配方准确率导出') var excelDatasTabChart1 = [ { tHeader: ['日期', '配方名称', '计划重量(kg)', '实际重量(kg)', '准确率'], filterVal: ['日期', '名称', '理论量', '实际量', '准确率'], tableDatas: this.tab.chart1.table.list, sheetName: '配方准确率' } ] json2excel(excelDatasTabChart1, '配方准确率', true, 'xlsx') } else if (item == 'chart2') { console.log('计划统计导出') var excelDatasTabChart2 = [ { tHeader: ['日期', '计划执行重量(kg)', '配方理论重量(kg)', '计划准确率', '计划取消重量(kg)', '计划准确率(去除取消重量)', '计划正确数', '计划数', '计划正确率'], filterVal: ['日期', '实际量', '理论量', 'field1', '计划取消重量', 'field3', '正确数', '计划数', 'field2'], tableDatas: this.tab.chart2.table.list, sheetName: '计划统计' } ] json2excel(excelDatasTabChart2, '计划统计', true, 'xlsx') } else if (item == 'chart3') { console.log('牛群准确率导出') var excelDatasTabChart3 = [ { tHeader: ['日期', '牲畜类别', '计划重量(kg)', '实际重量(kg)', '准确率'], filterVal: ['日期', '名称', '理论量', '实际量', '准确率'], tableDatas: this.tab.chart3.table.list, sheetName: '牛群准确率' } ] json2excel(excelDatasTabChart3, '牛群准确率', true, 'xlsx') } else if (item == 'chart4') { console.log('车辆准确率(重量)导出') var excelDatasTabChart4 = [ { tHeader: ['日期', '车次', '计划重量(kg)', '实际重量(kg)', '准确率'], filterVal: ['日期', '名称', '理论量', '实际量', '准确率'], tableDatas: this.tab.chart4.table.list, sheetName: '车辆准确率(重量)' } ] json2excel(excelDatasTabChart4, '车辆准确率(重量)', true, 'xlsx') } else if (item == 'chart5') { console.log('混料统计导出') var excelDatasTabChart5 = [ { tHeader: ['日期', '自动跳转次数', '手动跳转次数', '自动跳转理论重量', '自动跳转实际重量', '自动跳转准确率', '手动跳转理论重量', '手动跳转实际重量', '手动跳转准确率'], filterVal: ['日期', 'field1', 'field2', '理论自动', '实际自动', 'field3', '理论手动', '实际手动', 'field4'], tableDatas: this.tab.chart5.table.list, sheetName: '混料统计' } ] json2excel(excelDatasTabChart5, '混料统计', true, 'xlsx') } else if (item == 'chart6') { console.log('混料计划取消次数导出') var excelDatasTabChart6 = [ { tHeader: ['日期', '混料计划取消次数'], filterVal: ['日期', 'field1'], tableDatas: this.tab.chart6.table.list, sheetName: '混料计划取消次数' } ] json2excel(excelDatasTabChart6, '混料计划取消次数', true, 'xlsx') } else if (item == 'chart7') { console.log('栏舍撒料时间统计导出') var excelDatasTabChart7 = [ { tHeader: ['日期', '栏舍', '撒料时间'], filterVal: ['日期', 'fname', '准确率'], tableDatas: this.tab.chart7.table.list, sheetName: '栏舍撒料时间统计' } ] json2excel(excelDatasTabChart7, '栏舍撒料时间统计', true, 'xlsx') } }, // 切换表格 handleTable(item) { // 显示切换表格 if (item == 'chart1') { console.log('配方准确率表格') this.tab.chart1.isTable = true this.tab.chart1.isChart = false } else if (item == 'chart2') { console.log('计划统计表格') this.tab.chart2.isTable = true this.tab.chart2.isChart = false } else if (item == 'chart3') { console.log('牛群准确率表格') this.tab.chart3.isTable = true this.tab.chart3.isChart = false } else if (item == 'chart4') { console.log('车辆准确率(重量)表格') this.tab.chart4.isTable = true this.tab.chart4.isChart = false } else if (item == 'chart5') { console.log('混料统计表格') this.tab.chart5.isTable = true this.tab.chart5.isChart = false } else if (item == 'chart6') { console.log('混料计划取消次数表格') this.tab.chart6.isTable = true this.tab.chart6.isChart = false } else if (item == 'chart7') { console.log('栏舍撒料时间统计表格') this.tab.chart7.isTable = true this.tab.chart7.isChart = false } }, // 切换图表 handleChart(item) { // 显示切换图表 if (item == 'chart1') { console.log('配方准确率图表') this.tab.chart1.isTable = false this.tab.chart1.isChart = true this.getChart1() } else if (item == 'chart2') { console.log('计划统计图表') this.tab.chart2.isTable = false this.tab.chart2.isChart = true this.getChart2() } else if (item == 'chart3') { console.log('牛群准确率图表') this.tab.chart3.isTable = false this.tab.chart3.isChart = true this.getChart3() } else if (item == 'chart4') { console.log('车辆准确率(重量)图表') this.tab.chart4.isTable = false this.tab.chart4.isChart = true this.getChart4() } else if (item == 'chart5') { console.log('混料统计图表') this.tab.chart5.isTable = false this.tab.chart5.isChart = true this.getChart5() } else if (item == 'chart6') { console.log('混料计划取消次数图表') this.tab.chart6.isTable = false this.tab.chart6.isChart = true this.getChart6() } else if (item == 'chart7') { console.log('栏舍撒料时间统计图表') this.tab.chart7.isTable = false this.tab.chart7.isChart = true this.getChart7() } }, // 混料统计 getTab2List() { this.tab2.table.listLoading = true GetDataByName(this.tab2.table.getdataListParm).then(response => { console.log('混料统计table数据', response.data.list) if (response.data.list !== null) { this.tab2.table.list = response.data.list this.tab2.table.total = response.data.total } else { this.tab2.table.list = [] } setTimeout(() => { this.tab2.table.listLoading = false }, 100) }) }, handleSearch2() { this.tab2.table.getdataListParm.name = 'getStatisticsHL' if (this.tab2.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab2.table.getdataListParm.parammaps.inputDatetime !== null) { console.log(this.tab2.table.getdataListParm.parammaps.inputDatetime) this.tab2.table.getdataListParm.parammaps.startTime = parseTime(this.tab2.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab2.table.getdataListParm.parammaps.stopTime = parseTime(this.tab2.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') } else { this.tab2.table.getdataListParm.parammaps.inputDatetime = '' this.tab2.table.getdataListParm.parammaps.startTime = '' this.tab2.table.getdataListParm.parammaps.stopTime = '' } this.tab2.table.getdataListParm.offset = 1 this.getTab2List() }, handleRefresh2() { this.tab2.table.getdataListParm.parammaps.tmrtname = '' this.tab2.table.getdataListParm.parammaps.projname = '' this.tab2.table.getdataListParm.parammaps.times = '' this.tab2.table.getdataListParm.parammaps.templetname = '' this.tab2.table.getdataListParm.parammaps.buttontype = '' this.getTab2List() }, handleExport2() { var excelDatasTab2 = [ { tHeader: ['日期', 'TMR名称', '车次', '班次', '配方名称', '饲料', '理论重量', '实际重量', '误差值', '准确率', '计划时间', '开始时间', '结束时间', ' 跳转方式', '开始重量', '结束重量'], filterVal: ['日期', 'TMR名称', '车次', '班次', '配方名称', '饲料', '理论重量', '实际重量', '误差值', '准确率', '计划时间', '开始时间', '结束时间', '跳转方式', '开始重量', '结束重量'], tableDatas: this.tab2.table.list, sheetName: '混料统计' } ] json2excel(excelDatasTab2, '混料统计', true, 'xlsx') }, // 撒料统计 getTab3List() { this.tab3.table.listLoading = true GetDataByName(this.tab3.table.getdataListParm).then(response => { console.log('撒料统计table数据', response.data.list) if (response.data.list !== null) { this.tab3.table.list = response.data.list this.tab3.table.total = response.data.total } else { this.tab3.table.list = [] } setTimeout(() => { this.tab3.table.listLoading = false }, 100) }) }, handleSearch3() { this.tab3.table.getdataListParm.name = 'getStatisticsSL' if (this.tab3.table.getdataListParm.parammaps.inputDatetime !== '' && this.tab3.table.getdataListParm.parammaps.inputDatetime !== null) { this.tab3.table.getdataListParm.parammaps.startTime = parseTime(this.tab3.table.getdataListParm.parammaps.inputDatetime[0], '{y}-{m}-{d}') this.tab3.table.getdataListParm.parammaps.stopTime = parseTime(this.tab3.table.getdataListParm.parammaps.inputDatetime[1], '{y}-{m}-{d}') } else { this.tab3.table.getdataListParm.parammaps.inputDatetime = '' this.tab3.table.getdataListParm.parammaps.startTime = '' this.tab3.table.getdataListParm.parammaps.stopTime = '' } this.tab3.table.getdataListParm.offset = 1 this.getTab3List() }, handleRefresh3() { this.tab3.table.getdataListParm.parammaps.tmrtname = '' this.tab3.table.getdataListParm.parammaps.projname = '' this.tab3.table.getdataListParm.parammaps.times = '' this.tab3.table.getdataListParm.parammaps.templetname = '' this.tab3.table.getdataListParm.parammaps.buttontype = '' this.tab3.table.getdataListParm.parammaps.fname = '' this.getTab3List() }, handleExport3() { var excelDatasTab3 = [ { tHeader: ['日期', 'TMR名称', '车次', '班次', '配方名称', '栏舍', '理论重量', '实际重量', '误差值', '准确率', '开始时间', '结束时间', '跳转方式', '开始重量', '结束重量'], filterVal: ['日期', 'TMR名称', '车次', '班次', '配方名称', '栏舍', '理论重量', '实际重量', '误差值', '准确率', '开始时间', '结束时间', '跳转方式', '开始重量', '结束重量'], tableDatas: this.tab3.table.list, sheetName: '撒料统计' } ] json2excel(excelDatasTab3, '撒料统计', true, 'xlsx') } } } </script> <style lang="scss" scoped> .search{ .el-radio{margin-right: 10px;} } .button{ height: 50px; .exportTable{float: right;margin-right: 5px;} } .app-container1{padding-left: 10px;background-color: #F4F4F4;} .dashboard-editor-container { background-color: #F4F4F4; .grid-content{ background-color:#fff;padding: 0 10px; h4{text-align: center;line-height: 50px;} } } .table{margin-bottom: 50px;} </style>