{"version":3,"file":"table-search-wrapper.mjs","sources":["../../../../../../packages/components/page-table-v2/src/table-search-wrapper.vue"],"sourcesContent":["<template>\n  <table-search\n    v-if=\"reloaded\"\n    :show-search-bar=\"searchItems.length > 0\"\n    :show-adv-search=\"showAdvSearch\"\n    :hide-header-line=\"hideHeaderLine\"\n    @search=\"searchBarChanged\"\n    @change-height=\"setContentHeight\"\n  >\n    <template #default=\"searchForm\">\n      <hl-form-item\n        v-for=\"item in searchItems\"\n        :key=\"item.name\"\n        :label=\"item.label\"\n        :prop=\"item.name\"\n      >\n        <hl-time-picker\n          v-if=\"item.type === 'timepicker'\"\n          v-model=\"searchForm[item.name]\"\n          v-bind=\"getDateTimeProps(item)\"\n        />\n        <hl-date-picker\n          v-else-if=\"isDatePicker(item.type)\"\n          v-model=\"searchForm[item.name]\"\n          :type=\"item.type\"\n          v-bind=\"getDateTimeProps(item)\"\n        />\n        <hl-input\n          v-else-if=\"item.type === 'input'\"\n          v-model=\"searchForm[item.name]\"\n          v-bind=\"getInputProps(item)\"\n        />\n        <template v-else-if=\"item.type === 'slot'\">\n          <slot\n            :name=\"item.slotName\"\n            :value=\"searchForm[item.name]\"\n            :item=\"item\"\n            :search-form=\"searchForm\"\n          >\n          </slot>\n        </template>\n        <hl-select\n          v-else-if=\"item.type === 'select' || !item.type\"\n          v-model=\"searchForm[item.name]\"\n          v-bind=\"getSelectProps(item)\"\n        >\n          <hl-option\n            v-for=\"opt in item.options\"\n            :key=\"getKey(item, opt)\"\n            :label=\"getLabel(item, opt)\"\n            :value=\"getKey(item, opt)\"\n          />\n        </hl-select>\n      </hl-form-item>\n    </template>\n  </table-search>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, onMounted, PropType, watch, ref, nextTick } from 'vue'\nimport { HlFormItem, HlDatePicker, HlTimePicker, HlInput, HlSelect, HlOption } from 'hongluan-ui'\nimport { SelectorItem } from 'hongluan-business-ui'\nimport TableSearch from './table-search'\nimport { Utils } from './utils'\nimport { TagItem } from './types'\n\nexport default defineComponent({\n  components: { HlFormItem, HlDatePicker, HlTimePicker, HlInput, HlSelect, HlOption, TableSearch },\n  props: {\n    showAdvSearch: {\n      type: Boolean,\n      default: true,\n    },\n    // 搜索条件\n    searchItems: {\n      type: Array as PropType<SelectorItem[]>,\n      default: () => [],\n    },\n    hideHeaderLine: {\n      type: Boolean,\n      default: false,\n    },\n  },\n  emits: ['search', 'change-height'],\n  setup(props, { emit }) {\n    const reloaded = ref(true)\n    const { getKey, getLabel } = Utils\n\n    const isDatePicker = (type: string) => {\n      return 'year/month/date/dates/week/datetime/datetimerange/daterange/monthrange'.indexOf(type) !== -1\n    }\n    const getDateTimeProps = (item: SelectorItem) => {\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n      const { span: _, value: __, ...others } = item\n      return others\n    }\n    const getInputProps = (item: SelectorItem) => {\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n      const { span: _, value: __, ...others } = item\n      return others\n    }\n    const getSelectProps = (item: SelectorItem) => {\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n      const { options: _, value: __, prop: ___, ...others } = item\n      return others\n    }\n\n    const searchBarChanged = (searchArr: TagItem[], searchType: number) => {\n      const result = Utils.getSearchTags(searchArr, props.searchItems)\n      emit('search', result, searchType)\n    }\n    const setContentHeight = (val: number) => {\n      emit('change-height', val)\n    }\n\n    const initChange = () => {\n      const searchArr = props.searchItems.filter(si => Array.isArray(si.value) ? si.value.length : (si.value || si.value === 0)).map(si => ({\n        key: si.name,\n        label: si.label,\n        value: si.value,\n        valueName: '',\n      }))\n      searchBarChanged(searchArr as TagItem[], 2)\n    }\n\n    watch(() => props.searchItems, async () => {\n      reloaded.value = false\n      await nextTick()\n      reloaded.value = true\n      initChange()\n    }, {\n      deep: true,\n    })\n\n    onMounted(() => {\n      initChange()\n    })\n\n    return {\n      reloaded,\n      getKey,\n      getLabel,\n      isDatePicker,\n      getDateTimeProps,\n      getInputProps,\n      getSelectProps,\n      setContentHeight,\n      searchBarChanged,\n    }\n  },\n})\n</script>\n"],"names":["_openBlock","_createBlock","_withCtx","_createElementBlock","_Fragment","_renderList","_mergeProps","_renderSlot"],"mappings":"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"}