成型机产量报表

master
zhaoxiaolin 6 months ago
parent 46eff879a8
commit d6f45a63f6

@ -16,7 +16,7 @@ export function getProductTraceList(query) {
});
}
//查询烘房产列表
//查询烘房列表
export function getHFProductionList(query) {
return request({
url: '/mes/reportWorks/getHFProductionList',
@ -31,3 +31,18 @@ export function getHFProductionTitle(query) {
params: query
});
}
//查询成型机产量列表
export function getCXJProductionList(query) {
return request({
url: '/mes/reportWorks/getCXJProductionList',
method: 'get',
params: query
});
}
export function getCXJProductionTitle(query) {
return request({
url: '/mes/reportWorks/getCXJProductionTitle',
method: 'get',
params: query
});
}

@ -74,10 +74,11 @@ export function getProjectInfoList(query) {
});
}
//方案下拉
export function getProjectOptions(query) {
export function getAutoDataOption(query) {
return request({
url: '/quality/checkTypeProject/getProjectOptions',
url: '/quality/checkTypeProject/getAutoDataOption',
method: 'get',
params: query
});
}

@ -0,0 +1,264 @@
<template>
<div class="app-container">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="98px"
>
<el-form-item label="工单时间" prop="productDateArray">
<el-date-picker
v-model="queryParams.productDateArray"
format="yyyy-MM-dd"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</el-form-item>
<el-form-item label="班次" prop="shiftId">
<el-select v-model="queryParams.shiftId" placeholder="请选择班次" clearable>
<el-option v-for="item in shiftList" :key="item.shiftId" :label="item.shiftDesc"
:value="item.shiftId"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="成型机名称" prop="equName">
<el-input
v-model="queryParams.equName"
placeholder="请输入成型机名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
>导出</el-button
>
</el-col>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<el-table
v-loading="loading"
height="500"
:data="machineProList"
:summary-method="getSummaries"
show-summary
>
<el-table-column label="日期" align="center" prop="ymd" min-width="100"/>
<template v-for="(column, index) in products">
<el-table-column align="center" min-width="100" :prop="column.code" :key="column.code" :label="column.label"/>
</template>
<el-table-column label="总产量" align="center" prop="totalQuantity"
min-width="100"
/>
</el-table>
</div>
</template>
<script>
import {getCXJProductionList,getCXJProductionTitle} from "@/api/mes/reportWorks";
import {getProShifts} from "@/api/mes/reportWork";
import moment from "moment";
export default {
name: "CxjProduction",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
machineProList: [],
//
products: [],
shiftList: [],
//
title: "",
//
open: false,
//
queryParams: {
productDateArray: [],
pageNum: 1,
pageSize: 10,
workorderCode: null,
workorderName: null,
parentOrder: null,
orderId: null,
shiftId: null,
orderCode: null,
productId: null,
productCode: null,
prodType: null,
productName: null,
productSpc: null,
productDate: null,
},
//
form: {},
};
},
created() {
this.getDate();
this.getList();
//
getProShifts().then(response => {
this.shiftList = response.data
})
},
methods: {
/**获取默认查询时间段**/
getDate() {
let start = this.Fungetdate (0)
let end = this.Fungetdate (1)
this.queryParams.productDateArray.push(start,end)
},
Fungetdate (num) {
var dd = new Date();
dd.setDate(dd.getDate() + num);
var y = dd.getFullYear();
var m = dd.getMonth() + 1;//
var d = dd.getDate();
return y + "-" + m + "-" + d;
},
/** 查询设备小时产量列表 */
getList() {
if (this.queryParams.productDateArray != null) {
this.queryParams.ymArrayStart = moment(this.queryParams.productDateArray[0]).format('YYYY-MM-DD');
this.queryParams.ymArrayEnd = moment(this.queryParams.productDateArray[1]).format('YYYY-MM-DD');
}
this.loading = true;
//Table
getCXJProductionTitle(this.queryParams).then((response) => {
this.products = [];
this.products = response;
});
//Table
getCXJProductionList(this.queryParams).then((response) => {
this.machineProList = response;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
productId: null,
productCode: null,
prodType: null,
productName: null,
productSpc: null,
wetDetailPlanId: null,
productDate: null,
shiftId: null,
ancestors: null,
status: null,
remark: null,
attr1: null,
attr2: null,
attr3: null,
attr4: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
factoryCode: null,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
/** 导出按钮操作 */
handleExport() {
this.download(
"mes/reportWorks/getCXJProductionExport",
{
...this.queryParams,
},
`HFProduction_${new Date().getTime()}.xlsx`
);
},
getSummaries(param) {
const { columns, data } = param;
const sums = [];
columns.forEach((column, index) => {
if (index === 0) {
sums[index] = "合计";
return;
}
const values = data.map((item) => Number(item[column.property]));
if (!values.every((value) => isNaN(value))) {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr);
if (!isNaN(value)) {
return prev + curr;
} else {
return prev;
}
}, 0);
sums[index] += "";
if (sums[index] > 1000000) {
sums[index] = "";
}
} else {
sums[index] = ""; //N/A
}
});
return sums;
},
},
};
</script>

