fix: ui
This commit is contained in:
169
src/types/components.d.ts
vendored
169
src/types/components.d.ts
vendored
@@ -0,0 +1,169 @@
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
// Generated by unplugin-vue-components
|
||||
// Read more: https://github.com/vuejs/core/pull/3399
|
||||
export {}
|
||||
|
||||
/* prettier-ignore */
|
||||
declare module 'vue' {
|
||||
export interface GlobalComponents {
|
||||
AgentSelector: typeof import('./../components/business/AgentSelector.vue')['default']
|
||||
ArtBackToTop: typeof import('./../components/core/base/ArtBackToTop.vue')['default']
|
||||
ArtBarChart: typeof import('./../components/core/charts/ArtBarChart.vue')['default']
|
||||
ArtBarChartCard: typeof import('./../components/core/cards/ArtBarChartCard.vue')['default']
|
||||
ArtBasicBanner: typeof import('./../components/core/banners/ArtBasicBanner.vue')['default']
|
||||
ArtBreadcrumb: typeof import('./../components/core/layouts/art-breadcrumb/index.vue')['default']
|
||||
ArtButtonMore: typeof import('./../components/core/forms/ArtButtonMore.vue')['default']
|
||||
ArtButtonTable: typeof import('./../components/core/forms/ArtButtonTable.vue')['default']
|
||||
ArtChatWindow: typeof import('./../components/core/layouts/art-chat-window/index.vue')['default']
|
||||
ArtCutterImg: typeof import('./../components/core/media/ArtCutterImg.vue')['default']
|
||||
ArtDataListCard: typeof import('./../components/core/cards/ArtDataListCard.vue')['default']
|
||||
ArtDataViewer: typeof import('./../components/core/views/ArtDataViewer.vue')['default']
|
||||
ArtDonutChartCard: typeof import('./../components/core/cards/ArtDonutChartCard.vue')['default']
|
||||
ArtDragVerify: typeof import('./../components/core/forms/ArtDragVerify.vue')['default']
|
||||
ArtDualBarCompareChart: typeof import('./../components/core/charts/ArtDualBarCompareChart.vue')['default']
|
||||
ArtExcelExport: typeof import('./../components/core/forms/ArtExcelExport.vue')['default']
|
||||
ArtExcelImport: typeof import('./../components/core/forms/ArtExcelImport.vue')['default']
|
||||
ArtException: typeof import('./../components/core/views/exception/ArtException.vue')['default']
|
||||
ArtFastEnter: typeof import('./../components/core/layouts/art-fast-enter/index.vue')['default']
|
||||
ArtFestivalTextScroll: typeof import('./../components/core/text-effect/ArtFestivalTextScroll.vue')['default']
|
||||
ArtFireworksEffect: typeof import('./../components/core/layouts/art-fireworks-effect/index.vue')['default']
|
||||
ArtGlobalSearch: typeof import('./../components/core/layouts/art-global-search/index.vue')['default']
|
||||
ArtHBarChart: typeof import('./../components/core/charts/ArtHBarChart.vue')['default']
|
||||
ArtHeaderBar: typeof import('./../components/core/layouts/art-header-bar/index.vue')['default']
|
||||
ArtHorizontalMenu: typeof import('./../components/core/layouts/art-menus/art-horizontal-menu/index.vue')['default']
|
||||
ArtIconSelector: typeof import('./../components/core/base/ArtIconSelector.vue')['default']
|
||||
ArtImageCard: typeof import('./../components/core/cards/ArtImageCard.vue')['default']
|
||||
ArtKLineChart: typeof import('./../components/core/charts/ArtKLineChart.vue')['default']
|
||||
ArtLayouts: typeof import('./../components/core/layouts/art-layouts/index.vue')['default']
|
||||
ArtLineChart: typeof import('./../components/core/charts/ArtLineChart.vue')['default']
|
||||
ArtLineChartCard: typeof import('./../components/core/cards/ArtLineChartCard.vue')['default']
|
||||
ArtLogo: typeof import('./../components/core/base/ArtLogo.vue')['default']
|
||||
ArtMapChart: typeof import('./../components/core/charts/ArtMapChart.vue')['default']
|
||||
ArtMenuRight: typeof import('./../components/core/others/ArtMenuRight.vue')['default']
|
||||
ArtMixedMenu: typeof import('./../components/core/layouts/art-menus/art-mixed-menu/index.vue')['default']
|
||||
ArtNotification: typeof import('./../components/core/layouts/art-notification/index.vue')['default']
|
||||
ArtPageContent: typeof import('./../components/core/layouts/art-page-content/index.vue')['default']
|
||||
ArtProgressCard: typeof import('./../components/core/cards/ArtProgressCard.vue')['default']
|
||||
ArtRadarChart: typeof import('./../components/core/charts/ArtRadarChart.vue')['default']
|
||||
ArtResultPage: typeof import('./../components/core/views/result/ArtResultPage.vue')['default']
|
||||
ArtRingChart: typeof import('./../components/core/charts/ArtRingChart.vue')['default']
|
||||
ArtScatterChart: typeof import('./../components/core/charts/ArtScatterChart.vue')['default']
|
||||
ArtScreenLock: typeof import('./../components/core/layouts/art-screen-lock/index.vue')['default']
|
||||
ArtSearchBar: typeof import('./../components/core/forms/art-search-bar/index.vue')['default']
|
||||
ArtSearchDate: typeof import('./../components/core/forms/art-search-bar/widget/art-search-date/index.vue')['default']
|
||||
ArtSearchInput: typeof import('./../components/core/forms/art-search-bar/widget/art-search-input/index.vue')['default']
|
||||
ArtSearchRadio: typeof import('./../components/core/forms/art-search-bar/widget/art-search-radio/index.vue')['default']
|
||||
ArtSearchSelect: typeof import('./../components/core/forms/art-search-bar/widget/art-search-select/index.vue')['default']
|
||||
ArtSearchTreeSelect: typeof import('./../components/core/forms/art-search-bar/widget/art-search-tree-select/index.vue')['default']
|
||||
ArtSettingsPanel: typeof import('./../components/core/layouts/art-settings-panel/index.vue')['default']
|
||||
ArtSidebarMenu: typeof import('./../components/core/layouts/art-menus/art-sidebar-menu/index.vue')['default']
|
||||
ArtStatsCard: typeof import('./../components/core/cards/ArtStatsCard.vue')['default']
|
||||
ArtTable: typeof import('./../components/core/tables/ArtTable.vue')['default']
|
||||
ArtTableFullScreen: typeof import('./../components/core/tables/ArtTableFullScreen.vue')['default']
|
||||
ArtTableHeader: typeof import('./../components/core/tables/ArtTableHeader.vue')['default']
|
||||
ArtTextScroll: typeof import('./../components/core/text-effect/ArtTextScroll.vue')['default']
|
||||
ArtTimelineListCard: typeof import('./../components/core/cards/ArtTimelineListCard.vue')['default']
|
||||
ArtVideoPlayer: typeof import('./../components/core/media/ArtVideoPlayer.vue')['default']
|
||||
ArtWangEditor: typeof import('./../components/core/forms/ArtWangEditor.vue')['default']
|
||||
ArtWatermark: typeof import('./../components/core/others/ArtWatermark.vue')['default']
|
||||
ArtWorkTab: typeof import('./../components/core/layouts/art-work-tab/index.vue')['default']
|
||||
AuditDistributionChart: typeof import('./../components/business/audit/AuditDistributionChart.vue')['default']
|
||||
AuditEventTable: typeof import('./../components/business/audit/AuditEventTable.vue')['default']
|
||||
AuditInvestigationDrawer: typeof import('./../components/business/audit/AuditInvestigationDrawer.vue')['default']
|
||||
AuditInvestigationHost: typeof import('./../components/business/audit/AuditInvestigationHost.vue')['default']
|
||||
AuditInvestigationLinks: typeof import('./../components/business/audit/AuditInvestigationLinks.vue')['default']
|
||||
AuditResourceSearchDialog: typeof import('./../components/business/audit/AuditResourceSearchDialog.vue')['default']
|
||||
BasicSettings: typeof import('./../components/core/layouts/art-settings-panel/widget/BasicSettings.vue')['default']
|
||||
BatchOperationDialog: typeof import('./../components/business/BatchOperationDialog.vue')['default']
|
||||
BatchRealnamePolicyDialog: typeof import('./../components/business/BatchRealnamePolicyDialog.vue')['default']
|
||||
BoxStyleSettings: typeof import('./../components/core/layouts/art-settings-panel/widget/BoxStyleSettings.vue')['default']
|
||||
CardOperationDialog: typeof import('./../components/business/CardOperationDialog.vue')['default']
|
||||
CardStatusTag: typeof import('./../components/business/CardStatusTag.vue')['default']
|
||||
ChunkErrorBoundary: typeof import('./../components/core/others/ChunkErrorBoundary.vue')['default']
|
||||
CodeGeneratorButton: typeof import('./../components/business/CodeGeneratorButton.vue')['default']
|
||||
ColorSettings: typeof import('./../components/core/layouts/art-settings-panel/widget/ColorSettings.vue')['default']
|
||||
CommentItem: typeof import('./../components/custom/comment-widget/widget/CommentItem.vue')['default']
|
||||
CommentWidget: typeof import('./../components/custom/comment-widget/index.vue')['default']
|
||||
CommissionDisplay: typeof import('./../components/business/CommissionDisplay.vue')['default']
|
||||
ContainerSettings: typeof import('./../components/core/layouts/art-settings-panel/widget/ContainerSettings.vue')['default']
|
||||
CreateRefundDialog: typeof import('./../components/business/CreateRefundDialog.vue')['default']
|
||||
CustomerAccountDialog: typeof import('./../components/business/CustomerAccountDialog.vue')['default']
|
||||
DetailPage: typeof import('./../components/common/DetailPage.vue')['default']
|
||||
ElAlert: typeof import('element-plus/es')['ElAlert']
|
||||
ElAvatar: typeof import('element-plus/es')['ElAvatar']
|
||||
ElButton: typeof import('element-plus/es')['ElButton']
|
||||
ElCard: typeof import('element-plus/es')['ElCard']
|
||||
ElCascader: typeof import('element-plus/es')['ElCascader']
|
||||
ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
|
||||
ElCol: typeof import('element-plus/es')['ElCol']
|
||||
ElCollapse: typeof import('element-plus/es')['ElCollapse']
|
||||
ElCollapseItem: typeof import('element-plus/es')['ElCollapseItem']
|
||||
ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
|
||||
ElDatePicker: typeof import('element-plus/es')['ElDatePicker']
|
||||
ElDescriptions: typeof import('element-plus/es')['ElDescriptions']
|
||||
ElDescriptionsItem: typeof import('element-plus/es')['ElDescriptionsItem']
|
||||
ElDialog: typeof import('element-plus/es')['ElDialog']
|
||||
ElDivider: typeof import('element-plus/es')['ElDivider']
|
||||
ElDrawer: typeof import('element-plus/es')['ElDrawer']
|
||||
ElDropdown: typeof import('element-plus/es')['ElDropdown']
|
||||
ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem']
|
||||
ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu']
|
||||
ElEmpty: typeof import('element-plus/es')['ElEmpty']
|
||||
ElForm: typeof import('element-plus/es')['ElForm']
|
||||
ElFormItem: typeof import('element-plus/es')['ElFormItem']
|
||||
ElIcon: typeof import('element-plus/es')['ElIcon']
|
||||
ElInput: typeof import('element-plus/es')['ElInput']
|
||||
ElInputNumber: typeof import('element-plus/es')['ElInputNumber']
|
||||
ElMenu: typeof import('element-plus/es')['ElMenu']
|
||||
ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
|
||||
ElOption: typeof import('element-plus/es')['ElOption']
|
||||
ElPagination: typeof import('element-plus/es')['ElPagination']
|
||||
ElPopover: typeof import('element-plus/es')['ElPopover']
|
||||
ElRadio: typeof import('element-plus/es')['ElRadio']
|
||||
ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
|
||||
ElRow: typeof import('element-plus/es')['ElRow']
|
||||
ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
|
||||
ElSelect: typeof import('element-plus/es')['ElSelect']
|
||||
ElSubMenu: typeof import('element-plus/es')['ElSubMenu']
|
||||
ElSwitch: typeof import('element-plus/es')['ElSwitch']
|
||||
ElTable: typeof import('element-plus/es')['ElTable']
|
||||
ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
|
||||
ElTag: typeof import('element-plus/es')['ElTag']
|
||||
ElTimeline: typeof import('element-plus/es')['ElTimeline']
|
||||
ElTimelineItem: typeof import('element-plus/es')['ElTimelineItem']
|
||||
ElTooltip: typeof import('element-plus/es')['ElTooltip']
|
||||
ElTreeSelect: typeof import('element-plus/es')['ElTreeSelect']
|
||||
ElUpload: typeof import('element-plus/es')['ElUpload']
|
||||
ElWatermark: typeof import('element-plus/es')['ElWatermark']
|
||||
ExportTaskCreateDialog: typeof import('./../components/business/ExportTaskCreateDialog.vue')['default']
|
||||
HorizontalSubmenu: typeof import('./../components/core/layouts/art-menus/art-horizontal-menu/widget/HorizontalSubmenu.vue')['default']
|
||||
ImportDialog: typeof import('./../components/business/ImportDialog.vue')['default']
|
||||
LoginLeftView: typeof import('./../components/core/views/login/LoginLeftView.vue')['default']
|
||||
MenuLayoutSettings: typeof import('./../components/core/layouts/art-settings-panel/widget/MenuLayoutSettings.vue')['default']
|
||||
MenuStyleSettings: typeof import('./../components/core/layouts/art-settings-panel/widget/MenuStyleSettings.vue')['default']
|
||||
OperatorSelect: typeof import('./../components/business/OperatorSelect.vue')['default']
|
||||
PackageSelector: typeof import('./../components/business/PackageSelector.vue')['default']
|
||||
PaymentVoucherDialog: typeof import('./../components/business/PaymentVoucherDialog.vue')['default']
|
||||
RealnamePolicyDialog: typeof import('./../components/device/RealnamePolicyDialog.vue')['default']
|
||||
RouterLink: typeof import('vue-router')['RouterLink']
|
||||
RouterView: typeof import('vue-router')['RouterView']
|
||||
SectionTitle: typeof import('./../components/core/layouts/art-settings-panel/widget/SectionTitle.vue')['default']
|
||||
SeriesGrantPackageDialog: typeof import('./../components/business/SeriesGrantPackageDialog.vue')['default']
|
||||
SeriesGrantPackageTable: typeof import('./../components/business/SeriesGrantPackageTable.vue')['default']
|
||||
SettingDrawer: typeof import('./../components/core/layouts/art-settings-panel/widget/SettingDrawer.vue')['default']
|
||||
SettingHeader: typeof import('./../components/core/layouts/art-settings-panel/widget/SettingHeader.vue')['default']
|
||||
SettingItem: typeof import('./../components/core/layouts/art-settings-panel/widget/SettingItem.vue')['default']
|
||||
ShopCreditLimitDialog: typeof import('./../components/business/ShopCreditLimitDialog.vue')['default']
|
||||
SidebarSubmenu: typeof import('./../components/core/layouts/art-menus/art-sidebar-menu/widget/SidebarSubmenu.vue')['default']
|
||||
SpeedLimitDialog: typeof import('./../components/device/SpeedLimitDialog.vue')['default']
|
||||
SwitchCardDialog: typeof import('./../components/device/SwitchCardDialog.vue')['default']
|
||||
TableContextMenuHint: typeof import('./../components/core/others/TableContextMenuHint.vue')['default']
|
||||
ThemeSettings: typeof import('./../components/core/layouts/art-settings-panel/widget/ThemeSettings.vue')['default']
|
||||
UpdateRealnameStatusDialog: typeof import('./../components/business/UpdateRealnameStatusDialog.vue')['default']
|
||||
VoucherUpload: typeof import('./../components/business/VoucherUpload.vue')['default']
|
||||
}
|
||||
export interface ComponentCustomProperties {
|
||||
vLoading: typeof import('element-plus/es')['ElLoadingDirective']
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1452,7 +1452,7 @@
|
||||
}
|
||||
|
||||
:deep(.asset-label--bound-device-name::before) {
|
||||
content: '\e6ef';
|
||||
content: '\e7d8';
|
||||
}
|
||||
|
||||
:deep(.asset-label--device-name::before) {
|
||||
|
||||
@@ -319,8 +319,9 @@
|
||||
v-model="usedDataForm.data_usage"
|
||||
:min="0"
|
||||
:max="usedDataMaxValue"
|
||||
:precision="3"
|
||||
:step="0.1"
|
||||
:precision="0"
|
||||
:step="1"
|
||||
step-strictly
|
||||
class="used-data-input__number"
|
||||
placeholder="请输入新的套餐真实已用量"
|
||||
/>
|
||||
@@ -457,7 +458,7 @@
|
||||
|
||||
const usedDataMaxValue = computed(() => {
|
||||
const realTotalMb = selectedPackage.value?.real_total_mb ?? 0
|
||||
return usedDataForm.unit === 'GB' ? Number((realTotalMb / 1024).toFixed(3)) : realTotalMb
|
||||
return usedDataForm.unit === 'GB' ? Math.floor(realTotalMb / 1024) : Math.floor(realTotalMb)
|
||||
})
|
||||
|
||||
const validateUsedData = (
|
||||
@@ -471,6 +472,11 @@
|
||||
return
|
||||
}
|
||||
|
||||
if (!Number.isInteger(usedDataForm.data_usage)) {
|
||||
callback(new Error('新的已用量必须为整数'))
|
||||
return
|
||||
}
|
||||
|
||||
if (dataUsageMb === undefined || dataUsageMb < 0) {
|
||||
callback(new Error('请输入可换算为非负数字 MB 的已用量'))
|
||||
return
|
||||
|
||||
@@ -62,7 +62,7 @@ export function useAssetFormatters() {
|
||||
const getRealNameStatusType = (status?: number): 'info' | 'success' | 'warning' | 'danger' => {
|
||||
if (status === undefined || status === null) return 'info'
|
||||
const map: Record<number, 'info' | 'success' | 'warning' | 'danger'> = {
|
||||
0: 'info',
|
||||
0: 'danger',
|
||||
1: 'success'
|
||||
}
|
||||
return map[status] || 'info'
|
||||
|
||||
Reference in New Issue
Block a user