dictionaries.vue 2.7 KB
<template>
  <div class="from-clues">
    <!-- 表单部分 -->
    <div class="from-clues-header">
      <el-form :model="ruleForm">
        <el-row>
          <el-col :span="6">
            <el-form-item label="字典类型编码">
              <el-input v-model="ruleForm.dcode" placeholder="字典类型编码"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="6">
            <el-form-item label="字典类型名称">
              <el-input v-model="ruleForm.dname" placeholder="字典类型名称"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="12" class="btnCol">
            <el-form-item>
              <el-button type="primary" icon="el-icon-search" @click="fetchData">查询</el-button>
              <el-button icon="el-icon-refresh" @click="handleRefresh">刷新缓存</el-button>
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
    </div>
    <!-- 表格 -->
    <div class="from-clues-content">
      <lb-table :page-size="pageData.pageSize" :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, getChildDictList } 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);
  },
  data () {
    return {
      isDialog: false,
      details: {
        dataList: [],
        isenable: 1,
        rowData: {}
      },
      ruleForm: {
        dcode: '',
        dname: ''
      },
      tableData: {
        total: 0,
        columns: datas.columns(),
        data: []
      }
    }
  },
  methods: {
    // 初始化数据
    fetchData () {
      getQlxxDictList({ ...this.ruleForm, ...this.pageData }).then(res => {
        let { records, total } = res.result
        this.tableData.data = records ? records : []
        this.tableData.total = total ? total : 0
      })
    },
    handleRefresh () {
      this.$store.dispatch('dict/generateDic')
    },
    editClick (row, val) {
      this.details.rowData = row
      this.details.isenable = val
      getChildDictList(row.bsmDict).then(res => {
        this.isDialog = true
        let { result } = res
        this.details.dataList = result ? result : []
      })
    }
  }
};
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
</style>