| | |
| | | <template> |
| | | <div class="content-main"> |
| | | <div class="top-bar"> |
| | | <el-form ref="form" :inline="true"> |
| | | <el-form-item class="sermargin"> |
| | | <el-form ref="form" :inline="true" style="margin-top: 10px;"> |
| | | <el-form-item> |
| | | <el-input |
| | | v-model="input" |
| | | class="input-form" |
| | |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="getData()">查询</el-button> |
| | | <el-button type="primary" plain @click="resetData()">重置</el-button> |
| | | <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> |
| | | <el-form> |
| | | <el-button class="rightBtn" type="primary" @click="exportData">审核</el-button> |
| | | </el-form> |
| | | </div> |
| | | <div class="library-table"> |
| | |
| | | <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="2">待通过</el-radio-button> |
| | | <el-radio-button label="0">待通过</el-radio-button> |
| | | <el-radio-button label="1">通过</el-radio-button> |
| | | </el-radio-group> |
| | | <el-checkbox v-model="checked" style="margin-left: 20px" |
| | | >仅看我的</el-checkbox |
| | | > |
| | | </div> |
| | | </div> |
| | | <div class="table-box"> |
| | | <el-table |
| | | ref="reportTable" |
| | | :max-height="800" |
| | | :cell-style="{textAlign: 'center'}" |
| | | :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}" |
| | | :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="selection" |
| | | label="" |
| | | min-width="5%" |
| | | /> |
| | | <el-table-column |
| | | prop="materialCode" |
| | | label="样品编号" |
| | | min-width="10%" |
| | | /> |
| | | <el-table-column |
| | | prop="reportCode" |
| | | label="报告单号" |
| | | min-width="10%" |
| | | /> |
| | | <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%" |
| | | > |
| | | <el-table-column prop="status" label="审批状态" min-width="8%" v-model="Auditconclusion"> |
| | | <template slot-scope="scope"> |
| | | <span> |
| | | <el-tag type="warning">{{ scope.row.status == 0 ? '待提交' : '已审核' }}</el-tag> |
| | | <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></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" |
| | | @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> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { selectAllReportCheck } from '@/api/experiment/reportAuditing' |
| | | import { selectAllReportCheck,checkApi } from "@/api/experiment/reportAuditing"; |
| | | export default { |
| | | data() { |
| | | return { |
| | |
| | | reportTable: [], |
| | | page: 1, |
| | | total: 0, |
| | | pageSize: 10 |
| | | } |
| | | pageSize: 10, |
| | | checkskipvisible: false, |
| | | form:{}, |
| | | formLabelWidth: '120px', |
| | | checked:{}, |
| | | usertt:[], |
| | | Auditconclusion:{}, |
| | | tableRow: {}, |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getData() |
| | | this.getData(); |
| | | }, |
| | | methods: { |
| | | shenHE(s){ |
| | | this.tableRow=s |
| | | this.checkskipvisible=true |
| | | }, |
| | | // 状态按钮 |
| | | handleRadioChange() { |
| | | this.getData() |
| | | this.getData(); |
| | | }, |
| | | // 每页条数改变时触发 选择一页显示多少行 |
| | | handleSizeChange(val) { |
| | | console.log(`每页 ${val} 条`) |
| | | this.pageSize = val |
| | | this.getData() |
| | | console.log(`每页 ${val} 条`); |
| | | this.pageSize = val; |
| | | this.getData(); |
| | | }, |
| | | // 当前页改变时触发 跳转其他页 |
| | | handleCurrentChange(val) { |
| | | console.log(`当前页: ${val}`) |
| | | this.page = val |
| | | this.getData() |
| | | console.log(`当前页: ${val}`); |
| | | this.page = val; |
| | | this.getData(); |
| | | }, |
| | | // 重置按钮 |
| | | resetData() { |
| | | this.input = undefined |
| | | this.page = 1 |
| | | this.pageSize = 10 |
| | | this.checkStatus = undefined |
| | | this.getData() |
| | | 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() { |
| | |
| | | page: this.page, |
| | | pageSize: this.pageSize, |
| | | name: this.input ? this.input : undefined, |
| | | status: this.checkStatus ? this.checkStatus : undefined |
| | | } |
| | | const { data } = await selectAllReportCheck(params) |
| | | this.reportTable = data.row |
| | | this.total = data.total |
| | | } |
| | | } |
| | | } |
| | | status: this.checkStatus ? this.checkStatus : undefined, |
| | | }; |
| | | 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; |
| | | .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 { |
| | | 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; |
| | | padding: 5px 24px 0px 24px; |
| | | .input-form { |
| | | width: 800px; |
| | | .el-form-item { |
| | | margin-bottom: 30px !important; |
| | | } |
| | | } |
| | | .library-table{ |
| | | background-color: #fff; |
| | | flex: 1; |
| | | margin: 0px -15px; |
| | | margin-top: 40px; |
| | | } |
| | | .table-box { |
| | | padding: 0px 20px; |
| | | margin-top: 0px; |
| | | flex: 1; |
| | | background: #fff; |
| | | display: flex; |
| | | flex-direction: column; |
| | | > div:nth-child(2) { |
| | | 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; |
| | | } |
| | | } |
| | | justify-content: end; |
| | | margin: 10px 0; |
| | | } |
| | | } |
| | | } |
| | | </style> |