<!--
  - Copyright (c) 2024 LangChat. TyCoding All Rights Reserved.
  -
  - Licensed under the GNU Affero General Public License, Version 3 (the "License");
  - you may not use this file except in compliance with the License.
  - You may obtain a copy of the License at
  -
  -     https://www.gnu.org/licenses/agpl-3.0.html
  -
  - Unless required by applicable law or agreed to in writing, software
  - distributed under the License is distributed on an "AS IS" BASIS,
  - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  - See the License for the specific language governing permissions and
  - limitations under the License.
  -->

<script lang="ts" setup>
import { Delete } from '@element-plus/icons-vue'

import { searchSchemas } from './columns'
import useOrder from '../composables'
import { columns } from './columns'
const { register, handleSearch, methods, tableObject, pagination } = useOrder()

const actionColumn = {
  label: '操作',
  field: 'action',
  width: 70,
  fixed: 'right',
  align: 'center'
}
</script>

<template>
  <div class="h-full">
    <el-card>
      <Search :schema="searchSchemas" inline @search="handleSearch" />

      <Table
        :columns="[...columns, actionColumn]"
        :data="tableObject.tableList"
        :pagination="pagination"
        @register="register"
      >
        <template #action="{ row }">
          <el-button :icon="Delete" text type="danger" @click="methods.delList(row.id, false)" />
        </template>
      </Table>
    </el-card>
  </div>
</template>

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