<template> <div class="app-content"> <a-tabs default-active-key="1" :tab-position="'top'" @change="callback"> <a-tab-pane key="1" :tab="'待处理项目(' + panes.count1 + ')'"> </a-tab-pane> <a-tab-pane key="10" :tab="'已通过项目(' + panes.count2 + ')'"> </a-tab-pane> <a-tab-pane key="30" :tab="'返回修改项目(' + panes.count3 + ')'"> </a-tab-pane> <a-tab-pane key="20" :tab="'未通过项目(' + panes.count4 + ')'"> </a-tab-pane> <a-tab-pane key="" :tab="'所有项目(' + panes.count5 + ')'"> </a-tab-pane> </a-tabs> <a-form layout="horizontal" :form="form" :model="searchForm"> <a-row :gutter="30"> <a-col :span="8"> <a-form-item label="项目名称"> <a-input placeholder="项目名称" v-model="searchForm.projName" :maxLength="100" style="width: 272px" /> </a-form-item> </a-col> <a-col :span="8"> <a-form-item label="项目编号"> <a-input placeholder="项目编号" v-model="searchForm.projNo" :maxLength="100" style="width: 272px" /> </a-form-item> </a-col> <a-col :span="8"> <a-form-item label="项目类别"> <para-select v-model="searchForm.projClass" :typeId="52" /> </a-form-item> </a-col> </a-row> <a-row> <a-col :span="8"> <a-form-item label="申报单位"> <a-input placeholder="申报单位" v-model="searchForm.appUnitName" :maxLength="100" style="width: 272px" /> </a-form-item> </a-col> <a-col :span="8"> <a-form-item label="申报人"> <a-input placeholder="申报人" v-model="searchForm.appPersonName" :maxLength="50" style="width: 272px" /> </a-form-item> </a-col> <a-col :span="8"> <a-form-item> <a-button type="primary" icon="search" @click="search">搜索</a-button> <a-button icon="reload" style="margin-left: 10px" @click="reset" class="bt-normal">重置</a-button> </a-form-item> </a-col> </a-row> <a-row> <a-col :span="30"> <a-form-item> <a-button type="primary" @click="exportData">导出Excel</a-button> <span :style="{ color: '#DC143C' }"> 审核时间:{{ description }}</span> </a-form-item> </a-col> </a-row> </a-form> <a-table :dataSource="tableData" :columns="columns" rowKey="id" :pagination="false" :loading="loading"> <template slot="auditResultName" slot-scope="record"> <span v-if="record"> {{ record }} </span> </template> <template slot="option" slot-scope="record"> <a-button type="link" size="small" @click="recordClick(record, 'view')">查看</a-button> <a-button type="link" size="small" v-if="record.auditResult == 1 && isButten" @click="recordClick(record, 'audit')">审核</a-button> </template> </a-table> <a-pagination v-if="pagination.total > 0" :total="pagination.total" show-size-changer show-quick-jumper v-model="pagination.pageIndex" :page-size="pagination.pageSize" :page-size-options="pagination.pageSizeOptions" @showSizeChange="showSizeChange" @change="change" :showTotal="() => `共 ${pagination.total} 条`" /> <a-modal v-model="visibleAudit" :title="'审核'" :width="'86%'" :dialog-style="{ top: '20px' }" :maskClosable="false" :footer="null" destroyOnClose> <audit v-model="id" :objId="objectId" @closeWindow="closeAuditWindow"></audit> </a-modal> <a-modal v-model="visibleView" :title="'考核表查看'" :width="'80%'" :dialog-style="{ top: '20px' }" destroyOnClose> <template slot="footer"> <a-button type="primary" @click="() => (visibleView = false)"> 确定 </a-button> </template> <check-view v-model="objectId"></check-view> </a-modal> </div> </template> <script> import { isEmptyParams, filterExportExcelData, tableColumnsName, } from "@/views/utils/common"; import paraSelect from "@/views/components/common/paraSelect"; import Audit from "@/views/audit/check/audit"; import CheckView from "@/views/report/check/components/checkView"; export default { name: "checkAudit", components: { CheckView, paraSelect, Audit, }, data() { return { // 选项卡 panes: { count1: 0, count2: 0, count3: 0, count4: 0, count5: 0 }, form: this.$form.createForm(this, { name: "advanced_search" }), searchForm: { auditType: 3, auditResult: 1, projName: null, projNo: null, appUnitName: null, appPersonName: null, projClass: null, reportYear: null, reportType }, tableData: [], columns: [ { title: "项目名称", dataIndex: "projName" }, { title: "项目编号", dataIndex: "projNo" }, { title: "版本号", dataIndex: "versionNo" }, { title: "项目类别", dataIndex: "projClassName" }, { title: "开始时间", dataIndex: "startDate" }, { title: "结束时间", dataIndex: "endDate" }, { title: "申报年度", dataIndex: "reportYear" }, { title: "申报单位", dataIndex: "appUnitName" }, { title: "申报人", dataIndex: "appPersonName" }, { title: "状态", dataIndex: "auditResultName", scopedSlots: { customRender: "auditResultName" }, width: "100px", }, { title: "操作", fixed: "right", scopedSlots: { customRender: "option" }, }, ], pagination: { pageIndex: 1, pageSize: this.$defaultPageSize, total: 0, pageSizeOptions: this.$defaultPageSizeOptions, }, loading: false, // 弹窗标志 visibleAudit: false, visibleView: false, modalTitle: "", isButten: false, description: "", id: null, objectId: null, }; }, created() { this.getYear(); }, methods: { search() { this.pagination.pageIndex = 1; this.getListByPage(); }, reset() { this.pagination.pageIndex = 1; this.getListByPage(); }, getYear() { let pars = { type: 3 }; this.$api.year .getYearByTreeCode(pars) .then(({ data = {} }) => { if (data) { this.isButten = data.disabled; this.description = data.description; this.searchForm.reportYear = data.reportYear; this.getListByPage(); } }) .catch(() => { this.loading = false; }); }, getListByPage() { this.getCount(); this.loading = true; let pars = isEmptyParams(this.searchForm); let par = { ...pars, pageIndex: this.pagination.pageIndex, pageSize: this.pagination.pageSize, }; this.$api.auditManager .getListByPage(par) .then(({ data = {} }) => { if (data) { const { dataList = [], total = 0 } = data; this.tableData = dataList; this.pagination.total = total; this.loading = false; } }) .catch(() => { this.loading = false; }); }, getCount() { let pars = isEmptyParams({ auditType: 3, reportYear: this.searchForm.reportYear, }); this.$api.auditManager .getCount(pars) .then(({ data = {} }) => { if (data) { this.panes = data; } }) .catch(() => { }); }, submitForm() { }, change() { this.getListByPage(); }, showSizeChange (current, pageSize) { this.pagination.pageSize = pageSize this.getListByPage() }, closeAuditWindow(value) { if (value === "audit") { this.getListByPage(); this.visibleAudit = false; } else if (value === "auditcel") { this.visibleAudit = false; } else this.visibleView = false; }, recordClick(record, type) { if (type === "view") { this.objectId = record.auditObjectId; this.visibleView = true; } else if (type === "audit") { this.id = record.id; this.objectId = record.auditObjectId; this.visibleAudit = true; } }, callback(key) { this.searchForm.auditResult = key; this.getListByPage(); }, exportData() { this.$ToDoExcel( `中期考核审核列表`, tableColumnsName(this.columns), filterExportExcelData(this.columns, this.tableData) ); }, }, }; </script> <style scoped lang="less"> .app-content { border: 1px solid #e8e8e8; padding: 0px 10px 10px 10px; } .ant-form-item { display: flex !important; } .ant-form-item-control-wrapper { flex: 1 !important; width: 100% !important; } .ant-pagination { float: inherit !important; margin-top: 15px; } </style>