Blame view

src/views/system/dictionaries/dictionaries.vue 3.66 KB
1
<!--
2
 * @Description:
3 4 5
 * @Autor: renchao
 * @LastEditTime: 2023-07-13 16:31:56
-->
任超 committed
6 7 8 9
<template>
  <div class="from-clues">
    <!-- 表单部分 -->
    <div class="from-clues-header">
任超 committed
10
      <el-form @submit.native.prevent :model="ruleForm">
任超 committed
11
        <el-row :gutter="20">
任超 committed
12 13
          <el-col :span="6">
            <el-form-item label="字典类型编码">
yangwei committed
14
              <el-input v-model="ruleForm.dcode" clearable placeholder="字典类型编码"></el-input>
任超 committed
15 16 17 18
            </el-form-item>
          </el-col>
          <el-col :span="6">
            <el-form-item label="字典类型名称">
yangwei committed
19
              <el-input v-model="ruleForm.dname" clearable placeholder="字典类型名称"></el-input>
任超 committed
20 21
            </el-form-item>
          </el-col>
22
          <el-col :span="12" class="btnColRight">
任超 committed
23
            <el-form-item>
yangwei committed
24
              <el-button type="primary" native-type="submit" icon="el-icon-search" @click="handleSearch">查询</el-button>
任超 committed
25
              <el-button icon="el-icon-refresh" @click="handleRefresh">刷新缓存</el-button>
任超 committed
26 27 28 29 30 31 32
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
    </div>
    <!-- 表格 -->
    <div class="from-clues-content">
任超 committed
33 34 35
      <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">
任超 committed
36 37 38 39 40
      </lb-table>
    </div>
  </div>
</template>
<script>
41
  import table from "@/utils/mixin/table"
42
  import { getQlxxDictList, getChildDictList, refreshDictCache } from "@/api/dict.js"
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
  import { datas, sendThis } from "./dictionaries"
  import editDialog from "./components/editDialog.vue"
  export default {
    name: "dictionaries",
    components: {
      editDialog
    },
    mixins: [table],
    mounted () {
      sendThis(this);
    },
    data () {
      return {
        details: {
          bsmDict: '',
          isenable: 1,
          rowData: {}
        },
        ruleForm: {
          dcode: '',
          dname: ''
        },
        tableData: {
          total: 0,
          columns: datas.columns(),
          data: []
        }
任超 committed
70 71
      }
    },
72 73 74 75 76 77 78 79 80
    methods: {
      // 初始化数据
      queryClick () {
        this.$startLoading();
        getQlxxDictList({ ...this.ruleForm, ...this.pageData }).then(res => {
          this.$endLoading();
          let { records, total } = res.result
          this.tableData.data = records ? records : []
          this.tableData.total = total ? total : 0
蔡俊立 committed
81
        })
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
      },
      handleRefresh () {
        this.$confirm('是否确认刷新', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {
          this.$startLoading()
          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: '取消刷新'
          });
蔡俊立 committed
107
        });
108 109 110 111 112 113 114 115
      },
      // 修改
      editClick (row, val) {
        this.details.rowData = row
        this.details.isenable = val
        this.details.bsmDict = row.bsmDict
        this.$popupDialog("字典信息", "system/dictionaries/components/editDialog", this.details)
      }
任超 committed
116
    }
任超 committed
117
  }
任超 committed
118 119
</script>
<style scoped lang="scss">
120
  @import "~@/styles/public.scss";
任超 committed
121
</style>