@jari-ace/element-plus-component 0.2.2 → 0.2.3
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.
- package/README.md +1 -1
- package/dist/components/rolePicker/baseRolePicker.vue.d.ts.map +1 -1
- package/dist/components/rolePicker/baseRolePicker.vue.js +4 -2
- package/dist/components/rolePicker/baseRolePicker.vue.js.map +1 -1
- package/lib/index.css +1 -1
- package/lib/index.js +297 -297
- package/lib/index.umd.cjs +2 -2
- package/package.json +61 -61
- package/packages/components/autoComplete/JaAutoComplete.vue +47 -47
- package/packages/components/autoComplete/index.ts +5 -5
- package/packages/components/avatar/JaAvatar.vue +126 -126
- package/packages/components/avatar/avatarToken.ts +11 -11
- package/packages/components/avatar/defaultImg.ts +14 -14
- package/packages/components/avatar/index.ts +7 -7
- package/packages/components/button/JaButton.vue +51 -51
- package/packages/components/button/index.ts +4 -4
- package/packages/components/channelPicker/index.ts +7 -7
- package/packages/components/channelPicker/src/ChannelPicker.vue +43 -43
- package/packages/components/channelPicker/src/JaChannelPicker.vue +42 -42
- package/packages/components/checkbox/JaCheckbox.vue +73 -73
- package/packages/components/checkbox/index.ts +4 -4
- package/packages/components/checkboxGroup/JaCheckboxGroup.vue +45 -45
- package/packages/components/checkboxGroup/index.ts +4 -4
- package/packages/components/customGroupTree/index.ts +10 -10
- package/packages/components/customGroupTree/src/customGroupTree.vue +91 -91
- package/packages/components/datePicker/JaDatePicker.vue +52 -52
- package/packages/components/datePicker/index.ts +4 -4
- package/packages/components/departmentPicker/index.ts +4 -4
- package/packages/components/departmentPicker/src/DepartmentPicker.vue +107 -107
- package/packages/components/departmentPicker/src/consts.ts +2 -2
- package/packages/components/departmentTree/index.ts +10 -10
- package/packages/components/departmentTree/src/departmentTree.vue +135 -135
- package/packages/components/dropdownButton/JaDropdownButton.vue +59 -59
- package/packages/components/dropdownButton/index.ts +4 -4
- package/packages/components/enumList/EnumListInput.vue +107 -107
- package/packages/components/enumList/JaEnumList.vue +39 -39
- package/packages/components/enumList/index.ts +7 -7
- package/packages/components/enumPicker/index.ts +5 -5
- package/packages/components/enumPicker/src/EnumPicker.vue +103 -103
- package/packages/components/form/JaForm.vue +146 -146
- package/packages/components/form/index.ts +5 -5
- package/packages/components/form/types.ts +4 -4
- package/packages/components/formItem/JaFormItem.vue +87 -87
- package/packages/components/formItem/index.ts +4 -4
- package/packages/components/index.ts +34 -34
- package/packages/components/input/JaInput.vue +143 -143
- package/packages/components/input/index.ts +4 -4
- package/packages/components/inputI18n/I18nBundleEditor.vue +76 -76
- package/packages/components/inputI18n/InputI18n.vue +146 -146
- package/packages/components/inputI18n/JaInputI18n.vue +50 -50
- package/packages/components/inputI18n/index.ts +8 -8
- package/packages/components/inputNumber/JaInputNumber.vue +98 -98
- package/packages/components/inputNumber/index.ts +4 -4
- package/packages/components/mapItemList/JaMapItemList.vue +35 -35
- package/packages/components/mapItemList/MapItemListInput.vue +191 -191
- package/packages/components/mapItemList/index.ts +7 -7
- package/packages/components/numberList/JaNumberList.vue +36 -36
- package/packages/components/numberList/NumberListInput.vue +111 -111
- package/packages/components/numberList/index.ts +7 -7
- package/packages/components/properyPicker/JaPropertyPicker.vue +38 -38
- package/packages/components/properyPicker/PropertyPicker.vue +314 -314
- package/packages/components/properyPicker/index.ts +7 -7
- package/packages/components/radioGroup/JaRadioGroup.vue +50 -50
- package/packages/components/radioGroup/index.ts +4 -4
- package/packages/components/rolePicker/RoleEditor.vue +129 -129
- package/packages/components/rolePicker/RolePicker.vue +44 -44
- package/packages/components/rolePicker/RolePickerRaw.vue +56 -56
- package/packages/components/rolePicker/baseRolePicker.vue +91 -87
- package/packages/components/rolePicker/index.ts +10 -10
- package/packages/components/scrollbar/Scrollbar.vue +89 -89
- package/packages/components/scrollbar/index.ts +5 -5
- package/packages/components/scrollbar/utils.ts +17 -17
- package/packages/components/select/JaSelect.vue +48 -48
- package/packages/components/select/index.ts +4 -4
- package/packages/components/stringList/JaStringList.vue +36 -36
- package/packages/components/stringList/StringListInput.vue +96 -96
- package/packages/components/stringList/index.ts +7 -7
- package/packages/components/switch/JaSwitch.vue +50 -50
- package/packages/components/switch/index.ts +4 -4
- package/packages/components/timePicker/JaTimePicker.vue +52 -52
- package/packages/components/timePicker/index.ts +5 -5
- package/packages/components/tip/index.ts +4 -4
- package/packages/components/tip/src/AceTip.vue +43 -43
- package/packages/components/upload/index.ts +6 -6
- package/packages/components/upload/src/Upload.vue +25 -25
- package/packages/components/upload/src/type.ts +3 -3
- package/packages/components/userGroupPicker/index.ts +4 -4
- package/packages/components/userGroupPicker/src/UserGroupPicker.vue +94 -94
- package/packages/components/userGroupTree/index.ts +10 -10
- package/packages/components/userGroupTree/src/userGroupTree.vue +149 -149
- package/packages/components/userPicker/index.ts +10 -10
- package/packages/components/userPicker/src/CustomGroupManager.vue +189 -189
- package/packages/components/userPicker/src/JaUserList.vue +317 -317
- package/packages/components/userPicker/src/JaUserPicker.vue +40 -40
- package/packages/components/userPicker/src/UserPicker.vue +472 -472
- package/packages/components/userSelectDialog/index.ts +6 -6
- package/packages/components/userSelectDialog/src/userSelectDialog.vue +462 -462
- package/packages/components/userTag/UserInfoTag.vue +397 -397
- package/packages/components/userTag/index.ts +6 -6
- package/packages/components/userTag/sharedAxios.ts +8 -8
- package/packages/directives/auth/index.ts +41 -41
- package/packages/directives/autofocus/index.ts +29 -29
- package/packages/directives/index.ts +10 -10
- package/packages/directives/shortcut/index.ts +192 -192
- package/packages/hooks/useAppInstances.ts +34 -34
- package/packages/hooks/useBackendValidations.ts +81 -81
- package/packages/hooks/useBridage.ts +157 -157
- package/packages/hooks/useClassificationLevels.ts +62 -62
- package/packages/hooks/useDateTimeShortCuts.ts +65 -65
- package/packages/hooks/useRealms.ts +28 -28
- package/packages/hooks/useTreeData.ts +45 -45
- package/packages/hooks/useUserRefQuery.ts +232 -232
- package/packages/index.ts +24 -24
- package/packages/list.json +7 -7
- package/packages/types/custom.d.ts +13 -13
- package/packages/types/window.d.ts +16 -16
- package/packages/utils/install.ts +43 -43
- package/packages/utils/objectUtils.ts +31 -31
- package/theme-style/fonts/iconfont.json +5196 -5196
- package/theme-style/index.scss +10 -10
- package/theme-style/styles/element-plus-var.scss +1419 -1419
- package/theme-style/styles/iconfont.css +2979 -2979
- package/theme-style/styles/theme-var.scss +72 -72
- package/theme-style/styles/transition.scss +122 -122
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import dShortcut from "../../directives/shortcut";
|
|
3
|
-
import vAuth from "../../directives/auth";
|
|
4
|
-
import {ElButton, ElTooltip} from "element-plus";
|
|
5
|
-
import {ref} from "vue";
|
|
6
|
-
|
|
7
|
-
const input = ref<typeof ElButton>({} as typeof ElButton)
|
|
8
|
-
type AuthModifier = {
|
|
9
|
-
disable: boolean;
|
|
10
|
-
any: boolean
|
|
11
|
-
}
|
|
12
|
-
const props = withDefaults(defineProps<{
|
|
13
|
-
tooltip?: string
|
|
14
|
-
shortcut?: string
|
|
15
|
-
auth?: string | string[]
|
|
16
|
-
authModifiers?: AuthModifier
|
|
17
|
-
tooltipPlacement?: 'top' | 'bottom'
|
|
18
|
-
}>(), {
|
|
19
|
-
tooltipPlacement: 'bottom',
|
|
20
|
-
authModifiers: () => ({
|
|
21
|
-
disable: true,
|
|
22
|
-
any: false
|
|
23
|
-
})
|
|
24
|
-
})
|
|
25
|
-
|
|
26
|
-
const vShortcut = dShortcut
|
|
27
|
-
|
|
28
|
-
defineExpose({
|
|
29
|
-
elButton: input
|
|
30
|
-
})
|
|
31
|
-
|
|
32
|
-
</script>
|
|
33
|
-
|
|
34
|
-
<template>
|
|
35
|
-
<el-tooltip :placement="tooltipPlacement" append-to="body">
|
|
36
|
-
<el-button
|
|
37
|
-
ref="input"
|
|
38
|
-
v-auth:[authModifiers]="auth"
|
|
39
|
-
v-shortcut:[shortcut]
|
|
40
|
-
v-bind="$attrs">
|
|
41
|
-
<template v-for="(_, name) in $slots" v-slot:[name]>
|
|
42
|
-
<slot :name="name"></slot>
|
|
43
|
-
</template>
|
|
44
|
-
</el-button>
|
|
45
|
-
<template #content>
|
|
46
|
-
{{
|
|
47
|
-
`${props.tooltip ?? ''} ${props.shortcut ? "(" : ""}${props.shortcut ?? ""}${props.shortcut ? ")" : ""}`
|
|
48
|
-
}}
|
|
49
|
-
</template>
|
|
50
|
-
</el-tooltip>
|
|
51
|
-
</template>
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import dShortcut from "../../directives/shortcut";
|
|
3
|
+
import vAuth from "../../directives/auth";
|
|
4
|
+
import {ElButton, ElTooltip} from "element-plus";
|
|
5
|
+
import {ref} from "vue";
|
|
6
|
+
|
|
7
|
+
const input = ref<typeof ElButton>({} as typeof ElButton)
|
|
8
|
+
type AuthModifier = {
|
|
9
|
+
disable: boolean;
|
|
10
|
+
any: boolean
|
|
11
|
+
}
|
|
12
|
+
const props = withDefaults(defineProps<{
|
|
13
|
+
tooltip?: string
|
|
14
|
+
shortcut?: string
|
|
15
|
+
auth?: string | string[]
|
|
16
|
+
authModifiers?: AuthModifier
|
|
17
|
+
tooltipPlacement?: 'top' | 'bottom'
|
|
18
|
+
}>(), {
|
|
19
|
+
tooltipPlacement: 'bottom',
|
|
20
|
+
authModifiers: () => ({
|
|
21
|
+
disable: true,
|
|
22
|
+
any: false
|
|
23
|
+
})
|
|
24
|
+
})
|
|
25
|
+
|
|
26
|
+
const vShortcut = dShortcut
|
|
27
|
+
|
|
28
|
+
defineExpose({
|
|
29
|
+
elButton: input
|
|
30
|
+
})
|
|
31
|
+
|
|
32
|
+
</script>
|
|
33
|
+
|
|
34
|
+
<template>
|
|
35
|
+
<el-tooltip :placement="tooltipPlacement" append-to="body">
|
|
36
|
+
<el-button
|
|
37
|
+
ref="input"
|
|
38
|
+
v-auth:[authModifiers]="auth"
|
|
39
|
+
v-shortcut:[shortcut]
|
|
40
|
+
v-bind="$attrs">
|
|
41
|
+
<template v-for="(_, name) in $slots" v-slot:[name]>
|
|
42
|
+
<slot :name="name"></slot>
|
|
43
|
+
</template>
|
|
44
|
+
</el-button>
|
|
45
|
+
<template #content>
|
|
46
|
+
{{
|
|
47
|
+
`${props.tooltip ?? ''} ${props.shortcut ? "(" : ""}${props.shortcut ?? ""}${props.shortcut ? ")" : ""}`
|
|
48
|
+
}}
|
|
49
|
+
</template>
|
|
50
|
+
</el-tooltip>
|
|
51
|
+
</template>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {type SFCWithInstall, withInstall} from "../../utils/install";
|
|
2
|
-
import Button from "./JaButton.vue";
|
|
3
|
-
export const JaButton:SFCWithInstall<typeof Button> = withInstall(Button);
|
|
4
|
-
// export default JaButton;
|
|
1
|
+
import {type SFCWithInstall, withInstall} from "../../utils/install";
|
|
2
|
+
import Button from "./JaButton.vue";
|
|
3
|
+
export const JaButton:SFCWithInstall<typeof Button> = withInstall(Button);
|
|
4
|
+
// export default JaButton;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {type SFCWithInstall, withInstall} from "../../utils/install";
|
|
2
|
-
import ChannelPicker from "./src/JaChannelPicker.vue";
|
|
3
|
-
import RawChannelPicker from "./src/ChannelPicker.vue";
|
|
4
|
-
|
|
5
|
-
export const JaChannelPicker: SFCWithInstall<typeof ChannelPicker> = withInstall(ChannelPicker);
|
|
6
|
-
export const JaChannelPickerRaw: SFCWithInstall<typeof RawChannelPicker> = withInstall(RawChannelPicker);
|
|
7
|
-
|
|
1
|
+
import {type SFCWithInstall, withInstall} from "../../utils/install";
|
|
2
|
+
import ChannelPicker from "./src/JaChannelPicker.vue";
|
|
3
|
+
import RawChannelPicker from "./src/ChannelPicker.vue";
|
|
4
|
+
|
|
5
|
+
export const JaChannelPicker: SFCWithInstall<typeof ChannelPicker> = withInstall(ChannelPicker);
|
|
6
|
+
export const JaChannelPickerRaw: SFCWithInstall<typeof RawChannelPicker> = withInstall(RawChannelPicker);
|
|
7
|
+
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import {ElSelect, ElOption} from "element-plus";
|
|
3
|
-
import {createAxiosWithoutCache, type ProjectedChannel, useChannelApi} from "@jari-ace/app-bolts";
|
|
4
|
-
import {onBeforeMount, ref, watch} from "vue";
|
|
5
|
-
|
|
6
|
-
const axios = createAxiosWithoutCache();
|
|
7
|
-
const api = useChannelApi(axios);
|
|
8
|
-
const props = defineProps<{
|
|
9
|
-
appName?: string
|
|
10
|
-
}>();
|
|
11
|
-
const channels = ref<ProjectedChannel[]>();
|
|
12
|
-
const bindingChannels = ref<ProjectedChannel[]>();
|
|
13
|
-
const selected = defineModel<ProjectedChannel>({
|
|
14
|
-
required: true
|
|
15
|
-
})
|
|
16
|
-
|
|
17
|
-
onBeforeMount(() => {
|
|
18
|
-
loadData();
|
|
19
|
-
})
|
|
20
|
-
|
|
21
|
-
async function loadData() {
|
|
22
|
-
console.log('load channels of app ' + props.appName);
|
|
23
|
-
if (!props.appName) return;
|
|
24
|
-
channels.value = await api.getAll(props.appName);
|
|
25
|
-
bindingChannels.value = channels.value;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function filter(queryName: string) {
|
|
29
|
-
bindingChannels.value = channels.value?.filter(c => c.name.indexOf(queryName) > -1) ?? [];
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
watch(() => props.appName, loadData);
|
|
33
|
-
</script>
|
|
34
|
-
|
|
35
|
-
<template>
|
|
36
|
-
<el-select filterable :filter-method="filter" value-key="id" v-model="selected" v-bind="$attrs">
|
|
37
|
-
<el-option v-for="c in bindingChannels" :key="c.id" :label="c.name" :value="c"></el-option>
|
|
38
|
-
</el-select>
|
|
39
|
-
</template>
|
|
40
|
-
|
|
41
|
-
<style scoped lang="scss">
|
|
42
|
-
|
|
43
|
-
</style>
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import {ElSelect, ElOption} from "element-plus";
|
|
3
|
+
import {createAxiosWithoutCache, type ProjectedChannel, useChannelApi} from "@jari-ace/app-bolts";
|
|
4
|
+
import {onBeforeMount, ref, watch} from "vue";
|
|
5
|
+
|
|
6
|
+
const axios = createAxiosWithoutCache();
|
|
7
|
+
const api = useChannelApi(axios);
|
|
8
|
+
const props = defineProps<{
|
|
9
|
+
appName?: string
|
|
10
|
+
}>();
|
|
11
|
+
const channels = ref<ProjectedChannel[]>();
|
|
12
|
+
const bindingChannels = ref<ProjectedChannel[]>();
|
|
13
|
+
const selected = defineModel<ProjectedChannel>({
|
|
14
|
+
required: true
|
|
15
|
+
})
|
|
16
|
+
|
|
17
|
+
onBeforeMount(() => {
|
|
18
|
+
loadData();
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
async function loadData() {
|
|
22
|
+
console.log('load channels of app ' + props.appName);
|
|
23
|
+
if (!props.appName) return;
|
|
24
|
+
channels.value = await api.getAll(props.appName);
|
|
25
|
+
bindingChannels.value = channels.value;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function filter(queryName: string) {
|
|
29
|
+
bindingChannels.value = channels.value?.filter(c => c.name.indexOf(queryName) > -1) ?? [];
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
watch(() => props.appName, loadData);
|
|
33
|
+
</script>
|
|
34
|
+
|
|
35
|
+
<template>
|
|
36
|
+
<el-select filterable :filter-method="filter" value-key="id" v-model="selected" v-bind="$attrs">
|
|
37
|
+
<el-option v-for="c in bindingChannels" :key="c.id" :label="c.name" :value="c"></el-option>
|
|
38
|
+
</el-select>
|
|
39
|
+
</template>
|
|
40
|
+
|
|
41
|
+
<style scoped lang="scss">
|
|
42
|
+
|
|
43
|
+
</style>
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
|
|
3
|
-
import ChannelPicker from "./ChannelPicker.vue";
|
|
4
|
-
import {inject, ref, watch} from "vue";
|
|
5
|
-
import type {ValidationInstance} from "../../../hooks/useBackendValidations";
|
|
6
|
-
import {getValue, setValue} from "../../../utils/objectUtils";
|
|
7
|
-
import type {ProjectedChannel} from "@jari-ace/app-bolts";
|
|
8
|
-
|
|
9
|
-
const model = inject('aceFormModel') as Record<string, any>
|
|
10
|
-
const prop = inject('aceFormItemProp') as string
|
|
11
|
-
const validator = inject('aceFormValidator') as ValidationInstance
|
|
12
|
-
const emit = defineEmits<{
|
|
13
|
-
change: [value: string]
|
|
14
|
-
}>()
|
|
15
|
-
|
|
16
|
-
function onChange(value: string) {
|
|
17
|
-
validator.removeFieldError(prop)
|
|
18
|
-
setValue(model.formData, prop, mv.value);
|
|
19
|
-
emit('change', value)
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
type modelType = ProjectedChannel;
|
|
23
|
-
|
|
24
|
-
const mv = ref(getValue(model.formData, prop) as modelType);
|
|
25
|
-
watch(() => model.formData, () => {
|
|
26
|
-
mv.value = getValue(model.formData, prop) as modelType
|
|
27
|
-
}, {
|
|
28
|
-
deep: true
|
|
29
|
-
})
|
|
30
|
-
|
|
31
|
-
</script>
|
|
32
|
-
|
|
33
|
-
<template>
|
|
34
|
-
<channel-picker v-model="mv"
|
|
35
|
-
@change="onChange"
|
|
36
|
-
v-bind="$attrs">
|
|
37
|
-
</channel-picker>
|
|
38
|
-
</template>
|
|
39
|
-
|
|
40
|
-
<style scoped lang="scss">
|
|
41
|
-
|
|
42
|
-
</style>
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
|
|
3
|
+
import ChannelPicker from "./ChannelPicker.vue";
|
|
4
|
+
import {inject, ref, watch} from "vue";
|
|
5
|
+
import type {ValidationInstance} from "../../../hooks/useBackendValidations";
|
|
6
|
+
import {getValue, setValue} from "../../../utils/objectUtils";
|
|
7
|
+
import type {ProjectedChannel} from "@jari-ace/app-bolts";
|
|
8
|
+
|
|
9
|
+
const model = inject('aceFormModel') as Record<string, any>
|
|
10
|
+
const prop = inject('aceFormItemProp') as string
|
|
11
|
+
const validator = inject('aceFormValidator') as ValidationInstance
|
|
12
|
+
const emit = defineEmits<{
|
|
13
|
+
change: [value: string]
|
|
14
|
+
}>()
|
|
15
|
+
|
|
16
|
+
function onChange(value: string) {
|
|
17
|
+
validator.removeFieldError(prop)
|
|
18
|
+
setValue(model.formData, prop, mv.value);
|
|
19
|
+
emit('change', value)
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
type modelType = ProjectedChannel;
|
|
23
|
+
|
|
24
|
+
const mv = ref(getValue(model.formData, prop) as modelType);
|
|
25
|
+
watch(() => model.formData, () => {
|
|
26
|
+
mv.value = getValue(model.formData, prop) as modelType
|
|
27
|
+
}, {
|
|
28
|
+
deep: true
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
</script>
|
|
32
|
+
|
|
33
|
+
<template>
|
|
34
|
+
<channel-picker v-model="mv"
|
|
35
|
+
@change="onChange"
|
|
36
|
+
v-bind="$attrs">
|
|
37
|
+
</channel-picker>
|
|
38
|
+
</template>
|
|
39
|
+
|
|
40
|
+
<style scoped lang="scss">
|
|
41
|
+
|
|
42
|
+
</style>
|
|
@@ -1,73 +1,73 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import {inject, ref, watch} from 'vue'
|
|
3
|
-
import {type CheckboxValueType, ElCheckbox} from 'element-plus'
|
|
4
|
-
import type {ValidationInstance} from '../../hooks/useBackendValidations'
|
|
5
|
-
import {getValue, setValue} from "../../utils/objectUtils";
|
|
6
|
-
|
|
7
|
-
const props = withDefaults(defineProps<{
|
|
8
|
-
label?: string | number | boolean | object
|
|
9
|
-
trueLabel?: string | number
|
|
10
|
-
falseLabel?: string | number
|
|
11
|
-
disabled?: boolean
|
|
12
|
-
border?: boolean
|
|
13
|
-
size?: 'large' | 'default' | 'small'
|
|
14
|
-
name?: string
|
|
15
|
-
checked?: boolean
|
|
16
|
-
indeterminate?: boolean
|
|
17
|
-
validateEvent?: boolean
|
|
18
|
-
}>(), {
|
|
19
|
-
disabled: false,
|
|
20
|
-
border: false,
|
|
21
|
-
checked: false,
|
|
22
|
-
indeterminate: false,
|
|
23
|
-
validateEvent: true
|
|
24
|
-
})
|
|
25
|
-
|
|
26
|
-
const model = inject('aceFormModel') as Record<string, any>
|
|
27
|
-
const prop = inject('aceFormItemProp') as string
|
|
28
|
-
const validator = inject('aceFormValidator') as ValidationInstance
|
|
29
|
-
const checkbox = ref<typeof ElCheckbox>({} as typeof ElCheckbox)
|
|
30
|
-
const emit = defineEmits<{
|
|
31
|
-
change: [value: CheckboxValueType]
|
|
32
|
-
}>()
|
|
33
|
-
|
|
34
|
-
function onChange(value: CheckboxValueType) {
|
|
35
|
-
validator.removeFieldError(prop);
|
|
36
|
-
setValue(model.formData, prop, mv.value);
|
|
37
|
-
emit('change', value);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
type ModelType = string | number | boolean | undefined;
|
|
41
|
-
|
|
42
|
-
const mv = ref(getValue(model.formData, prop) as ModelType);
|
|
43
|
-
watch(() => model.formData, () => {
|
|
44
|
-
mv.value = getValue(model.formData, prop) as ModelType
|
|
45
|
-
})
|
|
46
|
-
defineExpose({
|
|
47
|
-
elCheckbox: checkbox
|
|
48
|
-
})
|
|
49
|
-
</script>
|
|
50
|
-
|
|
51
|
-
<template>
|
|
52
|
-
<el-checkbox
|
|
53
|
-
ref="checkbox"
|
|
54
|
-
v-model="mv"
|
|
55
|
-
:disabled="disabled"
|
|
56
|
-
:true-label="trueLabel"
|
|
57
|
-
:false-label="falseLabel"
|
|
58
|
-
:border="border"
|
|
59
|
-
:size="size"
|
|
60
|
-
:name="name"
|
|
61
|
-
:checked="checked"
|
|
62
|
-
:indeterminate="indeterminate"
|
|
63
|
-
:validate-event="validateEvent"
|
|
64
|
-
:label="label"
|
|
65
|
-
@change="onChange"
|
|
66
|
-
>
|
|
67
|
-
<slot></slot>
|
|
68
|
-
</el-checkbox>
|
|
69
|
-
</template>
|
|
70
|
-
|
|
71
|
-
<style scoped lang="scss">
|
|
72
|
-
|
|
73
|
-
</style>
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import {inject, ref, watch} from 'vue'
|
|
3
|
+
import {type CheckboxValueType, ElCheckbox} from 'element-plus'
|
|
4
|
+
import type {ValidationInstance} from '../../hooks/useBackendValidations'
|
|
5
|
+
import {getValue, setValue} from "../../utils/objectUtils";
|
|
6
|
+
|
|
7
|
+
const props = withDefaults(defineProps<{
|
|
8
|
+
label?: string | number | boolean | object
|
|
9
|
+
trueLabel?: string | number
|
|
10
|
+
falseLabel?: string | number
|
|
11
|
+
disabled?: boolean
|
|
12
|
+
border?: boolean
|
|
13
|
+
size?: 'large' | 'default' | 'small'
|
|
14
|
+
name?: string
|
|
15
|
+
checked?: boolean
|
|
16
|
+
indeterminate?: boolean
|
|
17
|
+
validateEvent?: boolean
|
|
18
|
+
}>(), {
|
|
19
|
+
disabled: false,
|
|
20
|
+
border: false,
|
|
21
|
+
checked: false,
|
|
22
|
+
indeterminate: false,
|
|
23
|
+
validateEvent: true
|
|
24
|
+
})
|
|
25
|
+
|
|
26
|
+
const model = inject('aceFormModel') as Record<string, any>
|
|
27
|
+
const prop = inject('aceFormItemProp') as string
|
|
28
|
+
const validator = inject('aceFormValidator') as ValidationInstance
|
|
29
|
+
const checkbox = ref<typeof ElCheckbox>({} as typeof ElCheckbox)
|
|
30
|
+
const emit = defineEmits<{
|
|
31
|
+
change: [value: CheckboxValueType]
|
|
32
|
+
}>()
|
|
33
|
+
|
|
34
|
+
function onChange(value: CheckboxValueType) {
|
|
35
|
+
validator.removeFieldError(prop);
|
|
36
|
+
setValue(model.formData, prop, mv.value);
|
|
37
|
+
emit('change', value);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
type ModelType = string | number | boolean | undefined;
|
|
41
|
+
|
|
42
|
+
const mv = ref(getValue(model.formData, prop) as ModelType);
|
|
43
|
+
watch(() => model.formData, () => {
|
|
44
|
+
mv.value = getValue(model.formData, prop) as ModelType
|
|
45
|
+
})
|
|
46
|
+
defineExpose({
|
|
47
|
+
elCheckbox: checkbox
|
|
48
|
+
})
|
|
49
|
+
</script>
|
|
50
|
+
|
|
51
|
+
<template>
|
|
52
|
+
<el-checkbox
|
|
53
|
+
ref="checkbox"
|
|
54
|
+
v-model="mv"
|
|
55
|
+
:disabled="disabled"
|
|
56
|
+
:true-label="trueLabel"
|
|
57
|
+
:false-label="falseLabel"
|
|
58
|
+
:border="border"
|
|
59
|
+
:size="size"
|
|
60
|
+
:name="name"
|
|
61
|
+
:checked="checked"
|
|
62
|
+
:indeterminate="indeterminate"
|
|
63
|
+
:validate-event="validateEvent"
|
|
64
|
+
:label="label"
|
|
65
|
+
@change="onChange"
|
|
66
|
+
>
|
|
67
|
+
<slot></slot>
|
|
68
|
+
</el-checkbox>
|
|
69
|
+
</template>
|
|
70
|
+
|
|
71
|
+
<style scoped lang="scss">
|
|
72
|
+
|
|
73
|
+
</style>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {type SFCWithInstall, withInstall} from "../../utils/install";
|
|
2
|
-
import Checkbox
|
|
3
|
-
from "./JaCheckbox.vue";
|
|
4
|
-
export const JaCheckbox:SFCWithInstall<typeof Checkbox> = withInstall(Checkbox);
|
|
1
|
+
import {type SFCWithInstall, withInstall} from "../../utils/install";
|
|
2
|
+
import Checkbox
|
|
3
|
+
from "./JaCheckbox.vue";
|
|
4
|
+
export const JaCheckbox:SFCWithInstall<typeof Checkbox> = withInstall(Checkbox);
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import type {ValidationInstance} from '../../hooks/useBackendValidations'
|
|
3
|
-
import {inject, ref, watch} from "vue";
|
|
4
|
-
import {type CheckboxGroupValueType, ElCheckboxGroup} from "element-plus";
|
|
5
|
-
import {getValue, setValue} from "../../utils/objectUtils";
|
|
6
|
-
|
|
7
|
-
const input = ref<typeof ElCheckboxGroup>({} as typeof ElCheckboxGroup)
|
|
8
|
-
const model = inject('aceFormModel') as Record<string, never>
|
|
9
|
-
const prop = inject('aceFormItemProp') as string
|
|
10
|
-
const validator = inject('aceFormValidator') as ValidationInstance
|
|
11
|
-
const emit = defineEmits<{
|
|
12
|
-
change: [value: CheckboxGroupValueType]
|
|
13
|
-
}>()
|
|
14
|
-
|
|
15
|
-
function onChange(val: CheckboxGroupValueType) {
|
|
16
|
-
validator.removeFieldError(prop)
|
|
17
|
-
setValue(model.formData, prop, mv.value);
|
|
18
|
-
emit('change', val)
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
const mv = ref(getValue(model.formData, prop) as CheckboxGroupValueType);
|
|
22
|
-
watch(() => model.formData, () => {
|
|
23
|
-
mv.value = getValue(model.formData, prop) as CheckboxGroupValueType
|
|
24
|
-
}, {
|
|
25
|
-
deep: true
|
|
26
|
-
})
|
|
27
|
-
|
|
28
|
-
defineExpose({
|
|
29
|
-
focus: () => input.value.focus(),
|
|
30
|
-
blur: () => input.value.blur(),
|
|
31
|
-
elCheckboxGroup: input
|
|
32
|
-
})
|
|
33
|
-
</script>
|
|
34
|
-
|
|
35
|
-
<template>
|
|
36
|
-
<el-checkbox-group
|
|
37
|
-
ref="input"
|
|
38
|
-
v-model="mv"
|
|
39
|
-
@change="onChange"
|
|
40
|
-
v-bind="$attrs">
|
|
41
|
-
<template v-for="(_, name) in $slots" v-slot:[name]>
|
|
42
|
-
<slot :name="name"></slot>
|
|
43
|
-
</template>
|
|
44
|
-
</el-checkbox-group>
|
|
45
|
-
</template>
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import type {ValidationInstance} from '../../hooks/useBackendValidations'
|
|
3
|
+
import {inject, ref, watch} from "vue";
|
|
4
|
+
import {type CheckboxGroupValueType, ElCheckboxGroup} from "element-plus";
|
|
5
|
+
import {getValue, setValue} from "../../utils/objectUtils";
|
|
6
|
+
|
|
7
|
+
const input = ref<typeof ElCheckboxGroup>({} as typeof ElCheckboxGroup)
|
|
8
|
+
const model = inject('aceFormModel') as Record<string, never>
|
|
9
|
+
const prop = inject('aceFormItemProp') as string
|
|
10
|
+
const validator = inject('aceFormValidator') as ValidationInstance
|
|
11
|
+
const emit = defineEmits<{
|
|
12
|
+
change: [value: CheckboxGroupValueType]
|
|
13
|
+
}>()
|
|
14
|
+
|
|
15
|
+
function onChange(val: CheckboxGroupValueType) {
|
|
16
|
+
validator.removeFieldError(prop)
|
|
17
|
+
setValue(model.formData, prop, mv.value);
|
|
18
|
+
emit('change', val)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const mv = ref(getValue(model.formData, prop) as CheckboxGroupValueType);
|
|
22
|
+
watch(() => model.formData, () => {
|
|
23
|
+
mv.value = getValue(model.formData, prop) as CheckboxGroupValueType
|
|
24
|
+
}, {
|
|
25
|
+
deep: true
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
defineExpose({
|
|
29
|
+
focus: () => input.value.focus(),
|
|
30
|
+
blur: () => input.value.blur(),
|
|
31
|
+
elCheckboxGroup: input
|
|
32
|
+
})
|
|
33
|
+
</script>
|
|
34
|
+
|
|
35
|
+
<template>
|
|
36
|
+
<el-checkbox-group
|
|
37
|
+
ref="input"
|
|
38
|
+
v-model="mv"
|
|
39
|
+
@change="onChange"
|
|
40
|
+
v-bind="$attrs">
|
|
41
|
+
<template v-for="(_, name) in $slots" v-slot:[name]>
|
|
42
|
+
<slot :name="name"></slot>
|
|
43
|
+
</template>
|
|
44
|
+
</el-checkbox-group>
|
|
45
|
+
</template>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {type SFCWithInstall, withInstall} from "../../utils/install";
|
|
2
|
-
import RadioGroup from "./JaCheckboxGroup.vue";
|
|
3
|
-
|
|
4
|
-
export const JaCheckboxGroup: SFCWithInstall<typeof RadioGroup> = withInstall(RadioGroup);
|
|
1
|
+
import {type SFCWithInstall, withInstall} from "../../utils/install";
|
|
2
|
+
import RadioGroup from "./JaCheckboxGroup.vue";
|
|
3
|
+
|
|
4
|
+
export const JaCheckboxGroup: SFCWithInstall<typeof RadioGroup> = withInstall(RadioGroup);
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {type SFCWithInstall, withInstall} from "../../utils/install";
|
|
2
|
-
import CustomGroupTree from "./src/customGroupTree.vue";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* 可单选的部门树组件
|
|
7
|
-
*/
|
|
8
|
-
export const JaCustomGroupTree: SFCWithInstall<typeof CustomGroupTree> = withInstall(CustomGroupTree);
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
import {type SFCWithInstall, withInstall} from "../../utils/install";
|
|
2
|
+
import CustomGroupTree from "./src/customGroupTree.vue";
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* 可单选的部门树组件
|
|
7
|
+
*/
|
|
8
|
+
export const JaCustomGroupTree: SFCWithInstall<typeof CustomGroupTree> = withInstall(CustomGroupTree);
|
|
9
|
+
|
|
10
|
+
|