import { createApp } from 'vue' import { ElAlert, ElAside, ElAutocomplete, ElAvatar, ElBacktop, ElBadge, ElBreadcrumb, ElBreadcrumbItem, ElButton, ElButtonGroup, ElCalendar, ElCard, ElCarousel, ElCarouselItem, ElCascader, ElCascaderPanel, ElCheckbox, ElCheckboxButton, ElCheckboxGroup, ElCol, ElCollapse, ElCollapseItem, ElCollapseTransition, ElColorPicker, ElContainer, ElDatePicker, ElDialog, ElDivider, ElDrawer, ElDropdown, ElDropdownItem, ElDropdownMenu, ElFooter, ElForm, ElFormItem, ElHeader, ElIcon, ElImage, ElInput, ElInputNumber, ElLink, ElMain, ElMenu, ElMenuItem, ElMenuItemGroup, ElOption, ElOptionGroup, ElPageHeader, ElPagination, ElPopconfirm, ElPopover, ElPopper, ElProgress, ElRadio, ElRadioButton, ElRadioGroup, ElRate, ElRow, ElScrollbar, ElSelect, ElSlider, ElStep, ElSteps, ElSubmenu, ElSwitch, ElTabPane, ElTable, ElTableColumn, ElTabs, ElTag, ElTimePicker, ElTimeSelect, ElTimeline, ElTimelineItem, ElTooltip, ElTransfer, ElTree, ElUpload, ElInfiniteScroll, ElLoading, ElMessage, ElMessageBox, ElNotification } from 'element-plus' import App from './App.vue' import router from './router/index' import 'dayjs/locale/zh-cn' import locale from 'element-plus/lib/locale/lang/zh-cn' import 'element-plus/lib/theme-chalk/index.css' // 修改后的主题样式必须放在最后面 // import '../theme/index.css' const orderStatus = { 0: '待支付', 1: '已支付', 2: '配货完成', 3: '出库成功', 4: '交易成功', '-1': '手动关闭', '-2': '超时关闭', '-3': '商家关闭' } const app = createApp(App) // 全局过滤器 app.config.globalProperties.$filters = { orderMap(status) { return orderStatus[status] || '未知状态' }, prefix(url) { if (url && url.startsWith('http')) { return url } else { url = `http://backend-api-02.newbee.ltd${url}` return url } }, resetImgUrl(imgObj, imgSrc, maxErrorNum) { if (maxErrorNum > 0) { imgObj.onerror = function() { resetImgUrl(imgObj, imgSrc, maxErrorNum - 1) } setTimeout(function() { imgObj.src = imgSrc }, 500) } else { imgObj.onerror = null imgObj.src = imgSrc } } } app.use(router) app.use(ElButton) .use(ElContainer) .use(ElAside) .use(ElHeader) .use(ElMain) .use(ElFooter) .use(ElMenu) .use(ElSubmenu) .use(ElMenuItemGroup) .use(ElMenuItem) .use(ElForm, { locale }) .use(ElFormItem, { locale }) .use(ElInput) .use(ElPopover) .use(ElTag) .use(ElCard) .use(ElTable) .use(ElTableColumn) .use(ElPagination) .use(ElDialog) .use(ElPopconfirm) .use(ElUpload) .use(ElLoading) .use(ElSelect) .use(ElOption) .use(ElRadioGroup) .use(ElRadio) .use(ElCascader) .use(ElCheckbox) .use(ElInputNumber) app.mount('#app')