¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="capacity-scope"> |
| | | <div class="search"> |
| | | <div> |
| | | <el-form :model="entity" ref="entity" size="small" :inline="true"> |
| | | <el-form-item label="æ ·ååç§°" prop="sample"> |
| | | <el-input size="small" placeholder="请è¾å
¥" clearable v-model="entity.sample" |
| | | @keyup.enter.native="refreshTable()"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="å§æåä½" prop="company"> |
| | | <el-select @focus="getCompanyOptions" @change="refreshTable()" clearable |
| | | size="small" v-model="entity.company" style="width: 100%"> |
| | | <el-option v-for="item in companyOptions" :key="item.value" |
| | | :label="item.label" :value="item.label"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="refreshTable">æ¥ è¯¢</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="refresh">é ç½®</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <lims-table :tableData="tableData" :column="column" |
| | | :height="'calc(100vh - 250px)'" @pagination="pagination" |
| | | :page="page" :tableLoading="tableLoading"></lims-table> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import limsTable from "@/components/Table/lims-table.vue"; |
| | | import {selectRatesPage} from "@/api/business/insOrderRates"; |
| | | import {selectCustomPageList} from "@/api/system/customer"; |
| | | |
| | | export default { |
| | | components: {limsTable}, |
| | | data() { |
| | | return { |
| | | entity: { |
| | | sample: null, |
| | | company: null, |
| | | }, |
| | | tableData: [], |
| | | tableLoading: false, |
| | | column: [ |
| | | { label: 'ä¸åæ¶é´', prop: 'createTime', width: 150 }, |
| | | { label: 'å§æç¼å·', prop: 'entrustCode', width: 160 }, |
| | | { label: 'æ ·ååç§°', prop: 'sample', width: 160 }, |
| | | { label: 'æ ·åæ°é', prop: 'sampleNum' }, |
| | | { label: 'å§æåä½', prop: 'company' }, |
| | | { label: 'å§æäºº', prop: 'prepareUser' }, |
| | | { label: 'ç产åä½', prop: 'production' }, |
| | | { label: 'å·¥ç¨åç§°', prop: 'engineering' }, |
| | | { label: 'å·¥æ¶', prop: 'cost' } |
| | | ], |
| | | page: { |
| | | total: 0, |
| | | size: 10, |
| | | current: 1 |
| | | }, |
| | | companyOptions: [] |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.refreshTable() |
| | | this.getCompanyOptions() |
| | | }, |
| | | methods :{ |
| | | refreshTable() { |
| | | this.tableLoading = true |
| | | selectRatesPage({ ...this.page, ...this.entity }).then(res => { |
| | | this.tableLoading = false |
| | | this.tableData = res.data.records |
| | | this.page.total = res.data.total |
| | | }).catch(err => { |
| | | this.tableLoading = false |
| | | }) |
| | | }, |
| | | // éç½® |
| | | refresh() { |
| | | this.resetForm('entity') |
| | | this.refreshTable() |
| | | }, |
| | | // æ¥è¯¢å§æåä½ä¸ææ¡æ°æ® |
| | | getCompanyOptions () { |
| | | selectCustomPageList({ |
| | | current: -1, |
| | | size: -1 |
| | | }).then(res => { |
| | | const list = res.data.records |
| | | this.companyOptions = [] |
| | | list.map((item) => { |
| | | const obj = Object.assign({ |
| | | value: item.id, |
| | | label: item.company, |
| | | }) |
| | | this.companyOptions.push(obj) |
| | | }) |
| | | }).catch(err => { }); |
| | | }, |
| | | // å页忢 |
| | | pagination(page) { |
| | | this.page.size = page.limit |
| | | this.refreshTable() |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | .search { |
| | | height: 46px; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | } |
| | | </style> |