Blame view

src/views/system/dictionaries/dictionaries.vue 4.09 KB
任超 committed
1 2 3 4
<template>
  <div class="from-clues">
    <!-- 表单部分 -->
    <div class="from-clues-header">
任超 committed
5
      <el-form @submit.native.prevent :model="ruleForm" label-width="120px">
任超 committed
6
        <el-form-item v-if="BASE_API.THEME == 'jg'">
任超 committed
7 8
          <Breadcrumb />
        </el-form-item>
xiaomiao committed
9
        <el-row :gutter="20" class="mb-5">
任超 committed
10 11
          <el-col :span="6">
            <el-form-item label="字典类型编码">
田浩浩 committed
12
              <el-input v-model="ruleForm.dcode" @clear="queryClick" clearable placeholder="字典类型编码"></el-input>
任超 committed
13 14 15 16
            </el-form-item>
          </el-col>
          <el-col :span="6">
            <el-form-item label="字典类型名称">
田浩浩 committed
17
              <el-input v-model="ruleForm.dname" @clear="queryClick" clearable placeholder="字典类型名称"></el-input>
任超 committed
18 19
            </el-form-item>
          </el-col>
任超 committed
20
          <!-- 操作按钮 -->
任超 committed
21
          <el-col :span="12" class="btnColRight">
任超 committed
22
            <btn nativeType="cx" @click="handleSearch">查询</btn>
任超 committed
23
            <btn nativeType="cx" @click="handleRefresh">刷新缓存</btn>
任超 committed
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
          </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>
xiaomiao committed
39 40 41 42 43 44 45 46
  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
任超 committed
47
    },
xiaomiao committed
48 49 50
    mixins: [table],
    mounted () {
      sendThis(this);
任超 committed
51 52
      this.queryClick()
    },
xiaomiao committed
53 54 55 56 57 58 59 60 61 62 63 64
    data () {
      return {
        isDialog: false,
        details: {
          dictid: '',
          isenable: 1,
          rowData: {}
        },
        ruleForm: {
          dcode: '',
          dname: ''
        },
xiaomiao committed
65
        // 表格数据
xiaomiao committed
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
        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
任超 committed
91
        })
xiaomiao committed
92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
      },
      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: '取消刷新'
          });
任超 committed
121
        });
xiaomiao committed
122 123 124 125 126 127 128
      },
      editClick (row, val) {
        this.details.rowData = row
        this.details.isenable = val
        this.details.dictid = row.dictid
        this.isDialog = true
      }
任超 committed
129
    }
xiaomiao committed
130
  };
任超 committed
131 132
</script>
<style scoped lang="scss">
xiaomiao committed
133 134 135 136
  /deep/.dialogBox .dialog_title {
    top: 0;
    margin-left: 5px;
  }
任超 committed
137
</style>