diff --git a/inventory-web/src/views/stock/inbound/service.vue b/inventory-web/src/views/stock/inbound/service.vue
index efed232..05d9112 100644
--- a/inventory-web/src/views/stock/inbound/service.vue
+++ b/inventory-web/src/views/stock/inbound/service.vue
@@ -110,8 +110,6 @@
style="width: 100%"
@change="onMaterialSelected"
default-first-option
- v-loadmore="loadMoreMaterials"
- popper-class="long-dropdown"
>
{{ item.spec }}
-
- 加载中...
-
@@ -265,26 +260,6 @@ const hasFormFieldPermission = (fieldName: string) => {
return userStore.hasPermission(code)
}
-// 自定义指令:v-loadmore(适配 Teleport 到 Body 的下拉框)
-const vLoadmore = {
- mounted(el: any, binding: any) {
- const checkAndBind = () => {
- const dropDownWrap = document.querySelector('.long-dropdown .el-select-dropdown__wrap')
- if (dropDownWrap && !dropDownWrap.getAttribute('data-loadmore-bound')) {
- dropDownWrap.setAttribute('data-loadmore-bound', 'true')
- dropDownWrap.addEventListener('scroll', function (this: any) {
- const condition = this.scrollHeight - this.scrollTop <= this.clientHeight + 1
- if (condition) {
- binding.value()
- }
- })
- }
- }
- setTimeout(checkAndBind, 500)
- el.addEventListener('click', () => setTimeout(checkAndBind, 300))
- }
-}
-
// 表格数据
const tableData = ref([])
const loading = ref(false)
@@ -294,10 +269,6 @@ const total = ref(0)
const materialOptions = ref([])
const searchLoading = ref(false)
-const searchPage = ref(1)
-const hasNextPage = ref(true)
-const loadingMore = ref(false)
-const searchKeyword = ref('')
const searchForm = reactive({
keyword: '',
@@ -364,15 +335,11 @@ const handleMaterialDropdownVisible = (visible: boolean) => {
const handleSearchMaterial = async (query: string) => {
searchLoading.value = true
- searchKeyword.value = query
- searchPage.value = 1
- materialOptions.value = []
try {
- const res: any = await searchMaterialBase(query, 1)
+ const res = await searchMaterialBase(query)
if (res.code === 200) {
- const apiResults = (res.data?.items || []).map((i: any) => ({ ...i, isHistory: false }))
+ const apiResults = (res.data || []).map((i: any) => ({ ...i, isHistory: false }))
materialOptions.value = apiResults
- hasNextPage.value = res.data?.has_next ?? false
} else {
materialOptions.value = []
}
@@ -383,26 +350,6 @@ const handleSearchMaterial = async (query: string) => {
}
}
-const loadMoreMaterials = async () => {
- if (searchLoading.value || loadingMore.value || !hasNextPage.value) return
- loadingMore.value = true
- searchPage.value += 1
- try {
- const res: any = await searchMaterialBase(searchKeyword.value, searchPage.value)
- if (res.data && res.data.items && res.data.items.length > 0) {
- const newItems = res.data.items.map((i: any) => ({ ...i, isHistory: false }))
- materialOptions.value.push(...newItems)
- hasNextPage.value = res.data.has_next
- } else {
- hasNextPage.value = false
- }
- } catch (e) {
- searchPage.value -= 1
- } finally {
- loadingMore.value = false
- }
-}
-
const onMaterialSelected = (val: number) => {
const item = materialOptions.value.find(i => i.id === val)
if (item) {