Files
gr_report_web/src/plugins/avue/index.ts

51 lines
1.4 KiB
TypeScript
Raw Normal View History

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)
}