@ -11,8 +11,8 @@
<el-form-item label="生产时间" prop="productDateArray">
<el-date-picker
v-model="queryParams.productDateArray"
format="yyyy-MM-dd"
type="daterange"
format="yyyy-MM-dd HH:mm:00"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
@ -134,9 +134,9 @@ export default {
methods: {
/**获取默认查询时间段**/
getDate() {
let start = this.Fungetdate(0);
let end = this.Fungetdate(1);
this.queryParams.productDateArray.push(start, end);
let start = this.Fungetdate (0)
let end = this.Fungetdate (1)
this.queryParams.productDateArray.push(start,end)
},
Fungetdate (num) {
var dd = new Date();
@ -150,12 +150,8 @@ export default {
/** 查询设备小时产量列表 */
getList() {
if (this.queryParams.productDateArray != null) {
this.queryParams.ymArrayStart = moment(
this.queryParams.productDateArray[0]
).format("YYYY-MM-DD HH:mm:ss");
this.queryParams.ymArrayEnd = moment(
this.queryParams.productDateArray[1]
).format("YYYY-MM-DD HH:mm:ss");
this.queryParams.ymArrayStart = moment(this.queryParams.productDateArray[0]).format('YYYY-MM-DD HH:mm:00');
this.queryParams.ymArrayEnd = moment(this.queryParams.productDateArray[1]).format('YYYY-MM-DD HH:mm:00');
}
this.loading = true;

@ -11,6 +11,31 @@
end-placeholder="结束日期">
</el-date-picker>
</el-form-item>
<!--
<el-form-item label="设备类型" prop="equipmentTypeCode">
<el-select
v-model="queryParams.equipmentTypeCode"
placeholder="请选择设备类型"
@change="changeEquType"
filterable
style="width: 200px"
>
<el-option
v-for="item in equipmentTypeOption"
:key="item.equipmentTypeCode"
:label="item.equipmentTypeName"
:value="item.equipmentTypeCode"
></el-option>
</el-select>
</el-form-item>-->
<el-form-item label="设备名称" prop="equName">
<el-input
v-model="queryParams.equName"
placeholder="请输入设备名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="班次" prop="shiftId">
<el-select v-model="queryParams.shiftId" placeholder="请选择班次" clearable>
<el-option v-for="item in workShift" :key="item.shiftId" :label="item.shiftDesc"
@ -47,14 +72,6 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="设备名称" prop="equName">
<el-input
v-model="queryParams.equName"
placeholder="请输入设备名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
@ -136,7 +153,11 @@ export default {
//
form: {},
// list
workShift: []
workShift: [],
equipmentTypeOption:[
{equipmentTypeCode:"equ_type_cxj",equipmentTypeCode:"成型机"},
{equipmentTypeCode:"equ_type_hf",equipmentTypeCode:"烘房"}
]
};
},
created() {
@ -270,7 +291,13 @@ export default {
});
return sums;
}
},
//
//changeEquType(value) {
// if (value =='equ_type_cxj') {
// this.headerParameters.lineName = selectedOption.equipmentName;
// }
//}
}
};
</script>

