功能升级

master
zhaoxiaolin 8 months ago
parent 33b4b43a06
commit 3bfe45100f

@ -91,3 +91,11 @@ export function getCkeckProjectList(query) {
params: query
});
}
// 仓库质量巡查记录
export function printXJRecordList(query) {
return request({
url: '/quality/qcInventoryReport/printXJRecordList',
method: 'get',
params: query
});
}

@ -508,16 +508,16 @@ export default {
this.printData.pageNo = response.data.mesPrepareDetailList.length;
let chunkedArray = [];
// this.printData.workTable
for (let i = 0; i < this.printData.workTable.length; i += (i==0?this.fenyeNumber:this.fenyeNumberTwo)) {
// this.printData.workTable
for (let i = 0; i < this.printData.workTable.length; i += (i==0?this.fenyeNumber:this.fenyeNumberTwo)) {
// 使slicei1010
let chunk = this.printData.workTable.slice(i, i + (i==0?this.fenyeNumber:this.fenyeNumberTwo));
// chunkedArray
chunkedArray.push(chunk);
}
this.printData.workTable = chunkedArray;
// 使slicei1010
let chunk = this.printData.workTable.slice(i, i + (i==0?this.fenyeNumber:this.fenyeNumberTwo));
// chunkedArray
chunkedArray.push(chunk);
}
this.printData.workTable = chunkedArray;
this.refreshNewWorkerTable = true // refreshProTabletrue
this.newWorkerLoading = false // false

@ -76,6 +76,16 @@
v-hasPermi="['quality:inventoryReport:export']"
>导出</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-printer"
size="mini"
@click="showPrintX"
v-hasPermi="['quality:inventoryReport:export']"
>巡检记录</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@ -242,11 +252,66 @@
</div>
</el-dialog>
<!-- 打印预览弹出层 -->
<el-dialog
title="仓库质量巡查记录"
:visible.sync="printDialogVisible"
width="871px"
>
<div id="printFrom" class="my-print-box">
<el-form :model="form">
<!-- 主数据 -->
<div v-for="(item,index) in printData.workTable" :key="index">
<el-row>
<el-col :span="7">
<img src="@/assets/logo/lanjv.png" class="report-logo"/>
</el-col>
<el-col :span="10" class="center-text">
<h1>中山榄菊日化实业有限公司</h1>
</el-col>
</el-row>
<!-- 表头- -->
<el-row>
<el-col :offset="8" :span="8" class="center-text">
<h2>仓库质量巡查记录</h2>
</el-col>
</el-row>
<!-- 导航栏 -->
<el-row class="my-print-nav">
<el-col :span="6">巡检日期:{{printData.incomeTime}}</el-col>
<el-col :span="6">条数:{{printData.pageNo}}</el-col>
<el-col :span="6">编码:{{printData.fileNo}}</el-col>
</el-row>
<el-table v-if="refreshNewWorkerTable" v-loading="newWorkerLoading" class="my-print-table"
:data="item" border style="width: 100%;padding-bottom: 1px;">
<el-table-column label="序号" prop="xh" width="55"></el-table-column>
<el-table-column prop="materialName" label="产品/物料名称" width="120"></el-table-column>
<el-table-column prop="modelType" width="80" label="型号规格"></el-table-column>
<!--<el-table-column prop="workorderCode" width="105" label="生产订单" :formatter="orderCodeFormate"></el-table-column>-->
<el-table-column prop="incomeBatchNo" width="225" label="生产批号(日期)"></el-table-column>
<el-table-column prop="checkResult" label="质量状况(包括堆放是否合理)" width="190"></el-table-column>
<el-table-column prop="routeCode" width="140" label="处理方式"></el-table-column>
</el-table>
<!-- 底部 -->
<el-row class="my-print-foot">
<el-col :offset="1" :span="6">审核:</el-col>
<el-col :offset="1" :span="6">品管员:{{printData.checkManName}}</el-col>
</el-row>
<div class="fy" v-if="index!=printData.workTable.length-1"></div>
</div>
</el-form>
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="handlePrint(printData)"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { listInventory, getInventory, delInventory, addInventory, updateInventory,getCkeckProjectList} from "@/api/quality/inventoryReport";
import { listInventory, getInventory, delInventory, addInventory, updateInventory,getCkeckProjectList,printXJRecordList} from "@/api/quality/inventoryReport";
import { getCheckTypes } from "@/api/quality/qcProduce";
import { getDefectTypeListByDefectType } from "@/api/quality/defectType.js";
import moment from 'moment';
@ -344,7 +409,12 @@ export default {
/* incomeBatchNo: [
{ required: true, message: "库存批次号不能为空", trigger: "blur" }
], */
}
},
fenyeNumber:5,
fenyeNumberTwo:5,
shengchan:true,
newWorkerLoading: false,
refreshNewWorkerTable:true
};
},
created() {
@ -518,7 +588,6 @@ export default {
},
// -
handlePrint(params) {
console.log(this.form);
printJS({
printable: params.printable, // 'printFrom', // id
type: params.type || 'html',
@ -541,6 +610,54 @@ export default {
const foundDefect = this.defectList.find(defect => defect.defectCode === defectCode);
return foundDefect.defectSubclass;
},
//
showPrintX() {
var startQuery = moment(this.queryParams.checkTimeArray[0]).format('YYYY-MM-DD');
var endQuery = moment(this.queryParams.checkTimeArray[1]).format('YYYY-MM-DD');
if(this.queryParams.checkTimeArray.length<0){
this.$modal.msgError("检验时间筛选条件不能为空")
return
}
if(startQuery != endQuery){
this.$modal.msgError("检验时间筛选条件必须是同一天")
return
}
this.printData.workCenter = "暂无数据";
this.printData.printDate = null;
this.printData.workTable = [];
this.printData.factory = null;
this.printData.productDate = null;
this.printData.pageNo =0 ;
//
this.printDialogVisible = true;
this.newWorkerLoading = true // true
this.refreshNewWorkerTable = false // refreshProTablefalse
printXJRecordList(this.queryParams).then(response => {
this.showWorkorderCode = false;
this.printData.incomeTime = startQuery;
this.printData.fileNo = response[0].fileNo;
this.printData.checkManName = response[0].checkManName;
//this.printData.printDate = moment(new Date()).format('YYYY-MM-DD')
this.printData.workTable = response
this.printData.pageNo = response.length;
let chunkedArray = [];
// this.printData.workTable
for (let i = 0; i < this.printData.workTable.length; i += (i==0?this.fenyeNumber:this.fenyeNumberTwo)) {
// 使slicei1010
let chunk = this.printData.workTable.slice(i, i + (i==0?this.fenyeNumber:this.fenyeNumberTwo));
// chunkedArray
chunkedArray.push(chunk);
}
this.printData.workTable = chunkedArray;
this.refreshNewWorkerTable = true // refreshProTabletrue
this.newWorkerLoading = false // false
})
},
/**
* 1. 若是objectSpanMethod不返回任何东西表格不会变化
* 2. 最外层的判断一般是先从第几列开始合并
@ -587,7 +704,7 @@ export default {
};
}
}
}
},
};
</script>
<style scoped>
@ -617,4 +734,9 @@ export default {
border: 1px solid #d3dce6; /* 边框颜色可以根据需要自定义 */
text-align:center;
}
.my-print-head {
margin-top: 5px;
font-weight: bold;
text-align: center;
}
</style>

@ -43,6 +43,7 @@
<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-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExportTable"></el-button>
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"></el-button>
</el-form-item>
</el-row>
@ -499,6 +500,11 @@ export default {
...this.queryParams
}, `incomeNoOkList_${new Date().getTime()}.xlsx`)
},
handleExportTable() {
this.download('quality/staticTable/exportIncomeTable', {
...this.queryParams
}, `LLList_${new Date().getTime()}.xlsx`)
},
}
};
</script>

