dict.vue 1.28 KB
<template>
  <div class="app-container">
    <el-tabs v-model="activeName" @tab-click="handleClick">
      <el-tab-pane label="字典" name="dict">
        <DictList :switchToDetail="switchToDetail" :sendParams="sendParams" />
      </el-tab-pane>
      <el-tab-pane label="字典明细" name="dictDetail">
        <DictDetail
          ref="dictDetailRef"
          :dictCode="dictCode"
          :dictName="dictName"
          :dictId="dictId"
          :isMainPageActive="activeName === 'dict'"
        />
      </el-tab-pane>
    </el-tabs>
  </div>
</template>

<script>
import DictList from "./components/DictList";
import DictDetail from "./components/DictDetail";

export default {
  name: "Dict",
  components: {
    DictList,
    DictDetail,
  },
  data() {
    return {
      activeName: "dict",
      dictCode: "",
      dictName: "",
      dictId: 0,
    };
  },
  methods: {
    handleClick(tab) {
      // console.log("切换到标签:", tab.name);
    },
    switchToDetail() {
      this.activeName = "dictDetail";
      this.$refs.dictDetailRef.fuzhi();
    },
    sendParams(code, name, id) {
      this.dictCode = code;
      this.dictName = name;
      this.dictId = id;
      this.$nextTick(() => {
        this.switchToDetail();
      });
    },
  },
};
</script>

<style scoped></style>