<template>
|
<div class="content-main">
|
<div v-if="!showAddPage" class="rawPage">
|
<div class="title">
|
<el-row>
|
<el-col :span="12">成品检验</el-col>
|
<el-col :span="12" style="text-align: right;">
|
<el-button @click="handleAddNew" type="primary" size="mini" icon="el-icon-plus" style="background: #004EA2; ">新增</el-button>
|
<el-button icon="el-icon-delete" size="mini">删除</el-button>
|
<el-button icon="el-icon-download" size="mini">导出</el-button>
|
</el-col>
|
</el-row>
|
</div>
|
<div class="nav">
|
<span>检验结果:</span>
|
<el-select v-model="searchData.inspectResult" size="small" placeholder="请选择" style="width: 224px;margin-right: 52px;">
|
<el-option value="1" label="合格"></el-option>
|
<el-option value="2" label="不合格"></el-option>
|
</el-select>
|
<span>检验日期:</span>
|
<el-date-picker
|
v-model="searchData.inspectDate"
|
type="date"
|
placeholder="选择日期"
|
style="margin-right: 52px">
|
</el-date-picker>
|
<span>检验人:</span>
|
<el-select v-model="searchData.inspectUsername" size="small" placeholder="请选择" style="width: 224px;margin-right: 52px;">
|
<el-option :value="item.id" :key="item.id" :label="item.name" v-for="item in usernameOptions"></el-option>
|
</el-select>
|
<el-button size="mini" @click="()=>{searchData={};getInspectionTableData()}"><span>重 置</span></el-button>
|
<el-button size="mini" type="primary" @click="getInspectionTableData" style="background: #004EA2;"><span>查 询</span></el-button>
|
</div>
|
<div class="content-body">
|
<div class="inspectionTable">
|
<el-table
|
ref="inspectionTable"
|
height="620"
|
:cell-style="{textAlign: 'center'}"
|
:header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}"
|
:data="inspectionTable"
|
style="width: 100%"
|
>
|
<el-table-column
|
type="selection"
|
width="50">
|
</el-table-column>
|
<el-table-column
|
prop="order_number"
|
label="订单号"
|
min-width="100"
|
/>
|
<el-table-column
|
prop="customer_name"
|
label="客户名称"
|
min-width="80"
|
/>
|
<el-table-column
|
prop="project_name"
|
label="工程名称"
|
min-width="80"
|
/>
|
<el-table-column
|
prop="quality_traceability"
|
label="质量追溯号"
|
min-width="108"
|
/>
|
<el-table-column
|
prop="code"
|
label="产品编码"
|
min-width="100"
|
/>
|
<el-table-column
|
prop="material"
|
label="产品大类"
|
min-width="72"
|
/>
|
<el-table-column
|
prop="specifications_model"
|
label="规格型号"
|
min-width="110"
|
/>
|
<el-table-column
|
prop="unit"
|
label="单位"
|
min-width="50"
|
/>
|
<el-table-column
|
prop="quantity"
|
label="数量"
|
min-width="50"
|
/>
|
<el-table-column
|
prop="detectionPeriod"
|
label="检验日期"
|
min-width="80"
|
/>
|
<el-table-column
|
prop="result"
|
label="检测结果"
|
min-width="80"
|
>
|
<template slot-scope="scope">
|
<span>{{scope.row.result===1?'合格':'不合格'}}</span>
|
</template>
|
</el-table-column>
|
|
|
<el-table-column
|
label="操作"
|
min-width="80"
|
>
|
<template slot-scope="scope">
|
<el-button type="text" size="small" @click="goToDetail(scope.row)">查看</el-button>
|
<el-button type="text" size="small">打印</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
</div>
|
<!-- 分页器 -->
|
<div class="pagination">
|
<el-pagination
|
:current-page="pageParams.pageNo"
|
:page-sizes="[100, 200, 300, 400]"
|
:page-size="pageParams.pageSize"
|
layout="total, sizes, prev, pager, next, jumper"
|
:total="pageParams.total"
|
@size-change="handleSizeChange"
|
@current-change="handleCurrentChange"
|
/>
|
</div>
|
</div>
|
</div>
|
<div class="newPage" v-if="showAddPage">
|
<!-- 新增页面 -->
|
<div class="addInspection">
|
<el-row class="header">
|
<el-col :span="12">新增成品检验单</el-col>
|
<el-col :span="12" style="text-align: right;">
|
<!-- 点击返回,当前页面值为false -->
|
<el-button @click="()=>{showAddPage = false;showDetail = false}" type="primary" size="mini" icon="el-icon-back" style="background: #004EA2; ">返回</el-button>
|
</el-col>
|
</el-row>
|
<el-form :model="addInspectionform" ref="addInspectionform" class="addInspectionform" label-position="right" label-width="100px" size="mini" >
|
<div class="formwrapper">
|
<el-row>
|
<el-col :span="7">
|
<el-form-item label="订单号:">
|
<el-input v-show="showDetail == false" style="width: 180px;" v-model="addInspectionform.number" placeholder="请输入订单号" autocomplete="off" />
|
<el-input v-show="showDetail !== false" style="width: 180px;" v-model="finishedInsInfo.order_number" placeholder="请输入订单号1" autocomplete="off" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="7">
|
<el-form-item label="客户名称:">
|
<el-input v-show="showDetail == false" style="width: 180px;" v-model="addInspectionform.username" placeholder="请输入客户名称" autocomplete="off" />
|
<el-input v-show="showDetail !== false" style="width: 180px;" v-model="finishedInsInfo.customer_name" placeholder="请输入客户名称" autocomplete="off" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="7">
|
<el-form-item label="工程名称:">
|
<el-input v-show="showDetail == false" style="width: 180px;" v-model="addInspectionform.projectname" placeholder="请输入工程名称" autocomplete="off" />
|
<el-input v-show="showDetail !== false" style="width: 180px;" v-model="finishedInsInfo.project_name" placeholder="请输入工程名称" autocomplete="off" />
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col :span="7">
|
<el-form-item label="质量追溯号:" >
|
<el-input v-show="showDetail == false" style="width: 180px;" v-model="addInspectionform.tracenumber" placeholder="请输入追溯号" autocomplete="off" />
|
<el-input v-show="showDetail !== false" style="width: 180px;" v-model="finishedInsInfo.quality_traceability" placeholder="请输入追溯号" autocomplete="off" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="7">
|
<el-form-item label="产品编码:">
|
<el-input v-show="showDetail == false" style="width: 180px;" v-model="addInspectionform.material_code" placeholder="请输入产品编码" autocomplete="off" />
|
<el-input v-show="showDetail !== false" style="width: 180px;" v-model="finishedInsInfo.material_code" placeholder="请输入产品编码" autocomplete="off" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="7">
|
<el-form-item label="产品名称:">
|
<el-select v-show="showDetail == false" style="width: 180px;" v-model="addInspectionform.class" size="small" placeholder="请选择产品名称">
|
<el-option value="选项1"></el-option>
|
<el-option value="选项2"></el-option>
|
</el-select>
|
<el-input v-show="showDetail !== false" style="width: 180px;" v-model="finishedInsInfo.material" placeholder="请输入产品编码" autocomplete="off" />
|
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col :span="7">
|
<el-form-item label="规格型号:" >
|
<el-select v-show="showDetail == false" style="width: 180px;" v-model="addInspectionform.specificationmodel" size="small" placeholder="请选择规格型号">
|
<el-option value="选项1"></el-option>
|
<el-option value="选项2"></el-option>
|
</el-select>
|
<el-input v-show="showDetail !== false" style="width: 180px;" v-model="finishedInsInfo.specifications_model" placeholder="请输入产品编码" autocomplete="off" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="7">
|
<el-form-item label="单位:" >
|
<el-select v-show="showDetail == false" style="width: 180px;" v-model="addInspectionform.unit" size="small" placeholder="请选择单位">
|
<el-option value="选项1"></el-option>
|
<el-option value="选项2"></el-option>
|
</el-select>
|
<el-input v-show="showDetail !== false" style="width: 180px;" v-model="finishedInsInfo.specifications_model" placeholder="请输入产品编码" autocomplete="off" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="7">
|
<el-form-item label="数量:">
|
<el-input v-show="showDetail == false" style="width: 180px;" v-model="addInspectionform.quantity" placeholder="请输入数量" autocomplete="off" />
|
<el-input v-show="showDetail !== false" style="width: 180px;" v-model="finishedInsInfo.quantity" placeholder="请输入产品编码" autocomplete="off" />
|
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row >
|
<el-col v-show="showDetail !== false" :span="7">
|
<el-form-item label="主机工:" >
|
<el-input style="width: 180px;" v-model="finishedInsInfo.name" placeholder="请输入产品编码" autocomplete="off" />
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</div>
|
</el-form>
|
</div>
|
<div class="inspectionProject">
|
<span>检验项目</span>
|
<el-table :data="inspectionItems">
|
<el-table-column type="index" label="序号" width="60"></el-table-column>
|
<el-table-column prop="project" label="项目"></el-table-column>
|
<el-table-column prop="unit" label="单位"></el-table-column>
|
<el-table-column prop="standardVal" label="标准值"></el-table-column>
|
<el-table-column prop="controlVal" label="内测值"></el-table-column>
|
<el-table-column prop="detectionVal" label="检验值"></el-table-column>
|
<el-table-column label="试验设备">
|
<template slot-scope="scope">
|
{{ scope.row.device }}
|
<el-select v-model="scope.row.device" size="small" slot="append" style="width: 100px;">
|
<el-option value="选项1"></el-option>
|
<el-option value="选项2"></el-option>
|
</el-select>
|
</template>
|
</el-table-column>
|
<el-table-column prop="conclusion" label="结论">
|
<template slot-scope="scope">
|
<span style="color: #34BD66;" v-if="scope.row.insState==1">合格</span>
|
<span style="color: #E84738;" v-else-if="scope.row.insState==0">不合格</span>
|
</template>
|
</el-table-column>
|
</el-table>
|
</div>
|
<div class="inspectionResult">
|
<span>检测结果</span>
|
<el-table :data="inspectionResultForm">
|
<el-table-column prop="id" label="物料编号"></el-table-column>
|
<el-table-column prop="name" label="物料名称"></el-table-column>
|
<el-table-column prop="inspecter" label="检验员"></el-table-column>
|
<el-table-column prop="conclusion" label="检验结论"></el-table-column>
|
<el-table-column prop="operation" label="上报"></el-table-column>
|
</el-table>
|
</div>
|
</div>
|
</div>
|
</template>
|
|
|
<script>
|
export default {
|
data(){
|
return {
|
searchData:{
|
inspectionResult: '',
|
inspectionDate: '',
|
inspecter: '',
|
},
|
// 主机工下拉框
|
usernameOptions:[],
|
inspectionTable:[
|
],
|
pageParams:{
|
pageNo: 1, // 当前页码
|
pageSize: 100,
|
total:0
|
},
|
showAddPage: false,
|
showDetail:false,
|
addInspectionform: [{
|
number: '',
|
username: '',
|
projectname: '',
|
tracenumber: '',
|
code: '',
|
class: '',
|
specificationmodel: '',
|
unit: '',
|
quantity: '',
|
group: '',
|
worker: '',
|
machine: ''
|
}],
|
inspectionItems:[{
|
project:'布隆迪',
|
unit:'吨',
|
standardVal: '8219384314',
|
controlVal:'9823401',
|
detectionVal:'11111',
|
device:'',
|
conclusion:'合格'
|
}],
|
inspectionResultForm:[{
|
id:'274024',
|
name:'111',
|
inspecter:'111',
|
conclusion:'',
|
operation:''
|
}],
|
finishedInsInfo:{}
|
}
|
},
|
created() {
|
this.init()
|
this.getInspectionTableData()
|
},
|
methods:{
|
// 每页条数改变时触发 选择一页显示多少行
|
handleSizeChange(val) {
|
console.log(`每页 ${val} 条`)
|
this.currentPage = 1
|
this.pageSize = val
|
},
|
// 当前页改变时触发 跳转其他页
|
handleCurrentChange(val) {
|
console.log(`当前页: ${val}`)
|
this.currentPage = val
|
},
|
handleAddNew(){
|
this.showAddPage=true
|
},
|
async getInspectionTableData() {
|
const {data:{row,total}} = await this.$axios.get(this.$api.url.finishedInsListPage,{params:{...this.pageParams,...this.searchData}})
|
console.log(row)
|
this.inspectionTable = row
|
this.pageParams.total = total
|
},
|
goToDetail(row) {
|
this.showAddPage = true
|
this.showDetail = true
|
this.finishedInsInfo = row
|
console.log(this.showDetail)
|
// this.addInspectionform = []
|
},
|
async init() {
|
const {data} = await this.$axios.get(this.$api.url.finishedInspectUser)
|
this.usernameOptions = data
|
|
}
|
}
|
|
}
|
</script>
|
|
<style>
|
.title{
|
padding: 12px;
|
|
}
|
.nav{
|
display: flex;
|
padding: 20px 20px;
|
align-items: center;
|
background-color: #fff;
|
}
|
.nav *{
|
font-size: 14px;
|
}
|
.content-body {
|
background-color: #fff;
|
overflow: hidden;
|
margin-top: 12px;
|
}
|
.inspectionTable{
|
padding: 20px 20px;
|
}
|
.pagination{
|
float: right;
|
margin-right: 20px;
|
}
|
.newPage{
|
overflow: hidden;
|
}
|
.header{
|
padding: 12px;
|
}
|
.addInspectionform{
|
background-color: #fff;
|
}
|
.addInspectionform .formwrapper{
|
padding: 20px 0px;
|
margin-left: 100px;
|
}
|
.inspectionProject span{
|
display: block;
|
padding: 5px 0px;
|
}
|
.inspectionProject .el-table{
|
background-color: #fff;
|
padding: 10px 12px;
|
}
|
.inspectionResult span{
|
display: block;
|
padding: 5px 0px;
|
}
|
.inspectionResult .el-table{
|
background-color: #fff;
|
padding: 10px 12px;
|
}
|
.rawPage{
|
height: 100%;
|
display: flex;
|
flex-direction: column;
|
overflow-y: scroll;
|
}
|
.rawPage .content-body{
|
flex: 1;
|
}
|
/* .inspectionTable{
|
flex: 1;
|
overflow-y: scroll;
|
} */
|
|
</style>
|