{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/cig-search/src/index.vue"],"sourcesContent":["<template>\n  <div class=\"cig-search\">\n    <el-form\n      ref=\"cigForm\"\n      class=\"search-form\"\n      :model=\"model\"\n      :rules=\"rules\"\n      :status-icon=\"false\"\n      :hide-required-asterisk=\"true\"\n      label-position=\"top\"\n      v-bind=\"option\"\n    >\n      <template v-for=\"(item, index) in data\" :key=\"item.prop\">\n        <Transition name=\"el-zoom-in-top\">\n          <el-form-item\n            v-show=\"isExpansion ? true : index < (max || 4)\"\n            class=\"search-item\"\n            v-bind=\"item\"\n            :label-width=\"option.labelWidth || item.labelWidth || '80px'\"\n            :style=\"{\n              width: option.width || item.width || `${100 / (line || 4)}%`,\n              order: item.order || index,\n            }\"\n          >\n            <el-input\n              v-if=\"item.type === 'input'\"\n              v-model.trim=\"model[item.prop]\"\n              :type=\"item.type\"\n              v-bind=\"item.attribute\"\n              class=\"item-input\"\n            />\n            <el-select\n              v-else-if=\"item.type === 'select'\"\n              v-model=\"model[item.prop]\"\n              v-bind=\"item.attribute\"\n              class=\"item-input\"\n            >\n              <el-option\n                v-for=\"itx in item.options\"\n                :key=\"!isUndefined(itx.value) ? itx.value : itx\"\n                :label=\"!isUndefined(itx.label) ? itx.label : itx\"\n                :value=\"!isUndefined(itx.value) ? itx.value : itx\"\n              />\n            </el-select>\n            <el-date-picker\n              v-else-if=\"dateType.includes(item.type)\"\n              v-model=\"model[item.prop]\"\n              :type=\"item.type\"\n              v-bind=\"item.attribute\"\n              class=\"item-input\"\n            />\n            <el-cascader\n              v-else-if=\"item.type === 'cascader'\"\n              v-model=\"model[item.prop]\"\n              :options=\"item.options\"\n              v-bind=\"item.attribute\"\n              class=\"item-input\"\n            />\n            <template v-else-if=\"item.type === 'custom'\">\n              <slot :name=\"item.prop\" :value=\"model\" :option=\"item\"></slot>\n            </template>\n          </el-form-item>\n        </Transition>\n      </template>\n\n      <slot />\n    </el-form>\n    <!-- single 奇数情况下展示 -->\n    <div :class=\"['search-button']\">\n      <el-button type=\"primary\" :icon=\"IconSearch\" @click=\"search\">{{\n        t('el.cigSearch.search')\n      }}</el-button>\n      <el-button :icon=\"IconReset\" @click=\"reset\">{{\n        t('el.cigSearch.reset')\n      }}</el-button>\n      <el-button v-if=\"data!.length > (max || 4)\" @click=\"changeExpansion\"\n        >{{ expansionText }}\n        <el-icon style=\"padding-left: 8px\" :size=\"14\"\n          ><component :is=\"expansionIcon\" /></el-icon\n      ></el-button>\n    </div>\n  </div>\n</template>\n<script lang=\"ts\">\nimport {\n  computed,\n  defineComponent,\n  onBeforeMount,\n  reactive,\n  ref,\n  watch,\n} from 'vue'\nimport { isUndefined } from '@park-ui/utils'\nimport { ElForm, ElFormItem } from '@park-ui/components/form'\nimport { ElInput } from '@park-ui/components/input'\nimport { ElOption, ElSelect } from '@park-ui/components/select'\nimport { ElDatePicker } from '@park-ui/components/date-picker'\nimport { ElCascader } from '@park-ui/components/cascader'\nimport { ElButton } from '@park-ui/components/button'\nimport ElIcon from '@park-ui/components/icon'\nimport { useLocale } from '@park-ui/hooks'\nimport {\n  IconCaretDown,\n  IconCaretUp,\n  IconReset,\n  IconSearch,\n} from '@park-ui/components/cig-icon'\nimport defaultProps, { dateType } from './form/defaults'\nimport type { IDatePickerType } from './form/defaults'\nexport default defineComponent({\n  name: 'ElCigSearch',\n  components: {\n    ElForm,\n    ElFormItem,\n    ElInput,\n    ElSelect,\n    ElOption,\n    ElDatePicker,\n    ElCascader,\n    ElButton,\n    ElIcon,\n    IconCaretDown,\n    IconCaretUp,\n  },\n  props: defaultProps,\n  emits: ['search', 'reset'],\n  setup(props, { emit }) {\n    // init here\n    const { t } = useLocale()\n    const model = props.option?.model ? props.option.model : reactive({}) // 默认数据\n    const rules = props.option?.rules ? props.option.rules : reactive({}) // 默认校验规则\n    const cigForm = ref<typeof ElForm>() // 组件实例\n    const width = computed(() => {\n      return props.data!.length % 4 !== 0 ? 'auto' : '100%'\n    })\n\n    const formatValue = (type: IDatePickerType) => {\n      let format = ''\n      switch (type) {\n        case 'year':\n          format = 'YYYY'\n          break\n        case 'month':\n          format = 'YYYY-MM'\n          break\n        case 'date':\n          format = 'YYYY-MM-DD'\n          break\n        case 'dates':\n          format = 'YYYY-MM-DD'\n          break\n        case 'week':\n          format = 'YYYY-MM-DD [第]w[周]'\n          break\n        case 'datetimerange':\n          format = 'YYYY-MM-DD HH:mm:ss'\n          break\n        case 'daterange':\n          format = 'YYYY-MM-DD'\n          break\n        case 'monthrange':\n          format = 'YYYY-MM'\n          break\n        default:\n          format = 'YYYY-MM-DD HH:mm:ss'\n          break\n      }\n      return format\n    }\n    const initRule = (item: any) => {\n      if (item.rules) return item.rules\n      let rules: any[] = []\n      switch (item.type) {\n        case 'input':\n          rules = [\n            {\n              required: true,\n              message: item.attribute?.placeholder || '请输入',\n              trigger: 'blur',\n            },\n          ]\n          break\n        case 'select':\n          rules = [\n            {\n              required: true,\n              message: item.attribute?.placeholder || '请选择',\n              trigger: 'change',\n            },\n          ]\n          break\n        case 'cascader':\n          rules = [\n            {\n              required: true,\n              message: item.attribute?.placeholder || '请选择',\n              trigger: 'change',\n            },\n          ]\n          break\n        case 'datetimerange':\n        case 'daterange':\n        case 'monthrange':\n          rules = [\n            {\n              type: 'array',\n              required: true,\n              message: item.attribute?.placeholder || '请选择',\n              trigger: 'change',\n            },\n          ]\n          break\n        default:\n          rules = [\n            {\n              type: 'date',\n              required: true,\n              message: item.attribute?.placeholder || '请选择',\n              trigger: 'change',\n            },\n          ]\n\n          break\n      }\n      return rules\n    }\n    // 搜索\n    const search = () => {\n      cigForm.value!.validate((boolean: any) => {\n        if (boolean) {\n          emit('search', model)\n        }\n      })\n    }\n    // 重置\n    const reset = () => {\n      cigForm.value!.resetFields()\n      emit('reset', model)\n    }\n    onBeforeMount(() => {\n      // 帮助外部初始化时间选择器format必须在挂载前完成\n      props.data?.forEach((x: any) => {\n        if (!props.option.model) model[x.prop] = x.defaultValue\n        if (!props.option.rules && x.required) rules[x.prop] = initRule(x)\n        if (!x.attribute) x.attribute = {}\n        if (dateType.includes(x.type)) {\n          if (!x.attribute.format) x.attribute.format = formatValue(x.type)\n          if (!x.attribute.valueFormat)\n            x.attribute.valueFormat = formatValue(x.type)\n        }\n        if (!x.attribute.placeholder) {\n          if (x.type === 'input') {\n            x.attribute.placeholder = t('el.cigSearch.inputPlaceholder')\n          } else {\n            x.attribute.placeholder = t('el.cigSearch.selectPlaceholder')\n          }\n          if (x.label) x.attribute.placeholder += x.label\n        }\n      })\n    })\n    // 高级搜索\n    const isExpansion = ref(false)\n    function changeExpansion() {\n      isExpansion.value = !isExpansion.value\n    }\n    const expansionIcon = computed(() =>\n      isExpansion.value ? 'IconCaretUp' : 'IconCaretDown'\n    )\n    const expansionText = computed(() => {\n      const i18nText = !isExpansion.value\n        ? 'el.cigSearch.expansion'\n        : 'el.cigSearch.collapse'\n      return t(i18nText)\n    })\n    const line = computed(() => props.option.line)\n    const max = computed(() => props.option.max)\n    watch(\n      () => props.data,\n      () => {\n        if (props.data && props.data!.length < 4) {\n          props.option!.line = props.data!.length\n        } else {\n          props.option!.line = 4\n        }\n      },\n      {\n        immediate: true,\n      }\n    )\n    return {\n      t,\n      model,\n      rules,\n      cigForm,\n      dateType,\n      width,\n      isExpansion,\n      expansionIcon,\n      expansionText,\n      isUndefined,\n      formatValue,\n      search,\n      reset,\n      changeExpansion,\n      IconSearch,\n      IconReset,\n      line,\n      max,\n    }\n  },\n})\n</script>\n"],"names":["_resolveComponent","_openBlock","_createElementBlock","_createVNode","_mergeProps","_withCtx","_Fragment","_renderList","_createBlock","_Transition","_withDirectives","_renderSlot","_createCommentVNode","_createElementVNode","_createTextVNode","_toDisplayString"],"mappings":"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"}