niexiting 9 months ago
parent
commit
1781216151
  1. 214
      api/request2.js
  2. 71
      common/basic.js
  3. 8
      common/directory.js
  4. 32
      common/label.js
  5. 40
      common/scan.js
  6. 3
      mycomponents/scan/winComScan.vue
  7. 2
      mycomponents/scan/winScanPack.vue
  8. 1
      mycomponents/scan/winScanPackAndLocation.vue
  9. 8
      pages.json
  10. 7
      pages/package/record/mergePackageRecord.vue
  11. 7
      pages/package/record/overPackageRecord.vue
  12. 5
      pages/package/record/splitPackageRecord.vue
  13. 7
      pages/pallet/record/unBindPalletRecord.vue
  14. 3
      pages/productDismantle/coms/requestInfoPopup.vue
  15. 6
      pages/productDismantle/job/productDismantleDetail.vue
  16. 7
      pages/productPutaway/job/productPutawayDetail.vue
  17. 6
      pages/productionReturn/request/returnRequestCreate.vue
  18. 27
      pages/purchaseReturn/request/returnRequest.vue
  19. 8
      pages/putaway/job/putawayDetail.vue
  20. 12
      pages/scrap/coms/comScrapJobCard.vue
  21. 52
      pages/scrap/job/scrapJobDetail.vue
  22. 20
      pages/scrap/record/scrapRecord.vue
  23. 385
      pages/scrap/request/scrapRequestCreate.vue
  24. 129
      pages/scrap/request/scrapRrequest.vue
  25. 254
      pages/unPlanned/coms/comReceiptRequestPopup.vue
  26. 42
      pages/unPlanned/job/receiptJobDetail.vue
  27. 53
      pages/unPlanned/record/issueRecord.vue
  28. 55
      pages/unPlanned/record/receiptRecord.vue
  29. 128
      pages/unPlanned/request/issueRequest.vue
  30. 141
      pages/unPlanned/request/issueRequestCreate.vue
  31. 131
      pages/unPlanned/request/receiptRequest.vue
  32. 215
      pages/unPlanned/request/receiptRequestCreate.vue
  33. 1
      static/config.json

214
api/request2.js

