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

View File

@ -41,6 +41,8 @@
</el-option>
</el-select>
<el-button @click="getData" type="primary">查询</el-button>
<el-button @click="exportExcel" type="primary">导出</el-button>
</el-col>
</el-row>
@ -77,6 +79,7 @@
<b>产线明细</b>
<div class="ibox-content">
<el-table
id="exportTableData"
:data="tableData"
stripe
border
@ -125,7 +128,8 @@
<script>
import echarts from 'echarts'
import FileSaver from 'file-saver'
import XLSX from 'xlsx'
require('echarts/theme/macarons') // echarts theme
import resize from '../dashboard/mixins/resize'
import {getDateRange} from '@/api/dashboard/fxdashboard'
@ -144,10 +148,10 @@
tableData: [],
options: [{
value: '08:00:01',
label: '白班'
label: '08:00'
}, {
value: '20:00:00',
label: '夜班'
label: '20:00'
}],
daterange_group_value1: [],
daterange_group_value2: [],
@ -185,8 +189,8 @@
this.daterange_group_value1 = "08:00:01"
this.daterange_group_value2 = "08:00:01"
this.daterange_time1= '2020-05-01'
this.daterange_time2= '2020-05-01'
this.daterange_time1= '2020-07-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>
<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" >
<tbody>
<tr>
<!-- <td>
<strong>日期</strong> <i id="groupdate"></i>
</td> -->
<td id="groupdate">
</td>
<td>
<strong>班次</strong> 白班
</td>
<tr>
</tr>
<td>
<strong>班组</strong> 陈亮
</td>
<td>
<strong>开线数量</strong> <i id="line_open_numbers">31/32</i>
</td>
</tbody>
</table>
<!--右上角 生产进度 -->
<!-- <table class="ibox" style="font-size:24px;width: 100%;margin-top: 50px" >-->
<!-- <tbody>-->
<!-- <tr>-->
<!-- &lt;!&ndash; <td>-->
<!-- <strong>日期</strong> <i id="groupdate"></i>-->
<!-- </td> &ndash;&gt;-->
<!-- <td id="groupdate">-->
<!-- </td>-->
<!-- <td>-->
<!-- <strong>班次</strong> 白班-->
<!-- </td>-->
<!-- <tr>-->
<!-- </tr>-->
<!-- <td>-->
<!-- <strong>班组</strong> -->
<!-- </td>-->
<!-- <td>-->
<!-- <strong>开线数量</strong> <i id="line_open_numbers">31/32</i>-->
<!-- </td>-->
<!-- </tbody>-->
<!-- </table>-->
<!-- &lt;!&ndash;右上角 生产进度 &ndash;&gt;-->
</el-col>
<!-- </el-col>-->
<el-col :xs="24" :sm="12" :lg="12">
<div class="ibox">
<div class="m-b-xs">
<h5 style="font-size:20px;">生产进度</h5>
<h2 id=shengchanjindu>65%</h2>
<div id=finishedbox class="m-t-sm small">当班已完成: 1200/2500 ()</div>
<el-progress id="shengchanjinduavg" :percentage="56" :format="format"></el-progress>
<!-- <el-col :xs="24" :sm="12" :lg="12">-->
<!-- <div class="ibox">-->
<!-- <div class="m-b-xs">-->
<!-- <h5 style="font-size:20px;">生产进度</h5>-->
<!-- <h2 id=shengchanjindu>65%</h2>-->
<!-- <div id=finishedbox class="m-t-sm small">当班已完成: 1200/2500 ()</div>-->
<!-- <el-progress id="shengchanjinduavg" :percentage="56" :format="format"></el-progress>-->
</div>
</div>
</el-col>
<!-- </div>-->
<!-- </div>-->
<!-- </el-col>-->
</el-row>
<!-- </el-row>-->
<el-row :gutter="32">
@ -88,21 +88,33 @@
border
style="width: 100%">
<el-table-column
prop="line"
prop="Line"
label="线号"
width="100">
width="50">
</el-table-column>
<el-table-column
prop="Moulds"
label="量产模具">
prop="ChangeMould"
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
prop="FinishedQuantity"
label="完成箱数">
</el-table-column>
<el-table-column
prop="GroupProcessTime"
label="量产用时">
prop="Quantity"
label="订单箱数">
</el-table-column>
<el-table-column
prop="NormalCapacity"
@ -118,20 +130,20 @@
</el-table-column>
<el-table-column
prop="CurrentYield"
label="正品率">
label="当班正品率">
</el-table-column>
<el-table-column
prop="AvgDensity"
label="平均密度">
</el-table-column>
<el-table-column
prop="MouldAndChangeMouldTime"
label="换模型号-用时">
prop="ChangeMouldTime"
label="换模用时">
</el-table-column>
<el-table-column
prop="Person"
label="人员">
</el-table-column>
<el-table-column
prop="LastUpdateDate"
label="最后操作时间">
</el-table-column>
</el-table>
</div>
@ -144,18 +156,16 @@
<script>
import echarts from 'echarts'
require('echarts/theme/macarons') // echarts theme
import resize from "./dashboard/mixins/resize";
import {getDashboardGroup} from '@/api/dashboard/fxdashboard'
import {getcurrent} from '@/api/dashboard/fxdashboard'
const lineChartData = {
let lineChartData = {
xAxisData: [],
actualData: []
}
export default {
mixins: [resize],
mixins: [],
name: 'density30day',
data() {
return {
@ -174,9 +184,10 @@
methods: {
getData() {
getDashboardGroup().then(response => {
var j;
getcurrent().then(response => {
console.log(response);
var j,k;
var avg_zhengpin_avg = 0;
var avg_density = 0;
var avg_energy_avg = 0;
@ -184,8 +195,11 @@
var sum_quantity = 0;
var sum_currentfinishedquantity = 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++) {
lineChartData.xAxisData.push((response.data[i].time + '').replace(' 00:00:00.0', ''))
@ -193,36 +207,43 @@
this.tableData.push({
line: response.data[i].line,
Moulds: response.data[i].Moulds,
ChangeMould: response.data[i].ChangeMould,
Line: response.data[i].Line,
MouldingStyleCode: response.data[i].MouldingStyleCode,
FinishedQuantity: response.data[i].FinishedQuantity,
GroupProcessTime: (response.data[i].GroupTime * 1) - (response.data[i].GroupChangeMouldTime * 1),
NormalCapacity: response.data[i].NormalCapacity,
currentspeed: (response.data[i].currentspeed * 1).toFixed(0),
NormalCapacity: response.data[i].NormalCapacity * 2,
currentspeed: (response.data[i].Speed * 60 * 60 * 24).toFixed(0),
CapacityStandardObtainedRate: (response.data[i].CapacityStandardObtainedRate * 100).toFixed(2) + '%',
CurrentYield: (response.data[i].CurrentYield * 100).toFixed(2) + '%',
AvgDensity: (response.data[i].AvgDensity * 1).toFixed(4),
MouldAndChangeMouldTime: response.data[i].MouldAndChangeMouldTime,
Person: response.data[i].Person,
})
console.log(data_ajax)
SoCode: response.data[i].SoCode,
ChangeMouldTime: response.data[i].ChangeMouldTime,
Person: response.data[i].OperatePersonName,
Quantity: response.data[i].Quantity,
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;
}
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_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_currentfinishedquantity = sum_currentfinishedquantity + (data_ajax[i].FinishedQuantity) * 1;
}
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"));
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);
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<>();
try {
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();//
@ -145,7 +147,9 @@ public class DB_Ajax_DashBoard_48102 {
List<HashMap<String,String>> hashMapList = new ArrayList<>();
try {
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();//
@ -182,7 +186,9 @@ public class DB_Ajax_DashBoard_48102 {
List<HashMap<String,String>> hashMapList = new ArrayList<>();
try {
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();//
@ -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" +
" 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" +
"GROUP BY\r\n" +
" db1.line";
"GROUP BY" +
" db1.line " +
"ORDER BY " +
"CAST (" +
" REPLACE( db1.line, '#', '' ) AS INT)";
Statement stmt = conn.createStatement();//
ResultSet rs = stmt.executeQuery(sql);