feat(生产日报):

1.生产日报功能需要加在自动收卷的界面上;
2.过渡膜产量:调整为过渡膜米数(m)
3.冲击料:调整为冲机料
This commit is contained in:
leiqiaozhen 2025-05-22 16:31:04 +08:00
parent 485a67425f
commit 4e8250ba54
2 changed files with 74 additions and 42 deletions

View File

@ -27,7 +27,7 @@
>
<el-row :gutter="24">
<!-- 生产日期 -->
<el-col :span="12">
<el-col :span="9">
<el-form-item label="生产日期" prop="timeRange">
<el-date-picker
v-model="form.timeRange"
@ -45,7 +45,7 @@
</el-col>
<!-- 班次 -->
<el-col :span="12">
<el-col :span="7">
<el-form-item label="班次" prop="workShiftList">
<el-select v-model="form.workShiftList" multiple clearable>
<el-option
@ -58,11 +58,9 @@
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<!-- 设备编码 -->
<el-col :span="12">
<el-col :span="8">
<el-form-item label="设备编码" prop="resrce">
<el-input v-model="form.resrce" clearable>
<i
@ -73,8 +71,11 @@
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<!-- 工单号 -->
<el-col :span="12">
<el-col :span="9">
<el-form-item label="工单号" prop="shopOrder">
<el-input v-model="form.shopOrder" clearable >
<i
@ -85,16 +86,16 @@
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="text-align: center; margin-bottom: 5px" :gutter="24">
<el-col :span="24">
<el-col :span="2">
</el-col>
<!-- 按钮 -->
<el-col :span="13">
<el-button type="primary" @click="doSearch">搜索</el-button>
<el-button type="primary" @click="doSave">保存</el-button>
<el-button type="primary" @click="doReset">清空</el-button>
<el-button type="primary" @click="doReset">导出</el-button>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="24">
<el-table
@ -102,7 +103,6 @@
stripe
:data="productDailyReportList"
tooltip-effect="dark"
height="calc(100vh - 480px)"
style="width: 100%"
:header-cell-style="{ 'text-align': 'center' }"
:cell-style="{ 'text-align': 'center' }"
@ -110,18 +110,18 @@
<el-table-column :reserve-selection="true" type="selection" width="45"/>
<!-- 顺序 -->
<el-table-column prop="seq" align="center" width="70" label="序号" />
<el-table-column prop="productDate" label="日期" />
<el-table-column prop="fabNo" label="车间" />
<el-table-column prop="fabNoDesc" label="车间描述" />
<el-table-column prop="userWorkShift" label="班次" />
<el-table-column prop="productDate" label="日期" width="100px"/>
<el-table-column prop="fabNo" label="车间" width="100px"/>
<el-table-column prop="fabNoDesc" label="车间描述" width="120px" />
<el-table-column prop="userWorkShift" label="班次"/>
<el-table-column prop="workShiftDesc" label="班次描述" />
<el-table-column prop="resrce" label="设备" />
<el-table-column prop="resrceDesc" label="设备描述" />
<el-table-column prop="shopOrder" label="工单号" />
<el-table-column prop="productItem" label="物料号" />
<el-table-column prop="productItemDesc" label="物料描述" />
<el-table-column prop="productModel" label="产品型号" />
<el-table-column prop="thickness" label="产品厚度" />
<el-table-column prop="resrce" label="设备" width="100px"/>
<el-table-column prop="resrceDesc" label="设备描述" width="120px"/>
<el-table-column prop="shopOrder" label="工单号" width="140px"/>
<el-table-column prop="productItem" label="物料号" width="120px"/>
<el-table-column prop="productItemDesc" label="物料描述" width="140px"/>
<el-table-column prop="productModel" label="产品型号" width="140px"/>
<el-table-column prop="thickness" label="产品厚度" width="120px"/>
<el-table-column prop="density" label="密度" header-align="center" width="120px">
<template slot-scope="scope">
<div>
@ -129,7 +129,7 @@
</div>
</template>
</el-table-column>
<el-table-column prop="transitionFilmYield" label="过渡膜产量" header-align="center" width="120px">
<el-table-column prop="transitionFilmYield" label="过渡膜米数(m)" header-align="center" width="140px">
<template slot-scope="scope">
<div>
<el-input v-model="scope.row.transitionFilmYield" type="number" clearable/>
@ -143,7 +143,7 @@
</div>
</template>
</el-table-column>
<el-table-column prop="impactMaterial" label="冲击料" header-align="center" width="120px">
<el-table-column prop="impactMaterial" label="冲机料" header-align="center" width="120px">
<template slot-scope="scope">
<div>
<el-input v-model="scope.row.impactMaterial" type="number" clearable/>
@ -157,25 +157,25 @@
</div>
</template>
</el-table-column>
<el-table-column prop="consumeItem" label="消耗物料编码" />
<el-table-column prop="consumeItemDesc" label="消耗物料描述" />
<el-table-column prop="consumeItem" label="消耗物料编码" width="120px"/>
<el-table-column prop="consumeItemDesc" label="消耗物料描述" width="140px"/>
<el-table-column prop="consumeSumQty" label="消耗数量" />
<el-table-column prop="particleSumQty" label="粒子总用量" />
<el-table-column prop="consumeItemGroup" label="消耗物料的物料组" />
<el-table-column prop="particleSumQty" label="粒子总用量" width="120px"/>
<el-table-column prop="consumeItemGroup" label="消耗物料的物料组" width="126px"/>
<el-table-column prop="inspectionLevelDesc" label="质检状态" />
<el-table-column prop="aplusSumQty" label="生产A+级品M" />
<el-table-column prop="asumQty" label="生产A级品M" />
<el-table-column prop="bsumQty" label="生产B级品M" />
<el-table-column prop="productTotalQty" label="生产总米数" />
<el-table-column prop="finishedWeight" label="成品重量" />
<el-table-column prop="wasteMaterials" label="废边料" />
<el-table-column prop="utilizationRate" label="班别原料利用率" />
<el-table-column prop="aplusSumQty" label="生产A+级品M" width="106px"/>
<el-table-column prop="asumQty" label="生产A级品M" width="100px"/>
<el-table-column prop="bsumQty" label="生产B级品M" width="100px"/>
<el-table-column prop="productTotalQty" label="生产总米数" width="100px"/>
<el-table-column prop="finishedWeight" label="成品重量" width="100px"/>
<el-table-column prop="wasteMaterials" label="废边料" width="100px"/>
<el-table-column prop="utilizationRate" label="班别原料利用率" width="120px"/>
</el-table>
<div style="width: 100%; display: flex; flex-direction: column; align-items: flex-end; justify-content: center">
<el-pagination @current-change="handleCurrentChange"
@size-change="handleSizeChange"
:current-page.sync="page.current"
:page-sizes="[20, 50, 100, 200]"
:page-sizes="[10, 20, 50, 100, 200]"
:page-size="page.size"
layout="total, sizes, prev, pager, next, jumper"
:total="page.total">
@ -209,7 +209,7 @@ import {resrceDialogObj, shopOrderDialogObj} from "@/views/mes/prd/product-daily
import moment from "moment/moment";
export default {
name: 'product-storag-request',
name: 'product-daily-report',
mixins: [],
components: {},
data() {
@ -254,13 +254,21 @@ export default {
page: {
total: 0,
current: 1,
size: 20
size: 10
},
}
},
created() {
// 初始化数据
this.form = Object.assign({}, this.initData);
// 获取跳转参数
if (this.$route.query.resrce) {
this.form.resrce = this.$route.query.resrce
}
if (this.$route.query.shopOrder) {
console.log(this.$route.query.shopOrder)
this.form.shopOrder = this.$route.query.shopOrder
}
this.getUserWorkShiftList();
},
@ -430,7 +438,7 @@ export default {
this.page = {
total: 0,
current: 1,
size: 20
size: 10
};
this.$refs.productDailyReportData.clearSelection();
this.multipleSelection = [];

View File

@ -48,6 +48,19 @@
<flow-panel-samplingLabel ref="flowPanelSamplingLabel"></flow-panel-samplingLabel>
</div>
</el-dialog>
<!--生产日报弹窗-->
<el-dialog
id="productDaily"
:visible.sync="productDailyVisible"
:fullscreen="true"
:close-on-click-modal="false"
:close-on-press-escape="false"
:key="productDailyDialogKey"
>
<div id="flowProductDaily">
<flow-panel-productDaily ref="flowPanelSamplingLabel"></flow-panel-productDaily>
</div>
</el-dialog>
<!--整合交易接收资料日志报表弹窗-->
<el-dialog
id="intInDataLogReport"
@ -206,6 +219,7 @@
<el-button type="primary" @click="doLotComplete()">收卷完成标签打印</el-button>
<el-button type="primary" @click="doManuallyCreated()">手动创建检验任务</el-button>
<el-button type="primary" @click="doSamplingLabel()">手动打印取样标签</el-button>
<el-button type="primary" @click="doProductDaily()">生产日报</el-button>
<!--<el-button type="primary" @click="doLotComplete()">膜卷明细查看</el-button>-->
</div>
</el-col>
@ -276,13 +290,13 @@ import {getByResourceHandle} from "@/api/mes/smd/work-center";
import FlowPanelManuallyCreated from '@/views/mes/qms/job-manually-created/index'
import FlowPanelSamplingLabel from '@/views/mes/qms/print-sampling-label/index'
import FlowPanelIntInDataLogReport from '@/views/mes/wip/int-in-data-log-report/index'
import FlowPanelProductDaily from '@/views/mes/prd/product-daily-report/index'
const uuid = require('uuid');
export default {
name: 'jm-auto-reeling',
mixins: [common],
components: {lotCompleteConfirm, agvReelingManualCall, agvRollOffLoading, FlowPanelManuallyCreated, FlowPanelSamplingLabel, FlowPanelIntInDataLogReport},
components: {lotCompleteConfirm, agvReelingManualCall, agvRollOffLoading, FlowPanelManuallyCreated, FlowPanelSamplingLabel, FlowPanelIntInDataLogReport, FlowPanelProductDaily},
props: {},
data() {
@ -379,8 +393,10 @@ export default {
filmItemGroupOption: '',
manuallyCreatedVisible: false,
samplingLabelVisible: false,
productDailyVisible: false,
intInDataLogReportVisible: false,
samplingLabelDialogKey: 1,
productDailyDialogKey: 1,
manuallyCreatedDialogKey: 1,
intInDataLogReportDialogKey: 1,
}
@ -435,6 +451,14 @@ export default {
this.samplingLabelDialogKey += 1; // 更新 key 以强制重新渲染
this.samplingLabelVisible = true;
},
// 生产日报
doProductDaily() {
this.productDailyDialogKey += 1; // 更新 key 以强制重新渲染
this.$router.push({
query: { ...this.$route.query, shopOrder: this.formObj.shopOrder }
});
this.productDailyVisible = true;
},
// 呼叫AGV日志报表
doIntInDataLogReport() {
this.intInDataLogReportDialogKey += 1; // 更新 key 以强制重新渲染