@ -634,7 +634,7 @@ export function purchaseReturnRequestClose(id) {
* 采购退货申请 提交审批
* @param {*} params
*/
export function purchaseReturnRequestSubmitApprove(id) {
export function purchaseReturnRequestApprove(id) {
return request({
url: baseApi + "/wms/purchasereturn-request-main/submit?id="+id,
method: "put",
@ -646,7 +646,7 @@ export function purchaseReturnRequestSubmitApprove(id) {
* 采购退货申请 提交审批通过
* @param {*} params
*/
export function purchaseReturnRequestSubmitApproveAgree(id) {
export function purchaseReturnRequestApproveAgree(id) {
return request({
url: baseApi + "/wms/purchasereturn-request-main/agree?id="+id,
method: "put",
@ -658,7 +658,7 @@ export function purchaseReturnRequestSubmitApproveAgree(id) {
* 采购退货申请 审批驳回
* @param {*} params
*/
export function purchaseReturnRequestSubmitApproveRefused(id) {
export function purchaseReturnRequestApproveRefused(id) {
return request({
url: baseApi + "/wms/purchasereturn-request-main/refused?id="+id,
method: "put",
@ -1270,17 +1270,78 @@ export function unPlannedReceiptJobSubmit(params) {
}
/**
* 计划外入库申请 提交
* 计划外入库申请 创建
* @param {*} params
*/
export function unPlannedReceiptRequestbSubmit(params) {
export function unPlannedReceiptRequestCreate(params) {
return request({
url: baseApi + "/magic-api/pda/job/purchasereturn/jobSubmit",
method: "put",
url: baseApi + "/wms/unplannedreceipt-request-main/create",
method: "post",
data: params,
});
}
/**
* 计划外入库申请 提交审批
* @param {*} params
*/
export function unPlannedReceiptRequestApprove(id) {
return request({
url: baseApi + "/wms/unplannedreceipt-request-main/submit?id="+id,
method: "put",
data: {},
});
}
/**
* 计划外入库申请 关闭
* @param {*} params
*/
export function unPlannedReceiptRequestClose(id) {
return request({
url: baseApi + "/wms/unplannedreceipt-request-main/close?id="+id,
method: "put",
data: {},
});
}
/**
* 计划外入库申请 审批通过
* @param {*} params
*/
export function unPlannedReceiptRequestApproveAgree(id) {
return request({
url: baseApi + "/wms/unplannedreceipt-request-main/agree?id="+id,
method: "put",
data: {},
});
}
/**
* 计划外入库申请 审批驳回
* @param {*} params
*/
export function unPlannedReceiptRequestApproveRefused(id) {
return request({
url: baseApi + "/wms/unplannedreceipt-request-main/refused?id="+id,
method: "put",
data: {},
});
}
/**
* 计划外入库申请 处理
* @param {*} params
*/
export function unPlannedReceiptRequestHandle(id) {
return request({
url: baseApi + "/wms/unplannedreceipt-request-main/handle?id="+id,
method: "put",
data: {},
});
}
/**
* 计划外入库记录 提交
* @param {*} params
@ -1365,7 +1426,7 @@ export function unPlannedIssueJobSubmit(params) {
* 计划外出库申请 提交
* @param {*} params
*/
export function unPlannedIssueRequestSubmit(params) {
export function unPlannedIssueRequestCreate(params) {
return request({
url: baseApi + "/wms/unplannedissue-request-main/create",
method: "post",
@ -1373,6 +1434,67 @@ export function unPlannedIssueRequestSubmit(params) {
});
}
/**
* 计划外出库申请 提交审批
* @param {*} params
*/
export function unPlannedIssueRequestApprove(id) {
return request({
url: baseApi + "/wms/unplannedissue-request-main/submit?id="+id,
method: "put",
data: {},
});
}
/**
* 计划外出库申请 关闭
* @param {*} params
*/
export function unPlannedIssueRequestClose(id) {
return request({
url: baseApi + "/wms/unplannedissue-request-main/close?id="+id,
method: "put",
data: {},
});
}
/**
* 计划外出库申请 审批通过
* @param {*} params
*/
export function unPlannedIssueRequestApproveAgree(id) {
return request({
url: baseApi + "/wms/unplannedissue-request-main/agree?id="+id,
method: "put",
data: {},
});
}
/**
* 计划外出库申请 审批驳回
* @param {*} params
*/
export function unPlannedIssueRequestApproveRefused(id) {
return request({
url: baseApi + "/wms/unplannedissue-request-main/refused?id="+id,
method: "put",
data: {},
});
}
/**
* 计划外出库申请 处理
* @param {*} params
*/
export function unPlannedIssueRequestHandle(id) {
return request({
url: baseApi + "/wms/unplannedissue-request-main/handle?id="+id,
method: "put",
data: {},
});
}
/**
* 计划外出库记录 提交
* @param {*} params
@ -2465,7 +2587,7 @@ export function unPlannedReceiptRequestSubmit(params) {
/**
* 报废出库 任务
* 报废出库任务
* status 任务状态
* 开始日期
* 结束日期
@ -2498,7 +2620,7 @@ export function getScrapJobDetail(id) {
*/
export function takeScrapJob(id) {
return request({
url: baseApi + "/wms/purchasereceipt-job-main/accept?id=" + id,
url: baseApi + "/wms/scrap-job-main/accept?id=" + id,
method: "put",
data: {},
});
@ -2511,7 +2633,7 @@ export function takeScrapJob(id) {
*/
export function cancleTakeScrapJob(id) {
return request({
url: baseApi + "/wms/purchasereceipt-job-main/abandon?id=" + id,
url: baseApi + "/wms/scrap-job-main/abandon?id=" + id,
method: "put",
data: {},
});
@ -2524,7 +2646,7 @@ export function cancleTakeScrapJob(id) {
*/
export function scrapJobSubmit(params) {
return request({
url: baseApi + "/magic-api/pda/job/purchasereceipt/jobSubmit?id=" + id,
url: baseApi + "/wms/scrap-job-main/execute",
method: "put",
data: params,
});
@ -2560,17 +2682,77 @@ export function getScrapRequestDetail(id) {
}
/**
* 报废出库申请 提交
* 报废出库申请 创建
* @param {*} params
*/
export function scrapRequestSubmit(params) {
export function scrapRequestCreate(params) {
return request({
url: baseApi + "/wms/purchasereturn-request-main/submit",
method: "put",
url: baseApi + "/wms/scrap-request-main/create",
method: "post",
data: params,
});
}
/**
* 报废出库申请 提交审批
* @param {*} params
*/
export function scrapRequestApprove(id) {
return request({
url: baseApi + "/wms/scrap-request-main/submit?id="+id,
method: "put",
data: {},
});
}
/**
* 报废出库申请 关闭
* @param {*} params
*/
export function scrapRequestClose(id) {
return request({
url: baseApi + "/wms/scrap-request-main/close?id="+id,
method: "put",
data: {},
});
}
/**
* 报废出库申请 审批通过
* @param {*} params
*/
export function scrapRequestApproveAgree(id) {
return request({
url: baseApi + "/wms/scrap-request-main/agree?id="+id,
method: "put",
data: {},
});
}
/**
* 报废出库申请 审批驳回
* @param {*} params
*/
export function scrapRequestApproveRefused(id) {
return request({
url: baseApi + "/wms/scrap-request-main/refused?id="+id,
method: "put",
data: {},
});
}
/**
* 报废出库申请 审批驳回
* @param {*} params
*/
export function scrapRequestHandle(id) {
return request({
url: baseApi + "/wms/scrap-request-main/handle?id="+id,
method: "put",
data: {},
});
}
/**
* 报废出库记录 提交
* @param {*} params

71
common/basic.js

@ -715,6 +715,75 @@ export function getTodayDate() {
return startTime + "," + endTime;
}
export function getCurrDateOneMonthsTimes() {
var end = Date.now()
// var end = new Date('2019/12/31 15:18').getTime()
var day = 31
var enda = new Date(end);
var endm = enda.getMonth() + 1;
var d = enda.getDate();
if (endm == 4 || endm == 6 || endm == 9 || endm == 11) {
day = 30
} else {
if (d == 31) {
day = 30
}
if (endm == 7 || endm == 12) {
day = 31
}
}
if (endm == 1) {
var endy = enda.getFullYear();
day = 31
if (d == 31) {
day = 28
}
if (d == 30) {
day = 29
}
if (d == 29) {
day = 30
}
if (endy % 4 == 0) {
day = 31
if (d == 31) {
day = 29
}
if (d == 30) {
day = 30
}
if (d == 29) {
day = 31
}
}
}
if (endm == 2) {
var endy = enda.getFullYear();
day = 28
if (endy % 4 == 0) {
day = 29
}
}
var start = 1000 * 60 * 60 * 24 * day
var interval = end + start;
return interval;
}
export function getCurrDateTimes() {
var time = (new Date()).getTime();
return time;
}
export function getBatch() {
var date = new Date();
var year = date.getFullYear(); //年
var month = date.getMonth() + 1; //月
var day = date.getDate(); //日
var batch =year.toString()+month.toString()+day.toString()
return batch;
}
export function getCurrDate() {
var date = new Date();
return getDate(date);
@ -733,7 +802,7 @@ export function getISODateTime() {
//格式化处理
export function dateFormat(time) {
var result = ""
if(time!=null){
if (time != null) {
let date = new Date(time);
result = getDate(date) + " " + getTime(date);
}

8
common/directory.js

@ -9,6 +9,7 @@ let containerTypeList = [];
let packUnitList = [];
let requestStatusList = [];
let unplannedReceiptReasonList = [];
let unplannedIssueReasonList = [];
let unplannedIissueReason = [];
let scrapReasonList = [];
let inspectFailedReasonList = [];
@ -42,6 +43,7 @@ export function clearCacheData() {
packUnitList = [];
requestStatusList = [];
unplannedReceiptReasonList = [];
unplannedIssueReasonList=[];
unplannedIissueReason = [];
scrapReasonList = [];
inspectFailedReasonList = [];
@ -329,7 +331,7 @@ export function getUnPlannedReceiptReasonList(value) {
}
unplannedReceiptReasonList.forEach(res => {
res.text = res.label;
res.value = res.code
res.value = res.value
})
return unplannedReceiptReasonList
}
@ -341,7 +343,7 @@ export function getUnPlannedIssuseReasonList(value) {
}
unplannedIssueReasonList.forEach(res => {
res.text = res.label;
res.value = res.code
res.value = res.value
})
return unplannedIssueReasonList
}
@ -353,7 +355,7 @@ export function getScarpReasonList(value) {
}
scrapReasonList.forEach(res => {
res.text = res.label;
res.value = res.code
res.value = res.value
})
return scrapReasonList
}

32
common/label.js

@ -14,7 +14,7 @@ export function getLabelInfo(scanMsg, callBack) {
let items = scanMsg.split(';');
let header = items[0];
let version = items[1];
if (header != '' && version != '') {
if ((header != undefined) && (version!=undefined)) {
//解析扫描的是一维码还是二维码
let type = header.substring(header.length - 1, header.length);
if (type == 'Q') //qrcode
@ -26,6 +26,18 @@ export function getLabelInfo(scanMsg, callBack) {
} else { //直接输入文本
getBarCodeInfo('text', 'V1.0', scanMsg, callBack);
}
}else {
let labelResult = {
label: {
labelType: "",
barType: '',
code:""
},
package: null,
success: false,
message: '标签格式不正确',
}
callBack(labelResult);
}
}
@ -38,12 +50,12 @@ export function getQRCodeInfo(header, version, scanMsg, callBack) {
barType: 'QRCode',
},
package: {},
sucess: true,
success: true,
message: ''
}
getLabelByHeader(header, version).then(res => {
if (res.data==null) {
labelResult.sucess = false;
labelResult.success = false;
labelResult.message = '未查找到标签头为[' + header + ']的标签类型';
callBack(labelResult);
} else {
@ -57,7 +69,7 @@ export function getQRCodeInfo(header, version, scanMsg, callBack) {
getLabelItems(newItem, scanMsg, callBack);
}
}).catch(err => {
labelResult.sucess = false;
labelResult.success = false;
labelResult.message = err;
callBack(err);
})
@ -74,7 +86,7 @@ export function getLabelItems(labelItem, scanMsg, callBack) {
if (packingNumber != undefined) {
getPackageByNumber(packingNumber).then(pack => {
if (pack.data.list.length == 0) {
labelResult.sucess = false;
labelResult.success = false;
labelResult.message = '包装号[' + packingNumber + ']没有包装信息';
} else {
labelResult.package = pack.data.list[0];
@ -82,12 +94,12 @@ export function getLabelItems(labelItem, scanMsg, callBack) {
}
callBack(labelResult);
}).catch(err => {
labelResult.sucess = false;
labelResult.success = false;
labelResult.message = err;
callBack(labelResult);
})
} else {
labelResult.sucess = false;
labelResult.success = false;
labelResult.message = '在条码中未解析到箱码';
callBack(labelResult);
}
@ -103,7 +115,7 @@ export function analysisQRCodeLabel(labelItem, scanMsg) {
barType: 'QRCode',
},
package: {},
sucess: true,
success: true,
message: ''
}
@ -112,7 +124,7 @@ export function analysisQRCodeLabel(labelItem, scanMsg) {
labelResult.message = "未读取到分隔符";
} else {
if (scanMsg.indexOf(separators) < 0) {
labelResult.sucess = false;
labelResult.success = false;
labelResult.message = "标签格式不正确";
} else {
try {
@ -153,7 +165,7 @@ export function getBarCodeInfo(header, version, value, callBack) {
code:value
},
package: null,
sucess: true,
success: true,
message: '',
}
callBack(labelResult);

40
common/scan.js

@ -13,12 +13,12 @@
//B:supplierBatch 供应商批次
//返回结果
//sucess true:成功 false:失败
//success true:成功 false:失败
//scanType barcode:条码 qrcode:二维码
//isPack true:箱码 false:托码
export function analyseScanInfo(scanMsg) {
let scanResult = {
sucess: false,
success: false,
message: "",
data: {
isPack: null,
@ -41,7 +41,7 @@ export function analyseScanInfo(scanMsg) {
console.log('1.扫描到的内容:', scanMsg);
//条码
if (scanMsg.indexOf(';') < 0) {
scanResult.sucess = true;
scanResult.success = true;
scanResult.data.code = scanMsg;
scanResult.data.scanType = 'barcode'; //条码
} else {
@ -107,15 +107,15 @@ export function analyseScanInfo(scanMsg) {
}
})
scanResult.sucess = true;
scanResult.success = true;
} else { //扫描的是条码,直接返回接收到的内容
scanResult.sucess = true;
scanResult.success = true;
scanResult.data.code = scanMsg;
scanResult.data.scanType = 'barcode';
}
}
} catch (ex) {
scanResult.sucess = false;
scanResult.success = false;
scanResult.message = "解析遇到异常" + ex.message;
}
}
@ -138,12 +138,12 @@ export function analyseScanInfo(scanMsg) {
//E:produceDate日期
//返回结果
//sucess true:成功 false:失败
//success true:成功 false:失败
//scanType barcode:条码 qrcode:二维码
//isPack true:箱码 false:托码
export function analyseProductLabelInfo(scanMsg) {
let scanResult = {
sucess: false,
success: false,
message: "",
data: {
itemCode: null,
@ -163,7 +163,7 @@ export function analyseProductLabelInfo(scanMsg) {
try {
//条码
if (scanMsg.indexOf(';') < 0) {
scanResult.sucess = false;
scanResult.success = false;
scanResult.message = "标签格式不正确";
} else {
let arrayItems = scanMsg.split(';');
@ -211,13 +211,13 @@ export function analyseProductLabelInfo(scanMsg) {
scanResult.data.produceDate = value;
break;
default:
scanResult.sucess = false;
scanResult.success = false;
scanResult.message = "无法识别的前缀" + type;
break;
}
scanResult.sucess = true;
scanResult.success = true;
} else {
scanResult.sucess = false;
scanResult.success = false;
scanResult.message = "标签信息不能为空" + type;
}
}
@ -225,12 +225,12 @@ export function analyseProductLabelInfo(scanMsg) {
} else { //扫描的是条码,直接返回接收到的内容
scanResult.sucess = false;
scanResult.success = false;
scanResult.message = "标签分隔符错误";
}
}
} catch (ex) {
scanResult.sucess = false;
scanResult.success = false;
scanResult.message = "解析遇到异常" + ex.message;
}
}
@ -243,7 +243,7 @@ export function analyseProductLabelInfo(scanMsg) {
//1.序号1,2.生产号2546311FL,3.零件号254FL004,4.批序号202207110009
export function analyseTJMesQRCode(scanMsg) {
let scanResult = {
sucess: false,
success: false,
message: "",
items: []
};
@ -252,7 +252,7 @@ export function analyseTJMesQRCode(scanMsg) {
} else {
try {
if (scanMsg.indexOf(':') < 0) {
scanResult.sucess = false;
scanResult.success = false;
scanResult.message = "标签格式不正确";
} else {
let arrayItems = scanMsg.split(':');
@ -290,18 +290,18 @@ export function analyseTJMesQRCode(scanMsg) {
}
}
} else {
scanResult.sucess = false;
scanResult.success = false;
scanResult.message = "标签信息不能为空";
}
})
scanResult.sucess = true;
scanResult.success = true;
} else { //扫描的是条码,直接返回接收到的内容
scanResult.sucess = false;
scanResult.success = false;
scanResult.message = "标签分隔符错误";
}
}
} catch (ex) {
scanResult.sucess = false;
scanResult.success = false;
scanResult.message = "解析遇到异常" + ex.message;
}
}

3
mycomponents/scan/winComScan.vue

@ -152,11 +152,12 @@
}
getLabelInfo(content, callback => {
let scanResult = callback;
if (scanResult.sucess) {
if (scanResult.success) {
that.clear();
// that.getfocus();//
that.$emit("getResult", scanResult);
} else {
that.clear();
this.$refs.comMessage.showErrorMessage(scanResult.message, res => {
if (res) {
that.getfocus();

2
mycomponents/scan/winScanPack.vue

@ -74,7 +74,7 @@
},
getScanResult(result) {
if (result.sucess) {
if (result.success) {
this.$emit("getResult", result);
} else {
this.showMessage(result.message)

1
mycomponents/scan/winScanPackAndLocation.vue

@ -139,6 +139,7 @@
this.$refs.popup.open('bottom');
this.fromInventoryStatuses = jobContent.outInventoryStatuses
this.inventoryStatus = getDirectoryItemArray(jobContent.outInventoryStatuses); //; //
debugger
this.fromLocationTypeArray = getDirectoryItemArray(jobContent.fromLocationTypes); //
},

8
pages.json

@ -1640,6 +1640,14 @@
"enablePullDownRefresh": false
}
},
{
"path": "pages/scrap/request/scrapRequestCreate",
"style": {
"navigationBarTitleText": "报废出库申请创建",
"enablePullDownRefresh": false
}
},
{
"path": "pages/pallet/record/bindPalletRecord",
"style": {

7
pages/package/record/mergePackageRecord.vue

@ -44,10 +44,13 @@
<script>
import {
goHome,
goHome
} from '@/common/basic.js';
import {
getInventoryStatusDesc,
getDirectoryItemArray
} from '@/common/basic.js';
} from '@/common/directory.js';
import {
getBusinessType,

7
pages/package/record/overPackageRecord.vue

@ -41,10 +41,13 @@
<script>
import {
goHome,
goHome
} from '@/common/basic.js';
import {
getInventoryStatusDesc,
getDirectoryItemArray
} from '@/common/basic.js';
} from '@/common/directory.js';
import {
getBusinessType,

5
pages/package/record/splitPackageRecord.vue

@ -41,9 +41,12 @@
<script>
import {
goHome,
} from '@/common/basic.js';
import {
getInventoryStatusDesc,
getDirectoryItemArray
} from '@/common/basic.js';
} from '@/common/directory.js';
import {
getBusinessType,

7
pages/pallet/record/unBindPalletRecord.vue

@ -47,10 +47,13 @@
getContainerDetailByNumber
} from '@/api/request.js';
import {
goHome,
getDirectoryItemArray
goHome
} from '@/common/basic.js';
import {
getDirectoryItemArray
} from '@/common/directory.js';
import {
getBusinessType,
createItemInfo,

3
pages/productDismantle/coms/requestInfoPopup.vue

@ -45,10 +45,11 @@
<script>
import {
dateFormat,
getDirectoryItemArray,
} from '@/common/basic.js';
import {
getDirectoryItemArray,
getInventoryStatusDesc,
getLocationTypeNameList
} from '@/common/directory.js';

6
pages/productDismantle/job/productDismantleDetail.vue

@ -64,8 +64,12 @@
getCurrDateTime,
navigateBack,
getPackingNumberAndBatch,
getInventoryStatusName,
} from '@/common/basic.js';
import {
getInventoryStatusName
} from '@/common/directory.js';
import {
getLocationTypeArray
} from '@/common/array.js';

7
pages/productPutaway/job/productPutawayDetail.vue

@ -64,8 +64,13 @@
getCurrDateTime,
navigateBack,
getPackingNumberAndBatch,
getInventoryStatusName,
} from '@/common/basic.js';
import {
getInventoryStatusName,
getInventoryStatusDesc,
getDirectoryItemArray
} from '@/common/directory.js';
import {
getLocationTypeArray
} from '@/common/array.js';

6
pages/productionReturn/request/returnRequestCreate.vue

@ -5,8 +5,8 @@
</view>
<view v-else class="page-wraper">
<view class="page-main">
<comReturnRequestCreator ref="issueRequest" :dataContent="detailSource" :isSwipe ="false">
</comReturnRequestCreator>
<comReturnRequestInfo ref="issueRequest" :dataContent="detailSource" :isSwipe ="false">
</comReturnRequestInfo>
<button class="btn_add" @click="goScan(false)">+去添加</button>
</view>
@ -44,7 +44,7 @@
import comScanReturnPack from '@/pages/productionReturn/coms/comScanReturnPack.vue'
import comMessage from '@/mycomponents/common/comMessage.vue'
import comReturnRequestCreator from '@/pages/productionReturn/coms/comReturnRequestCreator.vue'
import comIssueRequestInfo from '@/pages/issue/coms/comIssueRequestInfo.vue'
export default {
name: '',
components: {

27
pages/purchaseReturn/request/returnRequest.vue

@ -41,9 +41,9 @@
import {
getPurchaseReturnRequestList,
purchaseReturnRequestClose,
purchaseReturnRequestSubmitApprove,
purchaseReturnRequestSubmitApproveAgree,
purchaseReturnRequestSubmitApproveRefused,
purchaseReturnRequestApprove,
purchaseReturnRequestApproveAgree,
purchaseReturnRequestApproveRefused,
purchaseReturnRequestHandle
} from '@/api/request2.js';
import {
@ -215,15 +215,15 @@
})
} else if (text == "提交审批") {
this.showQuestionMessage("确定要审批当前申请吗?",res=>{
this.purchaseReturnRequestSubmitApprove(dataContent.id)
this.purchaseReturnRequestApprove(dataContent.id)
})
} else if (text=="审批通过") {
this.showQuestionMessage("确定要审批通过当前申请吗?",res=>{
this.purchaseReturnRequestSubmitApproveAgree(dataContent.id)
this.purchaseReturnRequestApproveAgree(dataContent.id)
})
} else if (text == "审批驳回") {
this.showQuestionMessage("确定要审批驳回当前申请吗?",res=>{
this.purchaseReturnRequestSubmitApproveRefused(dataContent.id)
this.purchaseReturnRequestApproveRefused(dataContent.id)
})
} else if (text == "关闭") {
this.showQuestionMessage("确定要关闭当前申请吗?",res=>{
@ -290,9 +290,8 @@
},
purchaseReturnRequestSubmitApprove(id) {
purchaseReturnRequestSubmitApprove(id).then(res => {
purchaseReturnRequestApprove(id) {
purchaseReturnRequestApprove(id).then(res => {
if (res.data) {
this.getList("refresh")
uni.showToast({
@ -323,8 +322,8 @@
this.showMessage(error)
})
},
purchaseReturnRequestSubmitApproveAgree(id) {
purchaseReturnRequestSubmitApproveAgree(id).then(res => {
purchaseReturnRequestApproveAgree(id) {
purchaseReturnRequestApproveAgree(id).then(res => {
if (res.data) {
this.getList("refresh")
uni.showToast({
@ -338,8 +337,8 @@
this.showMessage(error)
})
},
purchaseReturnRequestSubmitApproveRefused(id) {
purchaseReturnRequestSubmitApproveRefused(id).then(res => {
purchaseReturnRequestApproveRefused(id) {
purchaseReturnRequestApproveRefused(id).then(res => {
if (res.data) {
this.getList("refresh")
uni.showToast({
@ -354,7 +353,7 @@
})
},
purchaseReturnRequestHandle(id) {
purchaseReturnRequestSubmitApproveRefused(id).then(res => {
purchaseReturnRequestHandle(id).then(res => {
if (res.data) {
this.getList("refresh")
uni.showToast({

8
pages/putaway/job/putawayDetail.vue

@ -183,7 +183,6 @@
} else {
if (res.data.subList.length > 0) {
that.jobContent = res.data;
that.jobContent.outInventoryStatuses='INSP'
that.subList = res.data.subList;
that.detailSource = getDataSource(that.subList)
@ -301,6 +300,7 @@
if (res) {
itemDetail.scaned = true;
itemDetail.handleQty = Number(result.balance.qty) ;
itemDetail.toInventoryStatus =result.balance.inventoryStatus
itemDetail.balance = result.balance;
itemDetail.balance.balanceQty = result.balance.qty;
itemDetail.balance.stdPackQty = result.package.stdPackQty
@ -313,6 +313,7 @@
} else {
itemDetail.scaned = true;
itemDetail.handleQty = Number(result.balance.qty) ;
itemDetail.toInventoryStatus =itemDetail.inventoryStatus
itemDetail.balance = result.balance;
itemDetail.balance.balanceQty = result.balance.qty;
itemDetail.balance.stdPackQty = result.package.stdPackQty
@ -439,8 +440,6 @@
detail.toPackingNumber = info.packingNumber;
detail.toBatch = info.batch;
detail.toContainerNumber = '';
detail.toInventoryStatus = detail.inventoryStatus;
detail.singlePrice = detail.balance.singlePrice;
detail.amount = detail.balance.singlePrice * detail.handleQty;
@ -448,9 +447,6 @@
detail.arriveDate = detail.balance.arriveDate;
detail.produceDate = detail.balance.produceDate;
detail.expireDate = detail.balance.expireDate;
// "arriveDate": 1694591614000,
// "produceDate": 1694591615000,
// "expireDate": 1694591617000,
subList.push(detail)
}
})

12
pages/scrap/coms/comScrapJobCard.vue

@ -3,17 +3,7 @@
<view class="task_item">
<view class="task_text">
<view class="">
发货单号 : {{dataContent.asnNumber}}
</view>
</view>
<view class="task_text">
<view class="">
要货计划单号 : {{dataContent.ppNumber}}
</view>
</view>
<view class="task_text">
<view class="">
供应商名称 : {{dataContent.supplierName}}
申请单号 : {{dataContent.requestNumber}}
</view>
</view>
</view>

52
pages/scrap/job/scrapJobDetail.vue

@ -99,15 +99,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();
// }
if (option.status == "1") {
this.receive((callback => {
this.received = true;
this.getDetail();
}));
} else {
this.getDetail();
}
}
},
//
@ -213,11 +212,11 @@
let itemStatus = getInventoryStatusName(itemDetail.inventoryStatus);
if (itemDetail.inventoryStatus != result.balance.inventoryStatus) {
this.showQuestionMessage('实际库存状态[' + balanceStatus + ']与推荐库存状态[' + itemStatus +
']不一致,是否继续上架?', res => {
']不一致,是否继续出库?', res => {
if (res) {
itemDetail.scaned = true;
itemDetail.handleQty = Number(result.label.qty) > Number(result.balance
.qty) ? Number(result.balance.qty) : Number(result.label.qty);
itemDetail.handleQty = Number(result.label.qty);
itemDetail.inventoryStatus = result.balance.inventoryStatus;
itemDetail.balance = result.balance;
itemDetail.balance.balanceQty = result.balance.qty;
itemDetail.balance.stdPackQty = result.package.stdPackQty
@ -229,8 +228,7 @@
});
} else {
itemDetail.scaned = true;
itemDetail.handleQty = Number(result.label.qty) > Number(result.balance.qty) ? Number(
result.balance.qty) : Number(result.label.qty);
itemDetail.handleQty = Number(result.label.qty);
itemDetail.balance = result.balance;
itemDetail.balance.balanceQty = result.balance.qty;
itemDetail.balance.stdPackQty = result.package.stdPackQty
@ -246,7 +244,6 @@
},
//
continueScan() {
this.scanCount = getScanCount(this.subList);
@ -305,17 +302,17 @@
//
var params = this.setParams()
console.log("提交参数", JSON.stringify(params));
// scrapJobSubmit(params).then(res => {
// uni.hideLoading()
// if (res.data) {
// this.showCommitSuccessMessage("<br>" + res.data )
// } else {
// this.showErrorMessage(""+res.msg)
// }
// }).catch(error => {
// uni.hideLoading()
// this.showErrorMessage(error)
// })
scrapJobSubmit(params).then(res => {
uni.hideLoading()
if (res.data) {
this.showCommitSuccessMessage("提交成功<br>生成报废出库记录<br>" + res.data )
} else {
this.showErrorMessage("提交失败["+res.msg+"]")
}
}).catch(error => {
uni.hideLoading()
this.showErrorMessage(error)
})
},
@ -325,6 +322,11 @@
this.detailSource.forEach(item => {
item.subList.forEach(detail => {
if (detail.scaned) {
detail.toPackingNumber = detail.packingNumber;
detail.toContainerNumber = "";
detail.toInventoryStatus= "";
detail.toLocationCode = "";
detail.toBatch = detail.batch;
subList.push(detail)
}
})

20
pages/scrap/record/scrapRecord.vue

@ -50,7 +50,6 @@
<script>
import {
scrapRequestSubmit,
scrapRecordSubmit
} from '@/api/request2.js';
@ -116,12 +115,9 @@
businessType: {},
reasonList: [],
reason: "",
fromType:""
};
},
onLoad(option) {
this.fromType = option.fromType
if(this.fromType=="requestType"){ updateTitle("报废申请") }else { updateTitle("报废记录") }
this.reasonList = getScarpReasonList();
var typeCode = "Scrap"
getBusinessType(typeCode, res => {
@ -264,21 +260,6 @@
});
if(this.fromType=="requestType"){
var params = this.setRequestParams();
console.log("提交" + JSON.stringify(params))
// scrapRequestSubmit(params).then(res => {
// uni.hideLoading()
// if (res.data) {
// this.showCommitSuccessMessage("<br>" + res.data, )
// } else {
// this.showErrorMessage("[" + res.msg + "]")
// }
// }).catch(error => {
// uni.hideLoading()
// this.showErrorMessage(error)
// })
}else {
// scrapRecordSubmit(params).then(res => {
// uni.hideLoading()
// if (res.data) {
@ -290,7 +271,6 @@
// uni.hideLoading()
// this.showErrorMessage(error)
// })
}
},

385
pages/scrap/request/scrapRequestCreate.vue

@ -0,0 +1,385 @@
<template>
<view class="page-wraper">
<view class="">
<com-blank-view @goScan='showFromLocationPopup' v-if="detailSource.length==0"></com-blank-view>
</view>
<view class="page-wraper" v-if="detailSource.length>0">
<view class="flex u-col-center" style="width: 100%;background-color:#fff;">
<view class="" style="margin-left: 20rpx; font-size: 30rpx;flex-shrink: 0;">报废原因</view>
<view style="width: 100%">
<uni-data-picker style="background-color:#fff;margin-right: 20rpx;" class='uni-data-picker'
placeholder="请选择报废原因" popup-title="报废原因" :localdata="reasonList" @change="reasonChange">
</uni-data-picker>
</view>
</view>
<view class="page-main">
<scroll-view scroll-y="true" class="page-main-scroll">
<view class="detail-list" v-for="(item, index) in detailSource" :key="item.id">
<view class="">
<record-com-detail-card :dataContent="item" :index="index" :settingParam="dataContent"
:isShowLocation="true" @removeItem="removeItem(index,item)" @updateData="updateData"
@removePack="removePack">
</record-com-detail-card>
</view>
<u-line />
</view>
</scroll-view>
</view>
<view class="page-footer">
<view class="uni-flex u-col-center space-between padding_10"
style="background-color:ghostwhite; width: 100%; ">
<view class="">
</view>
<view class=" uni-flex uni-row">
<button class="btn_single_commit" hover-class="btn_commit_after" @click="commit">提交</button>
</view>
</view>
</view>
<win-scan-button @goScan='openScanPopup'></win-scan-button>
</view>
<win-scan-pack-and-location ref="scanPopup" @getResult='getScanResult'></win-scan-pack-and-location>
<comMessage ref="comMessage"></comMessage>
<win-scan-location ref="scanLocationCode" title="来源库位" @getLocation='getLocation'
:locationTypeList="fromlocationTypeList"></win-scan-location>
</view>
</template>
<script>
import {
scrapRequestCreate,
} from '@/api/request2.js';
import {
goHome,
updateTitle,
getCurrDateOneMonthsTimes,
navigateBack
} from '@/common/basic.js';
import {
getInventoryStatusDesc,
getDirectoryItemArray,
getScarpReasonList
} from '@/common/directory.js';
import {
getBusinessType,
createItemInfo,
createDetailInfo,
calcHandleQty
} from '@/common/record.js';
import winScanButton from '@/mycomponents/scan/winScanButton.vue'
import winScanPack from '@/mycomponents/scan/winScanPack.vue'
import requiredLocation from '@/mycomponents/location/requiredLocation.vue'
import comBlankView from '@/mycomponents/common/comBlankView.vue'
import winScanLocation from "@/mycomponents/scan/winScanLocation.vue"
import comMessage from '@/mycomponents/common/comMessage.vue'
import winScanPackAndLocation from "@/mycomponents/scan/winScanPackAndLocation.vue"
import recordComDetailCard from '@/mycomponents/record/recordComDetailCard.vue'
export default {
components: {
winScanButton,
winScanPack,
requiredLocation,
comBlankView,
winScanLocation,
comMessage,
winScanPackAndLocation,
recordComDetailCard
},
data() {
return {
id: '',
receiptJob: {},
received: false,
isShowPackingCode: true,
scanCount: 0,
dataContent: {}, //
subList: [], //subList
detailSource: [], //
locationTypeList: [],
fromLocationInfo: {},
fromLocationCode: "",
isShowLocation: false,
fromlocationTypeList: [],
tolocationTypeList: [],
allowModifyLocation: false,
inInventoryStatus: "", //
outInventoryStatus: "", //
businessType: {},
reasonList: [],
reasonText: "",
};
},
onLoad(option) {
this.reasonList = getScarpReasonList();
var typeCode = "Scrap"
getBusinessType(typeCode, res => {
if (res.success) {
this.businessType = res.businessType;
this.fromlocationTypeList = res.fromlocationTypeList;
this.tolocationTypeList = res.tolocationTypeList;
this.showFromLocationPopup();
} else {
this.$refs.comMessage.showBreakMessage(res.message);
}
});
},
//
onNavigationBarButtonTap(e) {
if (e.index === 0) {
goHome();
}
},
//
onBackPress(e) {},
onPullDownRefresh() {},
mounted() {
},
methods: {
getScanResult(result) {
let balance = result.balance;
let label = result.label;
let pack = result.package;
var item = this.detailSource.find(res => {
if (res.itemCode == balance.itemCode) {
return res
}
})
if (item == undefined) {
var itemp = createItemInfo(balance, pack);
let newDetail = createDetailInfo(balance, pack); //
itemp.subList.push(newDetail);
this.detailSource.push(itemp)
} else {
var detail = item.subList.find(r => {
if (r.packingNumber == balance.packingNumber &&
r.batch == balance.batch &&
r.locationCode == balance.locationCode &&
r.inventoryStatus == balance.inventoryStatus) {
return r;
}
})
if (detail == undefined) {
let newDetail = createDetailInfo(balance, pack);
item.subList.push(newDetail);
} else {
if (detail.scaned == true) {
this.showErrorMessage("箱码[" + balance.packingNumber + "批次[" + balance.batch + "]已经在列表中")
}
}
}
this.calcHandleQty();
},
showErrorMessage(message) {
this.$refs.comMessage.showErrorMessage(message, res => {
if (res) {
}
});
},
calcHandleQty() {
calcHandleQty(this.detailSource)
this.$forceUpdate();
},
updateData() {
this.calcHandleQty();
},
removeItem(index, item) {
this.detailSource.splice(index, 1)
},
removePack() {
for (var i = 0; i < this.detailSource.length; i++) {
var item = this.detailSource[i];
if (item.subList.length == 0) {
this.detailSource.splice(i, 1)
}
}
this.updateData();
},
openScanPopup() {
if (this.fromLocationCode == "") {
this.showFromLocationPopup();
return
}
this.$refs.scanPopup.openScanPopupForType(this.fromLocationCode, this.businessType);
},
showFromLocationPopup() {
this.$nextTick(() => {
this.$refs.scanLocationCode.openScanPopup();
})
},
closeScanPopup() {
this.$refs.scanPopup.closeScanPopup();
},
scanPopupGetFocus() {
this.$refs.scanPopup.getfocus();
},
commit() {
if (this.reasonText == "") {
this.showMessage("请先选择报废原因")
return;
}
if (this.detailSource.length == 0) {
this.showErrorMessage("请先扫描数据")
return;
}
//
uni.showLoading({
title: "提交中....",
mask: true
});
var params = this.setRequestParams();
console.log("提交" + JSON.stringify(params))
scrapRequestCreate(params).then(res => {
uni.hideLoading()
if (res.data) {
this.showCommitSuccessMessage("提交成功<br>生成报废出库申请<br>" + res.data, )
} else {
this.showErrorMessage("提交失败[" + res.msg + "]")
}
}).catch(error => {
uni.hideLoading()
this.showErrorMessage(error)
})
},
setRequestParams() {
var subList = []
this.detailSource.forEach(item => {
item.subList.forEach(detail => {
if (detail.scaned) {
detail.fromLocationCode = detail.locationCode
subList.push(detail)
}
})
})
this.dataContent.subList = subList
this.dataContent.status = 1;
this.dataContent.fromWarehouseCode = "W1";
this.dataContent.dueTime = getCurrDateOneMonthsTimes();
return this.dataContent;
},
showMessage(message) {
this.$refs.comMessage.showMessage(message, res => {
if (res) {}
});
},
showErrorMessage(message) {
this.$refs.comMessage.showErrorMessage(message, res => {
if (res) {
}
});
},
showScanMessage(message) {
this.$refs.comMessage.showScanMessage(message);
},
afterCloseMessage() {
this.scanPopupGetFocus();
},
closeScanMessage() {
this.scanPopupGetFocus();
},
getLocation(location, code) {
this.getFromLocationCode(location, code)
},
getFromLocationCode(location, code) {
this.fromLocationInfo = location;
this.fromLocationCode = code;
this.openScanPopup();
},
showCommitSuccessMessage(hint) {
this.$refs.comMessage.showSuccessMessage(hint, res => {
navigateBack(1)
})
},
updateData() {
this.calcHandleQty();
for (var i = 0; i < this.detailSource.length; i++) {
let item = this.detailSource[i];
if (item.qty == 0) {
this.detailSource.splice(i, 1)
}
}
},
reasonChange(e) {
if (e.detail.value.length == 0) {
this.reasonCode = ""
this.reasonText = ""
} else {
this.reasonCode = e.detail.value[0].value
this.reasonText = e.detail.value[0].text
}
}
}
}
</script>
<style scoped lang="scss">
page {
width: 100%;
height: 100%;
background-color: #fff;
}
.page-wraper {
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
}
.page-main {
flex: 1;
position: relative;
}
.page-main-scroll {
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
}
.page-main-list {
/* height: 80rpx;
line-height: 80rpx; */
text-align: center;
background: #e0e0e0;
}
</style>

129
pages/scrap/request/scrapRrequest.vue

@ -34,11 +34,13 @@
updateTitle
} from '@/common/basic.js';
import {
getBusinessType,
} from '@/common/record.js';
import {
getScrapRequestList,
scrapRequestApprove,
scrapRequestClose,
scrapRequestApproveAgree,
scrapRequestApproveRefused,
scrapRequestHandle
} from '@/api/request2.js';
import {
getDetailOption,
@ -112,7 +114,6 @@
},
methods: {
requestConfirm(action, item) {},
openRequestInfoPopup(item) {
this.$refs.requestInfoPopup.openPopup(item)
@ -195,27 +196,45 @@
openScanDetailPopup() {
uni.navigateTo({
url: "../record/scrapRecord?fromType=" + this.fromType
url: "./scrapRequestCreate"
})
},
swipeClick(e, dataContent) {
if (e.content.text == "详情") {
console.log("详情", dataContent.id)
var text = clearTirmAndWrap(e.content.text)
if (text == "详情") {
this.openRequestInfoPopup(dataContent);
} else if (e.content.text == "处理") {
console.log("处理")
} else if (e.content.text == "审批") {
console.log("审批")
} else if (e.content.text == "审批通过") {
console.log("审批通过")
} else if (e.content.text == "审批驳回") {
console.log("审批驳回")
} else if (e.content.text == "关闭") {
console.log("关闭")
} else if (text == "处理") {
this.showQuestionMessage("确定要处理当前申请吗?",res=>{
this.scrapRequestHandle(dataContent.id)
})
} else if (text == "提交审批") {
this.showQuestionMessage("确定要审批当前申请吗?",res=>{
this.scrapRequestApprove(dataContent.id)
})
} else if (text == "审批通过") {
this.showQuestionMessage("确定要审批通过当前申请吗?",res=>{
this.scrapRequestApproveAgree(dataContent.id)
})
} else if (text == "审批驳回") {
this.showQuestionMessage("确定要审批驳回当前申请吗?",res=>{
this.scrapRequestApproveRefused(dataContent.id)
})
} else if (text == "关闭") {
this.showQuestionMessage("确定要关闭当前申请吗?",res=>{
this.scrapRequestClose(dataContent.id)
})
}
},
showQuestionMessage(hint,callBack){
this.$refs.comMessage.showQuestionMessage(hint,
res => {
if (res) {
callBack()
}
});
},
switchChangeWait(state, jobStatus) {
this.checkedWaitTask = state;
@ -265,7 +284,83 @@
}
});
},
scrapRequestApprove(id) {
scrapRequestApprove(id).then(res => {
if (res.data) {
this.getList("refresh")
uni.showToast({
title: "申请提交审批成功"
})
} else {
this.showMessage("申请提交审批失败")
}
}).catch(error => {
this.showMessage(error)
})
},
scrapRequestClose(id) {
scrapRequestClose(id).then(res => {
if (res.data) {
this.getList("refresh")
uni.showToast({
title: "申请关闭成功"
})
} else {
this.showMessage("申请关闭失败")
}
}).catch(error => {
this.showMessage(error)
})
},
scrapRequestApproveAgree(id) {
scrapRequestApproveAgree(id).then(res => {
if (res.data) {
this.getList("refresh")
uni.showToast({
title: "申请审批通过成功"
})
} else {
this.showMessage("申请审批通过失败")
}
}).catch(error => {
this.showMessage(error)
})
},
scrapRequestApproveRefused(id) {
scrapRequestApproveRefused(id).then(res => {
if (res.data) {
this.getList("refresh")
uni.showToast({
title: "申请审批驳回成功"
})
} else {
this.showMessage("申请审批驳回失败")
}
}).catch(error => {
this.showMessage(error)
})
},
scrapRequestHandle(id) {
scrapRequestHandle(id).then(res => {
if (res.data) {
this.getList("refresh")
uni.showToast({
title: "申请处理成功"
})
} else {
this.showMessage("申请处理失败")
}
}).catch(error => {
this.showMessage(error)
})
},
}
}
</script>

254
pages/unPlanned/coms/comReceiptRequestPopup.vue

@ -0,0 +1,254 @@
<template>
<view class="">
<uni-popup ref="popup" :maskClick="false">
<view class="uni-flex uni-column pop_customer">
<view class="" style="padding:10rpx">
<view class="uni-flex u-col-center uni-row space-between" style="padding: 10rpx 10rpx 20rpx 10rpx">
<view class="" style="font-size: 35rpx;">
{{title}}
</view>
<image style="width: 35rpx;height: 35rpx;" src="/static/icons/icons_close.svg"
@click="closeRequestPopup()"></image>
</view>
<u-line />
<view class="uni-flex uni-column" style="background-color: white; ">
<view class="uni-flex uni-column ">
<view class="title padding" style="display: flex;">
<text style=" flex-shrink: 0;">库位</text>
<view class="" style="width: 100% ;">
{{toLocationCode}}
</view>
<view class="" v-if="editPosition">
<image src="/static/search.svg" mode=""
style=" width: 40rpx;height: 40rpx;margin-left: 20rpx;"
@click="locationCodeClick">
</image>
</view>
</view>
<u-line />
<view class="title padding" style="display: flex;">
<text style=" flex-shrink: 0;">物料</text>
<view class="" style="width: 100% ;">
{{itemCode}}
</view>
<view class="">
<image src="/static/search.svg" mode=""
style=" width: 40rpx;height: 40rpx;margin-left: 20rpx;" @click="itemCodeClick">
</image>
</view>
</view>
<u-line />
<view class="uni-flex uni-row padding title u-col-center">
<text>数量 : </text>
<view class="uni-flex uni-row uni-center"
style="align-items: center;margin-left: 20rpx;">
<uni-number-box :value="counQty" @change="change" style='margin-left: 10rpx;'
:focus="numberFocus" @blur='numberFocus = false'>
</uni-number-box>
<uom :uom="uom"></uom>
</view>
</view>
<u-line />
</view>
</view>
</view>
<view class="uni-flex uni-row hide_border">
<button class="btn_edit_big_cancle" hover-class="btn_edit_big_after" @click="cancel()">取消</button>
<button class="btn_edit_big_confirm" hover-class="btn_edit_big_after" @click="confirm()">确认</button>
</view>
</view>
</uni-popup>
<win-scan-item ref="itemPopup" title='物料代码' @getScanCode='getItemCode'>
</win-scan-item>
<winScanLocation ref="locationPopup" title="库位代码" @getLocation='getLocationCode'></winScanLocation>
<comMessage ref="comMessage"></comMessage>
</view>
</template>
<script>
import {
getBasicItemByCode,
} from '@/api/request2.js';
import {
getLocationTypeName,
getListLocationTypeDesc,
checkDirectoryItemExist
} from '@/common/directory.js';
import uom from '@/mycomponents/qty/uom.vue'
import balanceStatus from '@/mycomponents/status/balanceStatus.vue'
import comMessage from '@/mycomponents/common/comMessage.vue'
import winScanItem from '@/mycomponents/scan/winScanItem.vue'
import winScanLocation from '@/mycomponents/scan/winScanLocation.vue'
export default {
components: {
uom,
balanceStatus,
comMessage,
winScanItem,
winScanLocation
},
data() {
return {
itemCode: '请扫描物料信息',
itemName: "",
qty: 0,
itemCodeFocus: false,
requestInfo: null,
isCheckItemCode: false,
counQty: 0,
numberFocus: false,
uom: "",
show: false,
isModifiedPosition: true,
positionList: [],
toLocationCode: '请扫描库位信息',
isCheckLocationCode: false,
editPosition: true,
}
},
props: {
title: {
type: String,
default: '申请信息'
},
},
methods: {
openRequestPopup(editPosition) {
this.editPosition = editPosition;
if (!editPosition) {
this.itemCode = "";
this.uom = ""
this.qty = 0
this.itemCodeGetFocus();
}
this.$refs.popup.open('bottom')
},
closeRequestPopup() {
this.$refs.popup.close()
},
locationConfirm() {
//
this.checkLocatioCode();
},
itemCodeClick() {
this.$refs.itemPopup.openScanPopup();
},
locationCodeClick() {
this.$refs.locationPopup.openScanPopup();
},
itemCodeGetFocus() {
this.itemCodeFocus = true;
},
itemCodeLoseFocus() {
this.itemCodeFocus = false;
},
selectedItem(item) {
this.itemCode = item.itemCode;
this.checkItemCode();
},
confirm() {
if (this.toLocationCode == "") {
this.showErrorMessage("请输入库位", "locationCode")
return
}
if (this.itemCode == "" || !this.isCheckItemCode) {
this.showErrorMessage("请输入物料", "itemCode")
return
}
if (this.qty == 0) {
this.showErrorMessage("数量必须大于0")
return
}
this.callback('add');
},
checkItemCode(itemCode) {
//
getBasicItemByCode(itemCode).then(res => {
uni.hideLoading();
this.$refs.itemPopup.closeScanPopup();
if (res.data != null && res.data.list.length > 0) {
this.itemCode = res.data.list[0].code;
this.itemName = res.data.list[0].name
this.isCheckItemCode = true;
this.numberFocus = true
this.uom = res.data.list[0].uom
} else {
this.showErrorMessage('未查找到物料【' + itemCode + '】', "itemCode");
}
}).catch(error => {
uni.hideLoading();
this.showErrorMessage(error, "itemCode");
})
},
callback(action) {
let item = {
toLocationCode: this.toLocationCode,
itemCode: this.itemCode,
itemName: this.itemName,
uom: this.uom,
qty: this.qty
};
this.closeRequestPopup();
this.$emit("confirm", action, item);
},
showErrorMessage(message, type) {
setTimeout(r => {
this.$refs.comMessage.showErrorMessage(message, res => {
if (type == "itemCode") {
this.itemCodeGetFocus();
} else {
this.numberFocus = true;
}
})
// if (type == "itemCode") {
// this.itemCode = ""
// this.isCheckItemCode = false;
// }
})
},
change(value) {
this.qty = value;
},
cancel(e) {
this.closeRequestPopup();
},
getItemCode(code) {
if (code == "") {
this.showErrorMessage('物料号不能为空')
return;
}
this.itemCode = "";
this.checkItemCode(code)
},
getLocationCode(location, code) {
this.toLocationCode = code;
},
}
}
</script>
<style lang="scss">
.title {
font-size: 30rpx;
}
</style>

42
pages/unPlanned/job/receiptJobDetail.vue

@ -104,15 +104,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();
// }
if (option.status == "1") {
this.receive((callback => {
this.received = true;
this.getDetail();
}));
} else {
this.getDetail();
}
}
},
//
@ -278,7 +277,7 @@
checkLocation() {
var isPass = true;
if (this.toLocationCode == "" || this.toLocationCode == null) {
this.showMessageHint('请扫描收货库位', callback => {
this.showMessageHint('请扫描目标库位', callback => {
this.$refs.comScanLocation.showLocation();
})
@ -311,17 +310,18 @@
this.managementList = res.list;
var params = this.setParams()
console.log("提交参数", JSON.stringify(params));
// unPlannedReceiptJobSubmit(params).then(res => {
// if (res.data) {
// this.showCommitSuccessMessage("<br>" + res.data)
// } else {
// this.showErrorMessage("[" + res.msg + "]")
// }
// uni.hideLoading()
// }).catch(error => {
// uni.hideLoading()
// this.showErrorMessage(error)
// })
unPlannedReceiptJobSubmit(params).then(res => {
uni.hideLoading()
if (res.data) {
this.showCommitSuccessMessage("提交成功<br>生成计划外入库记录<br>" + res.data)
} else {
this.showErrorMessage("提交失败[" + res.msg + "]")
}
}).catch(error => {
uni.hideLoading()
this.showErrorMessage(error)
})
} else {
uni.hideLoading();
this.showErrorMessage(res.message);
@ -340,6 +340,8 @@
detail.packingNumber, detail.batch);
detail.toPackingNumber = info.packingNumber;
detail.toBatch = info.batch;
detail.toLocationCode = this.toLocationCode
detail.toContainerNumber = '';
subList.push(detail)
}
})

53
pages/unPlanned/record/issueRecord.vue

@ -51,7 +51,6 @@
import comMessage from '@/mycomponents/common/comMessage.vue'
import recordComDetailCard from '@/mycomponents/record/recordComDetailCard.vue'
import {
unPlannedIssueRequestSubmit,
unPlannedIssueRecordSubmit
} from '@/api/request2.js';
@ -102,7 +101,6 @@
detailSource: [], //
reason: "",
reasonList: [],
fromType: "",
dataContent:{}
}
},
@ -121,12 +119,6 @@
},
onLoad(option) {
this.fromType = option.fromType
if (this.fromType == "requestType") {
updateTitle("计划外出库申请")
} else {
updateTitle("计划外出库记录")
}
},
methods: {
@ -223,24 +215,7 @@
this.showErrorMessage("请选择出库原因")
return;
}
if(this.fromType=="requestType"){
var params = this.setRequestParams();
console.log("提交参数",JSON.stringify(params));
// unPlannedIssueRequestSubmit(params).then(res => {
// uni.hideLoading()
// if (res.data) {
// this.showCommitSuccessMessage("<br>" + res.data, )
// } else {
// this.showErrorMessage("[" + res.msg + "]")
// }
// }).catch(error => {
// uni.hideLoading()
// this.showErrorMessage(error)
// })
}else {
var params =this.setParams()
// unPlannedIssueRecordSubmit(params).then(res => {
// uni.hideLoading()
// if (res.data) {
@ -252,7 +227,6 @@
// uni.hideLoading()
// this.showErrorMessage(error)
// })
}
},
setParams() {
@ -271,31 +245,6 @@
return subList;
},
setRequestParams(){
var subList = []
var supplierCode=""
this.detailSource.forEach(item => {
item.subList.forEach(detail => {
if (detail.scaned) {
if(supplierCode==""){
supplierCode = detail.package.supplierCode
}
subList.push(detail)
}
})
})
this.dataContent.subList = subList
this.dataContent.supplierCode = supplierCode
this.dataContent.businessType = "PurchasePutaway"
this.dataContent.departmentCode= "研发部门";
this.dataContent.status= 1 ;
this.dataContent.autoCommit = "FALSE";
this.dataContent.autoAgree = "FALSE";
this.dataContent.autoExecute = "FALSE";
this.dataContent.directCreateRecord = "FALSE";
return this.dataContent;
},
}
}
</script>

55
pages/unPlanned/record/receiptRecord.vue

@ -52,7 +52,6 @@
import comMessage from '@/mycomponents/common/comMessage.vue'
import {
unPlannedReceiptRequestbSubmit,
unPlannedReceiptRecordbSubmit
} from '@/api/request2.js';
@ -99,7 +98,6 @@
businessTypeCode: "UnplannedReceipt",
reason: "",
reasonList: [],
fromType: "",
showToLoaction:true,
dataContent:{}
}
@ -120,20 +118,9 @@
},
onLoad(option) {
this.fromType = option.fromType
this.updateTitle();
},
methods: {
updateTitle(){
if (this.fromType == "requestType") {
updateTitle("计划外入库申请")
this.showToLoaction =false
} else {
updateTitle("计划外入库记录")
this.showToLoaction =true
}
},
openScanPopup() {
this.$refs.scanPopup.openScanPopup();
},
@ -249,21 +236,6 @@
return;
}
if(this.fromType=="requestType"){
var params = this.setRequestParams()
console.log("提交" + JSON.stringify(params))
// unPlannedReceiptRequestbSubmit(params).then(res => {
// uni.hideLoading()
// if (res.data) {
// this.showCommitSuccessMessage("<br>" + res.data, )
// } else {
// this.showErrorMessage("[" + res.msg + "]")
// }
// }).catch(error => {
// uni.hideLoading()
// this.showErrorMessage(error)
// })
}else {
//
var itemCodes = []
this.detailSource.forEach(item => {
@ -292,7 +264,6 @@
this.showErrorMessage(res.message);
}
});
}
},
setParams(queryModel) {
@ -328,32 +299,6 @@
return this.dataContent;
},
setRequestParams(){
var subList = []
var supplierCode=""
this.detailSource.forEach(item => {
item.subList.forEach(detail => {
if (detail.scaned) {
if(supplierCode==""){
supplierCode = detail.package.supplierCode
}
subList.push(detail)
}
})
})
this.dataContent.subList = subList
this.dataContent.supplierCode = supplierCode
this.dataContent.businessType = "PurchasePutaway"
this.dataContent.departmentCode= "研发部门";
this.dataContent.status= 1 ;
this.dataContent.autoCommit = "FALSE";
this.dataContent.autoAgree = "FALSE";
this.dataContent.autoExecute = "FALSE";
this.dataContent.directCreateRecord = "FALSE";
return this.dataContent;
},
}
}
</script>

128
pages/unPlanned/request/issueRequest.vue

@ -33,13 +33,19 @@
import {
goHome,
updateTitle
updateTitle,
clearTirmAndWrap
} from '@/common/basic.js';
import {
getBusinessType,
} from '@/common/record.js';
import {
getUnPlannedIssueRequestList,
unPlannedIssueRequestApprove,
unPlannedIssueRequestClose,
unPlannedIssueRequestApproveAgree,
unPlannedIssueRequestApproveRefused,
unPlannedIssueRequestHandle
} from '@/api/request2.js';
import {
getDetailOption,
@ -204,20 +210,38 @@
},
swipeClick(e, dataContent) {
if (e.content.text == "详情") {
console.log("详情", dataContent.id)
var text = clearTirmAndWrap(e.content.text)
if (text == "详情") {
this.openRequestInfoPopup(dataContent);
} else if (e.content.text == "处理") {
console.log("处理")
} else if (e.content.text == "审批") {
console.log("审批")
} else if (e.content.text == "审批通过") {
console.log("审批通过")
} else if (e.content.text == "审批驳回") {
console.log("审批驳回")
} else if (e.content.text == "关闭") {
console.log("关闭")
} else if (text == "处理") {
this.showQuestionMessage("确定要处理当前申请吗?",res=>{
this.unPlannedIssueRequestHandle(dataContent.id)
})
} else if (text == "提交审批") {
this.showQuestionMessage("确定要审批当前申请吗?",res=>{
this.unPlannedIssueRequestApprove(dataContent.id)
})
} else if (text == "审批通过") {
this.showQuestionMessage("确定要审批通过当前申请吗?",res=>{
this.unPlannedIssueRequestApproveAgree(dataContent.id)
})
} else if (text == "审批驳回") {
this.showQuestionMessage("确定要审批驳回当前申请吗?",res=>{
this.unPlannedIssueRequestApproveRefused(dataContent.id)
})
} else if (text == "关闭") {
this.showQuestionMessage("确定要关闭当前申请吗?",res=>{
this.unPlannedIssueRequestClose(dataContent.id)
})
}
},
showQuestionMessage(hint,callBack){
this.$refs.comMessage.showQuestionMessage(hint,
res => {
if (res) {
callBack()
}
});
},
switchChangeWait(state, jobStatus) {
this.checkedWaitTask = state;
@ -268,6 +292,84 @@
});
},
unPlannedIssueRequestApprove(id) {
unPlannedIssueRequestApprove(id).then(res => {
if (res.data) {
this.getList("refresh")
uni.showToast({
title: "申请提交审批成功"
})
} else {
this.showMessage("申请提交审批失败")
}
}).catch(error => {
this.showMessage(error)
})
},
unPlannedIssueRequestClose(id) {
unPlannedIssueRequestClose(id).then(res => {
if (res.data) {
this.getList("refresh")
uni.showToast({
title: "申请关闭成功"
})
} else {
this.showMessage("申请关闭失败")
}
}).catch(error => {
this.showMessage(error)
})
},
unPlannedIssueRequestApproveAgree(id) {
unPlannedIssueRequestApproveAgree(id).then(res => {
if (res.data) {
this.getList("refresh")
uni.showToast({
title: "申请审批通过成功"
})
} else {
this.showMessage("申请审批通过失败")
}
}).catch(error => {
this.showMessage(error)
})
},
unPlannedIssueRequestApproveRefused(id) {
unPlannedIssueRequestApproveRefused(id).then(res => {
if (res.data) {
this.getList("refresh")
uni.showToast({
title: "申请审批驳回成功"
})
} else {
this.showMessage("申请审批驳回失败")
}
}).catch(error => {
this.showMessage(error)
})
},
unPlannedIssueRequestHandle(id) {
unPlannedIssueRequestHandle(id).then(res => {
if (res.data) {
this.getList("refresh")
uni.showToast({
title: "申请处理成功"
})
} else {
this.showMessage("申请处理失败")
}
}).catch(error => {
this.showMessage(error)
})
},
}
}
</script>

141
pages/unPlanned/request/issueRequestCreate.vue

@ -4,11 +4,17 @@
<com-blank-view @goScan='showFromLocationPopup' v-if="detailSource.length==0"></com-blank-view>
</view>
<view class="page-wraper" v-if="detailSource.length>0">
<view class="page-main">
<scroll-view scroll-y="true" class="page-main-scroll">
<uni-data-picker style="padding: 20rpx; background-color:#fff;" class='uni-data-picker'
placeholder="请选择出库原因" popup-title="出库原因" :localdata="reasonList" v-model="reason">
<view class="flex u-col-center" style="width: 100%;background-color:#fff;">
<view class="" style="margin-left: 20rpx; font-size: 30rpx;flex-shrink: 0;">出库原因</view>
<view style="width: 100%">
<uni-data-picker style="background-color:#fff;margin-right: 20rpx;" class='uni-data-picker'
placeholder="请选择出库原因" popup-title="出库原因" :localdata="reasonList" @change="reasonChange">
</uni-data-picker>
</view>
</view>
<view class="page-main" >
<scroll-view scroll-y="true" class="page-main-scroll">
<view class="detail-list" v-for="(item, index) in detailSource" :key="item.id">
<view class="">
<record-com-detail-card :dataContent="item" :index="index"
@ -51,8 +57,7 @@
import comMessage from '@/mycomponents/common/comMessage.vue'
import recordComDetailCard from '@/mycomponents/record/recordComDetailCard.vue'
import {
unPlannedIssueRequestSubmit,
unPlannedIssueRecordSubmit
unPlannedIssueRequestCreate,
} from '@/api/request2.js';
import {
@ -76,7 +81,10 @@
import {
goHome,
updateTitle
updateTitle,
getCurrDateTimes,
getCurrDateOneMonthsTimes,
navigateBack
} from '@/common/basic.js';
export default {
@ -100,14 +108,19 @@
toInventoryStatus: [],
businessType: {}, //
detailSource: [], //
reason: "",
reasonText: "",
reasonCode: "",
reasonList: [],
fromType: "",
dataContent:{}
dataContent: {},
}
},
mounted() {
},
onLoad(option) {
this.reasonList = getUnPlannedIssuseReasonList()
var typeCode = "UnplannedDeliver"
getBusinessType(typeCode, res => {
if (res.success) {
@ -118,15 +131,7 @@
this.$refs.comMessage.showBreakMessage(res.message);
}
});
},
onLoad(option) {
this.fromType = option.fromType
if (this.fromType == "requestType") {
updateTitle("计划外出库申请")
} else {
updateTitle("计划外出库记录")
}
},
methods: {
@ -219,83 +224,71 @@
this.detailSource.splice(index, 1)
},
commit() {
if (this.reason == '') {
if (this.reasonText == '') {
this.showErrorMessage("请选择出库原因")
return;
}
if(this.fromType=="requestType"){
var params = this.setRequestParams();
console.log("提交参数",JSON.stringify(params));
// unPlannedIssueRequestSubmit(params).then(res => {
// uni.hideLoading()
// if (res.data) {
// this.showCommitSuccessMessage("<br>" + res.data, )
// } else {
// this.showErrorMessage("[" + res.msg + "]")
// }
// }).catch(error => {
// uni.hideLoading()
// this.showErrorMessage(error)
// })
}else {
// unPlannedIssueRecordSubmit(params).then(res => {
// uni.hideLoading()
// if (res.data) {
// this.showCommitSuccessMessage("<br>" + res.data, )
// } else {
// this.showErrorMessage("[" + res.msg + "]")
// }
// }).catch(error => {
// uni.hideLoading()
// this.showErrorMessage(error)
// })
if(this.detailSource.length==0){
this.showErrorMessage("请先扫描数据")
return;
}
},
setParams() {
var subList = []
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)
uni.showLoading({
title: "提交中....",
mask: true
});
var params = this.setRequestParams();
console.log("提交参数", JSON.stringify(params));
unPlannedIssueRequestCreate(params).then(res => {
uni.hideLoading()
if (res.data) {
this.showCommitSuccessMessage("提交成功<br>生成计划外出库申请<br>" + res.data)
} else {
this.showErrorMessage("提交失败[" + res.msg + "]")
}
}).catch(error => {
uni.hideLoading()
this.showErrorMessage(error)
})
})
return subList;
},
setRequestParams(){
setRequestParams() {
var subList = []
var supplierCode=""
this.detailSource.forEach(item => {
item.subList.forEach(detail => {
if (detail.scaned) {
if(supplierCode==""){
supplierCode = detail.package.supplierCode
}
detail.fromLocationCode = detail.locationCode;
detail.reason = this.reasonCode;
detail.containerNumber ="";
subList.push(detail)
}
})
})
this.dataContent.subList = subList
this.dataContent.supplierCode = supplierCode
this.dataContent.businessType = "PurchasePutaway"
this.dataContent.departmentCode= "研发部门";
this.dataContent.status= 1 ;
this.dataContent.autoCommit = "FALSE";
this.dataContent.autoAgree = "FALSE";
this.dataContent.autoExecute = "FALSE";
this.dataContent.directCreateRecord = "FALSE";
this.dataContent.status = 1;
this.dataContent.requestTime = getCurrDateTimes();
this.dataContent.dueTime = getCurrDateOneMonthsTimes();
return this.dataContent;
},
showCommitSuccessMessage(hint) {
this.$refs.comMessage.showSuccessMessage(hint, res => {
navigateBack(1)
})
},
reasonChange(e) {
if (e.detail.value.length == 0) {
this.reasonCode = ""
this.reasonText = ""
} else {
this.reasonCode = e.detail.value[0].value
this.reasonText = e.detail.value[0].text
}
}
}
}
</script>

131
pages/unPlanned/request/receiptRequest.vue

@ -35,11 +35,17 @@
} from '@/common/record.js';
import {
goHome,
updateTitle
updateTitle,
clearTirmAndWrap
} from '@/common/basic.js';
import {
getUnPlannedReceiptRequestList,
unPlannedReceiptRequestApprove,
unPlannedReceiptRequestClose,
unPlannedReceiptRequestApproveAgree,
unPlannedReceiptRequestApproveRefused,
unPlannedReceiptRequestHandle
} from '@/api/request2.js';
import {
getDetailOption,
@ -197,27 +203,45 @@
openScanDetailPopup() {
uni.navigateTo({
url: "./receiptRequest?fromType=" + this.fromType
url: "./receiptRequestCreate"
})
},
swipeClick(e, dataContent) {
if (e.content.text == "详情") {
console.log("详情", dataContent.id)
var text = clearTirmAndWrap(e.content.text)
if (text == "详情") {
this.openRequestInfoPopup(dataContent);
} else if (e.content.text == "处理") {
console.log("处理")
} else if (e.content.text == "审批") {
console.log("审批")
} else if (e.content.text == "审批通过") {
console.log("审批通过")
} else if (e.content.text == "审批驳回") {
console.log("审批驳回")
} else if (e.content.text == "关闭") {
console.log("关闭")
} else if (text == "处理") {
this.showQuestionMessage("确定要处理当前申请吗?",res=>{
this.unPlannedReceiptRequestHandle(dataContent.id)
})
} else if (text == "提交审批") {
this.showQuestionMessage("确定要审批当前申请吗?",res=>{
this.unPlannedReceiptRequestApprove(dataContent.id)
})
} else if (text == "审批通过") {
this.showQuestionMessage("确定要审批通过当前申请吗?",res=>{
this.unPlannedReceiptRequestApproveAgree(dataContent.id)
})
} else if (text == "审批驳回") {
this.showQuestionMessage("确定要审批驳回当前申请吗?",res=>{
this.unPlannedReceiptRequestApproveRefused(dataContent.id)
})
} else if (text == "关闭") {
this.showQuestionMessage("确定要关闭当前申请吗?",res=>{
this.unPlannedReceiptRequestClose(dataContent.id)
})
}
},
showQuestionMessage(hint,callBack){
this.$refs.comMessage.showQuestionMessage(hint,
res => {
if (res) {
callBack()
}
});
},
switchChangeWait(state, jobStatus) {
this.checkedWaitTask = state;
this.status = jobStatus;
@ -266,6 +290,83 @@
}
});
},
unPlannedReceiptRequestApprove(id) {
unPlannedReceiptRequestApprove(id).then(res => {
if (res.data) {
this.getList("refresh")
uni.showToast({
title: "申请提交审批成功"
})
} else {
this.showMessage("申请提交审批失败")
}
}).catch(error => {
this.showMessage(error)
})
},
unPlannedReceiptRequestClose(id) {
unPlannedReceiptRequestClose(id).then(res => {
if (res.data) {
this.getList("refresh")
uni.showToast({
title: "申请关闭成功"
})
} else {
this.showMessage("申请关闭失败")
}
}).catch(error => {
this.showMessage(error)
})
},
unPlannedReceiptRequestApproveAgree(id) {
unPlannedReceiptRequestApproveAgree(id).then(res => {
if (res.data) {
this.getList("refresh")
uni.showToast({
title: "申请审批通过成功"
})
} else {
this.showMessage("申请审批通过失败")
}
}).catch(error => {
this.showMessage(error)
})
},
unPlannedReceiptRequestApproveRefused(id) {
unPlannedReceiptRequestApproveRefused(id).then(res => {
if (res.data) {
this.getList("refresh")
uni.showToast({
title: "申请审批驳回成功"
})
} else {
this.showMessage("申请审批驳回失败")
}
}).catch(error => {
this.showMessage(error)
})
},
unPlannedReceiptRequestHandle(id) {
unPlannedReceiptRequestHandle(id).then(res => {
if (res.data) {
this.getList("refresh")
uni.showToast({
title: "申请处理成功"
})
} else {
this.showMessage("申请处理失败")
}
}).catch(error => {
this.showMessage(error)
})
},
}
}