@ -251,6 +251,7 @@
</el-popover>
</template>
</el-table-column>
<el-table-column width="130" label="SAP设备编码" align="center" prop="sapCode"/>
<el-table-column label="班次" align="center" prop="shiftId" :formatter="shiftFormat"/>
<el-table-column width="150" label="工艺编码" align="center" prop="routeCode"/>
<el-table-column width="200" label="工艺名称" align="center" prop="routeName" :show-overflow-tooltip="true"/>

@ -103,6 +103,7 @@
v-loading="loading"
:data="checkTypeProjectList"
@selection-change="handleSelectionChange"
height="500"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column
@ -114,8 +115,8 @@
<span>{{(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="检验规则编码" width="110" align="center" prop="projectNo" />
<el-table-column label="检验规则名称" align="left" prop="ruleName" :show-overflow-tooltip="true" width="250"/>
<el-table-column label="检验规则编码" width="110" align="center" prop="projectNo" fixed/>
<el-table-column label="检验规则名称" align="left" prop="ruleName" :show-overflow-tooltip="true" width="250" fixed/>
<el-table-column label="标准值" align="left" prop="standardValue" :show-overflow-tooltip="true" width="250"/>
<el-table-column label="上差值" align="left" prop="upperDiff" />
<el-table-column label="下差值" align="left" prop="downDiff" />
@ -222,8 +223,14 @@
<el-input type="number" v-model="form.sort" placeholder="请输入排序" />
</el-form-item>
<el-form-item label="是否称重" prop="weight">
<el-radio v-model="form.weight" label="1"></el-radio>
<el-radio v-model="form.weight" label="0"></el-radio>
<el-select v-model="form.weight" placeholder="自动设备取数请选择数据类型">
<el-option
v-for="item in autoDataOption"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -247,7 +254,8 @@ import {
addCheckTypeProject,
updateCheckTypeProject,
changeStatus,
submitProjects
submitProjects,
getAutoDataOption
} from "@/api/quality/checkTypeProject";
import MaterialGroupAdd from "./MaterialGroupAdd.vue";
import {listCheckType} from "@/api/quality/checkType";
@ -318,10 +326,15 @@ export default {
{ required: true, message: "检验项目id不能为空", trigger: "blur" },
],
},
autoDataOption:[],
};
},
created() {
this.getProjectList();
//
getAutoDataOption({dictType:'auto_data'}).then(response => {
this.autoDataOption = response
})
},
methods: {
/**获取检测项目列表**/

@ -97,6 +97,16 @@
v-hasPermi="['quality:produceReport:export']"
>首检报告Excel下载</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-document-checked"
size="mini"
@click="handleSCXJReportExport"
v-hasPermi="['quality:produceReport:export']"
>巡检报告Excel下载</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@ -184,7 +194,7 @@
</el-row>
<!-- 导航栏 -->
<el-row class="my-print-nav" gutter="10">
<el-col :span="3">车间:{{form.supplierName}}</el-col>
<el-col :span="3">车间:{{form.supplierName}}</el-col>
<el-col :span="3">生成线体:{{form.lineName}}</el-col>
<el-col :span="3">检查日期:{{form.checkTimeStart}}</el-col>
<el-col :span="4">产品名称:{{form.materialName}}</el-col>
@ -1083,6 +1093,14 @@ export default {
...this.queryParams
}, `SCReportExport_${new Date().getTime()}.xlsx`)
},
/** 导出报告按钮操作 */
handleSCXJReportExport() {
this.queryParams.orderNo = this.selectRow[0].orderNo;
this.queryParams.shiftId = this.selectRow[0].shiftId;
this.download('quality/qcProduceReport/SCXJReportExport', {
...this.queryParams
}, `SCXJReportExport_${new Date().getTime()}.xlsx`)
},
/**获取检验项目列表 */
getCheckedProjectList(){
this.loading = true;

Loading…
Cancel
Save