<template> <div class="from-clues"> <!-- 表单部分 --> <div class="from-clues-header"> <el-form @submit.native.prevent :model="ruleForm" label-width="120px"> <el-form-item v-if="BASE_API.THEME == 'jg'"> <Breadcrumb /> </el-form-item> <el-row :gutter="20" class="mb-5"> <el-col :span="6"> <el-form-item label="字典类型编码"> <el-input v-model="ruleForm.dcode" @clear="queryClick" clearable placeholder="字典类型编码"></el-input> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="字典类型名称"> <el-input v-model="ruleForm.dname" @clear="queryClick" clearable placeholder="字典类型名称"></el-input> </el-form-item> </el-col> <!-- 操作按钮 --> <el-col :span="12" class="btnColRight"> <btn nativeType="cx" @click="handleSearch">查询</btn> <btn nativeType="cx" @click="handleRefresh">刷新缓存</btn> </el-col> </el-row> </el-form> </div> <!-- 表格 --> <div class="from-clues-content"> <lb-table :page-size="pageData.pageSize" class="loadingtext" :current-page.sync="pageData.currentPage" :total="tableData.total" @size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns" :data="tableData.data"> </lb-table> </div> <editDialog v-model="isDialog" :details="details" /> </div> </template> <script> import table from "@/utils/mixin/table" import { getQlxxDictList, refreshDictCache } from "@/api/dict.js" import { datas, sendThis } from "./dictionaries" import editDialog from "./components/editDialog.vue" export default { name: "djbcx", components: { editDialog }, mixins: [table], mounted () { sendThis(this); this.queryClick() }, data () { return { isDialog: false, details: { dictid: '', isenable: 1, rowData: {} }, ruleForm: { dcode: '', dname: '' }, // 表格数据 tableData: { total: 0, columns: datas.columns().concat([ { label: "操作", render: (h, scope) => { return ( <el-button type="text" class='successColor' onClick={() => { this.editClick(scope.row, 1) }}>修改</el-button> ) } } ]), data: [] } } }, methods: { // 初始化数据 queryClick () { getQlxxDictList({ ...this.ruleForm, ...this.pageData }).then(res => { let { records, total } = res.result this.tableData.data = records ? records : [] this.tableData.total = total ? total : 0 }) }, handleSearch () { this.pageData.currentPage = 1 this.tableData.data = [] this.queryClick() }, handleRefresh () { this.$confirm('是否确认刷新', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() => { refreshDictCache().then(res => { if (res.code == 200) { let refech = this.$store.dispatch('dict/generateDic') this.$endLoading() refech && this.$message({ message: '刷新成功', type: 'success' }); } else { this.$message.error(res.message) } }) }).catch(() => { this.$message({ type: 'info', message: '取消刷新' }); }); }, editClick (row, val) { this.details.rowData = row this.details.isenable = val this.details.dictid = row.dictid this.isDialog = true } } }; </script> <style scoped lang="scss"> /deep/.dialogBox .dialog_title { top: 0; margin-left: 5px; } </style>