feat:新增上架下架 绑定解绑
This commit is contained in:
parent
df96787f99
commit
a229ed64cf
@ -26,6 +26,7 @@
|
||||
"avue-plugin-ueditor": "^0.1.4",
|
||||
"axios": "^0.18.0",
|
||||
"babel-polyfill": "^6.26.0",
|
||||
"bignumber.js": "^9.1.2",
|
||||
"bin-code-editor": "^0.9.0",
|
||||
"bpmn-js-create-append-anything": "^0.4.0",
|
||||
"bpmn-js-token-simulation": "0.10.0",
|
||||
|
||||
39
src/api/wms/barcode-creation.js
Normal file
39
src/api/wms/barcode-creation.js
Normal file
@ -0,0 +1,39 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query,obj) {
|
||||
return request({
|
||||
url: '/wms/barcode-creation/log',
|
||||
method: 'post',
|
||||
params: query,
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function itemPage(query) {
|
||||
return request({
|
||||
url: '/wms/barcode-creation/item-page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
export function boxTypePage(query) {
|
||||
return request({
|
||||
url: '/wms/barcode-creation/box-type-page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
export function storageBinPage(query) {
|
||||
return request({
|
||||
url: '/wms/barcode-creation/storage-bin-page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
export function save(obj) {
|
||||
return request({
|
||||
url: '/wms/barcode-creation',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
16
src/api/wms/barcode-query.js
Normal file
16
src/api/wms/barcode-query.js
Normal file
@ -0,0 +1,16 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function getObjByInventoryId(inventoryId) {
|
||||
return request({
|
||||
url: '/wms/barCodeQuery/getObjByInventoryId/' + inventoryId,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
export function labelPrint(carrier) {
|
||||
return request({
|
||||
url: '/wms/barCodeQuery/labelPrint',
|
||||
method: 'get',
|
||||
params: carrier
|
||||
})
|
||||
|
||||
}
|
||||
80
src/api/wms/carrier-bind-inventory.js
Normal file
80
src/api/wms/carrier-bind-inventory.js
Normal file
@ -0,0 +1,80 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchPageList(query) {
|
||||
return request({
|
||||
url: '/wms/carrier-bind-inventory/getBindPage',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/carrier-bind-inventory/getBindList',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
export function addObj(obj) {
|
||||
return request({
|
||||
url: '/wms/carrier-bind-inventory',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getObj(id) {
|
||||
return request({
|
||||
url: '/wms/carrier-bind-inventory/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
export function delObj(id) {
|
||||
return request({
|
||||
url: '/wms/carrier-bind-inventory/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
export function putObj(obj) {
|
||||
return request({
|
||||
url: '/wms/carrier-bind-inventory',
|
||||
method: 'put',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
//通过id查询载具库存绑定表,扫描主条码
|
||||
export function getBindList(carrier) {
|
||||
return request({
|
||||
url: '/wms/carrier-member/getBindList/' + carrier,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
//扫描子条码
|
||||
export function getItem(carrierOrInventory) {
|
||||
return request({
|
||||
url: '/wms/carrier-member/getItem/' + carrierOrInventory,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
//绑定
|
||||
export function bind(obj) {
|
||||
return request({
|
||||
url: '/wms/carrier-member/bind',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getBindListByTray(carrier) {
|
||||
return request({
|
||||
url: '/wms/carrier-member/getBindListByTray/' + carrier,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
95
src/api/wms/carrier-unbind-inventory.js
Normal file
95
src/api/wms/carrier-unbind-inventory.js
Normal file
@ -0,0 +1,95 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchPageList(query) {
|
||||
return request({
|
||||
url: '/wms/carrier-bind-inventory/getBindPage',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/carrier-bind-inventory/getBindList',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
export function addObj(obj) {
|
||||
return request({
|
||||
url: '/wms/carrier-bind-inventory',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getObj(id) {
|
||||
return request({
|
||||
url: '/wms/carrier-bind-inventory/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
export function delObj(id) {
|
||||
return request({
|
||||
url: '/wms/carrier-bind-inventory/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
export function putObj(obj) {
|
||||
return request({
|
||||
url: '/wms/carrier-bind-inventory',
|
||||
method: 'put',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
//通过id查询载具库存绑定表,扫描主条码
|
||||
export function getBindList(carrier) {
|
||||
return request({
|
||||
url: '/wms/carrier-member/getBindList/' + carrier,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
//扫描子条码
|
||||
export function getItem(carrierOrInventory) {
|
||||
return request({
|
||||
url: '/wms/carrier-member/getItem/' + carrierOrInventory,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
//解绑
|
||||
export function unbind(obj) {
|
||||
return request({
|
||||
url: '/wms/carrier-member/unbind',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getCarrier(query) {
|
||||
return request({
|
||||
url: '/wms/carrier/getCarrier',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getBindListByTray(carrier) {
|
||||
return request({
|
||||
url: '/wms/carrier-member/getBindListByTray/' + carrier,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
export function confirmUnBind(obj) {
|
||||
return request({
|
||||
url: '/wms/carrier/confirmUnBind',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
48
src/api/wms/carrier.js
Normal file
48
src/api/wms/carrier.js
Normal file
@ -0,0 +1,48 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/carrier/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function addObj(obj) {
|
||||
return request({
|
||||
url: '/wms/carrier',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getObj(id) {
|
||||
return request({
|
||||
url: '/wms/carrier/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function delObj(id) {
|
||||
return request({
|
||||
url: '/wms/carrier/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
export function labelPrint(printList, printer) {
|
||||
return request({
|
||||
url: '/wms/carrier/by-labelRePrint',
|
||||
method: 'post',
|
||||
data: printList
|
||||
})
|
||||
}
|
||||
|
||||
export function putObj(obj) {
|
||||
return request({
|
||||
url: '/wms/carrier',
|
||||
method: 'put',
|
||||
data: obj
|
||||
})
|
||||
|
||||
}
|
||||
39
src/api/wms/carriertype.js
Normal file
39
src/api/wms/carriertype.js
Normal file
@ -0,0 +1,39 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/carriertype/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function addObj(obj) {
|
||||
return request({
|
||||
url: '/wms/carriertype',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getObj(id) {
|
||||
return request({
|
||||
url: '/wms/carriertype/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function delObj(id) {
|
||||
return request({
|
||||
url: '/wms/carriertype/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
export function putObj(obj) {
|
||||
return request({
|
||||
url: '/wms/carriertype',
|
||||
method: 'put',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
10
src/api/wms/click-unShelve.js
Normal file
10
src/api/wms/click-unShelve.js
Normal file
@ -0,0 +1,10 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
//一键下架
|
||||
export function unShelve(storageLocation) {
|
||||
return request({
|
||||
url: '/wms/storage-bin-bind-inventory/unbindByStorageLocation?storageLocation=' + storageLocation,
|
||||
method: 'post',
|
||||
})
|
||||
}
|
||||
|
||||
17
src/api/wms/complex-report.js
Normal file
17
src/api/wms/complex-report.js
Normal file
@ -0,0 +1,17 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function page(query) {
|
||||
return request({
|
||||
url: '/wms/complexReport/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function list(query) {
|
||||
return request({
|
||||
url: '/wms/complexReport/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
57
src/api/wms/cost-center-requisition.js
Normal file
57
src/api/wms/cost-center-requisition.js
Normal file
@ -0,0 +1,57 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/document/productionRequisition/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getDocumentDetail(documentNo) {
|
||||
return request({
|
||||
url: '/wms/document/' + documentNo,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
export function getInventoryOriginalQty(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getInventoryOriginalQty',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
//提交
|
||||
export function submit(obj) {
|
||||
return request({
|
||||
url: '/wms/document/productionRequisitionSubmit',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getItemInventory(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getItemInventory',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getInventoryQty(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getInventoryQty',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function oneClickPassValidate(obj) {
|
||||
return request({
|
||||
url: '/wms/document/productionRequisitionSubmit/oneClickPassValidate',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
48
src/api/wms/cost-center-return.js
Normal file
48
src/api/wms/cost-center-return.js
Normal file
@ -0,0 +1,48 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/document/productionRequisition/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getDocumentDetail(documentNo) {
|
||||
return request({
|
||||
url: '/wms/document/' + documentNo,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
export function getInventoryOriginalQty(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getInventoryOriginalQty',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
//提交
|
||||
export function returnSubmit(obj) {
|
||||
return request({
|
||||
url: '/wms/document/returnSubmit',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getItemInventory(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getItemInventory',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function rejectDocumentByNo(documentNo) {
|
||||
return request({
|
||||
url: '/wms/document/rejectDocumentByNo?documentNo=' + documentNo,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
39
src/api/wms/customer.js
Normal file
39
src/api/wms/customer.js
Normal file
@ -0,0 +1,39 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/customer/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function addObj(obj) {
|
||||
return request({
|
||||
url: '/wms/customer',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getObj(id) {
|
||||
return request({
|
||||
url: '/wms/customer/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function delObj(id) {
|
||||
return request({
|
||||
url: '/wms/customer/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
export function putObj(obj) {
|
||||
return request({
|
||||
url: '/wms/customer',
|
||||
method: 'put',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
53
src/api/wms/data-field.js
Normal file
53
src/api/wms/data-field.js
Normal file
@ -0,0 +1,53 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/mes-core/data-field/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function addObj(obj) {
|
||||
return request({
|
||||
url: '/mes-core/data-field',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getObj(id) {
|
||||
return request({
|
||||
url: '/mes-core/data-field/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function getByCode(code) {
|
||||
return request({
|
||||
url: '/mes-core/data-field/by-code?code=' + code,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function delByCode(code) {
|
||||
return request({
|
||||
url: '/mes-core/data-field/delete-by-code?code=' + code,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
export function delObj(id) {
|
||||
return request({
|
||||
url: '/mes-core/data-field/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
export function putObj(obj) {
|
||||
return request({
|
||||
url: '/mes-core/data-field',
|
||||
method: 'put',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
25
src/api/wms/dn-order.js
Normal file
25
src/api/wms/dn-order.js
Normal file
@ -0,0 +1,25 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/dn-order/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function selectDetailByID(query) {
|
||||
return request({
|
||||
url: '/wms/dn-order/selectDetailByID',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function updateDetailBatchById(param) {
|
||||
return request({
|
||||
url: '/wms/dn-order/updateDetailBatchById',
|
||||
method: 'put',
|
||||
data: param
|
||||
})
|
||||
}
|
||||
31
src/api/wms/document-cancel.js
Normal file
31
src/api/wms/document-cancel.js
Normal file
@ -0,0 +1,31 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function pageForCancel(query) {
|
||||
return request({
|
||||
url: '/wms/document/detail/pageForCancel',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function cancelCloseDocument(documentNo) {
|
||||
return request({
|
||||
url: '/wms/document/cancelCloseDocument',
|
||||
method: 'post',
|
||||
data: documentNo,
|
||||
headers: {
|
||||
'Content-Type': 'application/json; charset=utf-8'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function saleReturnCancel(documentNo) {
|
||||
return request({
|
||||
url: '/wms/document/saleReturn/cancel',
|
||||
method: 'post',
|
||||
data: documentNo,
|
||||
headers: {
|
||||
'Content-Type': 'application/json; charset=utf-8'
|
||||
}
|
||||
})
|
||||
}
|
||||
23
src/api/wms/document-close.js
Normal file
23
src/api/wms/document-close.js
Normal file
@ -0,0 +1,23 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/document/productionRequisition/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getDocumentDetail(documentNo) {
|
||||
return request({
|
||||
url: '/wms/document/' + documentNo,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
//提交
|
||||
export function submit(documentNo) {
|
||||
return request({
|
||||
url: '/wms/document/closeDocumentByNo?documentNo=' + documentNo,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
131
src/api/wms/document-maintain.js
Normal file
131
src/api/wms/document-maintain.js
Normal file
@ -0,0 +1,131 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function getOperationRules(site,activityId) {
|
||||
return request({
|
||||
url: '/wms/document/operationRules/'+site+'/'+activityId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
export function getCWarehouse(site) {
|
||||
return request({
|
||||
url: '/wms/document/getCWarehouse/'+site,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
export function getWarehouse(site) {
|
||||
return request({
|
||||
url: '/wms/document/getWarehouse/'+site,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
export function getRetrieve(current,size,obj) {
|
||||
return request({
|
||||
url: '/wms/document/getRetrieve/'+current+'/'+size,
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function saveOrUpdate(obj) {
|
||||
return request({
|
||||
url: '/wms/document/save',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
export function submit(obj) {
|
||||
return request({
|
||||
url: '/wms/document/submit',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function cancel(obj) {
|
||||
return request({
|
||||
url: '/wms/document/cancel',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function reject(obj) {
|
||||
return request({
|
||||
url: '/wms/document/reject',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function itemDialog(obj) {
|
||||
return request({
|
||||
url: '/wms/document/item/page',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
export function itemDialogs(obj) {
|
||||
return request({
|
||||
url: '/wms/document/item/pages',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
export function itemCustomFieldDialog(obj) {
|
||||
return request({
|
||||
url: '/wms/document/item/itemPage',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getItem(obj) {
|
||||
return request({
|
||||
url: '/wms/document/item',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
export function documentDialog(query) {
|
||||
return request({
|
||||
url: '/wms/document/getDocumentList',
|
||||
method: 'get',
|
||||
params:query
|
||||
})
|
||||
}
|
||||
export function userCheck(param) {
|
||||
return request({
|
||||
url: '/wms/document/userCheck/'+param +'/STORES_RETURNED',
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
export function getDetails(site,documentNo,seq,item) {
|
||||
return request({
|
||||
url: '/wms/document/selectSfc/'+site+'/'+documentNo+'/'+seq + '/' + item,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
export function getOaProjectCode(params) {
|
||||
return request({
|
||||
url: '/mom-mes-nei/cust-data-field-list/page',
|
||||
method: 'get',
|
||||
params:params
|
||||
})
|
||||
}
|
||||
|
||||
export function fertItemPage(obj) {
|
||||
return request({
|
||||
url: '/wms/document/item/fertItemPage',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function validateImport(obj) {
|
||||
return request({
|
||||
url: '/wms/document/validateImport',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
41
src/api/wms/false-warehoursing.js
Normal file
41
src/api/wms/false-warehoursing.js
Normal file
@ -0,0 +1,41 @@
|
||||
import request from '@/router/axios';
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/false-warehoursing/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function fetchList2(query) {
|
||||
return request({
|
||||
url: '/wms/false-warehoursing/page2',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function transfer(obj) {
|
||||
return request({
|
||||
url: '/wms/false-warehoursing/transfer/',
|
||||
method: 'post',
|
||||
data: obj
|
||||
});
|
||||
}
|
||||
|
||||
export function transIn(obj) {
|
||||
return request({
|
||||
url: '/wms/false-warehoursing/transIn',
|
||||
method: 'post',
|
||||
data: obj
|
||||
});
|
||||
}
|
||||
|
||||
export function transOut(obj) {
|
||||
return request({
|
||||
url: '/wms/false-warehoursing/transOut',
|
||||
method: 'put',
|
||||
data: obj
|
||||
});
|
||||
}
|
||||
49
src/api/wms/finished-product-production-return.js
Normal file
49
src/api/wms/finished-product-production-return.js
Normal file
@ -0,0 +1,49 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/document/productionRequisition/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getDocumentDetail(documentNo) {
|
||||
return request({
|
||||
url: '/wms/document/' + documentNo,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
export function getItemInventory(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getItemInventory',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
//成品提交
|
||||
export function submit(obj) {
|
||||
return request({
|
||||
url: '/wms/document/finishedProductsWarehouseSubmit',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
//成品查询数量
|
||||
export function getFinishedProductQty(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getFinishedProductQty',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function rejectDocumentByNo(documentNo) {
|
||||
return request({
|
||||
url: '/wms/document/rejectDocumentByNo?documentNo=' + documentNo,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
42
src/api/wms/finished-products-purchase.js
Normal file
42
src/api/wms/finished-products-purchase.js
Normal file
@ -0,0 +1,42 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/document/productionRequisition/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getDocumentDetail(documentNo) {
|
||||
return request({
|
||||
url: '/wms/document/' + documentNo,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
export function getItemInventory(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getItemInventory',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
//提交
|
||||
export function submit(obj) {
|
||||
return request({
|
||||
url: '/wms/document/finishedProductsPurchaseSubmit',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getFinishedProductsPurchaseQty(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getFinishedProductsPurchaseQty',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
42
src/api/wms/inventory-allocation.js
Normal file
42
src/api/wms/inventory-allocation.js
Normal file
@ -0,0 +1,42 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/document/productionRequisition/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getDocumentDetail(documentNo) {
|
||||
return request({
|
||||
url: '/wms/document/' + documentNo,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
export function getItemInventory(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getItemInventory',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
//提交
|
||||
export function submit(obj) {
|
||||
return request({
|
||||
url: '/wms/document/transferSubmit',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getInventoryQty(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getInventoryQty',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
25
src/api/wms/inventory-group.js
Normal file
25
src/api/wms/inventory-group.js
Normal file
@ -0,0 +1,25 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function scanCode(query) {
|
||||
return request({
|
||||
url: '/wms/inventory-group/scanCode',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function bindGroup(obj) {
|
||||
return request({
|
||||
url: '/wms/inventory-group/bindGroup',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function unBindGroup(obj) {
|
||||
return request({
|
||||
url: '/wms/inventory-group/unBindGroup',
|
||||
method: 'delete',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
24
src/api/wms/inventory-lock.js
Normal file
24
src/api/wms/inventory-lock.js
Normal file
@ -0,0 +1,24 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function getInventoryList(inventoryIdOrCarrier) {
|
||||
return request({
|
||||
url: '/wms/carrier-member/getInventoryList/'+inventoryIdOrCarrier,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
export function freeze(obj) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory/freeze',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function unfreeze(obj) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory/unfreeze',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
53
src/api/wms/inventory-move.js
Normal file
53
src/api/wms/inventory-move.js
Normal file
@ -0,0 +1,53 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
//执行移动
|
||||
export function moveInventory(obj) {
|
||||
return request({
|
||||
url: '/wms/storage-bin-bind-inventory/inventoryTransfer',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getInventoryQtyNewPassBox(params) {
|
||||
return request({
|
||||
url: '/wms/document/getInventoryQtyNewPassBox',
|
||||
method: 'post',
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
//获取是包材的物料
|
||||
export function fetchKmatItemList(query) {
|
||||
return request({
|
||||
url: '/wms/storage-bin-bind-inventory/fetchKmatItemList',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
//根据来源位置和物料查询库存
|
||||
export function getKmatInventoryQty(storageLocation, item) {
|
||||
return request({
|
||||
url: '/wms/storage-bin-bind-inventory/getKmatInventoryQty?storageLocation=' + storageLocation + '&&item=' + item,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
//执行移动
|
||||
export function inventoryTransferForKmat(obj) {
|
||||
return request({
|
||||
url: '/wms/storage-bin-bind-inventory/inventoryTransferForKmat',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
//获取全区条码和托
|
||||
export function selectAllByStorageLocation(query) {
|
||||
return request({
|
||||
url: '/wms/storage-bin-bind-inventory/selectAllByStorageLocation',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
117
src/api/wms/inventory.js
Normal file
117
src/api/wms/inventory.js
Normal file
@ -0,0 +1,117 @@
|
||||
import request from '@/router/axios';
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
}
|
||||
|
||||
export function fetchDtoList(query) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory/getInventoryDtoPage',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
}
|
||||
|
||||
export function fetchDtoListByCarrier(query) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory/getInventoryDtoPageByCarrier',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
}
|
||||
|
||||
export function inventoryDto(query) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory/inventoryDto',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
}
|
||||
|
||||
export function addObj(obj) {
|
||||
return request({
|
||||
url: '/wms/inventory',
|
||||
method: 'post',
|
||||
data: obj
|
||||
});
|
||||
}
|
||||
|
||||
export function getObj(id) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory/' + id,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
export function getByCode(code) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory/by-code?code=' + code,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
export function delByCode(code) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory/delete-by-code?code=' + code,
|
||||
method: 'delete'
|
||||
});
|
||||
}
|
||||
|
||||
export function delObj(id) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory/' + id,
|
||||
method: 'delete'
|
||||
});
|
||||
}
|
||||
|
||||
export function putObj(obj) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory',
|
||||
method: 'put',
|
||||
data: obj
|
||||
});
|
||||
}
|
||||
|
||||
export function splitInventory(obj) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory/splitInventory',
|
||||
method: 'post',
|
||||
data: obj
|
||||
});
|
||||
}
|
||||
|
||||
export function mergeInventory(obj) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory/mergeInventory',
|
||||
method: 'post',
|
||||
data: obj
|
||||
});
|
||||
}
|
||||
|
||||
export function selectForSplit(query) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory/selectForSplit',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
}
|
||||
|
||||
export function selectForStocktaking(query) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory/selectForStocktaking',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
}
|
||||
|
||||
export function inventoryStocktaking(obj) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory/inventoryStocktaking',
|
||||
method: 'post',
|
||||
data: obj
|
||||
});
|
||||
}
|
||||
39
src/api/wms/item-safe-inventory.js
Normal file
39
src/api/wms/item-safe-inventory.js
Normal file
@ -0,0 +1,39 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/item-safe-inventory/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function addObj(obj) {
|
||||
return request({
|
||||
url: '/wms/item-safe-inventory',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getObj(id) {
|
||||
return request({
|
||||
url: '/wms/item-safe-inventory/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function delObj(id) {
|
||||
return request({
|
||||
url: '/wms/item-safe-inventory/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
export function putObj(obj) {
|
||||
return request({
|
||||
url: '/wms/item-safe-inventory',
|
||||
method: 'put',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
31
src/api/wms/label-reprint.js
Normal file
31
src/api/wms/label-reprint.js
Normal file
@ -0,0 +1,31 @@
|
||||
import request from '@/router/axios'
|
||||
export function operationOPType(operation,shopOrder) {
|
||||
return request({
|
||||
url: '/wms/z-knives-entry/operationOPType/' + operation + "/" + shopOrder,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function reprint(param) {
|
||||
return request({
|
||||
url: '/wms/picking/reprint',
|
||||
method: 'post',
|
||||
data: param
|
||||
})
|
||||
}
|
||||
|
||||
export function deleteKnivesEntry(param) {
|
||||
return request({
|
||||
url: '/wms/z-knives-entry/deleteKnivesEntry',
|
||||
method: 'post',
|
||||
data: param
|
||||
})
|
||||
}
|
||||
|
||||
export function select(param) {
|
||||
return request({
|
||||
url: '/wms/picking/select',
|
||||
method: 'get',
|
||||
params: param
|
||||
})
|
||||
}
|
||||
49
src/api/wms/no-entity-post.js
Normal file
49
src/api/wms/no-entity-post.js
Normal file
@ -0,0 +1,49 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function pageForNoEntity(query) {
|
||||
return request({
|
||||
url: '/wms/document/detail/pageForNoEntity',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function noEntityPost(obj) {
|
||||
return request({
|
||||
url: '/wms/document/noEntity/post',
|
||||
method: 'post',
|
||||
data: obj,
|
||||
})
|
||||
}
|
||||
|
||||
export function noEntityPostCancel(obj) {
|
||||
return request({
|
||||
url: '/wms/document/noEntity/cancel',
|
||||
method: 'post',
|
||||
data: obj,
|
||||
})
|
||||
}
|
||||
|
||||
export function noEntityPickingPost(documentNo) {
|
||||
return request({
|
||||
url: '/wms/picking/noEntity/post',
|
||||
method: 'post',
|
||||
data: documentNo,
|
||||
headers: {
|
||||
'Content-Type': 'application/json; charset=utf-8'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
export function noEntityPickingPostCancel(documentNo) {
|
||||
return request({
|
||||
url: '/wms/picking/noEntity/cancel',
|
||||
method: 'post',
|
||||
data: documentNo,
|
||||
headers: {
|
||||
'Content-Type': 'application/json; charset=utf-8'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
42
src/api/wms/numbering-rule.js
Normal file
42
src/api/wms/numbering-rule.js
Normal file
@ -0,0 +1,42 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
|
||||
|
||||
export function fetchNextNumberList(query) {
|
||||
return request({
|
||||
url: '/wms/wms-numbering-rule',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
export function getObj(obj) {
|
||||
return request({
|
||||
url: '/wms/wms-numbering-rule/doRetrieve',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function addObj(obj) {
|
||||
return request({
|
||||
url: '/wms/wms-numbering-rule',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function putObj(obj) {
|
||||
return request({
|
||||
url: '/wms/wms-numbering-rule',
|
||||
method: 'put',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function delObj(query) {
|
||||
return request({
|
||||
url: '/wms/wms-numbering-rule',
|
||||
method: 'delete',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
49
src/api/wms/outsourcing.js
Normal file
49
src/api/wms/outsourcing.js
Normal file
@ -0,0 +1,49 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/document/productionRequisition/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getDocumentDetail(documentNo) {
|
||||
return request({
|
||||
url: '/wms/document/' + documentNo,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
export function getItemInventory(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getItemInventory',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
//提交
|
||||
export function submit(obj) {
|
||||
return request({
|
||||
url: '/wms/document/productionRequisitionSubmit',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getInventoryQty(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getInventoryQty',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getInventoryQtyNewOnlyTray(params) {
|
||||
return request({
|
||||
url: '/wms/document/getInventoryQtyNewOnlyTray',
|
||||
method: 'post',
|
||||
data: params
|
||||
})
|
||||
}
|
||||
58
src/api/wms/picking.js
Normal file
58
src/api/wms/picking.js
Normal file
@ -0,0 +1,58 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/document/productionRequisition/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getDocumentDetail(documentNo) {
|
||||
return request({
|
||||
url: '/wms/document/' + documentNo,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
export function getPickInventory(obj) {
|
||||
return request({
|
||||
url: '/wms/picking/getPickInventory',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
//提交
|
||||
export function submit(obj) {
|
||||
return request({
|
||||
url: '/wms/document/pickingSubmit',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getInventoryQty(obj) {
|
||||
return request({
|
||||
url: '/wms/picking/getInventoryQty',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
//清楚记录
|
||||
export function pickingRemove(obj) {
|
||||
return request({
|
||||
url: '/wms/picking/pickingRemove',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
//暂存记录
|
||||
export function saveTempPicking(obj) {
|
||||
return request({
|
||||
url: '/wms/picking/saveTempPicking',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
74
src/api/wms/production-out-inventory.js
Normal file
74
src/api/wms/production-out-inventory.js
Normal file
@ -0,0 +1,74 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/document/productionRequisition/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getDocumentDetail(documentNo) {
|
||||
return request({
|
||||
url: '/wms/document/' + documentNo,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
export function getItemInventory(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getItemInventory',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
//提交
|
||||
export function submit(obj) {
|
||||
return request({
|
||||
url: '/wms/document/productionRequisitionSubmit',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getInventoryQty(params) {
|
||||
return request({
|
||||
url: '/wms/document/getInventoryQty',
|
||||
method: 'post',
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
export function getInventoryQtyNew(params) {
|
||||
return request({
|
||||
url: '/wms/document/getInventoryQtyNew',
|
||||
method: 'post',
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
export function checkFiFo(params) {
|
||||
return request({
|
||||
url: '/wms/document/checkFiFo',
|
||||
method: 'post',
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
export function getPickingInventoryQty(params) {
|
||||
return request({
|
||||
url: '/wms/document/getPickingInventoryQty',
|
||||
method: 'post',
|
||||
data: params
|
||||
})
|
||||
}
|
||||
|
||||
//提交
|
||||
export function submitFreePostDate(obj) {
|
||||
return request({
|
||||
url: '/wms/document/productionRequisitionSubmit/freePostDate',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
50
src/api/wms/production-warehousing.js
Normal file
50
src/api/wms/production-warehousing.js
Normal file
@ -0,0 +1,50 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/document/productionRequisition/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getDocumentDetail(documentNo) {
|
||||
return request({
|
||||
url: '/wms/document/' + documentNo,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
export function getItemInventory(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getItemInventory',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
//成品提交
|
||||
export function submit(obj) {
|
||||
return request({
|
||||
url: '/wms/document/finishedProductsWarehouseSubmit',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
//成品查询数量
|
||||
export function getFinishedProductQty(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getFinishedProductQty',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function rejectDocumentByNo(documentNo) {
|
||||
return request({
|
||||
url: '/wms/document/rejectDocumentByNo?documentNo=' + documentNo,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
49
src/api/wms/purchase-into-storage-reg.js
Normal file
49
src/api/wms/purchase-into-storage-reg.js
Normal file
@ -0,0 +1,49 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function pagePurchaseInToStorageReg(query) {
|
||||
return request({
|
||||
url: '/wms/document/purchase/pagePurchaseInToStorageReg',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function selectPoDetail(query) {
|
||||
return request({
|
||||
url: '/wms/po-order/selectPoDetail',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function registeSubmit(obj) {
|
||||
return request({
|
||||
url: '/wms/document/purchase/registerSubmit',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function selectPoWithDocumentDetail(query) {
|
||||
return request({
|
||||
url: '/wms/po-order/selectPoWithDocumentDetail',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function pagePoOrder(query) {
|
||||
return request({
|
||||
url: '/wms/po-order/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function registerCancel(obj) {
|
||||
return request({
|
||||
url: '/wms/document/purchase/registerCancel',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
50
src/api/wms/purchase-into-storage.js
Normal file
50
src/api/wms/purchase-into-storage.js
Normal file
@ -0,0 +1,50 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/document/productionRequisition/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getDocumentDetail(documentNo) {
|
||||
return request({
|
||||
url: '/wms/document/' + documentNo,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
export function getItemInventory(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getItemInventory',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
//提交
|
||||
export function submit(obj) {
|
||||
return request({
|
||||
url: '/wms/document/procurementStorageSubmit',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getInventoryQty(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getInventoryQty',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
export function getDdvanceBindQtyOnlyTray(params) {
|
||||
return request({
|
||||
url: '/wms/document-advance-bind/scanCodeOnlyTray',
|
||||
method: 'get',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
42
src/api/wms/purchase-return.js
Normal file
42
src/api/wms/purchase-return.js
Normal file
@ -0,0 +1,42 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/document/productionRequisition/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getDocumentDetail(documentNo) {
|
||||
return request({
|
||||
url: '/wms/document/' + documentNo,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
export function getItemInventory(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getItemInventory',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
//提交
|
||||
export function submit(obj) {
|
||||
return request({
|
||||
url: '/wms/document/productionRequisitionSubmit',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getInventoryQty(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getInventoryQty',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
49
src/api/wms/return-of-material.js
Normal file
49
src/api/wms/return-of-material.js
Normal file
@ -0,0 +1,49 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/document/productionRequisition/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getDocumentDetail(documentNo) {
|
||||
return request({
|
||||
url: '/wms/document/' + documentNo,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
export function getInventoryOriginalQty(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getInventoryOriginalQty',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
//提交
|
||||
export function returnSubmit(obj) {
|
||||
return request({
|
||||
url: '/wms/document/returnSubmit',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getItemInventory(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getItemInventory',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function rejectDocumentByNo(documentNo) {
|
||||
return request({
|
||||
url: '/wms/document/rejectDocumentByNo?documentNo=' + documentNo,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
85
src/api/wms/return-of-sales.js
Normal file
85
src/api/wms/return-of-sales.js
Normal file
@ -0,0 +1,85 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/document/productionRequisition/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getDocumentDetail(documentNo) {
|
||||
return request({
|
||||
url: '/wms/document/' + documentNo,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
export function getItemInventory(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getItemInventory',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getInventoryQty(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getInventoryQty',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
//退货提交
|
||||
export function submit(obj) {
|
||||
return request({
|
||||
url: '/wms/document/saleReturn/submit',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
//扫描箱条码
|
||||
export function getSaleOutQty(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getSaleOutQty',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
//展开时扫描箱条码
|
||||
export function getSaleInventoryId(carrier) {
|
||||
return request({
|
||||
url: '/wms/document/getSaleInventoryId?carrier=' + carrier,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
//扫描卷条码
|
||||
export function getInventoryOriginalQty(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getInventoryOriginalQty',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getDdvanceBindQty(params) {
|
||||
return request({
|
||||
url: '/wms/document-advance-bind/scanCode',
|
||||
method: 'get',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
||||
export function noInventorySubmit(obj) {
|
||||
return request({
|
||||
url: '/wms/document/saleReturn/noInventorySubmit',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
39
src/api/wms/role-area-bind.js
Normal file
39
src/api/wms/role-area-bind.js
Normal file
@ -0,0 +1,39 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/role-area-bind/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function addObj(obj) {
|
||||
return request({
|
||||
url: '/wms/role-area-bind',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getObj(id) {
|
||||
return request({
|
||||
url: '/wms/role-area-bind/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function delObj(id) {
|
||||
return request({
|
||||
url: '/wms/role-area-bind/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
export function putObj(obj) {
|
||||
return request({
|
||||
url: '/wms/role-area-bind',
|
||||
method: 'put',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
72
src/api/wms/sale-out-platform.js
Normal file
72
src/api/wms/sale-out-platform.js
Normal file
@ -0,0 +1,72 @@
|
||||
import request from '@/router/axios'
|
||||
export function selectSaleOutDetail(query) {
|
||||
return request({
|
||||
url: '/wms/picking/saleOut/selectSaleOutDetail',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function selectPickingSuggest(query) {
|
||||
return request({
|
||||
url: '/wms/picking/selectPickingSuggest',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function pickingPrint(obj) {
|
||||
return request({
|
||||
url: '/wms/picking/print',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function pickingPost(documentNo) {
|
||||
return request({
|
||||
url: `/wms/picking/post`,
|
||||
method: 'post',
|
||||
data: documentNo,
|
||||
headers: {
|
||||
'Content-Type': 'application/json; charset=utf-8'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function saleOutPost(obj) {
|
||||
return request({
|
||||
url: `/wms/picking/saleOut/post`,
|
||||
method: 'post',
|
||||
data: obj,
|
||||
})
|
||||
}
|
||||
|
||||
export function pickingPostCancel(documentNo) {
|
||||
return request({
|
||||
url: `/wms/picking/cancel`,
|
||||
method: 'post',
|
||||
data: documentNo,
|
||||
headers: {
|
||||
'Content-Type': 'application/json; charset=utf-8'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function saleOutPostCancel(obj) {
|
||||
return request({
|
||||
url: `/wms/picking/saleOut/cancel`,
|
||||
method: 'post',
|
||||
data: obj,
|
||||
})
|
||||
}
|
||||
|
||||
export function pickingPrintA4(obj) {
|
||||
return request({
|
||||
url: '/wms/picking/print/a4',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
42
src/api/wms/sales-out-of-storage.js
Normal file
42
src/api/wms/sales-out-of-storage.js
Normal file
@ -0,0 +1,42 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/document/productionRequisition/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getDocumentDetail(documentNo) {
|
||||
return request({
|
||||
url: '/wms/document/' + documentNo,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
export function getItemInventory(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getItemInventory',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
//提交
|
||||
export function submit(obj) {
|
||||
return request({
|
||||
url: '/wms/document/productionRequisitionSubmit',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getInventoryQty(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getInventoryQty',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
42
src/api/wms/scrap.js
Normal file
42
src/api/wms/scrap.js
Normal file
@ -0,0 +1,42 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/document/productionRequisition/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getDocumentDetail(documentNo) {
|
||||
return request({
|
||||
url: '/wms/document/' + documentNo,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
export function getItemInventory(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getItemInventory',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
//提交
|
||||
export function submit(obj) {
|
||||
return request({
|
||||
url: '/wms/document/productionRequisitionSubmit',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getInventoryQty(obj) {
|
||||
return request({
|
||||
url: '/wms/document/getInventoryQty',
|
||||
method: 'get',
|
||||
params: obj
|
||||
})
|
||||
}
|
||||
|
||||
40
src/api/wms/shelf-management.js
Normal file
40
src/api/wms/shelf-management.js
Normal file
@ -0,0 +1,40 @@
|
||||
import request from "@/router/axios";
|
||||
|
||||
export function fetchErpStorageLocationList(query) {
|
||||
return request({
|
||||
url: '/wms/shelf-management/erp-storage-location',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function fetchStorageLocationList(query) {
|
||||
return request({
|
||||
url: '/wms/shelf-management/storage-location',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function fetchStorageBinList(query) {
|
||||
return request({
|
||||
url: '/wms/shelf-management/storage-bin',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getStorageLocationData(query) {
|
||||
return request({
|
||||
url: '/wms/shelf-management/storage-location-data',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
export function getStorageBinData(query) {
|
||||
return request({
|
||||
url: '/wms/shelf-management/storage-bin-data',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
32
src/api/wms/shelves.js
Normal file
32
src/api/wms/shelves.js
Normal file
@ -0,0 +1,32 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
|
||||
//上架功能
|
||||
export function upObj(obj) {
|
||||
return request({
|
||||
url: '/wms/storage-bin-bind-inventory/upDefault',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
//查询已上架的托条码(根据货架和货格号)
|
||||
export function getCarrierList(storageBin) {
|
||||
return request({
|
||||
url: '/wms/storage-bin-bind-inventory/getCarrierList?storageBin=' + storageBin,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
//上架操作时扫描托条码
|
||||
export function getUpCarrier(carrier) {
|
||||
return request({
|
||||
url: '/wms/storage-bin-bind-inventory/getInDefaultCarrier/' + carrier,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
65
src/api/wms/storage-location-item-lock.js
Normal file
65
src/api/wms/storage-location-item-lock.js
Normal file
@ -0,0 +1,65 @@
|
||||
import request from "@/router/axios";
|
||||
|
||||
export function getFreezeList(query) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory/getFreezeList',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function freeze(obj) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory/freeze',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function unfreeze(obj) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory/unfreeze',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function fetchErpStorageLocationList(query) {
|
||||
return request({
|
||||
url: '/wms/shelf-management/erp-storage-location',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function fetchItemList(query) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory/fetchItemList',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function fetchItemGroesList(query) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory/fetchItemGroesList',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function fetchCarrierList(query) {
|
||||
return request({
|
||||
url: '/wms/carrier/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function pageFreezeList(query) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory/pageFreezeList',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
39
src/api/wms/storage-location-type.js
Normal file
39
src/api/wms/storage-location-type.js
Normal file
@ -0,0 +1,39 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/storage-location-type/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function addObj(obj) {
|
||||
return request({
|
||||
url: '/wms/storage-location-type',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getObj(id) {
|
||||
return request({
|
||||
url: '/wms/storage-location-type/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function delObj(id) {
|
||||
return request({
|
||||
url: '/wms/storage-location-type/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
export function putObj(obj) {
|
||||
return request({
|
||||
url: '/wms/storage-location-type',
|
||||
method: 'put',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
80
src/api/wms/storage-location.js
Normal file
80
src/api/wms/storage-location.js
Normal file
@ -0,0 +1,80 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/wms-storage-location/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getStorageLocationPageBycode(str) {
|
||||
return request({
|
||||
url: '/wms/wms-storage-location/getStorageLocationPageBycode',
|
||||
method: 'get',
|
||||
params: str
|
||||
})
|
||||
}
|
||||
|
||||
export function addObj(obj) {
|
||||
return request({
|
||||
url: '/wms/wms-storage-location',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getObj(id) {
|
||||
return request({
|
||||
url: '/wms/wms-storage-location/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function delObj(id) {
|
||||
return request({
|
||||
url: '/wms/wms-storage-location/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
export function putObj(obj) {
|
||||
return request({
|
||||
url: '/wms/wms-storage-location',
|
||||
method: 'put',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function labelPrint(printList) {
|
||||
return request({
|
||||
url: '/wms/wms-storage-location/by-labelRePrint',
|
||||
method: 'post',
|
||||
data: printList
|
||||
})
|
||||
}
|
||||
|
||||
export function getStorageBin(storageLocation) {
|
||||
return request({
|
||||
url: '/wms/wms-storage-location/getStorageBin/' + storageLocation,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function updateBatchById(obj) {
|
||||
return request({
|
||||
url: '/wms/wms-storage-location/updateBatchById',
|
||||
method: 'put',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getDefaultLocationsMap(erpStorageLocationList) {
|
||||
return request({
|
||||
url: '/wms/wms-storage-location/getDefaultLocationsMap/',
|
||||
method: 'get',
|
||||
params: {
|
||||
erpStorageLocationList: erpStorageLocationList
|
||||
}
|
||||
});
|
||||
}
|
||||
39
src/api/wms/storagebin-type.js
Normal file
39
src/api/wms/storagebin-type.js
Normal file
@ -0,0 +1,39 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/storagebin-type/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function addObj(obj) {
|
||||
return request({
|
||||
url: '/wms/storagebin-type',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getObj(id) {
|
||||
return request({
|
||||
url: '/wms/storagebin-type/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function delObj(id) {
|
||||
return request({
|
||||
url: '/wms/storagebin-type/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
export function putObj(obj) {
|
||||
return request({
|
||||
url: '/wms/storagebin-type',
|
||||
method: 'put',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
62
src/api/wms/storagebin.js
Normal file
62
src/api/wms/storagebin.js
Normal file
@ -0,0 +1,62 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/wms-storagebin/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
export function labelPrint(printList, printer) {
|
||||
return request({
|
||||
url: '/wms/wms-storagebin/by-labelRePrint',
|
||||
method: 'post',
|
||||
data: printList
|
||||
})
|
||||
}
|
||||
export function addObj(obj) {
|
||||
return request({
|
||||
url: '/wms/wms-storagebin',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getObj(id) {
|
||||
return request({
|
||||
url: '/wms/wms-storagebin/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function delObj(id) {
|
||||
return request({
|
||||
url: '/wms/wms-storagebin/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
export function putObj(obj) {
|
||||
return request({
|
||||
url: '/wms/wms-storagebin',
|
||||
method: 'put',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getStorageLocationByStorageBin(storageBin) {
|
||||
return request({
|
||||
url: '/wms/wms-storagebin/getStorageLocationByStorageBin/' + storageBin,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function updateBatchById(obj) {
|
||||
return request({
|
||||
url: '/wms/wms-storagebin/updateBatchById',
|
||||
method: 'put',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
9
src/api/wms/temp-inventory.js
Normal file
9
src/api/wms/temp-inventory.js
Normal file
@ -0,0 +1,9 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/wms-temp-inventory/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
29
src/api/wms/unShelve.js
Normal file
29
src/api/wms/unShelve.js
Normal file
@ -0,0 +1,29 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
//下架功能
|
||||
export function downObj(obj) {
|
||||
return request({
|
||||
url: '/wms/storage-bin-bind-inventory/downDefault',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
//查询已上架的托条码(根据货架和货格号)
|
||||
export function getCarrierList(storageBin) {
|
||||
return request({
|
||||
url: '/wms/storage-bin-bind-inventory/getCarrierList?storageBin=' + storageBin,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
//下架操作时扫描托条码(需要返回货架和货格号)
|
||||
export function getNotInDefaultCarrier(carrier) {
|
||||
return request({
|
||||
url: '/wms/storage-bin-bind-inventory/getNotInDefaultCarrier/' + carrier,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
48
src/api/wms/up-down.js
Normal file
48
src/api/wms/up-down.js
Normal file
@ -0,0 +1,48 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
|
||||
//上架功能
|
||||
export function upObj(obj) {
|
||||
return request({
|
||||
url: '/wms/storage-bin-bind-inventory/up',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
//下架功能
|
||||
export function downObj(obj) {
|
||||
return request({
|
||||
url: '/wms/storage-bin-bind-inventory/down',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
//查询已上架的托条码(根据货架和货格号)
|
||||
export function getCarrierList(storageBin) {
|
||||
return request({
|
||||
url: '/wms/storage-bin-bind-inventory/getCarrierList?storageBin=' + storageBin,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
//上架操作时扫描托条码
|
||||
export function getUpCarrier(carrier) {
|
||||
return request({
|
||||
url: '/wms/storage-bin-bind-inventory/getUpCarrier/' + carrier,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
//下架操作时扫描托条码(需要返回货架和货格号)
|
||||
export function getDownCarrier(carrier) {
|
||||
return request({
|
||||
url: '/wms/storage-bin-bind-inventory/getDownCarrier/' + carrier,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
18
src/api/wms/vendor.js
Normal file
18
src/api/wms/vendor.js
Normal file
@ -0,0 +1,18 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/vendor/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function pageText(query) {
|
||||
return request({
|
||||
url: '/wms/vendor/pageText',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
39
src/api/wms/warehouse.js
Normal file
39
src/api/wms/warehouse.js
Normal file
@ -0,0 +1,39 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/wms-warehouse/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function addObj(obj) {
|
||||
return request({
|
||||
url: '/wms/wms-warehouse',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function getObj(id) {
|
||||
return request({
|
||||
url: '/wms/wms-warehouse/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function delObj(id) {
|
||||
return request({
|
||||
url: '/wms/wms-warehouse/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
export function putObj(obj) {
|
||||
return request({
|
||||
url: '/wms/wms-warehouse',
|
||||
method: 'put',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
75
src/api/wms/wms-inventory-check.js
Normal file
75
src/api/wms/wms-inventory-check.js
Normal file
@ -0,0 +1,75 @@
|
||||
import request from '@/router/axios'
|
||||
|
||||
export function fetchList(query) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory-check/page',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function fetchErpStorageLocationList(query) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory-check/storageLocationPage',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function addObj(obj) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory-check',
|
||||
method: 'post',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function putObj(obj) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory-check',
|
||||
method: 'put',
|
||||
data: obj
|
||||
})
|
||||
}
|
||||
|
||||
export function fetchinventoryCheckDetailList(query) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory-check/inventoryCheckDetailpage',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function selectInventoryCheck(obj,params) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory-check/select',
|
||||
method: 'post',
|
||||
data: obj,
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
||||
export function selectIdCode(checkNo, erpStorageLocation, carrier1, carrier2, inventoryId) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory-check/selectId?checkNo=' + checkNo + "&erpStorageLocation=" + erpStorageLocation + "&carrier1=" + carrier1 + "&carrier2=" + carrier2 + "&inventoryId=" + inventoryId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function selectCheckNoSummary(obj,params) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory-check/selectCheckNoSummary',
|
||||
method: 'post',
|
||||
data: obj,
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
||||
export function doComplete(checkNo) {
|
||||
return request({
|
||||
url: '/wms/wms-inventory-check/doComplete?checkNo=' + checkNo,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
72
src/components/element-ui/el-card-collapse.vue
Normal file
72
src/components/element-ui/el-card-collapse.vue
Normal file
@ -0,0 +1,72 @@
|
||||
<template>
|
||||
<div class="el-card" :class="shadow ? 'is-' + shadow + '-shadow' : 'is-always-shadow'">
|
||||
<div
|
||||
v-if="$slots.header || header"
|
||||
class="el-card__header"
|
||||
:class="isCollapseSelf ? 'collapse-icon-right' : 'collapse-icon-down'"
|
||||
@click="isCollapseSelf = !isCollapseSelf"
|
||||
>
|
||||
<slot name="header">{{ header }}</slot>
|
||||
</div>
|
||||
<div
|
||||
class="el-card__body"
|
||||
:style="bodyStyle"
|
||||
:class="{'is-collapse': isCollapseSelf}"
|
||||
>
|
||||
<slot />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { Card } from 'element-ui'
|
||||
export default {
|
||||
name: 'ElCardCollapse',
|
||||
extends: Card,
|
||||
props: {
|
||||
isCollapse: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
isCollapseSelf: this.isCollapse,
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.el-card__header {
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
padding: 15px;
|
||||
|
||||
&::after {
|
||||
font-family: element-icons !important;
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
line-height: 1;
|
||||
vertical-align: baseline;
|
||||
display: inline-block;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
position: absolute;
|
||||
right: 5px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
&.collapse-icon-right::after {
|
||||
content: '\e6e0';
|
||||
}
|
||||
&.collapse-icon-down::after {
|
||||
content: '\e6df';
|
||||
}
|
||||
}
|
||||
.is-collapse {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
@ -59,7 +59,9 @@ import 'e-icon-picker/lib/symbol.js' // 基本彩色图标库
|
||||
import 'e-icon-picker/lib/index.css' // 基本样式,包含基本图标
|
||||
import 'font-awesome/css/font-awesome.min.css' // font-awesome 图标库
|
||||
import 'element-ui/lib/theme-chalk/icon.css' // element-ui 图标库
|
||||
|
||||
// 给el-card 添加下拉功能
|
||||
import ElCardCollapse from '@/components/element-ui/el-card-collapse.vue'
|
||||
Vue.component('ElCardCollapse', ElCardCollapse)
|
||||
|
||||
Vue.component('Pagination', Pagination)
|
||||
Vue.component('RightToolbar', RightToolbar)
|
||||
|
||||
@ -134,5 +134,45 @@ export default [
|
||||
meta: {
|
||||
keepAlive: false
|
||||
}
|
||||
},{
|
||||
path: '/mobile/wms/carrier-bind-inventory',
|
||||
component: () =>
|
||||
import(/* webpackChunkName: "page" */ '@/views/mobile/wms/carrier-bind-inventory/index'),
|
||||
name: '载具绑定',
|
||||
meta: {
|
||||
keepAlive: false
|
||||
}
|
||||
},{
|
||||
path: '/mobile/wms/carrier-unbind-inventory',
|
||||
component: () =>
|
||||
import(/* webpackChunkName: "page" */ '@/views/mobile/wms/carrier-unbind-inventory/index'),
|
||||
name: '载具解绑',
|
||||
meta: {
|
||||
keepAlive: false
|
||||
}
|
||||
},{
|
||||
path: '/mobile/wms/shelves',
|
||||
component: () =>
|
||||
import(/* webpackChunkName: "page" */ '@/views/mobile/wms/shelves/index'),
|
||||
name: '上架',
|
||||
meta: {
|
||||
keepAlive: false
|
||||
}
|
||||
},{
|
||||
path: '/mobile/wms/unShelve',
|
||||
component: () =>
|
||||
import(/* webpackChunkName: "page" */ '@/views/mobile/wms/unShelve/index'),
|
||||
name: '下架',
|
||||
meta: {
|
||||
keepAlive: false
|
||||
}
|
||||
},{
|
||||
path: '/mobile/wms/production-warehousing',
|
||||
component: () =>
|
||||
import(/* webpackChunkName: "page" */ '@/views/mobile/wms/production-warehousing/index'),
|
||||
name: '生产入库',
|
||||
meta: {
|
||||
keepAlive: false
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
4
src/util/bigNumber.js
Normal file
4
src/util/bigNumber.js
Normal file
@ -0,0 +1,4 @@
|
||||
import { BigNumber } from 'bignumber.js';
|
||||
export function add(arg1, arg2) {
|
||||
return BigNumber(arg1).plus(BigNumber(arg2)).toNumber();
|
||||
}
|
||||
303
src/views/mobile/wms/carrier-bind-inventory/index.vue
Normal file
303
src/views/mobile/wms/carrier-bind-inventory/index.vue
Normal file
@ -0,0 +1,303 @@
|
||||
<template>
|
||||
<div class="mobile-home">
|
||||
<div class="content">
|
||||
<mobile-navbar title="载具绑定"></mobile-navbar>
|
||||
<div style="margin: 10px;">
|
||||
<el-form ref="formObj" :model="formObj" :rules="rules" label-width="auto">
|
||||
<el-row :gutter="10">
|
||||
<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="站点:" prop="site">
|
||||
<el-input placeHolder="站点" v-model="formObj.site" :disabled="true"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="已绑数量:" prop="bindNum">
|
||||
<el-input placeHolder="已绑数量" v-model="formObj.bindNum" :disabled="true"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="已扫数量:" prop="scanNum">
|
||||
<el-input placeHolder="已扫数量" v-model="formObj.scanNum" :disabled="true"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="托条码:" prop="carrier">
|
||||
<el-input placeHolder="手动输入或者扫码" v-model="formObj.carrier" :disabled="isDisabled"
|
||||
@keyup.enter.native="scanCarrier">
|
||||
<i slot="suffix" class="el-input__icon el-icon-full-screen"></i>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="卷条码:" prop="carrierOrInventory">
|
||||
<el-input placeHolder="手动输入或者扫码" v-model="formObj.carrierOrInventory"
|
||||
@keyup.enter.native="scancarrierOrInventory">
|
||||
<i slot="suffix" class="el-input__icon el-icon-full-screen"></i>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table :data="formObj.list" :row-style="rowStyle">
|
||||
<el-table-column label="序号" prop="seq"></el-table-column>
|
||||
<el-table-column label="卷条码" prop="carrierOrInventory"></el-table-column>
|
||||
<el-table-column label="物料号" prop="item"></el-table-column>
|
||||
</el-table>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
<!-- 按钮 -->
|
||||
<div class="form-footer stay-below">
|
||||
<el-button type="warning" @click="doClear">清除</el-button>
|
||||
<el-button type="primary" @click="bind">绑定</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import { getBindList, getItem, bind, getBindListByTray } from '@/api/wms/carrier-bind-inventory';
|
||||
import { getStore } from '@/util/store';
|
||||
import { showLoading, hideLoading } from '@/const/loading'
|
||||
import { isBlank } from '@/util/string';
|
||||
import MobileNavbar from "@/components/top-bar/mobile-navbar.vue";
|
||||
import {
|
||||
mapGetters
|
||||
} from 'vuex'
|
||||
|
||||
export default {
|
||||
components: { MobileNavbar },
|
||||
data() {
|
||||
return {
|
||||
formObj: {},
|
||||
isDisabled: false,
|
||||
wms_carrier_member_bind: false,
|
||||
isBind: "",
|
||||
needBindList: [],
|
||||
scanCodeList: [],
|
||||
rules: {
|
||||
carrier: [
|
||||
{ required: true, message: "托条码不可为空" }
|
||||
],
|
||||
carrierOrInventory: [
|
||||
{ required: true, message: "卷条码不可为空" }
|
||||
],
|
||||
},
|
||||
initData: {
|
||||
site: getStore({ name: 'tenantId' }),
|
||||
bindNum: 0,
|
||||
scanNum: 0,
|
||||
list: []
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.wms_carrier_member_bind = this.permissions["wms_carrier_member_bind"];
|
||||
this.formObj = Object.assign({}, this.initData);
|
||||
this.list = [];
|
||||
this.needBindList = [];
|
||||
this.scanCodeList = [];
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(["permissions"]),
|
||||
permissionList() {
|
||||
return {};
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
//扫描托条码
|
||||
scanCarrier() {
|
||||
let me = this;
|
||||
let carrier = me.formObj.carrier;
|
||||
me.formObj.list = [];
|
||||
me.needBindList = [];
|
||||
me.formObj.scanNum = 0;
|
||||
if (isBlank(carrier)) {
|
||||
me.$message.error("不可扫描空条码");
|
||||
return;
|
||||
}
|
||||
getBindListByTray(carrier).then(res => {
|
||||
if (res.data.code == 0) {
|
||||
let data = res.data.data;
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
let obj = Object.assign({}, {
|
||||
"seq": i + 1,
|
||||
"carrierOrInventory": data[i].carrierOrInventory,
|
||||
"item": data[i].item,
|
||||
"status": data[i].status,
|
||||
"isBind": "Y",
|
||||
});
|
||||
me.formObj.list.push(obj);
|
||||
}
|
||||
me.formObj.bindNum = data.length;
|
||||
me.isDisabled = true;
|
||||
} else {
|
||||
me.formObj.carrier = "";
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
//扫描卷条码
|
||||
scancarrierOrInventory() {
|
||||
let me = this;
|
||||
let carrierOrInventory = me.formObj.carrierOrInventory;
|
||||
|
||||
if (isBlank(carrierOrInventory)) {
|
||||
me.$message.error("不可扫描空条码");
|
||||
return;
|
||||
}
|
||||
let maxSeq = 0;
|
||||
//获得当前列表的序号
|
||||
for (let i = 0; i < me.formObj.list.length; i++) {
|
||||
let list = me.formObj.list[i];
|
||||
if (list.seq > maxSeq) {
|
||||
maxSeq = list.seq
|
||||
}
|
||||
}
|
||||
//判断卷条码是否被扫描
|
||||
if (me.scanCodeList.length > 0) {
|
||||
for (let i = 0; i < me.scanCodeList.length; i++) {
|
||||
if (me.scanCodeList[i].code === carrierOrInventory) {
|
||||
me.delListItem(carrierOrInventory);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (let i = 0; i < me.formObj.list.length; i++) {
|
||||
if (carrierOrInventory === me.formObj.list[i].carrierOrInventory) {
|
||||
me.$message.error("已存在此卷条码");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
getItem(carrierOrInventory).then(res => {
|
||||
if (res.data.code == 0) {
|
||||
let data = res.data.data;
|
||||
if (me.formObj.list.length > 0) {
|
||||
if (data.status !== me.formObj.list[0].status) {
|
||||
me.$message.error("库存状态不一致,不允许混装");
|
||||
return;
|
||||
}
|
||||
}
|
||||
let obj = Object.assign({}, {
|
||||
"seq": maxSeq + 1,
|
||||
"carrierOrInventory": data.carrierOrInventory,
|
||||
"item": data.item,
|
||||
"status": data.status,
|
||||
"isBind": "N"
|
||||
});
|
||||
me.formObj.list.push(obj);
|
||||
me.needBindList.push(obj);
|
||||
//将已经扫描过的卷条码存入一个集合
|
||||
me.scanCodeList.push({ "code": carrierOrInventory });
|
||||
me.formObj.scanNum += 1;
|
||||
}
|
||||
})
|
||||
//扫描之后清空卷条码输入框
|
||||
me.formObj.carrierOrInventory = "";
|
||||
},
|
||||
|
||||
//绑定
|
||||
bind() {
|
||||
let me = this;
|
||||
let bindList = [];
|
||||
//判断需绑定条码是否为空
|
||||
if (me.needBindList.length > 0) {
|
||||
for (let i = 0; i < me.needBindList.length; i++) {
|
||||
let obj = Object.assign({}, {
|
||||
"carrier": me.formObj.carrier,
|
||||
"carrierOrInventory": me.needBindList[i].carrierOrInventory,
|
||||
"item": me.needBindList[i].item
|
||||
})
|
||||
bindList.push(obj);
|
||||
}
|
||||
|
||||
me.$refs['formObj'].validateField('carrier', ErrorMsg => {
|
||||
if (!ErrorMsg) {
|
||||
showLoading();
|
||||
bind({
|
||||
str: me.$route.query.ACTIVITY_ID,
|
||||
list: bindList
|
||||
}).then(res => {
|
||||
hideLoading();
|
||||
if (res.data.code == 0) {
|
||||
me.$message.success("绑定成功,请及时更新托盘清单");
|
||||
me.doClear();
|
||||
} else {
|
||||
me.$message.error("绑定失败");
|
||||
}
|
||||
}).catch(() => {
|
||||
hideLoading();
|
||||
});
|
||||
}
|
||||
})
|
||||
} else {
|
||||
me.$message.error("不存在需要绑定的条码")
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
//清除操作
|
||||
doClear() {
|
||||
this.formObj = Object.assign({}, this.initData);
|
||||
this.formObj.list = [];
|
||||
this.list = [];
|
||||
this.bindList = [];
|
||||
this.isDisabled = false;
|
||||
this.$refs['formObj'].resetFields();
|
||||
this.needBindList = [];
|
||||
this.scanCodeList = [];
|
||||
},
|
||||
|
||||
//在列表中删除重复扫描的卷条码
|
||||
delListItem(code) {
|
||||
let me = this;
|
||||
//已经扫过的卷条码再次扫描则删除
|
||||
for (let i = 0; i < me.needBindList.length; i++) {
|
||||
if (code === me.needBindList[i].carrierOrInventory) {
|
||||
me.needBindList.splice(i, 1);
|
||||
}
|
||||
}
|
||||
for (let i = 0; i < me.formObj.list.length; i++) {
|
||||
if (code === me.formObj.list[i].carrierOrInventory) {
|
||||
me.formObj.list.splice(i, 1);
|
||||
me.formObj.scanNum = me.formObj.scanNum - 1;
|
||||
//更新显示列表中的序号
|
||||
for (let j = i; j < me.formObj.list.length; j++) {
|
||||
me.formObj.list[j].seq = me.formObj.list[j].seq - 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
for (let i = 0; i < me.scanCodeList.length; i++) {
|
||||
if (code === me.scanCodeList[i].code) {
|
||||
me.scanCodeList.splice(i, 1);
|
||||
}
|
||||
}
|
||||
me.formObj.carrierOrInventory = "";
|
||||
},
|
||||
|
||||
// 更改选中行背景色
|
||||
rowStyle({ row }) {
|
||||
if (row.isBind === "N") {
|
||||
return { 'background-color': '#00FF00', cursor: 'pointer' };
|
||||
}
|
||||
return { cursor: 'pointer' };
|
||||
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.form-footer {
|
||||
margin-top: 2px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.el-table__row:hover>td {
|
||||
background-color: transparent;
|
||||
}
|
||||
</style>
|
||||
407
src/views/mobile/wms/carrier-unbind-inventory/index.vue
Normal file
407
src/views/mobile/wms/carrier-unbind-inventory/index.vue
Normal file
@ -0,0 +1,407 @@
|
||||
<template>
|
||||
<div class="mobile-home">
|
||||
<div class="content">
|
||||
<mobile-navbar title="载具解绑"></mobile-navbar>
|
||||
<div style="margin: 10px;">
|
||||
<el-form ref="formObj" :model="formObj" :rules="rules" label-width="auto">
|
||||
<el-row :gutter="10">
|
||||
<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="站点:" prop="site">
|
||||
<el-input placeHolder="站点" v-model="formObj.site" :disabled="true"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="已绑数量:" prop="bindNum">
|
||||
<el-input placeHolder="已绑数量" v-model="formObj.bindNum" :disabled="true"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="已扫数量:" prop="scanNum">
|
||||
<el-input placeHolder="已扫数量" v-model="formObj.scanNum" :disabled="true"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="托条码:" prop="carrier">
|
||||
<el-input placeHolder="手动输入或者扫码" v-model="formObj.carrier" :disabled="isDisabled"
|
||||
@keyup.enter.native="scanCarrier">
|
||||
<i slot="suffix" class="el-input__icon el-icon-full-screen"></i>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="卷条码:" prop="carrierOrInventory">
|
||||
<el-input placeHolder="手动输入或者扫码" v-model="formObj.carrierOrInventory"
|
||||
@keyup.enter.native="scancarrierOrInventory">
|
||||
<i slot="suffix" class="el-input__icon el-icon-full-screen"></i>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col>
|
||||
<el-button type="primary" @click="selectionAll">全选</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table :data="formObj.list" :row-style="rowStyle">
|
||||
<el-table-column label="序号" prop="seq"></el-table-column>
|
||||
<el-table-column label="卷条码" prop="carrierOrInventory"></el-table-column>
|
||||
<el-table-column label="物料号" prop="item"></el-table-column>
|
||||
</el-table>
|
||||
</el-form>
|
||||
</div>
|
||||
<div style="margin-top: 10px; display: flex; justify-content: center;">
|
||||
<el-button type="warning" @click="doClear">清除</el-button>
|
||||
<el-button type="primary" @click="unBind">解绑</el-button>
|
||||
<el-button type="primary" @click="print">托盘清单打印</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getBindList, getItem, unbind, getCarrier, getBindListByTray, confirmUnBind } from '@/api/wms/carrier-unbind-inventory';
|
||||
import { getStore } from '@/util/store';
|
||||
import { isBlank } from '@/util/string';
|
||||
import { showLoading, hideLoading } from '@/const/loading';
|
||||
import { listByActivityId } from "@/api/admin/activity-option";
|
||||
import MobileNavbar from "@/components/top-bar/mobile-navbar.vue";
|
||||
import {
|
||||
mapGetters
|
||||
} from 'vuex';
|
||||
import axios from "axios";
|
||||
|
||||
export default {
|
||||
components: { MobileNavbar },
|
||||
data() {
|
||||
return {
|
||||
formObj: {},
|
||||
isDisabled: false,
|
||||
wms_carrier_member_unbind: false,
|
||||
isBind: "",
|
||||
needBindList: [],
|
||||
scanCodeList: [],
|
||||
rules: {
|
||||
carrier: [
|
||||
{ required: true, message: "托条码不可为空", trigger: 'blur' }
|
||||
],
|
||||
carrierOrInventory: [
|
||||
{ required: true, message: "卷条码不可为空", trigger: 'blur' }
|
||||
],
|
||||
},
|
||||
initData: {
|
||||
site: getStore({ name: 'tenantId' }),
|
||||
carrierOrInventory: "",
|
||||
bindNum: 0,
|
||||
scanNum: 0,
|
||||
list: []
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.wms_carrier_member_unbind = this.permissions["wms_carrier_member_unbind"];
|
||||
this.formObj = Object.assign({}, this.initData);
|
||||
this.list = [];
|
||||
this.needBindList = [];
|
||||
this.scanCodeList = [];
|
||||
},
|
||||
|
||||
beforeRouteEnter(to, from, next) {
|
||||
next(vm => {
|
||||
try {
|
||||
//获取作业规则
|
||||
let me = vm;
|
||||
let activityId = me.$route.query.ACTIVITY_ID;
|
||||
listByActivityId(activityId).then(response => {
|
||||
|
||||
if (response.data.code != 0) {
|
||||
return me.$message.error(response.data.msg);
|
||||
}
|
||||
let data = response.data.data;
|
||||
|
||||
if (data && data.length > 0) {
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
if (data[i].optionName && data[i].optionName.toUpperCase() === "UNBIND_XNT") {
|
||||
me.unbindXnt = data[i].optionValue;
|
||||
}
|
||||
if (data[i].optionName && data[i].optionName.toUpperCase() === "CONFIRM_ID") {
|
||||
me.confirmId = data[i].optionValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}).catch(e => {
|
||||
console.log(e);
|
||||
});
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
computed: {
|
||||
...mapGetters(["permissions"]),
|
||||
permissionList() {
|
||||
return {};
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
//扫描托条码
|
||||
scanCarrier() {
|
||||
let me = this;
|
||||
let carrier = me.formObj.carrier;
|
||||
me.formObj.list = [];
|
||||
me.needBindList = [];
|
||||
me.formObj.carrierOrInventory = "";
|
||||
me.formObj.scanNum = 0;
|
||||
if (isBlank(carrier)) {
|
||||
me.$message.error("不可扫描空条码");
|
||||
return;
|
||||
}
|
||||
getBindListByTray(carrier).then(res => {
|
||||
if (res.data.code == 0) {
|
||||
for (let i = 0; i < res.data.data.length; i++) {
|
||||
let obj = Object.assign({}, {
|
||||
"seq": i + 1,
|
||||
"carrierOrInventory": res.data.data[i].carrierOrInventory,
|
||||
"item": res.data.data[i].item,
|
||||
"isBind": "Y"
|
||||
});
|
||||
me.formObj.list.push(obj);
|
||||
}
|
||||
me.formObj.bindNum = res.data.data.length;
|
||||
me.isDisabled = true;
|
||||
} else {
|
||||
me.formObj.carrier = "";
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
//扫描卷条码
|
||||
scancarrierOrInventory() {
|
||||
let me = this;
|
||||
let carrierOrInventory = me.formObj.carrierOrInventory;
|
||||
if (isBlank(carrierOrInventory)) {
|
||||
me.$message.error("不可扫描空条码");
|
||||
return;
|
||||
}
|
||||
//判断卷条码是否被扫描
|
||||
if (me.scanCodeList.includes(carrierOrInventory)) {
|
||||
me.delListItem(carrierOrInventory);
|
||||
return;
|
||||
}
|
||||
//判断是否为与托条码绑定
|
||||
if (me.formObj.list.length > 0) {
|
||||
for (let j = 0; j < me.formObj.list.length; j++) {
|
||||
if (me.formObj.list[j].carrierOrInventory === carrierOrInventory) {
|
||||
me.formObj.list[j].isBind = "N";
|
||||
me.needBindList.push(me.formObj.list[j]);
|
||||
me.scanCodeList.push(carrierOrInventory);
|
||||
me.formObj.scanNum += 1;
|
||||
me.formObj.carrierOrInventory = "";
|
||||
me.sort(j);
|
||||
return;
|
||||
}
|
||||
}
|
||||
me.$message.error("此条码与托条码不存在绑定关系");
|
||||
me.formObj.carrierOrInventory = "";
|
||||
return;
|
||||
} else {
|
||||
me.$message.error("请先扫描托条码");
|
||||
me.formObj.carrierOrInventory = "";
|
||||
return;
|
||||
}
|
||||
},
|
||||
|
||||
//解绑
|
||||
unBind() {
|
||||
let me = this;
|
||||
let unbindList = [];
|
||||
//判断需绑定条码是否为空
|
||||
if (me.needBindList.length > 0) {
|
||||
for (let i = 0; i < me.needBindList.length; i++) {
|
||||
let obj = Object.assign({}, {
|
||||
"carrier": me.formObj.carrier,
|
||||
"carrierOrInventory": me.needBindList[i].carrierOrInventory,
|
||||
"item": me.needBindList[i].item
|
||||
});
|
||||
unbindList.push(obj);
|
||||
}
|
||||
me.$refs['formObj'].validateField('carrier', ErrorMsg => {
|
||||
if (!ErrorMsg) {
|
||||
let fun = () => {
|
||||
showLoading();
|
||||
unbind({
|
||||
str: me.$route.query.ACTIVITY_ID,
|
||||
list: unbindList
|
||||
}).then(res => {
|
||||
hideLoading();
|
||||
if (res.data.code == 0) {
|
||||
me.$message.success("解绑成功,请及时更新托盘清单");
|
||||
me.doClear();
|
||||
} else {
|
||||
me.$message.error("解绑失败");
|
||||
}
|
||||
}).catch(() => {
|
||||
hideLoading();
|
||||
});
|
||||
}
|
||||
let text;
|
||||
if (me.unbindXnt === 'Y') {
|
||||
text = "此次解绑为绑定虚拟托模式!";
|
||||
} else {
|
||||
text = "此次解绑为直接解绑模式!";
|
||||
}
|
||||
if (!isBlank(me.confirmId)) {
|
||||
me.$prompt(text, '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
}).then(({ value }) => {
|
||||
if (value === me.confirmId) {
|
||||
fun();
|
||||
} else {
|
||||
me.$message.error("解绑密码错误");
|
||||
}
|
||||
}).catch(() => {
|
||||
hideLoading();
|
||||
});
|
||||
} else {
|
||||
me.$confirm(text, '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(function () {
|
||||
fun();
|
||||
})
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
me.$message.error("不存在需要解绑的条码");
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
//清除操作
|
||||
doClear() {
|
||||
this.formObj = Object.assign({}, this.initData);
|
||||
this.formObj.list = [];
|
||||
this.list = [];
|
||||
this.isDisabled = false;
|
||||
this.$refs['formObj'].resetFields();
|
||||
this.needBindList = [];
|
||||
this.scanCodeList = [];
|
||||
},
|
||||
|
||||
//在列表中删除重复扫描的卷条码
|
||||
delListItem(code) {
|
||||
let me = this;
|
||||
//已经扫过的卷条码再次扫描则删除
|
||||
for (let i = 0; i < me.needBindList.length; i++) {
|
||||
if (code === me.needBindList[i].carrierOrInventory) {
|
||||
me.needBindList.splice(i, 1);
|
||||
}
|
||||
}
|
||||
for (let i = 0; i < me.formObj.list.length; i++) {
|
||||
if (code === me.formObj.list[i].carrierOrInventory && "N" === me.formObj.list[i].isBind) {
|
||||
me.formObj.list[i].isBind = "Y";
|
||||
|
||||
}
|
||||
}
|
||||
let index = me.scanCodeList.findIndex(o => code === o);
|
||||
if (index >= 0) {
|
||||
me.scanCodeList.splice(index, 1);
|
||||
}
|
||||
me.formObj.carrierOrInventory = "";
|
||||
},
|
||||
|
||||
//列表重新排序
|
||||
sort(index) {
|
||||
let newList = [];
|
||||
let obj = Object.assign({}, this.formObj.list[index], { "seq": 1 });
|
||||
newList.push(obj);
|
||||
this.formObj.list.splice(index, 1);
|
||||
for (let i = 0; i < this.formObj.list.length; i++) {
|
||||
let listObj = Object.assign({}, this.formObj.list[i], { "seq": i + 2 });
|
||||
newList.push(listObj);
|
||||
}
|
||||
this.formObj.list = newList;
|
||||
},
|
||||
|
||||
// 更改选中行背景色
|
||||
rowStyle({ row }) {
|
||||
if (row.isBind === "N") {
|
||||
return { 'background-color': '#FF0000', cursor: 'pointer' };
|
||||
}
|
||||
return { cursor: 'pointer' };
|
||||
|
||||
},
|
||||
|
||||
print() {
|
||||
let me = this;
|
||||
let carrier = me.formObj.carrier;
|
||||
if (carrier) {
|
||||
showLoading();
|
||||
getCarrier({ carrier: carrier }).then(respData => {
|
||||
if (respData.data.code != 0) {
|
||||
return me.$message.error(respData.data.msg);
|
||||
}
|
||||
let data = respData.data.data;
|
||||
if (!data.carrierTypeBo || data.carrierTypeBo.indexOf("TP") < 0) {
|
||||
return me.$message.error("托条码非托条码");
|
||||
} else {
|
||||
// me.downBlobFile("/wms/carrier-member/print", {carrier: carrier}, carrier + ".pdf");
|
||||
axios({
|
||||
method: 'get',
|
||||
url: '/wms/carrier-member/print/',
|
||||
params: { carrier: carrier },
|
||||
headers: {
|
||||
'Content-Type': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
|
||||
},
|
||||
responseType: 'blob' //设置响应的数据类型为一个包含二进制数据的 Blob 对象,必须设置!!!
|
||||
}).then(response => {
|
||||
hideLoading();
|
||||
// 处理返回的文件流
|
||||
const binaryData = [];
|
||||
binaryData.push(response);
|
||||
if (binaryData[0].size === 0) {
|
||||
return this.$notify.error("内容为空,无法下载");
|
||||
}
|
||||
let pdfUrl = window.URL.createObjectURL(new Blob([response.data], { type: response.data.type }));
|
||||
const newPage = window.open(pdfUrl, "_blank", "scrollbars=yes,resizable=1,modal=false,alwaysRaised=yes");
|
||||
newPage.document.title = carrier + '.pdf';
|
||||
}).catch(e => {
|
||||
console.log(e);
|
||||
hideLoading();
|
||||
});
|
||||
}
|
||||
}).catch(() => {
|
||||
hideLoading();
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
selectionAll() {
|
||||
let me = this;
|
||||
let list = me.formObj.list;
|
||||
me.needBindList = [];
|
||||
me.scanCodeList = [];
|
||||
if (list.length > 0) {
|
||||
for (let j = 0; j < list.length; j++) {
|
||||
let row = list[j];
|
||||
row.isBind = "N";
|
||||
me.needBindList.push(row);
|
||||
me.scanCodeList.push(row.carrierOrInventory);
|
||||
}
|
||||
me.formObj.scanNum = list.length;
|
||||
} else {
|
||||
me.$message.error("请先扫描托条码");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.el-table__row:hover>td {
|
||||
background-color: transparent;
|
||||
}
|
||||
</style>
|
||||
339
src/views/mobile/wms/shelves/index.vue
Normal file
339
src/views/mobile/wms/shelves/index.vue
Normal file
@ -0,0 +1,339 @@
|
||||
<template>
|
||||
<div class="mobile-home">
|
||||
<div class="content">
|
||||
<input-select-dialog :modal-obj='storageLocationDialogObj' :modal-fetch-fun='storageLocationDialogFetchFun'
|
||||
:modal-show.sync="storageLocationDialogVisible" @inputDialogSelected="storageLocationSelect">
|
||||
</input-select-dialog>
|
||||
<input-select-dialog :modal-obj='storageBinDialogObj' :modal-fetch-fun='storageBinDialogFetchFun'
|
||||
:modal-show.sync="storageBinDialogVisible" @inputDialogSelected="storageBinSelect">
|
||||
</input-select-dialog>
|
||||
<mobile-navbar title="上架"></mobile-navbar>
|
||||
<div style="margin: 10px;">
|
||||
<el-form ref="formObj" :rules="rules" :model="formObj" label-width="auto">
|
||||
<el-row :gutter="10">
|
||||
<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="货架:" prop="storageLocation">
|
||||
<el-input @keyup.enter.native="getStorageBin(formObj.storageLocation)" v-model="formObj.storageLocation"
|
||||
placeholder="选择存储位置"><i slot="suffix" class="el-input__icon el-icon-search"
|
||||
@click.stop="showStorageLocationDialog"></i>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="货格号:" prop="storageBin">
|
||||
<el-input v-model="formObj.storageBin" placeholder="选择存储货格"
|
||||
@keyup.enter.native="getStorageLocationByStorageBin(formObj.storageBin)"><i slot="suffix"
|
||||
class="el-input__icon el-icon-search" @click.stop="showStorageBinDialog"></i></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="托条码:" prop="carrier">
|
||||
<el-input v-model="formObj.carrier" placeholder="手动输入或扫码"
|
||||
@keyup.enter.native="addList(formObj.carrier)">
|
||||
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table :data="formObj.itemList" :show-header="false">
|
||||
<el-table-column prop="carrier">
|
||||
<template slot-scope="scope">
|
||||
<div>
|
||||
<span style="text-align: right; width: 60px; display: inline-block;">托条码</span>
|
||||
<span class="text"> {{ scope.row.carrier }}</span>
|
||||
</div>
|
||||
<div>
|
||||
<span style="text-align: right; width: 60px; display: inline-block;">箱</span>
|
||||
<span class="text"> {{ scope.row.inventoryQty }}</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="箱" prop="inventoryQty">
|
||||
</el-table-column> -->
|
||||
<el-table-column align="right">
|
||||
<template slot-scope="scope">
|
||||
<el-button v-if="scope.row.handle == ''" size="mini" type="danger"
|
||||
@click="handleDelete(scope.$index, scope.row)">删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-form>
|
||||
<div style="margin-top: 10px; display: flex; justify-content: center;">
|
||||
<el-button v-if="bind_inventory_up_default" type="warning" @click="bind('formObj')">上架
|
||||
</el-button>
|
||||
<el-button type="warning" @click="clear">清除
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { upObj, getCarrierList, getUpCarrier } from '@/api/wms/shelves'
|
||||
import {
|
||||
fetchList as fetchStorageLocationList,
|
||||
getStorageBin
|
||||
} from '@/api/wms/storage-location'
|
||||
import {
|
||||
fetchList as fetchStorageBinList,
|
||||
getStorageLocationByStorageBin
|
||||
} from "@/api/wms/storagebin";
|
||||
import { showLoading, hideLoading } from '@/const/loading';
|
||||
import { isBlank } from '@/util/string';
|
||||
import MobileNavbar from "@/components/top-bar/mobile-navbar.vue";
|
||||
import {
|
||||
mapGetters
|
||||
} from 'vuex'
|
||||
|
||||
export default {
|
||||
components: { MobileNavbar },
|
||||
data() {
|
||||
return {
|
||||
formObj: {},
|
||||
rules: {
|
||||
storageLocation: [
|
||||
{ required: true, message: '货架不可为空' }
|
||||
],
|
||||
storageBin: [
|
||||
{ required: true, message: '货格号不可为空' }
|
||||
]
|
||||
},
|
||||
initData: {
|
||||
storageLocation: "",
|
||||
storageBin: "",
|
||||
itemList: [ ]
|
||||
},
|
||||
storageLocationDialogVisible: false,
|
||||
storageLocationDialogFetchFun: fetchStorageLocationList,
|
||||
storageLocationDialogObj: {
|
||||
"condition": "storageLocation",
|
||||
tableColumn: [
|
||||
{ prop: "storageLocation", label: "存储位置", width: "200" },
|
||||
{ prop: "description", label: "描述" }
|
||||
]
|
||||
},
|
||||
storageBinDialogVisible: false,
|
||||
storageBinDialogFetchFun: fetchStorageBinList,
|
||||
storageBinDialogObj: {
|
||||
"condition": "storageBin",
|
||||
tableColumn: [
|
||||
{ prop: "storageBin", label: "存储货格", width: "200" },
|
||||
{ prop: "description", label: "描述" },
|
||||
{
|
||||
prop: "isDefault", label: "是否默认货格", width: "100", formatter: (row, column, cellValue, index) => {
|
||||
|
||||
if (cellValue == "Y") {
|
||||
return "是";
|
||||
}
|
||||
if (cellValue == "N") {
|
||||
return "否";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.bind_inventory_up_default = this.permissions['bind_inventory_up_default']
|
||||
this.doinit();
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['permissions']),
|
||||
permissionList() {
|
||||
return {
|
||||
|
||||
};
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
doinit() {
|
||||
this.formObj = Object.assign({}, this.initData);
|
||||
},
|
||||
|
||||
//显示存储位置弹出框
|
||||
showStorageLocationDialog() {
|
||||
let me = this;
|
||||
me.storageLocationDialogVisible = true;
|
||||
},
|
||||
storageLocationSelect(row) {
|
||||
let me = this;
|
||||
me.formObj.storageLocation = row.storageLocation;
|
||||
me.formObj.storageLocationBo = row.handle;
|
||||
},
|
||||
|
||||
showStorageBinDialog() {
|
||||
let me = this;
|
||||
let storageLocation = me.formObj.storageLocation;
|
||||
this.storageBinDialogObj.queryParam = { "storageLocation": storageLocation }
|
||||
me.storageBinDialogVisible = true;
|
||||
|
||||
},
|
||||
storageBinSelect(row) {
|
||||
let me = this;
|
||||
me.formObj.storageBin = row.storageBin;
|
||||
me.formObj.storageBinBo = row.handle;
|
||||
this.getStorageLocationByStorageBin(me.formObj.storageBin);
|
||||
},
|
||||
|
||||
//扫描托条码
|
||||
addList(carrier) {
|
||||
let me = this;
|
||||
if (me.formObj.itemList.length > 0) {
|
||||
for (let i = 0; i < me.formObj.itemList.length; i++) {
|
||||
if (me.formObj.carrier === me.formObj.itemList[i].carrier) {
|
||||
me.$message.error('不可重复扫描同一条码')
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
showLoading();
|
||||
getUpCarrier(carrier).then(res => {
|
||||
hideLoading();
|
||||
let obj = Object.assign({}, { "carrier": res.data.data.carrier, "inventoryQty": res.data.data.inventoryQty, "handle": '' });
|
||||
me.formObj.itemList.push(obj);
|
||||
me.formObj.carrier = "";
|
||||
}).catch(e => {
|
||||
hideLoading();
|
||||
});
|
||||
},
|
||||
|
||||
//上架操作
|
||||
bind(formName) {
|
||||
let me = this;
|
||||
let objList = []
|
||||
if (me.formObj.itemList.length > 0) {
|
||||
for (let i = 0; i < me.formObj.itemList.length; i++) {
|
||||
if (isBlank(me.formObj.itemList[i].handle)) {
|
||||
let obj = Object.assign({}, {
|
||||
"storageBin": me.formObj.storageBin,
|
||||
"storageLocation": me.formObj.storageLocation,
|
||||
"carrier": me.formObj.itemList[i].carrier,
|
||||
"inventoryQty": me.formObj.itemList[i].inventoryQty
|
||||
});
|
||||
objList.push(obj);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this.$message.error('不存在需要上架的托');
|
||||
return;
|
||||
}
|
||||
|
||||
me.$refs[formName].validate((valid) => {
|
||||
if (valid) {
|
||||
if (objList.length == 0) {
|
||||
this.$message.error('不存在需要上架的托');
|
||||
return;
|
||||
}
|
||||
showLoading();
|
||||
upObj(objList).then(res => {
|
||||
hideLoading();
|
||||
if (res.data.code == 0) {
|
||||
this.$message.success('上架成功')
|
||||
this.doclear()
|
||||
}
|
||||
}).catch(e => {
|
||||
hideLoading();
|
||||
});
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
getitemList() {
|
||||
let me = this;
|
||||
me.formObj.itemList = [];
|
||||
let val = me.formObj.storageBin;
|
||||
showLoading()
|
||||
getCarrierList(val).then(res => {
|
||||
hideLoading();
|
||||
for (let i = 0; i < res.data.data.length; i++) {
|
||||
let obj = Object.assign({}, { "carrier": res.data.data[i].carrier, "inventoryQty": res.data.data[i].inventoryQty, "handle": res.data.data[i].handle });
|
||||
me.formObj.itemList.push(obj);
|
||||
}
|
||||
}).catch(e => {
|
||||
hideLoading();
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
//扫描货架进行的操作
|
||||
getStorageBin(value) {
|
||||
let me = this;
|
||||
me.$refs['formObj'].validateField(["storageLocation"], (valid) => {
|
||||
if (valid) {
|
||||
return false;
|
||||
} else {
|
||||
showLoading();
|
||||
getStorageBin(value).then(res => {
|
||||
hideLoading();
|
||||
if (res.data.code == 0 && res.data.data != null) {
|
||||
me.formObj.storageBin = res.data.data.storageBin;
|
||||
this.getitemList();
|
||||
|
||||
}
|
||||
}).catch(e => {
|
||||
hideLoading();
|
||||
});
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
|
||||
//扫描货格进行的操作
|
||||
getStorageLocationByStorageBin(value) {
|
||||
let me = this;
|
||||
me.$refs['formObj'].validateField(["storageBin"], (valid) => {
|
||||
if (valid) {
|
||||
return false;
|
||||
} else {
|
||||
showLoading()
|
||||
getStorageLocationByStorageBin(value).then(res => {
|
||||
hideLoading()
|
||||
if (res.data.code == 0 && res.data.data != null) {
|
||||
me.formObj.storageLocation = res.data.data.storageLocation;
|
||||
this.getitemList();
|
||||
|
||||
}
|
||||
}).catch(e => {
|
||||
hideLoading();
|
||||
});
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
|
||||
handleDelete(index, row) {
|
||||
let me = this
|
||||
me.formObj.itemList.splice(index, 1);
|
||||
},
|
||||
doclear() {
|
||||
this.doinit();
|
||||
this.formObj.itemList = [];
|
||||
this.$refs['formObj'].resetFields();
|
||||
},
|
||||
|
||||
clear() {
|
||||
let me = this;
|
||||
me.formObj.storageLocation = "";
|
||||
me.formObj.storageBin = "";
|
||||
me.formObj.carrier = "";
|
||||
me.formObj.itemList = [];
|
||||
me.$refs['formObj'].resetFields();
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
}
|
||||
|
||||
</script>
|
||||
<style scoped>
|
||||
.text {
|
||||
font-weight: 600;
|
||||
color: black;
|
||||
margin-left: 10px;
|
||||
}
|
||||
</style>
|
||||
355
src/views/mobile/wms/unShelve/index.vue
Normal file
355
src/views/mobile/wms/unShelve/index.vue
Normal file
@ -0,0 +1,355 @@
|
||||
<template>
|
||||
<div class="mobile-home">
|
||||
<div class="content">
|
||||
<input-select-dialog :modal-obj='storageLocationDialogObj' :modal-fetch-fun='storageLocationDialogFetchFun'
|
||||
:modal-show.sync="storageLocationDialogVisible" @inputDialogSelected="storageLocationSelect">
|
||||
</input-select-dialog>
|
||||
<input-select-dialog :modal-obj='storageBinDialogObj' :modal-fetch-fun='storageBinDialogFetchFun'
|
||||
:modal-show.sync="storageBinDialogVisible" @inputDialogSelected="storageBinSelect">
|
||||
</input-select-dialog>
|
||||
<mobile-navbar title="下架"></mobile-navbar>
|
||||
<div style="margin: 10px;">
|
||||
<el-form ref="formObj" :rules="rules" :model="formObj" label-width="auto">
|
||||
<el-row :gutter="10">
|
||||
<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="货架:" prop="storageLocation">
|
||||
<el-input @keyup.enter.native="getStorageBin(formObj.storageLocation)"
|
||||
v-model="formObj.storageLocation" placeholder="选择存储位置" :disabled="true"><i slot="suffix"
|
||||
class="el-input__icon el-icon-search"
|
||||
@click.stop="showStorageLocationDialog"></i>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="货格号:" prop="storageBin">
|
||||
<el-input v-model="formObj.storageBin" placeholder="选择存储货格" :disabled="true"
|
||||
@keyup.enter.native="getStorageLocationByStorageBin(formObj.storageBin)"><i
|
||||
slot="suffix" class="el-input__icon el-icon-search"
|
||||
@click.stop="showStorageBinDialog"></i></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="托条码:" prop="carrier">
|
||||
<el-input v-model="formObj.carrier" placeholder="手动输入或扫码"
|
||||
@keyup.enter.native="addList(formObj.carrier)">
|
||||
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table :data="formObj.itemList" :show-header="false">
|
||||
<el-table-column label="托条码" prop="carrier">
|
||||
<template slot-scope="scope">
|
||||
<div>
|
||||
<span style="text-align: right; width: 60px; display: inline-block;">托条码</span>
|
||||
<span class="text"> {{ scope.row.carrier }}</span>
|
||||
</div>
|
||||
<div>
|
||||
<span style="text-align: right; width: 60px; display: inline-block;">箱</span>
|
||||
<span class="text"> {{ scope.row.inventoryQty }}</span>
|
||||
</div>
|
||||
<div>
|
||||
<span style="text-align: right; width: 60px; display: inline-block;">货格号</span>
|
||||
<span class="text"> {{ scope.row.storageBin }}</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="箱" prop="inventoryQty">
|
||||
</el-table-column>
|
||||
<el-table-column label="货格号" prop="storageBin">
|
||||
</el-table-column> -->
|
||||
<el-table-column align="right">
|
||||
<template slot-scope="scope">
|
||||
<el-button v-if="scope.row.handle == ''" size="mini" type="danger"
|
||||
@click="handleDelete(scope.$index, scope.row)">删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-form>
|
||||
<div style="margin-top: 10px; display: flex; justify-content: center;">
|
||||
<el-button type="primary" v-if="bind_inventory_down_dfault" @click="unbind('formObj')">下架
|
||||
</el-button>
|
||||
<el-button type="warning" @click="clear">清除
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {downObj, getCarrierList, getNotInDefaultCarrier} from '@/api/wms/unShelve';
|
||||
import {fetchList as fetchStorageLocationList, getStorageBin} from '@/api/wms/storage-location';
|
||||
import {hideLoading, showLoading} from '@/const/loading';
|
||||
import {fetchList as fetchStorageBinList, getStorageLocationByStorageBin} from "@/api/wms/storagebin";
|
||||
import {listByActivityId} from "@/api/admin/activity-option";
|
||||
import {mapGetters} from 'vuex';
|
||||
import MobileNavbar from "@/components/top-bar/mobile-navbar.vue";
|
||||
export default {
|
||||
components: { MobileNavbar },
|
||||
data() {
|
||||
return {
|
||||
formObj: {},
|
||||
rules: {
|
||||
storageLocation: [
|
||||
{required: true, message: '货架不可为空'}
|
||||
],
|
||||
storageBin: [
|
||||
{required: true, message: '货格号不可为空'}
|
||||
],
|
||||
carrier: [
|
||||
{required: true, message: '托条码不可为空'}
|
||||
],
|
||||
},
|
||||
initData: {
|
||||
storageLocation: "",
|
||||
storageBin: "",
|
||||
itemList: [
|
||||
{
|
||||
carrier: "123213213",
|
||||
inventoryQty: "22",
|
||||
storageBin: "1221",
|
||||
handle: ""
|
||||
}
|
||||
]
|
||||
},
|
||||
storageLocationDialogVisible: false,
|
||||
storageLocationDialogFetchFun: fetchStorageLocationList,
|
||||
storageLocationDialogObj: {
|
||||
"condition": "storageLocation",
|
||||
tableColumn: [
|
||||
{prop: "storageLocation", label: "存储位置", width: "200"},
|
||||
{prop: "description", label: "描述"}
|
||||
]
|
||||
},
|
||||
storageBinDialogVisible: false,
|
||||
storageBinDialogFetchFun: fetchStorageBinList,
|
||||
storageBinDialogObj: {
|
||||
"condition": "storageBin",
|
||||
tableColumn: [
|
||||
{prop: "storageBin", label: "存储货格", width: "200"},
|
||||
{prop: "description", label: "描述"}
|
||||
]
|
||||
},
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.bind_inventory_down_dfault = this.permissions['bind_inventory_down_dfault'];
|
||||
this.doinit();
|
||||
},
|
||||
|
||||
beforeRouteEnter(to, from, next) {
|
||||
next(vm => {
|
||||
try {
|
||||
//获取作业规则
|
||||
let me = vm;
|
||||
let activityId = me.$route.query.ACTIVITY_ID;
|
||||
listByActivityId(activityId).then(response => {
|
||||
if (response.data.code != 0) {
|
||||
return me.$message.error(response.data.msg);
|
||||
}
|
||||
let data = response.data.data;
|
||||
|
||||
if (data && data.length > 0) {
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
if (data[i].optionName && data[i].optionName.toUpperCase() === "STORAGE_LOCATION") {
|
||||
me.defaultStorageLocation = data[i].optionValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}).catch(e => {
|
||||
console.log(e);
|
||||
});
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
computed: {
|
||||
...mapGetters(['permissions']),
|
||||
permissionList() {
|
||||
return {};
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
doinit() {
|
||||
this.formObj = Object.assign({}, this.initData);
|
||||
},
|
||||
|
||||
//显示存储位置弹出框
|
||||
showStorageLocationDialog() {
|
||||
let me = this;
|
||||
me.storageLocationDialogVisible = true;
|
||||
},
|
||||
storageLocationSelect(row) {
|
||||
let me = this;
|
||||
me.formObj.storageLocation = row.storageLocation;
|
||||
me.formObj.storageLocationBo = row.handle;
|
||||
},
|
||||
|
||||
showStorageBinDialog() {
|
||||
let me = this;
|
||||
let storageLocation = me.formObj.storageLocation;
|
||||
this.storageBinDialogObj.queryParam = {"storageLocation": storageLocation};
|
||||
me.storageBinDialogVisible = true;
|
||||
|
||||
},
|
||||
storageBinSelect(row) {
|
||||
let me = this;
|
||||
me.formObj.storageBin = row.storageBin;
|
||||
me.formObj.storageBinBo = row.handle;
|
||||
this.getStorageLocationByStorageBin(me.formObj.storageBin);
|
||||
},
|
||||
|
||||
//扫描托条码
|
||||
addList(carrier) {
|
||||
let me = this;
|
||||
if (me.formObj.itemList.length > 0) {
|
||||
for (let i = 0; i < me.formObj.itemList.length; i++) {
|
||||
if (me.formObj.carrier === me.formObj.itemList[i].carrier) {
|
||||
me.$message.error('不可重复扫描同一条码');
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
getNotInDefaultCarrier(carrier).then(res => {
|
||||
let obj = Object.assign({}, {
|
||||
"carrier": res.data.data.carrier,
|
||||
"inventoryQty": res.data.data.inventoryQty,
|
||||
"handle": '',
|
||||
"storageBin": res.data.data.storageBin
|
||||
});
|
||||
me.formObj.itemList.push(obj);
|
||||
me.formObj.storageBin = res.data.data.storageBin;
|
||||
me.formObj.storageLocation = res.data.data.storageLocation;
|
||||
me.formObj.flag = res.data.data.carrier;
|
||||
me.formObj.carrier = "";
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
//下架操作
|
||||
unbind(formName) {
|
||||
let me = this;
|
||||
let objList = [];
|
||||
if (me.formObj.itemList.length > 0) {
|
||||
for (let i = 0; i < me.formObj.itemList.length; i++) {
|
||||
let obj = Object.assign({}, {
|
||||
"storageBin": me.formObj.storageBin,
|
||||
"storageLocation": me.formObj.storageLocation,
|
||||
"carrier": me.formObj.itemList[i].carrier,
|
||||
"inventoryQty": me.formObj.itemList[i].inventoryQty
|
||||
});
|
||||
objList.push(obj);
|
||||
}
|
||||
} else {
|
||||
this.$message.error('不存在需要下架的托');
|
||||
return;
|
||||
}
|
||||
showLoading();
|
||||
downObj({
|
||||
storageLocation: me.defaultStorageLocation,
|
||||
list: objList
|
||||
}).then(res => {
|
||||
hideLoading();
|
||||
if (res.data.code == 0) {
|
||||
this.$message.success('下架成功');
|
||||
this.doclear();
|
||||
}
|
||||
}).catch(() => {
|
||||
hideLoading();
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
getitemList() {
|
||||
let me = this;
|
||||
me.formObj.itemList = [];
|
||||
let val = me.formObj.storageBin;
|
||||
getCarrierList(val).then(res => {
|
||||
for (let i = 0; i < res.data.data.length; i++) {
|
||||
let obj = Object.assign({}, {
|
||||
"carrier": res.data.data[i].carrier,
|
||||
"inventoryQty": res.data.data[i].inventoryQty,
|
||||
"handle": res.data.data[i].handle
|
||||
});
|
||||
me.formObj.itemList.push(obj);
|
||||
}
|
||||
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
//扫描货架进行的操作
|
||||
getStorageBin(value) {
|
||||
let me = this;
|
||||
me.$refs['formObj'].validateField(["storageLocation"], (valid) => {
|
||||
if (valid) {
|
||||
return false;
|
||||
} else {
|
||||
getStorageBin(value).then(res => {
|
||||
if (res.data.code == 0 && res.data.data != null) {
|
||||
me.formObj.storageBin = res.data.data.storageBin;
|
||||
this.getitemList();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
//扫描货格进行的操作
|
||||
getStorageLocationByStorageBin(value) {
|
||||
let me = this;
|
||||
me.$refs['formObj'].validateField(["storageBin"], (valid) => {
|
||||
if (valid) {
|
||||
return false;
|
||||
} else {
|
||||
getStorageLocationByStorageBin(value).then(res => {
|
||||
if (res.data.code == 0 && res.data.data != null) {
|
||||
me.formObj.storageLocation = res.data.data.storageLocation;
|
||||
this.getitemList();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
handleDelete(index, row) {
|
||||
let me = this;
|
||||
me.formObj.itemList.splice(index, 1);
|
||||
},
|
||||
doclear() {
|
||||
this.doinit();
|
||||
this.formObj.itemList = [];
|
||||
this.$refs['formObj'].resetFields();
|
||||
},
|
||||
|
||||
clear() {
|
||||
let me = this;
|
||||
me.formObj.storageLocation = "";
|
||||
me.formObj.storageBin = "";
|
||||
me.formObj.carrier = "";
|
||||
me.formObj.itemList = [];
|
||||
me.$refs['formObj'].resetFields();
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
};
|
||||
|
||||
</script>
|
||||
<style scoped>
|
||||
.text {
|
||||
font-weight: 600;
|
||||
color: black;
|
||||
margin-left: 10px;
|
||||
}
|
||||
</style>
|
||||
@ -2,7 +2,7 @@
|
||||
* 配置参考:
|
||||
* https://cli.vuejs.org/zh/config/
|
||||
*/
|
||||
const url = 'http://mom-gateway:9999'
|
||||
const url = 'http://10.10.11.40:11001'
|
||||
const CompressionWebpackPlugin = require('compression-webpack-plugin')
|
||||
const productionGzipExtensions = ['js', 'css']
|
||||
const path = require('path')
|
||||
|
||||
Loading…
Reference in New Issue
Block a user