fix: 生成货架时,输入100行,100列,页面生成会卡死(建议货架生成时输入数量限制小一些,以及不能输入负数、小数这些,只能正整数)
已修改2个文件
42 ■■■■■ 文件已修改
src/api/fileManagement/bookshelf.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/fileManagement/bookshelf/index.vue 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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,
  });
}
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 {
    // 新增
    // 这里需要替换为实际的API调用
      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) {
      // 删除仓库
      // 删除仓库(接口要求传 ID 数组)
      deleteWarehouse([row.id]).then(res => {
        ElMessage.success('删除成功')
        selectList()
      })
    } else {
      // 删除货架
      deleteShelf({
        id: row.id
      }).then(res => {
      // 删除货架(接口同样要求传 ID 数组)
      deleteShelf([row.id]).then(res => {
        ElMessage.success('删除成功')
        selectList()
      })