<template>
	<a-drawer :width="500" title="搜索" placement="right" :open="openSearchModel" @close="onClose">
		<template #extra>
		  <a-button style="margin-right: 8px" @click="clearSearch">清空搜索</a-button>
		  <a-button type="primary" @click="getData">搜索</a-button>
		</template>
		<a-form :model="commomParams.search">
			<a-row :gutter="[10]">
				<a-col span="24">
					<a-form-item>
						<a-input addon-before="职位名称" v-model:value="commomParams.search.keyword"
							placeholder="请输入职位名称" @keyup.enter="getData"/>
					</a-form-item>
				</a-col>
				<a-col span="24">
					<a-form-item>
						<a-select v-model:value="commomParams.search.expired" placeholder="请选择过期状态" @change="expiredChange">
							<a-select-option :value="0">全部</a-select-option>
							<a-select-option :value="1">未过期</a-select-option>
							<a-select-option :value="2">已过期</a-select-option>
						</a-select>
					</a-form-item>
				</a-col>
				<a-col span="24">
					<a-form-item>
						<a-select v-model:value="commomParams.search.status" placeholder="请选择职位状态" @change="statusChange">
							<a-select-option :value="0">全部</a-select-option>
							<a-select-option :value="1">开启</a-select-option>
							<a-select-option :value="2">关闭</a-select-option>
						</a-select>
					</a-form-item>
				</a-col>
				<a-col span="24">
					<a-form-item>
						<search-select placeholder="请搜索选择企业" :list="company_list"
							:select_value="commomParams.search.company_id" @searchData="companySearch"
							@getSelectValue="getCompanyValue"></search-select>
					</a-form-item>
				</a-col>
			</a-row>
		</a-form>
	</a-drawer>
</template>

<script lang="ts" setup>
	import { ref, onMounted, watch, computed } from 'vue';
	import { useCommon } from '@/hooks/useCommon';
	import { getCompanyList } from '@/apis/models';
	let { store, commomParams, openSearchModel, hideSearch } = useCommon();
	let props = defineProps(['search_params']);
	const emit = defineEmits();
	
	openSearchModel = computed(() => {
		companySearch()
		return store.state.openSearchModel;
	})
	
	


	interface listType {
		expired : Number | 0,
		status : Number | 0,
		company_id : Number | 0,
	}

	commomParams.value.search = commomParams.value.search as listType;
	commomParams.value.search.expired = null;
	commomParams.value.search.status = null;
	commomParams.value.search.company_id = null;

	// watch(() => props.search_params, (newVal) => {
	// 	emit('searchData', commomParams.value.search)
	// })
	
	const getData = () => {
		emit('searchData', commomParams.value.search);
		hideSearch()
	}
	
	// 清空搜索
	const clearSearch = () => {
		commomParams.value.search = {
			page: 1,
			pagesize: 10,
			sort: 'id',
			sortby: 'desc',
			keyword: ''
		}
		emit('clearData', commomParams.value.search);
		hideSearch()
	}
	
	const onClose = () => {
		clearSearch()
		hideSearch()
	}
	
	const expiredChange = (val) => {
		getData()
	}
	
	const statusChange = (val) => {
		getData()
	}
	
	// 选择企业
	let company_list = ref<Object[]>([])
	const companySearch = (val : Object) => {
		getCompanyList(val).then((res : object) => {
			const data = res.data.list.map((item : object) => ({
				label: item.full_name,
				value: item.id,
			}));
			company_list.value = data;
		})
	}
	const getCompanyValue = (val : Object) => {
		commomParams.value.search.company_id = val.key;
		getData()
	}
</script>

<style>
</style>