215
pages/unPlanned/request/receiptRequestCreate.vue

@ -1,7 +1,222 @@
<template>
<view class="page-wraper">
<view class="" v-if='detailSource.subList.length==0'>
<com-blank-view @goScan='goScan(true)'></com-blank-view>
</view>
<view v-else class="page-wraper">
<view class="page-main">
<view class="">
<view class="" style="margin-left: 20rpx; margin-top: 20rpx;margin-bottom:20rpx;font-size: 30rpx;">
目标库位{{detailSource.toLocationCode}}
</view>
<view class="flex u-col-center" style="width: 100%;background-color:#fff;margin-bottom: 20rpx;margin-top: 20rpx;">
<view class="" style="margin-left: 20rpx; font-size: 30rpx;flex-shrink: 0;">入库原因</view>
<view style="width: 100%">
<uni-data-picker style="background-color:#fff;margin-right: 20rpx;" class='uni-data-picker'
placeholder="请选择入库原因" popup-title="入库原因" :localdata="reasonList" @change="reasonChange">
</uni-data-picker>
</view>
</view>
</view>
<u-line />
<view v-for="(item, index) in detailSource.subList" :key="index">
<item-qty :dataContent="item" :isShowStdPack="false">
</item-qty>
<u-line />
</view>
<button class="btn_add" @click="goScan(false)">+去添加</button>
</view>
<div class="btn_bottom">
<view class="" style="display: flex;flex-direction: row;">
<view class="">
<button class="btn_commit" hover-class="btn_commit_after" @click="submit()">提交</button>
</view>
</view>
</div>
<comMessage ref="comMessage"></comMessage>
</view>
</view>
<comReceiptRequestPopup ref="comIssueRequestPopup" @confirm='requestConfirm'></comReceiptRequestPopup>
</template>
<script>
import {
unPlannedReceiptRequestCreate
} from '@/api/request2.js';
import {
goHome,
updateTitle,
getRemoveOption,
getISODateTime,
navigateBack,
getBatch,
getCurrDateTimes,
getCurrDateOneMonthsTimes
} from '@/common/basic.js';
import {
getUnPlannedReceiptReasonList,
} from '@/common/directory.js';
import comBlankView from '@/mycomponents/common/comBlankView.vue'
import comReceiptRequestPopup from '@/pages/unPlanned/coms/comReceiptRequestPopup.vue'
import jobDetailPopup from '@/mycomponents/job/jobDetailPopup.vue'
import comMessage from '@/mycomponents/common/comMessage.vue'
import comIssueRequestCreator from '@/pages/issue/coms/comIssueRequestCreator.vue'
import itemQty from '@/mycomponents/item/itemQty.vue'
export default {
name: '',
components: {
comBlankView,
comReceiptRequestPopup,
jobDetailPopup,
comMessage,
itemQty
},
data() {
return {
jobContent: {}, //
subList: [], //subList
detailSource: {
subList: []
}, //
reasonList: [], //
reasonText: "",
reasonCode: "",
}
},
mounted() {
this.goScan(true)
},
onLoad(option) {
this.reasonList = getUnPlannedReceiptReasonList()
},
methods: {
goScan(editPosition) {
this.$refs.comIssueRequestPopup.openRequestPopup(editPosition);
},
//
requestConfirm(action, item) {
if (this.detailSource.subList.length == 0) {
this.detailSource = {
totalQty: 0,
toLocationCode:item.toLocationCode,
subList: []
}
var subItem = {
toLocationCode:item.toLocationCode,
itemCode: item.itemCode,
itemName: item.itemName,
qty: item.qty,
uom: item.uom,
}
this.detailSource.subList.push(subItem)
} else {
var result = this.detailSource.subList.filter(res => {
if (res.itemCode == item.itemCode) {
return res
}
})
//
if (result.length == 0) {
var subItem = {
itemCode: item.itemCode,
itemName: item.itemName,
qty: item.qty,
uom: item.uom
}
this.detailSource.subList.push(subItem)
} else {
//
result[0].qty += item.qty
}
}
this.caclcQty();
},
caclcQty() {
var totalQty = 0;
this.detailSource.subList.forEach(res => {
totalQty += res.qty
})
this.detailSource.totalQty = totalQty;
},
submit() {
if (this.reasonText == '') {
this.showErrorMessage("请选择入库原因")
return;
}
uni.showLoading({
title: "提交中....",
mask: true
});
var params = this.setRequestParams()
console.log("提交参数", JSON.stringify(params));
unPlannedReceiptRequestCreate(params).then(res => {
uni.hideLoading()
if (res.data) {
this.showCommitSuccessMessage("提交成功<br>生成计划外入库申请<br>" + res.data)
} else {
this.showErrorMessage("提交失败[" + res.msg + "]")
}
}).catch(error => {
uni.hideLoading()
this.showErrorMessage(error)
})
},
setRequestParams() {
var subList = []
this.detailSource.subList.forEach(detail => {
detail.toLocationCode = this.detailSource.toLocationCode;
detail.reason = this.reasonCode;
detail.containerNumber = "";
detail.batch = getBatch();
detail.inventoryStatus = "OK";
console.log("",getBatch())
subList.push(detail)
})
this.dataContent.subList = subList
this.dataContent.status = 1;
this.dataContent.requestTime = getCurrDateTimes();
this.dataContent.dueTime = getCurrDateOneMonthsTimes();
return this.dataContent;
},
showCommitSuccessMessage(hint) {
this.$refs.comMessage.showSuccessMessage(hint, res => {
navigateBack(1)
})
},
showErrorMessage(message) {
this.$refs.comMessage.showErrorMessage(message, res => {
if (res) {}
});
},
reasonChange(e) {
if (e.detail.value.length == 0) {
this.reasonCode = ""
this.reasonText = ""
} else {
this.reasonCode = e.detail.value[0].value
this.reasonText = e.detail.value[0].text
}
}
}
}
</script>
<style>

1
static/config.json

@ -26,6 +26,7 @@
"local": "http://localhost:12080",
"desc": "api请求地址"
},
"tenantId": {
"name": "tenantId",
"value": "1",

Loading…
Cancel
Save