{"version":3,"file":"form.vue2.mjs","sources":["../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<template>\r\n  <div :class=\"bem.b()\">\r\n    <a-spin :spinning=\"props.loading\">\r\n      <a-form\r\n        v-bind=\"computedFormOptions\"\r\n        :id=\"id\"\r\n        ref=\"formRef\"\r\n        :model=\"props.formData\"\r\n      >\r\n        <a-row v-bind=\"props.rowOptions\">\r\n          <a-col\r\n            v-for=\"(item, index) in computedFormColumns\"\r\n            :key=\"index\"\r\n            v-bind=\"item?.colOptions ?? {}\"\r\n            :span=\"item?.spanCol ?? 24\"\r\n          >\r\n            <slot name=\"formItem\" :item=\"item\" :index=\"index\">\r\n              <ll-form-item\r\n                v-bind=\"getBindValue(item)\"\r\n                :name=\"item?.key ?? index\"\r\n                :class=\"[getFormItemClass(item), item.class]\"\r\n              >\r\n                <template #label>\r\n                  <slot name=\"label\" :item=\"item\" :index=\"index\">\r\n                    <span>{{ item.label }}</span>\r\n                    <span v-if=\"item?.tip\" :class=\"bem.e('tooltip-wrapper')\">\r\n                      <ll-tooltip\r\n                        style=\"margin-left: 8px\"\r\n                        :overlay-class-name=\"bem.e('tooltip')\"\r\n                        :arrow-point-at-center=\"true\"\r\n                        :max-width=\"item?.tipConfig?.maxWidth ?? 400\"\r\n                        :placement=\"item?.tipConfig?.placement ?? 'top'\"\r\n                        :tip=\"item.tip\"\r\n                        v-bind=\"item?.tipConfig\"\r\n                      />\r\n                    </span>\r\n                    <span v-if=\"item?.info\" :class=\"bem.e('tooltip-wrapper')\">\r\n                      <ll-tooltip\r\n                        style=\"margin-left: 8px\"\r\n                        :overlay-class-name=\"bem.e('tooltip')\"\r\n                        :arrow-point-at-center=\"true\"\r\n                        :max-width=\"item?.tipConfig?.maxWidth ?? 400\"\r\n                        :placement=\"item?.tipConfig?.placement ?? 'top'\"\r\n                        :tip=\"item.info\"\r\n                        v-bind=\"item?.tipConfig\"\r\n                      >\r\n                        <ll-icon icon-name=\"icon-information\" :size=\"14\" />\r\n                      </ll-tooltip>\r\n                    </span>\r\n                  </slot>\r\n                </template>\r\n                <slot name=\"content\" :item=\"item\" :index=\"index\">\r\n                  <template v-if=\"!isEmpty(item.children)\">\r\n                    <a-row :gutter=\"5\" v-bind=\"item.rowOptions\">\r\n                      <a-col\r\n                        v-for=\"(child, childIndex) in item.children\"\r\n                        :key=\"childIndex\"\r\n                        :style=\"{\r\n                          display: 'flex',\r\n                          'align-items': 'center',\r\n                        }\"\r\n                        v-bind=\"item?.colOptions ?? {}\"\r\n                      >\r\n                        <slot name=\"children\" :item=\"child\" :index=\"index\">\r\n                          <form-component\r\n                            :item=\"child\"\r\n                            :form-data=\"formData\"\r\n                            @change-field=\"handleChangeField\"\r\n                            @blur-field=\"handleBlurField\"\r\n                          />\r\n                        </slot>\r\n                      </a-col>\r\n                    </a-row>\r\n                  </template>\r\n                  <form-component\r\n                    v-else\r\n                    :ref=\"(el) => (formComponents[index] = el)\"\r\n                    :item=\"item\"\r\n                    :form-data=\"formData\"\r\n                    @change-field=\"handleChangeField\"\r\n                    @blur-field=\"handleBlurField\"\r\n                  />\r\n                </slot>\r\n                <template v-if=\"item.extra\" #extra>\r\n                  <slot name=\"extra\" :item=\"item\" :index=\"index\">\r\n                    {{ item.extra }}\r\n                  </slot>\r\n                </template>\r\n              </ll-form-item>\r\n            </slot>\r\n          </a-col>\r\n        </a-row>\r\n      </a-form>\r\n    </a-spin>\r\n  </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { has, isEmpty, omit } from 'lodash-es'\r\nimport { computed, nextTick, onMounted, reactive, ref, watch } from 'vue'\r\nimport { formEmits, formProps, type FormColumn } from './config'\r\n\r\nimport type { NamePath } from 'ant-design-vue/es/form/interface'\r\n\r\nimport { createNamespace, deepUnref } from '@ll-plus/utils'\r\n\r\nimport formComponent from './components/form-component.vue'\r\n\r\n// 定义组件名称\r\ndefineOptions({ name: 'LlForm' })\r\n\r\n// Props\r\nconst props = defineProps(formProps)\r\n\r\nconst emits = defineEmits(formEmits)\r\n\r\nconst bem = createNamespace('form')\r\n\r\nconst formData = reactive(props.formData)\r\n\r\nconst formRef = ref()\r\n\r\nconst formComponents = ref<InstanceType<typeof formComponent>[]>(\r\n  [] as InstanceType<typeof formComponent>[]\r\n)\r\n\r\nconst computedFormColumns = computed(() => {\r\n  const formColumns = deepUnref(props.formColumns) as FormColumn[]\r\n  return formColumns.map((e) => {\r\n    e.disabled = has(e, 'disabled') ? e.disabled : props.disabled\r\n    if (e.children && e.children.length) {\r\n      e.children.map((a) => {\r\n        a.disabled = has(a, 'disabled') ? a.disabled : props.disabled\r\n        return a\r\n      })\r\n    }\r\n    return e\r\n  })\r\n})\r\n\r\nconst validateFields = computed(() => {\r\n  return props.formColumns\r\n    .filter((e) => e.required || (has(e, 'rules') && e.rules.length > 0))\r\n    .map((e) => {\r\n      return e.key\r\n    })\r\n})\r\n\r\nconst computedFormOptions = computed(() => {\r\n  return {\r\n    scrollToFirstError: !props.validateErrorStop,\r\n    ...props.formOptions,\r\n  }\r\n})\r\n\r\nconst id = ref(`ll-form-${+new Date()}`)\r\n\r\nconst validate = async (nameList?: NamePath[]) => {\r\n  if (props.validateErrorStop) {\r\n    clearValidate()\r\n    if (!validateFields.value.length) return Promise.resolve()\r\n    for (const i of validateFields.value) {\r\n      try {\r\n        await formRef.value.validateFields([i])\r\n      } catch (error) {\r\n        return Promise.reject(error) // 跳出验证循环并返回错误\r\n      }\r\n    }\r\n    return Promise.resolve()\r\n  } else {\r\n    try {\r\n      await formRef.value.validateFields(nameList || validateFields.value)\r\n      return Promise.resolve()\r\n    } catch (error) {\r\n      return Promise.reject(error)\r\n    }\r\n  }\r\n}\r\n\r\nconst resetFields = async () => {\r\n  await formRef.value.resetFields()\r\n}\r\n\r\nconst clearValidate = async (nameList?: NamePath[]) => {\r\n  await formRef.value.clearValidate(nameList)\r\n}\r\n\r\nconst scrollToField = async (name: NamePath, options?: ScrollOptions) => {\r\n  await formRef.value.scrollToField(name, options)\r\n}\r\n\r\nconst getBindValue = (item: FormColumn) => {\r\n  const obj = { ...item }\r\n  return omit(obj, ['label', 'class', 'extra'])\r\n}\r\n\r\nconst getFormItemClass = (item = {} as FormColumn) => {\r\n  if (props.formOptions.layout === 'horizontal') {\r\n    if (item?.labelCol) {\r\n      return item.labelCol.span && item.labelCol.span >= 24\r\n        ? bem.is('label-top')\r\n        : bem.is('label-left')\r\n    } else {\r\n      return bem.is('label-left')\r\n    }\r\n  }\r\n  return bem.is('label-top')\r\n}\r\n\r\nconst handleChangeField = (item: FormColumn) => {\r\n  emits('change', { item, value: formData[item.key], formData })\r\n}\r\nconst handleBlurField = (item: FormColumn) => {\r\n  emits('blur', { item, value: formData[item.key], formData })\r\n}\r\n\r\nwatch(\r\n  () => props.formData,\r\n  async (val) => {\r\n    for (const i in val) {\r\n      formData[i] = val[i]\r\n    }\r\n  },\r\n  {\r\n    deep: true,\r\n    immediate: true,\r\n  }\r\n)\r\n\r\nonMounted(async () => {\r\n  await nextTick()\r\n  if (props.autoFocus) {\r\n    for (const element of formComponents.value) {\r\n      const item = element?.getItem()\r\n      if (['input', 'textarea', 'input-number'].includes(item.type)) {\r\n        element?.focus()\r\n        break\r\n      }\r\n    }\r\n  }\r\n})\r\n\r\ndefineExpose({\r\n  validate,\r\n  resetFields,\r\n  clearValidate,\r\n  scrollToField,\r\n})\r\n</script>\r\n"],"names":["_createElementBlock","_normalizeClass","_unref","_createVNode","_mergeProps","_normalizeProps","_guardReactiveProps","_openBlock","_Fragment","_renderList","_createBlock","_renderSlot","_createElementVNode","_toDisplayString","formComponent","_createTextVNode"],"mappings":"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"}