<!--季度评价列表--> <template> <div class="evaluate"> <div class="evaluate-inputs"> 供应商编号 <el-input v-model="selectInfo.supplierCode" style="width: 200px" placeholder="请输入编号" clearable class="evaluate-input"/> 供应商名称 <el-input v-model="selectInfo.supplierName" style="width: 200px" placeholder="请输入供应商名称" clearable class="evaluate-input"/> 年份 <el-select v-model="selectInfo.evaluateYear" class="evaluate-select" clearable placeholder="请选择年份" style="width: 150px"> <el-option v-for="item in evaluateAnnualOpts" :key="item.id" :label="item.name" :value="item.value" /> </el-select> 季度 <el-select v-model="selectInfo.evaluateQuarterly" class="evaluate-select" clearable placeholder="请选择季度" style="width: 150px"> <el-option v-for="item in evaluateQuarterlyOpts" :key="item.id" :label="item.name" :value="item.value" /> </el-select> 评价结果 <el-select v-model="selectInfo.quarterlyEvaluateResult" class="evaluate-select" clearable placeholder="请选择评价结果" style="width: 150px"> <el-option v-for="item in evaluateResultOpts" :key="item.id" :label="item.name" :value="item.value" /> </el-select> <div class="evaluate-btns"> <el-button type="primary" class="evaluate-button" @click="selectData"> 查询 </el-button> <el-button type="primary" class="el-icon-refresh-right" @click="reset"> 重置 </el-button> </div> </div> <div class="evaluate-table"> <el-table :data="tableData.rows" :row-class-name="tableRowClassName" :header-cell-style="{ 'text-align': 'center', background: '#2483b3', color: 'white', }" :row-style="{ 'text-align': 'center' }" style="width: 100%" > <el-table-column type="index" label="序号" width="100" /> <el-table-column prop="supplierCode" label="供应商编号" width="200" /> <el-table-column prop="supplierName" label="供应商名称" width="400" /> <el-table-column prop="supplierStatusName" label="供应商状态" width="100" /> <el-table-column label="最新评价季度"> <template v-if="scope.row.evaluateYearName !== ''" slot-scope="scope"> {{ scope.row.evaluateYearName }}年{{ scope.row.evaluateQuarterlyName }} </template> </el-table-column> <el-table-column prop="quarterlyEvaluateResultName" label="季度评价结果" width="150" /> <el-table-column prop="quarterlyEvaluateDate" label="季度评价日期" width="150"/> <el-table-column header-align="center" width="200" align="center" fixed="right" label="操作"> <template slot-scope="scope"> <el-button type="text" size="small" @click="historyDialog(scope.row)"> 历史评价 </el-button> <el-button type="text" size="small" @click="evaluateDialogClick(scope.row)"> 季度评价 </el-button> </template> </el-table-column> </el-table> <group-page v-model="isFristPage" :limit="limit" :total="total" :offset="offset" :count="tableData.total" @setOffset="setOffset" @setLimit="setLimit" /> </div> <history-evaluate-dialog ref="evaluateHis" /> <evaluate-dialog ref="evaluateDialog" @refreshList="selectData" :evaluate-annual-opts="evaluateAnnualOpts" :evaluate-quarterly-opts="evaluateQuarterlyOpts" :evaluate-result-opts="evaluateResultOpts" /> </div> </template> <script> import GroupPage from '../../components/mycomponent/groupPage.vue' import EvaluateDialog from '@/views/supplier/evaluateDialog' import HistoryEvaluateDialog from '@/views/supplier/historyEvaluateDialog' import { e_list } from '../../api/supplier/supplier' import { tableRowClassName } from '../../utils/myUtils/changeTableTr' import { listMixin } from '../../utils/myUtils/mixins/listPage' import { getDictByCode } from '@/api/system/dict' export default { // 加入分页逻辑 components: { HistoryEvaluateDialog, EvaluateDialog, GroupPage }, mixins: [listMixin], data() { return { dataInfo: {}, isShowHistoryDialog: false, isShowDialog: false, selectInfo: { supplierCode: '', supplierName: '', evaluateYear: '', evaluateQuarterly: '', quarterlyEvaluateResult: '' }, evaluateAnnualOpts: [], evaluateQuarterlyOpts: [], evaluateResultOpts: [] } }, mounted() { this.getDictEvaluateAnnual() this.getDictEvaluateQuarterly() this.getDictEvaluateResult() }, methods: { tableRowClassName: tableRowClassName, getDictEvaluateAnnual() { getDictByCode('assessAnnual').then(response => { if (response.code === 200) { this.evaluateAnnualOpts = response.data } }) }, getDictEvaluateQuarterly() { getDictByCode('evaluateQuarterly').then(response => { if (response.code === 200) { this.evaluateQuarterlyOpts = response.data } }) }, getDictEvaluateResult() { getDictByCode('evaluateResult').then(response => { if (response.code === 200) { this.evaluateResultOpts = response.data } }) }, historyDialog(row) { this.$refs.evaluateHis.initHistoryDialog(row) }, evaluateDialogClick(row) { this.$refs.evaluateDialog.initDialog(row) }, getListPage(limit = 10, offset = 1) { e_list(`limit=${limit}&offset=${offset}`, this.queryInfo).then(res => { this.tableData = res }) }, reset() { this.selectInfo = { // 搜索框中的数据的数据 supplierCode: '', supplierName: '', evaluateYear: '', evaluateQuarterly: '', quarterlyEvaluateResult: '' } } } } </script> <style lang="scss"> .evaluate { position: relative; width: 100%; min-height: 700px; height: 223px; overflow: auto; } .evaluate-inputs { position: relative; .evaluate-input { margin: 0 1rem 0 0.5rem; } .evaluate-select { margin: 0 1rem 0 0.5rem; } .evaluate-btns { position: absolute; right: 0; top: 0; .evaluate-button { margin-right: 1rem; } } } .evaluate-table { margin-top: 20px; } </style>