2026-02-02 23:17:44 +08:00
|
|
|
import type { App } from 'vue'
|
|
|
|
|
import Avue from '@smallwei/avue';
|
|
|
|
|
import { service } from '@/config/axios/service'
|
|
|
|
|
import { useLocaleStoreWithOut } from '@/store/modules/locale'
|
|
|
|
|
import { isMobile } from '@/utils/domUtils';
|
|
|
|
|
|
|
|
|
|
import '@smallwei/avue/lib/index.css';
|
|
|
|
|
import '@/styles/avueTable.scss'
|
|
|
|
|
import '@/styles/avueForm.scss'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export const setupAvue = async (app: App<Element>) => {
|
|
|
|
|
const { getLocaleMessage } = useI18n() // 国际化
|
|
|
|
|
const localeStore = useLocaleStoreWithOut()
|
|
|
|
|
const currMessages = getLocaleMessage(localeStore.currentLocale.lang)
|
|
|
|
|
const AvueObj = {
|
|
|
|
|
axios: service,
|
|
|
|
|
crudOption: {
|
|
|
|
|
align: 'center',
|
|
|
|
|
headerAlign: 'center',
|
|
|
|
|
index: true,
|
|
|
|
|
border: true,
|
|
|
|
|
gridBtn: false,
|
|
|
|
|
height: 'auto',
|
|
|
|
|
calcHeight: 130,
|
|
|
|
|
searchSpan: 6,
|
|
|
|
|
searchMenuSpan: 6,
|
|
|
|
|
searchMenuPosition: 'left',
|
2026-03-18 18:41:47 +08:00
|
|
|
searchIndex: 4,
|
2026-02-02 23:17:44 +08:00
|
|
|
searchIcon: true,
|
|
|
|
|
searchShowBtn: true,
|
|
|
|
|
labelSuffix: ' ',
|
|
|
|
|
dialogEscape: false,
|
|
|
|
|
dialogWidth: '80%',
|
|
|
|
|
dialogDrag: true,
|
|
|
|
|
},
|
|
|
|
|
formOption: {
|
|
|
|
|
labelSuffix: ' ',
|
|
|
|
|
labelWidth: 120,
|
|
|
|
|
},
|
|
|
|
|
} as any
|
|
|
|
|
if (isMobile()) {
|
|
|
|
|
AvueObj.crudOption.searchShow = false
|
|
|
|
|
AvueObj.crudOption.calcHeight = 80
|
|
|
|
|
AvueObj.crudOption.dialogFullscreen = true
|
|
|
|
|
}
|
|
|
|
|
if (currMessages && currMessages['Avue']) {
|
|
|
|
|
AvueObj.locale = currMessages['Avue']
|
|
|
|
|
}
|
|
|
|
|
app.use(Avue, AvueObj)
|
|
|
|
|
}
|