@ -9,6 +9,14 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="订单号" prop="workorderCodeSap">
<el-input
v-model="queryParams.workorderCodeSap"
placeholder="请输入订单号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="物料名称" prop="materialName">
<el-input
v-model="queryParams.materialName"

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="任务编号" prop="checkNo">
<el-input
v-model="queryParams.checkNo"
@ -36,6 +36,22 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="仓库编码" prop="supplierCode">
<el-input
v-model="queryParams.supplierCode"
placeholder="请输入仓库编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="仓库名称" prop="supplierName">
<el-input
v-model="queryParams.supplierName"
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>
@ -203,12 +219,12 @@
</el-col>
<el-col :span="8">
<el-form-item label="仓库名称" prop="supplierName">
<el-input v-model="form.supplierName" placeholder="请选择供应商名称" disabled/>
<el-input v-model="form.supplierName" placeholder="请选择仓库名称" disabled/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="仓库编码" prop="supplierCode">
<el-input v-model="form.supplierCode" placeholder="请输入供应商编码" disabled/>
<el-input v-model="form.supplierCode" placeholder="请输入仓库编码" disabled/>
</el-form-item>
</el-col>
</el-row>
@ -259,7 +275,7 @@ import ItemSelectProject from "../qcIncome/checkProjectType.vue";
import moment from 'moment';
import { getDefectTypeListByDefectType } from "@/api/quality/defectType.js";
export default {
name: "Inventory",
name: "QcInventory",
components: {ItemPutInOrder,ItemSelectUser,ItemSelectProject},
dicts: ["unit","check_status","check_result"],
data() {
@ -336,7 +352,7 @@ export default {
{ required: true, message: "单位不能为空", trigger: "blur" }
],
supplierName: [
{ required: true, message: "供应商不能为空", trigger: "blur" }
{ required: true, message: "仓库不能为空", trigger: "blur" }
],
incomeTime: [
{ required: true, message: "来料时间不能为空", trigger: "blur" }

@ -43,6 +43,7 @@
<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-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExportTable"></el-button>
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"></el-button>
</el-form-item>
</el-form>
@ -495,6 +496,12 @@ export default {
handleExport() {
this.download('quality/staticTable/exportXJDetail', {
...this.queryParams
}, `XJDetialList_${new Date().getTime()}.xlsx`)
},
handleExportTable() {
this.download('quality/staticTable/exportXJTable', {
...this.queryParams
}, `XJList_${new Date().getTime()}.xlsx`)
},
}

@ -9,10 +9,10 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="产品编号" prop="materialCode">
<el-form-item label="产品编号/名称" prop="materialCode">
<el-input
v-model="queryParams.materialCode"
placeholder="请输入产品编号"
placeholder="请输入产品编号/名称"
clearable
@keyup.enter.native="handleQuery"
/>

@ -47,6 +47,14 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="物料名称" prop="materialName">
<el-input
v-model="queryParams.materialName"
placeholder="请输入物料名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!--
<el-form-item label="物料名称" prop="materialName">
<el-input

@ -43,6 +43,7 @@
<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-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExportTable"></el-button>
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"></el-button>
</el-form-item>
</el-form>
@ -496,6 +497,11 @@ export default {
...this.queryParams
}, `scNoOkList_${new Date().getTime()}.xlsx`)
},
handleExportTable() {
this.download('quality/staticTable/exportSCTable', {
...this.queryParams
}, `SCList_${new Date().getTime()}.xlsx`)
},
}
};
</script>

@ -480,10 +480,13 @@ export default {
});
},
getCheckTypeList(val){
//
getCheckTypeList(val).then(response => {
this.checkTypeList = response
});
if(val != ""){
this.queryParams.checkType = null;
//
getCheckTypeList(val).then(response => {
this.checkTypeList = response
});
}
},
//
productCodeFormate(row, column, cellValue){

Loading…
Cancel
Save