<template>
    <Table url="/ranger/inspection/api/v1/units" rowKey="unitId" addBtn :buttons="buttons" ref="table">
        <template #search="{ query }">
            <MoreItem label="地区">
                <UrlSelect
                    url="/ranger/inspection/api/v1/region/list"
                    v-model="query.regionId"
                    labelFiled="regionName"
                    valueFiled="regionId"
                />
            </MoreItem>
            <MoreItem label="地点">
                <UrlSelect
                    v-model="query.placeId"
                    :url="
                        query.regionId ? `/ranger/inspection/api/v1/place/regions/${query.regionId}/list` : ''
                    "
                    labelFiled="placeName"
                    valueFiled="placeId"
                />
            </MoreItem>
            <MoreItem label="关键字">
                <a-input v-model="query.inputValue" />
            </MoreItem>
        </template>

        <template #drawer="drawer">
            <AddAndEdit v-bind="drawer" />
        </template>

        <a-table-column title="单元名称" data-index="unitName" />
        <a-table-column title="所属地点" data-index="placeName" />
        <a-table-column title="设备编号" data-index="equipmentCode" />
        <a-table-column title="修改人" data-index="editorName" />
        <a-table-column title="修改时间" data-index="editTime" />
    </Table>
</template>

<script>
import Table from '@/components/table/table.vue';
import UrlSelect from '@/components/MySelect/url_select.vue';
import MoreItem from '@/components/table/more_item.vue';
import AddAndEdit from './add_edit.vue';

export default {
    components: { Table, UrlSelect, MoreItem, AddAndEdit },
    data() {
        return {
            buttons: [
                { label: '编辑', click: this.edit },
                { label: '详情', click: this.view },
                { label: '免检', click: this.view },
                { label: '文档', click: this.view },
                {
                    type: 'confirm',
                    url: (row) => `/ranger/inspection/api/v1/units/${row.unitId}`,
                    after: this.refresh,
                },
            ],
        };
    },
    methods: {
        refresh() {
            this.$refs.table.getData();
        },
        edit(row) {
            this.$refs.table.show({ row, title: '编辑', type: 'edit' });
        },
        view(row) {
            this.$refs.table.show({ row, title: '详情', type: 'view' });
        },
    },
};
</script>
