From 2812a2504ec3d0a98fa7e6204e6048584723adab Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期三, 08 四月 2026 14:08:34 +0800
Subject: [PATCH] #
---
rsf-design/src/components/core/tables/art-table/index.vue | 2
rsf-design/src/components/core/layouts/art-menus/art-sidebar-menu/index.vue | 22 ++
rsf-design/src/config/modules/fastEnter.js | 8
rsf-design/src/components/core/layouts/art-menus/art-sidebar-menu/style.scss | 41 +++++
rsf-design/src/hooks/core/useTable.js | 177 ++++++++++++----------
rsf-design/src/views/basic-info/warehouse-areas/index.vue | 2
rsf-design/src/components/core/layouts/art-settings-panel/composables/useSettingsState.js | 2
rsf-design/src/views/manager/stock-item/index.vue | 5
rsf-design/src/views/orders/transfer/index.vue | 2
rsf-design/src/plugins/iconify.js | 42 ++---
rsf-design/src/utils/http/index.js | 2
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WkOrderController.java | 1
rsf-design/src/main.js | 22 +-
rsf-design/src/views/basic-info/task-path-template-node/index.vue | 5
rsf-design/src/views/basic-info/loc-type/index.vue | 5
rsf-design/src/views/orders/preparation-item/index.vue | 1
rsf-design/src/views/basic-info/loc-area-mat-rela/index.vue | 1
rsf-server/src/main/resources/application-dev.yml | 4
rsf-design/src/views/basic-info/device-bind/index.vue | 1
rsf-design/src/views/auth/login/index.vue | 65 ++++++--
rsf-design/src/views/orders/purchase-item/index.vue | 1
rsf-design/src/views/basic-info/loc-area-mat/index.vue | 2
rsf-design/src/views/orders/out-stock-item/index.vue | 1
rsf-design/src/views/basic-info/task-path-template-merge/index.vue | 1
rsf-design/src/views/orders/transfer-item/index.vue | 1
rsf-design/src/views/manager/loc-item/index.vue | 1
rsf-design/src/views/basic-info/bas-station-area/index.vue | 1
rsf-design/src/views/orders/delivery-item/index.vue | 1
rsf-design/src/views/basic-info/loc-area/index.vue | 2
rsf-design/src/views/orders/asn-order-item/index.vue | 1
rsf-design/src/views/basic-info/loc-area-rela/index.vue | 5
31 files changed, 264 insertions(+), 163 deletions(-)
diff --git a/rsf-design/src/components/core/layouts/art-menus/art-sidebar-menu/index.vue b/rsf-design/src/components/core/layouts/art-menus/art-sidebar-menu/index.vue
index 4b5b501..44f5007 100644
--- a/rsf-design/src/components/core/layouts/art-menus/art-sidebar-menu/index.vue
+++ b/rsf-design/src/components/core/layouts/art-menus/art-sidebar-menu/index.vue
@@ -69,12 +69,20 @@
<!-- Logo -->
<div
class="header"
+ :class="{ 'header-dual-menu': isDualMenu }"
@click="navigateToHome"
:style="{
background: getMenuTheme.background
}"
>
- <ArtLogo v-if="!isDualMenu" class="logo" fill />
+ <ArtLogo v-if="!isDualMenu" class="logo" :fill="menuOpen" :size="30" />
+ <span
+ v-else-if="menuOpen"
+ class="dual-menu-system-name"
+ :style="{ color: getMenuTheme.systemNameColor }"
+ >
+ {{ systemName }}
+ </span>
</div>
<ElScrollbar :style="scrollbarStyle">
<ElMenu
@@ -136,6 +144,7 @@
import SidebarSubmenu from './widget/SidebarSubmenu.vue'
+ import AppConfig from '@/config'
import { useSettingStore } from '@/store/modules/setting'
import { MenuTypeEnum, MenuWidth } from '@/enums/appEnum'
import { useMenuStore } from '@/store/modules/menu'
@@ -157,6 +166,7 @@
const { width } = useWindowSize()
const menuopenwidth = computed(() => getMenuOpenWidth.value)
const menuclosewidth = computed(() => MENU_CLOSE_WIDTH)
+ const systemName = AppConfig.systemInfo.name
const isTopLeftMenu = computed(() => menuType.value === MenuTypeEnum.TOP_LEFT)
const showLeftMenu = computed(
() => menuType.value === MenuTypeEnum.LEFT || menuType.value === MenuTypeEnum.TOP_LEFT
@@ -307,6 +317,16 @@
@use './theme';
.layout-sidebar {
+ .menu-left-open {
+ width: v-bind(menuopenwidth);
+ min-width: v-bind(menuopenwidth);
+ }
+
+ .menu-left-close {
+ width: v-bind(menuclosewidth);
+ min-width: v-bind(menuclosewidth);
+ }
+
// 灞曞紑鐨勫搴�
.el-menu:not(.el-menu--collapse) {
width: v-bind(menuopenwidth);
diff --git a/rsf-design/src/components/core/layouts/art-menus/art-sidebar-menu/style.scss b/rsf-design/src/components/core/layouts/art-menus/art-sidebar-menu/style.scss
index 12b9ded..83d777b 100644
--- a/rsf-design/src/components/core/layouts/art-menus/art-sidebar-menu/style.scss
+++ b/rsf-design/src/components/core/layouts/art-menus/art-sidebar-menu/style.scss
@@ -105,6 +105,10 @@
display: flex;
flex-direction: column;
height: 100vh;
+ overflow: hidden;
+ transition:
+ width 0.25s ease,
+ min-width 0.25s ease;
@media only screen and (width <= 640px) {
height: 100dvh;
@@ -188,6 +192,26 @@
height: 100%;
max-width: 126px;
max-height: 40px;
+ transition:
+ width 0.25s ease,
+ height 0.25s ease,
+ max-width 0.25s ease,
+ max-height 0.25s ease;
+ }
+ }
+
+ .header-dual-menu {
+ justify-content: flex-start;
+
+ .dual-menu-system-name {
+ display: block;
+ width: 100%;
+ overflow: hidden;
+ font-size: 20px;
+ font-weight: 600;
+ line-height: 1.2;
+ text-overflow: ellipsis;
+ white-space: nowrap;
}
}
@@ -249,6 +273,23 @@
}
}
+@media only screen and (width > 800px) {
+ .layout-sidebar {
+ .menu-left-close {
+ .header {
+ padding: 10px;
+
+ .logo {
+ width: 30px;
+ height: 30px;
+ max-width: 30px;
+ max-height: 30px;
+ }
+ }
+ }
+ }
+}
+
@media only screen and (width <= 640px) {
.layout-sidebar {
border-right: 0 !important;
diff --git a/rsf-design/src/components/core/layouts/art-settings-panel/composables/useSettingsState.js b/rsf-design/src/components/core/layouts/art-settings-panel/composables/useSettingsState.js
index ed9a46b..83756c0 100644
--- a/rsf-design/src/components/core/layouts/art-settings-panel/composables/useSettingsState.js
+++ b/rsf-design/src/components/core/layouts/art-settings-panel/composables/useSettingsState.js
@@ -24,7 +24,7 @@
settingStore.setMenuOpen(true)
}
nextTick(() => {
- settingStore.reload()
+ window.dispatchEvent(new Event('resize'))
})
}
return {
diff --git a/rsf-design/src/components/core/tables/art-table/index.vue b/rsf-design/src/components/core/tables/art-table/index.vue
index 92374b1..b005e27 100644
--- a/rsf-design/src/components/core/tables/art-table/index.vue
+++ b/rsf-design/src/components/core/tables/art-table/index.vue
@@ -118,7 +118,7 @@
}
})
const DEFAULT_PAGINATION_OPTIONS = {
- pageSizes: [10, 20, 30, 50, 100],
+ pageSizes: [20, 30, 50, 100],
align: 'center',
background: true,
layout: layout.value,
diff --git a/rsf-design/src/config/modules/fastEnter.js b/rsf-design/src/config/modules/fastEnter.js
index 0e85625..929d585 100644
--- a/rsf-design/src/config/modules/fastEnter.js
+++ b/rsf-design/src/config/modules/fastEnter.js
@@ -54,15 +54,9 @@
routeName: 'Register'
},
{
- name: '蹇樿瀵嗙爜',
- enabled: true,
- order: 3,
- routeName: 'ForgetPassword'
- },
- {
name: '涓汉涓績',
enabled: true,
- order: 4,
+ order: 3,
routeName: 'UserCenter'
}
]
diff --git a/rsf-design/src/hooks/core/useTable.js b/rsf-design/src/hooks/core/useTable.js
index 7525702..e9a5c83 100644
--- a/rsf-design/src/hooks/core/useTable.js
+++ b/rsf-design/src/hooks/core/useTable.js
@@ -1,5 +1,6 @@
import { ref, reactive, computed, onMounted, onUnmounted, nextTick, readonly } from 'vue'
import { useWindowSize } from '@vueuse/core'
+import { hash } from 'ohash'
import { useTableColumns } from './useTableColumns'
import { TableCache, CacheInvalidationStrategy } from '../../utils/table/tableCache'
import {
@@ -59,12 +60,14 @@
const error = ref(null)
const data = ref([])
let abortController = null
+ let inflightRequest = null
+ let inflightRequestKey = ''
let cacheCleanupTimer = null
const searchParams = reactive(
Object.assign(
{
[pageKey]: 1,
- [sizeKey]: 10
+ [sizeKey]: 20
},
apiParams || {}
)
@@ -113,6 +116,27 @@
cacheUpdateTrigger.value++
}
const fetchData = async (params, useCache = enableCache) => {
+ let requestParams = Object.assign(
+ {},
+ searchParams,
+ {
+ [pageKey]: pagination.current,
+ [sizeKey]: pagination.size
+ },
+ params || {}
+ )
+ if (excludeParams.length > 0) {
+ const filteredParams = { ...requestParams }
+ excludeParams.forEach((key) => {
+ delete filteredParams[key]
+ })
+ requestParams = filteredParams
+ }
+ const requestKey = hash(requestParams)
+ if (inflightRequest && inflightRequestKey === requestKey) {
+ logger.log('澶嶇敤杩涜涓殑璇锋眰')
+ return inflightRequest
+ }
if (abortController) {
abortController.abort()
}
@@ -120,88 +144,81 @@
abortController = currentController
loadingState.value = 'loading'
error.value = null
- try {
- let requestParams = Object.assign(
- {},
- searchParams,
- {
- [pageKey]: pagination.current,
- [sizeKey]: pagination.size
- },
- params || {}
- )
- if (excludeParams.length > 0) {
- const filteredParams = { ...requestParams }
- excludeParams.forEach((key) => {
- delete filteredParams[key]
- })
- requestParams = filteredParams
- }
- if (useCache && cache) {
- const cachedItem = cache.get(requestParams)
- if (cachedItem) {
- data.value = cachedItem.data
- updatePaginationFromResponse(pagination, cachedItem.response)
- const paramsRecord2 = searchParams
- if (paramsRecord2[pageKey] !== pagination.current) {
- paramsRecord2[pageKey] = pagination.current
+ const currentRequest = (async () => {
+ try {
+ if (useCache && cache) {
+ const cachedItem = cache.get(requestParams)
+ if (cachedItem) {
+ data.value = cachedItem.data
+ updatePaginationFromResponse(pagination, cachedItem.response)
+ const paramsRecord2 = searchParams
+ if (paramsRecord2[pageKey] !== pagination.current) {
+ paramsRecord2[pageKey] = pagination.current
+ }
+ if (paramsRecord2[sizeKey] !== pagination.size) {
+ paramsRecord2[sizeKey] = pagination.size
+ }
+ loadingState.value = 'success'
+ if (onCacheHit) {
+ onCacheHit(cachedItem.data, cachedItem.response)
+ }
+ logger.log(`缂撳瓨鍛戒腑`)
+ return cachedItem.response
}
- if (paramsRecord2[sizeKey] !== pagination.size) {
- paramsRecord2[sizeKey] = pagination.size
- }
- loadingState.value = 'success'
- if (onCacheHit) {
- onCacheHit(cachedItem.data, cachedItem.response)
- }
- logger.log(`缂撳瓨鍛戒腑`)
- return cachedItem.response
+ }
+ const response = await apiFn(requestParams)
+ if (currentController.signal.aborted) {
+ throw new Error('璇锋眰宸插彇娑�')
+ }
+ const standardResponse = responseAdapter(response)
+ let tableData = extractTableData(standardResponse)
+ if (dataTransformer) {
+ tableData = dataTransformer(tableData)
+ }
+ data.value = tableData
+ updatePaginationFromResponse(pagination, standardResponse)
+ const paramsRecord = searchParams
+ if (paramsRecord[pageKey] !== pagination.current) {
+ paramsRecord[pageKey] = pagination.current
+ }
+ if (paramsRecord[sizeKey] !== pagination.size) {
+ paramsRecord[sizeKey] = pagination.size
+ }
+ if (useCache && cache) {
+ cache.set(requestParams, tableData, standardResponse)
+ cacheUpdateTrigger.value++
+ logger.log(`鏁版嵁宸茬紦瀛榒)
+ }
+ loadingState.value = 'success'
+ if (onSuccess) {
+ onSuccess(tableData, standardResponse)
+ }
+ return standardResponse
+ } catch (err) {
+ if (
+ err instanceof Error &&
+ (err.message === '璇锋眰宸插彇娑�' || err.code === 'REQUEST_CANCELLED')
+ ) {
+ loadingState.value = 'idle'
+ return { records: [], total: 0, current: 1, size: 10 }
+ }
+ loadingState.value = 'error'
+ data.value = []
+ const tableError = handleError(err, '鑾峰彇琛ㄦ牸鏁版嵁澶辫触')
+ throw tableError
+ } finally {
+ if (abortController === currentController) {
+ abortController = null
+ }
+ if (inflightRequest === currentRequest) {
+ inflightRequest = null
+ inflightRequestKey = ''
}
}
- const response = await apiFn(requestParams)
- if (currentController.signal.aborted) {
- throw new Error('璇锋眰宸插彇娑�')
- }
- const standardResponse = responseAdapter(response)
- let tableData = extractTableData(standardResponse)
- if (dataTransformer) {
- tableData = dataTransformer(tableData)
- }
- data.value = tableData
- updatePaginationFromResponse(pagination, standardResponse)
- const paramsRecord = searchParams
- if (paramsRecord[pageKey] !== pagination.current) {
- paramsRecord[pageKey] = pagination.current
- }
- if (paramsRecord[sizeKey] !== pagination.size) {
- paramsRecord[sizeKey] = pagination.size
- }
- if (useCache && cache) {
- cache.set(requestParams, tableData, standardResponse)
- cacheUpdateTrigger.value++
- logger.log(`鏁版嵁宸茬紦瀛榒)
- }
- loadingState.value = 'success'
- if (onSuccess) {
- onSuccess(tableData, standardResponse)
- }
- return standardResponse
- } catch (err) {
- if (
- err instanceof Error &&
- (err.message === '璇锋眰宸插彇娑�' || err.code === 'REQUEST_CANCELLED')
- ) {
- loadingState.value = 'idle'
- return { records: [], total: 0, current: 1, size: 10 }
- }
- loadingState.value = 'error'
- data.value = []
- const tableError = handleError(err, '鑾峰彇琛ㄦ牸鏁版嵁澶辫触')
- throw tableError
- } finally {
- if (abortController === currentController) {
- abortController = null
- }
- }
+ })()
+ inflightRequest = currentRequest
+ inflightRequestKey = requestKey
+ return currentRequest
}
const getData = async (params) => {
try {
diff --git a/rsf-design/src/main.js b/rsf-design/src/main.js
index 2876cc7..a3cf17b 100644
--- a/rsf-design/src/main.js
+++ b/rsf-design/src/main.js
@@ -10,12 +10,18 @@
import { registerLocalIconCollections } from './plugins/iconify'
import { setupErrorHandle } from './utils/sys/error-handle'
document.addEventListener('touchstart', function () {}, { passive: false })
-registerLocalIconCollections()
-const app = createApp(App)
-initStore(app)
-initRouter(app)
-setupGlobDirectives(app)
-setupErrorHandle(app)
-app.use(language)
-app.mount('#app')
+async function bootstrap() {
+ await registerLocalIconCollections()
+
+ const app = createApp(App)
+
+ initStore(app)
+ initRouter(app)
+ setupGlobDirectives(app)
+ setupErrorHandle(app)
+ app.use(language)
+ app.mount('#app')
+}
+
+void bootstrap()
diff --git a/rsf-design/src/plugins/iconify.js b/rsf-design/src/plugins/iconify.js
index 1895fc7..1bbd4a0 100644
--- a/rsf-design/src/plugins/iconify.js
+++ b/rsf-design/src/plugins/iconify.js
@@ -1,36 +1,26 @@
import { addCollection } from '@iconify/vue/offline'
-import { icons as fluentIcons } from '@iconify-json/fluent'
-import { icons as iconParkOutlineIcons } from '@iconify-json/icon-park-outline'
-import { icons as iconamoonIcons } from '@iconify-json/iconamoon'
-import { icons as ixIcons } from '@iconify-json/ix'
-import { icons as lineMdIcons } from '@iconify-json/line-md'
-import { icons as remixIcons } from '@iconify-json/ri'
-import { icons as svgSpinnersIcons } from '@iconify-json/svg-spinners'
-import { icons as systemUiconsIcons } from '@iconify-json/system-uicons'
-import { icons as vaadinIcons } from '@iconify-json/vaadin'
let iconCollectionsRegistered = false
+let iconCollectionsPromise = null
-export const LOCAL_ICON_COLLECTIONS = Object.freeze({
- fluent: fluentIcons,
- 'icon-park-outline': iconParkOutlineIcons,
- iconamoon: iconamoonIcons,
- ix: ixIcons,
- 'line-md': lineMdIcons,
- ri: remixIcons,
- 'svg-spinners': svgSpinnersIcons,
- 'system-uicons': systemUiconsIcons,
- vaadin: vaadinIcons
-})
-
-export function registerLocalIconCollections() {
+export async function registerLocalIconCollections() {
if (iconCollectionsRegistered) {
return
}
- Object.values(LOCAL_ICON_COLLECTIONS).forEach((collection) => {
- addCollection(collection)
- })
+ if (!iconCollectionsPromise) {
+ iconCollectionsPromise = import('./iconify.collections.js')
+ .then(({ LOCAL_ICON_COLLECTIONS }) => {
+ Object.values(LOCAL_ICON_COLLECTIONS).forEach((collection) => {
+ addCollection(collection)
+ })
+ iconCollectionsRegistered = true
+ })
+ .catch((error) => {
+ iconCollectionsPromise = null
+ throw error
+ })
+ }
- iconCollectionsRegistered = true
+ await iconCollectionsPromise
}
diff --git a/rsf-design/src/utils/http/index.js b/rsf-design/src/utils/http/index.js
index b9205e5..64720ae 100644
--- a/rsf-design/src/utils/http/index.js
+++ b/rsf-design/src/utils/http/index.js
@@ -3,7 +3,7 @@
import { ApiStatus } from './status'
import { HttpError, handleError, showError, showSuccess } from './error'
import { $t } from '@/locales'
-const REQUEST_TIMEOUT = 15e3
+const REQUEST_TIMEOUT = 30e3
const LOGOUT_DELAY = 500
const MAX_RETRIES = 0
const RETRY_DELAY = 1e3
diff --git a/rsf-design/src/views/auth/login/index.vue b/rsf-design/src/views/auth/login/index.vue
index 57fe948..1933d53 100644
--- a/rsf-design/src/views/auth/login/index.vue
+++ b/rsf-design/src/views/auth/login/index.vue
@@ -10,7 +10,26 @@
<div class="form">
<h3 class="title">{{ $t('login.title') }}</h3>
<p class="sub-title">{{ $t('login.subTitle') }}</p>
+ <div v-if="initLoading" class="mt-6">
+ <ElSkeleton :rows="6" animated />
+ </div>
+
+ <ElResult
+ v-else-if="initErrorMessage"
+ class="mt-6"
+ icon="error"
+ :title="$t('crud.messages.loadFailed')"
+ :sub-title="initErrorMessage"
+ >
+ <template #extra>
+ <ElButton type="primary" @click="handleRetryInit" v-ripple>
+ {{ $t('common.actions.reload') }}
+ </ElButton>
+ </template>
+ </ElResult>
+
<ElForm
+ v-else
ref="formRef"
:model="formData"
:rules="rules"
@@ -24,6 +43,7 @@
class="custom-height"
:placeholder="$t('login.placeholder.username')"
v-model.trim="formData.username"
+ :disabled="loading"
/>
</ElFormItem>
<ElFormItem prop="password">
@@ -34,6 +54,7 @@
type="password"
autocomplete="off"
show-password
+ :disabled="loading"
/>
</ElFormItem>
<ElFormItem v-if="requiresTenantSelection" prop="tenantId">
@@ -44,6 +65,7 @@
filterable
:loading="tenantLoading"
:placeholder="$t('login.placeholder.tenant')"
+ :disabled="loading || tenantLoading"
>
<ElOption
v-for="tenant in tenantOptions"
@@ -54,13 +76,10 @@
</ElSelect>
</ElFormItem>
- <div class="flex-cb mt-2 text-sm">
- <ElCheckbox v-model="formData.rememberPassword">{{
+ <div class="mt-2 text-sm">
+ <ElCheckbox v-model="formData.rememberPassword" :disabled="loading">{{
$t('login.rememberPwd')
}}</ElCheckbox>
- <RouterLink class="text-theme" :to="{ name: 'ForgetPassword' }">{{
- $t('login.forgetPwd')
- }}</RouterLink>
</div>
<div style="margin-top: 30px">
@@ -69,18 +88,12 @@
type="primary"
@click="handleSubmit"
:loading="loading"
+ :disabled="loading"
v-ripple
>
{{ $t('login.btnText') }}
</ElButton>
</div>
-
-<!-- <div class="mt-5 text-sm text-gray-600">-->
-<!-- <span>{{ $t('login.noAccount') }}</span>-->
-<!-- <RouterLink class="text-theme" :to="{ name: 'Register' }">{{-->
-<!-- $t('login.register')-->
-<!-- }}</RouterLink>-->
-<!-- </div>-->
</ElForm>
</div>
</div>
@@ -130,6 +143,8 @@
: []
}))
const loading = ref(false)
+ const initLoading = ref(true)
+ const initErrorMessage = ref('')
const hydrateRememberedLogin = () => {
const rememberEnabled =
@@ -184,6 +199,22 @@
}
}
+ const initializeLoginPage = async () => {
+ initLoading.value = true
+ initErrorMessage.value = ''
+ try {
+ await loadLoginSupports()
+ await nextTick()
+ formRef.value?.clearValidate()
+ } catch (error) {
+ tenantOptions.value = []
+ formData.tenantId = ''
+ initErrorMessage.value = error?.message || t('httpMsg.requestFailed')
+ } finally {
+ initLoading.value = false
+ }
+ }
+
const persistRememberedLogin = () => {
localStorage.setItem(
StorageConfig.LOGIN_REMEMBER_ENABLED_KEY,
@@ -202,7 +233,7 @@
}
const handleSubmit = async () => {
- if (!formRef.value) return
+ if (!formRef.value || initLoading.value || initErrorMessage.value) return
try {
const valid = await formRef.value.validate()
if (!valid) return
@@ -225,6 +256,10 @@
}
}
+ const handleRetryInit = () => {
+ void initializeLoginPage()
+ }
+
watch(
() => formData.tenantId,
(value) => {
@@ -236,9 +271,7 @@
onMounted(async () => {
hydrateRememberedLogin()
- await loadLoginSupports()
- await nextTick()
- formRef.value?.clearValidate()
+ await initializeLoginPage()
})
const showLoginSuccessNotice = () => {
diff --git a/rsf-design/src/views/basic-info/bas-station-area/index.vue b/rsf-design/src/views/basic-info/bas-station-area/index.vue
index 95f6f39..2d450d5 100644
--- a/rsf-design/src/views/basic-info/bas-station-area/index.vue
+++ b/rsf-design/src/views/basic-info/bas-station-area/index.vue
@@ -492,6 +492,7 @@
core: {
apiFn: fetchBasStationAreaPage,
apiParams: buildBasStationAreaPageQueryParams(searchForm.value),
+ immediate: false,
paginationKey: getBasStationAreaPaginationKey(),
columnsFactory: () =>
createBasStationAreaTableColumns({
diff --git a/rsf-design/src/views/basic-info/device-bind/index.vue b/rsf-design/src/views/basic-info/device-bind/index.vue
index 091c9b4..0857025 100644
--- a/rsf-design/src/views/basic-info/device-bind/index.vue
+++ b/rsf-design/src/views/basic-info/device-bind/index.vue
@@ -319,6 +319,7 @@
core: {
apiFn: fetchDeviceBindPage,
apiParams: buildDeviceBindPageQueryParams(searchForm.value),
+ immediate: false,
paginationKey: getDeviceBindPaginationKey(),
columnsFactory: () =>
createDeviceBindTableColumns({
diff --git a/rsf-design/src/views/basic-info/loc-area-mat-rela/index.vue b/rsf-design/src/views/basic-info/loc-area-mat-rela/index.vue
index 7194e06..6f29db9 100644
--- a/rsf-design/src/views/basic-info/loc-area-mat-rela/index.vue
+++ b/rsf-design/src/views/basic-info/loc-area-mat-rela/index.vue
@@ -306,6 +306,7 @@
core: {
apiFn: fetchLocAreaMatRelaPage,
apiParams: buildLocAreaMatRelaPageQueryParams(searchForm.value),
+ immediate: false,
paginationKey: getLocAreaMatRelaPaginationKey(),
columnsFactory: () =>
createLocAreaMatRelaTableColumns({
diff --git a/rsf-design/src/views/basic-info/loc-area-mat/index.vue b/rsf-design/src/views/basic-info/loc-area-mat/index.vue
index d81b1d6..39ae6d3 100644
--- a/rsf-design/src/views/basic-info/loc-area-mat/index.vue
+++ b/rsf-design/src/views/basic-info/loc-area-mat/index.vue
@@ -360,6 +360,6 @@
}
onMounted(async () => {
- await Promise.all([loadWarehouseOptions(), loadAreaOptions(), getData()])
+ await Promise.all([loadWarehouseOptions(), loadAreaOptions()])
})
</script>
diff --git a/rsf-design/src/views/basic-info/loc-area-rela/index.vue b/rsf-design/src/views/basic-info/loc-area-rela/index.vue
index 34c5be8..8d78dd6 100644
--- a/rsf-design/src/views/basic-info/loc-area-rela/index.vue
+++ b/rsf-design/src/views/basic-info/loc-area-rela/index.vue
@@ -68,7 +68,7 @@
</template>
<script setup>
- import { computed, onMounted, ref } from 'vue'
+ import { computed, ref } from 'vue'
import { ElMessage } from 'element-plus'
import { useUserStore } from '@/store/modules/user'
import { useAuth } from '@/hooks/core/useAuth'
@@ -355,7 +355,4 @@
resetSearchParams()
}
- onMounted(async () => {
- await getData()
- })
</script>
diff --git a/rsf-design/src/views/basic-info/loc-area/index.vue b/rsf-design/src/views/basic-info/loc-area/index.vue
index 8d3032c..05b37c7 100644
--- a/rsf-design/src/views/basic-info/loc-area/index.vue
+++ b/rsf-design/src/views/basic-info/loc-area/index.vue
@@ -340,6 +340,6 @@
}
onMounted(async () => {
- await Promise.all([loadAreaOptions(), getData()])
+ await Promise.all([loadAreaOptions()])
})
</script>
diff --git a/rsf-design/src/views/basic-info/loc-type/index.vue b/rsf-design/src/views/basic-info/loc-type/index.vue
index b686593..a4d751c 100644
--- a/rsf-design/src/views/basic-info/loc-type/index.vue
+++ b/rsf-design/src/views/basic-info/loc-type/index.vue
@@ -68,7 +68,7 @@
</template>
<script setup>
- import { computed, onMounted, ref } from 'vue'
+ import { computed, ref } from 'vue'
import { ElMessage } from 'element-plus'
import { useUserStore } from '@/store/modules/user'
import { useAuth } from '@/hooks/core/useAuth'
@@ -336,7 +336,4 @@
resetSearchParams()
}
- onMounted(async () => {
- await getData()
- })
</script>
diff --git a/rsf-design/src/views/basic-info/task-path-template-merge/index.vue b/rsf-design/src/views/basic-info/task-path-template-merge/index.vue
index 7203b7f..61fa1ca 100644
--- a/rsf-design/src/views/basic-info/task-path-template-merge/index.vue
+++ b/rsf-design/src/views/basic-info/task-path-template-merge/index.vue
@@ -198,6 +198,7 @@
core: {
apiFn: fetchTaskPathTemplateMergePage,
apiParams: buildTaskPathTemplateMergePageQueryParams(searchForm.value),
+ immediate: false,
paginationKey: getTaskPathTemplateMergePaginationKey(),
columnsFactory: () =>
createTaskPathTemplateMergeTableColumns({
diff --git a/rsf-design/src/views/basic-info/task-path-template-node/index.vue b/rsf-design/src/views/basic-info/task-path-template-node/index.vue
index be5aefa..7bd171a 100644
--- a/rsf-design/src/views/basic-info/task-path-template-node/index.vue
+++ b/rsf-design/src/views/basic-info/task-path-template-node/index.vue
@@ -53,7 +53,7 @@
</template>
<script setup>
- import { computed, onMounted, ref } from 'vue'
+ import { computed, ref } from 'vue'
import { ElMessage } from 'element-plus'
import { useAuth } from '@/hooks/core/useAuth'
import { useTable } from '@/hooks/core/useTable'
@@ -356,7 +356,4 @@
resetSearchParams()
}
- onMounted(() => {
- getData()
- })
</script>
diff --git a/rsf-design/src/views/basic-info/warehouse-areas/index.vue b/rsf-design/src/views/basic-info/warehouse-areas/index.vue
index c6fd0de..ece184e 100644
--- a/rsf-design/src/views/basic-info/warehouse-areas/index.vue
+++ b/rsf-design/src/views/basic-info/warehouse-areas/index.vue
@@ -411,6 +411,6 @@
}
onMounted(async () => {
- await Promise.all([loadWarehouseOptions(), loadTypeOptions(), getData()])
+ await Promise.all([loadWarehouseOptions(), loadTypeOptions()])
})
</script>
diff --git a/rsf-design/src/views/manager/loc-item/index.vue b/rsf-design/src/views/manager/loc-item/index.vue
index 7762814..aec3c65 100644
--- a/rsf-design/src/views/manager/loc-item/index.vue
+++ b/rsf-design/src/views/manager/loc-item/index.vue
@@ -184,6 +184,7 @@
{ timeoutMessage: t('pages.manager.locItem.messages.pageTimeout') }
),
apiParams: buildLocItemPageQueryParams(searchForm.value),
+ immediate: false,
paginationKey: getLocItemPaginationKey()
},
transform: {
diff --git a/rsf-design/src/views/manager/stock-item/index.vue b/rsf-design/src/views/manager/stock-item/index.vue
index 163acd7..4856e85 100644
--- a/rsf-design/src/views/manager/stock-item/index.vue
+++ b/rsf-design/src/views/manager/stock-item/index.vue
@@ -75,7 +75,7 @@
</template>
<script setup>
- import { computed, onMounted, reactive, ref } from 'vue'
+ import { computed, reactive, ref } from 'vue'
import { ElMessage } from 'element-plus'
import { useUserStore } from '@/store/modules/user'
import { useTable } from '@/hooks/core/useTable'
@@ -486,7 +486,4 @@
})
)
- onMounted(() => {
- getData()
- })
</script>
diff --git a/rsf-design/src/views/orders/asn-order-item/index.vue b/rsf-design/src/views/orders/asn-order-item/index.vue
index 91fe80f..7b3cb5b 100644
--- a/rsf-design/src/views/orders/asn-order-item/index.vue
+++ b/rsf-design/src/views/orders/asn-order-item/index.vue
@@ -268,6 +268,7 @@
pageSize: DEFAULT_PAGE_SIZE,
orderBy: 'id desc'
}),
+ immediate: false,
columnsFactory: () =>
createAsnOrderItemTableColumns({
handleView: openDetail,
diff --git a/rsf-design/src/views/orders/delivery-item/index.vue b/rsf-design/src/views/orders/delivery-item/index.vue
index 609f5c1..0c0f089 100644
--- a/rsf-design/src/views/orders/delivery-item/index.vue
+++ b/rsf-design/src/views/orders/delivery-item/index.vue
@@ -178,6 +178,7 @@
...searchForm.value,
pageSize: 20
}),
+ immediate: false,
columnsFactory: () => createDeliveryItemTableColumns({ handleActionClick: openDetail, t })
},
transform: {
diff --git a/rsf-design/src/views/orders/out-stock-item/index.vue b/rsf-design/src/views/orders/out-stock-item/index.vue
index 555e0ae..9fc2e00 100644
--- a/rsf-design/src/views/orders/out-stock-item/index.vue
+++ b/rsf-design/src/views/orders/out-stock-item/index.vue
@@ -221,6 +221,7 @@
...searchForm.value,
pageSize: 20
}),
+ immediate: false,
columnsFactory: () => createOutStockItemTableColumns({ handleActionClick: openDetail, t })
},
transform: {
diff --git a/rsf-design/src/views/orders/preparation-item/index.vue b/rsf-design/src/views/orders/preparation-item/index.vue
index 60cb842..2631793 100644
--- a/rsf-design/src/views/orders/preparation-item/index.vue
+++ b/rsf-design/src/views/orders/preparation-item/index.vue
@@ -241,6 +241,7 @@
core: {
apiFn: fetchPreparationItemPage,
apiParams: buildPreparationItemPageQueryParams(searchForm.value),
+ immediate: false,
paginationKey: getPreparationItemPaginationKey(),
columnsFactory: () => createOutStockItemTableColumns({ handleActionClick: openDetail })
},
diff --git a/rsf-design/src/views/orders/purchase-item/index.vue b/rsf-design/src/views/orders/purchase-item/index.vue
index f120beb..75e2d99 100644
--- a/rsf-design/src/views/orders/purchase-item/index.vue
+++ b/rsf-design/src/views/orders/purchase-item/index.vue
@@ -278,6 +278,7 @@
core: {
apiFn: fetchPurchaseItemPage,
apiParams: buildPurchaseItemPageQueryParams(searchForm.value),
+ immediate: false,
paginationKey: getPurchaseItemPaginationKey(),
columnsFactory: () =>
createPurchaseItemTableColumns({
diff --git a/rsf-design/src/views/orders/transfer-item/index.vue b/rsf-design/src/views/orders/transfer-item/index.vue
index 3dc2aee..f0f001c 100644
--- a/rsf-design/src/views/orders/transfer-item/index.vue
+++ b/rsf-design/src/views/orders/transfer-item/index.vue
@@ -353,6 +353,7 @@
core: {
apiFn: fetchTransferItemPage,
apiParams: buildTransferItemPageQueryParams(searchForm.value),
+ immediate: false,
paginationKey: getTransferItemPaginationKey(),
columnsFactory: () =>
createTransferItemTableColumns({
diff --git a/rsf-design/src/views/orders/transfer/index.vue b/rsf-design/src/views/orders/transfer/index.vue
index 2088f25..3de4a1d 100644
--- a/rsf-design/src/views/orders/transfer/index.vue
+++ b/rsf-design/src/views/orders/transfer/index.vue
@@ -484,6 +484,6 @@
)
onMounted(async () => {
- await Promise.allSettled([loadTypeOptions(), loadAreaOptions(), getData()])
+ await Promise.allSettled([loadTypeOptions(), loadAreaOptions()])
})
</script>
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WkOrderController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WkOrderController.java
index d22eb63..c7c5377 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WkOrderController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WkOrderController.java
@@ -63,6 +63,7 @@
QueryWrapper<WkOrder> queryWrapper = pageParam.buildWrapper(true);
List<String> asList = Arrays.asList(OrderType.ORDER_IN.type);
queryWrapper.in("type", asList);
+ pageParam.setSearchCount(false);
return R.ok().add(asnOrderService.page(pageParam, queryWrapper));
}
diff --git a/rsf-server/src/main/resources/application-dev.yml b/rsf-server/src/main/resources/application-dev.yml
index c0b446f..5e7940f 100644
--- a/rsf-server/src/main/resources/application-dev.yml
+++ b/rsf-server/src/main/resources/application-dev.yml
@@ -114,8 +114,8 @@
pressure:
asn-order:
- enabled: true
+ enabled: false
cron: "0/10 * * * * ?"
order-count-per-run: 2000
- item-count-per-order: 10
+ item-count-per-order: 1
item-qty: 10.0
--
Gitblit v1.9.1