feat(wms): 添加库位分割合并功能并优化仓库展示

refactor(warehouse): 重构仓库组件为按列展示模式
- 将分层展示改为分列展示,每列包含上下两层库位
- 添加右键菜单支持分割、合并操作
- 优化库位格子样式和交互

feat(crm): 新增订单编辑组件并实现自动保存
- 添加OrderEdit组件支持订单信息编辑
- 实现2秒延迟自动保存功能
- 优化订单详情页面布局

fix(delivery): 在查询参数中添加当前用户ID
- 在mycoil列表查询中添加saleId参数

style(preOrder): 注释掉审核人和审核时间列
- 隐藏预订单列表中的审核信息列

chore(warehouse): 移除仓库实体的导入导出按钮
- 注释掉仓库管理页面的模板下载和导入功能
This commit is contained in:
砂糖
2025-12-19 18:06:55 +08:00
parent a178ee4f5e
commit c821a2f7b9
10 changed files with 703 additions and 202 deletions

View File

@@ -15,7 +15,7 @@
element-loading-spinner="el-icon-loading">
<!-- 导出所有二维码 -->
<!-- <button buttonLoading type="primary" @click="exportAllQrcodes">导出二维码</button> -->
<WarehouseBird :warehouse-list="warehouseList" @open-init-dialog="openInitDialog" />
<WarehouseBird :warehouse-list="warehouseList" @open-init-dialog="openInitDialog" @split-warehouse="handleSplitWarehouse"/>
</div>
<!-- 未选中节点提示 -->
@@ -58,7 +58,7 @@
</template>
<script>
import { listActualWarehouse, treeActualWarehouseTwoLevel, getActualWarehouse, generateLocations } from "@/api/wms/actualWarehouse";
import { listActualWarehouse, treeActualWarehouseTwoLevel, getActualWarehouse, generateLocations, splitActualWarehouse, mergeActualWarehouse } from "@/api/wms/actualWarehouse";
import WarehouseBird from './components/WarehouseBird.vue';
import jsPDF from 'jspdf';
import QRCode from 'qrcode';
@@ -120,6 +120,19 @@ export default {
if (this.nodeClickTimer) clearTimeout(this.nodeClickTimer);
},
methods: {
/**
* 处理分割库位事件
*/
handleSplitWarehouse(warehouse) {
// this.$message.success(`成功分割库位:${warehouse.actualWarehouseCode}`);
console.log(warehouse)
// splitActualWarehouse(warehouse.actualWarehouseId).then(res => {
// this.$message.success(`成功分割库位:${warehouse.actualWarehouseCode}`);
// this.getWarehouseList(this.selectedNodeId)
// }).catch(err => {
// this.$message.error(`分割库位失败:${err.message}`);
// })
},
// 获取树形数据
getWarehouseTree() {
this.treeLoading = true;
@@ -392,7 +405,7 @@ export default {
gap: 16px;
.tree-container {
width: 280px;
width: 160px;
height: 100%;
background: #fff;
border-radius: 8px;