mirror of
https://github.com/vbenjs/vue-vben-admin.git
synced 2025-02-02 18:28:40 +08:00
chore: format code
This commit is contained in:
parent
2884e863ce
commit
56a966cfbf
2
.vscode/launch.json
vendored
2
.vscode/launch.json
vendored
@ -8,6 +8,6 @@
|
|||||||
"url": "http://localhost:3100",
|
"url": "http://localhost:3100",
|
||||||
"webRoot": "${workspaceFolder}/src",
|
"webRoot": "${workspaceFolder}/src",
|
||||||
"sourceMaps": true
|
"sourceMaps": true
|
||||||
},
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -150,7 +150,7 @@ yarn build
|
|||||||
## 后台整合示例
|
## 后台整合示例
|
||||||
|
|
||||||
- [lamp-cloud](https://github.com/zuihou/lamp-cloud) - 基于 SpringCloud Alibaba 的微服务中后台快速开发平台
|
- [lamp-cloud](https://github.com/zuihou/lamp-cloud) - 基于 SpringCloud Alibaba 的微服务中后台快速开发平台
|
||||||
- [matecloud](https://github.com/matevip/matecloud) - MateCloud微服务脚手架,基于Spring Cloud 2020.0.3、SpringBoot 2.5.3的全开源平台
|
- [matecloud](https://github.com/matevip/matecloud) - MateCloud 微服务脚手架,基于 Spring Cloud 2020.0.3、SpringBoot 2.5.3 的全开源平台
|
||||||
|
|
||||||
## 维护者
|
## 维护者
|
||||||
|
|
||||||
|
@ -52,19 +52,19 @@ async function generateIcon() {
|
|||||||
const { prefix } = data;
|
const { prefix } = data;
|
||||||
const isLocal = useType === 'local';
|
const isLocal = useType === 'local';
|
||||||
const icons = Object.keys(data.icons).map(
|
const icons = Object.keys(data.icons).map(
|
||||||
(item) => `${isLocal ? prefix + ':' : ''}${item}`
|
(item) => `${isLocal ? prefix + ':' : ''}${item}`,
|
||||||
);
|
);
|
||||||
|
|
||||||
await fs.writeFileSync(
|
await fs.writeFileSync(
|
||||||
path.join(output, `icons.data.ts`),
|
path.join(output, `icons.data.ts`),
|
||||||
`export default ${isLocal ? JSON.stringify(icons) : JSON.stringify({ prefix, icons })}`
|
`export default ${isLocal ? JSON.stringify(icons) : JSON.stringify({ prefix, icons })}`,
|
||||||
);
|
);
|
||||||
prefixSet.push(prefix);
|
prefixSet.push(prefix);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fs.emptyDir(path.join(process.cwd(), 'node_modules/.vite'));
|
fs.emptyDir(path.join(process.cwd(), 'node_modules/.vite'));
|
||||||
console.log(
|
console.log(
|
||||||
`✨ ${chalk.cyan(`[${pkg.name}]`)}` + ' - Icon generated successfully:' + `[${prefixSet}]`
|
`✨ ${chalk.cyan(`[${pkg.name}]`)}` + ' - Icon generated successfully:' + `[${prefixSet}]`,
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@ function createConfig(
|
|||||||
configName,
|
configName,
|
||||||
config,
|
config,
|
||||||
configFileName = GLOB_CONFIG_FILE_NAME,
|
configFileName = GLOB_CONFIG_FILE_NAME,
|
||||||
}: { configName: string; config: any; configFileName?: string } = { configName: '', config: {} }
|
}: { configName: string; config: any; configFileName?: string } = { configName: '', config: {} },
|
||||||
) {
|
) {
|
||||||
try {
|
try {
|
||||||
const windowConf = `window.${configName}`;
|
const windowConf = `window.${configName}`;
|
||||||
|
@ -7,7 +7,7 @@ import compressPlugin from 'vite-plugin-compression';
|
|||||||
|
|
||||||
export function configCompressPlugin(
|
export function configCompressPlugin(
|
||||||
compress: 'gzip' | 'brotli' | 'none',
|
compress: 'gzip' | 'brotli' | 'none',
|
||||||
deleteOriginFile = false
|
deleteOriginFile = false,
|
||||||
): Plugin | Plugin[] {
|
): Plugin | Plugin[] {
|
||||||
const compressList = compress.split(',');
|
const compressList = compress.split(',');
|
||||||
|
|
||||||
@ -18,7 +18,7 @@ export function configCompressPlugin(
|
|||||||
compressPlugin({
|
compressPlugin({
|
||||||
ext: '.gz',
|
ext: '.gz',
|
||||||
deleteOriginFile,
|
deleteOriginFile,
|
||||||
})
|
}),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -28,7 +28,7 @@ export function configCompressPlugin(
|
|||||||
ext: '.br',
|
ext: '.br',
|
||||||
algorithm: 'brotliCompress',
|
algorithm: 'brotliCompress',
|
||||||
deleteOriginFile,
|
deleteOriginFile,
|
||||||
})
|
}),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return plugins;
|
return plugins;
|
||||||
|
@ -68,7 +68,7 @@ export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) {
|
|||||||
|
|
||||||
// rollup-plugin-gzip
|
// rollup-plugin-gzip
|
||||||
vitePlugins.push(
|
vitePlugins.push(
|
||||||
configCompressPlugin(VITE_BUILD_COMPRESS, VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE)
|
configCompressPlugin(VITE_BUILD_COMPRESS, VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE),
|
||||||
);
|
);
|
||||||
|
|
||||||
// vite-plugin-pwa
|
// vite-plugin-pwa
|
||||||
|
@ -13,7 +13,7 @@ export function resultPageSuccess<T = any>(
|
|||||||
page: number,
|
page: number,
|
||||||
pageSize: number,
|
pageSize: number,
|
||||||
list: T[],
|
list: T[],
|
||||||
{ message = 'ok' } = {}
|
{ message = 'ok' } = {},
|
||||||
) {
|
) {
|
||||||
const pageData = pagination(page, pageSize, list);
|
const pageData = pagination(page, pageSize, list);
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ export default [
|
|||||||
response: ({ body }) => {
|
response: ({ body }) => {
|
||||||
const { username, password } = body;
|
const { username, password } = body;
|
||||||
const checkUser = createFakeUserList().find(
|
const checkUser = createFakeUserList().find(
|
||||||
(item) => item.username === username && password === item.password
|
(item) => item.username === username && password === item.password,
|
||||||
);
|
);
|
||||||
if (!checkUser) {
|
if (!checkUser) {
|
||||||
return resultError('Incorrect account or password!');
|
return resultError('Incorrect account or password!');
|
||||||
|
@ -7,7 +7,7 @@ module.exports = {
|
|||||||
singleQuote: true,
|
singleQuote: true,
|
||||||
quoteProps: 'as-needed',
|
quoteProps: 'as-needed',
|
||||||
bracketSpacing: true,
|
bracketSpacing: true,
|
||||||
trailingComma: 'es5',
|
trailingComma: 'all',
|
||||||
jsxBracketSameLine: false,
|
jsxBracketSameLine: false,
|
||||||
jsxSingleQuote: false,
|
jsxSingleQuote: false,
|
||||||
arrowParens: 'always',
|
arrowParens: 'always',
|
||||||
@ -16,5 +16,4 @@ module.exports = {
|
|||||||
proseWrap: 'never',
|
proseWrap: 'never',
|
||||||
htmlWhitespaceSensitivity: 'strict',
|
htmlWhitespaceSensitivity: 'strict',
|
||||||
endOfLine: 'auto',
|
endOfLine: 'auto',
|
||||||
rangeStart: 0,
|
|
||||||
};
|
};
|
||||||
|
@ -15,5 +15,6 @@
|
|||||||
// support Multi-language
|
// support Multi-language
|
||||||
const { getAntdLocale } = useLocale();
|
const { getAntdLocale } = useLocale();
|
||||||
|
|
||||||
|
// Listening to page changes and dynamically changing site titles
|
||||||
useTitle();
|
useTitle();
|
||||||
</script>
|
</script>
|
||||||
|
@ -10,13 +10,13 @@ const { uploadUrl = '' } = useGlobSetting();
|
|||||||
*/
|
*/
|
||||||
export function uploadApi(
|
export function uploadApi(
|
||||||
params: UploadFileParams,
|
params: UploadFileParams,
|
||||||
onUploadProgress: (progressEvent: ProgressEvent) => void
|
onUploadProgress: (progressEvent: ProgressEvent) => void,
|
||||||
) {
|
) {
|
||||||
return defHttp.uploadFile<UploadApiResult>(
|
return defHttp.uploadFile<UploadApiResult>(
|
||||||
{
|
{
|
||||||
url: uploadUrl,
|
url: uploadUrl,
|
||||||
onUploadProgress,
|
onUploadProgress,
|
||||||
},
|
},
|
||||||
params
|
params,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ export function loginApi(params: LoginParams, mode: ErrorMessageMode = 'modal')
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
errorMessageMode: mode,
|
errorMessageMode: mode,
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div v-if="getShowDarkModeToggle" :class="getClass" @click="toggleDarkMode">
|
<div v-if="getShowDarkModeToggle" :class="getClass" @click="toggleDarkMode">
|
||||||
<div :class="`${prefixCls}-inner`"> </div>
|
<div :class="`${prefixCls}-inner`"></div>
|
||||||
<SvgIcon size="14" name="sun" />
|
<SvgIcon size="14" name="sun" />
|
||||||
<SvgIcon size="14" name="moon" />
|
<SvgIcon size="14" name="moon" />
|
||||||
</div>
|
</div>
|
||||||
|
@ -105,7 +105,7 @@
|
|||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
unref(inputRef)?.focus();
|
unref(inputRef)?.focus();
|
||||||
});
|
});
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
function handleClose() {
|
function handleClose() {
|
||||||
|
@ -47,7 +47,7 @@
|
|||||||
const { prefixCls } = useDesign('basic-help');
|
const { prefixCls } = useDesign('basic-help');
|
||||||
|
|
||||||
const getTooltipStyle = computed(
|
const getTooltipStyle = computed(
|
||||||
(): CSSProperties => ({ color: props.color, fontSize: props.fontSize })
|
(): CSSProperties => ({ color: props.color, fontSize: props.fontSize }),
|
||||||
);
|
);
|
||||||
|
|
||||||
const getOverlayStyle = computed((): CSSProperties => ({ maxWidth: props.maxWidth }));
|
const getOverlayStyle = computed((): CSSProperties => ({ maxWidth: props.maxWidth }));
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
okText: t('common.okText'),
|
okText: t('common.okText'),
|
||||||
cancelText: t('common.cancelText'),
|
cancelText: t('common.cancelText'),
|
||||||
},
|
},
|
||||||
{ ...props, ...unref(attrs) }
|
{ ...props, ...unref(attrs) },
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="relative !h-full w-full overflow-hidden" ref="el"> </div>
|
<div class="relative !h-full w-full overflow-hidden" ref="el"></div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
@ -40,7 +40,7 @@
|
|||||||
editor?.setValue(value ? value : '');
|
editor?.setValue(value ? value : '');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ flush: 'post' }
|
{ flush: 'post' },
|
||||||
);
|
);
|
||||||
|
|
||||||
watchEffect(() => {
|
watchEffect(() => {
|
||||||
@ -54,13 +54,13 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
immediate: true,
|
immediate: true,
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
function setTheme() {
|
function setTheme() {
|
||||||
unref(editor)?.setOption(
|
unref(editor)?.setOption(
|
||||||
'theme',
|
'theme',
|
||||||
appStore.getDarkMode === 'light' ? 'idea' : 'material-palenight'
|
appStore.getDarkMode === 'light' ? 'idea' : 'material-palenight',
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -77,7 +77,7 @@
|
|||||||
const getStyle = computed((): CSSProperties => ({ width: unref(getWidth) }));
|
const getStyle = computed((): CSSProperties => ({ width: unref(getWidth) }));
|
||||||
|
|
||||||
const getImageWrapperStyle = computed(
|
const getImageWrapperStyle = computed(
|
||||||
(): CSSProperties => ({ width: unref(getWidth), height: unref(getWidth) })
|
(): CSSProperties => ({ width: unref(getWidth), height: unref(getWidth) }),
|
||||||
);
|
);
|
||||||
|
|
||||||
watchEffect(() => {
|
watchEffect(() => {
|
||||||
@ -88,7 +88,7 @@
|
|||||||
() => sourceValue.value,
|
() => sourceValue.value,
|
||||||
(v: string) => {
|
(v: string) => {
|
||||||
emit('update:value', v);
|
emit('update:value', v);
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
function handleUploadSuccess({ source }) {
|
function handleUploadSuccess({ source }) {
|
||||||
|
@ -14,7 +14,7 @@ export interface DescItem {
|
|||||||
// render
|
// render
|
||||||
render?: (
|
render?: (
|
||||||
val: any,
|
val: any,
|
||||||
data: Recordable
|
data: Recordable,
|
||||||
) => VNode | undefined | JSX.Element | Element | string | number;
|
) => VNode | undefined | JSX.Element | Element | string | number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -139,7 +139,7 @@
|
|||||||
(newVal, oldVal) => {
|
(newVal, oldVal) => {
|
||||||
if (newVal !== oldVal) visibleRef.value = newVal;
|
if (newVal !== oldVal) visibleRef.value = newVal;
|
||||||
},
|
},
|
||||||
{ deep: true }
|
{ deep: true },
|
||||||
);
|
);
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
@ -149,7 +149,7 @@
|
|||||||
emit('visible-change', visible);
|
emit('visible-change', visible);
|
||||||
instance && drawerInstance.emitVisible?.(visible, instance.uid);
|
instance && drawerInstance.emitVisible?.(visible, instance.uid);
|
||||||
});
|
});
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
// Cancel event
|
// Cancel event
|
||||||
|
@ -79,7 +79,7 @@
|
|||||||
() => props.data,
|
() => props.data,
|
||||||
() => {
|
() => {
|
||||||
onRender();
|
onRender();
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
// TODO
|
// TODO
|
||||||
@ -94,7 +94,7 @@
|
|||||||
() => unref(getFlowOptions),
|
() => unref(getFlowOptions),
|
||||||
(options) => {
|
(options) => {
|
||||||
unref(lfInstance)?.updateEditConfig(options);
|
unref(lfInstance)?.updateEditConfig(options);
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
// init logicFlow
|
// init logicFlow
|
||||||
|
@ -110,7 +110,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
const getBindValue = computed(
|
const getBindValue = computed(
|
||||||
() => ({ ...attrs, ...props, ...unref(getProps) } as Recordable)
|
() => ({ ...attrs, ...props, ...unref(getProps) } as Recordable),
|
||||||
);
|
);
|
||||||
|
|
||||||
const getSchema = computed((): FormSchema[] => {
|
const getSchema = computed((): FormSchema[] => {
|
||||||
@ -198,14 +198,14 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
immediate: true,
|
immediate: true,
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
() => unref(getProps).schemas,
|
() => unref(getProps).schemas,
|
||||||
(schemas) => {
|
(schemas) => {
|
||||||
resetSchema(schemas ?? []);
|
resetSchema(schemas ?? []);
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
@ -222,7 +222,7 @@
|
|||||||
initDefault();
|
initDefault();
|
||||||
isInitedDefaultRef.value = true;
|
isInitedDefaultRef.value = true;
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
async function setProps(formProps: Partial<FormProps>): Promise<void> {
|
async function setProps(formProps: Partial<FormProps>): Promise<void> {
|
||||||
@ -284,7 +284,7 @@
|
|||||||
setFormModel,
|
setFormModel,
|
||||||
getFormClass,
|
getFormClass,
|
||||||
getFormActionBindProps: computed(
|
getFormActionBindProps: computed(
|
||||||
(): Recordable => ({ ...getProps.value, ...advanceState })
|
(): Recordable => ({ ...getProps.value, ...advanceState }),
|
||||||
),
|
),
|
||||||
...formActionType,
|
...formActionType,
|
||||||
};
|
};
|
||||||
|
@ -100,7 +100,7 @@
|
|||||||
() => {
|
() => {
|
||||||
!unref(isFirstLoad) && fetch();
|
!unref(isFirstLoad) && fetch();
|
||||||
},
|
},
|
||||||
{ deep: true }
|
{ deep: true },
|
||||||
);
|
);
|
||||||
|
|
||||||
async function fetch() {
|
async function fetch() {
|
||||||
|
@ -46,14 +46,14 @@
|
|||||||
() => {
|
() => {
|
||||||
isFirstLoaded.value && fetch();
|
isFirstLoaded.value && fetch();
|
||||||
},
|
},
|
||||||
{ deep: true }
|
{ deep: true },
|
||||||
);
|
);
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
() => props.immediate,
|
() => props.immediate,
|
||||||
(v) => {
|
(v) => {
|
||||||
v && !isFirstLoaded.value && fetch();
|
v && !isFirstLoaded.value && fetch();
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
|
@ -105,7 +105,7 @@
|
|||||||
{
|
{
|
||||||
text: t('common.resetText'),
|
text: t('common.resetText'),
|
||||||
},
|
},
|
||||||
props.resetButtonOptions
|
props.resetButtonOptions,
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -114,7 +114,7 @@
|
|||||||
{
|
{
|
||||||
text: t('common.queryText'),
|
text: t('common.queryText'),
|
||||||
},
|
},
|
||||||
props.submitButtonOptions
|
props.submitButtonOptions,
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -183,7 +183,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
const requiredRuleIndex: number = rules.findIndex(
|
const requiredRuleIndex: number = rules.findIndex(
|
||||||
(rule) => Reflect.has(rule, 'required') && !Reflect.has(rule, 'validator')
|
(rule) => Reflect.has(rule, 'required') && !Reflect.has(rule, 'validator'),
|
||||||
);
|
);
|
||||||
|
|
||||||
if (requiredRuleIndex !== -1) {
|
if (requiredRuleIndex !== -1) {
|
||||||
|
@ -38,7 +38,7 @@ function genType() {
|
|||||||
export function setComponentRuleType(
|
export function setComponentRuleType(
|
||||||
rule: ValidationRule,
|
rule: ValidationRule,
|
||||||
component: ComponentType,
|
component: ComponentType,
|
||||||
valueFormat: string
|
valueFormat: string,
|
||||||
) {
|
) {
|
||||||
if (['DatePicker', 'MonthPicker', 'WeekPicker', 'TimePicker'].includes(component)) {
|
if (['DatePicker', 'MonthPicker', 'WeekPicker', 'TimePicker'].includes(component)) {
|
||||||
rule.type = valueFormat ? 'string' : 'object';
|
rule.type = valueFormat ? 'string' : 'object';
|
||||||
|
@ -58,7 +58,7 @@ export default function ({
|
|||||||
debounceUpdateAdvanced();
|
debounceUpdateAdvanced();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ immediate: true }
|
{ immediate: true },
|
||||||
);
|
);
|
||||||
|
|
||||||
function getAdvanced(itemCol: Partial<ColEx>, itemColSum = 0, isLastAction = false) {
|
function getAdvanced(itemCol: Partial<ColEx>, itemColSum = 0, isLastAction = false) {
|
||||||
@ -139,7 +139,7 @@ export default function ({
|
|||||||
if (isShow && (colProps || baseColProps)) {
|
if (isShow && (colProps || baseColProps)) {
|
||||||
const { itemColSum: sum, isAdvanced } = getAdvanced(
|
const { itemColSum: sum, isAdvanced } = getAdvanced(
|
||||||
{ ...baseColProps, ...colProps },
|
{ ...baseColProps, ...colProps },
|
||||||
itemColSum
|
itemColSum,
|
||||||
);
|
);
|
||||||
|
|
||||||
itemColSum = sum || 0;
|
itemColSum = sum || 0;
|
||||||
|
@ -18,7 +18,7 @@ export function useForm(props?: Props): UseFormReturnType {
|
|||||||
const form = unref(formRef);
|
const form = unref(formRef);
|
||||||
if (!form) {
|
if (!form) {
|
||||||
error(
|
error(
|
||||||
'The form instance has not been obtained, please make sure that the form has been rendered when performing the form operation!'
|
'The form instance has not been obtained, please make sure that the form has been rendered when performing the form operation!',
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
await nextTick();
|
await nextTick();
|
||||||
@ -44,7 +44,7 @@ export function useForm(props?: Props): UseFormReturnType {
|
|||||||
{
|
{
|
||||||
immediate: true,
|
immediate: true,
|
||||||
deep: true,
|
deep: true,
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -96,7 +96,7 @@ export function useForm(props?: Props): UseFormReturnType {
|
|||||||
appendSchemaByField: async (
|
appendSchemaByField: async (
|
||||||
schema: FormSchema,
|
schema: FormSchema,
|
||||||
prefixField: string | undefined,
|
prefixField: string | undefined,
|
||||||
first: boolean
|
first: boolean,
|
||||||
) => {
|
) => {
|
||||||
const form = await getForm();
|
const form = await getForm();
|
||||||
form.appendSchemaByField(schema, prefixField, first);
|
form.appendSchemaByField(schema, prefixField, first);
|
||||||
|
@ -150,12 +150,12 @@ export function useFormEvents({
|
|||||||
}
|
}
|
||||||
|
|
||||||
const hasField = updateData.every(
|
const hasField = updateData.every(
|
||||||
(item) => item.component === 'Divider' || (Reflect.has(item, 'field') && item.field)
|
(item) => item.component === 'Divider' || (Reflect.has(item, 'field') && item.field),
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!hasField) {
|
if (!hasField) {
|
||||||
error(
|
error(
|
||||||
'All children of the form Schema array that need to be updated must contain the `field` field'
|
'All children of the form Schema array that need to be updated must contain the `field` field',
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -172,12 +172,12 @@ export function useFormEvents({
|
|||||||
}
|
}
|
||||||
|
|
||||||
const hasField = updateData.every(
|
const hasField = updateData.every(
|
||||||
(item) => item.component === 'Divider' || (Reflect.has(item, 'field') && item.field)
|
(item) => item.component === 'Divider' || (Reflect.has(item, 'field') && item.field),
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!hasField) {
|
if (!hasField) {
|
||||||
error(
|
error(
|
||||||
'All children of the form Schema array that need to be updated must contain the `field` field'
|
'All children of the form Schema array that need to be updated must contain the `field` field',
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,7 @@ export interface FormActionType {
|
|||||||
appendSchemaByField: (
|
appendSchemaByField: (
|
||||||
schema: FormSchema,
|
schema: FormSchema,
|
||||||
prefixField: string | undefined,
|
prefixField: string | undefined,
|
||||||
first?: boolean | undefined
|
first?: boolean | undefined,
|
||||||
) => Promise<void>;
|
) => Promise<void>;
|
||||||
validateFields: (nameList?: NamePath[]) => Promise<any>;
|
validateFields: (nameList?: NamePath[]) => Promise<any>;
|
||||||
validate: (nameList?: NamePath[]) => Promise<any>;
|
validate: (nameList?: NamePath[]) => Promise<any>;
|
||||||
|
@ -63,7 +63,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<template v-else
|
<template v-else
|
||||||
><div class="p-5"> <Empty /></div>
|
><div class="p-5"><Empty /></div>
|
||||||
</template>
|
</template>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -139,7 +139,7 @@
|
|||||||
|
|
||||||
const { getPaginationList, getTotal, setCurrentPage } = usePagination(
|
const { getPaginationList, getTotal, setCurrentPage } = usePagination(
|
||||||
currentList,
|
currentList,
|
||||||
props.pageSize
|
props.pageSize,
|
||||||
);
|
);
|
||||||
|
|
||||||
watchEffect(() => {
|
watchEffect(() => {
|
||||||
@ -151,7 +151,7 @@
|
|||||||
(v) => {
|
(v) => {
|
||||||
emit('update:value', v);
|
emit('update:value', v);
|
||||||
return emit('change', v);
|
return emit('change', v);
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
function handlePageChange(page: number) {
|
function handlePageChange(page: number) {
|
||||||
|
@ -16,7 +16,7 @@ export function useLoading(props: Partial<LoadingProps>): [Fn, Fn, (string) => v
|
|||||||
export function useLoading(opt: Partial<UseLoadingOptions>): [Fn, Fn, (string) => void];
|
export function useLoading(opt: Partial<UseLoadingOptions>): [Fn, Fn, (string) => void];
|
||||||
|
|
||||||
export function useLoading(
|
export function useLoading(
|
||||||
opt: Partial<LoadingProps> | Partial<UseLoadingOptions>
|
opt: Partial<LoadingProps> | Partial<UseLoadingOptions>,
|
||||||
): [Fn, Fn, (string) => void] {
|
): [Fn, Fn, (string) => void] {
|
||||||
let props: Partial<LoadingProps>;
|
let props: Partial<LoadingProps>;
|
||||||
let target: HTMLElement | Ref<ElRef> = document.body;
|
let target: HTMLElement | Ref<ElRef> = document.body;
|
||||||
|
@ -52,7 +52,7 @@
|
|||||||
{
|
{
|
||||||
immediate: true,
|
immediate: true,
|
||||||
flush: 'post',
|
flush: 'post',
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
@ -62,7 +62,7 @@
|
|||||||
instance.getVditor()?.setValue(v);
|
instance.getVditor()?.setValue(v);
|
||||||
}
|
}
|
||||||
valueRef.value = v;
|
valueRef.value = v;
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
const getCurrentLang = computed((): 'zh_CN' | 'en_US' | 'ja_JP' | 'ko_KR' => {
|
const getCurrentLang = computed((): 'zh_CN' | 'en_US' | 'ja_JP' | 'ko_KR' => {
|
||||||
|
@ -64,7 +64,7 @@
|
|||||||
menuState,
|
menuState,
|
||||||
items,
|
items,
|
||||||
mode as any,
|
mode as any,
|
||||||
accordion
|
accordion,
|
||||||
);
|
);
|
||||||
|
|
||||||
const getIsTopMenu = computed(() => {
|
const getIsTopMenu = computed(() => {
|
||||||
@ -114,7 +114,7 @@
|
|||||||
() => props.items,
|
() => props.items,
|
||||||
() => {
|
() => {
|
||||||
handleMenuChange();
|
handleMenuChange();
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
async function handleMenuClick({ key }: { key: string; keyPath: string[] }) {
|
async function handleMenuClick({ key }: { key: string; keyPath: string[] }) {
|
||||||
|
@ -14,7 +14,7 @@ export function useOpenKeys(
|
|||||||
menuState: MenuState,
|
menuState: MenuState,
|
||||||
menus: Ref<MenuType[]>,
|
menus: Ref<MenuType[]>,
|
||||||
mode: Ref<MenuModeEnum>,
|
mode: Ref<MenuModeEnum>,
|
||||||
accordion: Ref<boolean>
|
accordion: Ref<boolean>,
|
||||||
) {
|
) {
|
||||||
const { getCollapsed, getIsMixSidebar } = useMenuSetting();
|
const { getCollapsed, getIsMixSidebar } = useMenuSetting();
|
||||||
|
|
||||||
@ -37,7 +37,7 @@ export function useOpenKeys(
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
16,
|
16,
|
||||||
!native
|
!native,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -169,7 +169,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
immediate: false,
|
immediate: false,
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
// 取消事件
|
// 取消事件
|
||||||
|
@ -62,7 +62,7 @@
|
|||||||
{
|
{
|
||||||
attributes: true,
|
attributes: true,
|
||||||
subtree: true,
|
subtree: true,
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
createModalContext({
|
createModalContext({
|
||||||
@ -89,7 +89,7 @@
|
|||||||
} else {
|
} else {
|
||||||
minRealHeightRef.value = realHeightRef.value;
|
minRealHeightRef.value = realHeightRef.value;
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
|
@ -71,7 +71,7 @@
|
|||||||
|
|
||||||
provide(
|
provide(
|
||||||
PageWrapperFixedHeightKey,
|
PageWrapperFixedHeightKey,
|
||||||
computed(() => props.fixedHeight)
|
computed(() => props.fixedHeight),
|
||||||
);
|
);
|
||||||
|
|
||||||
const getIsContentFullHeight = computed(() => {
|
const getIsContentFullHeight = computed(() => {
|
||||||
@ -82,7 +82,7 @@
|
|||||||
getIsContentFullHeight,
|
getIsContentFullHeight,
|
||||||
wrapperRef,
|
wrapperRef,
|
||||||
[headerRef, footerRef],
|
[headerRef, footerRef],
|
||||||
[contentRef]
|
[contentRef],
|
||||||
);
|
);
|
||||||
setCompensation({ useLayoutFooter: true, elements: [footerRef] });
|
setCompensation({ useLayoutFooter: true, elements: [footerRef] });
|
||||||
|
|
||||||
@ -135,7 +135,7 @@
|
|||||||
{
|
{
|
||||||
flush: 'post',
|
flush: 'post',
|
||||||
immediate: true,
|
immediate: true,
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
@ -103,7 +103,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
deep: true,
|
deep: true,
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
return { wrapRef, download };
|
return { wrapRef, download };
|
||||||
|
@ -7,9 +7,9 @@ export const renderQrCode = ({
|
|||||||
canvas,
|
canvas,
|
||||||
content,
|
content,
|
||||||
width = 0,
|
width = 0,
|
||||||
options: params = {}
|
options: params = {},
|
||||||
}: RenderQrCodeParams) => {
|
}: RenderQrCodeParams) => {
|
||||||
const options = cloneDeep(params)
|
const options = cloneDeep(params);
|
||||||
// 容错率,默认对内容少的二维码采用高容错率,内容多的二维码采用低容错率
|
// 容错率,默认对内容少的二维码采用高容错率,内容多的二维码采用低容错率
|
||||||
options.errorCorrectionLevel = options.errorCorrectionLevel || getErrorCorrectionLevel(content);
|
options.errorCorrectionLevel = options.errorCorrectionLevel || getErrorCorrectionLevel(content);
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
const clickTrackHandler = (e: any) => {
|
const clickTrackHandler = (e: any) => {
|
||||||
const offset = Math.abs(
|
const offset = Math.abs(
|
||||||
e.target.getBoundingClientRect()[bar.value.direction] - e[bar.value.client]
|
e.target.getBoundingClientRect()[bar.value.direction] - e[bar.value.client],
|
||||||
);
|
);
|
||||||
const thumbHalf = thumb.value[bar.value.offset] / 2;
|
const thumbHalf = thumb.value[bar.value.offset] / 2;
|
||||||
const thumbPositionPercentage =
|
const thumbPositionPercentage =
|
||||||
@ -104,7 +104,7 @@ export default defineComponent({
|
|||||||
move: props.move,
|
move: props.move,
|
||||||
bar: bar.value,
|
bar: bar.value,
|
||||||
}),
|
}),
|
||||||
})
|
}),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
@ -75,7 +75,7 @@
|
|||||||
items,
|
items,
|
||||||
accordion,
|
accordion,
|
||||||
mixSider,
|
mixSider,
|
||||||
collapse
|
collapse,
|
||||||
);
|
);
|
||||||
|
|
||||||
const getBindValues = computed(() => ({ ...attrs, ...props }));
|
const getBindValues = computed(() => ({ ...attrs, ...props }));
|
||||||
@ -89,7 +89,7 @@
|
|||||||
setOpenKeys(currentRoute.value.path);
|
setOpenKeys(currentRoute.value.path);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ immediate: true }
|
{ immediate: true },
|
||||||
);
|
);
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
@ -100,7 +100,7 @@
|
|||||||
}
|
}
|
||||||
setOpenKeys(currentRoute.value.path);
|
setOpenKeys(currentRoute.value.path);
|
||||||
},
|
},
|
||||||
{ flush: 'post' }
|
{ flush: 'post' },
|
||||||
);
|
);
|
||||||
|
|
||||||
listenerRouteChange((route) => {
|
listenerRouteChange((route) => {
|
||||||
|
@ -87,7 +87,7 @@
|
|||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
updateOpened();
|
updateOpened();
|
||||||
});
|
});
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
function updateOpened() {
|
function updateOpened() {
|
||||||
|
@ -98,7 +98,7 @@
|
|||||||
active.value = false;
|
active.value = false;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ immediate: true }
|
{ immediate: true },
|
||||||
);
|
);
|
||||||
|
|
||||||
return { getClass, prefixCls, getItemStyle, getCollapse, handleClickItem, showTooptip };
|
return { getClass, prefixCls, getItemStyle, getCollapse, handleClickItem, showTooptip };
|
||||||
|
@ -286,7 +286,7 @@
|
|||||||
if (props.name && Array.isArray(data)) {
|
if (props.name && Array.isArray(data)) {
|
||||||
state.opened = (data as (string | number)[]).includes(props.name);
|
state.opened = (data as (string | number)[]).includes(props.name);
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
rootMenuEmitter.on('on-update-active-name:submenu', (data: number[]) => {
|
rootMenuEmitter.on('on-update-active-name:submenu', (data: number[]) => {
|
||||||
|
@ -15,7 +15,7 @@ export function useOpenKeys(
|
|||||||
menus: Ref<MenuType[]>,
|
menus: Ref<MenuType[]>,
|
||||||
accordion: Ref<boolean>,
|
accordion: Ref<boolean>,
|
||||||
mixSider: Ref<boolean>,
|
mixSider: Ref<boolean>,
|
||||||
collapse: Ref<boolean>
|
collapse: Ref<boolean>,
|
||||||
) {
|
) {
|
||||||
const debounceSetOpenKeys = useDebounceFn(setOpenKeys, 50);
|
const debounceSetOpenKeys = useDebounceFn(setOpenKeys, 50);
|
||||||
async function setOpenKeys(path: string) {
|
async function setOpenKeys(path: string) {
|
||||||
@ -38,7 +38,7 @@ export function useOpenKeys(
|
|||||||
menuState.activeSubMenuNames = menuState.openNames;
|
menuState.activeSubMenuNames = menuState.openNames;
|
||||||
},
|
},
|
||||||
30,
|
30,
|
||||||
native
|
native,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@
|
|||||||
() => unref(innerValueRef),
|
() => unref(innerValueRef),
|
||||||
(val) => {
|
(val) => {
|
||||||
emit('change', val);
|
emit('change', val);
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
@ -111,7 +111,7 @@
|
|||||||
unref(isFixedHeightPage) &&
|
unref(isFixedHeightPage) &&
|
||||||
props.canResize &&
|
props.canResize &&
|
||||||
warn(
|
warn(
|
||||||
"'canResize' of BasicTable may not work in PageWrapper with 'fixedHeight' (especially in hot updates)"
|
"'canResize' of BasicTable may not work in PageWrapper with 'fixedHeight' (especially in hot updates)",
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -157,7 +157,7 @@
|
|||||||
getFieldsValue: formActions.getFieldsValue,
|
getFieldsValue: formActions.getFieldsValue,
|
||||||
clearSelectedRowKeys,
|
clearSelectedRowKeys,
|
||||||
},
|
},
|
||||||
emit
|
emit,
|
||||||
);
|
);
|
||||||
|
|
||||||
function handleTableChange(...args) {
|
function handleTableChange(...args) {
|
||||||
@ -182,7 +182,7 @@
|
|||||||
tableElRef,
|
tableElRef,
|
||||||
getColumnsRef,
|
getColumnsRef,
|
||||||
getRowSelectionRef,
|
getRowSelectionRef,
|
||||||
getDataSourceRef
|
getDataSourceRef,
|
||||||
);
|
);
|
||||||
|
|
||||||
const { customRow } = useCustomRow(getProps, {
|
const { customRow } = useCustomRow(getProps, {
|
||||||
@ -211,7 +211,7 @@
|
|||||||
getProps,
|
getProps,
|
||||||
getScrollRef,
|
getScrollRef,
|
||||||
tableElRef,
|
tableElRef,
|
||||||
getDataSourceRef
|
getDataSourceRef,
|
||||||
);
|
);
|
||||||
|
|
||||||
const { getFormProps, replaceFormSlotKey, getFormSlotKeys, handleSearchInfoChange } =
|
const { getFormProps, replaceFormSlotKey, getFormSlotKeys, handleSearchInfoChange } =
|
||||||
|
@ -21,7 +21,7 @@ export const CellComponent: FunctionalComponent = (
|
|||||||
popoverVisible,
|
popoverVisible,
|
||||||
getPopupContainer,
|
getPopupContainer,
|
||||||
}: ComponentProps,
|
}: ComponentProps,
|
||||||
{ attrs }
|
{ attrs },
|
||||||
) => {
|
) => {
|
||||||
const Comp = componentMap.get(component) as typeof defineComponent;
|
const Comp = componentMap.get(component) as typeof defineComponent;
|
||||||
|
|
||||||
@ -39,6 +39,6 @@ export const CellComponent: FunctionalComponent = (
|
|||||||
{
|
{
|
||||||
default: () => DefaultComp,
|
default: () => DefaultComp,
|
||||||
content: () => ruleMessage,
|
content: () => ruleMessage,
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -5,9 +5,9 @@
|
|||||||
:class="{ [`${prefixCls}__normal`]: true, 'ellipsis-cell': column.ellipsis }"
|
:class="{ [`${prefixCls}__normal`]: true, 'ellipsis-cell': column.ellipsis }"
|
||||||
@click="handleEdit"
|
@click="handleEdit"
|
||||||
>
|
>
|
||||||
<div class="cell-content" :title="column.ellipsis ? getValues ?? '' : ''">{{
|
<div class="cell-content" :title="column.ellipsis ? getValues ?? '' : ''">
|
||||||
getValues ? getValues : ' '
|
{{ getValues ? getValues : ' ' }}
|
||||||
}}</div>
|
</div>
|
||||||
<FormOutlined :class="`${prefixCls}__normal-icon`" v-if="!column.editRow" />
|
<FormOutlined :class="`${prefixCls}__normal-icon`" v-if="!column.editRow" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -351,7 +351,7 @@
|
|||||||
const visible =
|
const visible =
|
||||||
columns.findIndex(
|
columns.findIndex(
|
||||||
(c: BasicColumn | string) =>
|
(c: BasicColumn | string) =>
|
||||||
c === col.value || (typeof c !== 'string' && c.dataIndex === col.value)
|
c === col.value || (typeof c !== 'string' && c.dataIndex === col.value),
|
||||||
) !== -1;
|
) !== -1;
|
||||||
return { dataIndex: col.value, fixed: col.fixed, visible };
|
return { dataIndex: col.value, fixed: col.fixed, visible };
|
||||||
});
|
});
|
||||||
|
@ -40,7 +40,7 @@ function handleChildren(children: BasicColumn[] | undefined, ellipsis: boolean)
|
|||||||
function handleIndexColumn(
|
function handleIndexColumn(
|
||||||
propsRef: ComputedRef<BasicTableProps>,
|
propsRef: ComputedRef<BasicTableProps>,
|
||||||
getPaginationRef: ComputedRef<boolean | PaginationProps>,
|
getPaginationRef: ComputedRef<boolean | PaginationProps>,
|
||||||
columns: BasicColumn[]
|
columns: BasicColumn[],
|
||||||
) {
|
) {
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
|
|
||||||
@ -102,7 +102,7 @@ function handleActionColumn(propsRef: ComputedRef<BasicTableProps>, columns: Bas
|
|||||||
|
|
||||||
export function useColumns(
|
export function useColumns(
|
||||||
propsRef: ComputedRef<BasicTableProps>,
|
propsRef: ComputedRef<BasicTableProps>,
|
||||||
getPaginationRef: ComputedRef<boolean | PaginationProps>
|
getPaginationRef: ComputedRef<boolean | PaginationProps>,
|
||||||
) {
|
) {
|
||||||
const columnsRef = ref(unref(propsRef).columns) as unknown as Ref<BasicColumn[]>;
|
const columnsRef = ref(unref(propsRef).columns) as unknown as Ref<BasicColumn[]>;
|
||||||
let cacheColumns = unref(propsRef).columns;
|
let cacheColumns = unref(propsRef).columns;
|
||||||
@ -122,7 +122,7 @@ export function useColumns(
|
|||||||
|
|
||||||
handleItem(
|
handleItem(
|
||||||
item,
|
item,
|
||||||
Reflect.has(item, 'ellipsis') ? !!item.ellipsis : !!ellipsis && !customRender && !slots
|
Reflect.has(item, 'ellipsis') ? !!item.ellipsis : !!ellipsis && !customRender && !slots,
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
return columns;
|
return columns;
|
||||||
@ -179,7 +179,7 @@ export function useColumns(
|
|||||||
(columns) => {
|
(columns) => {
|
||||||
columnsRef.value = columns;
|
columnsRef.value = columns;
|
||||||
cacheColumns = columns?.filter((item) => !item.flag) ?? [];
|
cacheColumns = columns?.filter((item) => !item.flag) ?? [];
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
function setCacheColumnsByField(dataIndex: string | undefined, value: Partial<BasicColumn>) {
|
function setCacheColumnsByField(dataIndex: string | undefined, value: Partial<BasicColumn>) {
|
||||||
@ -288,7 +288,7 @@ function sortFixedColumn(columns: BasicColumn[]) {
|
|||||||
defColumns.push(column);
|
defColumns.push(column);
|
||||||
}
|
}
|
||||||
return [...fixedLeftColumns, ...defColumns, ...fixedRightColumns].filter(
|
return [...fixedLeftColumns, ...defColumns, ...fixedRightColumns].filter(
|
||||||
(item) => !item.defaultHidden
|
(item) => !item.defaultHidden,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ interface Options {
|
|||||||
function getKey(
|
function getKey(
|
||||||
record: Recordable,
|
record: Recordable,
|
||||||
rowKey: string | ((record: Record<string, any>) => string) | undefined,
|
rowKey: string | ((record: Record<string, any>) => string) | undefined,
|
||||||
autoCreateKey?: boolean
|
autoCreateKey?: boolean,
|
||||||
) {
|
) {
|
||||||
if (!rowKey || autoCreateKey) {
|
if (!rowKey || autoCreateKey) {
|
||||||
return record[ROW_KEY];
|
return record[ROW_KEY];
|
||||||
@ -31,7 +31,7 @@ function getKey(
|
|||||||
|
|
||||||
export function useCustomRow(
|
export function useCustomRow(
|
||||||
propsRef: ComputedRef<BasicTableProps>,
|
propsRef: ComputedRef<BasicTableProps>,
|
||||||
{ setSelectedRowKeys, getSelectRowKeys, getAutoCreateKey, clearSelectedRowKeys, emit }: Options
|
{ setSelectedRowKeys, getSelectRowKeys, getAutoCreateKey, clearSelectedRowKeys, emit }: Options,
|
||||||
) {
|
) {
|
||||||
const customRow = (record: Recordable, index: number) => {
|
const customRow = (record: Recordable, index: number) => {
|
||||||
return {
|
return {
|
||||||
|
@ -40,7 +40,7 @@ export function useDataSource(
|
|||||||
clearSelectedRowKeys,
|
clearSelectedRowKeys,
|
||||||
tableData,
|
tableData,
|
||||||
}: ActionType,
|
}: ActionType,
|
||||||
emit: EmitType
|
emit: EmitType,
|
||||||
) {
|
) {
|
||||||
const searchState = reactive<SearchState>({
|
const searchState = reactive<SearchState>({
|
||||||
sortInfo: {},
|
sortInfo: {},
|
||||||
@ -61,13 +61,13 @@ export function useDataSource(
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
immediate: true,
|
immediate: true,
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
function handleTableChange(
|
function handleTableChange(
|
||||||
pagination: PaginationProps,
|
pagination: PaginationProps,
|
||||||
filters: Partial<Recordable<string[]>>,
|
filters: Partial<Recordable<string[]>>,
|
||||||
sorter: SorterResult
|
sorter: SorterResult,
|
||||||
) {
|
) {
|
||||||
const { clearSelectOnPageChange, sortFn, filterFn } = unref(propsRef);
|
const { clearSelectOnPageChange, sortFn, filterFn } = unref(propsRef);
|
||||||
if (clearSelectOnPageChange) {
|
if (clearSelectOnPageChange) {
|
||||||
@ -148,7 +148,7 @@ export function useDataSource(
|
|||||||
|
|
||||||
function updateTableDataRecord(
|
function updateTableDataRecord(
|
||||||
rowKey: string | number,
|
rowKey: string | number,
|
||||||
record: Recordable
|
record: Recordable,
|
||||||
): Recordable | undefined {
|
): Recordable | undefined {
|
||||||
const row = findTableDataRecord(rowKey);
|
const row = findTableDataRecord(rowKey);
|
||||||
|
|
||||||
@ -206,7 +206,7 @@ export function useDataSource(
|
|||||||
const { pageField, sizeField, listField, totalField } = Object.assign(
|
const { pageField, sizeField, listField, totalField } = Object.assign(
|
||||||
{},
|
{},
|
||||||
FETCH_SETTING,
|
FETCH_SETTING,
|
||||||
fetchSetting
|
fetchSetting,
|
||||||
);
|
);
|
||||||
let pageParams: Recordable = {};
|
let pageParams: Recordable = {};
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ export function useLoading(props: ComputedRef<BasicTableProps>) {
|
|||||||
() => unref(props).loading,
|
() => unref(props).loading,
|
||||||
(loading) => {
|
(loading) => {
|
||||||
loadingRef.value = loading;
|
loadingRef.value = loading;
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
const getLoading = computed(() => unref(loadingRef));
|
const getLoading = computed(() => unref(loadingRef));
|
||||||
|
@ -8,7 +8,7 @@ import { findNodeAll } from '/@/utils/helper/treeHelper';
|
|||||||
export function useRowSelection(
|
export function useRowSelection(
|
||||||
propsRef: ComputedRef<BasicTableProps>,
|
propsRef: ComputedRef<BasicTableProps>,
|
||||||
tableData: Ref<Recordable[]>,
|
tableData: Ref<Recordable[]>,
|
||||||
emit: EmitType
|
emit: EmitType,
|
||||||
) {
|
) {
|
||||||
const selectedRowKeysRef = ref<string[]>([]);
|
const selectedRowKeysRef = ref<string[]>([]);
|
||||||
const selectedRowRef = ref<Recordable[]>([]);
|
const selectedRowRef = ref<Recordable[]>([]);
|
||||||
@ -35,7 +35,7 @@ export function useRowSelection(
|
|||||||
() => unref(propsRef).rowSelection?.selectedRowKeys,
|
() => unref(propsRef).rowSelection?.selectedRowKeys,
|
||||||
(v: string[]) => {
|
(v: string[]) => {
|
||||||
setSelectedRowKeys(v);
|
setSelectedRowKeys(v);
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
@ -53,7 +53,7 @@ export function useRowSelection(
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
{ deep: true }
|
{ deep: true },
|
||||||
);
|
);
|
||||||
|
|
||||||
const getAutoCreateKey = computed(() => {
|
const getAutoCreateKey = computed(() => {
|
||||||
@ -72,7 +72,7 @@ export function useRowSelection(
|
|||||||
(item) => rowKeys.includes(item[unref(getRowKey) as string]),
|
(item) => rowKeys.includes(item[unref(getRowKey) as string]),
|
||||||
{
|
{
|
||||||
children: propsRef.value.childrenColumnName ?? 'children',
|
children: propsRef.value.childrenColumnName ?? 'children',
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
const trueSelectedRows: any[] = [];
|
const trueSelectedRows: any[] = [];
|
||||||
rowKeys.forEach((key: string) => {
|
rowKeys.forEach((key: string) => {
|
||||||
|
@ -18,7 +18,7 @@ export function useTable(tableProps?: Props): [
|
|||||||
(instance: TableActionType, formInstance: UseTableMethod) => void,
|
(instance: TableActionType, formInstance: UseTableMethod) => void,
|
||||||
TableActionType & {
|
TableActionType & {
|
||||||
getForm: () => FormActionType;
|
getForm: () => FormActionType;
|
||||||
}
|
},
|
||||||
] {
|
] {
|
||||||
const tableRef = ref<Nullable<TableActionType>>(null);
|
const tableRef = ref<Nullable<TableActionType>>(null);
|
||||||
const loadedRef = ref<Nullable<boolean>>(false);
|
const loadedRef = ref<Nullable<boolean>>(false);
|
||||||
@ -50,7 +50,7 @@ export function useTable(tableProps?: Props): [
|
|||||||
{
|
{
|
||||||
immediate: true,
|
immediate: true,
|
||||||
deep: true,
|
deep: true,
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -58,7 +58,7 @@ export function useTable(tableProps?: Props): [
|
|||||||
const table = unref(tableRef);
|
const table = unref(tableRef);
|
||||||
if (!table) {
|
if (!table) {
|
||||||
error(
|
error(
|
||||||
'The table instance has not been obtained yet, please make sure the table is presented when performing the table operation!'
|
'The table instance has not been obtained yet, please make sure the table is presented when performing the table operation!',
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return table as TableActionType;
|
return table as TableActionType;
|
||||||
|
@ -6,7 +6,7 @@ import { ROW_KEY } from '../const';
|
|||||||
export function useTableExpand(
|
export function useTableExpand(
|
||||||
propsRef: ComputedRef<BasicTableProps>,
|
propsRef: ComputedRef<BasicTableProps>,
|
||||||
tableData: Ref<Recordable[]>,
|
tableData: Ref<Recordable[]>,
|
||||||
emit: EmitType
|
emit: EmitType,
|
||||||
) {
|
) {
|
||||||
const expandedRowKeys = ref<string[]>([]);
|
const expandedRowKeys = ref<string[]>([]);
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ export function useTableFooter(
|
|||||||
scrollToFirstRowOnChange: boolean;
|
scrollToFirstRowOnChange: boolean;
|
||||||
}>,
|
}>,
|
||||||
tableElRef: Ref<ComponentRef>,
|
tableElRef: Ref<ComponentRef>,
|
||||||
getDataSourceRef: ComputedRef<Recordable>
|
getDataSourceRef: ComputedRef<Recordable>,
|
||||||
) {
|
) {
|
||||||
const getIsEmptyData = computed(() => {
|
const getIsEmptyData = computed(() => {
|
||||||
return (unref(getDataSourceRef) || []).length === 0;
|
return (unref(getDataSourceRef) || []).length === 0;
|
||||||
@ -43,7 +43,7 @@ export function useTableFooter(
|
|||||||
name: 'scroll',
|
name: 'scroll',
|
||||||
listener: () => {
|
listener: () => {
|
||||||
const footerBodyDom = tableEl.$el.querySelector(
|
const footerBodyDom = tableEl.$el.querySelector(
|
||||||
'.ant-table-footer .ant-table-body'
|
'.ant-table-footer .ant-table-body',
|
||||||
) as HTMLDivElement;
|
) as HTMLDivElement;
|
||||||
if (!footerBodyDom || !bodyDom) return;
|
if (!footerBodyDom || !bodyDom) return;
|
||||||
footerBodyDom.scrollLeft = bodyDom.scrollLeft;
|
footerBodyDom.scrollLeft = bodyDom.scrollLeft;
|
||||||
|
@ -8,7 +8,7 @@ export function useTableForm(
|
|||||||
propsRef: ComputedRef<BasicTableProps>,
|
propsRef: ComputedRef<BasicTableProps>,
|
||||||
slots: Slots,
|
slots: Slots,
|
||||||
fetch: (opt?: FetchParams | undefined) => Promise<void>,
|
fetch: (opt?: FetchParams | undefined) => Promise<void>,
|
||||||
getLoading: ComputedRef<boolean | undefined>
|
getLoading: ComputedRef<boolean | undefined>,
|
||||||
) {
|
) {
|
||||||
const getFormProps = computed((): Partial<FormProps> => {
|
const getFormProps = computed((): Partial<FormProps> => {
|
||||||
const { formConfig } = unref(propsRef);
|
const { formConfig } = unref(propsRef);
|
||||||
|
@ -8,7 +8,7 @@ import { getSlot } from '/@/utils/helper/tsxHelper';
|
|||||||
export function useTableHeader(
|
export function useTableHeader(
|
||||||
propsRef: ComputedRef<BasicTableProps>,
|
propsRef: ComputedRef<BasicTableProps>,
|
||||||
slots: Slots,
|
slots: Slots,
|
||||||
handlers: InnerHandlers
|
handlers: InnerHandlers,
|
||||||
) {
|
) {
|
||||||
const getHeaderProps = computed((): Recordable => {
|
const getHeaderProps = computed((): Recordable => {
|
||||||
const { title, showTableSetting, titleHelpMessage, tableSetting } = unref(propsRef);
|
const { title, showTableSetting, titleHelpMessage, tableSetting } = unref(propsRef);
|
||||||
@ -46,7 +46,7 @@ export function useTableHeader(
|
|||||||
headerTop: () => getSlot(slots, 'headerTop'),
|
headerTop: () => getSlot(slots, 'headerTop'),
|
||||||
}
|
}
|
||||||
: {}),
|
: {}),
|
||||||
}
|
},
|
||||||
),
|
),
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
@ -13,7 +13,7 @@ export function useTableScroll(
|
|||||||
tableElRef: Ref<ComponentRef>,
|
tableElRef: Ref<ComponentRef>,
|
||||||
columnsRef: ComputedRef<BasicColumn[]>,
|
columnsRef: ComputedRef<BasicColumn[]>,
|
||||||
rowSelectionRef: ComputedRef<TableRowSelection<any> | null>,
|
rowSelectionRef: ComputedRef<TableRowSelection<any> | null>,
|
||||||
getDataSourceRef: ComputedRef<Recordable[]>
|
getDataSourceRef: ComputedRef<Recordable[]>,
|
||||||
) {
|
) {
|
||||||
const tableHeightRef: Ref<Nullable<number>> = ref(null);
|
const tableHeightRef: Ref<Nullable<number>> = ref(null);
|
||||||
|
|
||||||
@ -34,7 +34,7 @@ export function useTableScroll(
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
flush: 'post',
|
flush: 'post',
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
function redoHeight() {
|
function redoHeight() {
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
() => {
|
() => {
|
||||||
setTime();
|
setTime();
|
||||||
},
|
},
|
||||||
{ immediate: true }
|
{ immediate: true },
|
||||||
);
|
);
|
||||||
|
|
||||||
function getTime() {
|
function getTime() {
|
||||||
|
@ -190,7 +190,7 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
editor.setMode(attrs.disabled ? 'readonly' : 'design');
|
editor.setMode(attrs.disabled ? 'readonly' : 'design');
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
onMountedOrActivated(() => {
|
onMountedOrActivated(() => {
|
||||||
@ -264,7 +264,7 @@
|
|||||||
() => props.modelValue,
|
() => props.modelValue,
|
||||||
(val: string, prevVal: string) => {
|
(val: string, prevVal: string) => {
|
||||||
setValue(editor, val, prevVal);
|
setValue(editor, val, prevVal);
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
@ -274,7 +274,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
immediate: true,
|
immediate: true,
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
editor.on(normalizedEvents ? normalizedEvents : 'change keyup undo redo', () => {
|
editor.on(normalizedEvents ? normalizedEvents : 'change keyup undo redo', () => {
|
||||||
|
@ -18,10 +18,10 @@ export const ScaleRotateTransition = createSimpleTransition('scale-rotate-transi
|
|||||||
|
|
||||||
export const ExpandXTransition = createJavascriptTransition(
|
export const ExpandXTransition = createJavascriptTransition(
|
||||||
'expand-x-transition',
|
'expand-x-transition',
|
||||||
ExpandTransitionGenerator('', true)
|
ExpandTransitionGenerator('', true),
|
||||||
);
|
);
|
||||||
|
|
||||||
export const ExpandTransition = createJavascriptTransition(
|
export const ExpandTransition = createJavascriptTransition(
|
||||||
'expand-transition',
|
'expand-transition',
|
||||||
ExpandTransitionGenerator('')
|
ExpandTransitionGenerator(''),
|
||||||
);
|
);
|
||||||
|
@ -41,7 +41,7 @@ export function createSimpleTransition(name: string, origin = 'top center 0', mo
|
|||||||
export function createJavascriptTransition(
|
export function createJavascriptTransition(
|
||||||
name: string,
|
name: string,
|
||||||
functions: Recordable,
|
functions: Recordable,
|
||||||
mode: Mode = 'in-out'
|
mode: Mode = 'in-out',
|
||||||
) {
|
) {
|
||||||
return defineComponent({
|
return defineComponent({
|
||||||
name,
|
name,
|
||||||
|
@ -119,7 +119,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
const getTreeData = computed((): TreeItem[] =>
|
const getTreeData = computed((): TreeItem[] =>
|
||||||
searchState.startSearch ? searchState.searchData : unref(treeDataRef)
|
searchState.startSearch ? searchState.searchData : unref(treeDataRef),
|
||||||
);
|
);
|
||||||
|
|
||||||
const getNotFound = computed((): boolean => {
|
const getNotFound = computed((): boolean => {
|
||||||
@ -219,7 +219,7 @@
|
|||||||
(node) => {
|
(node) => {
|
||||||
return node[titleField]?.includes(searchValue) ?? false;
|
return node[titleField]?.includes(searchValue) ?? false;
|
||||||
},
|
},
|
||||||
unref(getReplaceFields)
|
unref(getReplaceFields),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -266,7 +266,7 @@
|
|||||||
() => props.value,
|
() => props.value,
|
||||||
() => {
|
() => {
|
||||||
state.checkedKeys = toRaw(props.value || []);
|
state.checkedKeys = toRaw(props.value || []);
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
@ -275,7 +275,7 @@
|
|||||||
const v = toRaw(state.checkedKeys);
|
const v = toRaw(state.checkedKeys);
|
||||||
emit('update:value', v);
|
emit('update:value', v);
|
||||||
emit('change', v);
|
emit('change', v);
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
// watchEffect(() => {
|
// watchEffect(() => {
|
||||||
|
@ -143,7 +143,7 @@
|
|||||||
() => searchValue.value,
|
() => searchValue.value,
|
||||||
(v) => {
|
(v) => {
|
||||||
debounceEmitChange(v);
|
debounceEmitChange(v);
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
watch(
|
watch(
|
||||||
() => props.searchText,
|
() => props.searchText,
|
||||||
@ -151,7 +151,7 @@
|
|||||||
if (v !== searchValue.value) {
|
if (v !== searchValue.value) {
|
||||||
searchValue.value = v;
|
searchValue.value = v;
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
// function handleSearch(e: ChangeEvent): void {
|
// function handleSearch(e: ChangeEvent): void {
|
||||||
// debounceEmitChange(e.target.value);
|
// debounceEmitChange(e.target.value);
|
||||||
|
@ -8,7 +8,7 @@ import { forEach } from '/@/utils/helper/treeHelper';
|
|||||||
|
|
||||||
export function useTree(
|
export function useTree(
|
||||||
treeDataRef: Ref<TreeDataItem[]>,
|
treeDataRef: Ref<TreeDataItem[]>,
|
||||||
getReplaceFields: ComputedRef<ReplaceFields>
|
getReplaceFields: ComputedRef<ReplaceFields>,
|
||||||
) {
|
) {
|
||||||
function getAllKeys(list?: TreeDataItem[]) {
|
function getAllKeys(list?: TreeDataItem[]) {
|
||||||
const keys: string[] = [];
|
const keys: string[] = [];
|
||||||
|
@ -80,7 +80,7 @@
|
|||||||
(value = []) => {
|
(value = []) => {
|
||||||
fileList.value = isArray(value) ? value : [];
|
fileList.value = isArray(value) ? value : [];
|
||||||
},
|
},
|
||||||
{ immediate: true }
|
{ immediate: true },
|
||||||
);
|
);
|
||||||
|
|
||||||
// 上传modal保存操作
|
// 上传modal保存操作
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
modalFn?.redoModalHeight?.();
|
modalFn?.redoModalHeight?.();
|
||||||
});
|
});
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
return () => {
|
return () => {
|
||||||
const { columns, actionColumn, dataSource } = props;
|
const { columns, actionColumn, dataSource } = props;
|
||||||
|
@ -102,7 +102,7 @@
|
|||||||
|
|
||||||
const getOkButtonProps = computed(() => {
|
const getOkButtonProps = computed(() => {
|
||||||
const someSuccess = fileListRef.value.some(
|
const someSuccess = fileListRef.value.some(
|
||||||
(item) => item.status === UploadResultStatus.SUCCESS
|
(item) => item.status === UploadResultStatus.SUCCESS,
|
||||||
);
|
);
|
||||||
return {
|
return {
|
||||||
disabled: isUploadingRef.value || fileListRef.value.length === 0 || !someSuccess,
|
disabled: isUploadingRef.value || fileListRef.value.length === 0 || !someSuccess,
|
||||||
@ -111,7 +111,7 @@
|
|||||||
|
|
||||||
const getUploadBtnText = computed(() => {
|
const getUploadBtnText = computed(() => {
|
||||||
const someError = fileListRef.value.some(
|
const someError = fileListRef.value.some(
|
||||||
(item) => item.status === UploadResultStatus.ERROR
|
(item) => item.status === UploadResultStatus.ERROR,
|
||||||
);
|
);
|
||||||
return isUploadingRef.value
|
return isUploadingRef.value
|
||||||
? t('component.upload.uploading')
|
? t('component.upload.uploading')
|
||||||
@ -193,7 +193,7 @@
|
|||||||
function onUploadProgress(progressEvent: ProgressEvent) {
|
function onUploadProgress(progressEvent: ProgressEvent) {
|
||||||
const complete = ((progressEvent.loaded / progressEvent.total) * 100) | 0;
|
const complete = ((progressEvent.loaded / progressEvent.total) * 100) | 0;
|
||||||
item.percent = complete;
|
item.percent = complete;
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
item.status = UploadResultStatus.SUCCESS;
|
item.status = UploadResultStatus.SUCCESS;
|
||||||
item.responseData = data;
|
item.responseData = data;
|
||||||
@ -225,7 +225,7 @@
|
|||||||
const data = await Promise.all(
|
const data = await Promise.all(
|
||||||
uploadFileList.map((item) => {
|
uploadFileList.map((item) => {
|
||||||
return uploadApiByItem(item);
|
return uploadApiByItem(item);
|
||||||
})
|
}),
|
||||||
);
|
);
|
||||||
isUploadingRef.value = false;
|
isUploadingRef.value = false;
|
||||||
// 生产环境:抛出错误
|
// 生产环境:抛出错误
|
||||||
|
@ -45,7 +45,7 @@
|
|||||||
};
|
};
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
{ immediate: true }
|
{ immediate: true },
|
||||||
);
|
);
|
||||||
|
|
||||||
// 删除
|
// 删除
|
||||||
@ -56,7 +56,7 @@
|
|||||||
emit('delete', removed[0].url);
|
emit('delete', removed[0].url);
|
||||||
emit(
|
emit(
|
||||||
'list-change',
|
'list-change',
|
||||||
fileListRef.value.map((item) => item.url)
|
fileListRef.value.map((item) => item.url),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -92,7 +92,7 @@
|
|||||||
emit('update:value', isPassing);
|
emit('update:value', isPassing);
|
||||||
emit('change', isPassing);
|
emit('change', isPassing);
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
watchEffect(() => {
|
watchEffect(() => {
|
||||||
|
@ -37,7 +37,7 @@
|
|||||||
emit('change', isPassing);
|
emit('change', isPassing);
|
||||||
emit('update:value', isPassing);
|
emit('update:value', isPassing);
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
const getImgWrapStyleRef = computed(() => {
|
const getImgWrapStyleRef = computed(() => {
|
||||||
@ -65,7 +65,7 @@
|
|||||||
const { imgWidth, height, maxDegree } = props;
|
const { imgWidth, height, maxDegree } = props;
|
||||||
const { moveX } = data;
|
const { moveX } = data;
|
||||||
const currentRotate = Math.ceil(
|
const currentRotate = Math.ceil(
|
||||||
(moveX / (imgWidth! - parseInt(height as string))) * maxDegree! * unref(getFactorRef)
|
(moveX / (imgWidth! - parseInt(height as string))) * maxDegree! * unref(getFactorRef),
|
||||||
);
|
);
|
||||||
state.currentRotate = currentRotate;
|
state.currentRotate = currentRotate;
|
||||||
state.imgStyle = hackCss('transform', `rotateZ(${state.randomRotate - currentRotate}deg)`);
|
state.imgStyle = hackCss('transform', `rotateZ(${state.randomRotate - currentRotate}deg)`);
|
||||||
|
@ -15,7 +15,7 @@ const loadingDirective: Directive = {
|
|||||||
loading: !!binding.value,
|
loading: !!binding.value,
|
||||||
absolute: !fullscreen,
|
absolute: !fullscreen,
|
||||||
},
|
},
|
||||||
fullscreen ? document.body : el
|
fullscreen ? document.body : el,
|
||||||
);
|
);
|
||||||
el.instance = instance;
|
el.instance = instance;
|
||||||
},
|
},
|
||||||
|
@ -16,7 +16,7 @@ export function useRuleFormItem<T extends Recordable>(
|
|||||||
props: T,
|
props: T,
|
||||||
key: keyof T = 'value',
|
key: keyof T = 'value',
|
||||||
changeEvent = 'change',
|
changeEvent = 'change',
|
||||||
emitData?: Ref<any[]>
|
emitData?: Ref<any[]>,
|
||||||
) {
|
) {
|
||||||
const instance = getCurrentInstance();
|
const instance = getCurrentInstance();
|
||||||
const emit = instance?.emit;
|
const emit = instance?.emit;
|
||||||
|
@ -21,7 +21,7 @@ type ShallowUnwrap<T> = {
|
|||||||
export function createContext<T>(
|
export function createContext<T>(
|
||||||
context: any,
|
context: any,
|
||||||
key: InjectionKey<T> = Symbol(),
|
key: InjectionKey<T> = Symbol(),
|
||||||
options: CreateContextOptions = {}
|
options: CreateContextOptions = {},
|
||||||
) {
|
) {
|
||||||
const { readonly = true, createProvider = false, native = false } = options;
|
const { readonly = true, createProvider = false, native = false } = options;
|
||||||
|
|
||||||
@ -39,7 +39,7 @@ export function useContext<T>(key: InjectionKey<T>, defaultValue?: any, native?:
|
|||||||
|
|
||||||
export function useContext<T>(
|
export function useContext<T>(
|
||||||
key: InjectionKey<T> = Symbol(),
|
key: InjectionKey<T> = Symbol(),
|
||||||
defaultValue?: any
|
defaultValue?: any,
|
||||||
): ShallowUnwrap<T> {
|
): ShallowUnwrap<T> {
|
||||||
return inject(key, defaultValue || {});
|
return inject(key, defaultValue || {});
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { ref, unref } from 'vue';
|
import { ref, unref } from 'vue';
|
||||||
|
|
||||||
export function useLockFn<P extends any[] = any[], V extends any = any>(
|
export function useLockFn<P extends any[] = any[], V extends any = any>(
|
||||||
fn: (...args: P) => Promise<V>
|
fn: (...args: P) => Promise<V>,
|
||||||
) {
|
) {
|
||||||
const lockRef = ref(false);
|
const lockRef = ref(false);
|
||||||
return async function (...args: P) {
|
return async function (...args: P) {
|
||||||
|
@ -16,7 +16,7 @@ export function useTimeoutFn(handle: Fn<any>, wait: number, native = false) {
|
|||||||
(maturity) => {
|
(maturity) => {
|
||||||
maturity && handle();
|
maturity && handle();
|
||||||
},
|
},
|
||||||
{ immediate: false }
|
{ immediate: false },
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return { readyRef, stop, start };
|
return { readyRef, stop, start };
|
||||||
|
@ -46,7 +46,7 @@ export function useEventListener({
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ immediate: true }
|
{ immediate: true },
|
||||||
);
|
);
|
||||||
|
|
||||||
remove = () => {
|
remove = () => {
|
||||||
|
@ -10,7 +10,7 @@ export function useScroll(
|
|||||||
wait?: number;
|
wait?: number;
|
||||||
leading?: boolean;
|
leading?: boolean;
|
||||||
trailing?: boolean;
|
trailing?: boolean;
|
||||||
}
|
},
|
||||||
) {
|
) {
|
||||||
const refX = ref(0);
|
const refX = ref(0);
|
||||||
const refY = ref(0);
|
const refY = ref(0);
|
||||||
@ -49,7 +49,7 @@ export function useScroll(
|
|||||||
el && el.removeEventListener('scroll', handler);
|
el && el.removeEventListener('scroll', handler);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
{ immediate: true }
|
{ immediate: true },
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ export const useGlobSetting = (): Readonly<GlobConfig> => {
|
|||||||
|
|
||||||
if (!/[a-zA-Z\_]*/.test(VITE_GLOB_APP_SHORT_NAME)) {
|
if (!/[a-zA-Z\_]*/.test(VITE_GLOB_APP_SHORT_NAME)) {
|
||||||
warn(
|
warn(
|
||||||
`VITE_GLOB_APP_SHORT_NAME Variables can only be characters/underscores, please modify in the environment variables and re-running.`
|
`VITE_GLOB_APP_SHORT_NAME Variables can only be characters/underscores, please modify in the environment variables and re-running.`,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ export function useMenuSetting() {
|
|||||||
const getTopMenuAlign = computed(() => appStore.getMenuSetting.topMenuAlign);
|
const getTopMenuAlign = computed(() => appStore.getMenuSetting.topMenuAlign);
|
||||||
|
|
||||||
const getCloseMixSidebarOnChange = computed(
|
const getCloseMixSidebarOnChange = computed(
|
||||||
() => appStore.getMenuSetting.closeMixSidebarOnChange
|
() => appStore.getMenuSetting.closeMixSidebarOnChange,
|
||||||
);
|
);
|
||||||
|
|
||||||
const getIsSidebarType = computed(() => unref(getMenuType) === MenuTypeEnum.SIDEBAR);
|
const getIsSidebarType = computed(() => unref(getMenuType) === MenuTypeEnum.SIDEBAR);
|
||||||
|
@ -56,7 +56,7 @@ export function useRootSetting() {
|
|||||||
const getLayoutContentMode = computed(() =>
|
const getLayoutContentMode = computed(() =>
|
||||||
appStore.getProjectConfig.contentMode === ContentEnum.FULL
|
appStore.getProjectConfig.contentMode === ContentEnum.FULL
|
||||||
? ContentEnum.FULL
|
? ContentEnum.FULL
|
||||||
: ContentEnum.FIXED
|
: ContentEnum.FIXED,
|
||||||
);
|
);
|
||||||
|
|
||||||
function setRootSetting(setting: Partial<RootSetting>) {
|
function setRootSetting(setting: Partial<RootSetting>) {
|
||||||
|
@ -27,7 +27,7 @@ export function useContentHeight(
|
|||||||
anchorRef: Ref,
|
anchorRef: Ref,
|
||||||
subtractHeightRefs: Ref[],
|
subtractHeightRefs: Ref[],
|
||||||
substractSpaceRefs: Ref[],
|
substractSpaceRefs: Ref[],
|
||||||
offsetHeightRef: Ref<number> = ref(0)
|
offsetHeightRef: Ref<number> = ref(0),
|
||||||
) {
|
) {
|
||||||
const contentHeight: Ref<Nullable<number>> = ref(null);
|
const contentHeight: Ref<Nullable<number>> = ref(null);
|
||||||
const { footerHeightRef: layoutFooterHeightRef } = useLayoutHeight();
|
const { footerHeightRef: layoutFooterHeightRef } = useLayoutHeight();
|
||||||
@ -130,7 +130,7 @@ export function useContentHeight(
|
|||||||
calcContentHeight();
|
calcContentHeight();
|
||||||
},
|
},
|
||||||
50,
|
50,
|
||||||
{ immediate: true }
|
{ immediate: true },
|
||||||
);
|
);
|
||||||
watch(
|
watch(
|
||||||
() => [layoutFooterHeightRef.value],
|
() => [layoutFooterHeightRef.value],
|
||||||
@ -140,7 +140,7 @@ export function useContentHeight(
|
|||||||
{
|
{
|
||||||
flush: 'post',
|
flush: 'post',
|
||||||
immediate: true,
|
immediate: true,
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
return { redoHeight, setCompensation, contentHeight };
|
return { redoHeight, setCompensation, contentHeight };
|
||||||
|
@ -17,7 +17,7 @@ export function useCopyToClipboard(initial?: string) {
|
|||||||
isSuccessRef.value = copyTextToClipboard(str);
|
isSuccessRef.value = copyTextToClipboard(str);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ immediate: !!initial, flush: 'sync' }
|
{ immediate: !!initial, flush: 'sync' },
|
||||||
);
|
);
|
||||||
|
|
||||||
return { clipboardRef, isSuccessRef, copiedRef };
|
return { clipboardRef, isSuccessRef, copiedRef };
|
||||||
|
@ -11,7 +11,7 @@ import { useRootSetting } from '/@/hooks/setting/useRootSetting';
|
|||||||
|
|
||||||
export function useECharts(
|
export function useECharts(
|
||||||
elRef: Ref<HTMLDivElement>,
|
elRef: Ref<HTMLDivElement>,
|
||||||
theme: 'light' | 'dark' | 'default' = 'default'
|
theme: 'light' | 'dark' | 'default' = 'default',
|
||||||
) {
|
) {
|
||||||
const { getDarkMode: getSysDarkMode } = useRootSetting();
|
const { getDarkMode: getSysDarkMode } = useRootSetting();
|
||||||
|
|
||||||
@ -90,7 +90,7 @@ export function useECharts(
|
|||||||
initCharts(theme as 'default');
|
initCharts(theme as 'default');
|
||||||
setOptions(cacheOptions.value);
|
setOptions(cacheOptions.value);
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
tryOnUnmounted(() => {
|
tryOnUnmounted(() => {
|
||||||
|
@ -88,7 +88,7 @@ export function usePermission() {
|
|||||||
async function changeRole(roles: RoleEnum | RoleEnum[]): Promise<void> {
|
async function changeRole(roles: RoleEnum | RoleEnum[]): Promise<void> {
|
||||||
if (projectSetting.permissionMode !== PermissionModeEnum.ROUTE_MAPPING) {
|
if (projectSetting.permissionMode !== PermissionModeEnum.ROUTE_MAPPING) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
'Please switch PermissionModeEnum to ROUTE_MAPPING mode in the configuration to operate!'
|
'Please switch PermissionModeEnum to ROUTE_MAPPING mode in the configuration to operate!',
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,6 +6,9 @@ import { useRouter } from 'vue-router';
|
|||||||
|
|
||||||
import { REDIRECT_NAME } from '/@/router/constant';
|
import { REDIRECT_NAME } from '/@/router/constant';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Listening to page changes and dynamically changing site titles
|
||||||
|
*/
|
||||||
export function useTitle() {
|
export function useTitle() {
|
||||||
const { title } = useGlobSetting();
|
const { title } = useGlobSetting();
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
@ -17,6 +20,7 @@ export function useTitle() {
|
|||||||
() => currentRoute.value.path,
|
() => currentRoute.value.path,
|
||||||
() => {
|
() => {
|
||||||
const route = unref(currentRoute);
|
const route = unref(currentRoute);
|
||||||
|
|
||||||
if (route.name === REDIRECT_NAME) {
|
if (route.name === REDIRECT_NAME) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -24,6 +28,6 @@ export function useTitle() {
|
|||||||
const tTitle = t(route?.meta?.title as string);
|
const tTitle = t(route?.meta?.title as string);
|
||||||
pageTitle.value = tTitle ? ` ${tTitle} - ${title} ` : `${title}`;
|
pageTitle.value = tTitle ? ` ${tTitle} - ${title} ` : `${title}`;
|
||||||
},
|
},
|
||||||
{ immediate: true }
|
{ immediate: true },
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@ import { isDef } from '/@/utils/is';
|
|||||||
const domSymbol = Symbol('watermark-dom');
|
const domSymbol = Symbol('watermark-dom');
|
||||||
|
|
||||||
export function useWatermark(
|
export function useWatermark(
|
||||||
appendEl: Ref<HTMLElement | null> = ref(document.body) as Ref<HTMLElement>
|
appendEl: Ref<HTMLElement | null> = ref(document.body) as Ref<HTMLElement>,
|
||||||
) {
|
) {
|
||||||
const func = useRafThrottle(function () {
|
const func = useRafThrottle(function () {
|
||||||
const el = unref(appendEl);
|
const el = unref(appendEl);
|
||||||
@ -49,7 +49,7 @@ export function useWatermark(
|
|||||||
width?: number;
|
width?: number;
|
||||||
height?: number;
|
height?: number;
|
||||||
str?: string;
|
str?: string;
|
||||||
} = {}
|
} = {},
|
||||||
) {
|
) {
|
||||||
const el = unref(watermarkEl);
|
const el = unref(watermarkEl);
|
||||||
if (!el) return;
|
if (!el) return;
|
||||||
|
@ -27,7 +27,7 @@ export function useContentViewHeight() {
|
|||||||
contentHeight.value = window.innerHeight;
|
contentHeight.value = window.innerHeight;
|
||||||
},
|
},
|
||||||
100,
|
100,
|
||||||
{ immediate: true }
|
{ immediate: true },
|
||||||
);
|
);
|
||||||
|
|
||||||
async function setPageHeight(height: number) {
|
async function setPageHeight(height: number) {
|
||||||
|
@ -107,7 +107,7 @@
|
|||||||
() => props.currentPage,
|
() => props.currentPage,
|
||||||
(v) => {
|
(v) => {
|
||||||
current.value = v;
|
current.value = v;
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
const isTitleClickable = computed(() => !!props.onTitleClick);
|
const isTitleClickable = computed(() => !!props.onTitleClick);
|
||||||
const getPagination = computed(() => {
|
const getPagination = computed(() => {
|
||||||
|
@ -60,7 +60,7 @@
|
|||||||
const { getIsMobile } = useAppInject();
|
const { getIsMobile } = useAppInject();
|
||||||
|
|
||||||
const getComputedMenuMode = computed(() =>
|
const getComputedMenuMode = computed(() =>
|
||||||
unref(getIsMobile) ? MenuModeEnum.INLINE : props.menuMode || unref(getMenuMode)
|
unref(getIsMobile) ? MenuModeEnum.INLINE : props.menuMode || unref(getMenuMode),
|
||||||
);
|
);
|
||||||
|
|
||||||
const getComputedMenuTheme = computed(() => props.theme || unref(getMenuTheme));
|
const getComputedMenuTheme = computed(() => props.theme || unref(getMenuTheme));
|
||||||
|
@ -20,11 +20,11 @@ export function useSplitMenu(splitType: Ref<MenuSplitTyeEnum>) {
|
|||||||
const throttleHandleSplitLeftMenu = useThrottleFn(handleSplitLeftMenu, 50);
|
const throttleHandleSplitLeftMenu = useThrottleFn(handleSplitLeftMenu, 50);
|
||||||
|
|
||||||
const splitNotLeft = computed(
|
const splitNotLeft = computed(
|
||||||
() => unref(splitType) !== MenuSplitTyeEnum.LEFT && !unref(getIsHorizontal)
|
() => unref(splitType) !== MenuSplitTyeEnum.LEFT && !unref(getIsHorizontal),
|
||||||
);
|
);
|
||||||
|
|
||||||
const getSplitLeft = computed(
|
const getSplitLeft = computed(
|
||||||
() => !unref(getSplit) || unref(splitType) !== MenuSplitTyeEnum.LEFT
|
() => !unref(getSplit) || unref(splitType) !== MenuSplitTyeEnum.LEFT,
|
||||||
);
|
);
|
||||||
|
|
||||||
const getSpiltTop = computed(() => unref(splitType) === MenuSplitTyeEnum.TOP);
|
const getSpiltTop = computed(() => unref(splitType) === MenuSplitTyeEnum.TOP);
|
||||||
@ -48,7 +48,7 @@ export function useSplitMenu(splitType: Ref<MenuSplitTyeEnum>) {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
immediate: true,
|
immediate: true,
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
// Menu changes
|
// Menu changes
|
||||||
@ -59,7 +59,7 @@ export function useSplitMenu(splitType: Ref<MenuSplitTyeEnum>) {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
immediate: true,
|
immediate: true,
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
// split Menu changes
|
// split Menu changes
|
||||||
@ -68,7 +68,7 @@ export function useSplitMenu(splitType: Ref<MenuSplitTyeEnum>) {
|
|||||||
() => {
|
() => {
|
||||||
if (unref(splitNotLeft)) return;
|
if (unref(splitNotLeft)) return;
|
||||||
genMenus();
|
genMenus();
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
// Handle left menu split
|
// Handle left menu split
|
||||||
|
@ -49,7 +49,7 @@
|
|||||||
|
|
||||||
function handleCopy() {
|
function handleCopy() {
|
||||||
const { isSuccessRef } = useCopyToClipboard(
|
const { isSuccessRef } = useCopyToClipboard(
|
||||||
JSON.stringify(unref(appStore.getProjectConfig), null, 2)
|
JSON.stringify(unref(appStore.getProjectConfig), null, 2),
|
||||||
);
|
);
|
||||||
unref(isSuccessRef) &&
|
unref(isSuccessRef) &&
|
||||||
createSuccessModal({
|
createSuccessModal({
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
const getIsUnFold = computed(() => !unref(getShowMenu) && !unref(getShowHeader));
|
const getIsUnFold = computed(() => !unref(getShowMenu) && !unref(getShowHeader));
|
||||||
|
|
||||||
const getIcon = computed(() =>
|
const getIcon = computed(() =>
|
||||||
unref(getIsUnFold) ? 'codicon:screen-normal' : 'codicon:screen-full'
|
unref(getIsUnFold) ? 'codicon:screen-normal' : 'codicon:screen-full',
|
||||||
);
|
);
|
||||||
|
|
||||||
function handleFold() {
|
function handleFold() {
|
||||||
|
@ -44,12 +44,12 @@
|
|||||||
const getIsTabs = computed(() => !props.isExtra);
|
const getIsTabs = computed(() => !props.isExtra);
|
||||||
|
|
||||||
const getTrigger = computed((): ('contextmenu' | 'click' | 'hover')[] =>
|
const getTrigger = computed((): ('contextmenu' | 'click' | 'hover')[] =>
|
||||||
unref(getIsTabs) ? ['contextmenu'] : ['click']
|
unref(getIsTabs) ? ['contextmenu'] : ['click'],
|
||||||
);
|
);
|
||||||
|
|
||||||
const { getDropMenuList, handleMenuEvent, handleContextMenu } = useTabDropdown(
|
const { getDropMenuList, handleMenuEvent, handleContextMenu } = useTabDropdown(
|
||||||
props as TabContentProps,
|
props as TabContentProps,
|
||||||
getIsTabs
|
getIsTabs,
|
||||||
);
|
);
|
||||||
|
|
||||||
function handleContext(e) {
|
function handleContext(e) {
|
||||||
|
@ -85,7 +85,7 @@ export function scriptErrorHandler(
|
|||||||
source?: string,
|
source?: string,
|
||||||
lineno?: number,
|
lineno?: number,
|
||||||
colno?: number,
|
colno?: number,
|
||||||
error?: Error
|
error?: Error,
|
||||||
) {
|
) {
|
||||||
if (event === 'Script error.' && !source) {
|
if (event === 'Script error.' && !source) {
|
||||||
return false;
|
return false;
|
||||||
@ -129,7 +129,7 @@ function registerPromiseErrorHandler() {
|
|||||||
message: event.reason,
|
message: event.reason,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
true
|
true,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -157,7 +157,7 @@ function registerResourceErrorHandler() {
|
|||||||
message: (e.target || ({} as any)).localName + ' is load error',
|
message: (e.target || ({} as any)).localName + ' is load error',
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
true
|
true,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user