Merge branch 'master' of http://192.168.110.209:9001/r/lims-before
¶Ô±ÈÐÂÎļþ |
| | |
| | | ## lims-before |
| | | |
| | | limsåæ®µ |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '@/utils/request' |
| | | |
| | | export function selectAllReport(params) { |
| | | return request({ |
| | | url: '/report/selectAllReport', |
| | | method: 'get', |
| | | params |
| | | }) |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '@/utils/request' |
| | | |
| | | export function selectAllPlan(params) { |
| | | return request({ |
| | | url: '/plan/selectAllPlan', |
| | | method: 'get', |
| | | params |
| | | }) |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '@/utils/request' |
| | | |
| | | export function selectAllReportCheck(params) { |
| | | return request({ |
| | | url: '/reportAuditing/selectAllReportAuditing', |
| | | method: 'get', |
| | | params |
| | | }) |
| | | } |
| | |
| | | // æ¥è¯¢ææç³è¯·åå表 |
| | | export function getInspectionList(params) { |
| | | return request({ |
| | | url: '/inspection/selectAllInspection', |
| | | url: '/inspection/selectInspectsList', |
| | | method: 'get', |
| | | params |
| | | }) |
¶Ô±ÈÐÂÎļþ |
| | |
| | | const baseurl='/nonConformanceReview' |
| | | |
| | | const url={ |
| | | "getNonConformanceReview": baseurl+"/getNonConformanceReview",//è·åä¸åæ ¼åè¯å®¡ |
| | | } |
| | | export default{ |
| | | url |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | const baseurl='/non-conforming-feedback' |
| | | |
| | | const url={ |
| | | "getNonConformingFeedback": baseurl+"/getNonConformingFeedback",//è·åä¸åæ ¼ååé¦ |
| | | } |
| | | export default{ |
| | | url |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '@/utils/request' |
| | | |
| | | export function get(path, params) { |
| | | return request({ |
| | | url: path, |
| | | method: 'get', |
| | | params |
| | | }) |
| | | } |
| | | |
| | | export function post(path, data) { |
| | | return request({ |
| | | url: path, |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | | |
| | |
| | | <template> |
| | | <div> |
| | | 满æåº¦è°æ¥ |
| | | <div class="content-main survey"> |
| | | <div class="top-bar"> |
| | | <el-form ref="form" style="width: 1000px;" :inline="true"> |
| | | <!-- <el-input v-model="input" class="input-form" placeholder="è¯·ç´æ¥è¾å
¥æ ·å¼ç¼å·/æ ·ååç§°/åå·è§æ ¼/è¿è¡æç´¢æä¸æéæ©è¿è¡ç»åæ¥è¯¢" |
| | | @keyup.enter.native="getData" /> --> |
| | | <el-form-item style="width: 800px;"> |
| | | <el-col style="display: flex; justify-content: space-around;" :span="8"> |
| | | <el-row>è°æ¥æ¥æ:</el-row> |
| | | <el-row><el-input type="date" style="width: 130px;" v-model="materialCode" placeholder="è¯·éæ©è°æ¥æ¥æ"></el-input></el-row> |
| | | </el-col> |
| | | <el-col style="display: flex; justify-content: space-around;" :span="8"> |
| | | <el-row>å½å
¥æ¥æ:</el-row> |
| | | <el-row><el-input style="width: 130px;" v-model="materialName" placeholder="è¯·éæ©å½å
¥æ¥æ"></el-input></el-row> |
| | | </el-col> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" size="small" @click="getData()">æ¥è¯¢</el-button> |
| | | <el-button type="primary" size="small" plain @click="resetData()">æ¸
空</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-form> |
| | | <el-button size="40" icon="el-icon-document-add" type="primary">æ°å¢è®°å½</el-button> |
| | | </el-form> |
| | | </div> |
| | | <div class="library-table"> |
| | | <div class="table-box"> |
| | | <el-table ref="tableData" :max-height="800" :cell-style="{ textAlign: 'center' }" |
| | | :header-cell-style="{ border: '0px', background: '#f5f7fa', color: '#606266', boxShadow: 'inset 0 1px 0 #ebeef5', textAlign: 'center' }" |
| | | :data="tableData" style="width: 100%"> |
| | | <el-table-column type="selection" label="" min-width="5%" /> |
| | | <el-table-column label="æ ·åç¼å·" min-width="10%"> |
| | | <template slot-scope="scope"> |
| | | <a style="color: #3894d1;">{{ scope.row.materialCode }}</a> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="materialName" label="æ ·ååç§°" min-width="10%" /> |
| | | <el-table-column label="ç³è¯·åå·" min-width="10%" > |
| | | <template slot-scope="scope"> |
| | | <a style="color: #3894d1;">{{ scope.row.inspectionCode }}</a> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="createTime" label="ç»è®°æ¥æ" min-width="10%" /> |
| | | <el-table-column prop="testManager" label="æ£éªè´è´£äºº" min-width="10%" /> |
| | | <el-table-column prop="specifications" label="è§æ ¼åå·" min-width="10%" /> |
| | | <el-table-column prop="inspectionStatus" label="ç»è®º" min-width="10%"> |
| | | <template slot-scope="scope"> |
| | | <el-tag type="danger">ä¸åæ ¼</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="æä½" min-width="8%"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" size="small">æä½</el-button> |
| | | <el-button type="text" size="small">ä½åº</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <!-- åé¡µå¨ --> |
| | | <div> |
| | | <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> |
| | | </div> |
| | | </template> |
| | | </template> |
| | | |
| | | <script> |
| | | import { get, post } from '@/api/util/requestUtil'; |
| | | import urlInfo from '../../../api/urlEnum/nonConformanceReview.js' |
| | | export default { |
| | | data() { |
| | | return { |
| | | input: '', |
| | | tableData: [], |
| | | page: 1, |
| | | total: 0, |
| | | pageSize: 10, |
| | | materialCode: null, |
| | | materialName: null, |
| | | inspectionCode: null |
| | | } |
| | | }, |
| | | created() { |
| | | |
| | | }, |
| | | mounted() { |
| | | this.getData() |
| | | }, |
| | | methods: { |
| | | handleCurrentChange() { |
| | | this.getData(); |
| | | }, |
| | | handleSizeChange() { |
| | | |
| | | }, |
| | | exportData() { |
| | | |
| | | }, |
| | | // éç½®æé® |
| | | resetData() { |
| | | this.page = 1 |
| | | this.pageSize = 10 |
| | | this.materialCode=null |
| | | this.materialName=null |
| | | this.inspectionCode=null |
| | | this.getData() |
| | | }, |
| | | async getData() { |
| | | let param = { |
| | | "currentPage": this.page, |
| | | 'pageNum': this.pageSize, |
| | | "inspectionCode": this.inspectionCode, |
| | | "materialCode": this.materialCode, |
| | | "materialName": this.materialName |
| | | } |
| | | let res = await get(urlInfo.url.getNonConformanceReview, param) |
| | | this.tableData = res.data.nonConformanceReviewList |
| | | this.total = res.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: 800px; |
| | | } |
| | | |
| | | .el-dropdown-link { |
| | | cursor: pointer; |
| | | color: #409EFF !important; |
| | | } |
| | | |
| | | .el-icon-arrow-down { |
| | | font-size: 12px !important; |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | .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; |
| | | |
| | | .el-form-item { |
| | | margin-bottom: 30px !important; |
| | | } |
| | | } |
| | | |
| | | .table-box { |
| | | padding: 0px 20px; |
| | | margin-top: 20px; |
| | | flex: 1; |
| | | background: #fff; |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | >div:nth-child(2) { |
| | | display: flex; |
| | | justify-content: end; |
| | | margin: 10px 0; |
| | | } |
| | | |
| | | } |
| | | } |
| | | </style> |
| | | <style > |
| | | .content-main { |
| | | .el-form .el-form-item .el-form-item__content { |
| | | width: 100% !important; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <div>æ£æµæ¥å</div> |
| | | <div class="content-main"> |
| | | <div class="top-bar"> |
| | | <el-form ref="form" :inline="true"> |
| | | <el-form-item class="sermargin"> |
| | | <el-input |
| | | v-model="input" |
| | | class="input-form" |
| | | placeholder="è¯·ç´æ¥è¾å
¥æ ·å¼ç¼å·/æ¥ååå·/æ ·åç¼å·/è¿è¡æç´¢æä¸æéæ©è¿è¡ç»åæ¥è¯¢" |
| | | @keyup.enter.native="getData" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="getData()">æ¥è¯¢</el-button> |
| | | <el-button type="primary" plain @click="resetData()">éç½®</el-button> |
| | | </el-form-item> |
| | | <el-dropdown> |
| | | <span class="el-dropdown-link"> |
| | | é«çº§æç´¢<i class="el-icon-arrow-down el-icon--right"></i> |
| | | </span> |
| | | <el-dropdown-menu slot="dropdown"> |
| | | <el-dropdown-item>é«çº§æç´¢</el-dropdown-item> |
| | | </el-dropdown-menu> |
| | | </el-dropdown> |
| | | </el-form> |
| | | <el-form> |
| | | <el-button |
| | | class="rightBtn" |
| | | type="primary" |
| | | icon="el-icon-document" |
| | | @click="exportData" |
| | | >å¯¼åºæ¥å</el-button |
| | | > |
| | | </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-button label="2">å·²å®¡æ ¸</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', |
| | | }" |
| | | :data="reportTable" |
| | | style="width: 100%" |
| | | > |
| | | <el-table-column type="selection" label="" min-width="5%" /> |
| | | |
| | | <el-table-column |
| | | prop="materialCode" |
| | | label="æ ·åç¼å·" |
| | | sortable |
| | | min-width="10%" |
| | | /> |
| | | <el-table-column |
| | | prop="reportCode" |
| | | label="æ¥ååå·" |
| | | sortable |
| | | min-width="10%" |
| | | /> |
| | | <el-table-column |
| | | prop="inspectionCode" |
| | | label="ç³è¯·åå·" |
| | | sortable |
| | | min-width="10%" |
| | | /> |
| | | <el-table-column prop="approver" label="审æ¹äºº" min-width="8%"> |
| | | <template slot-scope="scope"> |
| | | <span> |
| | | <el-tag type="info" icon="el-icon-user"> |
| | | <i class="el-icon-user">{{ scope.row.approver }}</i> |
| | | </el-tag> |
| | | </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="status" label="审æ¹ç¶æ" min-width="8%"> |
| | | <template slot-scope="scope"> |
| | | <span> |
| | | <el-tag type="info">{{ |
| | | scope.row.status == 0 |
| | | ? "å¾
æäº¤" |
| | | : scope.row.status == 1 |
| | | ? "å¾
å®¡æ ¸" |
| | | : scope.row.status == 2 |
| | | ? "代ç¾å" |
| | | : "已宿" |
| | | }}</el-tag> |
| | | </span> |
| | | </template></el-table-column |
| | | > |
| | | <el-table-column prop="conclusion" label="æ£éªç»è®º" min-width="8%" /> |
| | | <el-table-column prop="name" label="ç¼å¶äºº" min-width="8%"> |
| | | <template slot-scope="scope"> |
| | | <span> |
| | | <el-tag type="info" icon="el-icon-user"> |
| | | <i class="el-icon-user">{{ scope.row.name }}</i> |
| | | </el-tag> |
| | | </span> |
| | | </template> |
| | | </el-table-column> |
| | | <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">æå°</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <!-- åé¡µå¨ --> |
| | | <div> |
| | | <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> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { selectAllReport } from "@/api/experiment/checkTheReport"; |
| | | export default { |
| | | |
| | | } |
| | | data() { |
| | | return { |
| | | input: "", |
| | | checkStatus: undefined, |
| | | reportTable: [], |
| | | page: 1, |
| | | total: 0, |
| | | pageSize: 10, |
| | | checked: true, |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getData(); |
| | | }, |
| | | methods: { |
| | | // ç¶ææé® |
| | | 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(); |
| | | }, |
| | | // æ¥è¯¢å表 |
| | | async getData() { |
| | | const params = { |
| | | page: this.page, |
| | | pageSize: this.pageSize, |
| | | name: this.input ? this.input : undefined, |
| | | status: this.checkStatus ? this.checkStatus : undefined, |
| | | }; |
| | | const { data } = await selectAllReport(params); |
| | | 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 { |
| | | 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> |
| | |
| | | <template> |
| | | <div>ä¸åæ ¼è¯å®¡</div> |
| | | <div class="content-main"> |
| | | <div class="top-bar"> |
| | | <el-form ref="form" style="width: 1000px;" :inline="true"> |
| | | <!-- <el-input v-model="input" class="input-form" placeholder="è¯·ç´æ¥è¾å
¥æ ·å¼ç¼å·/æ ·ååç§°/åå·è§æ ¼/è¿è¡æç´¢æä¸æéæ©è¿è¡ç»åæ¥è¯¢" |
| | | @keyup.enter.native="getData" /> --> |
| | | <el-form-item style="width: 800px;"> |
| | | <el-col style="display: flex; justify-content: space-around;" :span="8"> |
| | | <el-row>æ ·å¼ç¼å·:</el-row> |
| | | <el-row><el-input size="small" v-model="materialCode" placeholder="请è¾å
¥æ ·å¼ç¼å·"></el-input></el-row> |
| | | </el-col> |
| | | <el-col style="display: flex; justify-content: space-around;" :span="8"> |
| | | <el-row>æ ·å¼åç§°:</el-row> |
| | | <el-row><el-input size="small" v-model="materialName" placeholder="请è¾å
¥æ ·å¼åç§°"></el-input></el-row> |
| | | </el-col> |
| | | <el-col style="display: flex; justify-content: space-around;" :span="8"> |
| | | <el-row>ç³è¯·åå·:</el-row> |
| | | <el-row><el-input size="small" v-model="inspectionCode" placeholder="请è¾å
¥ç³è¯·åå·"></el-input></el-row> |
| | | </el-col> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" size="small" @click="getData()">æ¥è¯¢</el-button> |
| | | <el-button type="primary" size="small" plain @click="resetData()">éç½®</el-button> |
| | | <el-dropdown style="margin-left: 7px;"> |
| | | <span class="el-dropdown-link"> |
| | | é«çº§æç´¢<i class="el-icon-arrow-down el-icon--right"></i> |
| | | </span> |
| | | <el-dropdown-menu slot="dropdown"> |
| | | <el-dropdown-item>é»éç³</el-dropdown-item> |
| | | <el-dropdown-item>ç®å头</el-dropdown-item> |
| | | <el-dropdown-item>èºè³ç²</el-dropdown-item> |
| | | <el-dropdown-item disabled>åç®å¥¶</el-dropdown-item> |
| | | <el-dropdown-item divided>èµä»ç
</el-dropdown-item> |
| | | </el-dropdown-menu> |
| | | </el-dropdown> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-form> |
| | | <el-button size="40" type="primary">æ¹éæäº¤</el-button> |
| | | </el-form> |
| | | </div> |
| | | <div class="library-table"> |
| | | <div class="table-box"> |
| | | <el-table ref="tableData" :max-height="800" :cell-style="{ textAlign: 'center' }" |
| | | :header-cell-style="{ border: '0px', background: '#f5f7fa', color: '#606266', boxShadow: 'inset 0 1px 0 #ebeef5', textAlign: 'center' }" |
| | | :data="tableData" style="width: 100%"> |
| | | <el-table-column type="selection" label="" min-width="5%" /> |
| | | <el-table-column label="æ ·åç¼å·" min-width="10%"> |
| | | <template slot-scope="scope"> |
| | | <a style="color: #3894d1;">{{ scope.row.materialCode }}</a> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="materialName" label="æ ·ååç§°" min-width="10%" /> |
| | | <el-table-column label="ç³è¯·åå·" min-width="10%" > |
| | | <template slot-scope="scope"> |
| | | <a style="color: #3894d1;">{{ scope.row.inspectionCode }}</a> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="createTime" label="ç»è®°æ¥æ" min-width="10%" /> |
| | | <el-table-column prop="testManager" label="æ£éªè´è´£äºº" min-width="10%" /> |
| | | <el-table-column prop="specifications" label="è§æ ¼åå·" min-width="10%" /> |
| | | <el-table-column prop="inspectionStatus" label="ç»è®º" min-width="10%"> |
| | | <template slot-scope="scope"> |
| | | <el-tag type="danger">ä¸åæ ¼</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="æä½" min-width="8%"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" size="small">æäº¤</el-button> |
| | | <el-button type="text" size="small">ä½åº</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <!-- åé¡µå¨ --> |
| | | <div> |
| | | <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> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { get, post } from '@/api/util/requestUtil'; |
| | | import urlInfo from '../../../api/urlEnum/nonConformingFeedback.js' |
| | | export default { |
| | | data() { |
| | | return { |
| | | input: '', |
| | | tableData: [], |
| | | page: 1, |
| | | total: 0, |
| | | pageSize: 10, |
| | | materialCode: null, |
| | | materialName: null, |
| | | inspectionCode: null |
| | | } |
| | | }, |
| | | created() { |
| | | |
| | | }, |
| | | mounted() { |
| | | this.getData() |
| | | }, |
| | | methods: { |
| | | handleCurrentChange() { |
| | | this.getData(); |
| | | }, |
| | | handleSizeChange() { |
| | | |
| | | }, |
| | | exportData() { |
| | | |
| | | }, |
| | | // éç½®æé® |
| | | resetData() { |
| | | this.page = 1 |
| | | this.pageSize = 10 |
| | | this.materialCode=null |
| | | this.materialName=null |
| | | this.inspectionCode=null |
| | | this.getData() |
| | | }, |
| | | async getData() { |
| | | let param = { |
| | | "currentPage": this.page, |
| | | 'pageNum': this.pageSize, |
| | | "inspectionCode": this.inspectionCode, |
| | | "materialCode": this.materialCode, |
| | | "materialName": this.materialName |
| | | } |
| | | let res = await get(urlInfo.url.getNonConformingFeedback, param) |
| | | this.tableData = res.data.nonConformingFeedbackList |
| | | this.total = res.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: 800px; |
| | | } |
| | | |
| | | .el-dropdown-link { |
| | | cursor: pointer; |
| | | color: #409EFF !important; |
| | | } |
| | | |
| | | .el-icon-arrow-down { |
| | | font-size: 12px !important; |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | .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; |
| | | |
| | | .el-form-item { |
| | | margin-bottom: 30px !important; |
| | | } |
| | | } |
| | | |
| | | .table-box { |
| | | padding: 0px 20px; |
| | | margin-top: 20px; |
| | | flex: 1; |
| | | background: #fff; |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | >div:nth-child(2) { |
| | | display: flex; |
| | | justify-content: end; |
| | | margin: 10px 0; |
| | | } |
| | | |
| | | } |
| | | } |
| | | </style> |
| | | <style > |
| | | .content-main { |
| | | .el-form .el-form-item .el-form-item__content { |
| | | width: 100% !important; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <div>ä¸åæ ¼åé¦</div> |
| | | <div class="content-main"> |
| | | <div class="top-bar"> |
| | | <el-form ref="form" style="width: 1000px;" :inline="true"> |
| | | <!-- <el-input v-model="input" class="input-form" placeholder="è¯·ç´æ¥è¾å
¥æ ·å¼ç¼å·/æ ·ååç§°/åå·è§æ ¼/è¿è¡æç´¢æä¸æéæ©è¿è¡ç»åæ¥è¯¢" |
| | | @keyup.enter.native="getData" /> --> |
| | | <el-form-item style="width: 800px;"> |
| | | <el-col style="display: flex; justify-content: space-around;" :span="8"> |
| | | <el-row>æ ·å¼ç¼å·:</el-row> |
| | | <el-row><el-input size="small" v-model="materialCode" placeholder="请è¾å
¥æ ·å¼ç¼å·"></el-input></el-row> |
| | | </el-col> |
| | | <el-col style="display: flex; justify-content: space-around;" :span="8"> |
| | | <el-row>æ ·å¼åç§°:</el-row> |
| | | <el-row><el-input size="small" v-model="materialName" placeholder="请è¾å
¥æ ·å¼åç§°"></el-input></el-row> |
| | | </el-col> |
| | | <el-col style="display: flex; justify-content: space-around;" :span="8"> |
| | | <el-row>ç³è¯·åå·:</el-row> |
| | | <el-row><el-input size="small" v-model="inspectionCode" placeholder="请è¾å
¥ç³è¯·åå·"></el-input></el-row> |
| | | </el-col> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" size="small" @click="getData()">æ¥è¯¢</el-button> |
| | | <el-button type="primary" size="small" plain @click="resetData()">éç½®</el-button> |
| | | <el-dropdown style="margin-left: 7px;"> |
| | | <span class="el-dropdown-link"> |
| | | é«çº§æç´¢<i class="el-icon-arrow-down el-icon--right"></i> |
| | | </span> |
| | | <el-dropdown-menu slot="dropdown"> |
| | | <el-dropdown-item>é»éç³</el-dropdown-item> |
| | | <el-dropdown-item>ç®å头</el-dropdown-item> |
| | | <el-dropdown-item>èºè³ç²</el-dropdown-item> |
| | | <el-dropdown-item disabled>åç®å¥¶</el-dropdown-item> |
| | | <el-dropdown-item divided>èµä»ç
</el-dropdown-item> |
| | | </el-dropdown-menu> |
| | | </el-dropdown> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-form> |
| | | <el-button size="40" type="primary">æ¹éæäº¤</el-button> |
| | | </el-form> |
| | | </div> |
| | | <div class="library-table"> |
| | | <div class="table-box"> |
| | | <el-table ref="tableData" :max-height="800" :cell-style="{ textAlign: 'center' }" |
| | | :header-cell-style="{ border: '0px', background: '#f5f7fa', color: '#606266', boxShadow: 'inset 0 1px 0 #ebeef5', textAlign: 'center' }" |
| | | :data="tableData" style="width: 100%"> |
| | | <el-table-column type="selection" label="" min-width="5%" /> |
| | | <el-table-column label="æ ·åç¼å·" min-width="10%"> |
| | | <template slot-scope="scope"> |
| | | <a style="color: #3894d1;">{{ scope.row.materialCode }}</a> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="materialName" label="æ ·ååç§°" min-width="10%" /> |
| | | <el-table-column label="ç³è¯·åå·" min-width="10%" > |
| | | <template slot-scope="scope"> |
| | | <a style="color: #3894d1;">{{ scope.row.inspectionCode }}</a> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="createTime" label="ç»è®°æ¥æ" min-width="10%" /> |
| | | <el-table-column prop="testManager" label="æ£éªè´è´£äºº" min-width="10%" /> |
| | | <el-table-column prop="specifications" label="è§æ ¼åå·" min-width="10%" /> |
| | | <el-table-column prop="inspectionStatus" label="ç»è®º" min-width="10%"> |
| | | <template slot-scope="scope"> |
| | | <el-tag type="danger">ä¸åæ ¼</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="æä½" min-width="8%"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" size="small">æä½</el-button> |
| | | <el-button type="text" size="small">ä½åº</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <!-- åé¡µå¨ --> |
| | | <div> |
| | | <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> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { get, post } from '@/api/util/requestUtil'; |
| | | import urlInfo from '../../../api/urlEnum/nonConformanceReview.js' |
| | | export default { |
| | | data() { |
| | | return { |
| | | input: '', |
| | | tableData: [], |
| | | page: 1, |
| | | total: 0, |
| | | pageSize: 10, |
| | | materialCode: null, |
| | | materialName: null, |
| | | inspectionCode: null |
| | | } |
| | | }, |
| | | created() { |
| | | |
| | | }, |
| | | mounted() { |
| | | this.getData() |
| | | }, |
| | | methods: { |
| | | handleCurrentChange() { |
| | | this.getData(); |
| | | }, |
| | | handleSizeChange() { |
| | | |
| | | }, |
| | | exportData() { |
| | | |
| | | }, |
| | | // éç½®æé® |
| | | resetData() { |
| | | this.page = 1 |
| | | this.pageSize = 10 |
| | | this.materialCode=null |
| | | this.materialName=null |
| | | this.inspectionCode=null |
| | | this.getData() |
| | | }, |
| | | async getData() { |
| | | let param = { |
| | | "currentPage": this.page, |
| | | 'pageNum': this.pageSize, |
| | | "inspectionCode": this.inspectionCode, |
| | | "materialCode": this.materialCode, |
| | | "materialName": this.materialName |
| | | } |
| | | let res = await get(urlInfo.url.getNonConformanceReview, param) |
| | | this.tableData = res.data.nonConformanceReviewList |
| | | this.total = res.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: 800px; |
| | | } |
| | | |
| | | .el-dropdown-link { |
| | | cursor: pointer; |
| | | color: #409EFF !important; |
| | | } |
| | | |
| | | .el-icon-arrow-down { |
| | | font-size: 12px !important; |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | .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; |
| | | |
| | | .el-form-item { |
| | | margin-bottom: 30px !important; |
| | | } |
| | | } |
| | | |
| | | .table-box { |
| | | padding: 0px 20px; |
| | | margin-top: 20px; |
| | | flex: 1; |
| | | background: #fff; |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | >div:nth-child(2) { |
| | | display: flex; |
| | | justify-content: end; |
| | | margin: 10px 0; |
| | | } |
| | | |
| | | } |
| | | } |
| | | </style> |
| | | <style > |
| | | .content-main { |
| | | .el-form .el-form-item .el-form-item__content { |
| | | width: 100% !important; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <div class="top-bar"> |
| | | <el-form ref="form" :inline="true" :model="searchData"> |
| | | <el-form-item label="设å¤åç§°:" class="sermargin"> |
| | | <el-select v-model="searchData.devicename" placeholder="å
¨é¨" style="width: 100px;"> |
| | | <el-select |
| | | v-model="searchData.devicename" |
| | | placeholder="å
¨é¨" |
| | | style="width: 100px" |
| | | > |
| | | <el-option |
| | | v-for="item in options" |
| | | v-for="item in options1" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | type="daterange" |
| | | range-separator="~" |
| | | start-placeholder="å¼å§æ¥æ" |
| | | end-placeholder="ç»ææ¥æ"> |
| | | end-placeholder="ç»ææ¥æ" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="æ£éªäºº:" style="margin-right: 20px;"> |
| | | <el-select v-model="searchData.person" placeholder="å
¨é¨" style="width: 80px;margin-right: 100px;"> |
| | | <el-form-item label="æ£éªäºº:" style="margin-right: 20px"> |
| | | <el-select |
| | | v-model="searchData.person" |
| | | placeholder="å
¨é¨" |
| | | style="width: 80px; margin-right: 100px" |
| | | > |
| | | <el-option |
| | | v-for="item in options" |
| | | v-for="item in options2" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" plain style="margin-right: 10px;">éç½®</el-button> |
| | | <el-button type="primary" plain style="margin-right: 10px" |
| | | >éç½®</el-button |
| | | > |
| | | <el-button type="primary">æ¥è¯¢</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-form> |
| | | </div> |
| | | <div class="table-box"> |
| | | <div class="formwrapper"> |
| | | <el-table |
| | | ref="planTable" |
| | | :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: 'center' }" |
| | | :header-cell-style="{ |
| | | border: '0px', |
| | | background: '#f5f7fa', |
| | | color: '#606266', |
| | | boxShadow: 'inset 0 1px 0 #ebeef5', |
| | | textAlign: 'center', |
| | | }" |
| | | :data="planTable" |
| | | style="width: 100%" |
| | | > |
| | | <el-table-column |
| | | type="index" |
| | | label="åºå·" |
| | | min-width="10%" |
| | | /> |
| | | <el-table-column |
| | | prop="device" |
| | | label="æ£éªè®¾å¤" |
| | | min-width="8%" |
| | | /> |
| | | <el-table-column |
| | | prop="samplename" |
| | | label="æ ·ååç§°" |
| | | min-width="8%" |
| | | /> |
| | | <el-table-column |
| | | prop="sampleid" |
| | | label="æ ·åç¼å·" |
| | | min-width="10%" |
| | | /> |
| | | <el-table-column |
| | | prop="modelandspecification" |
| | | label="è§æ ¼åå·" |
| | | min-width="12%" |
| | | /> |
| | | <el-table-column |
| | | prop="unit" |
| | | label="åä½" |
| | | min-width="5%" |
| | | /> |
| | | <el-table-column |
| | | prop="amount" |
| | | label="æ°é" |
| | | min-width="5%" |
| | | /> |
| | | <el-table-column |
| | | prop="checkproject" |
| | | label="æ£éªé¡¹ç®" |
| | | min-width="12%" |
| | | /> |
| | | <el-table-column |
| | | prop="checker" |
| | | label="æ£éªäºº" |
| | | min-width="6%" |
| | | /> |
| | | <el-table-column |
| | | prop="duration" |
| | | label="计åå·¥æ/h" |
| | | min-width="8%" |
| | | /> |
| | | <el-table-column |
| | | prop="progress" |
| | | label="æ£éªè¿åº¦" |
| | | min-width="12%"> |
| | | <template slot-scope="scope"> |
| | | <div v-if="scope.row.progress === 100" style="display: flex;"> |
| | | <el-progress :text-inside="true" :stroke-width="15" :percentage="scope.row.progress" status="success" style="width: 70%;"></el-progress> |
| | | <span style="color: rgb(103, 194, 58);">已宿</span> |
| | | </div> |
| | | <div v-if="scope.row.progress <100 && scope.row.progress >0" style="display: flex;"> |
| | | <el-progress :text-inside="true" :stroke-width="15" :percentage="scope.row.progress" status="warning" style="width: 70%;"></el-progress> |
| | | <span style="color: rgb(230, 162, 60);">æ£éªä¸</span> |
| | | </div> |
| | | <div v-if="scope.row.progress === 0" style="display: flex;"> |
| | | <el-progress :text-inside="true" :stroke-width="15" :percentage="scope.row.progress" style="width: 70%;"></el-progress> |
| | | <span style="color: gray">æªåé
</span> |
| | | </div> |
| | | <div v-else> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="starttime" |
| | | label="计åå¼å§æ¶é´" |
| | | min-width="10%" |
| | | /> |
| | | <el-table-column |
| | | prop="finishtime" |
| | | label="计åç»ææ¶é´" |
| | | min-width="10%" |
| | | /> |
| | | <el-table-column |
| | | label="æä½" |
| | | min-width="8%" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" size="small" @click="handleClick(scope.row)">æ¥ç</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column type="index" label="åºå·" min-width="10%" /> |
| | | <el-table-column prop="device" label="æ£éªè®¾å¤" min-width="8%" /> |
| | | <el-table-column prop="samplename" label="æ ·ååç§°" min-width="8%" /> |
| | | <el-table-column prop="sampleid" label="æ ·åç¼å·" min-width="10%" /> |
| | | <el-table-column |
| | | prop="modelandspecification" |
| | | label="è§æ ¼åå·" |
| | | min-width="12%" |
| | | /> |
| | | <el-table-column prop="unit" label="åä½" min-width="5%" /> |
| | | <el-table-column prop="amount" label="æ°é" min-width="5%" /> |
| | | <el-table-column |
| | | prop="checkproject" |
| | | label="æ£éªé¡¹ç®" |
| | | min-width="12%" |
| | | /> |
| | | <el-table-column prop="checker" label="æ£éªäºº" min-width="6%" /> |
| | | <el-table-column prop="duration" label="计åå·¥æ/h" min-width="8%" /> |
| | | <el-table-column prop="progress" label="æ£éªè¿åº¦" min-width="12%"> |
| | | <template slot-scope="scope"> |
| | | <div v-if="scope.row.progress === 100" style="display: flex"> |
| | | <el-progress |
| | | :text-inside="true" |
| | | :stroke-width="15" |
| | | :percentage="scope.row.progress" |
| | | status="success" |
| | | style="width: 70%" |
| | | ></el-progress> |
| | | <span style="color: rgb(103, 194, 58)">已宿</span> |
| | | </div> |
| | | <div |
| | | v-if="scope.row.progress < 100 && scope.row.progress > 0" |
| | | style="display: flex" |
| | | > |
| | | <el-progress |
| | | :text-inside="true" |
| | | :stroke-width="15" |
| | | :percentage="scope.row.progress" |
| | | status="warning" |
| | | style="width: 70%" |
| | | ></el-progress> |
| | | <span style="color: rgb(230, 162, 60)">æ£éªä¸</span> |
| | | </div> |
| | | <div v-if="scope.row.progress === 0" style="display: flex"> |
| | | <el-progress |
| | | :text-inside="true" |
| | | :stroke-width="15" |
| | | :percentage="scope.row.progress" |
| | | style="width: 70%" |
| | | ></el-progress> |
| | | <span style="color: gray">æªåé
</span> |
| | | </div> |
| | | <div v-else></div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="starttime" |
| | | label="计åå¼å§æ¶é´" |
| | | min-width="10%" |
| | | /> |
| | | <el-table-column |
| | | prop="finishtime" |
| | | label="计åç»ææ¶é´" |
| | | min-width="10%" |
| | | /> |
| | | <el-table-column label="æä½" min-width="8%"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | @click="handleClick(scope.row)" |
| | | >æ¥ç</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { selectAllPlan } from "@/api/experiment/planAssignments"; |
| | | export default { |
| | | data() { |
| | | return { |
| | |
| | | time: "", |
| | | person: "", |
| | | }, |
| | | options: [ |
| | | { |
| | | value: "é项1", |
| | | label: "é项1", |
| | | }, |
| | | { |
| | | value: "é项2", |
| | | label: "é项2", |
| | | disabled: true, |
| | | }, |
| | | ], |
| | | planTable: [{ |
| | | device: 'æåæº', |
| | | samplename: 'ééé¢ç»çº¿', |
| | | sampleid: 'SN1027401-12937', |
| | | modelandspecification: 'JLHA/G1A-185/30-14/7', |
| | | unit: 'm', |
| | | amount: '200', |
| | | checkproject: 'æå强度ï¼ç»åï¼', |
| | | checker: 'é»å°æ', |
| | | duration: '2', |
| | | progress: 100, |
| | | starttime: '2023-08-04 8:00', |
| | | finishtime: '2023-08-04 10:00', |
| | | },{ |
| | | device: 'æåæº', |
| | | samplename: 'ééé¢ç»çº¿', |
| | | sampleid: 'SN1027401-12937', |
| | | modelandspecification: 'JLHA/G1A-185/30-14/7', |
| | | unit: 'm', |
| | | amount: '200', |
| | | checkproject: 'æå强度ï¼ç»åï¼', |
| | | checker: 'é»å°æ', |
| | | duration: '2', |
| | | progress: 60, |
| | | starttime: '2023-08-04 8:00', |
| | | finishtime: '2023-08-04 10:00', |
| | | },{ |
| | | device: 'æåæº', |
| | | samplename: 'ééé¢ç»çº¿', |
| | | sampleid: 'SN1027401-12937', |
| | | modelandspecification: 'JLHA/G1A-185/30-14/7', |
| | | unit: 'm', |
| | | amount: '200', |
| | | checkproject: 'æå强度ï¼ç»åï¼', |
| | | checker: 'é»å°æ', |
| | | duration: '2', |
| | | progress: 30, |
| | | starttime: '2023-08-04 8:00', |
| | | finishtime: '2023-08-04 10:00', |
| | | },{ |
| | | device: 'æåæº', |
| | | samplename: 'ééé¢ç»çº¿', |
| | | sampleid: 'SN1027401-12937', |
| | | modelandspecification: 'JLHA/G1A-185/30-14/7', |
| | | unit: 'm', |
| | | amount: '200', |
| | | checkproject: 'æå强度ï¼ç»åï¼', |
| | | checker: 'é»å°æ', |
| | | duration: '2', |
| | | progress: 0, |
| | | starttime: '2023-08-04 8:00', |
| | | finishtime: '2023-08-04 10:00', |
| | | }] |
| | | options1: [], |
| | | options2: [], |
| | | planTable: [], |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getData(); |
| | | }, |
| | | methods: { |
| | | // æ¥è¯¢å表 |
| | | async getData() { |
| | | const params = {}; |
| | | const { data } = await selectAllPlan(params); |
| | | this.planTable = data; |
| | | this.planTable.forEach((res) => { |
| | | let o1 = { |
| | | value: res.device, |
| | | label: res.device, |
| | | }; |
| | | this.options1.push(o1); |
| | | |
| | | if(res.userId == undefined) { |
| | | |
| | | } |
| | | }); |
| | | let d=this.options1.filter((val,index,self)=>{ |
| | | return self.indexOf(val)==index; |
| | | }) |
| | | console.log(d); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | margin-right: 60px; |
| | | } |
| | | } |
| | | .table-box{ |
| | | .table-box { |
| | | background-color: #fff; |
| | | margin: 0px -15px; |
| | | margin-top: 35px; |
| | | display: flex; |
| | | flex-direction: column; |
| | | height: 78vh; |
| | | .formwrapper{ |
| | | .formwrapper { |
| | | padding: 0px 20px; |
| | | margin-top: 0px; |
| | | flex: 1; |
| | |
| | | <template> |
| | | <div>æ¥åå®¡æ ¸</div> |
| | | <div class="content-main"> |
| | | <div class="top-bar"> |
| | | <el-form ref="form" :inline="true"> |
| | | <el-form-item class="sermargin"> |
| | | <el-input |
| | | v-model="input" |
| | | class="input-form" |
| | | placeholder="è¯·ç´æ¥è¾å
¥æ ·å¼ç¼å·/æ¥åç¼å·/æ ·ååç§°/è¿è¡æç´¢æä¸æéæ©è¿è¡ç»åæ¥è¯¢" |
| | | @keyup.enter.native="getData" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="getData()">æ¥è¯¢</el-button> |
| | | <el-button type="primary" plain @click="resetData()">éç½®</el-button> |
| | | </el-form-item> |
| | | <el-dropdown> |
| | | <span class="el-dropdown-link"> |
| | | é«çº§æç´¢<i class="el-icon-arrow-down el-icon--right"></i> |
| | | </span> |
| | | <el-dropdown-menu slot="dropdown"> |
| | | <el-dropdown-item>é«çº§æç´¢</el-dropdown-item> |
| | | </el-dropdown-menu> |
| | | </el-dropdown> |
| | | </el-form> |
| | | <el-form> |
| | | <el-button class="rightBtn" type="primary" @click="exportData" |
| | | >å®¡æ ¸</el-button |
| | | > |
| | | </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="2">å¾
éè¿</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', |
| | | }" |
| | | :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 |
| | | prop="materialName" |
| | | label="æ ·ååç§°" |
| | | min-width="10%" |
| | | /> |
| | | <el-table-column prop="status" label="审æ¹ç¶æ" min-width="8%"> |
| | | <template slot-scope="scope"> |
| | | <span> |
| | | <el-tag type="warning">{{ |
| | | scope.row.status == 0 ? "å¾
æäº¤" : "å¾
éè¿" |
| | | }}</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 |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <!-- åé¡µå¨ --> |
| | | <div> |
| | | <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> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { selectAllReportCheck } from "@/api/experiment/reportAuditing"; |
| | | export default { |
| | | |
| | | } |
| | | data() { |
| | | return { |
| | | input: "", |
| | | checkStatus: undefined, |
| | | reportTable: [], |
| | | page: 1, |
| | | total: 0, |
| | | pageSize: 10, |
| | | checked: true, |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getData(); |
| | | }, |
| | | methods: { |
| | | // ç¶ææé® |
| | | 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(); |
| | | }, |
| | | // æ¥è¯¢å表 |
| | | async getData() { |
| | | const params = { |
| | | 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; |
| | | }, |
| | | }, |
| | | }; |
| | | </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 { |
| | | 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> |