|
|
@@ -2,6 +2,7 @@ const Constants = require('@/utils/Constants.js');
|
|
|
import Dialog from '@/dist/dialog/dialog.js';
|
|
|
const mixins = require('@/mixins/index.js')
|
|
|
const app = getApp()
|
|
|
+const utils = require('@/utils/util')
|
|
|
Page({
|
|
|
mixins: [mixins],
|
|
|
/**
|
|
|
@@ -17,7 +18,7 @@ Page({
|
|
|
showPopFlag: true,
|
|
|
stepperFlag: true,
|
|
|
cardList: [
|
|
|
- { name: 'items', title: mixins.$t("goodsDetail"), chooseGoodsFlag: '', sumReturnAmt: 0, displayNum: 2 },
|
|
|
+ { name: 'items', title: mixins.$t("goodsDetail"), chooseGoodsFlag: false, sumReturnAmt: 0, displayNum: 2 },
|
|
|
{ name: 'other', title: mixins.$t("otherInfo") }
|
|
|
],
|
|
|
|
|
|
@@ -26,6 +27,15 @@ Page({
|
|
|
],
|
|
|
|
|
|
contentObj: {
|
|
|
+ main: [
|
|
|
+ { code: 'supId', name: 'supName', title: mixins.$t("supplier"), type: 'choose', required: true, urlKey: 'chooseSupplier' },
|
|
|
+ {
|
|
|
+ code: 'staffId', name: 'staffName', title: mixins.$t("procureStaff"), type: 'choose', urlKey: 'chooseStaff'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ code: 'orgId', name: 'orgName', title: mixins.$t("procureOrg"), type: 'choose', urlKey: 'chooseOrg'
|
|
|
+ }
|
|
|
+ ],
|
|
|
other: [{
|
|
|
code: 'remarks',
|
|
|
type: 'textarea',
|
|
|
@@ -54,16 +64,49 @@ Page({
|
|
|
type: 'number'
|
|
|
}],
|
|
|
},
|
|
|
+ /**
|
|
|
+ * @desc : 绑定数据
|
|
|
+ * @author : 于继渤
|
|
|
+ * @date : 2024年3月12日
|
|
|
+ */
|
|
|
+ chooseData(e) {
|
|
|
+ console.log("t", e, this.data.formData);
|
|
|
+ let formData = JSON.parse(this.data.formData)
|
|
|
+ let code = e.detail.code
|
|
|
+ let data = e.detail.data.data
|
|
|
+ if (code == "supId") { //供应商
|
|
|
+ formData.supId = data.id
|
|
|
+ formData.supName = data.name
|
|
|
+ }
|
|
|
+ if (code == "staffId") { //员工
|
|
|
+ formData.staffId = data.id
|
|
|
+ formData.staffName = data.name
|
|
|
+ }
|
|
|
+ if (code == "orgId") { //员工
|
|
|
+ formData.orgId = data.id
|
|
|
+ formData.orgName = data.name
|
|
|
+ }
|
|
|
|
|
|
+ this.setData({
|
|
|
+ formData: JSON.stringify(formData)
|
|
|
+ })
|
|
|
+ },
|
|
|
/**
|
|
|
* @desc : 设置保存参数
|
|
|
* @date : 2024/3/19 15:49
|
|
|
* @author : 于继渤
|
|
|
*/
|
|
|
setParams(params) {
|
|
|
- if (this.data.formMode !== 'edit') {
|
|
|
+ if (this.data.formMode !== 'edit' && this.data.formType !== 'add') {
|
|
|
params.fromId = this.data.item.purId ? this.data.item.purId : params.purId //采购订单id
|
|
|
params.fromNo = this.data.item.purNo ? this.data.item.purNo : params.purNo //采购订单id
|
|
|
+ params.supId = this.data.item.supId
|
|
|
+ } else {
|
|
|
+ //没源单的明细
|
|
|
+ let itemIndex = 0
|
|
|
+ params.goodsList.forEach(res => {
|
|
|
+ res.itemIndex = itemIndex++
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
let btnFormData = this.data.btnFormData ? JSON.parse(this.data.btnFormData) : ''
|
|
|
@@ -73,7 +116,8 @@ Page({
|
|
|
params.orgId = app.globalData.user.orgId
|
|
|
params.staffId = app.globalData.user.staffId
|
|
|
params.makeStaff = app.globalData.user.staffId
|
|
|
- params.supId = this.data.item.supId
|
|
|
+
|
|
|
+ params.intoDate = utils.formatDayTime(new Date())
|
|
|
delete params['goodsList']
|
|
|
delete params['sumReturnAmt']
|
|
|
delete params['sumReturnQty']
|
|
|
@@ -128,7 +172,31 @@ Page({
|
|
|
this.calculateTotal()
|
|
|
},
|
|
|
|
|
|
-
|
|
|
+ /**
|
|
|
+ * @desc : 外露设置产品方法
|
|
|
+ * @date : 2024/2/1 15:49
|
|
|
+ * @author : 于继渤
|
|
|
+ */
|
|
|
+ setGoods(e) {
|
|
|
+ console.log('外露设置产品方法', e)
|
|
|
+ // let formData = JSON.parse(this.data.formData)
|
|
|
+ // let goodsList = e.detail.data
|
|
|
+ // let sumReturnAmt = Number(0) //合计金额
|
|
|
+ // let sumReturnQty = Number(0)
|
|
|
+ // goodsList.forEach(res => {
|
|
|
+ // res.priceReturn = res.priceStandard * -1
|
|
|
+ // sumReturnAmt += res.priceReturn * res.itemQty
|
|
|
+ // res.itemAmt = Number(res.priceReturn * res.itemQty)
|
|
|
+ // res.itemQtyMax = res.usableQty * -1
|
|
|
+ // res.itemQtyMin = -1
|
|
|
+ // res.itemQty = res.itemQty * -1
|
|
|
+ // })
|
|
|
+ // formData.sumReturnAmt = sumReturnAmt.toFixed(2)
|
|
|
+ // this.setData({
|
|
|
+ // formData: JSON.stringify(formData)
|
|
|
+ // })
|
|
|
+ this.calculateTotal()
|
|
|
+ },
|
|
|
/**
|
|
|
* @desc :计算金额
|
|
|
* @date : 2024/2/1 15:49
|
|
|
@@ -143,7 +211,7 @@ Page({
|
|
|
if (this.data.formMode != 'edit') {
|
|
|
res.returnQty = res.itemQty
|
|
|
}
|
|
|
- res.returnAmt = Number(res.returnQty * res.priceReturn * -1)
|
|
|
+ res.returnAmt = Number(res.returnQty * res.priceReturn * -1)
|
|
|
sumReturnAmt += res.returnAmt
|
|
|
sumReturnQty += res.returnQty
|
|
|
})
|
|
|
@@ -151,20 +219,24 @@ Page({
|
|
|
formData.returnQty = sumReturnQty
|
|
|
let cardList = this.data.cardList
|
|
|
let contentList = this.data.contentList
|
|
|
- cardList[0].sumReturnAmt = sumReturnAmt.toFixed(2)
|
|
|
+ cardList[1].sumReturnAmt = sumReturnAmt.toFixed(2)
|
|
|
if (contentList.length > 0) {
|
|
|
contentList[2].content = sumReturnAmt.toFixed(2)
|
|
|
}
|
|
|
let beforeSumAmount = this.data.beforeSumAmount
|
|
|
let afterSumAmount = beforeSumAmount - sumReturnAmt
|
|
|
+
|
|
|
+ console.log('sumReturnAmt', sumReturnAmt)
|
|
|
this.setData({
|
|
|
- afterSumAmount:afterSumAmount,
|
|
|
+ afterSumAmount: afterSumAmount,
|
|
|
cardList: cardList,
|
|
|
contentList: contentList,
|
|
|
formData: JSON.stringify(formData),
|
|
|
sumReturnAmt: sumReturnAmt.toFixed(2),
|
|
|
sumReturnQty: sumReturnQty,
|
|
|
})
|
|
|
+
|
|
|
+ this.calculationSalesUsableQty()
|
|
|
},
|
|
|
/**
|
|
|
* @desc : 自动办理事件
|
|
|
@@ -210,12 +282,28 @@ Page({
|
|
|
},
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+ //计算可售量相关
|
|
|
+ calculationSalesUsableQty() {
|
|
|
+ let formData = JSON.parse(this.data.formData)
|
|
|
+ formData.goodsList.forEach(res => {
|
|
|
+ //选择的数量大于可售量
|
|
|
+ if (Math.abs(res.itemQty) > res.usableQty) {
|
|
|
+ res['usableQtyInsufficientFlag'] = true //可售量不足
|
|
|
+ res['usableQty'] = res.usableQty //可售量
|
|
|
+ } else {
|
|
|
+ res['usableQtyInsufficientFlag'] = false //可售量不足
|
|
|
+ res['usableQty'] = res.usableQty //可售量
|
|
|
+ }
|
|
|
+ })
|
|
|
+ let usableQtyInsufficientFlagList = formData.goodsList.filter(item => {
|
|
|
+ return item.usableQtyInsufficientFlag
|
|
|
+ })
|
|
|
+ this.setData({
|
|
|
+ formData: JSON.stringify(formData),
|
|
|
+ goodsTagText: usableQtyInsufficientFlagList.length > 0 ? '备货不足' : '备货齐套', //
|
|
|
+ goodsTagColor: usableQtyInsufficientFlagList.length > 0 ? '#E4002B' : null //设置颜色
|
|
|
+ })
|
|
|
+ },
|
|
|
/**
|
|
|
* 生命周期函数--监听页面加载
|
|
|
*/
|
|
|
@@ -224,18 +312,12 @@ Page({
|
|
|
let that = this
|
|
|
const eventChannel = this.getOpenerEventChannel()
|
|
|
eventChannel.on('params', function (data) {
|
|
|
-
|
|
|
- // data.choooseInboundItemList.forEach(res=>{
|
|
|
- // res['usableQtyInsufficientFlag'] = true //可售量不足
|
|
|
- // res['usableQty'] = 0 //可售量
|
|
|
- // })
|
|
|
-
|
|
|
-
|
|
|
- if (that.data.formMode != Constants.formMode.edit) {
|
|
|
+ if (that.data.formMode != Constants.formMode.edit && that.data.formType != Constants.formMode.add) {
|
|
|
let formData = that.data.formData
|
|
|
formData = {
|
|
|
goodsList: data.choooseInboundItemList
|
|
|
}
|
|
|
+ console.log('data', data)
|
|
|
that.setData({
|
|
|
formData: JSON.stringify(formData),
|
|
|
beforeSumAmount: Number(data.beforeSumAmount),
|
|
|
@@ -243,6 +325,15 @@ Page({
|
|
|
item: JSON.parse(data.item)
|
|
|
})
|
|
|
that.calculateTotal()
|
|
|
+ } else if (that.data.formMode == Constants.formMode.add && that.data.formType == Constants.formMode.add) {
|
|
|
+ let cardList = that.data.cardList
|
|
|
+ that.setData({
|
|
|
+ cardList: [
|
|
|
+ { name: 'main' },
|
|
|
+ { name: 'items', title: mixins.$t("goodsDetail"), chooseGoodsFlag: true },
|
|
|
+ { name: 'other', title: mixins.$t("otherInfo") }
|
|
|
+ ]
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
})
|