<template>
|
<div class="content-main">
|
<div class="top-bar">
|
<el-form ref="form" :inline="true" style="margin-top: 10px;">
|
<el-form-item>
|
<el-input
|
v-model="input"
|
class="input-form"
|
placeholder="请直接输入样式编号/报告编号/样品名称/进行搜索或下拉选择进行组合查询"
|
@keyup.enter.native="getData"
|
/>
|
</el-form-item>
|
<el-form-item>
|
<el-button size="small" type="primary" @click="getData()">查询</el-button>
|
<el-button size="small" type="primary" plain @click="resetData()">重置</el-button>
|
</el-form-item>
|
</el-form>
|
</div>
|
<div class="library-table">
|
<div class="table-header">
|
<div class="search-bar">
|
<el-radio-group v-model="checkStatus" @change="handleRadioChange">
|
<el-radio-button>全部</el-radio-button>
|
<el-radio-button label="0">待通过</el-radio-button>
|
<el-radio-button label="1">通过</el-radio-button>
|
</el-radio-group>
|
<el-checkbox @change="changeMy" v-model="checked" style="margin-left: 20px"
|
>仅看我的</el-checkbox
|
>
|
</div>
|
</div>
|
<div class="table-box">
|
<el-table
|
ref="reportTable"
|
:max-height="600"
|
:cell-style="{ textAlign: 'left' }"
|
:header-cell-style="{
|
border: '0px',
|
background: '#f5f7fa',
|
color: '#606266',
|
boxShadow: 'inset 0 1px 0 #ebeef5',
|
textAlign: 'left',
|
}"
|
:data="reportTable"
|
style="width: 100%"
|
>
|
<el-table-column
|
type="index"
|
width="50">
|
</el-table-column>
|
<!-- <el-table-column label="" min-width="5%" /> -->
|
<el-table-column prop="materialCode" label="样品编号" min-width="10%">
|
<template slot-scope="scope">
|
<span style="color: #409eff">
|
{{ scope.row.materialCode }}
|
</span>
|
</template></el-table-column
|
>
|
<el-table-column prop="reportCode" label="报告单号" min-width="10%">
|
<template slot-scope="scope">
|
<span style="color: #409eff">
|
{{ scope.row.reportCode }}
|
</span>
|
</template></el-table-column
|
>
|
<el-table-column
|
prop="materialName"
|
label="样品名称"
|
min-width="10%"
|
/>
|
<el-table-column prop="status" label="审批状态" min-width="8%" v-model="Auditconclusion">
|
<template slot-scope="scope">
|
<span>
|
<el-tag type="warning" v-if="scope.row.status === 0">待通过</el-tag>
|
<el-tag type="success" v-else-if="scope.row.status === 1">通过</el-tag>
|
<el-tag type="danger" v-else>不通过</el-tag>
|
</span>
|
</template></el-table-column
|
>
|
<el-table-column prop="approver" label="审批人" min-width="8%" />
|
<el-table-column prop="submitTime" label="提交日期" min-width="8%" />
|
<el-table-column prop="checkTime" label="审核日期" min-width="8%" />
|
<el-table-column label="操作" min-width="8%">
|
<template slot-scope="scope">
|
<el-button
|
type="text"
|
size="small"
|
@click="handleClick(scope.row)"
|
>查看详细
|
</el-button>
|
<el-button type="text" size="small" v-if="scope.row.status === 0" @click="shenHE(scope)">审核</el-button>
|
<el-dialog
|
title="原始记录审核"
|
:visible.sync="checkskipvisible"
|
width="30%"
|
>
|
<el-form :model="form">
|
<el-form-item label="请选择审核结果:" :label-width="formLabelWidth">
|
</el-form-item>
|
</el-form>
|
<div slot="footer" class="dialog-footer">
|
<el-button @click="checkskipvisible = false">取 消</el-button>
|
<el-button style="background-color: rgb(206, 211, 216);" @click="nocheckskip(scope.row)" >不通过</el-button>
|
<el-button type="primary" @click="checkskip(scope.row)">通过</el-button>
|
</div>
|
</el-dialog>
|
</template>
|
</el-table-column>
|
</el-table>
|
</div>
|
<!-- 分页器 -->
|
<div style="text-align: right;">
|
<el-pagination
|
:current-page="page"
|
:page-sizes="[10, 20, 30, 40]"
|
:page-size="pageSize"
|
layout="total, sizes, prev, pager, next, jumper"
|
:total="total"
|
@size-change="handleSizeChange"
|
@current-change="handleCurrentChange"
|
/>
|
</div>
|
</div>
|
</div>
|
</template>
|
|
<script>
|
import { selectAllReportCheck,checkApi } from "@/api/experiment/reportAuditing";
|
export default {
|
data() {
|
return {
|
input: '',
|
checkStatus: undefined,
|
reportTable: [],
|
page: 1,
|
total: 0,
|
pageSize: 10,
|
checkskipvisible: false,
|
form:{},
|
formLabelWidth: '120px',
|
checked: false,
|
usertt:[],
|
Auditconclusion:{},
|
tableRow: {},
|
};
|
},
|
created() {
|
this.getData();
|
},
|
methods: {
|
shenHE(s){
|
this.tableRow=s
|
this.checkskipvisible=true
|
},
|
changeMy(){
|
this.getData()
|
},
|
// 状态按钮
|
handleRadioChange() {
|
this.getData();
|
},
|
// 每页条数改变时触发 选择一页显示多少行
|
handleSizeChange(val) {
|
console.log(`每页 ${val} 条`);
|
this.pageSize = val;
|
this.getData();
|
},
|
// 当前页改变时触发 跳转其他页
|
handleCurrentChange(val) {
|
console.log(`当前页: ${val}`);
|
this.page = val;
|
this.getData();
|
},
|
// 重置按钮
|
resetData() {
|
this.input = undefined;
|
this.page = 1;
|
this.pageSize = 10;
|
this.checkStatus = undefined;
|
this.getData();
|
},
|
//通过
|
checkskip(row) {
|
console.log(this.tableRow);
|
this.reportTable[this.tableRow.$index].status=1
|
this.transmitData(this.tableRow.row.id,1)
|
this.checkskipvisible= false
|
},
|
//不通过
|
nocheckskip(row) {
|
console.log(this.tableRow);
|
this.reportTable[this.tableRow.$index].status=0
|
this.transmitData(this.tableRow.row.id,2)
|
this.checkskipvisible= false
|
},
|
//审核
|
async transmitData(id, result) {
|
let param={"id":id,"result":result}
|
let data = await checkApi(param)
|
await this.getData();
|
},
|
// 查询列表
|
async getData() {
|
const params = {
|
page: this.page,
|
pageSize: this.pageSize,
|
name: this.input ? this.input : undefined,
|
status: this.checkStatus ? this.checkStatus : undefined,
|
checked: this.checked
|
};
|
const { data } = await selectAllReportCheck(params);
|
console.log(data);
|
this.reportTable = data.row;
|
this.total = data.total;
|
},
|
},
|
};
|
</script>
|
|
<style lang="scss" scoped>
|
.top-bar {
|
margin: -25px -15px;
|
background: #fff;
|
display: flex;
|
justify-content: space-between;
|
padding: 5px 24px 0px 24px;
|
.input-form {
|
width: 700px;
|
}
|
.el-dropdown-link {
|
cursor: pointer;
|
color: #409eff;
|
}
|
.el-icon-arrow-down {
|
font-size: 12px;
|
}
|
}
|
.library-table {
|
height:80vh;
|
background-color: #fff;
|
flex: 1;
|
margin: 0px -15px;
|
margin-top: 40px;
|
display: flex;
|
flex-direction: column;
|
.table-header {
|
padding: 20px;
|
display: flex;
|
justify-content: space-between;
|
.el-form-item {
|
margin-bottom: 30px !important;
|
}
|
}
|
.table-box {
|
padding: 0px 20px;
|
margin-top: 0px;
|
flex: 1;
|
background: #fff;
|
display: flex;
|
flex-direction: column;
|
> div:nth-child(2) {
|
display: flex;
|
justify-content: end;
|
margin: 10px 0;
|
}
|
}
|
}
|
</style>
|