diff --git a/package.json b/package.json index fea5625..6daa693 100644 --- a/package.json +++ b/package.json @@ -40,8 +40,10 @@ "js-beautify": "1.10.2", "js-cookie": "2.2.0", "jsencrypt": "3.0.0-rc.1", + "kr-print-designer": "^1.1.8", "less-loader": "^6.0.0", "mavon-editor": "^2.9.1", + "moment": "^2.30.1", "normalize.css": "7.0.0", "nprogress": "0.2.0", "path-to-regexp": "2.4.0", @@ -76,6 +78,8 @@ "sass": "1.32.13", "sass-loader": "10.1.0", "script-ext-html-webpack-plugin": "2.1.3", + "stylus": "^0.54.5", + "stylus-loader": "^3.0.2", "svg-sprite-loader": "4.1.3", "vue-template-compiler": "2.6.12" }, diff --git a/src/api/productManagement/workoder_v2.js b/src/api/productManagement/workoder_v2.js index a2e9102..56ab8e1 100644 --- a/src/api/productManagement/workoder_v2.js +++ b/src/api/productManagement/workoder_v2.js @@ -67,6 +67,14 @@ export function updateSort(query) { params: query, }) } +export function updateSort2(query) { + // 更新排序 + return request({ + url: '/mes/pro/workorder_v2/updateSort2', + method: 'get', + params: query, + }) +} // 生成工作工单 diff --git a/src/api/wms/area.js b/src/api/wms/area.js new file mode 100644 index 0000000..2ad2441 --- /dev/null +++ b/src/api/wms/area.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询库区列表 +export function listWmsArea(query, pageReq) { + return request({ + url: '/wms/area/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询库区详细 +export function getWmsArea(id) { + return request({ + url: '/wms/area/' + id, + method: 'get' + }) +} + +// 新增库区 +export function addWmsArea(data) { + return request({ + url: '/wms/area', + method: 'post', + data: data + }) +} + +// 修改库区 +export function updateWmsArea(data) { + return request({ + url: '/wms/area', + method: 'put', + data: data + }) +} + +// 删除库区 +export function delWmsArea(id) { + return request({ + url: '/wms/area/' + id, + method: 'delete' + }) +} + +// 导出库区 +export function exportWmsArea(query) { + return request({ + url: '/wms/area/export', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/src/api/wms/carrier.js b/src/api/wms/carrier.js new file mode 100644 index 0000000..24ef00c --- /dev/null +++ b/src/api/wms/carrier.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询承运商列表 +export function listWmsCarrier(query, pageReq) { + return request({ + url: '/wms/carrier/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询承运商详细 +export function getWmsCarrier(id) { + return request({ + url: '/wms/carrier/' + id, + method: 'get' + }) +} + +// 新增承运商 +export function addWmsCarrier(data) { + return request({ + url: '/wms/carrier', + method: 'post', + data: data + }) +} + +// 修改承运商 +export function updateWmsCarrier(data) { + return request({ + url: '/wms/carrier', + method: 'put', + data: data + }) +} + +// 删除承运商 +export function delWmsCarrier(id) { + return request({ + url: '/wms/carrier/' + id, + method: 'delete' + }) +} + +// 导出承运商 +export function exportWmsCarrier(query) { + return request({ + url: '/wms/carrier/export', + method: 'get', + params: query + }) +} diff --git a/src/api/wms/customer.js b/src/api/wms/customer.js new file mode 100644 index 0000000..4bb612e --- /dev/null +++ b/src/api/wms/customer.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询客户列表 +export function listWmsCustomer(query, pageReq) { + return request({ + url: '/wms/customer/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询客户详细 +export function getWmsCustomer(id) { + return request({ + url: '/wms/customer/' + id, + method: 'get' + }) +} + +// 新增客户 +export function addWmsCustomer(data) { + return request({ + url: '/wms/customer', + method: 'post', + data: data + }) +} + +// 修改客户 +export function updateWmsCustomer(data) { + return request({ + url: '/wms/customer', + method: 'put', + data: data + }) +} + +// 删除客户 +export function delWmsCustomer(id) { + return request({ + url: '/wms/customer/' + id, + method: 'delete' + }) +} + +// 导出客户 +export function exportWmsCustomer(query) { + return request({ + url: '/wms/customer/export', + method: 'get', + params: query + }) +} diff --git a/src/api/wms/customerTransaction.js b/src/api/wms/customerTransaction.js new file mode 100644 index 0000000..8993287 --- /dev/null +++ b/src/api/wms/customerTransaction.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询客户账户流水列表 +export function listWmsCustomerTransaction(query, pageReq) { + return request({ + url: '/wms/customerTransaction/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询客户账户流水详细 +export function getWmsCustomerTransaction(id) { + return request({ + url: '/wms/customerTransaction/' + id, + method: 'get' + }) +} + +// 新增客户账户流水 +export function addWmsCustomerTransaction(data) { + return request({ + url: '/wms/customerTransaction', + method: 'post', + data: data + }) +} + +// 修改客户账户流水 +export function updateWmsCustomerTransaction(data) { + return request({ + url: '/wms/customerTransaction', + method: 'put', + data: data + }) +} + +// 删除客户账户流水 +export function delWmsCustomerTransaction(id) { + return request({ + url: '/wms/customerTransaction/' + id, + method: 'delete' + }) +} + +// 导出客户账户流水 +export function exportWmsCustomerTransaction(query) { + return request({ + url: '/wms/customerTransaction/export', + method: 'get', + params: query + }) +} diff --git a/src/api/wms/delivery.js b/src/api/wms/delivery.js new file mode 100644 index 0000000..b2e3070 --- /dev/null +++ b/src/api/wms/delivery.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询发货记录列表 +export function listWmsDelivery(query, pageReq) { + return request({ + url: '/wms/delivery/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询发货记录详细 +export function getWmsDelivery(id) { + return request({ + url: '/wms/delivery/' + id, + method: 'get' + }) +} + +// 新增发货记录 +export function addWmsDelivery(data) { + return request({ + url: '/wms/delivery', + method: 'post', + data: data + }) +} + +// 修改发货记录 +export function updateWmsDelivery(data) { + return request({ + url: '/wms/delivery', + method: 'put', + data: data + }) +} + +// 删除发货记录 +export function delWmsDelivery(id) { + return request({ + url: '/wms/delivery/' + id, + method: 'delete' + }) +} + +// 导出发货记录 +export function exportWmsDelivery(query) { + return request({ + url: '/wms/delivery/export', + method: 'get', + params: query + }) +} diff --git a/src/api/wms/inventory.js b/src/api/wms/inventory.js new file mode 100644 index 0000000..735a969 --- /dev/null +++ b/src/api/wms/inventory.js @@ -0,0 +1,78 @@ +import request from '@/utils/request' + +// 查询库存列表 +export function listWmsInventory(query, pageReq) { + return request({ + url: '/wms/inventory/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询预警库存列表 +export function listWarnInventory(pageReq) { + return request({ + url: '/wms/inventory/warnList', + method: 'post', + params: pageReq + }) +} + +// 查询库存详细 +export function getWmsInventory(id) { + return request({ + url: '/wms/inventory/' + id, + method: 'get' + }) +} + +// 新增库存 +export function addWmsInventory(data) { + return request({ + url: '/wms/inventory', + method: 'post', + data: data + }) +} + +// 修改库存 +export function updateWmsInventory(data) { + return request({ + url: '/wms/inventory', + method: 'put', + data: data + }) +} + +// 删除库存 +export function delWmsInventory(id) { + return request({ + url: '/wms/inventory/' + id, + method: 'delete' + }) +} +// 删除库存 +export function delWmsInventoryByItem(id) { + return request({ + url: '/wms/inventory/item/' + id, + method: 'delete' + }) +} + +// 删除库存 +export function delWmsInventoryByWarehouse(id) { + return request({ + url: '/wms/inventory/warehouse/' + id, + method: 'delete' + }) +} + +// 导出库存 +export function exportWmsInventory(query) { + return request({ + url: '/wms/inventory/export', + method: 'get', + params: query + }) +} diff --git a/src/api/wms/inventoryCheck.js b/src/api/wms/inventoryCheck.js new file mode 100644 index 0000000..f0b1608 --- /dev/null +++ b/src/api/wms/inventoryCheck.js @@ -0,0 +1,62 @@ +import request from '@/utils/request' + +// 查询库存盘点单据列表 +export function listWmsInventoryCheck(query, pageReq) { + return request({ + url: '/wms/inventoryCheck/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询库存盘点单据详细 +export function getWmsInventoryCheck(id) { + return request({ + url: '/wms/inventoryCheck/' + id, + method: 'get' + }) +} + +// 新增库存盘点单据 +export function addWmsInventoryCheck(data) { + return request({ + url: '/wms/inventoryCheck', + method: 'post', + data: data + }) +} + +export function addOrUpdateWmsInventoryCheck(data) { + return request({ + url: '/wms/inventoryCheck/add-or-update', + method: 'post', + data: data + }) +} + +// 修改库存盘点单据 +export function updateWmsInventoryCheck(data) { + return request({ + url: '/wms/inventoryCheck', + method: 'put', + data: data + }) +} + +// 删除库存盘点单据 +export function delWmsInventoryCheck(id) { + return request({ + url: '/wms/inventoryCheck/' + id, + method: 'delete' + }) +} + +// 导出库存盘点单据 +export function exportWmsInventoryCheck(query) { + return request({ + url: '/wms/inventoryCheck/export', + method: 'get', + params: query + }) +} diff --git a/src/api/wms/inventoryCheckDetail.js b/src/api/wms/inventoryCheckDetail.js new file mode 100644 index 0000000..3618df7 --- /dev/null +++ b/src/api/wms/inventoryCheckDetail.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询库存盘点单据详情列表 +export function listWmsInventoryCheckDetail(query, pageReq) { + return request({ + url: '/wms/inventoryCheckDetail/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询库存盘点单据详情详细 +export function getWmsInventoryCheckDetail(id) { + return request({ + url: '/wms/inventoryCheckDetail/' + id, + method: 'get' + }) +} + +// 新增库存盘点单据详情 +export function addWmsInventoryCheckDetail(data) { + return request({ + url: '/wms/inventoryCheckDetail', + method: 'post', + data: data + }) +} + +// 修改库存盘点单据详情 +export function updateWmsInventoryCheckDetail(data) { + return request({ + url: '/wms/inventoryCheckDetail', + method: 'put', + data: data + }) +} + +// 删除库存盘点单据详情 +export function delWmsInventoryCheckDetail(id) { + return request({ + url: '/wms/inventoryCheckDetail/' + id, + method: 'delete' + }) +} + +// 导出库存盘点单据详情 +export function exportWmsInventoryCheckDetail(query) { + return request({ + url: '/wms/inventoryCheckDetail/export', + method: 'get', + params: query + }) +} diff --git a/src/api/wms/inventoryHistory.js b/src/api/wms/inventoryHistory.js new file mode 100644 index 0000000..b855fda --- /dev/null +++ b/src/api/wms/inventoryHistory.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询库存记录列表 +export function listWmsInventoryHistory(query, pageReq) { + return request({ + url: '/wms/inventoryHistory/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询库存记录详细 +export function getWmsInventoryHistory(id) { + return request({ + url: '/wms/inventoryHistory/' + id, + method: 'get' + }) +} + +// 新增库存记录 +export function addWmsInventoryHistory(data) { + return request({ + url: '/wms/inventoryHistory', + method: 'post', + data: data + }) +} + +// 修改库存记录 +export function updateWmsInventoryHistory(data) { + return request({ + url: '/wms/inventoryHistory', + method: 'put', + data: data + }) +} + +// 删除库存记录 +export function delWmsInventoryHistory(id) { + return request({ + url: '/wms/inventoryHistory/' + id, + method: 'delete' + }) +} + +// 导出库存记录 +export function exportWmsInventoryHistory(query) { + return request({ + url: '/wms/inventoryHistory/export', + method: 'get', + params: query + }) +} diff --git a/src/api/wms/inventoryMovement.js b/src/api/wms/inventoryMovement.js new file mode 100644 index 0000000..a5a5fa8 --- /dev/null +++ b/src/api/wms/inventoryMovement.js @@ -0,0 +1,62 @@ +import request from '@/utils/request' + +// 查询库存移动列表 +export function listWmsInventoryMovement(query, pageReq) { + return request({ + url: '/wms/inventoryMovement/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询库存移动详细 +export function getWmsInventoryMovement(id) { + return request({ + url: '/wms/inventoryMovement/' + id, + method: 'get' + }) +} + +export function addOrUpdateWmsInventoryMovement(data) { + return request({ + url: '/wms/inventoryMovement/add-or-update', + method: 'post', + data: data + }) +} + +// 新增库存移动 +export function addWmsInventoryMovement(data) { + return request({ + url: '/wms/inventoryMovement', + method: 'post', + data: data + }) +} + +// 修改库存移动 +export function updateWmsInventoryMovement(data) { + return request({ + url: '/wms/inventoryMovement', + method: 'put', + data: data + }) +} + +// 删除库存移动 +export function delWmsInventoryMovement(id) { + return request({ + url: '/wms/inventoryMovement/' + id, + method: 'delete' + }) +} + +// 导出库存移动 +export function exportWmsInventoryMovement(query) { + return request({ + url: '/wms/inventoryMovement/export', + method: 'get', + params: query + }) +} diff --git a/src/api/wms/inventoryMovementDetail.js b/src/api/wms/inventoryMovementDetail.js new file mode 100644 index 0000000..9d48fc7 --- /dev/null +++ b/src/api/wms/inventoryMovementDetail.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询库存移动详情列表 +export function listWmsInventoryMovementDetail(query, pageReq) { + return request({ + url: '/wms/inventoryMovementDetail/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询库存移动详情详细 +export function getWmsInventoryMovementDetail(id) { + return request({ + url: '/wms/inventoryMovementDetail/' + id, + method: 'get' + }) +} + +// 新增库存移动详情 +export function addWmsInventoryMovementDetail(data) { + return request({ + url: '/wms/inventoryMovementDetail', + method: 'post', + data: data + }) +} + +// 修改库存移动详情 +export function updateWmsInventoryMovementDetail(data) { + return request({ + url: '/wms/inventoryMovementDetail', + method: 'put', + data: data + }) +} + +// 删除库存移动详情 +export function delWmsInventoryMovementDetail(id) { + return request({ + url: '/wms/inventoryMovementDetail/' + id, + method: 'delete' + }) +} + +// 导出库存移动详情 +export function exportWmsInventoryMovementDetail(query) { + return request({ + url: '/wms/inventoryMovementDetail/export', + method: 'get', + params: query + }) +} diff --git a/src/api/wms/inventorySettlement.js b/src/api/wms/inventorySettlement.js new file mode 100644 index 0000000..25aa2e0 --- /dev/null +++ b/src/api/wms/inventorySettlement.js @@ -0,0 +1,60 @@ +import request from '@/utils/request' + +// 查询库存结算单列表 +export function listWmsInventorySettlement(query, pageReq) { + return request({ + url: '/wms/inventorySettlement/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询库存结算单详细 +export function getWmsInventorySettlement(id) { + return request({ + url: '/wms/inventorySettlement/' + id, + method: 'get' + }) +} + +// 新增库存结算单 +export function addWmsInventorySettlement(data) { + return request({ + url: '/wms/inventorySettlement', + method: 'post', + data: data + }) +} +export function addOrUpdateWmsInventorySettlement(data) { + return request({ + url: '/wms/inventorySettlement/add-or-update', + method: 'post', + data: data + }) +} +// 修改库存结算单 +export function updateWmsInventorySettlement(data) { + return request({ + url: '/wms/inventorySettlement', + method: 'put', + data: data + }) +} + +// 删除库存结算单 +export function delWmsInventorySettlement(id) { + return request({ + url: '/wms/inventorySettlement/' + id, + method: 'delete' + }) +} + +// 导出库存结算单 +export function exportWmsInventorySettlement(query) { + return request({ + url: '/wms/inventorySettlement/export', + method: 'get', + params: query + }) +} diff --git a/src/api/wms/inventorySettlementDetail.js b/src/api/wms/inventorySettlementDetail.js new file mode 100644 index 0000000..7b00b2a --- /dev/null +++ b/src/api/wms/inventorySettlementDetail.js @@ -0,0 +1,63 @@ +import request from '@/utils/request' + +// 查询库存结算明细列表 +export function listWmsInventorySettlementDetail(query, pageReq) { + return request({ + url: '/wms/inventorySettlementDetail/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询库存信息 +export function listByTime(query) { + return request({ + url: '/wms/inventorySettlementDetail/listByTime', + method: 'post', + data: query, + }) +} + +// 查询库存结算明细详细 +export function getWmsInventorySettlementDetail(id) { + return request({ + url: '/wms/inventorySettlementDetail/' + id, + method: 'get' + }) +} + +// 新增库存结算明细 +export function addWmsInventorySettlementDetail(data) { + return request({ + url: '/wms/inventorySettlementDetail', + method: 'post', + data: data + }) +} + +// 修改库存结算明细 +export function updateWmsInventorySettlementDetail(data) { + return request({ + url: '/wms/inventorySettlementDetail', + method: 'put', + data: data + }) +} + +// 删除库存结算明细 +export function delWmsInventorySettlementDetail(id) { + return request({ + url: '/wms/inventorySettlementDetail/' + id, + method: 'delete' + }) +} + +// 导出库存结算明细 +export function exportWmsInventorySettlementDetail(query) { + return request({ + url: '/wms/inventorySettlementDetail/export', + method: 'get', + params: query + }) +} diff --git a/src/api/wms/item.js b/src/api/wms/item.js new file mode 100644 index 0000000..2618511 --- /dev/null +++ b/src/api/wms/item.js @@ -0,0 +1,70 @@ +import request from '@/utils/request' + +// 查询物料列表 +export function listWmsItem(query, pageReq) { + return request({ + url: '/wms/item/list', + method: 'post', + data: query, + params: pageReq + }) +} +// 查询过期物料列表 +export function listExpiryItem(pageReq) { + return request({ + url: '/wms/item/expiryList', + method: 'post', + params: pageReq + }) +} +// 查询物料列表 +export function allWmsItem(query) { + return request({ + url: '/wms/item/all', + method: 'post', + data: query + }) +} + +// 查询物料详细 +export function getWmsItem(id) { + return request({ + url: '/wms/item/' + id, + method: 'get' + }) +} + +// 新增物料 +export function addWmsItem(data) { + return request({ + url: '/wms/item', + method: 'post', + data: data + }) +} + +// 修改物料 +export function updateWmsItem(data) { + return request({ + url: '/wms/item', + method: 'put', + data: data + }) +} + +// 删除物料 +export function delWmsItem(id) { + return request({ + url: '/wms/item/' + id, + method: 'delete' + }) +} + +// 导出物料 +export function exportWmsItem(query) { + return request({ + url: '/wms/item/export', + method: 'get', + params: query + }) +} diff --git a/src/api/wms/itemType.js b/src/api/wms/itemType.js new file mode 100644 index 0000000..bbd6338 --- /dev/null +++ b/src/api/wms/itemType.js @@ -0,0 +1,70 @@ +import request from '@/utils/request' + +// 查询物料类型表列表 +export function listWmsItemType(query, pageReq) { + return request({ + url: '/wms/itemType/list', + method: 'post', + data: query, + params: pageReq + }) +} +// 查询部门下拉树结构 +export function itemTypeTreeselect() { + return request({ + url: '/wms/itemType/treeselect', + method: 'get' + }) +} +// 查询物料类型表列表 +export function listWmsItemTypeNoPage(query, pageReq) { + return request({ + url: '/wms/itemType/noPageList', + method: 'get', + data: query, + params: pageReq + }) +} + +// 查询物料类型表详细 +export function getWmsItemType(itemTypeId) { + return request({ + url: '/wms/itemType/' + itemTypeId, + method: 'get' + }) +} + +// 新增物料类型表 +export function addWmsItemType(data) { + return request({ + url: '/wms/itemType', + method: 'post', + data: data + }) +} + +// 修改物料类型表 +export function updateWmsItemType(data) { + return request({ + url: '/wms/itemType', + method: 'put', + data: data + }) +} + +// 删除物料类型表 +export function delWmsItemType(itemTypeId) { + return request({ + url: '/wms/itemType/' + itemTypeId, + method: 'delete' + }) +} + +// 导出物料类型表 +export function exportWmsItemType(query) { + return request({ + url: '/wms/itemType/export', + method: 'get', + params: query + }) +} diff --git a/src/api/wms/rack.js b/src/api/wms/rack.js new file mode 100644 index 0000000..7eebce8 --- /dev/null +++ b/src/api/wms/rack.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询货架列表 +export function listWmsRack(query, pageReq) { + return request({ + url: '/wms/rack/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询货架详细 +export function getWmsRack(id) { + return request({ + url: '/wms/rack/' + id, + method: 'get' + }) +} + +// 新增货架 +export function addWmsRack(data) { + return request({ + url: '/wms/rack', + method: 'post', + data: data + }) +} + +// 修改货架 +export function updateWmsRack(data) { + return request({ + url: '/wms/rack', + method: 'put', + data: data + }) +} + +// 删除货架 +export function delWmsRack(id) { + return request({ + url: '/wms/rack/' + id, + method: 'delete' + }) +} + +// 导出货架 +export function exportWmsRack(query) { + return request({ + url: '/wms/rack/export', + method: 'get', + params: query + }) +} diff --git a/src/api/wms/receiptOrder.js b/src/api/wms/receiptOrder.js new file mode 100644 index 0000000..004502e --- /dev/null +++ b/src/api/wms/receiptOrder.js @@ -0,0 +1,62 @@ +import request from '@/utils/request' + +// 查询入库单列表 +export function listWmsReceiptOrder(query, pageReq) { + return request({ + url: '/wms/receiptOrder/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询入库单详细 +export function getWmsReceiptOrder(id) { + return request({ + url: '/wms/receiptOrder/' + id, + method: 'get' + }) +} + +// 新增入库单 +export function addWmsReceiptOrder(data) { + return request({ + url: '/wms/receiptOrder', + method: 'post', + data: data + }) +} +// 新增或编辑入库单 +export function addOrUpdateWmsReceiptOrder(data) { + return request({ + url: '/wms/receiptOrder/add-or-update', + method: 'post', + data: data + }) +} + +// 修改入库单 +export function updateWmsReceiptOrder(data) { + return request({ + url: '/wms/receiptOrder', + method: 'put', + data: data + }) +} + +// 删除入库单 +export function delWmsReceiptOrder(id) { + return request({ + url: '/wms/receiptOrder/' + id, + method: 'delete' + }) +} + +// 导出入库单 +export function exportWmsReceiptOrder(query) { + return request({ + url: '/wms/receiptOrder/export', + method: 'get', + params: query + }) +} diff --git a/src/api/wms/receiptOrderDetail.js b/src/api/wms/receiptOrderDetail.js new file mode 100644 index 0000000..589ca41 --- /dev/null +++ b/src/api/wms/receiptOrderDetail.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询入库单详情列表 +export function listWmsReceiptOrderDetail(query, pageReq) { + return request({ + url: '/wms/receiptOrderDetail/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询入库单详情详细 +export function getWmsReceiptOrderDetail(id) { + return request({ + url: '/wms/receiptOrderDetail/' + id, + method: 'get' + }) +} + +// 新增入库单详情 +export function addWmsReceiptOrderDetail(data) { + return request({ + url: '/wms/receiptOrderDetail', + method: 'post', + data: data + }) +} + +// 修改入库单详情 +export function updateWmsReceiptOrderDetail(data) { + return request({ + url: '/wms/receiptOrderDetail', + method: 'put', + data: data + }) +} + +// 删除入库单详情 +export function delWmsReceiptOrderDetail(id) { + return request({ + url: '/wms/receiptOrderDetail/' + id, + method: 'delete' + }) +} + +// 导出入库单详情 +export function exportWmsReceiptOrderDetail(query) { + return request({ + url: '/wms/receiptOrderDetail/export', + method: 'get', + params: query + }) +} diff --git a/src/api/wms/shipmentOrder.js b/src/api/wms/shipmentOrder.js new file mode 100644 index 0000000..5608d4d --- /dev/null +++ b/src/api/wms/shipmentOrder.js @@ -0,0 +1,71 @@ +import request from '@/utils/request' + +// 查询出库单列表 +export function listWmsShipmentOrder(query, pageReq) { + return request({ + url: '/wms/shipmentOrder/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询出库单详细 +export function getWmsShipmentOrder(id) { + return request({ + url: '/wms/shipmentOrder/' + id, + method: 'get' + }) +} + +export function addOrUpdateWmsShipmentOrder(data) { + return request({ + url: '/wms/shipmentOrder/add-or-update', + method: 'post', + data: data + }) +} + +// 新增出库单 +export function addWmsShipmentOrder(data) { + return request({ + url: '/wms/shipmentOrder', + method: 'post', + data: data + }) +} + +// 修改出库单 +export function updateWmsShipmentOrder(data) { + return request({ + url: '/wms/shipmentOrder', + method: 'put', + data: data + }) +} + +// 删除出库单 +export function delWmsShipmentOrder(id) { + return request({ + url: '/wms/shipmentOrder/' + id, + method: 'delete' + }) +} + +// 导出出库单 +export function exportWmsShipmentOrder(query) { + return request({ + url: '/wms/shipmentOrder/export', + method: 'get', + params: query + }) +} + +// 单个订单分配仓库 +export function allocatedInventory(params) { + return request({ + url: '/wms/shipmentOrder/allocated', + params, + method: 'post' + }) +} diff --git a/src/api/wms/shipmentOrderDetail.js b/src/api/wms/shipmentOrderDetail.js new file mode 100644 index 0000000..db9040e --- /dev/null +++ b/src/api/wms/shipmentOrderDetail.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询出库单详情列表 +export function listWmsShipmentOrderDetail(query, pageReq) { + return request({ + url: '/wms/shipmentOrderDetail/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询出库单详情详细 +export function getWmsShipmentOrderDetail(id) { + return request({ + url: '/wms/shipmentOrderDetail/' + id, + method: 'get' + }) +} + +// 新增出库单详情 +export function addWmsShipmentOrderDetail(data) { + return request({ + url: '/wms/shipmentOrderDetail', + method: 'post', + data: data + }) +} + +// 修改出库单详情 +export function updateWmsShipmentOrderDetail(data) { + return request({ + url: '/wms/shipmentOrderDetail', + method: 'put', + data: data + }) +} + +// 删除出库单详情 +export function delWmsShipmentOrderDetail(id) { + return request({ + url: '/wms/shipmentOrderDetail/' + id, + method: 'delete' + }) +} + +// 导出出库单详情 +export function exportWmsShipmentOrderDetail(query) { + return request({ + url: '/wms/shipmentOrderDetail/export', + method: 'get', + params: query + }) +} diff --git a/src/api/wms/supplier.js b/src/api/wms/supplier.js new file mode 100644 index 0000000..c84393a --- /dev/null +++ b/src/api/wms/supplier.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询供应商列表 +export function listWmsSupplier(query, pageReq) { + return request({ + url: '/wms/supplier/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询供应商详细 +export function getWmsSupplier(id) { + return request({ + url: '/wms/supplier/' + id, + method: 'get' + }) +} + +// 新增供应商 +export function addWmsSupplier(data) { + return request({ + url: '/wms/supplier', + method: 'post', + data: data + }) +} + +// 修改供应商 +export function updateWmsSupplier(data) { + return request({ + url: '/wms/supplier', + method: 'put', + data: data + }) +} + +// 删除供应商 +export function delWmsSupplier(id) { + return request({ + url: '/wms/supplier/' + id, + method: 'delete' + }) +} + +// 导出供应商 +export function exportWmsSupplier(query) { + return request({ + url: '/wms/supplier/export', + method: 'get', + params: query + }) +} diff --git a/src/api/wms/supplierTransaction.js b/src/api/wms/supplierTransaction.js new file mode 100644 index 0000000..e6a9404 --- /dev/null +++ b/src/api/wms/supplierTransaction.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询供应商账户流水列表 +export function listWmsSupplierTransaction(query, pageReq) { + return request({ + url: '/wms/supplierTransaction/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询供应商账户流水详细 +export function getWmsSupplierTransaction(id) { + return request({ + url: '/wms/supplierTransaction/' + id, + method: 'get' + }) +} + +// 新增供应商账户流水 +export function addWmsSupplierTransaction(data) { + return request({ + url: '/wms/supplierTransaction', + method: 'post', + data: data + }) +} + +// 修改供应商账户流水 +export function updateWmsSupplierTransaction(data) { + return request({ + url: '/wms/supplierTransaction', + method: 'put', + data: data + }) +} + +// 删除供应商账户流水 +export function delWmsSupplierTransaction(id) { + return request({ + url: '/wms/supplierTransaction/' + id, + method: 'delete' + }) +} + +// 导出供应商账户流水 +export function exportWmsSupplierTransaction(query) { + return request({ + url: '/wms/supplierTransaction/export', + method: 'get', + params: query + }) +} diff --git a/src/api/wms/warehouse.js b/src/api/wms/warehouse.js new file mode 100644 index 0000000..66ecea3 --- /dev/null +++ b/src/api/wms/warehouse.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 查询仓库列表 +export function listWmsWarehouse(query, pageReq) { + return request({ + url: '/wms/warehouse/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询仓库详细 +export function getWmsWarehouse(id) { + return request({ + url: '/wms/warehouse/' + id, + method: 'get' + }) +} + +// 新增仓库 +export function addWmsWarehouse(data) { + return request({ + url: '/wms/warehouse', + method: 'post', + data: data + }) +} + +// 修改仓库 +export function updateWmsWarehouse(data) { + return request({ + url: '/wms/warehouse', + method: 'put', + data: data + }) +} + +// 删除仓库 +export function delWmsWarehouse(id) { + return request({ + url: '/wms/warehouse/' + id, + method: 'delete' + }) +} + +// 导出仓库 +export function exportWmsWarehouse(query) { + return request({ + url: '/wms/warehouse/export', + method: 'get', + params: query + }) +} diff --git a/src/api/wms/wave.js b/src/api/wms/wave.js new file mode 100644 index 0000000..7cdd921 --- /dev/null +++ b/src/api/wms/wave.js @@ -0,0 +1,127 @@ +import request from '@/utils/request' + +// 查询波次列表 +export function listWave(query, pageReq) { + return request({ + url: '/wms/wave/list', + method: 'post', + data: query, + params: pageReq + }) +} + +// 查询波次详细 +export function getWave(id) { + return request({ + url: '/wms/wave/shipment/' + id, + method: 'get' + }) +} + +// 新增波次 +export function addWave(data) { + return request({ + url: '/wms/wave/shipment/add', + method: 'post', + data: data + }) +} + +// 修改波次 +export function updateWave(data) { + return request({ + url: '/wms/wave', + method: 'put', + data: data + }) +} + +// 删除波次 +export function delWave(id) { + return request({ + url: '/wms/wave/shipment/' + id, + method: 'delete' + }) +} + +// 导出波次 +export function exportWave(query) { + return request({ + url: '/wms/wave/export', + method: 'get', + params: query + }) +} + +// 波次单分配仓库 +export function waveAllocatedInventory(params) { + return request({ + url: '/wms/wave/shipment/allocated/', + method: 'post', + params + }) +} +// 应用波次作业的仓库 +export function confirmWave(data) { + return request({ + url: '/wms/wave/shipment/confirmWave' , + method: 'post', + data: data + }) +} +// 取消波次作业 +export function cancelAllocatedInventory(id) { + return request({ + url: '/wms/wave/shipment/cancelAllocatedInventory/'+ id , + method: 'post' + }) +} + + +export function getReceiptWave(id) { + return request({ + url: '/wms/wave/receipt/' + id, + method: 'get' + }) +} + +// 新增波次 +export function addWaveForReceipt(data) { + return request({ + url: '/wms/wave/receipt/add', + method: 'post', + data: data + }) +} + +// 删除波次 +export function delWaveForReceipt(id) { + return request({ + url: '/wms/wave/receipt/' + id, + method: 'delete' + }) +} + +// 波次单分配仓库 +export function waveAllocatedInventoryForReceipt(params) { + return request({ + url: '/wms/wave/receipt/allocated/', + method: 'post', + params + }) +} +// 应用波次作业的仓库 +export function confirmWaveForReceipt(data) { + return request({ + url: '/wms/wave/receipt/confirmWave' , + method: 'post', + data: data + }) +} +// 取消波次作业 +export function cancelAllocatedInventoryForReceipt(id) { + return request({ + url: '/wms/wave/receipt/cancelAllocatedInventory/'+ id , + method: 'post' + }) +} diff --git a/src/components/DictRadio/index.vue b/src/components/DictRadio/index.vue new file mode 100644 index 0000000..4a331a9 --- /dev/null +++ b/src/components/DictRadio/index.vue @@ -0,0 +1,50 @@ + + + diff --git a/src/components/DictSelect/index.vue b/src/components/DictSelect/index.vue new file mode 100644 index 0000000..feae9d2 --- /dev/null +++ b/src/components/DictSelect/index.vue @@ -0,0 +1,37 @@ + + + diff --git a/src/components/InOutTypeSelect.vue b/src/components/InOutTypeSelect.vue new file mode 100644 index 0000000..7623c53 --- /dev/null +++ b/src/components/InOutTypeSelect.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/components/ItemSelect.vue b/src/components/ItemSelect.vue new file mode 100644 index 0000000..e71cd81 --- /dev/null +++ b/src/components/ItemSelect.vue @@ -0,0 +1,69 @@ + + + + + \ No newline at end of file diff --git a/src/components/ItemSelect/ItemSelect.vue b/src/components/ItemSelect/ItemSelect.vue new file mode 100644 index 0000000..0ad7337 --- /dev/null +++ b/src/components/ItemSelect/ItemSelect.vue @@ -0,0 +1,70 @@ + + + + + \ No newline at end of file diff --git a/src/components/NumberRange.vue b/src/components/NumberRange.vue new file mode 100644 index 0000000..ab93b8c --- /dev/null +++ b/src/components/NumberRange.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/src/components/WmsAreaCascader/index.vue b/src/components/WmsAreaCascader/index.vue new file mode 100644 index 0000000..72dccd9 --- /dev/null +++ b/src/components/WmsAreaCascader/index.vue @@ -0,0 +1,59 @@ + + + + + \ No newline at end of file diff --git a/src/components/WmsCarrierSelect/index.vue b/src/components/WmsCarrierSelect/index.vue new file mode 100644 index 0000000..fcd8ec4 --- /dev/null +++ b/src/components/WmsCarrierSelect/index.vue @@ -0,0 +1,34 @@ + + diff --git a/src/components/WmsCustomerSelect/index.vue b/src/components/WmsCustomerSelect/index.vue new file mode 100644 index 0000000..dd97ae2 --- /dev/null +++ b/src/components/WmsCustomerSelect/index.vue @@ -0,0 +1,36 @@ + + diff --git a/src/components/WmsInsufficientStockDialog/index.vue b/src/components/WmsInsufficientStockDialog/index.vue new file mode 100644 index 0000000..f581ce5 --- /dev/null +++ b/src/components/WmsInsufficientStockDialog/index.vue @@ -0,0 +1,103 @@ + + + \ No newline at end of file diff --git a/src/components/WmsSupplierSelect/index.vue b/src/components/WmsSupplierSelect/index.vue new file mode 100644 index 0000000..ab2f4ba --- /dev/null +++ b/src/components/WmsSupplierSelect/index.vue @@ -0,0 +1,36 @@ + + diff --git a/src/components/WmsTable/index.vue b/src/components/WmsTable/index.vue new file mode 100644 index 0000000..74dfdf9 --- /dev/null +++ b/src/components/WmsTable/index.vue @@ -0,0 +1,39 @@ + + + \ No newline at end of file diff --git a/src/components/WmsWarehouseCascader/index.vue b/src/components/WmsWarehouseCascader/index.vue new file mode 100644 index 0000000..1e9d6d7 --- /dev/null +++ b/src/components/WmsWarehouseCascader/index.vue @@ -0,0 +1,72 @@ + + + \ No newline at end of file diff --git a/src/components/main.js b/src/components/main.js new file mode 100644 index 0000000..833d4c3 --- /dev/null +++ b/src/components/main.js @@ -0,0 +1,119 @@ +import Vue from 'vue' + +import Cookies from 'js-cookie' + +import Element from 'element-ui' +import './assets/styles/element-variables.scss' + +import '@/assets/styles/index.scss' // global css +import '@/assets/styles/ruoyi.scss' // ruoyi css +import App from './App' +import store from './store' +import router from './router' +import directive from './directive' // directive +import plugins from './plugins' // plugins +import { download } from '@/utils/request' + +import './assets/icons' // icon +import './permission' // permission control +import { getDicts } from "@/api/system/dict/data"; +import { getConfigKey } from "@/api/system/config"; +import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree } from "@/utils/ruoyi"; +// 分页组件 +import Pagination from "@/components/Pagination"; +// 自定义表格工具组件 +import RightToolbar from "@/components/RightToolbar" +// 富文本组件 +import Editor from "@/components/Editor" +// 文件上传组件 +import FileUpload from "@/components/FileUpload" +// 图片上传组件 +import ImageUpload from "@/components/ImageUpload" +// 图片预览组件 +import ImagePreview from "@/components/ImagePreview" +// 字典标签组件 +import DictTag from '@/components/DictTag' +// 头部标签组件 +import VueMeta from 'vue-meta' +// 字典数据组件 +import DictData from '@/components/DictData' +//wms table组件 +import WmsTable from '@/components/WmsTable' + +import WmsSupplierSelect from '@/components/WmsSupplierSelect' +import WmsCustomerSelect from '@/components/WmsCustomerSelect' +import KrPrintDesigner from "kr-print-designer"; +import "kr-print-designer/lib/kr-print-designer.css"; + +import DictRadio from '@/components/DictRadio' + +import DictSelect from '@/components/DictSelect' + +import WmsWarehouseCascader from '@/components/WmsWarehouseCascader' +import vuePlugsPrint from '@/utils/vuePlugsPrint' +import WmsCarrierSelect from "@/components/WmsCarrierSelect/index.vue"; + +// 全局方法挂载 +Vue.prototype.getDicts = getDicts +Vue.prototype.getConfigKey = getConfigKey +Vue.prototype.parseTime = parseTime +Vue.prototype.resetForm = resetForm +Vue.prototype.addDateRange = addDateRange +Vue.prototype.selectDictLabel = selectDictLabel +Vue.prototype.selectDictLabels = selectDictLabels +Vue.prototype.download = download +Vue.prototype.handleTree = handleTree + +// 全局组件挂载 +Vue.component('DictTag', DictTag) +Vue.component('Pagination', Pagination) +Vue.component('RightToolbar', RightToolbar) +Vue.component('Editor', Editor) +Vue.component('FileUpload', FileUpload) +Vue.component('ImageUpload', ImageUpload) +Vue.component('ImagePreview', ImagePreview) +Vue.component('WmsTable',WmsTable) +Vue.component('WmsSupplierSelect',WmsSupplierSelect) +Vue.component('WmsCustomerSelect',WmsCustomerSelect) +Vue.component('WmsCarrierSelect',WmsCarrierSelect) +Vue.component('DictRadio',DictRadio) +Vue.component('DictSelect',DictSelect) +Vue.component('WmsWarehouseCascader',WmsWarehouseCascader) + +Vue.use(KrPrintDesigner); +Vue.use(vuePlugsPrint); +Vue.use(directive) +Vue.use(plugins) +Vue.use(VueMeta) +DictData.install() + +/** + * If you don't want to use mock-server + * you want to use MockJs for mock api + * you can execute: mockXHR() + * + * Currently MockJs will be used in the production environment, + * please remove it before going online! ! ! + */ + +Vue.use(Element, { + size: Cookies.get('size') || 'medium' // set element-ui default size +}) + +Vue.config.productionTip = false + +new Vue({ + el: '#app', + router, + store, + render: h => h(App) +}) + +var _hmt = _hmt || []; +window._hmt = _hmt; +(function() { + var hm = document.createElement("script"); + hm.src = "https://hm.baidu.com/hm.js?8611b8753c9d6bb71fd882dc61e4adf2"; + var s = document.getElementsByTagName("script")[0]; + s.parentNode.insertBefore(hm, s); +})(); diff --git a/src/config/business.js b/src/config/business.js new file mode 100644 index 0000000..91be40b --- /dev/null +++ b/src/config/business.js @@ -0,0 +1,3 @@ +export const DICT_TYPES = [ + 'wms_receipt_type', 'wms_shipment_type', 'wms_movement_type','wms_check_type' +] diff --git a/src/constant/ReceiptOrderConstant.ts b/src/constant/ReceiptOrderConstant.ts new file mode 100644 index 0000000..2967662 --- /dev/null +++ b/src/constant/ReceiptOrderConstant.ts @@ -0,0 +1,33 @@ +/** + * @file 入库单类型和状态的常量 + * @description 入库单类型和状态的常量 + * @createdBy Zhang Cheng + * @createdAt 2023/08/10 + */ + +export const ReceiptOrderConstant = { + // 字典 wms_receipt_type + Type: { + // 采购 + PURCHASE: 1, + // 外协 + OUTSOURCING: 2, + // 退货 + RETURN: 3, + // 盘盈入库 + CHECK_IN: 32 + }, + // 字典 wms_receipt_status + Status: { + // 未入库 + NOT_IN: 0, + // 在途 + IN_PATH: 1, + // 部分入库 + PART_IN: 2, + // 全部入库 + ALL_IN: 3, + // 作废 + DROP: 2 + } +} diff --git a/src/constant/ShipmentOrderConstant.ts b/src/constant/ShipmentOrderConstant.ts new file mode 100644 index 0000000..9647a2f --- /dev/null +++ b/src/constant/ShipmentOrderConstant.ts @@ -0,0 +1,30 @@ +/** + * @file 出库单类型和状态的常量 + * @description 出库单类型和状态的常量 + * @createdBy Zhang Cheng + * @createdAt 2023/08/10 + */ +export const ShipmentOrderConstant = { + // 字典 wms_shipment_type + Type: { + // 销售订单 + SALE: 11, + // 外包订单 + OUTSOURCING: 12, + // 转运订单 + TRANSFER: 13, + // 部门订单 + DEPT: 14 + }, + // 字典 wms_shipment_status + Status: { + // 未出库 + NOT_IN: 11, + // 部分出库 + PART_IN: 12, + // 全部出库 + ALL_IN: 13, + // 作废 + DROP: 14 + } +} diff --git a/src/main.js b/src/main.js index 7e4645a..3bd07f6 100644 --- a/src/main.js +++ b/src/main.js @@ -15,7 +15,7 @@ import store from './store' import router from './router' import permission from './directive/permission' import plugins from './plugins' // plugins -import signalR from '@/utils/signalR' // todo websocket实时传输 +import signalR from '@/utils/signalR' // todo websocket实时传输 import { downFile } from '@/utils/request' import './assets/icons' // icon @@ -36,13 +36,25 @@ import UploadImage from '@/components/UploadImage/index'; // 上传文件 import UploadFile from '@/components/FileUpload/index'; // 字典数据组件 -import DictData from '@/components/DictData' +import DictData from '@/components/DictData'; -import VXETable from 'vxe-table' +// WMS相关组件 +import WmsTable from '@/components/WmsTable'; +import WmsSupplierSelect from '@/components/WmsSupplierSelect'; +import WmsCustomerSelect from '@/components/WmsCustomerSelect'; +import WmsWarehouseCascader from '@/components/WmsWarehouseCascader'; +import WmsCarrierSelect from "@/components/WmsCarrierSelect/index.vue"; +import DictRadio from '@/components/DictRadio'; +import DictSelect from '@/components/DictSelect'; +import KrPrintDesigner from "kr-print-designer"; +import "kr-print-designer/lib/kr-print-designer.css"; -import 'vxe-table/lib/style.css' +// VXE-Table相关组件 +import VXETable from 'vxe-table'; -import dataV from '@jiaminghi/data-view' +import 'vxe-table/lib/style.css'; + +import dataV from '@jiaminghi/data-view'; //需要按需引入,先引入vue并引入element-ui @@ -62,15 +74,15 @@ Vue.prototype.handleDict = handleDict Vue.prototype.downFile = downFile Vue.prototype.msgSuccess = function (msg) { - this.$message({ showClose: true, message: msg, type: "success" }); + this.$message({ showClose: true, message: msg, type: "success" }); } Vue.prototype.msgError = function (msg) { - this.$message({ showClose: true, message: msg, type: "error" }); + this.$message({ showClose: true, message: msg, type: "error" }); } Vue.prototype.msgInfo = function (msg) { - this.$message.info(msg); + this.$message.info(msg); } @@ -82,11 +94,20 @@ Vue.component('DictTag', DictTag) Vue.component('Editor', Editor) Vue.component('UploadImage', UploadImage) Vue.component('UploadFile', UploadFile) +// WMS组件挂载 +Vue.component('WmsTable', WmsTable) +Vue.component('WmsSupplierSelect', WmsSupplierSelect) +Vue.component('WmsCustomerSelect', WmsCustomerSelect) +Vue.component('WmsCarrierSelect', WmsCarrierSelect) +Vue.component('DictRadio', DictRadio) +Vue.component('DictSelect', DictSelect) +Vue.component('WmsWarehouseCascader', WmsWarehouseCascader) +Vue.use(KrPrintDesigner); Vue.use(permission) Vue.use(plugins) Vue.use(Element, { - size: Cookies.get('size') || 'small' // set element-ui default size + size: Cookies.get('size') || 'small' // set element-ui default size }) Vue.use(VXETable) @@ -99,11 +120,11 @@ DictData.install() Vue.config.productionTip = false signalR.init(process.env.VUE_APP_SOCKET_API); -Vue.prototype.signalr = signalR //todo 绑定在原型对象里 +Vue.prototype.signalr = signalR //todo 绑定在原型对象里 new Vue({ - el: '#app', - router, - store, - render: h => h(App) + el: '#app', + router, + store, + render: h => h(App) }) \ No newline at end of file diff --git a/src/store/getters.js b/src/store/getters.js index 81861d6..7d44885 100644 --- a/src/store/getters.js +++ b/src/store/getters.js @@ -1,27 +1,61 @@ const getters = { - sidebar: (state) => state.app.sidebar, - size: (state) => state.app.size, - device: (state) => state.app.device, - visitedViews: (state) => state.tagsView.visitedViews, - cachedViews: (state) => state.tagsView.cachedViews, - token: (state) => state.user.token, - avatar: (state) => state.user.avatar, - name: (state) => state.user.name, - userId: (state) => state.user.userInfo.userId, - introduction: (state) => state.user.introduction, - roles: (state) => state.user.roles, - permissions: (state) => state.user.permissions, - permission_routes: (state) => state.permission.routes, - userinfo: (state) => state.user.userInfo, - topbarRouters: (state) => state.permission.topbarRouters, - defaultRoutes: (state) => state.permission.defaultRoutes, - sidebarRouters: (state) => state.permission.sidebarRouters, - onlineUserNum: (state) => state.socket.onlineNum, - noticeList: (state) => state.socket.noticeList, - //质量管理模块 - currentWorkOrder_first: (state) => state.quality.currentWorkOrder_first, - currentWorkOrder_again: (state) => state.quality.currentWorkOrder_again, - currentWorkOrder_thirty: (state) => state.quality.currentWorkOrder_thirty, - firstquality_time: (state) => state.quality.firstquality_time, + sidebar: (state) => state.app.sidebar, + size: (state) => state.app.size, + device: (state) => state.app.device, + visitedViews: (state) => state.tagsView.visitedViews, + cachedViews: (state) => state.tagsView.cachedViews, + token: (state) => state.user.token, + avatar: (state) => state.user.avatar, + name: (state) => state.user.name, + userId: (state) => state.user.userInfo.userId, + introduction: (state) => state.user.introduction, + roles: (state) => state.user.roles, + permissions: (state) => state.user.permissions, + permission_routes: (state) => state.permission.routes, + userinfo: (state) => state.user.userInfo, + topbarRouters: (state) => state.permission.topbarRouters, + defaultRoutes: (state) => state.permission.defaultRoutes, + sidebarRouters: (state) => state.permission.sidebarRouters, + onlineUserNum: (state) => state.socket.onlineNum, + noticeList: (state) => state.socket.noticeList, + //质量管理模块 + currentWorkOrder_first: (state) => state.quality.currentWorkOrder_first, + currentWorkOrder_again: (state) => state.quality.currentWorkOrder_again, + currentWorkOrder_thirty: (state) => state.quality.currentWorkOrder_thirty, + firstquality_time: (state) => state.quality.firstquality_time, + + // 字典相关 + items: state => state.dict.items, + dictTypeMap: state => state.dict.dictTypeMap, + opTypes: state => { + const map = state.dict.dictTypeMap + let res = []; + ['wms_receipt_type', 'wms_shipment_type', 'wms_movement_type', 'wms_check_type'].forEach(it => { + if (!map[it]) { + return + } + res = res.concat(map[it]) + }) + return res + }, + opTypeMap: (state, getters) => { + const arr = getters.opTypes, + map = {}; + arr.forEach(it => map[it.value] = it.label); + return map; + }, + // wms相关 + supplierList: state => state.wms.supplierList, + customerList: state => state.wms.customerList, + customerMap: state => state.wms.customerMap, + carrierList: state => state.wms.carrierList, + carrierMap: state => state.wms.carrierMap, + supplierMap: state => state.wms.supplierMap, + warehouseList: state => state.wms.warehouseList, + warehouseMap: state => state.wms.warehouseMap, + areaList: state => state.wms.areaList, + areaMap: state => state.wms.areaMap, + rackList: state => state.wms.rackList, + rackMap: state => state.wms.rackMap } -export default getters +export default getters \ No newline at end of file diff --git a/src/store/modules/dict.js b/src/store/modules/dict.js new file mode 100644 index 0000000..f0883d6 --- /dev/null +++ b/src/store/modules/dict.js @@ -0,0 +1,42 @@ +import { allWmsItem } from '@/api/wms/item' +import { listByTypes } from '@/api/system/dict/data' +import { DICT_TYPES } from '@/config/business' +export default { + state: { + items: [], + dictTypeMap: {}, + }, + mutations: { + SET_ITEMS(state, list) { + state.items = list + }, + SET_DICT_TYPE_MAP(state, list) { + const map = {}; + list.forEach(it => { + const {dictType} = it; + let arr = map[dictType]; + if (!arr) { + arr = []; + map[dictType] = arr; + } + arr.push(it); + }) + state.dictTypeMap = map; + } + }, + actions: { + loadItems({commit}) { + return allWmsItem() + .then(res => { + commit('SET_ITEMS', res); + return res + }) + }, + loadAllDict({ commit }) { + listByTypes(DICT_TYPES).then(res => { + const { rows } = res + commit('SET_DICT_TYPE_MAP', rows.map(it => ({value: it.dictValue, label: it.dictLabel, dictType: it.dictType}))) + }) + } + } +} diff --git a/src/store/modules/wms.js b/src/store/modules/wms.js new file mode 100644 index 0000000..99ead3c --- /dev/null +++ b/src/store/modules/wms.js @@ -0,0 +1,113 @@ +import { listWmsSupplier } from "@/api/wms/supplier"; +import { listWmsWarehouse } from "@/api/wms/warehouse"; +import { listWmsArea } from "@/api/wms/area"; +import { listWmsRack } from "@/api/wms/rack"; +import {listWmsCustomer} from "@/api/wms/customer"; +import {listWmsCarrier} from "@/api/wms/carrier"; +const state = { + supplierList: [], + customerList: [], + carrierList: [], + carrierMap: new Map(), + customerMap: new Map(), + supplierMap: new Map(), + warehouseList: [], + warehouseMap: new Map(), + areaList:[], + areaMap:new Map(), + rackList:[], + rackMap:new Map() +} +const mutations = { + SET_SUPPLIERS(state, list) { + state.supplierList = list; + state.supplierMap = new Map(); + list.forEach((supplier) => { + state.supplierMap.set(supplier.id, supplier.supplierName) + }) + }, + SET_CUSTOMERS(state, list) { + state.customerList = list; + state.customerMap = new Map(); + list.forEach((customer) => { + state.customerMap.set(customer.id, customer.customerName) + }) + }, SET_CARRIER(state, list) { + state.carrierList = list; + state.carrierMap = new Map(); + list.forEach((carrier) => { + state.carrierMap.set(carrier.id, carrier.carrierName) + }) + }, + SET_WAREHOUSE(state, list){ + state.warehouseList = list; + state.warehouseMap = new Map(); + list.forEach((warehouse) => { + state.warehouseMap.set(warehouse.id, warehouse.warehouseName) + }) + }, + SET_AREA(state, list){ + state.areaList = list; + state.areaMap = new Map(); + list.forEach((area) => { + state.areaMap.set(area.id, area.areaName) + }) + }, + SET_RACK(state, list){ + state.rackList = list; + state.rackMap = new Map(); + list.forEach((rack) => { + state.rackMap.set(rack.id, rack.rackName) + }) + }, +} +const actions = { + getSuppliers({ commit }) { + return listWmsSupplier({}, { page: 0, size: 1000 }) + .then(res => { + const { content } =res + commit('SET_SUPPLIERS', content); + }) + }, + getCustomer({ commit }) { + return listWmsCustomer({}, { page: 0, size: 1000 }) + .then(res => { + const { content } =res + commit('SET_CUSTOMERS', content); + }) + }, + getCarrier({commit}) { + return listWmsCarrier({}, {page: 0, size: 1000}) + .then(res => { + const {content} = res + commit('SET_CARRIER', content); + }) + }, + getWarehouseList({ commit }) { + return listWmsWarehouse({}, { page: 0, size: 1000 }) + .then(res => { + const { content } =res + commit('SET_WAREHOUSE', content); + }) + }, + getAreaList({ commit }) { + return listWmsArea({}, { page: 0, size: 1000 }) + .then(res => { + const { content } =res + commit('SET_AREA', content); + }) + }, + getRackList({ commit }) { + return listWmsRack({}, { page: 0, size: 1000 }) + .then(res => { + const { content } =res + commit('SET_RACK', content); + }) + }, +} +export default { + namespaced: true, + state, + mutations, + actions +} diff --git a/src/utils/RandomUtils.js b/src/utils/RandomUtils.js new file mode 100644 index 0000000..780a6dd --- /dev/null +++ b/src/utils/RandomUtils.js @@ -0,0 +1,5 @@ +import moment from 'moment' + +export function randomId() { + return moment().format('YYYY-MM-DD-HHmmss'); +} \ No newline at end of file diff --git a/src/utils/printData.js b/src/utils/printData.js new file mode 100644 index 0000000..0f16e7c --- /dev/null +++ b/src/utils/printData.js @@ -0,0 +1,778 @@ +export const STOCK_OUT_TEMPLATE = { + "default": "true", + "title": "出库单", + "type": 1, + "width": 770, + "height": 500, + "pageWidth": 215, + "pageHeight": 140, + "tempItems": [{ + "type": "braid-txt", + "isEdit": 1, + "dragable": true, + "resizable": true, + "width": 770, + "height": 25, + "left": 0, + "top": 10, + "title": "出库单号", + "value": "{ 出库单号 } ", + "defaultValue": "出库单号", + "name": "shipmentOrderNo", + "style": { + "zIndex": 0, + "FontSize": 12, + "FontColor": "# 000000", + "Bold": false, + "Italic": false, + "Underline": false, + "Alignment": "center", + "ItemType": 1 + }, + "uuid": "7f7b0b45da" + }, { + "type": "braid-txt", + "isEdit": 1, + "dragable": true, + "resizable": true, + "width": 110, + "height": 20, + "left": 39, + "top": 40, + "title": "自定义文本", + "value": "客户:", + "defaultValue": "自定义文本", + "name": "", + "style": { + "zIndex": 0, + "FontSize": 9, + "FontColor": "# 000000", + "Bold": false, + "Italic": false, + "Underline": false, + "Alignment": "left", + "ItemType": 1 + }, + "uuid": "54ca3dc671" + }, { + "type": "braid-txt", + "isEdit": 1, + "dragable": true, + "resizable": true, + "width": 110, + "height": 20, + "left": 375, + "top": 40, + "title": "自定义文本", + "value": "订单号:", + "defaultValue": "自定义文本", + "name": "", + "style": { + "zIndex": 0, + "FontSize": 9, + "FontColor": "# 000000", + "Bold": false, + "Italic": false, + "Underline": false, + "Alignment": "left", + "ItemType": 1 + }, + "uuid": "dae9eb86e4" + }, { + "type": "braid-txt", + "isEdit": 1, + "dragable": true, + "resizable": true, + "width": 110, + "height": 20, + "left": 15, + "top": 67, + "title": "自定义文本", + "value": "出库类型:", + "defaultValue": "自定义文本", + "name": "", + "style": { + "zIndex": 0, + "FontSize": 9, + "FontColor": "# 000000", + "Bold": false, + "Italic": false, + "Underline": false, + "Alignment": "left", + "ItemType": 1 + }, + "uuid": "317ae87dea" + }, { + "type": "braid-txt", + "isEdit": 1, + "dragable": true, + "resizable": true, + "width": 110, + "height": 20, + "left": 387, + "top": 67, + "title": "自定义文本", + "value": "日期:", + "defaultValue": "自定义文本", + "name": "", + "style": { + "zIndex": 0, + "FontSize": 9, + "FontColor": "# 000000", + "Bold": false, + "Italic": false, + "Underline": false, + "Alignment": "left", + "ItemType": 1 + }, + "uuid": "d8cf0f23b0" + }, { + "type": "braid-txt", + "isEdit": 1, + "dragable": true, + "resizable": true, + "width": 268, + "height": 20, + "left": 81, + "top": 40, + "title": "客户", + "value": "{ 客户 } ", + "defaultValue": "客户", + "name": "customerName", + "style": { + "zIndex": 0, + "FontSize": 9, + "FontColor": "# 000000", + "Bold": false, + "Italic": false, + "Underline": false, + "Alignment": "left", + "ItemType": 1 + }, + "uuid": "a77126a142" + }, { + "type": "braid-txt", + "isEdit": 1, + "dragable": true, + "resizable": true, + "width": 299, + "height": 20, + "left": 425, + "top": 40, + "title": "订单号", + "value": "{ 订单号 } ", + "defaultValue": "订单号", + "name": "orderNo", + "style": { + "zIndex": 0, + "FontSize": 9, + "FontColor": "# 000000", + "Bold": false, + "Italic": false, + "Underline": false, + "Alignment": "left", + "ItemType": 1 + }, + "uuid": "d8f17a27f5" + }, { + "type": "braid-txt", + "isEdit": 1, + "dragable": true, + "resizable": true, + "width": 257, + "height": 20, + "left": 80, + "top": 67, + "title": "出库类型", + "value": "{ 出库类型 } ", + "defaultValue": "销售出库", + "name": "shipmentType", + "style": { + "zIndex": 0, + "FontSize": 9, + "FontColor": "# 000000", + "Bold": false, + "Italic": false, + "Underline": false, + "Alignment": "left", + "ItemType": 1 + }, + "uuid": "4be08abbb3" + }, { + "type": "braid-txt", + "isEdit": 1, + "dragable": true, + "resizable": true, + "width": 230, + "height": 20, + "left": 425, + "top": 67, + "title": "下单时间", + "value": "{ 下单时间 } ", + "defaultValue": "2020-08-27 12: 00: 00", + "name": "createTime", + "style": { + "zIndex": 0, + "FontSize": 9, + "FontColor": "# 000000", + "Bold": false, + "Italic": false, + "Underline": false, + "Alignment": "left", + "ItemType": 0 + }, + "uuid": "83ef9c90be" + }, { + "type": "braid-table", + "isEdit": 0, + "dragable": true, + "resizable": true, + "width": 740, + "height": 275, + "left": 15, + "top": 110, + "title": "出库商品明细", + "value": "{ details } ", + "tabelHtml": "", + "columnsAttr": [{ + "title": "物料名", + "value": "{ 物料名 } ", + "name": "itemName" + }, { + "title": "物料编号", + "value": "{ 物料编号 } ", + "name": "itemNo" + }, { + "title": "物料类型", + "value": "{ 物料类型 } ", + "name": "itemType" + }, { + "title": "数量", + "value": "{ 数量 } ", + "name": "planQuantity" + }, { + "title": "仓库/库区", + "value": "{ 仓库/库区 } ", + "name": "place" + }], + "columns": [{ + "title": "物料名", + "value": "{物料名}", + "name": "itemName" + }, { + "title": "物料编号", + "value": "{物料编号}", + "name": "itemNo" + }, { + "title": "物料类型", + "value": "{物料类型}", + "name": "itemType" + }, { + "title": "数量", + "value": "{数量}", + "name": "planQuantity" + }, { + "title": "仓库/库区", + "value": "{仓库/库区}", + "name": "place" + }], + "selectCol": ["itemName", "itemNo", "itemType", "planQuantity", "place"], + "name": "details", + "style": { + "zIndex": 0, + "Alignment": "left", + "FontSize": 9, + "FontColor": "#000000", + "BorderColor": "#000000", + "AutoHeight": true, + "BottomMargin": 0 + }, + "uuid": "8f1ee2cff3" + }, { + "type": "braid-txt", + "isEdit": 1, + "dragable": true, + "resizable": true, + "width": 110, + "height": 20, + "left": 435, + "top": 382, + "title": "自定义文本", + "value": "合计数量:", + "defaultValue": "自定义文本", + "name": "", + "style": { + "zIndex": 0, + "FontSize": 9, + "FontColor": "# 000000", + "Bold": false, + "Italic": false, + "Underline": false, + "Alignment": "left", + "ItemType": 0 + }, + "uuid": "15134dd251" + }, { + "type": "braid-txt", + "isEdit": 1, + "dragable": true, + "resizable": true, + "width": 110, + "height": 20, + "left": 15, + "top": 430, + "title": "自定义文本", + "value": "备注:", + "defaultValue": "自定义文本", + "name": "", + "style": { + "zIndex": 0, + "FontSize": 9, + "FontColor": "# 000000", + "Bold": false, + "Italic": false, + "Underline": false, + "Alignment": "left", + "ItemType": 0 + }, + "uuid": "6b5f65c726" + }, { + "type": "braid-txt", + "isEdit": 1, + "dragable": true, + "resizable": true, + "width": 180, + "height": 20, + "left": 492, + "top": 382, + "title": "合计数量", + "value": "{合计数量}", + "defaultValue": "123.00", + "name": "totalCount", + "style": { + "zIndex": 0, + "FontSize": 9, + "FontColor": "# 000000", + "Bold": false, + "Italic": false, + "Underline": false, + "Alignment": "left", + "ItemType": 0 + }, + "uuid": "7a425ef108" + }, { + "type": "braid-txt", + "isEdit": 1, + "dragable": true, + "resizable": true, + "width": 660, + "height": 20, + "left": 50, + "top": 430, + "title": "备注", + "value": "{备注}", + "defaultValue": "备注", + "name": "remark", + "style": { + "zIndex": 0, + "FontSize": 9, + "FontColor": "# 000000", + "Bold": false, + "Italic": false, + "Underline": false, + "Alignment": "left", + "ItemType": 0 + }, + "uuid": "a745e40eae" + }] +} + + +export const STOCK_IN_TEMPLATE = { + "default": "true", + "title": "入库单", + "type": 1, + "width": 770, + "height": 500, + "pageWidth": 215, + "pageHeight": 140, + "tempItems": [{ + "type": "braid-txt", + "isEdit": 1, + "dragable": true, + "resizable": true, + "width": 770, + "height": 25, + "left": 0, + "top": 10, + "title": "入库单号", + "value": "{ 入库单号 } ", + "defaultValue": "入库单号", + "name": "receiptOrderNo", + "style": { + "zIndex": 0, + "FontSize": 12, + "FontColor": "# 000000", + "Bold": false, + "Italic": false, + "Underline": false, + "Alignment": "center", + "ItemType": 1 + }, + "uuid": "7f7b0b45da" + }, { + "type": "braid-txt", + "isEdit": 1, + "dragable": true, + "resizable": true, + "width": 110, + "height": 20, + "left": 27, + "top": 40, + "title": "自定义文本", + "value": "供应商:", + "defaultValue": "自定义文本", + "name": "", + "style": { + "zIndex": 0, + "FontSize": 9, + "FontColor": "# 000000", + "Bold": false, + "Italic": false, + "Underline": false, + "Alignment": "left", + "ItemType": 1 + }, + "uuid": "54ca3dc671" + }, { + "type": "braid-txt", + "isEdit": 1, + "dragable": true, + "resizable": true, + "width": 110, + "height": 20, + "left": 375, + "top": 40, + "title": "自定义文本", + "value": "订单号:", + "defaultValue": "自定义文本", + "name": "", + "style": { + "zIndex": 0, + "FontSize": 9, + "FontColor": "# 000000", + "Bold": false, + "Italic": false, + "Underline": false, + "Alignment": "left", + "ItemType": 1 + }, + "uuid": "dae9eb86e4" + }, { + "type": "braid-txt", + "isEdit": 1, + "dragable": true, + "resizable": true, + "width": 110, + "height": 20, + "left": 15, + "top": 67, + "title": "自定义文本", + "value": "入库类型:", + "defaultValue": "自定义文本", + "name": "", + "style": { + "zIndex": 0, + "FontSize": 9, + "FontColor": "# 000000", + "Bold": false, + "Italic": false, + "Underline": false, + "Alignment": "left", + "ItemType": 1 + }, + "uuid": "317ae87dea" + }, { + "type": "braid-txt", + "isEdit": 1, + "dragable": true, + "resizable": true, + "width": 110, + "height": 20, + "left": 387, + "top": 67, + "title": "自定义文本", + "value": "日期:", + "defaultValue": "自定义文本", + "name": "", + "style": { + "zIndex": 0, + "FontSize": 9, + "FontColor": "# 000000", + "Bold": false, + "Italic": false, + "Underline": false, + "Alignment": "left", + "ItemType": 1 + }, + "uuid": "d8cf0f23b0" + }, { + "type": "braid-txt", + "isEdit": 1, + "dragable": true, + "resizable": true, + "width": 268, + "height": 20, + "left": 80, + "top": 40, + "title": "供应商", + "value": "{ 供应商 } ", + "defaultValue": "供应商", + "name": "supplierName", + "style": { + "zIndex": 0, + "FontSize": 9, + "FontColor": "# 000000", + "Bold": false, + "Italic": false, + "Underline": false, + "Alignment": "left", + "ItemType": 1 + }, + "uuid": "a77126a142" + }, { + "type": "braid-txt", + "isEdit": 1, + "dragable": true, + "resizable": true, + "width": 299, + "height": 20, + "left": 425, + "top": 40, + "title": "订单号", + "value": "{ 订单号 } ", + "defaultValue": "zj001", + "name": "orderNo", + "style": { + "zIndex": 0, + "FontSize": 9, + "FontColor": "# 000000", + "Bold": false, + "Italic": false, + "Underline": false, + "Alignment": "left", + "ItemType": 1 + }, + "uuid": "d8f17a27f5" + }, { + "type": "braid-txt", + "isEdit": 1, + "dragable": true, + "resizable": true, + "width": 257, + "height": 20, + "left": 80, + "top": 67, + "title": "入库类型", + "value": "{ 入库类型 } ", + "defaultValue": "销售出库", + "name": "receiptType", + "style": { + "zIndex": 0, + "FontSize": 9, + "FontColor": "# 000000", + "Bold": false, + "Italic": false, + "Underline": false, + "Alignment": "left", + "ItemType": 1 + }, + "uuid": "4be08abbb3" + }, { + "type": "braid-txt", + "isEdit": 1, + "dragable": true, + "resizable": true, + "width": 230, + "height": 20, + "left": 425, + "top": 67, + "title": "下单时间", + "value": "{ 下单时间 } ", + "defaultValue": "2020-08-27 12: 00: 00", + "name": "createTime", + "style": { + "zIndex": 0, + "FontSize": 9, + "FontColor": "# 000000", + "Bold": false, + "Italic": false, + "Underline": false, + "Alignment": "left", + "ItemType": 0 + }, + "uuid": "83ef9c90be" + }, { + "type": "braid-table", + "isEdit": 0, + "dragable": true, + "resizable": true, + "width": 740, + "height": 275, + "left": 15, + "top": 110, + "title": "入库商品明细", + "value": "{ details } ", + "tabelHtml": "", + "columnsAttr": [{ + "title": "物料名", + "value": "{ 物料名 } ", + "name": "itemName" + }, { + "title": "物料编号", + "value": "{ 物料编号 } ", + "name": "itemNo" + }, { + "title": "物料类型", + "value": "{ 物料类型 } ", + "name": "itemType" + }, { + "title": "数量", + "value": "{ 数量 } ", + "name": "planQuantity" + }, { + "title": "仓库/库区", + "value": "{ 仓库/库区 } ", + "name": "place" + }], + "columns": [{ + "title": "物料名", + "value": "{物料名}", + "name": "itemName" + }, { + "title": "物料编号", + "value": "{物料编号}", + "name": "itemNo" + }, { + "title": "物料类型", + "value": "{物料类型}", + "name": "itemType" + }, { + "title": "数量", + "value": "{数量}", + "name": "planQuantity" + }, { + "title": "仓库/库区", + "value": "{仓库/库区}", + "name": "place" + }], + "selectCol": ["itemName", "itemNo", "itemType", "planQuantity", "place"], + "name": "details", + "style": { + "zIndex": 0, + "Alignment": "left", + "FontSize": 9, + "FontColor": "#000000", + "BorderColor": "#000000", + "AutoHeight": true, + "BottomMargin": 0 + }, + "uuid": "8f1ee2cff3" + }, { + "type": "braid-txt", + "isEdit": 1, + "dragable": true, + "resizable": true, + "width": 110, + "height": 20, + "left": 435, + "top": 382, + "title": "自定义文本", + "value": "合计数量:", + "defaultValue": "自定义文本", + "name": "", + "style": { + "zIndex": 0, + "FontSize": 9, + "FontColor": "# 000000", + "Bold": false, + "Italic": false, + "Underline": false, + "Alignment": "left", + "ItemType": 0 + }, + "uuid": "15134dd251" + }, { + "type": "braid-txt", + "isEdit": 1, + "dragable": true, + "resizable": true, + "width": 110, + "height": 20, + "left": 15, + "top": 430, + "title": "自定义文本", + "value": "备注:", + "defaultValue": "自定义文本", + "name": "", + "style": { + "zIndex": 0, + "FontSize": 9, + "FontColor": "# 000000", + "Bold": false, + "Italic": false, + "Underline": false, + "Alignment": "left", + "ItemType": 0 + }, + "uuid": "6b5f65c726" + }, { + "type": "braid-txt", + "isEdit": 1, + "dragable": true, + "resizable": true, + "width": 180, + "height": 20, + "left": 492, + "top": 382, + "title": "合计数量", + "value": "{合计数量}", + "defaultValue": "123.00", + "name": "totalCount", + "style": { + "zIndex": 0, + "FontSize": 9, + "FontColor": "# 000000", + "Bold": false, + "Italic": false, + "Underline": false, + "Alignment": "left", + "ItemType": 0 + }, + "uuid": "7a425ef108" + }, { + "type": "braid-txt", + "isEdit": 1, + "dragable": true, + "resizable": true, + "width": 660, + "height": 20, + "left": 50, + "top": 430, + "title": "备注", + "value": "{备注}", + "defaultValue": "备注", + "name": "remark", + "style": { + "zIndex": 0, + "FontSize": 9, + "FontColor": "# 000000", + "Bold": false, + "Italic": false, + "Underline": false, + "Alignment": "left", + "ItemType": 0 + }, + "uuid": "a745e40eae" + }] +} \ No newline at end of file diff --git a/src/views/components/ItemSelect.vue b/src/views/components/ItemSelect.vue new file mode 100644 index 0000000..5ec6812 --- /dev/null +++ b/src/views/components/ItemSelect.vue @@ -0,0 +1,212 @@ + + + + + diff --git a/src/views/components/wms/BatchWarehouseDialog/index.vue b/src/views/components/wms/BatchWarehouseDialog/index.vue new file mode 100644 index 0000000..ba6c1e7 --- /dev/null +++ b/src/views/components/wms/BatchWarehouseDialog/index.vue @@ -0,0 +1,57 @@ + + + \ No newline at end of file diff --git a/src/views/productManagement/workorder2.vue b/src/views/productManagement/workorder2.vue index 0a375d6..301145b 100644 --- a/src/views/productManagement/workorder2.vue +++ b/src/views/productManagement/workorder2.vue @@ -132,9 +132,9 @@ - + - + @@ -178,6 +178,7 @@ deleteworkorder, updateworkorder, updateSort, + updateSort2, GenerateWorkorder, } from '@/api/productManagement/workoder_v2.js' import Sortable from 'sortablejs' @@ -189,6 +190,7 @@ return { mqttClient: null, mqttClientId: emqxUtil.title + Math.random().toString(16).substring(2, 8), + sortable:null, search: { year: new Date().getFullYear(), week: 1, @@ -260,8 +262,8 @@ }, mounted() { this.getList() - this.drag() - + // this.drag() + this.rowDrop(); }, methods: { //todo 拖拽 @@ -296,6 +298,41 @@ }, }) }, + //XXX新方案 + rowDrop() { + this.$nextTick(() => { + let xTable = this.$refs.xTable; + this.sortable = Sortable.create( + xTable.$el.querySelector(".body--wrapper>.vxe-table--body tbody"), + { + handle: ".vxe-body--row", + animation: 150, + onEnd: ({ newIndex, oldIndex }) => { // 拖拽后回调 + // 解决方案 + this.workorder_table_data.splice(newIndex, 0, this.workorder_table_data.splice(oldIndex, 1)[0]); + let newArray = this.workorder_table_data.slice(0); + this.workorder_table_data = []; + this.$nextTick(function () { + this.workorder_table_data = newArray; + const query = { + oldId:this.workorder_table_data[oldIndex].id, + oldSort:this.workorder_table_data[oldIndex].sort, + newId:this.workorder_table_data[newIndex].id, + newSort:this.workorder_table_data[newIndex].sort, + } + updateSort2(query).then((res) => { + if (res.code == 200 && res.data > 0) { + this.$notify.success('修改成功') + }else{ + this.$notify.error('修改失败') + } + }) + }); + }, + } + ); + }); + }, handleClick() { this.getList() @@ -535,6 +572,22 @@ }) .catch(() => {}) }, + vehicleNumberInput(value) { + if (this.workorderItem.vehicleNumber >= 0 && this.workorderItem.hangNumber >= 0) { + this.workorderItem.previousNumber = this.workorderItem.vehicleNumber * this.workorderItem.hangNumber + } else { + this.workorderItem.previousNumber = 0; + } + + }, + hangNumberInput(value) { + if (this.workorderItem.vehicleNumber >= 0 && this.workorderItem.hangNumber >= 0) { + this.workorderItem.previousNumber = this.workorderItem.vehicleNumber * this.workorderItem.hangNumber + } else { + this.workorderItem.previousNumber = 0; + } + }, + initMqtt() { const that = this; if (that.mqttClient !== null && that.mqttClient.connected) { diff --git a/src/views/qualityManagement/FQC/qualityStatistics.vue b/src/views/qualityManagement/FQC/qualityStatistics.vue index 13a5148..1a3110b 100644 --- a/src/views/qualityManagement/FQC/qualityStatistics.vue +++ b/src/views/qualityManagement/FQC/qualityStatistics.vue @@ -49,9 +49,10 @@ + - + @@ -59,8 +60,8 @@ - - + + diff --git a/src/views/wms/area/index.vue b/src/views/wms/area/index.vue new file mode 100644 index 0000000..fa4e4be --- /dev/null +++ b/src/views/wms/area/index.vue @@ -0,0 +1,277 @@ + + + \ No newline at end of file diff --git a/src/views/wms/carrier/index.vue b/src/views/wms/carrier/index.vue new file mode 100644 index 0000000..abaa83a --- /dev/null +++ b/src/views/wms/carrier/index.vue @@ -0,0 +1,330 @@ + + + \ No newline at end of file diff --git a/src/views/wms/customer/index.vue b/src/views/wms/customer/index.vue new file mode 100644 index 0000000..afebdf9 --- /dev/null +++ b/src/views/wms/customer/index.vue @@ -0,0 +1,404 @@ + + + \ No newline at end of file diff --git a/src/views/wms/customerTransaction/index.vue b/src/views/wms/customerTransaction/index.vue new file mode 100644 index 0000000..9704f98 --- /dev/null +++ b/src/views/wms/customerTransaction/index.vue @@ -0,0 +1,337 @@ + + + \ No newline at end of file diff --git a/src/views/wms/delivery/index.vue b/src/views/wms/delivery/index.vue new file mode 100644 index 0000000..d487933 --- /dev/null +++ b/src/views/wms/delivery/index.vue @@ -0,0 +1,268 @@ + + + \ No newline at end of file diff --git a/src/views/wms/inventory/component/MergeTable.vue b/src/views/wms/inventory/component/MergeTable.vue new file mode 100644 index 0000000..9377b4c --- /dev/null +++ b/src/views/wms/inventory/component/MergeTable.vue @@ -0,0 +1,81 @@ + + + \ No newline at end of file diff --git a/src/views/wms/inventory/component/PanelByArea.vue b/src/views/wms/inventory/component/PanelByArea.vue new file mode 100644 index 0000000..81b44a5 --- /dev/null +++ b/src/views/wms/inventory/component/PanelByArea.vue @@ -0,0 +1,37 @@ + + + \ No newline at end of file diff --git a/src/views/wms/inventory/component/PanelByItem.vue b/src/views/wms/inventory/component/PanelByItem.vue new file mode 100644 index 0000000..29e41dc --- /dev/null +++ b/src/views/wms/inventory/component/PanelByItem.vue @@ -0,0 +1,60 @@ + + + \ No newline at end of file diff --git a/src/views/wms/inventory/component/PanelByItemType.vue b/src/views/wms/inventory/component/PanelByItemType.vue new file mode 100644 index 0000000..f8dd2b3 --- /dev/null +++ b/src/views/wms/inventory/component/PanelByItemType.vue @@ -0,0 +1,55 @@ + + + \ No newline at end of file diff --git a/src/views/wms/inventory/component/PanelByWarehouse.vue b/src/views/wms/inventory/component/PanelByWarehouse.vue new file mode 100644 index 0000000..1dd6f56 --- /dev/null +++ b/src/views/wms/inventory/component/PanelByWarehouse.vue @@ -0,0 +1,65 @@ + + + \ No newline at end of file diff --git a/src/views/wms/inventory/index.vue b/src/views/wms/inventory/index.vue new file mode 100644 index 0000000..db437fe --- /dev/null +++ b/src/views/wms/inventory/index.vue @@ -0,0 +1,193 @@ + + + \ No newline at end of file diff --git a/src/views/wms/inventoryCheck/edit.vue b/src/views/wms/inventoryCheck/edit.vue new file mode 100644 index 0000000..e8965d8 --- /dev/null +++ b/src/views/wms/inventoryCheck/edit.vue @@ -0,0 +1,384 @@ + + + + \ No newline at end of file diff --git a/src/views/wms/inventoryCheck/index.vue b/src/views/wms/inventoryCheck/index.vue new file mode 100644 index 0000000..cb72fe6 --- /dev/null +++ b/src/views/wms/inventoryCheck/index.vue @@ -0,0 +1,287 @@ + + + \ No newline at end of file diff --git a/src/views/wms/inventoryCheck/status-stylus.txt b/src/views/wms/inventoryCheck/status-stylus.txt new file mode 100644 index 0000000..ba6c204 --- /dev/null +++ b/src/views/wms/inventoryCheck/status-stylus.txt @@ -0,0 +1,23 @@ + \ No newline at end of file diff --git a/src/views/wms/inventoryCheck/status.vue b/src/views/wms/inventoryCheck/status.vue new file mode 100644 index 0000000..d5c6d4b --- /dev/null +++ b/src/views/wms/inventoryCheck/status.vue @@ -0,0 +1,178 @@ + + + + \ No newline at end of file diff --git a/src/views/wms/inventoryCheckDetail/index.vue b/src/views/wms/inventoryCheckDetail/index.vue new file mode 100644 index 0000000..a83883f --- /dev/null +++ b/src/views/wms/inventoryCheckDetail/index.vue @@ -0,0 +1,274 @@ + + + \ No newline at end of file diff --git a/src/views/wms/inventoryHistory/index.vue b/src/views/wms/inventoryHistory/index.vue new file mode 100644 index 0000000..ad79206 --- /dev/null +++ b/src/views/wms/inventoryHistory/index.vue @@ -0,0 +1,244 @@ + + + \ No newline at end of file diff --git a/src/views/wms/inventoryMovement/edit.vue b/src/views/wms/inventoryMovement/edit.vue new file mode 100644 index 0000000..1e8ed43 --- /dev/null +++ b/src/views/wms/inventoryMovement/edit.vue @@ -0,0 +1,279 @@ + + + + \ No newline at end of file diff --git a/src/views/wms/inventoryMovement/index.vue b/src/views/wms/inventoryMovement/index.vue new file mode 100644 index 0000000..a25f85b --- /dev/null +++ b/src/views/wms/inventoryMovement/index.vue @@ -0,0 +1,236 @@ + + + + \ No newline at end of file diff --git a/src/views/wms/inventoryMovement/status.vue b/src/views/wms/inventoryMovement/status.vue new file mode 100644 index 0000000..b665f94 --- /dev/null +++ b/src/views/wms/inventoryMovement/status.vue @@ -0,0 +1,296 @@ + + + + \ No newline at end of file diff --git a/src/views/wms/inventoryMovementDetail/index.vue b/src/views/wms/inventoryMovementDetail/index.vue new file mode 100644 index 0000000..1517b79 --- /dev/null +++ b/src/views/wms/inventoryMovementDetail/index.vue @@ -0,0 +1,244 @@ + + + \ No newline at end of file diff --git a/src/views/wms/inventorySettlement/edit.vue b/src/views/wms/inventorySettlement/edit.vue new file mode 100644 index 0000000..c891fdb --- /dev/null +++ b/src/views/wms/inventorySettlement/edit.vue @@ -0,0 +1,232 @@ + + + + \ No newline at end of file diff --git a/src/views/wms/inventorySettlement/index.vue b/src/views/wms/inventorySettlement/index.vue new file mode 100644 index 0000000..8354a63 --- /dev/null +++ b/src/views/wms/inventorySettlement/index.vue @@ -0,0 +1,267 @@ + + + diff --git a/src/views/wms/inventorySettlement/status.vue b/src/views/wms/inventorySettlement/status.vue new file mode 100644 index 0000000..73ac675 --- /dev/null +++ b/src/views/wms/inventorySettlement/status.vue @@ -0,0 +1,223 @@ + + + + \ No newline at end of file diff --git a/src/views/wms/inventorySettlementDetail/index.vue b/src/views/wms/inventorySettlementDetail/index.vue new file mode 100644 index 0000000..c12c8ce --- /dev/null +++ b/src/views/wms/inventorySettlementDetail/index.vue @@ -0,0 +1,417 @@ + + + \ No newline at end of file diff --git a/src/views/wms/item/index.vue b/src/views/wms/item/index.vue new file mode 100644 index 0000000..58bc7fc --- /dev/null +++ b/src/views/wms/item/index.vue @@ -0,0 +1,383 @@ + + + \ No newline at end of file diff --git a/src/views/wms/itemType/index.vue b/src/views/wms/itemType/index.vue new file mode 100644 index 0000000..6edbff6 --- /dev/null +++ b/src/views/wms/itemType/index.vue @@ -0,0 +1,305 @@ + + + \ No newline at end of file diff --git a/src/views/wms/rack/index.vue b/src/views/wms/rack/index.vue new file mode 100644 index 0000000..176880f --- /dev/null +++ b/src/views/wms/rack/index.vue @@ -0,0 +1,301 @@ + + + \ No newline at end of file diff --git a/src/views/wms/receiptOrder/ReceiptOrderPrint.vue b/src/views/wms/receiptOrder/ReceiptOrderPrint.vue new file mode 100644 index 0000000..7f0142d --- /dev/null +++ b/src/views/wms/receiptOrder/ReceiptOrderPrint.vue @@ -0,0 +1,102 @@ + + + + + \ No newline at end of file diff --git a/src/views/wms/receiptOrder/dashboard.vue b/src/views/wms/receiptOrder/dashboard.vue new file mode 100644 index 0000000..4f718b1 --- /dev/null +++ b/src/views/wms/receiptOrder/dashboard.vue @@ -0,0 +1,472 @@ + + + + diff --git a/src/views/wms/receiptOrder/edit.vue b/src/views/wms/receiptOrder/edit.vue new file mode 100644 index 0000000..1f1f524 --- /dev/null +++ b/src/views/wms/receiptOrder/edit.vue @@ -0,0 +1,313 @@ + + + + \ No newline at end of file diff --git a/src/views/wms/receiptOrder/index.vue b/src/views/wms/receiptOrder/index.vue new file mode 100644 index 0000000..e0e3b8d --- /dev/null +++ b/src/views/wms/receiptOrder/index.vue @@ -0,0 +1,24 @@ + + + \ No newline at end of file diff --git a/src/views/wms/receiptOrder/status.vue b/src/views/wms/receiptOrder/status.vue new file mode 100644 index 0000000..b581347 --- /dev/null +++ b/src/views/wms/receiptOrder/status.vue @@ -0,0 +1,318 @@ + + + + \ No newline at end of file diff --git a/src/views/wms/receiptOrderDetail/index.vue b/src/views/wms/receiptOrderDetail/index.vue new file mode 100644 index 0000000..f78e845 --- /dev/null +++ b/src/views/wms/receiptOrderDetail/index.vue @@ -0,0 +1,292 @@ + + + \ No newline at end of file diff --git a/src/views/wms/shipmentOrder/ShipmentOrderPrint.vue b/src/views/wms/shipmentOrder/ShipmentOrderPrint.vue new file mode 100644 index 0000000..f468a4d --- /dev/null +++ b/src/views/wms/shipmentOrder/ShipmentOrderPrint.vue @@ -0,0 +1,102 @@ + + + + + diff --git a/src/views/wms/shipmentOrder/dashborad.vue b/src/views/wms/shipmentOrder/dashborad.vue new file mode 100644 index 0000000..ce59d36 --- /dev/null +++ b/src/views/wms/shipmentOrder/dashborad.vue @@ -0,0 +1,413 @@ + + + + \ No newline at end of file diff --git a/src/views/wms/shipmentOrder/edit.vue b/src/views/wms/shipmentOrder/edit.vue new file mode 100644 index 0000000..04d9594 --- /dev/null +++ b/src/views/wms/shipmentOrder/edit.vue @@ -0,0 +1,334 @@ + + + + diff --git a/src/views/wms/shipmentOrder/index.vue b/src/views/wms/shipmentOrder/index.vue new file mode 100644 index 0000000..b67f762 --- /dev/null +++ b/src/views/wms/shipmentOrder/index.vue @@ -0,0 +1,333 @@ + + + + \ No newline at end of file diff --git a/src/views/wms/shipmentOrder/status.vue b/src/views/wms/shipmentOrder/status.vue new file mode 100644 index 0000000..be7e3a5 --- /dev/null +++ b/src/views/wms/shipmentOrder/status.vue @@ -0,0 +1,449 @@ + + + + \ No newline at end of file diff --git a/src/views/wms/shipmentOrderDetail/index.vue b/src/views/wms/shipmentOrderDetail/index.vue new file mode 100644 index 0000000..1229e18 --- /dev/null +++ b/src/views/wms/shipmentOrderDetail/index.vue @@ -0,0 +1,254 @@ + + + \ No newline at end of file diff --git a/src/views/wms/supplier/index.vue b/src/views/wms/supplier/index.vue new file mode 100644 index 0000000..15bae75 --- /dev/null +++ b/src/views/wms/supplier/index.vue @@ -0,0 +1,421 @@ + + + \ No newline at end of file diff --git a/src/views/wms/supplierTransaction/index.vue b/src/views/wms/supplierTransaction/index.vue new file mode 100644 index 0000000..2d0b820 --- /dev/null +++ b/src/views/wms/supplierTransaction/index.vue @@ -0,0 +1,342 @@ + + + \ No newline at end of file diff --git a/src/views/wms/warehouse/index.vue b/src/views/wms/warehouse/index.vue new file mode 100644 index 0000000..1cb7ec2 --- /dev/null +++ b/src/views/wms/warehouse/index.vue @@ -0,0 +1,551 @@ + + + + \ No newline at end of file diff --git a/src/views/wms/wave/index.vue b/src/views/wms/wave/index.vue new file mode 100644 index 0000000..272a248 --- /dev/null +++ b/src/views/wms/wave/index.vue @@ -0,0 +1,219 @@ + + + \ No newline at end of file diff --git a/src/views/wms/wave/receipt/index.vue b/src/views/wms/wave/receipt/index.vue new file mode 100644 index 0000000..e357935 --- /dev/null +++ b/src/views/wms/wave/receipt/index.vue @@ -0,0 +1,164 @@ + + + \ No newline at end of file diff --git a/src/views/wms/wave/receipt/status.vue b/src/views/wms/wave/receipt/status.vue new file mode 100644 index 0000000..cf7ac25 --- /dev/null +++ b/src/views/wms/wave/receipt/status.vue @@ -0,0 +1,374 @@ + + + + diff --git a/src/views/wms/wave/status-stylus.txt b/src/views/wms/wave/status-stylus.txt new file mode 100644 index 0000000..575c573 --- /dev/null +++ b/src/views/wms/wave/status-stylus.txt @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/src/views/wms/wave/status.vue b/src/views/wms/wave/status.vue new file mode 100644 index 0000000..71a2d91 --- /dev/null +++ b/src/views/wms/wave/status.vue @@ -0,0 +1,365 @@ + + + + \ No newline at end of file diff --git a/vue.config.js b/vue.config.js index 1367a25..1366792 100644 --- a/vue.config.js +++ b/vue.config.js @@ -3,7 +3,7 @@ const path = require('path') const defaultSettings = require('./src/settings.js') function resolve(dir) { - return path.join(__dirname, dir) + return path.join(__dirname, dir) } const name = defaultSettings.title // 标题 @@ -11,119 +11,123 @@ const name = defaultSettings.title // 标题 //官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions // 这里只列一部分,具体配置参考文档 module.exports = { - css: { - sourceMap: process.env.NODE_ENV == 'production' ? false : true, //开启css source maps功能,前端可以看到css具体的行数 - loaderOptions: { - sass: { - sassOptions: { outputStyle: 'expanded' }, - }, - }, - }, - // 部署生产环境和开发环境下的URL。 - // 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上 - // 例如 https://www.baidu.com/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.baidu.com/admin/,则设置 baseUrl 为 /admin/。 - publicPath: process.env.VUE_APP_ROUTER_PREFIX, - // 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist) - outputDir: 'dist', - // 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下) - assetsDir: 'static', - // 是否开启eslint保存检测,有效值:ture | false | 'error' - lintOnSave: process.env.NODE_ENV === 'development', - // 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。 - productionSourceMap: false, - // webpack-dev-server 相关配置 - devServer: { - host: '0.0.0.0', //项目启动host - port: 8887, // 项目启动port, - open: true, - proxy: { - // detail: https://cli.vuejs.org/config/#devserver-proxy - [process.env.VUE_APP_BASE_API]: { - target: 'http://localhost:8888/', // 后端接口地址 - changeOrigin: true, - pathRewrite: { - ['^' + process.env.VUE_APP_BASE_API]: '', //需要rewrite的 - }, - }, - msgHub: { - target: 'http://localhost:8888/msgHub', - ws: true, - changeOrigin: true, - pathRewrite: { - ['^/msgHub']: '', //需要rewrite的 - }, - }, - - }, - disableHostCheck: true, - }, - configureWebpack: { - name: name, - resolve: { - //设置路径别名,@代表根目录, @代表 src/文件夹 - alias: { - '@': resolve('src'), - }, - }, - plugins: [], - }, - chainWebpack(config) { - config.plugins.delete('preload') // TODO: need test - config.plugins.delete('prefetch') // TODO: need test + css: { + sourceMap: process.env.NODE_ENV == 'production' ? false : true, //开启css source maps功能,前端可以看到css具体的行数 + loaderOptions: { + sass: { + sassOptions: { outputStyle: 'expanded' }, + }, + }, + }, + // 部署生产环境和开发环境下的URL。 + // 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上 + // 例如 https://www.baidu.com/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.baidu.com/admin/,则设置 baseUrl 为 /admin/。 + publicPath: process.env.VUE_APP_ROUTER_PREFIX, + // 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist) + outputDir: 'dist', + // 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下) + assetsDir: 'static', + // 是否开启eslint保存检测,有效值:ture | false | 'error' + lintOnSave: process.env.NODE_ENV === 'development', + // 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。 + productionSourceMap: false, + // webpack-dev-server 相关配置 + devServer: { + host: '0.0.0.0', //项目启动host + port: 8887, // 项目启动port, + open: true, + proxy: { + '/wms': { + target: 'http://localhost:8000/', // 后端接口地址 + changeOrigin: true, + }, + // detail: https://cli.vuejs.org/config/#devserver-proxy + [process.env.VUE_APP_BASE_API]: { + target: 'http://localhost:8888/', // 后端接口地址 + changeOrigin: true, + pathRewrite: { + ['^' + process.env.VUE_APP_BASE_API]: '', //需要rewrite的 + }, + }, - // set svg-sprite-loader - config.module.rule('svg').exclude.add(resolve('src/assets/icons')).end() - config.module - .rule('icons') - .test(/\.svg$/) - .include.add(resolve('src/assets/icons')) - .end() - .use('svg-sprite-loader') - .loader('svg-sprite-loader') - .options({ - symbolId: 'icon-[name]', - }) - .end() + msgHub: { + target: 'http://localhost:8888/msgHub', + ws: true, + changeOrigin: true, + pathRewrite: { + ['^/msgHub']: '', //需要rewrite的 + }, + }, - config.when(process.env.NODE_ENV !== 'development', (config) => { - config - .plugin('ScriptExtHtmlWebpackPlugin') - .after('html') - .use('script-ext-html-webpack-plugin', [ - { - // `runtime` must same as runtimeChunk name. default is `runtime` - inline: /runtime\..*\.js$/, - }, - ]) - .end() - config.optimization.splitChunks({ - chunks: 'all', - cacheGroups: { - libs: { - name: 'chunk-libs', - test: /[\\/]node_modules[\\/]/, - priority: 10, - chunks: 'initial', // only package third parties that are initially dependent - }, - elementUI: { - name: 'chunk-elementUI', // split elementUI into a single package - priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app - test: /[\\/]node_modules[\\/]_?element-ui(.*)/, // in order to adapt to cnpm - }, - commons: { - name: 'chunk-commons', - test: resolve('src/components'), // can customize your rules - minChunks: 3, // minimum common number - priority: 5, - reuseExistingChunk: true, - }, - }, - }) - config.optimization.runtimeChunk('single'), - { - from: path.resolve(__dirname, './public/robots.txt'), //防爬虫文件 - to: './', //到根目录下 - } - }) - }, -} + }, + disableHostCheck: true, + }, + configureWebpack: { + name: name, + resolve: { + //设置路径别名,@代表根目录, @代表 src/文件夹 + alias: { + '@': resolve('src'), + }, + }, + plugins: [], + }, + chainWebpack(config) { + config.plugins.delete('preload') // TODO: need test + config.plugins.delete('prefetch') // TODO: need test + + // set svg-sprite-loader + config.module.rule('svg').exclude.add(resolve('src/assets/icons')).end() + config.module + .rule('icons') + .test(/\.svg$/) + .include.add(resolve('src/assets/icons')) + .end() + .use('svg-sprite-loader') + .loader('svg-sprite-loader') + .options({ + symbolId: 'icon-[name]', + }) + .end() + + config.when(process.env.NODE_ENV !== 'development', (config) => { + config + .plugin('ScriptExtHtmlWebpackPlugin') + .after('html') + .use('script-ext-html-webpack-plugin', [ + { + // `runtime` must same as runtimeChunk name. default is `runtime` + inline: /runtime\..*\.js$/, + }, ]) + .end() + config.optimization.splitChunks({ + chunks: 'all', + cacheGroups: { + libs: { + name: 'chunk-libs', + test: /[\\/]node_modules[\\/]/, + priority: 10, + chunks: 'initial', // only package third parties that are initially dependent + }, + elementUI: { + name: 'chunk-elementUI', // split elementUI into a single package + priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app + test: /[\\/]node_modules[\\/]_?element-ui(.*)/, // in order to adapt to cnpm + }, + commons: { + name: 'chunk-commons', + test: resolve('src/components'), // can customize your rules + minChunks: 3, // minimum common number + priority: 5, + reuseExistingChunk: true, + }, + }, + }) + config.optimization.runtimeChunk('single'), + { + from: path.resolve(__dirname, './public/robots.txt'), //防爬虫文件 + to: './', //到根目录下 + } + }) + }, +} \ No newline at end of file