|
|
@@ -8,46 +8,53 @@ Page({
|
|
|
* 页面的初始数据
|
|
|
*/
|
|
|
data: {
|
|
|
- draftFlag:false,
|
|
|
+ draftFlag: false,
|
|
|
purIdArray: '', //来源单id
|
|
|
// 弹出按钮
|
|
|
- buttonList: [ {
|
|
|
- code:'draft',
|
|
|
- name: 'merge',
|
|
|
- color:'#636FB4',
|
|
|
- title: '暂存', //'暂存'
|
|
|
- },{
|
|
|
- code:'save',
|
|
|
- name: 'merge',
|
|
|
- title: mixins.$t("save"), //'保存'
|
|
|
- }],
|
|
|
-
|
|
|
+ buttonList: [{
|
|
|
+ code: 'draft',
|
|
|
+ name: 'merge',
|
|
|
+ color: '#636FB4',
|
|
|
+ title: '暂存', //'暂存'
|
|
|
+ }, {
|
|
|
+ code: 'save',
|
|
|
+ name: 'merge',
|
|
|
+ title: mixins.$t("save"), //'保存'
|
|
|
+ }],
|
|
|
+
|
|
|
btnFormData: null,
|
|
|
+ popupTopObj: [{ leftTitle: '库存量', leftCode: 'usableQty', rightTitle: '可售量', rightCode: 'invQty' }],
|
|
|
popContent: [{
|
|
|
code: 'itemQty',
|
|
|
type: 'step',
|
|
|
- title: mixins.$t("count"), //'数量',
|
|
|
+ title: '盘点数量', //'数量',
|
|
|
required: true
|
|
|
},
|
|
|
{
|
|
|
- code: 'whId',
|
|
|
- name: 'whName',
|
|
|
- title: mixins.$t("warehouseId"), //'仓库',
|
|
|
- type: 'drop',
|
|
|
- dropType: 'warehouse',
|
|
|
- required: true
|
|
|
- },
|
|
|
- {
|
|
|
- code: 'skuSpec',
|
|
|
- title: mixins.$t("goodSpec"), //'规格',
|
|
|
+ code: 'balanceQty',
|
|
|
+ title: '盈亏数量', //'规格',mixins.$t("goodSpec")
|
|
|
type: 'str',
|
|
|
readonly: true,
|
|
|
},
|
|
|
{
|
|
|
+ code: 'lossReason',
|
|
|
+ name: 'lossReasonName',
|
|
|
+ title: '盘亏原因',
|
|
|
+ type: 'choose',
|
|
|
+ urlKey: 'openingReason'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ code: 'whId',
|
|
|
+ name: 'whName',
|
|
|
+ title: '仓库',
|
|
|
+ type: 'choose',
|
|
|
+ },
|
|
|
+ {
|
|
|
code: 'nonStdCode',
|
|
|
- title: mixins.$t("goodsBatch"), //'商品批次',
|
|
|
+ title: mixins.$t("goodsBatch"),//'商品批次',
|
|
|
type: 'str',
|
|
|
- },
|
|
|
+ readonly: true,
|
|
|
+ },
|
|
|
],
|
|
|
|
|
|
cardList: [{
|
|
|
@@ -66,8 +73,7 @@ Page({
|
|
|
}
|
|
|
],
|
|
|
contentObj: {
|
|
|
- main: [
|
|
|
- {
|
|
|
+ main: [{
|
|
|
code: 'staffId',
|
|
|
name: 'staffName',
|
|
|
title: '盘点员工', //'采购人',
|
|
|
@@ -83,15 +89,15 @@ Page({
|
|
|
urlKey: 'chooseOrg'
|
|
|
},
|
|
|
{
|
|
|
- code: 'whId',
|
|
|
- name: 'whName',
|
|
|
- type: 'choose',
|
|
|
- title: '盘点仓库', //'入库仓库',
|
|
|
- urlKey: 'chooseWh'
|
|
|
- }
|
|
|
+ code: 'whId',
|
|
|
+ name: 'whName',
|
|
|
+ type: 'choose',
|
|
|
+ title: '盘点仓库', //'入库仓库',
|
|
|
+ urlKey: 'chooseWh'
|
|
|
+ }
|
|
|
],
|
|
|
-
|
|
|
- items: [ ],
|
|
|
+
|
|
|
+ items: [],
|
|
|
other: [{
|
|
|
code: 'remarks',
|
|
|
type: 'textarea',
|
|
|
@@ -105,41 +111,10 @@ Page({
|
|
|
},
|
|
|
// 路由
|
|
|
routeObjName: 'check',
|
|
|
-
|
|
|
- // inboundProcessingService: app.globalData['inboundProcessingService'],
|
|
|
- },
|
|
|
- /**
|
|
|
- * @desc : 选择框右边删除 回调
|
|
|
- * @date : 2024/2/1 15:49
|
|
|
- * @author : 王英杰
|
|
|
- */
|
|
|
- clear(e) {
|
|
|
- let code = e.detail.code
|
|
|
- let formData = JSON.parse(this.data.formData)
|
|
|
- if (code == "sourceNo") { //来源单号
|
|
|
- let contentList_ = this.data.contentList
|
|
|
- let cardList = this.data.cardList
|
|
|
- formData.goodsList = []
|
|
|
- contentList_.forEach(card => {
|
|
|
- if (card.code === 'amount') {
|
|
|
- card.content = 0
|
|
|
- }
|
|
|
- })
|
|
|
- cardList.forEach(card => {
|
|
|
- if (card.name === 'items') {
|
|
|
- card.itemAmt = 0
|
|
|
- }
|
|
|
- })
|
|
|
- this.setData({
|
|
|
- contentList: contentList_,
|
|
|
- cardList,
|
|
|
- chooseVisible: false,
|
|
|
- })
|
|
|
- }
|
|
|
- this.setData({
|
|
|
- formData: JSON.stringify(formData)
|
|
|
- })
|
|
|
+
|
|
|
+ // inboundProcessingService: app.globalData['inboundProcessingService'],
|
|
|
},
|
|
|
+
|
|
|
/**
|
|
|
* @desc : 绑定数据
|
|
|
* @author : 王英杰
|
|
|
@@ -150,7 +125,7 @@ Page({
|
|
|
let formData = JSON.parse(this.data.formData)
|
|
|
let code = e.detail.code
|
|
|
let data = e.detail.data.data
|
|
|
-
|
|
|
+
|
|
|
if (code == "staffId") { //员工
|
|
|
formData.staffId = data.id
|
|
|
formData.staffName = data.name
|
|
|
@@ -162,77 +137,58 @@ Page({
|
|
|
if (code == "whId") { //仓库
|
|
|
formData.whId = data.id
|
|
|
formData.whName = data.name
|
|
|
- if(formData.goodsList){
|
|
|
+ if (formData.goodsList) {
|
|
|
formData.goodsList.forEach(element => { //总单的入库仓库 作为一个总开关 直接改变 所以品的仓库
|
|
|
element.whId = data.id
|
|
|
- element.whName = data.whName
|
|
|
+ element.whName = data.name
|
|
|
});
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
+ }
|
|
|
+ if (code == "lossReason") { //盘亏原因
|
|
|
+ formData.lossReason = data.id
|
|
|
+ formData.lossReasonName = data.name
|
|
|
}
|
|
|
-
|
|
|
|
|
|
this.setData({
|
|
|
formData: JSON.stringify(formData)
|
|
|
})
|
|
|
},
|
|
|
- /**
|
|
|
- * @desc : 按钮点击事件回调
|
|
|
- * @date : 2024/2/1 15:49
|
|
|
- * @author : 王英杰
|
|
|
- */
|
|
|
- open(e) {
|
|
|
- console.log('ee',e);
|
|
|
- let that = this
|
|
|
- let code = e.detail.name
|
|
|
-
|
|
|
- let draftFlag = false;
|
|
|
- if(code == 'draft'){ //暂存
|
|
|
- draftFlag = true;
|
|
|
- }
|
|
|
- this.setData({
|
|
|
- draftFlag:draftFlag
|
|
|
- })
|
|
|
- this.save();
|
|
|
- },
|
|
|
-
|
|
|
+ /**
|
|
|
+ * @desc : 按钮点击事件回调
|
|
|
+ * @date : 2024/2/1 15:49
|
|
|
+ * @author : 王英杰
|
|
|
+ */
|
|
|
+ open(e) {
|
|
|
+ console.log('ee', e);
|
|
|
+ let that = this
|
|
|
+ let code = e.detail.name
|
|
|
+
|
|
|
+ let draftFlag = false;
|
|
|
+ if (code == 'draft') { //暂存
|
|
|
+ draftFlag = true;
|
|
|
+ this.setData({
|
|
|
+ validFlag:false
|
|
|
+ })
|
|
|
+ }
|
|
|
+ this.setData({
|
|
|
+ draftFlag: draftFlag
|
|
|
+ })
|
|
|
+ this.save({});
|
|
|
+ },
|
|
|
+
|
|
|
/**
|
|
|
* @desc : 外露设置产品方法
|
|
|
* @date : 2024/2/1 15:49
|
|
|
* @author : 王英杰
|
|
|
*/
|
|
|
setGoods(e) {
|
|
|
- let contentList_ = this.data.contentList
|
|
|
- let cardList = this.data.cardList
|
|
|
+
|
|
|
let formData = JSON.parse(this.data.formData)
|
|
|
- let totalAmout = Number(0)
|
|
|
- // 各个明细的金额数量
|
|
|
- formData.goodsList.forEach(element => { //循环出商品总共价格
|
|
|
- element.intoingAmt = element.pricePurchase * element.itemQty
|
|
|
- element.intoingQty = element.itemQty
|
|
|
- element.pricePur = element.pricePurchase
|
|
|
- element.priceInto = element.pricePurchase
|
|
|
- element.intoAmt = 0 // 已入库金额
|
|
|
- element.intoQty = 0 // 已入库数量
|
|
|
- totalAmout += Number(element.pricePurchase * element.itemQty)
|
|
|
- })
|
|
|
- // 左下角的合计金额
|
|
|
- contentList_.forEach(card => {
|
|
|
- if (card.code === 'amount') {
|
|
|
- card.content = totalAmout
|
|
|
- }
|
|
|
- })
|
|
|
- // 明细的合计金额
|
|
|
- cardList.forEach(card => { //循环出商品总共价格
|
|
|
- if (card.name === 'items') {
|
|
|
- //合计金额
|
|
|
- card.itemAmt = totalAmout
|
|
|
- }
|
|
|
- })
|
|
|
- console.log(formData.goodsList);
|
|
|
- this.setData({
|
|
|
- contentList: contentList_,
|
|
|
- cardList,
|
|
|
+ formData.goodsList.forEach(element => {
|
|
|
+ element.balanceQty = element.itemQty - element.invQty
|
|
|
+ });
|
|
|
+ this.setData({
|
|
|
formData: JSON.stringify(formData)
|
|
|
})
|
|
|
},
|
|
|
@@ -241,50 +197,31 @@ Page({
|
|
|
* @date : 2024/2/1 15:49
|
|
|
* @author : 王英杰
|
|
|
*/
|
|
|
- validData() {
|
|
|
- if(this.data.draftFlag){
|
|
|
- return true;
|
|
|
- }
|
|
|
+ validData() {
|
|
|
+ if (this.data.draftFlag) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
let formData = JSON.parse(this.data.formData)
|
|
|
let that = this
|
|
|
+
|
|
|
if (formData.goodsList == null || formData.goodsList.length == 0) {
|
|
|
wx.showToast({
|
|
|
title: "请选择商品明细",
|
|
|
icon: 'none'
|
|
|
- })
|
|
|
-
|
|
|
+ })
|
|
|
return false
|
|
|
}
|
|
|
- // 明细的数量和仓库不能为空
|
|
|
- for (let index = 0; index < formData.goodsList.length; index++) {
|
|
|
- const element = formData.goodsList[index];
|
|
|
- if (element.whId == null) {
|
|
|
+ for(let i=0 ; i<formData.goodsList.length; i++){
|
|
|
+ if(formData.goodsList[i].balanceQty<0){ //盘亏需要盘亏原因
|
|
|
+ if( !formData.goodsList[i].lossReason){
|
|
|
wx.showToast({
|
|
|
- title: mixins.$t("chooseWh"),
|
|
|
+ title: "请输入盘亏原因",
|
|
|
icon: 'none'
|
|
|
- })
|
|
|
-
|
|
|
+ })
|
|
|
return false
|
|
|
- }
|
|
|
- //如果 设置了总单的仓库 然后又进行选品 没设置一样的仓库 那就把总单上的仓库清空
|
|
|
- if (formData.whId) {
|
|
|
- if (element.whId != formData.whId) {
|
|
|
- formData.whId = null
|
|
|
- formData.whName = ""
|
|
|
- that.setData({
|
|
|
- formData:JSON.stringify(formData)
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
- if (element.itemQty == null || element.itemQty == '' || element.itemQty == 0) {
|
|
|
- wx.showToast({
|
|
|
- title: mixins.$t("inputWords") + "[" + element.skuCode + "]" + mixins.$t("count"),
|
|
|
- icon: 'none'
|
|
|
- })
|
|
|
-
|
|
|
- return false
|
|
|
- }
|
|
|
- }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
return true
|
|
|
},
|
|
|
/**
|
|
|
@@ -293,21 +230,32 @@ Page({
|
|
|
* @author : 王英杰
|
|
|
*/
|
|
|
setParams(params) {
|
|
|
- let formData = JSON.parse(this.data.formData)
|
|
|
- let draftFlag = this.data.draftFlag
|
|
|
- if(draftFlag){ //暂存
|
|
|
- params.draftFlag = this.data.draftFlag
|
|
|
- params.staffId = formData.staffId
|
|
|
- params.remarks = formData.remarks
|
|
|
- params.orgId = formData.orgId
|
|
|
- params.flgLock = false //锁库标识 todo 不知道为啥
|
|
|
- params.checkStatus = '盘点状态-完成'
|
|
|
-
|
|
|
- }else{ //完成
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
+ let formData = JSON.parse(this.data.formData)
|
|
|
+ let draftFlag = this.data.draftFlag
|
|
|
+ let itemList = []
|
|
|
+ formData.goodsList.forEach((element, index) => {
|
|
|
+ let item = {}
|
|
|
+ item.itemIndex = index
|
|
|
+ item.skuId = element.skuId
|
|
|
+ item.invId = element.invId
|
|
|
+ item.oInvQty = element.invQty //原库存数量 (暂存的时候取库存量 完成的时候 不更新)
|
|
|
+ item.invQty = element.invQty //库存数量
|
|
|
+ item.checkQty = element.itemQty //盘点数量
|
|
|
+ item.balanceQty = element.itemQty - element.invQty //差异数量
|
|
|
+ item.staffId = formData.staffId //责任人
|
|
|
+ item.priceInto = element.pricePurchase //单价
|
|
|
+ item.intoingAmt = element.pricePurchase * element.itemQty //单价
|
|
|
+ itemList.push(item)
|
|
|
+ });
|
|
|
+ params.draftFlag = this.data.draftFlag
|
|
|
+ params.staffId = formData.staffId
|
|
|
+ params.remarks = formData.remarks
|
|
|
+ params.orgId = formData.orgId
|
|
|
+ params.flgLock = false //锁库标识 todo 不知道为啥
|
|
|
+ params.checkStatus = draftFlag?'盘点状态-暂存':'盘点状态-完成'
|
|
|
+ params.makeStaff = app.globalData.user.staffId
|
|
|
+ params.itemList = itemList
|
|
|
+
|
|
|
return params;
|
|
|
},
|
|
|
|
|
|
@@ -317,20 +265,23 @@ Page({
|
|
|
* @author : 王英杰
|
|
|
*/
|
|
|
saveData() {
|
|
|
- return this.excute(this.data.service, this.data.service.insert, this.data.params)
|
|
|
+ return this.excute(this.data.service, this.data.service.insert, this.data.params)
|
|
|
},
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* @desc : 初始化数据
|
|
|
* @date : 2024/2/1 15:49
|
|
|
* @author : 王英杰
|
|
|
*/
|
|
|
loadInit() {
|
|
|
- let formData = JSON.parse( this.data.formData)
|
|
|
- let item = this.data.item
|
|
|
+ let formData = JSON.parse(this.data.formData)
|
|
|
+ let item = this.data.item
|
|
|
formData.goodsList = item
|
|
|
- this.setData({
|
|
|
- formData:JSON.stringify(formData)
|
|
|
- })
|
|
|
+ formData.goodsList.forEach(element => {
|
|
|
+ element.balanceQty = element.itemQty - element.invQty
|
|
|
+ });
|
|
|
+ this.setData({
|
|
|
+ formData: JSON.stringify(formData)
|
|
|
+ })
|
|
|
},
|
|
|
})
|