|
|
|
@ -1,18 +1,18 @@
|
|
|
|
|
<template>
|
|
|
|
|
<div class="app-container">
|
|
|
|
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
|
|
|
|
|
<el-form-item label="任务编号" prop="checkNo">
|
|
|
|
|
<el-form-item label="订单编码" prop="orderNo">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.checkNo"
|
|
|
|
|
placeholder="请输入检验任务编号"
|
|
|
|
|
v-model="queryParams.orderNo"
|
|
|
|
|
placeholder="请输入物料编码"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="物料名称" prop="materialName">
|
|
|
|
|
<el-form-item label="物料编码" prop="materialCode">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.materialName"
|
|
|
|
|
placeholder="请输入物料名称"
|
|
|
|
|
v-model="queryParams.materialCode"
|
|
|
|
|
placeholder="请输入物料编码"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
@ -72,6 +72,7 @@
|
|
|
|
|
<el-table v-loading="loading" :data="incomeList" @selection-change="handleSelectionChange">
|
|
|
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
|
|
|
<el-table-column label="recordId" align="center" prop="recordId" v-if="false"/>
|
|
|
|
|
<el-table-column label="任务日期" align="center" prop="createTimeStr" width="100"/>
|
|
|
|
|
<el-table-column label="检验任务编号" align="center" prop="checkNo" width="120"/>
|
|
|
|
|
<el-table-column label="订单号" align="center" prop="orderNo" width="150"/>
|
|
|
|
|
<el-table-column label="物料名称" align="center" prop="materialName" width="150"/>
|
|
|
|
@ -97,7 +98,7 @@
|
|
|
|
|
icon="el-icon-edit"
|
|
|
|
|
@click="handleLook(scope.row)"
|
|
|
|
|
v-hasPermi="['quality:qcIncomeReport:edit']"
|
|
|
|
|
>查看</el-button>
|
|
|
|
|
>查看报告</el-button>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</el-table>
|
|
|
|
@ -110,8 +111,8 @@
|
|
|
|
|
@pagination="getList"
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
|
|
<!-- 添加或修改来料检验对话框 -->
|
|
|
|
|
<el-dialog :title="title" :visible.sync="open" width="1200px" append-to-body>
|
|
|
|
|
<!-- 产品巡检报告 -->
|
|
|
|
|
<el-dialog :title="title" :visible.sync="open" width="1370px" append-to-body>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="20">
|
|
|
|
|
<el-button
|
|
|
|
@ -124,118 +125,76 @@
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<!-- 打印整个printFrom区域 -->
|
|
|
|
|
<div id="printFrom">
|
|
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
|
|
|
|
|
<div id="printForm">
|
|
|
|
|
<el-form :ref="formRef" :model="form">
|
|
|
|
|
<!-- 表头-工单信息 -->
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="OEM厂名" prop="supplierName">
|
|
|
|
|
<el-input v-model="form.supplierName" placeholder="请输入OEM厂名" disabled/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="来料类别" prop="factoryCode">
|
|
|
|
|
<el-input v-model="form.factoryCode" placeholder="请输入检验任务编号" disabled/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="来料批号" prop="incomeBatchNo">
|
|
|
|
|
<el-input v-model="form.incomeBatchNo" placeholder="请输入来料批号" disabled/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-col :offset="7" :span="10" class="center-text">
|
|
|
|
|
<span style="font-size: 20px;padding: 13px;">中山榄菊日化实业有限公司</span>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="物料编码" prop="materialCode">
|
|
|
|
|
<el-input v-model="form.materialCode" placeholder="请选择物料编码" disabled />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="16">
|
|
|
|
|
<el-form-item label="物料名称" prop="materialName">
|
|
|
|
|
<el-input v-model="form.materialName" placeholder="请选择物料名称" disabled />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="产线编码" prop="supplierCode">
|
|
|
|
|
<el-input v-model="form.supplierCode" placeholder="请输入产线编码" disabled/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="16">
|
|
|
|
|
<el-form-item label="产线名称" prop="supplierName">
|
|
|
|
|
<el-input v-model="form.supplierName" placeholder="请选择产线名称" disabled/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-col :offset="8" :span="8" class="center-text">
|
|
|
|
|
<span style="font-size: 18px;padding: 6px;">产品巡检记录表</span>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="物料数量" prop="quality">
|
|
|
|
|
<el-input type="number" v-model="form.quality" placeholder="请输入物料数量" disabled/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="单位" prop="unit" >
|
|
|
|
|
<el-input v-model="form.unit" placeholder="请输入单位" disabled/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="物料来源" prop="checkType" >
|
|
|
|
|
<el-input v-model="form.checkType" placeholder="物料来源" disabled/>
|
|
|
|
|
<!-- <el-select v-model="form.checkType" placeholder="请选择检验类型" style="width: 100%;">
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="dict in checkTypes"
|
|
|
|
|
:key="dict.id"
|
|
|
|
|
:label="dict.checkName"
|
|
|
|
|
:value="dict.id"
|
|
|
|
|
></el-option>
|
|
|
|
|
</el-select> -->
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<!-- 导航栏 -->
|
|
|
|
|
<el-row class="my-print-nav">
|
|
|
|
|
<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>
|
|
|
|
|
<el-col :span="6">批次号:{{form.incomeBatchNo}}</el-col>
|
|
|
|
|
<el-col :span="4">生产类型:
|
|
|
|
|
<el-checkbox-group v-model="checkList">
|
|
|
|
|
<el-checkbox label="正常"></el-checkbox>
|
|
|
|
|
<el-checkbox label="返修"></el-checkbox>
|
|
|
|
|
<el-checkbox label="试产"></el-checkbox>
|
|
|
|
|
</el-checkbox-group>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="检验日期" prop="checkTime">
|
|
|
|
|
<el-input v-model="form.checkTime" placeholder="请输入检验日期" disabled>
|
|
|
|
|
{{ parseTime(form.checkTime, '{y}-{m}-{d} {h}:{i}:{s}') }}
|
|
|
|
|
</el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="检验编号" prop="checkNo">
|
|
|
|
|
<el-input v-model="form.checkNo" placeholder="请输入检验编号" disabled/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="产品提报人" prop="checkManName">
|
|
|
|
|
<el-input v-model="form.checkManName" placeholder="请输入OEM产品提报人" disabled/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<!-- 检验项目明细 -->
|
|
|
|
|
<el-table v-loading="loading" :data="checkProjectList" >
|
|
|
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
|
|
|
<el-table-column label="检验规则编号" align="center" type="index" width="100"/>
|
|
|
|
|
<el-table-column label="检验规则名称" align="center" prop="ruleName" />
|
|
|
|
|
<el-table-column label="标准值" align="center" prop="checkStandard" />
|
|
|
|
|
<el-table-column label="上差值" align="center" prop="upperDiff" />
|
|
|
|
|
<el-table-column label="下差值" align="center" prop="downDiff" />
|
|
|
|
|
<el-table-column label="单位" align="center" prop="unitCode" />
|
|
|
|
|
<el-table-column label="检验值" align="center" prop="actualValue" />
|
|
|
|
|
<el-table-column label="结果" align="center" prop="status" >
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<dict-tag :options="dict.type.check_result" :value="scope.row.status"/>
|
|
|
|
|
</template>
|
|
|
|
|
<!-- 主数据 -->
|
|
|
|
|
<el-table
|
|
|
|
|
v-if="refreshNewWorkerTable"
|
|
|
|
|
v-loading="newWorkerLoading"
|
|
|
|
|
class="my-print-table"
|
|
|
|
|
:data="form.checkInfos"
|
|
|
|
|
border
|
|
|
|
|
style="width: 100%">
|
|
|
|
|
<el-table-column label="id" align="center" prop="recordId" v-if="false"/>
|
|
|
|
|
<el-table-column label="序号" type="index" align="center" :index="indexMethod"/>
|
|
|
|
|
<el-table-column label="项目名称" width="155" align="left" prop="ruleName" />
|
|
|
|
|
<el-table-column label="上午" align="center" >
|
|
|
|
|
<el-table-column prop="column080090" label="8:00-9:00" width="80" align="center"/>
|
|
|
|
|
<el-table-column prop="column090100" label="9:00-10:00" width="95" align="center"/>
|
|
|
|
|
<el-table-column prop="column100110" label="10:00-11:00" width="95" align="center"/>
|
|
|
|
|
<el-table-column prop="column110120" label="11:00-12:00" width="95" align="center"/>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="下午" align="center" >
|
|
|
|
|
<el-table-column prop="column123133" label="13:30-14:30" width="95" align="center"/>
|
|
|
|
|
<el-table-column prop="column133143" label="14:30-15:30" width="95" align="center"/>
|
|
|
|
|
<el-table-column prop="column143153" label="15:30-16:30" width="95" align="center"/>
|
|
|
|
|
<el-table-column prop="column153163" label="16:30-17:30" width="95" align="center"/>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="加班" align="center" >
|
|
|
|
|
<el-table-column prop="column163173" label="12:30-13:30" width="95" align="center"/>
|
|
|
|
|
<el-table-column prop="column180190" label="18:00-19:00" width="95" align="center"/>
|
|
|
|
|
<el-table-column prop="column190200" label="19:00-20:00" width="95" align="center"/>
|
|
|
|
|
<el-table-column prop="column200210" label="20:00-21:00" width="95" align="center"/>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</el-table>
|
|
|
|
|
</el-col>
|
|
|
|
|
|
|
|
|
|
<br/>
|
|
|
|
|
<!-- 底部 -->
|
|
|
|
|
<el-row class="my-print-foot">
|
|
|
|
|
<el-col :offset="1" :span="3">检查人:</el-col>
|
|
|
|
|
<el-col :offset="2" :span="3">品质主管:</el-col>
|
|
|
|
|
|
|
|
|
|
</el-row>
|
|
|
|
|
</el-form>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
|
|
<el-button type="primary" @click="cancel">确 定</el-button>
|
|
|
|
|
<el-button @click="cancel">取 消</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</el-dialog>
|
|
|
|
@ -255,12 +214,9 @@
|
|
|
|
|
</el-row>
|
|
|
|
|
<!-- 打印整个firstReportPrint区域 -->
|
|
|
|
|
<div id="firstReportPrint">
|
|
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
|
|
|
|
|
<el-form ref="form" :model="form" label-width="100px">
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="7">
|
|
|
|
|
<img src="@/assets/logo/lanjv.png" class="report-logo"/>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="10" class="center-text">
|
|
|
|
|
<el-col :offset="7" :span="10" class="center-text">
|
|
|
|
|
<h1>中山榄菊日化实业有限公司</h1>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
@ -271,8 +227,8 @@
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :offset="16" :span="8">
|
|
|
|
|
<el-form-item label="检验标准" prop="incomeBatchNo">
|
|
|
|
|
<el-input v-model="form.incomeBatchNo" disabled/>
|
|
|
|
|
<el-form-item label="检验标准" :prop="this.standardNo">
|
|
|
|
|
<span>{{ this.standardNo }}</span>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
@ -365,7 +321,7 @@
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import { listProduce, getProduce, delProduce, addProduce, updateIncome} from "@/api/quality/produceReport";
|
|
|
|
|
import { listProduce, getProduce, delProduce, addProduce, updateIncome,getProduceReportXJ} from "@/api/quality/produceReport";
|
|
|
|
|
import { getCkeckProjectList} from "@/api/quality/incomeReport";
|
|
|
|
|
import { getCheckTypes } from "@/api/quality/qcProduce";
|
|
|
|
|
import moment from 'moment';
|
|
|
|
@ -388,9 +344,13 @@ export default {
|
|
|
|
|
total: 0,
|
|
|
|
|
//打印
|
|
|
|
|
formRef: 'form',
|
|
|
|
|
newWorkerLoading: false,
|
|
|
|
|
refreshNewWorkerTable:true,
|
|
|
|
|
validateRules: [],
|
|
|
|
|
checkList: [],
|
|
|
|
|
standardNo: null,
|
|
|
|
|
printData: {
|
|
|
|
|
printable: 'printFrom',
|
|
|
|
|
printable: 'printForm',
|
|
|
|
|
ignore: ['no-print'],
|
|
|
|
|
workCenter: "暂无数据",
|
|
|
|
|
SAPNo: null,
|
|
|
|
@ -399,7 +359,12 @@ export default {
|
|
|
|
|
printDate: null,
|
|
|
|
|
factory: null,
|
|
|
|
|
productDate: null,
|
|
|
|
|
workTable: [],
|
|
|
|
|
supplierName:null,
|
|
|
|
|
lineName:null,
|
|
|
|
|
checkTimeStart:null,
|
|
|
|
|
materialName:null,
|
|
|
|
|
incomeBatchNo:null,
|
|
|
|
|
checkInfos:[]
|
|
|
|
|
},
|
|
|
|
|
printDialogVisible: false,
|
|
|
|
|
// 来料检验表格数据
|
|
|
|
@ -457,6 +422,10 @@ export default {
|
|
|
|
|
this.getCheckTypes();
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
// 生成表头序号
|
|
|
|
|
indexMethod(index) {
|
|
|
|
|
return index + 1;
|
|
|
|
|
},
|
|
|
|
|
/****/
|
|
|
|
|
getCheckTypes() {
|
|
|
|
|
getCheckTypes('material').then(response => {
|
|
|
|
@ -467,7 +436,7 @@ export default {
|
|
|
|
|
getDate() {
|
|
|
|
|
let start = this.Fungetdate (0)
|
|
|
|
|
let end = this.Fungetdate (1)
|
|
|
|
|
this.queryParams.incomeTimeArray.push(start,end)
|
|
|
|
|
//this.queryParams.incomeTimeArray.push(start,end)
|
|
|
|
|
this.queryParams.checkTimeArray.push(start,end)
|
|
|
|
|
},
|
|
|
|
|
Fungetdate (num) {
|
|
|
|
@ -560,25 +529,33 @@ export default {
|
|
|
|
|
handleLook(row) {
|
|
|
|
|
this.reset();
|
|
|
|
|
const recordId = row.recordId || this.ids
|
|
|
|
|
this.queryParams.recordId = recordId;
|
|
|
|
|
|
|
|
|
|
if(row.checkType =='checkTypeSC') {
|
|
|
|
|
getProduce(recordId).then(response => {
|
|
|
|
|
this.form = response.data;
|
|
|
|
|
if(this.form.checkType =='checkTypeSC') {
|
|
|
|
|
//首检报告
|
|
|
|
|
this.form.printable = 'firstReportPrint'; //打印时需要
|
|
|
|
|
this.form.ignore = ['no-print'];//打印时需要
|
|
|
|
|
this.firstReportOpen = true;
|
|
|
|
|
this.title = "首检检验报告";
|
|
|
|
|
})
|
|
|
|
|
this.queryParams.recordId = recordId;
|
|
|
|
|
this.getCheckedProjectList();
|
|
|
|
|
}else {
|
|
|
|
|
|
|
|
|
|
const orderNo = row.orderNo;
|
|
|
|
|
getProduceReportXJ(orderNo).then(response => {
|
|
|
|
|
this.form = response;
|
|
|
|
|
//巡检报告
|
|
|
|
|
this.form.printable = 'printForm'; //打印时需要
|
|
|
|
|
this.form.ignore = ['no-print'];//打印时需要
|
|
|
|
|
this.open = true;
|
|
|
|
|
this.title = "巡检检验报告";
|
|
|
|
|
this.refreshNewWorkerTable = true // 立即将refreshProTable设置为true,显示表格
|
|
|
|
|
this.newWorkerLoading = false // 设置加载状态为false,表示加载完成
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
this.getCheckedProjectList();
|
|
|
|
|
},
|
|
|
|
|
/** 提交按钮 */
|
|
|
|
|
submitForm() {
|
|
|
|
@ -623,13 +600,14 @@ export default {
|
|
|
|
|
this.checkProjectList = response.rows;
|
|
|
|
|
this.total = response.total;
|
|
|
|
|
this.loading = false;
|
|
|
|
|
this.standardNo = this.checkProjectList[0].standardNo || '20240109test';
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
// 打印预览-浏览器打印
|
|
|
|
|
handlePrint(params) {
|
|
|
|
|
console.log(this.form);
|
|
|
|
|
|
|
|
|
|
printJS({
|
|
|
|
|
printable: params.printable, // 'printFrom', // 标签元素id
|
|
|
|
|
printable: params.printable, // 标签元素id
|
|
|
|
|
type: params.type || 'html',
|
|
|
|
|
maxWidth: 1500, // 最大宽度
|
|
|
|
|
font_size: "",// 设置字体大小
|
|
|
|
@ -655,9 +633,8 @@ export default {
|
|
|
|
|
.center-text {
|
|
|
|
|
text-align: center;
|
|
|
|
|
}
|
|
|
|
|
.report-logo {
|
|
|
|
|
.my-print-nav {
|
|
|
|
|
margin-top: 15px;
|
|
|
|
|
margin-left: 15px;
|
|
|
|
|
height: 38px;
|
|
|
|
|
margin-bottom: 15px;
|
|
|
|
|
}
|
|
|
|
|
</style>
|