From 2b3eb93b42f379f83569b03e9c4da75edd88f013 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期五, 30 一月 2026 16:29:28 +0800
Subject: [PATCH] fix: 生成货架时,输入100行,100列,页面生成会卡死(建议货架生成时输入数量限制小一些,以及不能输入负数、小数这些,只能正整数)

---
 src/views/fileManagement/bookshelf/index.vue |   33 ++++++++++++++++++++-------------
 src/api/fileManagement/bookshelf.js          |    9 +++++----
 2 files changed, 25 insertions(+), 17 deletions(-)

diff --git a/src/api/fileManagement/bookshelf.js b/src/api/fileManagement/bookshelf.js
index 0a4a748..eb3a88f 100644
--- a/src/api/fileManagement/bookshelf.js
+++ b/src/api/fileManagement/bookshelf.js
@@ -102,14 +102,15 @@
 
 /**
  * 鍒犻櫎璐ф灦
- * @description 鏍规嵁璐ф灦ID鍒犻櫎鎸囧畾鐨勮揣鏋惰褰�
- * @param {string|number} id 璐ф灦ID
+ * @description 鏍规嵁璐ф灦ID鍒犻櫎鎸囧畾鐨勮揣鏋惰褰曪紝鍚庣瑕佹眰浼犲叆 ID 鏁扮粍锛堟敮鎸佹壒閲忥級
+ * @param {Array<string|number>} data 璐ф灦ID鏁扮粍
  * @returns {Promise} 杩斿洖鍒犻櫎缁撴灉
  */
-export function deleteShelf(id) {
+export function deleteShelf(data) {
   return request({
-    url: `/warehouse/goodsShelves/delete/${id}`,
+    url: `/warehouse/goodsShelves/delete/`,
     method: "delete",
+    data,
   });
 }
 
diff --git a/src/views/fileManagement/bookshelf/index.vue b/src/views/fileManagement/bookshelf/index.vue
index 2689900..a084900 100644
--- a/src/views/fileManagement/bookshelf/index.vue
+++ b/src/views/fileManagement/bookshelf/index.vue
@@ -135,7 +135,7 @@
         <el-col class="search_thing" :span="24">
           <div class="search_label"><span class="required-span">* </span>璐ф灦灞傛暟锛�</div>
           <div class="search_input">
-            <el-input v-model="shelves.row" size="small"></el-input>
+            <el-input-number v-model="shelves.row" size="small" :min="1" :max="10" :precision="0" :step="1" controls-position="right" style="width: 100%"></el-input-number>
           </div>
         </el-col>
       </el-row>
@@ -143,7 +143,7 @@
         <el-col class="search_thing" :span="24">
           <div class="search_label"><span class="required-span">* </span>璐ф灦鍒楁暟锛�</div>
           <div class="search_input">
-            <el-input v-model="shelves.col" size="small"></el-input>
+            <el-input-number v-model="shelves.col" size="small" :min="1" :max="10" :precision="0" :step="1" controls-position="right" style="width: 100%"></el-input-number>
           </div>
         </el-col>
       </el-row>
@@ -287,6 +287,16 @@
     ElMessage.error('璇峰~鍐欒揣鏋跺垪鏁�')
     return
   }
+  const rowNum = Number(shelves.row)
+  const colNum = Number(shelves.col)
+  if (rowNum < 1 || colNum < 1 || rowNum > 10 || colNum > 10) {
+    ElMessage.error('璐ф灦灞傛暟鍜屽垪鏁伴渶涓�1-10鐨勬暣鏁�')
+    return
+  }
+  if (!Number.isInteger(rowNum) || !Number.isInteger(colNum)) {
+    ElMessage.error('璐ф灦灞傛暟鍜屽垪鏁颁笉鑳戒负灏忔暟')
+    return
+  }
   upLoadShelves.value = true
   
   if (currentEdit.value && currentEdit.value.id) {
@@ -294,8 +304,8 @@
     updateShelf({
       id: currentEdit.value.id,
       name: shelves.name,
-      row: Number(shelves.row),
-      col: Number(shelves.col),
+      row: rowNum,
+      col: colNum,
       warehouseId: entity.warehouseId
     }).then(res => {
       upLoadShelves.value = false
@@ -311,11 +321,10 @@
     
   } else {
     // 鏂板
-    // 杩欓噷闇�瑕佹浛鎹负瀹為檯鐨凙PI璋冪敤
-      addShelf({
+    addShelf({
       name: shelves.name,
-      row: Number(shelves.row),
-      col: Number(shelves.col),
+      row: rowNum,
+      col: colNum,
       warehouseId: entity.warehouseId
     }).then(res => {
       upLoadShelves.value = false
@@ -341,16 +350,14 @@
     type: "warning"
   }).then(() => {
     if (level == 1) {
-      // 鍒犻櫎浠撳簱
+      // 鍒犻櫎浠撳簱锛堟帴鍙h姹備紶 ID 鏁扮粍锛�
       deleteWarehouse([row.id]).then(res => {
         ElMessage.success('鍒犻櫎鎴愬姛')
         selectList()
       })
     } else {
-      // 鍒犻櫎璐ф灦
-      deleteShelf({
-        id: row.id
-      }).then(res => {
+      // 鍒犻櫎璐ф灦锛堟帴鍙e悓鏍疯姹備紶 ID 鏁扮粍锛�
+      deleteShelf([row.id]).then(res => {
         ElMessage.success('鍒犻櫎鎴愬姛')
         selectList()
       })

--
Gitblit v1.9.3