<script setup name="emergencyDeliveryCompanyList">
	import Details from './emergencyDeliveryCompanyDetails.vue'
	import { list } from '@/api/emergencySupport/emergencyDeliveryCompany'
	import { del } from '@/api/emergencySupport/processingCompany'
	const columns = [
		{
			title: '序号',
			customRender: ({ text, record, index }) => `${index + 1}`
		},
		{
			title: '所属市州',
			dataIndex: 'cityState'
		},
		{
			title: '企业名称',
			dataIndex: 'enterpriseName'
		},
		{
			title: '法人代表',
			dataIndex: 'legalRepresentative'
		},
		{
			title: '自有运输能力',
			dataIndex: 'ownTransportCapacity'
		},
		{
			title: '自有车辆日配送能力',
			dataIndex: 'ownVehiclesDailyDeliveryCapacity'
		},
		...(hasPerm(['fumigationFilingApprovalView', 'doFumigationFilingApproval'])
			? [
					{
						title: '操作',
						dataIndex: 'action',
						align: 'center',
						width: 250
					}
			  ]
			: [])
	]
	const loadData = (parameter) => {
		return list({ ...parameter, ...searchForm.value })
	}
	const addShow = ref(false)

	const openForm = () => {
		addShow.value = true
	}
	const editData = ref(null)
	const action = ref(null)
	const view = (data) => {
		action.value = 'view'
		editData.value = data
		addShow.value = true
	}

	const edit = (data) => {
		action.value = 'edit'
		editData.value = data
		addShow.value = true
	}
	const onDel = (data) => {
		del([{ id: data.id }]).then((resp) => {
			console.log(resp)
			refresh()
		})
	}

	const tableRef = ref()
	const refresh = () => {
		tableRef.value.refresh()
	}
	const searchForm = ref({
		enterpriseName: null,
		emergencyCategory: null, // 品种
		cityState: null // 性质
	})
	const formRef = ref()
	const search = () => {
		refresh()
	}
	const reset = () => {
		formRef.value.resetFields()
	}
	const add = () => {
		action.value = 'add'
		addShow.value = true
	}
</script>

<template>
	<a-card :bordered="false">
		<s-table ref="tableRef" :columns="columns" :data="loadData" bordered :row-key="(record) => record.id">
			<template #operator class="table-operator">
				<a-space>
					<a-form ref="formRef" :model="searchForm" layout="inline">
						<a-form-item label="企业名称" name="enterpriseName">
							<a-input v-model:value="searchForm.enterpriseName" />
						</a-form-item>
						<a-form-item label="应急分类" name="emergencyCategory">
							<a-input v-model:value="searchForm.emergencyCategory" />
						</a-form-item>
						<a-form-item label="所属市州" name="cityState">
							<a-input v-model:value="searchForm.cityState" />
						</a-form-item>
					</a-form>

					<a-button type="primary" @click="search">
						<template #icon><plus-outlined /></template>
						查询
					</a-button>
					<a-button @click="reset">
						<template #icon><plus-outlined /></template>
						重置
					</a-button>
					<a-button @click="add">
						<template #icon><plus-outlined /></template>
						新增
					</a-button>
				</a-space>
			</template>
			<template #bodyCell="{ column, record }">
				<template v-if="column.dataIndex === 'action'">
					<a-space>
						<a @click="view(record)" v-if="hasPerm('fumigationFilingApprovalView')">查看</a>
						<a-divider
							type="vertical"
							v-if="hasPerm(['emergencySupplyPointView', 'emergencySupplyPointEdit'], 'and')"
						/>
						<a @click="edit(record)" v-if="hasPerm('emergencySupplyPointEdit')">编辑</a>
						<a-divider type="vertical" v-if="hasPerm(['emergencySupplyPointDel', 'emergencySupplyPointEdit'], 'and')" />
						<a-popconfirm
							v-if="hasPerm('emergencySupplyPointDel')"
							title="确认删除这条记录?"
							ok-text="Yes"
							cancel-text="No"
							@confirm="onDel(record)"
						>
							<a>删除</a>
						</a-popconfirm>
					</a-space>
				</template>
			</template>
		</s-table>
	</a-card>
	<Details v-model:visible="addShow" :edit-data="editData" :action="action" @on-save="refresh" />
</template>

<style scoped></style>
