form-create-designer: 表单组件新增用户选择器

This commit is contained in:
puhui999
2024-03-31 17:58:44 +08:00
parent 68dae2d1fe
commit d16bed4ad7
5 changed files with 38 additions and 29 deletions

View File

@ -1,5 +1,5 @@
<template>
<el-select :model-value="modelValue" class="w-1/1" v-bind="attrs" @change="changeValue">
<el-select class="w-1/1" v-bind="attrs">
<template v-if="valueType === 'int'">
<el-option
v-for="(dict, index) in getIntDictOptions(dictType)"
@ -43,11 +43,4 @@ withDefaults(defineProps<Props>(), {
})
const attrs = useAttrs()
defineOptions({ name: 'DictSelect' })
const emits = defineEmits<{
(e: 'update:modelValue', v: any): void
}>()
const changeValue = (value: any) => {
console.log(value)
emits('update:modelValue', value)
}
</script>

View File

@ -1,22 +1,9 @@
import { generateUUID } from '@/utils'
import * as UserApi from '@/api/system/user'
import { localeProps, makeOptionsRule, makeRequiredRule } from '@/components/FormCreate/src/utils'
import { localeProps, makeRequiredRule } from '@/components/FormCreate/src/utils'
export const useUserSelectRule = () => {
const label = 'aa选择器'
const name = 'select'
const userOptions = ref<{ label: string; value: number }[]>([]) // 用户下拉数据
onMounted(async () => {
const data = await UserApi.getSimpleUserList()
if (!data || data.length === 0) {
return
}
userOptions.value =
data?.map((item: UserApi.UserVO) => ({
label: item.nickname,
value: item.id
})) ?? []
})
const label = '用户选择器'
const name = 'UserSelect'
return {
icon: 'icon-select',
label,
@ -33,7 +20,6 @@ export const useUserSelectRule = () => {
props(_, { t }) {
return localeProps(t, name + '.props', [
makeRequiredRule(),
makeOptionsRule(t, 'options', userOptions.value),
{ type: 'switch', field: 'multiple', title: '是否多选' },
{
type: 'switch',