no commit message

This commit is contained in:
ICEC 2020-07-16 15:07:30 +08:00
parent 8118ab4dbe
commit a0f465e947
4 changed files with 135 additions and 86 deletions

View File

@ -48,9 +48,9 @@
"echarts": "4.2.1", "echarts": "4.2.1",
"element-ui": "2.13.0", "element-ui": "2.13.0",
"file-saver": "2.0.1", "file-saver": "2.0.1",
"js-beautify": "^1.10.2",
"fuse.js": "3.4.4", "fuse.js": "3.4.4",
"jquery": "^3.5.1", "jquery": "^3.5.1",
"js-beautify": "^1.10.2",
"js-cookie": "2.2.0", "js-cookie": "2.2.0",
"jsencrypt": "3.0.0-rc.1", "jsencrypt": "3.0.0-rc.1",
"normalize.css": "7.0.0", "normalize.css": "7.0.0",
@ -61,12 +61,13 @@
"sortablejs": "1.8.4", "sortablejs": "1.8.4",
"vue": "2.6.10", "vue": "2.6.10",
"vue-count-to": "1.0.13", "vue-count-to": "1.0.13",
"vue-quill-editor": "3.0.6",
"vue-cropper": "0.4.9", "vue-cropper": "0.4.9",
"vue-quill-editor": "3.0.6",
"vue-router": "3.0.2", "vue-router": "3.0.2",
"vue-splitpane": "1.0.4", "vue-splitpane": "1.0.4",
"vuedraggable": "2.20.0", "vuedraggable": "2.20.0",
"vuex": "3.1.0" "vuex": "3.1.0",
"xlsx": "^0.16.3"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "7.0.0", "@babel/core": "7.0.0",

View File

@ -41,6 +41,8 @@
</el-option> </el-option>
</el-select> </el-select>
<el-button @click="getData" type="primary">查询</el-button> <el-button @click="getData" type="primary">查询</el-button>
<el-button @click="exportExcel" type="primary">导出</el-button>
</el-col> </el-col>
</el-row> </el-row>
@ -77,6 +79,7 @@
<b>产线明细</b> <b>产线明细</b>
<div class="ibox-content"> <div class="ibox-content">
<el-table <el-table
id="exportTableData"
:data="tableData" :data="tableData"
stripe stripe
border border
@ -125,7 +128,8 @@
<script> <script>
import echarts from 'echarts' import echarts from 'echarts'
import FileSaver from 'file-saver'
import XLSX from 'xlsx'
require('echarts/theme/macarons') // echarts theme require('echarts/theme/macarons') // echarts theme
import resize from '../dashboard/mixins/resize' import resize from '../dashboard/mixins/resize'
import {getDateRange} from '@/api/dashboard/fxdashboard' import {getDateRange} from '@/api/dashboard/fxdashboard'
@ -144,10 +148,10 @@
tableData: [], tableData: [],
options: [{ options: [{
value: '08:00:01', value: '08:00:01',
label: '白班' label: '08:00'
}, { }, {
value: '20:00:00', value: '20:00:00',
label: '夜班' label: '20:00'
}], }],
daterange_group_value1: [], daterange_group_value1: [],
daterange_group_value2: [], daterange_group_value2: [],
@ -185,8 +189,8 @@
this.daterange_group_value1 = "08:00:01" this.daterange_group_value1 = "08:00:01"
this.daterange_group_value2 = "08:00:01" this.daterange_group_value2 = "08:00:01"
this.daterange_time1= '2020-05-01' this.daterange_time1= '2020-07-01'
this.daterange_time2= '2020-05-01' this.daterange_time2= '2020-07-01'
}, },
@ -284,7 +288,21 @@
},
exportExcel () {
/* generate workbook object from table */
let wb = XLSX.utils.table_to_book(document.querySelector('#exportTableData'));
/* get binary string as output */
let wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: true, type: 'array' });
try {
FileSaver.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), '车间报表.xlsx');
} catch (e)
{
if (typeof console !== 'undefined')
console.log(e, wbout)
} }
return wbout
},
} }

View File

