<!-- 资产管理 --> <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="queryForm" :model="formInline" size="small" class="demo-form-inline"> <el-row> <el-col :span="8"> <el-form-item label="系统名称:" prop="xtmc"> <el-input v-model="formInline.xtmc" placeholder="请输入系统名称"></el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="系统类型:" prop="xtlx"> <el-select v-model="formInline.xtlx" placeholder="请选择系统类型"> <el-option v-for="dict in dict.type.zc_xtlx" :key="dict.value" :label="dict.label" :value="dict.value"> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="新增时间:" prop="time"> <el-date-picker v-model="formInline.time" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" type="datetimerange" start-placeholder="开始时间" end-placeholder="结束时间" placeholder="请选择" > </el-date-picker> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="8"> <el-form-item label="单位名称:" prop="dwmc"> <el-input v-model="formInline.dwmc" placeholder="请输入单位名称"></el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="系统状态:" prop="xtzt"> <el-select v-model="formInline.xtzt" placeholder="请选择系统状态"> <el-option v-for="dict in dict.type.zc_xtzt" :key="dict.value" :label="dict.label" :value="dict.value"> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="8" style="text-align: right;padding-right: 50px;"> <el-form-item> <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"> <span class="search-title-span">资产列表</span> <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> <el-button type="info" plain icon="el-icon-upload2" size="mini" @click="handleImport" >导入</el-button> </el-col> <el-col :span="1.5"> <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" >导出</el-button> </el-col> <el-col :span="1.5"> <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" >新增资产</el-button> </el-col> </el-row> </div> <section> <el-table v-loading="loading" :data="tableData" :height="tabHeader" :row-class-name="tableRowClassName" :max-height="tabHeader"> <el-table-column type="index" width="50" label="序号" align="center"/> <el-table-column label="系统名称" key="xtmc" width="200px" prop="xtmc" align="center" /> <el-table-column label="系统类型" key="xtlx" prop="xtlx" align="center"> <template slot-scope="scope"> <dict-tag :options="dict.type.zc_xtlx" :value="scope.row.xtlx"/> </template> </el-table-column> <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="createTime" prop="createTime" align="center" /> <el-table-column label="系统状态" key="status" width="200px" prop="status" class-name="table-status" align="center"> <template slot-scope="scope"> <span v-if="scope.row.xtzt == 1" style="color: #16B771;"> 已安装 </span> <span v-if="scope.row.xtzt == 2" style="color: #F58A0C;"> 测试中 </span> <span v-if="scope.row.xtzt == 3" style="color: #1485EF;"> 使用中 </span> <span v-if="scope.row.xtzt == 4" style="color: #29A07A;"> 维护中 </span> <span v-if="scope.row.xtzt == 5" 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;"> <img src="@/assets/images/icon-ck@2x.png" alt="" style="width: 20px;margin-right: 5px;"> <span class="look-info" @click="goInfo(scope.row,1)" style="color: #1485EF;margin-right: 15px;">查看</span> </div> <div style="display: flex;align-items: center;cursor: pointer;"> <img src="@/assets/images/edit.png" alt="" style="width: 15px;margin-right: 5px;"> <span class="look-info" @click="goInfo(scope.row,2)" style="color: #1485EF;margin-right: 15px;">编辑</span> </div> <div style="display: flex;align-items: center;cursor: pointer;"> <img src="@/assets/images/del.png" alt="" style="width: 20px;margin-right: 5px;"> <span class="look-info" @click="goInfo(scope.row,3)" style="color: #F50C0C;margin-right: 15px;">删除</span> </div> </div> </template> </el-table-column> </el-table> </section> <my-pagination id="L-pagination" :total="total" :page="formInline.current" :limit="formInline.size" @pagination="getPagination" :current-page.sync="formInline.current" ></my-pagination> </main> </div> </template> <script> import myPagination from "@/views/components/Pagination/index.vue" // import myDialog from "@/views/components/myDialog/index.vue" import { assetUnit, deleteAssetInfo } from "@/api/auditPagesApi/index"; export default { dicts: ['zc_xtzt','zc_xtlx'], components:{myPagination}, data() { return { formInline:{ xtmc:"", xtlx:"", time:[], startTime:"", endTime:"", dwmc:"", xtzt:"", current:1, size:10, }, total:0, tableData:[], loading:false, tabHeader: undefined, } }, mounted(){ this.getList(); this.cancalDebounce(); window.addEventListener('resize', this.cancalDebounce); }, destroyed() { window.removeEventListener('resize', this.cancalDebounce); }, methods:{ // 获取列表 getList(){ this.loading = true; assetUnit('get',this.formInline).then(res=>{ this.loading = false; this.total = res.data.total; this.tableData = res.data.records; }) }, // 重置 resetQuery(){ this.resetForm("queryForm"); this.handleQuery(); this.getList(); }, // 查询 handleQuery(){ this.formInline.current = 1; if(this.formInline.time) { this.formInline.startTime = this.formInline.time[0] this.formInline.endTime = this.formInline.time[1] } this.formInline.time = []; this.getList(); }, // 页码获取 getPagination(pages){ this.formInline.current = pages.page; this.formInline.size = pages.limit; this.getList(); }, // 导入 handleImport(){}, // 导出 handleExport(){}, // 新增资产 handleAdd(){ this.$router.push({name: 'AssetsAuth',query: { pageType: "add", }}) }, // 查看详情 goInfo(row,id){ if(id == 1) { this.$router.push({name: 'AssetsAuth',query: { pageType: "look", id:row.id }}) } else if(id == 2) { this.$router.push({name: 'AssetsAuth',query: { pageType: "change", id:row.id }}) } else if(id == 3) { const userIds = row.id; this.$modal.confirm('是否确认删除用户编号为"' + userIds + '"的数据项?').then(function() { return deleteAssetInfo(userIds); }).then(() => { this.getList(); this.$modal.msgSuccess("删除成功"); }).catch(() => {}); } }, // 编辑 edit(){ }, // 删除 delInfo(){}, // 修改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 - 110; } }, } </script>