<template>
  <div class="default-main ">
    <el-alert class="ba-table-alert" v-if="baTable.table.remark" :title="baTable.table.remark" type="info"
              show-icon/>
    <el-row>
      <el-col :span="24">

        <!-- 表格顶部菜单 -->
        <TableHeader :buttons="['refresh', 'add', 'edit', 'delete', 'comSearch']"
                     quick-search-placeholder="通过标题模糊搜索"
                     @action="baTable.onTableHeaderAction"/>
        <!-- 表格 -->
        <!-- 要使用`el-table`组件原有的属性，直接加在Table标签上即可 -->
        <Table @action="baTable.onTableAction"/>

      </el-col>
    </el-row>

    <!-- 表单 -->

  </div>
</template>

<script setup lang="ts">
import {ref, onMounted, provide} from 'vue'
import { member } from "/@/api/controllerUrls";
import Table from '/@/components/table/index.vue'
import TableHeader from '/@/components/table/header/index.vue'
import {defaultOptButtons} from '/@/components/table'
import {baTableApi} from '/@/api/common'
import baTableClass from '/@/utils/baTable'


const baTable = new baTableClass(
  new baTableApi(member),
  {
    dblClickNotEditColumn: [undefined, 'status'],
    column: [
      {type: 'selection', align: 'center', operator: false},
      {label: '头像', prop: 'headPortrait', align: 'center',render:'image', operator: false},
      {label: '用户昵称', prop: 'nickName', align: 'left', operator: 'LIKE'},
      {label: '会员状态', prop: 'memberStatusName', align: 'left', operator: 'LIKE'},
      {label: '联系电话', prop: 'mobileNumber', align: 'left', operator: 'LIKE'},
      {label: '最后一次登陆时间', prop: 'lastLoginTime', align: 'left', operator: false,width:'180'},
      {label: '创建人', prop: 'creatorName', align: 'center', width: '120', operator: false},
      {label: '创建时间', prop: 'createTime', align: 'center', width: '180', operator: false},
    ],
  },
  {
    defaultItems: {},
  },
  {
    // 获得编辑数据后
    requestEdit: () => {
      if (baTable.form.items && !baTable.form.items.icon) baTable.form.items.icon = 'el-icon-Minus'
    },
  }
)

provide('baTable', baTable)

onMounted(() => {
  baTable.mount()
  baTable.getIndex()
})
</script>


<style scoped lang="scss"></style>
