DictList.vue 4 KB
<template>
  <el-container>
    <el-header style="height: 30px">
      <div class="search-container">
        <div class="search-item">
          <span class="search-label">字典编码</span>
          <el-input
            placeholder="请输入内容"
            v-model="inputCode"
            style="width: 200px; margin-right: 20px"
          >
          </el-input>
        </div>
        <div class="search-item">
          <span class="search-label">字典名称</span>
          <el-input
            size="medium"
            placeholder="请输入内容"
            v-model="inputName"
            style="width: 200px"
          >
          </el-input>
        </div>
      </div>
    </el-header>

    <el-main>
      <div>
        <el-card shadow="always">
          <el-button
            type="primary"
            size="small"
            icon="el-icon-search"
            @click="handleSearch"
          >
            查询
          </el-button>
          <el-button
            type="success"
            size="small"
            icon="el-icon-plus"
            @click="handleAdd"
          >
            新增
          </el-button>
          <el-button
            type="danger"
            size="small"
            icon="el-icon-delete"
            @click="handleBatchDelete"
          >
            删除
          </el-button>
        </el-card>
      </div>
      <el-table :data="dictList">
        <el-table-column prop="id" label="ID" width="80"></el-table-column>
        <el-table-column
          prop="code"
          label="字典编码"
          width="150"
        ></el-table-column>
        <el-table-column
          prop="name"
          label="字典名称"
          width="150"
        ></el-table-column>
        <el-table-column prop="remark" label="备注"></el-table-column>
        <el-table-column
          prop="createTime"
          label="创建时间"
          width="160"
        ></el-table-column>
        <el-table-column
          prop="creator"
          label="创建人"
          width="120"
        ></el-table-column>
        <el-table-column
          prop="updateTime"
          label="更新时间"
          width="160"
        ></el-table-column>
        <el-table-column
          prop="updater"
          label="更新人"
          width="120"
        ></el-table-column>
        <el-table-column label="操作" width="120">
          <template slot-scope="scope">
            <el-button
              v-if="scope.row.id"
              type="info"
              size="small"
              icon="el-icon-edit"
              @click="handleEdit(scope.row)"
              >编辑</el-button
            >
          </template>
        </el-table-column>
      </el-table>
    </el-main>
  </el-container>
</template>

<script>
import {
  GetDictsByPage,
  AddDict,
  EditDict,
  DeleteDicts,
} from "@/api/systemManage/dict";
export default {
  name: "DictList",
  data() {
    return {
      dictList: [
        {
          id: "",
          code: "",
          name: "",
          remark: "",
          createTime: "",
          creator: "",
          updateTime: "",
          updater: "",
        },
      ], // 字典列表数据
      inputCode: "",
      inputName: "",
    };
  },
  methods: {
    handleEdit(row) {
      // 编辑字典
    },

    handleSearch() {
      const queryConfig = {
        dictId: 0,
        code: this.inputCode,
        name: this.inputName,
      };
      GetDictsByPage(queryConfig).then((res) => {
        console.log("查询字典", res);
        if (res.code == "Success" && res.data) {
          this.dictList = res.data;
        }
      });
    },
    handleAdd() {
      // 新增逻辑
    },
    handleBatchDelete() {
      //删除逻辑
    },
  },
};
</script>
<style lang="scss" scoped>
.app-container {
  padding: 16px;
}
.search-container {
  display: flex;
  align-items: center;
  .search-item {
    display: flex;
    align-items: center;
    margin-right: 20px;
    .search-label {
      margin-right: 10px;
      white-space: nowrap;
    }
  }
}
</style>