easybill-ui 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <el-form ref="schemaFormRef" :model="formModel" :rules="rules" v-bind="{ ...$attrs, ...getFormProps }" class="curd-form" :style="getFormStyle()" @submit.prevent>
3
3
  <template v-for="formItem in schemaItems" :key="formItem.prop">
4
- <el-form-item v-if="!$slots[formItem.type + 'Item']" :label="formItem.label" :prop="formItem.prop" :label-width="formItem.labelWidth" :style="getFormItemStyle(formItem)" v-bind="getFormItemProps(formItem)">
4
+ <el-form-item v-if="!$slots[formItem.prop + 'Item']" :label="formItem.label" :prop="formItem.prop" :label-width="formItem.labelWidth" :style="getFormItemStyle(formItem)" v-bind="getFormItemProps(formItem)">
5
5
  <slot :name="formItem.prop" :form-item="formItem" :form-model="formModel"></slot>
6
6
  <FormItem v-if="!(formItem.prop && $slots[formItem.prop])" :form-item="formItem" :form-model="formModel" @change="onChange">
7
7
  <template #prefix>
@@ -9,6 +9,7 @@ import SchemaFormTimePicker from "./schema-form-time-picker.vue"
9
9
  import SchemaFormColorPicker from "./schema-form-color-picker.vue"
10
10
  import SchemaFormValue from "./schema-form-value.vue"
11
11
  import SchemaFormCascader from "./schema-form-cascader.vue"
12
+ import SchemaFormAutocomplete from "./schema-form-autocomplete.vue"
12
13
  import { isReactive, isRef, createVNode, isVNode } from "vue"
13
14
  interface PresetMap {
14
15
  [key: string]: any
@@ -25,6 +26,7 @@ const presetMap: PresetMap = {
25
26
  "schema-color-picker": SchemaFormColorPicker,
26
27
  "schema-value": SchemaFormValue,
27
28
  "schema-cascader": SchemaFormCascader,
29
+ "schema-autocomplete": SchemaFormAutocomplete,
28
30
  }
29
31
 
30
32
  export default presetMap
@@ -38,6 +40,6 @@ export const getComponent = (type = "input") => {
38
40
  return createVNode(type)
39
41
  } else {
40
42
  // 不识别组件
41
- return null
43
+ return type
42
44
  }
43
45
  }
@@ -0,0 +1,25 @@
1
+ <template>
2
+ <el-autocomplete v-model="model" v-bind="props" v-on="eventObject">
3
+ <template #default="{ item }">
4
+ <div v-if="item.html" v-html="item.html"></div>
5
+ <div v-else>{{ item.label || item.value }}</div>
6
+ </template>
7
+ </el-autocomplete>
8
+ </template>
9
+ <script lang="ts" setup>
10
+ import { computed, PropType } from "vue"
11
+ import { ElCascader, CascaderOption, CascaderValue } from "element-plus"
12
+ import { FormItemProps } from "easybill-ui/components/CurdForm/src/types"
13
+ const props = defineProps({
14
+ ...FormItemProps,
15
+ modelValue: {
16
+ type: [String, Number] as PropType<CascaderValue>,
17
+ default: undefined,
18
+ }, // 表单项值
19
+ })
20
+ const emits = defineEmits(["update:modelValue"])
21
+ const model = computed({
22
+ get: () => props.modelValue,
23
+ set: (val) => emits("update:modelValue", val),
24
+ })
25
+ </script>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "easybill-ui",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "A component library for easybill",
5
5
  "author": "tuchongyang <779311998@qq.com>",
6
6
  "private": false,
@@ -14,5 +14,5 @@
14
14
  "publishConfig": {
15
15
  "access": "public"
16
16
  },
17
- "gitHead": "20250696a8d4cbd888728e8d2f34737b5975503a"
17
+ "gitHead": "4e76935a08a07f4e2b3eea6066e988537e612370"
18
18
  }