<template>
|
<div class="unqualifiedBox">
|
<el-row>
|
<el-col :span="12" style="line-height: 32px;">不合格管理</el-col>
|
<el-col :span="12" style="text-align: right;">
|
<el-button icon="el-icon-download" size="mini" @click="() => { }">导出</el-button>
|
</el-col>
|
</el-row>
|
<div style="margin-top: 10px;">
|
<el-card shadow="hover" style="height: 6em;display: flex;align-items: center;">
|
<div class="choose">
|
<span>处理状态:</span>
|
<el-select v-model="search.dealState" size="small" placeholder="请选择" style="width: 13vw;margin-right: 30px;">
|
<el-option label="已处理" :value="1"></el-option>
|
<el-option label="待处理" :value="0"></el-option>
|
</el-select>
|
<span>来料日期:</span>
|
<el-date-picker v-model="search.formTime" size="small" placeholder="请输入" style="width: 13vw;margin-right: 30px;" clearable value-format="yyyy-MM-dd"></el-date-picker>
|
<span>产品大类:</span>
|
<el-select v-model="search.productCategories" size="small" placeholder="请选择" style="width: 13vw;margin-right: 30px;">
|
<el-option label="全部" :value="''"></el-option>
|
<el-option label="成品" :value="1"></el-option>
|
<el-option label="半成品" :value="2"></el-option>
|
</el-select>
|
<el-button size="mini" @click="clean()"><span>重 置</span></el-button>
|
<el-button size="mini" type="primary" style="background: #004EA2;" @click="
|
unqualifiedTable = [];
|
getDetailInfo();
|
"><span>查 询</span></el-button>
|
</div>
|
</el-card>
|
</div>
|
<div class="tableno" style="height:300px">
|
<el-card shadow="hover">
|
<el-table :data="unqualifiedTable" border ref="multipleTable" tooltip-effect="dark" height="calc(100vh - 340px)" style="width: 100%">
|
<el-table-column type="index" label="序号" width="60">
|
<template slot-scope="scope">
|
{{ (search.pageSize - 1) * search.countSize + scope.$index + 1 }}
|
</template>
|
</el-table-column>
|
<el-table-column prop="dateArrival" label="来料日期" min-width="110">
|
</el-table-column>
|
<el-table-column prop="reason" label="缺陷名称" min-width="100" show-overflow-tooltip>
|
</el-table-column>
|
<el-table-column prop="material_code" label="材料编码" min-width="150" show-overflow-tooltip>
|
</el-table-column>
|
<el-table-column prop="project_name" label="材料名称" min-width="150">
|
</el-table-column>
|
<el-table-column prop="specifications_model" label="规格型号" min-width="100">
|
</el-table-column>
|
<el-table-column prop="unit" label="单位" min-width="60"> </el-table-column>
|
<el-table-column prop="quantity" label="数量" min-width="60"> </el-table-column>
|
<el-table-column prop="inspectionDate" label="报检日期" min-width="110">
|
</el-table-column>
|
<el-table-column prop="name" label="报检人" min-width="80"> </el-table-column>
|
<el-table-column prop="processingDate" label="检验日期" min-width="110">
|
</el-table-column>
|
<el-table-column prop="deal_state" label="处理状态" min-width="100">
|
<template slot-scope="scope">
|
<span style="color:#34BD66;" v-if="scope.row.deal_state == 1">已处理</span>
|
<span style="color:#E84738;" v-else-if="scope.row.deal_state == 0">待处理</span>
|
</template>
|
</el-table-column>
|
<el-table-column prop="deal_reasult" label="评审结果" min-width="100">
|
<template slot-scope="scope">
|
<span style="color:#E84738;" v-if="scope.row.deal_reasult == 0">不通过</span>
|
<span style="color:#34BD66;" v-else-if="scope.row.deal_reasult == 1">通过</span>
|
</template>
|
</el-table-column>
|
<el-table-column label="操作" min-width="100" fixed="right">
|
<template slot-scope="scope">
|
<div style="display: flex;">
|
<el-popover placement="left" width="160" :ref="`popover-${scope.$index}`">
|
<div style="padding: 6px">评审是否通过?</div>
|
<div style="text-align: right; margin: 6px;">
|
<el-button size="mini" type="text" style="color: #E84738;" @click="
|
scope._self.$refs[`popover-${scope.$index}`].doClose();
|
rawEvaluate(scope.row, 0);
|
">不通过</el-button>
|
<el-button type="text" style="color: #34bd66;" size="mini" @click="
|
scope._self.$refs[`popover-${scope.$index}`].doClose();
|
rawEvaluate(scope.row, 1);
|
">通过</el-button>
|
</div>
|
<el-button slot="reference" type="text" siae="small" size="mini">评审</el-button>
|
</el-popover>
|
<el-button type="text" siae="small" size="mini" style=" color:87, 138, 193 ;margin-left: 10px;">查看</el-button>
|
</div>
|
</template>
|
</el-table-column>
|
</el-table>
|
<el-col style="height: 50px;display: flex;align-items: center;justify-content: right;">
|
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="search.pageSize" :page-sizes="[10, 15, 20, 30, 50]" :page-size="search.countSize" layout="total, sizes, prev, pager, next, jumper" :total="total">
|
</el-pagination>
|
</el-col>
|
</el-card>
|
</div>
|
</div>
|
</template>
|
|
<script>
|
export default {
|
data() {
|
return {
|
search: {
|
countSize: 10, // 条数/页
|
pageSize: 1, // 起始页
|
formTime: "", // 来料日期
|
productCategories: "", // 产品大类
|
dealState: "", // 处理状态
|
},
|
unqualifiedTable: [], // 页面表格数据
|
total: 0,
|
};
|
},
|
mounted() {
|
this.getDetailInfo();
|
},
|
methods: {
|
handleSizeChange(val) {
|
this.search.countSize = val;
|
this.getDetailInfo();
|
},
|
handleCurrentChange(val) {
|
this.search.pageSize = val;
|
this.getDetailInfo();
|
},
|
getDetailInfo() {
|
this.axios
|
.get(this.$api.url.inspectUnaccepted, {
|
params: this.search,
|
})
|
.then((res) => {
|
this.unqualifiedTable = res.data.row;
|
this.total = res.data.total;
|
});
|
},
|
clean() {
|
this.search = {
|
countSize: 10, // 条数/页
|
pageSize: 1, // 起始页
|
formTime: "", // 来料日期
|
dealState: "", // 处理状态
|
};
|
this.getDetailInfo();
|
},
|
rawEvaluate(row, passOrNo) {
|
this.$axios
|
.post(this.$api.url.evaluatePassOrNo, {
|
rawId: row.id,
|
passOrNo: passOrNo,
|
})
|
.then((res) => {
|
this.unqualifiedTable = [];
|
this.getDetailInfo();
|
this.$parent.removeAllTab();
|
});
|
},
|
},
|
};
|
</script>
|
|
<style scoped>
|
.unqualifiedBox {
|
width: 100%;
|
max-height: 100%;
|
display: flex;
|
flex-direction: column;
|
/* overflow-y: scroll; */
|
}
|
|
.unqualifiedBox .title .el-button {
|
height: 32px;
|
border: 1px solid rgba(190, 190, 190, 0.44);
|
box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
|
padding: 0 12px;
|
}
|
|
.unqualifiedBox .title {
|
margin-bottom: 10px;
|
padding: 0 20px;
|
}
|
|
.choose {
|
display: flex;
|
align-items: center;
|
background-color: #fff;
|
border-bottom: 3px solid rgb(245, 247, 251);
|
}
|
|
.choose {
|
font-size: 14px;
|
}
|
|
.choose .el-button {
|
height: 32px;
|
border: 1px solid rgba(190, 190, 190, 0.44);
|
box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
|
padding: 0 12px;
|
}
|
|
.choose span {
|
/* span内容强制不换行 */
|
white-space: nowrap;
|
}
|
|
/* 不合格表格样式 */
|
.unqualifiedTable {
|
flex: 1;
|
background: #fff;
|
margin-top: 11px;
|
padding: 23px 21px;
|
}
|
|
.tableno {
|
margin-top: 10px;
|
}
|
</style>
|