diff --git a/api/request2.js b/api/request2.js
index 169cbe72..cadc36ac 100644
--- a/api/request2.js
+++ b/api/request2.js
@@ -1163,39 +1163,39 @@ export function getCountJobDetail(id) {
}
/**
- * 盘点 任务承接
+ * 盘点任务 任务承接
* @param {*} id
*
*/
export function takeCountJob(id) {
return request({
- url: baseApi + "/wms/purchasereceipt-job-main/accept?id=" + id,
+ url: baseApi + "/wms/count-job-main/accept?id=" + id,
method: "put",
data: {},
});
}
/**
- * 盘点 放弃承接
+ * 盘点任务 放弃承接
* @param {*} id
*
*/
export function cancleTakeCountJob(id) {
return request({
- url: baseApi + "/wms/purchasereceipt-job-main/abandon?id=" + id,
+ url: baseApi + "/wms/count-job-main/abandon?id=" + id,
method: "put",
data: {},
});
}
/**
- * 盘点 任务提交
+ * 盘点任务 提交
* @param {*} 任务id
*
*/
export function countJobSubmit(params) {
return request({
- url: baseApi + "/magic-api/pda/job/purchasereceipt/jobSubmit?id=" + id,
+ url: baseApi + "/wms/count-job-main/execute",
method: "put",
data: params,
});
diff --git a/common/directory.js b/common/directory.js
index 80c38b53..8d76a32b 100644
--- a/common/directory.js
+++ b/common/directory.js
@@ -17,6 +17,8 @@ let nextActionList = [];
let inspectTypeList = [];
let sampleMethodList = [];
let transferModeList = [];
+let countStageList = [];
+
// 获取业务类型字典项
@@ -51,6 +53,7 @@ export function clearCacheData() {
inspectTypeList = [];
sampleMethodList =[];
transferModeList = [];
+ countStageList =[];
}
//获取字典信息
@@ -436,6 +439,26 @@ export function getTransferModeName(value) {
return resultInfo
}
+//获取盘点阶段名称
+export function getCountStageName(value) {
+ var resultInfo = "";
+ if (countStageList.length == 0) {
+ countStageList = getDirectoryInfo("count_stage")
+ }
+ if (countStageList.length > 0) {
+ for (let item of countStageList) {
+ if (item.value == value) {
+ resultInfo = item.label
+ break;
+ }
+ }
+ }
+ return resultInfo
+}
+
+
+
+
diff --git a/mycomponents/location/requiredLocation.vue b/mycomponents/location/requiredLocation.vue
index 7aa6746a..0ac2a93c 100644
--- a/mycomponents/location/requiredLocation.vue
+++ b/mycomponents/location/requiredLocation.vue
@@ -59,7 +59,10 @@
},
methods: {
showLocation() {
- this.$refs.scanLocationCode.openScanPopup();
+ if(this.isShowEdit){
+ this.$refs.scanLocationCode.openScanPopup();
+ }
+
},
//扫描源库位
getLocation(location, code) {
diff --git a/mycomponents/qty/CountQtyEdit.vue b/mycomponents/qty/CountQtyEdit.vue
index 0ded9f60..645ad726 100644
--- a/mycomponents/qty/CountQtyEdit.vue
+++ b/mycomponents/qty/CountQtyEdit.vue
@@ -43,7 +43,7 @@
-
+
库存数量 :
{{Number(dataContent.balanceQty)}}
@@ -52,7 +52,7 @@
+ style="align-items: center; padding-left: 30rpx;">
库存状态 :
{
- if (detail.record == undefined) {
- if (detail.packingNumber == this.dataContent.packingNumber &&
- detail.batch == this.dataContent.batch &&
- detail.inventoryStatus == this.inventoryStatus) {
- return detail;
- }
- } else {
- if (detail.record.packingNumber == this.dataContent.packingNumber &&
- detail.record.batch == this.dataContent.batch &&
- detail.record.inventoryStatus == this.inventoryStatus) {
- return detail;
- }
- }
-
- })
- if (item == undefined) {
- this.dataContent.inventoryStatus = this.inventoryStatus
- this.dataContent.qty = Number(this.allQty)
- this.$emit("confirm");
- this.closeEditPopup();
- } else {
- this.$refs.comMessage.showErrorMessage("箱码[" + item.packingNumber + "]批次[" + item.batch + "]" + "状态[" +
- getInventoryStatusName(item.inventoryStatus) + "]已经在列表中", res => {
- })
- }
- },
updateStatus(value) {
this.inventoryStatus = value
console.log(this.inventoryStatus)
diff --git a/mycomponents/qty/compareQty.vue b/mycomponents/qty/compareQty.vue
index 165ce424..1d4f7e8b 100644
--- a/mycomponents/qty/compareQty.vue
+++ b/mycomponents/qty/compareQty.vue
@@ -13,13 +13,15 @@
{{Number(handleQty)}}
+
- /
-
- {{Number(recommendQty)}}
-
+ /
+
+ {{Number(recommendQty)}}
+
+
-
+
@@ -71,6 +73,10 @@
isShowStdPack: {
type: Boolean,
default: true
+ },
+ isShowRecommendQty: {
+ type: Boolean,
+ default: true
}
},
watch: {
diff --git a/mycomponents/recommend/recommendCount.vue b/mycomponents/recommend/recommendCount.vue
new file mode 100644
index 00000000..14a1559d
--- /dev/null
+++ b/mycomponents/recommend/recommendCount.vue
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 复制采购
+ |制品
+
+
+
+
+
+
+
+
+
diff --git a/pages/count/coms/comCountDetailCard.vue b/pages/count/coms/comCountDetailCard.vue
index 68b86d06..0cfd55ea 100644
--- a/pages/count/coms/comCountDetailCard.vue
+++ b/pages/count/coms/comCountDetailCard.vue
@@ -14,7 +14,7 @@
-
+
@@ -28,7 +28,7 @@
diff --git a/pages/count/coms/jobInfoPopup.vue b/pages/count/coms/jobInfoPopup.vue
index 1e244259..0d3996e4 100644
--- a/pages/count/coms/jobInfoPopup.vue
+++ b/pages/count/coms/jobInfoPopup.vue
@@ -6,12 +6,22 @@
计划单号 :
- {{dataContent.PlanNumber}}
+ {{dataContent.planNumber}}
阶段 :
- {{dataContent.Stage}}
+ {{getCountStageName(dataContent.stage)}}
+
+
+ 库位 :
+ {{dataContent.locationCode}}
+
+
+ 盘点策略 :
+ {{isOpenCount(dataContent.isOpenCount)}}
+
+
@@ -20,6 +30,9 @@
diff --git a/pages/count/job/countDetail.vue b/pages/count/job/countDetail.vue
index 7b38c44f..c90ada10 100644
--- a/pages/count/job/countDetail.vue
+++ b/pages/count/job/countDetail.vue
@@ -1,6 +1,27 @@
-
+
+
@@ -19,9 +40,6 @@
-
-
@@ -31,7 +49,8 @@
-
+
@@ -50,6 +69,9 @@
navigateBack,
getPackingNumberAndBatch
} from '@/common/basic.js';
+ import {
+ getCountStageName
+ } from '@/common/directory.js';
import winScanButton from '@/mycomponents/scan/winScanButton.vue'
import winScanPack from '@/mycomponents/scan/winScanPack.vue'
@@ -57,7 +79,8 @@
import comCountDetailCard from '@/pages/count/coms/comCountDetailCard.vue'
import comMessage from '@/mycomponents/common/comMessage.vue'
import winScanPackAndLocation from "@/mycomponents/scan/winScanPackAndLocation.vue"
- import CountQtyEdit from '@/mycomponents/qty/CountQtyEdit.vue'
+ import countQtyEdit from '@/mycomponents/qty/countQtyEdit.vue'
+ import jobTop from '@/mycomponents/job/jobTop.vue'
export default {
name: 'receipt_detail',
@@ -68,7 +91,8 @@
requiredLocation,
comMessage,
winScanPackAndLocation,
- CountQtyEdit,
+ countQtyEdit,
+ jobTop
},
data() {
return {
@@ -81,9 +105,6 @@
jobContent: {}, //任务内容
subList: [], //接口返回的任务subList
detailSource: [], //绑定在页面上的数据源
- locationTypeList: [],
- toLocationInfo: {},
- businessTypeInfo: {},
itemEditInfo: {}
};
},
@@ -91,15 +112,14 @@
this.id = option.id;
if (this.id != undefined) {
//新建的任务自动接收
- // if (option.status == "JOB_PENDING") {
- // this.receive((callback => {
- // this.received = true;
- // this.getDetail();
- // }));
- // } else {
- // this.getDetail();
- // }
- this.getDetail();
+ if (option.status == "1") {
+ this.receive((callback => {
+ this.received = true;
+ this.getDetail();
+ }));
+ } else {
+ this.getDetail();
+ }
}
},
//返回首页
@@ -158,14 +178,11 @@
if (res.data == null) {
that.showMessage('未获取到详情');
} else {
- if (res.data.subList.length > 0) {
- that.jobContent = res.data;
- that.fromLocationCode = that.jobContent.locationCode;
- that.subList = res.data.subList;
- that.detailSource = that.getDataSource(that.subList)
- } else {
- that.showErrorMessage('列表数据为0');
- }
+ that.jobContent = res.data;
+ that.fromLocationCode = that.jobContent.locationCode;
+ that.subList = res.data.subList;
+ that.detailSource = that.getDataSource(that.subList)
+ this.calcHandleQty();
}
}).catch(error => {
@@ -209,9 +226,8 @@
createDetailInfo(data) {
data.scaned = false;
- // data.record = {};
let detail = data;
- detail.balanceQty = detail.qty
+ detail.balanceQty = 0
detail.inventoryStatus = detail.inventoryStatus
detail.fromLocationCode = this.fromLocationCode
return detail;
@@ -233,12 +249,8 @@
for (let item of this.detailSource) {
item.handleQty = 0;
for (let detail of item.subList) {
- if (detail.scaned) {
- if (detail.record != undefined) {
- item.handleQty += Number(detail.record.qty)
- } else {
- item.handleQty += Number(detail.qty)
- }
+ if (detail != undefined && detail.scaned) {
+ item.handleQty += Number(detail.qty)
}
}
}
@@ -287,30 +299,19 @@
try {
var packingNumber = result.balance.packingNumber;
var batch = result.balance.batch;
- var qty = result.balance.qty;
+ var balanceQty = result.balance.qty;
var itemCode = result.balance.itemCode;
var inventoryStatus = result.balance.inventoryStatus;
var detail = this.detailSource.find(r => r.itemCode == itemCode);
+ var itemEditInfo;
//检查零件号是否存在
if (detail == undefined) {
//零件号不存在,创建零件号数据添加到列表。设置为已经扫描
this.addNewItemCodeToList(result)
} else {
//零件号存在,查询是否在任务列表中
- // var itemDetail;
- // var index;
-
- // for (var i = 0; i < detail.subList.length; i++) {
- // if (detail.subList[i].packingNumber == packingNumber &&
- // detail.subList[i].batch == batch &&
- // detail.subList[i].inventoryStatus == inventoryStatus) {
- // index = i;
- // itemDetail = detail.subList[i]
- // break
- // }
- // }
-
- this.itemEditInfo = detail.subList.find(item => {
+
+ itemEditInfo = detail.subList.find(item => {
if (item.packingNumber == packingNumber &&
item.batch == batch &&
item.inventoryStatus == inventoryStatus) {
@@ -318,19 +319,18 @@
}
})
- if (this.itemEditInfo == undefined) {
+ if (itemEditInfo == undefined) {
//不在任务列表中,提示是否添加到列表
this.addExistItemCodeToList(detail, result);
} else {
//在列表中,更新已扫描状态,
- if (this.itemEditInfo.scaned) {
+ if (itemEditInfo.scaned) {
this.$refs.comMessage.showSelectMessageModal("箱码【" + packingNumber +
"】已经完成盘点,是否要编辑数量",
res => {
- // this.$.refs["countDetail_" + index][0].edit(itemDetail)
if (res) {
- this.$refs.CountQtyEdit.openEditPopup(this.itemEditInfo.record,
+ this.$refs.countQtyEdit.openEditPopup(itemEditInfo,
detail.subList);
} else {
this.scanPopupGetFocus();
@@ -338,12 +338,12 @@
})
} else {
- // this.$.refs["countDetail_" + index][0].editSeconds(itemDetail)
- this.itemEditInfo.scaned = true;
- this.itemEditInfo.record = this.createRecordInfo(this.itemEditInfo);
- this.itemEditInfo.record.stdPackQty = result.package.stdPackQty;
- this.itemEditInfo.record.stdPackUnit = result.package.stdPackUnit;
- this.$refs.CountQtyEdit.openEditPopupShowSeconds(this.itemEditInfo.record, detail
+ itemEditInfo.scaned = true;
+ itemEditInfo.handleQty = balanceQty;
+ itemEditInfo.balanceQty = balanceQty;
+ itemEditInfo.stdPackQty = result.package.stdPackQty;
+ itemEditInfo.stdPackUnit = result.package.stdPackUnit;
+ this.$refs.countQtyEdit.openEditPopupShowSeconds(itemEditInfo, detail
.subList);
this.updateData()
}
@@ -361,7 +361,6 @@
if (res) {
var item = this.createAddItemInfo(result.balance, result.package);
let newDetail = this.createAddDetailInfo(result.balance, result.package); //
- newDetail.record = this.createRecordInfo(newDetail);
item.subList.push(newDetail);
this.detailSource.push(item)
this.updateData()
@@ -377,9 +376,7 @@
if (res) {
detail.qty += Number(detail.qty)
let newDetail = this.createAddDetailInfo(result.balance, result.package); //
- newDetail.record = this.createRecordInfo(newDetail);
detail.subList.push(newDetail);
- var test = this.detailSource;
this.updateData()
}
@@ -395,55 +392,42 @@
qty: Number(balance.qty),
handleQty: 0,
uom: pack.uom,
- subList: []
+ subList: [],
+
}
return item;
},
createAddDetailInfo(balance, pack) {
var detail = {
- scaned: true,
- balanceQty: balance.qty,
- toInventoryStatus: balance.inventoryStatus,
- fromLocationCode: balance.locationCode,
id: "",
+ scaned: true,
countDetailNumber: "",
- ownerCode: balance.OwnerCode,
+ ownerCode: balance.ownerCode,
packingNumber: balance.packingNumber,
- containerNumber: pack.ContainerNumber,
+ containerNumber: pack.containerNumber,
batch: balance.batch,
inventoryStatus: balance.inventoryStatus,
- itemCode: balance.itemCode,
+ itemCode: pack.itemCode,
itemName: pack.itemName,
itemDesc1: pack.itemDesc1,
itemDesc2: pack.itemDesc2,
- stdPackQty: pack.stdPackQty,
- stdPackUnit: pack.stdPackUnit,
projectCode: "",
qty: balance.qty,
+ handleQty: balance.qty,
uom: balance.uom,
- masterID: "",
number: "",
remark: "",
- creationTime: "",
- creatorId: "",
- creatorName: "",
- siteId: ""
+ countQty: balance.qty,
+ balanceQty: balance.qty,
+ fromLocationCode: balance.locationCode,
+ stdPackQty: pack.stdPackQty,
+ stdPackUnit: pack.stdPackUnit,
}
return detail;
},
- createRecordInfo(detail) {
- var record = {}
- detail.scaned = true;
- // let record = JSON.parse(JSON.stringify(detail));
- //克隆对象,深度克隆,防止双向绑定同一个变量
- Object.assign(record, detail)
- record.fromLocationCode = this.fromLocationCode;
- return record;
- },
-
scanLocationCode(location, code) {
this.$refs.comMessage.showQuestionMessage("是否把所有的目标库位都变成默认库位[" + code + "]", res => {
this.toLocationCode = code
@@ -456,19 +440,59 @@
},
+ getScanCount() {
+ var scanCount = 0;
+ this.detailSource.forEach(item => {
+ item.subList.forEach(detail => {
+ if (detail.scaned) {
+ scanCount = scanCount + 1;
+ }
+ })
+ })
+ return scanCount;
+ },
+
+ getTotalCount() {
+ var totalCount = 0;
+ this.detailSource.forEach(item => {
+ item.subList.forEach(detail => {
+ totalCount = totalCount + 1;
+ })
+ })
+ return totalCount;
+ },
+
+
commit() {
- if (this.scanCount == this.subList.length) {
+ this.scanCount = this.getScanCount();
+
+ if (this.scanCount == this.getTotalCount()) {
this.submitJob();
- } else if (this.scanCount < this.subList.length) {
+ } else if (this.scanCount < this.getTotalCount()) {
//扫描数量小于任务数量,判断是否允许部分提交
if (this.jobContent.allowPartialComplete == "TRUE") {
//提交
- this.submitJob();
+ this.$refs.comMessage.showQuestionMessage("已经扫描[" + this.scanCount +
+ "]总共[" + this
+ .getTotalCount() + "],是否把未扫描的盘点数量设置为0?",
+ res => {
+ if (res) {
+ this.detailSource.forEach(item => {
+ item.subList.forEach(detail => {
+ if (!detail.scaned) {
+ detail.countQty = 0;
+ }
+ })
+ })
+ this.submitJob();
+ }
+ });
+
} else {
//不允许部分提交,提示
this.$refs.comMessage.showErrorMessage('请完成扫描后,再进行提交
' + "已经扫描[" + this.scanCount +
- "]箱总共[" + this
- .subList.length + "]箱", res => {
+ "]总共[" + this
+ .getTotalCount() + "]", res => {
if (res) {
this.openScanPopup();
}
@@ -477,59 +501,41 @@
}
},
-
- submitJob() {
+
+ submitJob() {
uni.showLoading({
title: "提交中....",
mask: true
});
- var itemCodes = []
- this.detailSource.forEach(item => {
- itemCodes.push(item.itemCode)
+ var params = this.setParams()
+ console.log("提交参数", JSON.stringify(params));
+ countJobSubmit(this.id, params).then(res => {
+ uni.hideLoading()
+ if (res.data) {
+ this.showCommitSuccessMessage("提交成功
生成盘点记录" + res.data)
+ } else {
+ this.showErrorMessage("提交失败[" + res.msg + "]")
+ }
+ }).catch(error => {
+ uni.hideLoading()
+ this.showErrorMessage(error)
})
-
- //获取管理模式,封装参数
- // getManagementPrecisions(itemCodes, this.toLocationCode, res => {
- // if (res.success) {
- // this.managementList = res.list;
- // var params = this.setParams()
- // console.log("提交参数", JSON.stringify(params));
- // // var params = this.getParams();
-
- // // countJobSubmit(this.id, params).then(res => {
- // // if (res.data) {
- // // this.showCommitSuccessMessage("提交成功
生成采购收货记录" + res.data.Number, )
- // // } else {
- // // this.showErrorMessage("提交失败[" + res.msg + "]")
- // // }
- // // uni.hideLoading()
- // // }).catch(error => {
- // // uni.hideLoading()
- // // this.showErrorMessage(error)
- // // })
- // } else {
- // uni.hideLoading();
- // this.showErrorMessage(res.message);
- // }
- // });
-
+
},
-
+
setParams() {
var subList = []
var creator = this.$store.state.user.id
-
+
this.detailSource.forEach(item => {
item.subList.forEach(detail => {
if (detail.scaned) {
- var info = getPackingNumberAndBatch(this.managementList, detail.itemCode,
- detail.packingNumber, detail.batch);
- detail.toPackingNumber = info.packingNumber;
- detail.toBatch = info.batch;
- subList.push(detail)
+ detail.countQty = detail.handleQty;
}
+ subList.push(detail)
})
})
+
this.jobContent.subList = subList
this.jobContent.creator = creator;
return this.jobContent;
@@ -564,8 +570,8 @@
},
editItem(item) {
- var detail = this.detailSource.find(r => r.itemCode == item.record.itemCode);
- this.$refs.CountQtyEdit.openEditPopup(item.record,
+ var detail = this.detailSource.find(r => r.itemCode == item.itemCode);
+ this.$refs.countQtyEdit.openEditPopup(item,
detail.subList);
},
@@ -573,7 +579,14 @@
this.$refs.comMessage.showSuccessMessage(hint, res => {
navigateBack(1);
})
+ },
+ getCountStageName(value) {
+ return getCountStageName(value)
+ },
+ isOpenCount(value) {
+ return value == "TRUE" ? "明盘" : "盲盘"
}
+
}
}
diff --git a/pages/index/index.vue b/pages/index/index.vue
index 1cf7c69c..1dddb782 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -272,7 +272,7 @@
types:["job_status","location_type","item_status","uom",
"inventory_status","container_type","pack_unit","unplanned_receipt_reason",
"unplanned_issue_reason","scrap_reason","inspect_failed_reason",
- "request_status","inspect_type","next_action","sample_method","transfer_mode"]
+ "request_status","inspect_type","next_action","sample_method","transfer_mode","count_stage"]
}
getDictionaryItem(params).then(res => {
if (res.data.length > 0) {
diff --git a/static/config.json b/static/config.json
index 259a68f5..68341504 100644
--- a/static/config.json
+++ b/static/config.json
@@ -18,7 +18,7 @@
"request_url": {
"name": "request_url",
- "value": "http://192.168.0.230:12080/admin-api",
+ "value": "http://192.168.0.157:12080/admin-api",
"dev2": "http://192.168.0.157:12080/admin-api",
"chefang": "http://192.168.0.178:12080/admin-api",
"chenxinming": "http://192.168.0.230:12080/admin-api",