<!-- 单位自主填报 --> <template> <div class="L-main" id="L-size-main"> <div class="content-search" id="L-header"> <div class="search-title">查询条件</div> <el-form :inline="true" ref="formInlineRef" :model="pagination" size="small" class="demo-form-inline"> <el-row> <el-col :span="6"> <el-form-item label="资产名称:" prop="name"> <el-input v-model="pagination.name" placeholder="请输入"></el-input> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="所属单位:" prop="dwmc"> <el-input v-model="pagination.dwmc" placeholder="请输入"></el-input> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="审核状态:" prop="auditState"> <el-select v-model="pagination.auditState" placeholder="请选择审核状态"> <el-option label="未审批" value="1" /> <el-option label="审核通过" value="2" /> <el-option label="审核驳回" value="3" /> </el-select> </el-form-item> </el-col> <el-col :span="6" style="text-align: right;"> <el-form-item class="unit-form"> <el-button size="mini" @click="resetQuery('queryFrom')">重置</el-button> <el-button size="mini" type="primary" @click="handleQuery('queryFrom')">查询</el-button> </el-form-item> </el-col> </el-row> </el-form> </div> <main> <div class="search-title"> <el-row class="mb8"> <el-col> <div class="exportBtn"> <div class="mybuttom" :class="btnShow == item.value ? 'mybuttomshow' : ''" v-for="(item, index) in btnArr" @click="xuanzelist(item)"> {{ item.label }} </div> </div> </el-col> </el-row> </div> <section> <el-table v-loading="loading" :data="tableData" :height="tabHeader" :max-height="tabHeader" :row-class-name="tableRowClassName"> <el-table-column type="index" width="50" label="序号" align="center" /> <!-- <el-table-column label="任务编号" key="id" width="200px" prop="id" align="center" /> --> <el-table-column label="资产名称" key="xtmc" prop="xtmc" align="center" /> <el-table-column label="所属单位" key="dwmc" prop="dwmc" align="center"> <!-- <template slot-scope="scope"> <dict-tag :options="dict.type.project_middle_type" :value="scope.row.projectMiddleType"/> </template> --> </el-table-column> <el-table-column label="审核状态" key="auditState" width="200px" prop="auditState" class-name="table-status" align="center"> <template slot-scope="scope"> <span v-if="scope.row.auditState == 1" style="color: #F58A0C;"> 未审批 </span> <span v-if="scope.row.auditState == 2" style="color: #1485EF;"> 审批通过 </span> <span v-if="scope.row.auditState == 3" style="color: #F50C0C;"> 审批驳回 </span> </template> </el-table-column> <el-table-column label="操作" prop="userId" class-name="table-operation" align="center"> <template slot-scope="scope"> <div style="display: flex;align-items: center;justify-content: center;"> <div style="display: flex;align-items: center;cursor: pointer;" @click="goInfo(scope.row)"> <img src="@/assets/images/icon-ck@2x.png" alt="" style="width: 20px;margin-right: 5px;"> <span class="look-info" style="color: #1485EF;">查看</span> </div> <!-- --> <div v-if="scope.row.auditState == 1 || scope.row.auditState == 3" style="display: flex;align-items: center;cursor: pointer;margin-left: 10px;" @click="delInfo(scope.row)"> <img src="@/assets/images/icon-shenhe@2x.png" alt="" style="width: 15px;margin-right: 5px;"> <span class="del-info" style="color: #1485EF;">审批</span> </div> <div v-if="scope.row.auditState == 3" style="display: flex;align-items: center;cursor: pointer;margin-left: 10px;" @click="lookInfo(scope.row)"> <img src="@/assets/images/icon-shenhe@2x.png" alt="" style="width: 15px;margin-right: 5px;"> <span class="del-info" style="color: #1485EF;">驳回原因</span> </div> </div> </template> </el-table-column> </el-table> </section> <my-pagination id="L-pagination" :total="total" :page="pagination.current" :limit="pagination.size" @pagination="getPagination" :current-page.sync="pagination.current"></my-pagination> <my-dialog title="查看原因" ref="liebiaoDialog" class="taskDialogBox" width="40%"> <el-descriptions> <el-descriptions-item label="不通过原因"> {{ chakanyuanyin }} </el-descriptions-item> </el-descriptions> </my-dialog> </main> </div> </template> <script> import myPagination from "@/views/components/Pagination/index.vue" import myDialog from "@/views/components/myDialog/index.vue" import danweiList from "@/views/system/user/danweiList.vue" import { addassetTaskadd, getassetTask, getassetTaskid, assetTaskclose } from "@/api/renwuApi/index.js" import { getAuditList } from "@/api/auditPagesApi/index.js" export default { // dicts: ['jjh_project_type', 'bms_approval_status', "project_middle_type", "project_small_type", "project_categories"], components: { myPagination, myDialog, danweiList }, data() { return { btnloading: false, total: 0, pagination: { current: 1, size: 10, name:'', dwmc:'', auditState:'' }, tableData: [ ], loading: false, tabHeader: undefined, btnArr: [ { label: 'web资产', value: "web" }, { label: '小程序', value: 'xcx' }, { label: '公众号', value: 'gzh' }, { label: '电子邮件', value: 'emil' }, { label: '移动应用系统', value: 'app' } ], btnShow:"web", chakanyuanyin:'', } }, mounted() { this.getInfo(1); this.cancalDebounce(); window.addEventListener('resize', this.cancalDebounce); }, destroyed() { window.removeEventListener('resize', this.cancalDebounce); }, methods: { // 获取列表 getInfo(id) { this.loading = true; if(id == 1) { getAuditList(this.pagination).then(res => { this.loading = false; this.total = res.data.total; this.tableData = res.data.records; }) } else if(id == 2) { } else if(id == 3) { } else if(id == 4) { } else if(id == 5) { } }, // 重置 resetQuery() { this.resetForm("formInlineRef"); this.pagination.current = 1; if(this.btnShow == 'web') { this.getInfo(1) } else if(this.btnShow == 'xcx') { this.getInfo(2) } else if(this.btnShow == 'gzh') { this.getInfo(3) } else if(this.btnShow == 'emil') { this.getInfo(4) } else if(this.btnShow == 'app') { this.getInfo(5) } }, // 查询 handleQuery() { this.pagination.current = 1; if(this.btnShow == 'web') { this.getInfo(1) } else if(this.btnShow == 'xcx') { this.getInfo(2) } else if(this.btnShow == 'gzh') { this.getInfo(3) } else if(this.btnShow == 'emil') { this.getInfo(4) } else if(this.btnShow == 'app') { this.getInfo(5) } this.getInfo(); }, // 页码获取 getPagination(pages) { this.pagination.current = pages.page; this.pagination.size = pages.limit; this.getInfo(); if(this.btnShow == 'web') { this.getInfo(1) } else if(this.btnShow == 'xcx') { this.getInfo(2) } else if(this.btnShow == 'gzh') { this.getInfo(3) } else if(this.btnShow == 'emil') { this.getInfo(4) } else if(this.btnShow == 'app') { this.getInfo(5) } }, // 查看详情 goInfo(row) { this.$router.push({ name: 'unitAssetsAuth', query: { type: this.btnShow == 'web' ? 0 : this.btnShow == 'xcx' ? 1 : this.btnShow == 'gzh' ? 2 : this.btnShow == 'emil' ? 3 : this.btnShow == 'app' ? 4 : 5, pageType: "look", id: row.currentId } }) }, delInfo(row) { //taskAudit this.$router.push({ name: 'unitAssetsAuth', query: { type: this.btnShow == 'web' ? 0 : this.btnShow == 'xcx' ? 1 : this.btnShow == 'gzh' ? 2 : this.btnShow == 'emil' ? 3 : this.btnShow == 'app' ? 4 : 5, pageType: "change", id: row.currentId } }) }, // 切换tab xuanzelist(item) { this.btnShow = item.value switch (item.value) { case 'web': this.getInfo(1) break; case 'xzx': this.getInfo(2) break; case 'gzh': this.getInfo(3) break; case 'emil': this.getInfo(4) break; case 'app': this.getInfo(5) break; default: break; } }, lookInfo(row){ this.chakanyuanyin = row.auditYy this.$refs.liebiaoDialog.open() }, // 修改table背景色 tableRowClassName({ row, rowIndex }) { if (rowIndex % 2 !== 0) { return 'evenNumber-row'; } return ''; }, // 屏幕尺寸变化 cancalDebounce() { const element = document.getElementById('L-size-main'); // 通过元素的 ID 获取元素 const header = document.getElementById('L-header'); // 通过元素的 ID 获取元素 const pagination = document.getElementById('L-pagination'); // 通过元素的 ID 获取元素 const elementHeight = element.offsetHeight; const headerHeight = header.offsetHeight; const paginationtHeight = pagination.offsetHeight; this.tabHeader = elementHeight - headerHeight - paginationtHeight - 140; } }, } </script> <style lang="scss" scoped> .el-icon-s-unfold { font-size: 16px; } // ::v-deep .el-dialog__body{ // padding-left: 80px; // } .el-icon-delete { color: #409EFF; font-size: 16px; font-weight: 600; margin-right: 5px; } .exportBtn { display: flex; align-items: center; justify-content: space-between; padding: 0 20px; } .mybuttom { margin: 0 10px; display: inline-block; padding: 5px 20px; background-color: rgba(30, 128, 235, 0.1); border-radius: 8px; border: 1px solid #1e80eb; font-size: 14px; color: #1e80eb; font-family: Source Han Sans CN; cursor: pointer; &:hover { background-color: #1e80eb; color: #ffffff; border: 1px solid #1e80eb; } } .mybuttomshow { background-color: #1e80eb; color: #ffffff; border: 1px solid #1e80eb; } </style>