<script setup lang="ts">
import { ref, reactive, computed } from "vue";
import { ElMessageBox, ElMessage, ElTable } from "element-plus";
import { Search } from "@element-plus/icons-vue";
import { textSpanOverlapsWith } from "typescript";
import { getStateData, getStateType } from "@/config/tag";
const dialogVisibleAdd = ref(false);
const handleClose = () => {
  ElMessageBox.confirm("确认关闭弹窗吗?")
    .then(() => {
      dialogVisibleAdd.value = !dialogVisibleAdd.value;
      ElMessage({
        message: "已关闭"
      });
    })
    .catch(() => {
      // catch error
    });
};
const tableData = [
  {
    date: "2016-05-04",
    name: "Aleyna Kutzner",
    address: "Lohrbergstr",
    index: 1
  },
  {
    date: "2016-05-03",
    name: "Helen Jacobi",
    address: "760 A St",
    index: 2
  },
  {
    date: "2016-05-02",
    name: "Brandon Deckert",
    address: "Arnold-O",
    index: 0
  },
  {
    date: "2016-05-01",
    name: "Margie Smith",
    address: "23618 ",
    index: 0
  }
];
// 添加部门保存
const saveDepartment = () => {
  ElMessageBox.confirm("不保存,更新的信息将会丢失", "需要保存吗?", {
    type: "warning"
  })
    .then(() => {
      dialogVisibleAdd.value = false;
      ElMessage({
        message: "已保存",
        type: "success"
      });
    })
    .catch(() => {
      // catch error
    });
};
const open = () => {
  dialogVisibleAdd.value = true;
};
// 选中
const selectedNums = ref(0);
const handleSelectionChange = selectedRows => {
  // this.selectedRows = selectedRows;
  selectedNums.value = selectedRows.length;
  console.log("选中的行:", selectedRows);
};
defineExpose({
  open
});
</script>

<template>
  <div>
    <el-dialog
      v-model="dialogVisibleAdd"
      title="添加成员"
      width="600"
      :before-close="handleClose"
    >
      <div class="w-full flex justify-between items-center">
        <div><el-text>指标分类</el-text></div>
        <div><el-input placeholder="请输入" :prefix-icon="Search" /></div>
      </div>
      <el-table
        :data="tableData"
        style="width: 100%"
        @selection-change="handleSelectionChange"
      >
        <el-table-column type="selection" width="55" />
        <el-table-column label="指标名称">
          <template #default="scope">{{ scope.row.date }}</template>
        </el-table-column>
        <el-table-column property="name" label="指标分类" width="100" />
        <el-table-column
          property="address"
          label="状态"
          width="100"
          show-overflow-tooltip
        >
          <template #default="scope">
            <el-tag :type="getStateType(scope.row.index)">
              {{ getStateData(scope.row.index) }}
            </el-tag>
          </template>
        </el-table-column>
        <el-table-column property="address" label="数据来源" width="120" />
      </el-table>
      <div class="w-full flex justify-evenly items-center">
        <div class="mt-5"><el-text>共111项数据</el-text></div>
        <div class="ml-10">
          <el-pagination
            size="small"
            background
            layout="prev, pager, next"
            :total="50"
            class="mt-4"
          />
        </div>
      </div>
      <template #footer>
        <div class="dialog-footer w-full flex justify-between mt-4">
          <div>
            <el-text>已选择</el-text>
            <el-text type="primary">
              {{ selectedNums }}
            </el-text>
            <el-text>项</el-text>
          </div>

          <div>
            <el-button @click="handleClose">取消</el-button>
            <el-button type="primary" @click="saveDepartment"> 确认 </el-button>
          </div>
        </div>
      </template>
    </el-dialog>
  </div>
</template>