@ -1,52 +1,52 @@
<template> <template>
<div class="dashboard-editor-container"> <div class="dashboard-editor-container">
<el-row :gutter="32"> <!-- <el-row :gutter="32">-->
<el-col :xs="24" :sm="12" :lg="12" style="height: 170px"> <!-- <el-col :xs="24" :sm="12" :lg="12" style="height: 170px">-->
<table class="ibox" style="font-size:24px;width: 100%;margin-top: 50px" > <!-- <table class="ibox" style="font-size:24px;width: 100%;margin-top: 50px" >-->
<tbody> <!-- <tbody>-->
<tr> <!-- <tr>-->
<!-- <td> <!-- &lt;!&ndash; <td>-->
<strong>日期</strong> <i id="groupdate"></i> <!-- <strong>日期</strong> <i id="groupdate"></i>-->
</td> --> <!-- </td> &ndash;&gt;-->
<td id="groupdate"> <!-- <td id="groupdate">-->
</td> <!-- </td>-->
<td> <!-- <td>-->
<strong>班次</strong> 白班 <!-- <strong>班次</strong> 白班-->
</td> <!-- </td>-->
<tr> <!-- <tr>-->
</tr> <!-- </tr>-->
<td> <!-- <td>-->
<strong>班组</strong> 陈亮 <!-- <strong>班组</strong> -->
</td> <!-- </td>-->
<td> <!-- <td>-->
<strong>开线数量</strong> <i id="line_open_numbers">31/32</i> <!-- <strong>开线数量</strong> <i id="line_open_numbers">31/32</i>-->
</td> <!-- </td>-->
</tbody> <!-- </tbody>-->
</table> <!-- </table>-->
<!--右上角 生产进度 --> <!-- &lt;!&ndash;右上角 生产进度 &ndash;&gt;-->
</el-col> <!-- </el-col>-->
<el-col :xs="24" :sm="12" :lg="12"> <!-- <el-col :xs="24" :sm="12" :lg="12">-->
<div class="ibox"> <!-- <div class="ibox">-->
<div class="m-b-xs"> <!-- <div class="m-b-xs">-->
<h5 style="font-size:20px;">生产进度</h5> <!-- <h5 style="font-size:20px;">生产进度</h5>-->
<h2 id=shengchanjindu>65%</h2> <!-- <h2 id=shengchanjindu>65%</h2>-->
<div id=finishedbox class="m-t-sm small">当班已完成: 1200/2500 ()</div> <!-- <div id=finishedbox class="m-t-sm small">当班已完成: 1200/2500 ()</div>-->
<el-progress id="shengchanjinduavg" :percentage="56" :format="format"></el-progress> <!-- <el-progress id="shengchanjinduavg" :percentage="56" :format="format"></el-progress>-->
</div> <!-- </div>-->
</div> <!-- </div>-->
</el-col> <!-- </el-col>-->
</el-row> <!-- </el-row>-->
<el-row :gutter="32"> <el-row :gutter="32">
@ -88,21 +88,33 @@
border border
style="width: 100%"> style="width: 100%">
<el-table-column <el-table-column
prop="line" prop="Line"
label="线号" label="线号"
width="100"> width="50">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="Moulds" prop="ChangeMould"
label="量产模具"> label="是否换模中">
<template scope="scope">
<span v-if="scope.row.ChangeMould" style="color:red">换模中</span>
<span v-else style="color: #37B328"></span>
</template>
</el-table-column>
<el-table-column
prop="SoCode"
label="订单号">
</el-table-column>
<el-table-column
prop="MouldingStyleCode"
label="框型">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="FinishedQuantity" prop="FinishedQuantity"
label="完成箱数"> label="完成箱数">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="GroupProcessTime" prop="Quantity"
label="量产用时"> label="订单箱数">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="NormalCapacity" prop="NormalCapacity"
@ -118,20 +130,20 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="CurrentYield" prop="CurrentYield"
label="正品率"> label="当班正品率">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="AvgDensity" prop="ChangeMouldTime"
label="平均密度"> label="换模用时">
</el-table-column>
<el-table-column
prop="MouldAndChangeMouldTime"
label="换模型号-用时">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="Person" prop="Person"
label="人员"> label="人员">
</el-table-column> </el-table-column>
<el-table-column
prop="LastUpdateDate"
label="最后操作时间">
</el-table-column>
</el-table> </el-table>
</div> </div>
@ -144,18 +156,16 @@
<script> <script>
import echarts from 'echarts' import echarts from 'echarts'
require('echarts/theme/macarons') // echarts theme require('echarts/theme/macarons') // echarts theme
import resize from "./dashboard/mixins/resize"; import {getcurrent} from '@/api/dashboard/fxdashboard'
import {getDashboardGroup} from '@/api/dashboard/fxdashboard'
const lineChartData = { let lineChartData = {
xAxisData: [], xAxisData: [],
actualData: [] actualData: []
} }
export default { export default {
mixins: [resize], mixins: [],
name: 'density30day', name: 'density30day',
data() { data() {
return { return {
@ -174,9 +184,10 @@
methods: { methods: {
getData() { getData() {
getDashboardGroup().then(response => {
var j; getcurrent().then(response => {
console.log(response);
var j,k;
var avg_zhengpin_avg = 0; var avg_zhengpin_avg = 0;
var avg_density = 0; var avg_density = 0;
var avg_energy_avg = 0; var avg_energy_avg = 0;
@ -184,8 +195,11 @@
var sum_quantity = 0; var sum_quantity = 0;
var sum_currentfinishedquantity = 0; var sum_currentfinishedquantity = 0;
j = 0; j = 0;
k = 0;
var data_ajax = response.data;
var data_ajax = JSON.parse(response.msg);
response.data = data_ajax;
for (var i = 0; i < response.data.length; i++) { for (var i = 0; i < response.data.length; i++) {
lineChartData.xAxisData.push((response.data[i].time + '').replace(' 00:00:00.0', '')) lineChartData.xAxisData.push((response.data[i].time + '').replace(' 00:00:00.0', ''))
@ -193,36 +207,43 @@
this.tableData.push({ this.tableData.push({
line: response.data[i].line, ChangeMould: response.data[i].ChangeMould,
Moulds: response.data[i].Moulds, Line: response.data[i].Line,
MouldingStyleCode: response.data[i].MouldingStyleCode,
FinishedQuantity: response.data[i].FinishedQuantity, FinishedQuantity: response.data[i].FinishedQuantity,
GroupProcessTime: (response.data[i].GroupTime * 1) - (response.data[i].GroupChangeMouldTime * 1), GroupProcessTime: (response.data[i].GroupTime * 1) - (response.data[i].GroupChangeMouldTime * 1),
NormalCapacity: response.data[i].NormalCapacity, NormalCapacity: response.data[i].NormalCapacity * 2,
currentspeed: (response.data[i].currentspeed * 1).toFixed(0), currentspeed: (response.data[i].Speed * 60 * 60 * 24).toFixed(0),
CapacityStandardObtainedRate: (response.data[i].CapacityStandardObtainedRate * 100).toFixed(2) + '%', CapacityStandardObtainedRate: (response.data[i].CapacityStandardObtainedRate * 100).toFixed(2) + '%',
CurrentYield: (response.data[i].CurrentYield * 100).toFixed(2) + '%', CurrentYield: (response.data[i].CurrentYield * 100).toFixed(2) + '%',
AvgDensity: (response.data[i].AvgDensity * 1).toFixed(4), SoCode: response.data[i].SoCode,
MouldAndChangeMouldTime: response.data[i].MouldAndChangeMouldTime, ChangeMouldTime: response.data[i].ChangeMouldTime,
Person: response.data[i].Person, Person: response.data[i].OperatePersonName,
}) Quantity: response.data[i].Quantity,
console.log(data_ajax) LastUpdateDate: response.data[i].LastUpdateDate
if (data_ajax[i].GroupChangeMouldTime !== 0) {
avg_chang_moulding_time = avg_chang_moulding_time + (data_ajax[i].GroupChangeMouldTime) * 1; })
if (data_ajax[i].ChangeMouldTime !== 0) {
avg_chang_moulding_time = avg_chang_moulding_time + (data_ajax[i].ChangeMouldTime) * 1;
j = j + 1; j = j + 1;
} }
if (data_ajax[i].CurrentYield <= 1.2 && data_ajax[i].CurrentYield !== 0 && data_ajax[i].CurrentYield >= 0.3) {
avg_zhengpin_avg = avg_zhengpin_avg + (data_ajax[i].CurrentYield) * 1;
k = k + 1;
}
avg_density = parseFloat(avg_density) + parseFloat(data_ajax[i].AvgDensity); avg_density = parseFloat(avg_density) + parseFloat(data_ajax[i].AvgDensity);
avg_energy_avg = avg_energy_avg + (data_ajax[i].CapacityStandardObtainedRate) * 1; avg_energy_avg = avg_energy_avg + (data_ajax[i].CapacityStandardObtainedRate );
avg_zhengpin_avg = avg_zhengpin_avg + (data_ajax[i].CurrentYield) * 1;
sum_quantity = 2000; sum_quantity = 2000;
sum_currentfinishedquantity = sum_currentfinishedquantity + (data_ajax[i].FinishedQuantity) * 1; sum_currentfinishedquantity = sum_currentfinishedquantity + (data_ajax[i].FinishedQuantity) * 1;
} }
const chart_energy_avg = echarts.init(document.getElementById("chart_energy_avg")); const chart_energy_avg = echarts.init(document.getElementById("chart_energy_avg"));
@ -231,7 +252,7 @@
const chart_change_moulding_time = echarts.init(document.getElementById("chart_change_moulding_time")); const chart_change_moulding_time = echarts.init(document.getElementById("chart_change_moulding_time"));
option_zhengpin_avg.series[0].data[0].value = (avg_zhengpin_avg / data_ajax.length * 100).toFixed(0); option_zhengpin_avg.series[0].data[0].value = (avg_zhengpin_avg / k * 100).toFixed(0);
chart_zhengpin_avg.setOption(option_zhengpin_avg, true); chart_zhengpin_avg.setOption(option_zhengpin_avg, true);
option_density.series[0].data[0].value = (avg_density / data_ajax.length).toFixed(3); option_density.series[0].data[0].value = (avg_density / data_ajax.length).toFixed(3);

View File

@ -39,7 +39,9 @@ public class DB_Ajax_DashBoard_48102 {
List<HashMap<String,String>> hashMapList = new ArrayList<>(); List<HashMap<String,String>> hashMapList = new ArrayList<>();
try { try {
Connection conn = getSQLConnection(); Connection conn = getSQLConnection();
String sql = "SELECT * FROM [dbo].[V_chen_Dashboard_当前] order by line"; String sql = "SELECT * FROM [dbo].[V_chen_Dashboard_当前] order by " +
"CAST (" +
"REPLACE( line, '#', '' ) AS INT)";
Statement stmt = conn.createStatement();// Statement stmt = conn.createStatement();//
@ -145,7 +147,9 @@ public class DB_Ajax_DashBoard_48102 {
List<HashMap<String,String>> hashMapList = new ArrayList<>(); List<HashMap<String,String>> hashMapList = new ArrayList<>();
try { try {
Connection conn = getSQLConnection(); Connection conn = getSQLConnection();
String sql = "SELECT * FROM V_chen_Dashboard_当天"; String sql = "SELECT * FROM V_chen_Dashboard_当天 ORDER BY " +
"CAST (" +
"REPLACE( line, '#', '' ) AS INT)";
Statement stmt = conn.createStatement();// Statement stmt = conn.createStatement();//
@ -182,7 +186,9 @@ public class DB_Ajax_DashBoard_48102 {
List<HashMap<String,String>> hashMapList = new ArrayList<>(); List<HashMap<String,String>> hashMapList = new ArrayList<>();
try { try {
Connection conn = getSQLConnection(); Connection conn = getSQLConnection();
String sql = "SELECT * FROM V_chen_Dashboard_当月"; String sql = "SELECT * FROM V_chen_Dashboard_当月 ORDER BY "+
" CAST (" +
"REPLACE( line, '#', '' ) AS INT)";
Statement stmt = conn.createStatement();// Statement stmt = conn.createStatement();//
@ -329,8 +335,11 @@ public class DB_Ajax_DashBoard_48102 {
" ) AS db3) AS db3 GROUP BY line ) AS db2 ON db2.line = db1.line\r\n" + " ) AS db3) AS db3 GROUP BY line ) AS db2 ON db2.line = db1.line\r\n" +
" LEFT JOIN (SELECT Line,id,DATEDIFF(MINUTE,StartTime,EndTime) as ChangeMouldTime FROM MouldingDisplayBoard WHERE id IN (SELECT MAX (id) AS id FROM MouldingDisplayBoard WHERE ChangeMould=1 GROUP BY Line)) as db4 on db4.line = db1.line\r\n" + " LEFT JOIN (SELECT Line,id,DATEDIFF(MINUTE,StartTime,EndTime) as ChangeMouldTime FROM MouldingDisplayBoard WHERE id IN (SELECT MAX (id) AS id FROM MouldingDisplayBoard WHERE ChangeMould=1 GROUP BY Line)) as db4 on db4.line = db1.line\r\n" +
"\r\n" + "\r\n" +
"GROUP BY\r\n" + "GROUP BY" +
" db1.line"; " db1.line " +
"ORDER BY " +
"CAST (" +
" REPLACE( db1.line, '#', '' ) AS INT)";
Statement stmt = conn.createStatement();// Statement stmt = conn.createStatement();//
ResultSet rs = stmt.executeQuery(sql); ResultSet rs = stmt.executeQuery(sql);