|
|
@@ -7,8 +7,7 @@ Page({
|
|
|
/**
|
|
|
* 页面的初始数据
|
|
|
*/
|
|
|
- data: {
|
|
|
- orderIdArray: '', //来源单id
|
|
|
+ data: {
|
|
|
// 弹出按钮
|
|
|
buttonList: [{
|
|
|
name: 'merge',
|
|
|
@@ -127,7 +126,7 @@ Page({
|
|
|
|
|
|
let code = e.detail.code
|
|
|
let data = e.detail.data.data
|
|
|
- let orderIdArray_ = this.data.orderIdArray //来源单id
|
|
|
+
|
|
|
if (code == "supId") { //供应商
|
|
|
formData.supId = data.id
|
|
|
formData.supName = data.name
|
|
|
@@ -145,34 +144,32 @@ Page({
|
|
|
formData.whName = data.name
|
|
|
}
|
|
|
if (code == "sourceNo") { //来源单
|
|
|
- formData.goodsList = this.convertGoods(data.choooseItemList)
|
|
|
- // 提取purNo字段为数组,并去重
|
|
|
- const orderNoArray = [...new Set(data.choooseItemList.map(item => item.orderNo))];
|
|
|
- const orderIdArray = [...new Set(data.choooseItemList.map(item => item.orderId))];
|
|
|
- // 将数组元素转换为逗号分隔的字符串
|
|
|
- formData.fromNo = orderNoArray.join(','); //来源单号
|
|
|
- orderIdArray_ = orderIdArray.join(',');
|
|
|
+ this.convertGoods(data.choooseItemList)
|
|
|
+ return
|
|
|
}
|
|
|
|
|
|
- this.setData({
|
|
|
- orderIdArray: orderIdArray_,
|
|
|
+ this.setData({
|
|
|
formData: JSON.stringify(formData)
|
|
|
})
|
|
|
},
|
|
|
/**
|
|
|
- * @desc : 转换销售单 过来的选品数据 对应接口数据
|
|
|
+ * @desc : 转换销售单 过来的选品数据 对应接口数据
|
|
|
* @author : 王英杰
|
|
|
* @date : 2024年3月12日
|
|
|
*/
|
|
|
convertGoods(choooseItemList) {
|
|
|
+ let formData = JSON.parse(this.data.formData)
|
|
|
+ // 提取purNo字段为数组,并去重
|
|
|
+ const orderNoArray = [...new Set(choooseItemList.map(item => item.orderNo))];
|
|
|
+ const orderIdArray = [...new Set(choooseItemList.map(item => item.orderId))];
|
|
|
+ // 将数组元素转换为逗号分隔的字符串
|
|
|
+ formData.fromNos = orderNoArray.join(',').split(',') //来源单号
|
|
|
+ formData.fromIds = orderIdArray.join(',').split(',') //来源单id
|
|
|
+ formData.fromNo = orderNoArray.join(',');
|
|
|
let cardList_ = this.data.cardList
|
|
|
cardList_.forEach(card => { //循环出商品总共价格
|
|
|
- if (card.name === 'items') {
|
|
|
- card.priceSale = choooseItemList.sum("priceSale") //售价合计
|
|
|
- card.itemQty = choooseItemList.sum("itemQty") //商品数量合计
|
|
|
- card.priceStd = choooseItemList.sum("priceStd") //标价合计
|
|
|
- card.itemAmt = choooseItemList.sum("itemAmt") //售价金额合计
|
|
|
- card.purDiscount = choooseItemList.sum("purDiscount") //折扣
|
|
|
+ if (card.name === 'items') {
|
|
|
+ card.itemAmt = choooseItemList.sum("itemAmt") //售价金额合计
|
|
|
}
|
|
|
})
|
|
|
let contentList_ = this.data.contentList
|
|
|
@@ -181,17 +178,23 @@ Page({
|
|
|
card.content = choooseItemList.sum("itemAmt")
|
|
|
}
|
|
|
})
|
|
|
- this.setData({
|
|
|
- cardList: cardList_,
|
|
|
- contentList: contentList_
|
|
|
- })
|
|
|
+
|
|
|
choooseItemList.forEach(element => {
|
|
|
- element.pricePur = element.priceSale
|
|
|
- element.nonStdCode = element.nonStdCode? element.nonStdCode:'' // 色号 批次号
|
|
|
element.chooseFlg = "biu" //辨别选品标识
|
|
|
+ element.priceStd = element.priceStandard
|
|
|
+ element.fromId = element.orderId
|
|
|
+ element.fromItemId = element.itemId
|
|
|
+ element.pricePur = element.pricePurchase
|
|
|
+ element.amtStd = Number(element.priceStd * element.itemQty) //标价金额
|
|
|
+ element.priceDiscount = (Number(element.pricePurchase) / Number(element.priceStandard)) * 100;
|
|
|
+ element.nonStdCode = element.nonStdCode? element.nonStdCode:'' // 色号 批次号
|
|
|
});
|
|
|
-
|
|
|
- return choooseItemList
|
|
|
+ formData.goodsList = choooseItemList
|
|
|
+ this.setData({
|
|
|
+ formData: JSON.stringify(formData),
|
|
|
+ cardList: cardList_,
|
|
|
+ contentList: contentList_
|
|
|
+ })
|
|
|
},
|
|
|
/**
|
|
|
* @desc : 给表单赋值
|
|
|
@@ -202,7 +205,10 @@ Page({
|
|
|
data.goodsList = data.purchaseItemResponseList
|
|
|
data.goodsList.forEach(element => {
|
|
|
element.chooseFlg = "biu" //辨别选品标识
|
|
|
- element.purDiscount = (Number(element.pricePurchase) / Number(element.priceStandard)) * 100;
|
|
|
+ element.priceStd = element.priceStandard
|
|
|
+ element.pricePur = element.pricePurchase
|
|
|
+ element.amtStd = Number(element.priceStd * element.itemQty) //标价金额
|
|
|
+ element.priceDiscount = (Number(element.pricePurchase) / Number(element.priceStandard)) * 100;
|
|
|
});
|
|
|
data.supName = data.supplierName
|
|
|
let cardList_ = this.data.cardList
|
|
|
@@ -228,43 +234,49 @@ Page({
|
|
|
formData: JSON.stringify(data)
|
|
|
})
|
|
|
},
|
|
|
- /**
|
|
|
- * @desc : 保存数据服务--校验
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @desc : 外露设置产品方法
|
|
|
* @date : 2024/2/1 15:49
|
|
|
* @author : 王英杰
|
|
|
*/
|
|
|
- validData() {
|
|
|
+ setGoods(e) {
|
|
|
+ let contentList_ = this.data.contentList
|
|
|
+ let cardList = this.data.cardList
|
|
|
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) {
|
|
|
- wx.showToast({
|
|
|
- title: mixins.$t("chooseWh"),
|
|
|
- icon: 'none'
|
|
|
- })
|
|
|
- return false
|
|
|
+ let totalAmout = Number(0)
|
|
|
+ // 各个明细的金额数量
|
|
|
+ formData.goodsList.forEach(element => { //循环出商品总共价格
|
|
|
+ element.itemAmt = element.pricePurchase * element.itemQty
|
|
|
+ element.priceStd = element.priceStandard
|
|
|
+ element.pricePur = element.pricePurchase
|
|
|
+ element.amtStd = element.priceStd * element.itemQty
|
|
|
+ element.priceDiscount = (Number(element.pricePurchase) / Number(element.priceStandard)) * 100;
|
|
|
+ totalAmout += Number(element.pricePurchase * element.itemQty)
|
|
|
+ })
|
|
|
+ // 左下角的合计金额
|
|
|
+ contentList_.forEach(card => {
|
|
|
+ if (card.code === 'amount') {
|
|
|
+ card.content = totalAmout
|
|
|
}
|
|
|
-
|
|
|
- if (element.itemQty == null || element.itemQty == '' || element.itemQty == 0) {
|
|
|
- wx.showToast({
|
|
|
- title: mixins.$t("inputWords") + "[" + element.skuCode + "]" + mixins.$t("count"),
|
|
|
- icon: 'none'
|
|
|
- })
|
|
|
- return false
|
|
|
+ })
|
|
|
+ // 明细的合计金额
|
|
|
+ cardList.forEach(card => { //循环出商品总共价格
|
|
|
+ if (card.name === 'items') {
|
|
|
+ //合计金额
|
|
|
+ card.itemAmt = totalAmout
|
|
|
}
|
|
|
- }
|
|
|
- return true
|
|
|
+ })
|
|
|
+ console.log(formData.goodsList);
|
|
|
+ this.setData({
|
|
|
+ contentList: contentList_,
|
|
|
+ cardList,
|
|
|
+ formData: JSON.stringify(formData)
|
|
|
+ })
|
|
|
},
|
|
|
- /**
|
|
|
+
|
|
|
+ /**
|
|
|
* @desc : 保存的參數設置
|
|
|
* @date : 2024/2/1 15:49
|
|
|
* @author : 王英杰
|
|
|
@@ -272,11 +284,18 @@ Page({
|
|
|
setParams(params) {
|
|
|
let cardList_ = this.data.cardList
|
|
|
let formData = JSON.parse(this.data.formData)
|
|
|
-
|
|
|
- params.sumAmount = formData.sum("itemAmt") //合计金额
|
|
|
- params.sumStandard = formData.sum("priceStandard") // 标价合计
|
|
|
- params.sumQuantity = formData.sum("itemQty") //商品总数量
|
|
|
- params.purDiscount = formData.sum("purDiscount") //折扣
|
|
|
+ let totalAmout = Number(0)
|
|
|
+ formData.goodsList.forEach(element => {
|
|
|
+ totalAmout += Number(element.priceStd * element.itemQty) //标价金额
|
|
|
+ })
|
|
|
+ params.fromIds = formData.fromIds
|
|
|
+ params.fromNos = formData.fromNos
|
|
|
+ params.amtStd = totalAmout//标价金额
|
|
|
+ params.sumAmount = formData.goodsList.sum("itemAmt") //合计金额
|
|
|
+ params.sumStandard = totalAmout // 标价合计
|
|
|
+ params.sumQuantity = formData.goodsList.sum("itemQty") //商品总数量
|
|
|
+ params.purDiscount = (Number(formData.goodsList.sum("pricePurchase") ) / Number(formData.goodsList.sum("priceStandard")))*100
|
|
|
+ formData.goodsList.sum("purDiscount") //折扣
|
|
|
params.pickupDate = formData.pickupDate
|
|
|
params.orgId = app.globalData.user.orgId //组织部门
|
|
|
params.staffId = app.globalData.user.staffId // 员工
|
|
|
@@ -287,7 +306,7 @@ Page({
|
|
|
formData.goodsList.forEach((element, index) => {
|
|
|
element.itemIndex = index
|
|
|
});
|
|
|
- const deleteLisr = formData.deleteList.filter(li => li.chooseFlg !== null && li.chooseFlg !== undefined && li.chooseFlg !== '');
|
|
|
+ const deleteLisr = formData.deleteList?formData.deleteList.filter(li => li.chooseFlg !== null && li.chooseFlg !== undefined && li.chooseFlg !== ''):[];
|
|
|
params.deleteItemList = deleteLisr
|
|
|
if (this.data.formMode == "edit") {
|
|
|
params.editPurchaseItemList = formData.goodsList //商品明细
|
|
|
@@ -298,48 +317,40 @@ Page({
|
|
|
console.log("save", this.data.params);
|
|
|
return params
|
|
|
},
|
|
|
- /**
|
|
|
- * @desc : 外露设置产品方法
|
|
|
+ /**
|
|
|
+ * @desc : 保存数据服务--校验
|
|
|
* @date : 2024/2/1 15:49
|
|
|
* @author : 王英杰
|
|
|
*/
|
|
|
- setGoods(e) {
|
|
|
- let contentList_ = this.data.contentList
|
|
|
- let cardList = this.data.cardList
|
|
|
+ validData() {
|
|
|
let formData = JSON.parse(this.data.formData)
|
|
|
- let totalAmout = Number(0)
|
|
|
- // 各个明细的金额数量
|
|
|
- formData.goodsList.forEach(element => { //循环出商品总共价格
|
|
|
- element.itemAmt = element.pricePurchase * element.itemQty
|
|
|
- element.purDiscount = (Number(element.pricePurchase) / Number(element.priceStandard)) * 100;
|
|
|
- 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
|
|
|
+ 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.itemQty == null || element.itemQty == '' || element.itemQty == 0) {
|
|
|
+ wx.showToast({
|
|
|
+ title: mixins.$t("inputWords") + "[" + element.skuCode + "]" + mixins.$t("count"),
|
|
|
+ icon: 'none'
|
|
|
+ })
|
|
|
+ return false
|
|
|
}
|
|
|
- })
|
|
|
- console.log(formData.goodsList);
|
|
|
- this.setData({
|
|
|
- contentList: contentList_,
|
|
|
- cardList,
|
|
|
- formData: JSON.stringify(formData)
|
|
|
- })
|
|
|
+ }
|
|
|
+ return true
|
|
|
},
|
|
|
/**
|
|
|
* @desc : 保存数据服务
|
|
|
* @date : 2024/2/1 15:49
|
|
|
* @author : 王英杰
|
|
|
*/
|
|
|
- saveData() {
|
|
|
+ saveData() {
|
|
|
if (this.data.formMode != "edit") { //新建
|
|
|
return this.excute(this.data.service, this.data.service.insert, this.data.params)
|
|
|
} else {
|
|
|
@@ -362,10 +373,8 @@ Page({
|
|
|
if ((!isSourceOrderFlag) && (formMode != "edit")) {
|
|
|
const choooseItemList = data.choooseItemList
|
|
|
console.log(choooseItemList)
|
|
|
- formdata.goodsList = that.convertGoods(choooseItemList)
|
|
|
- that.setData({
|
|
|
- formData: JSON.stringify(formdata)
|
|
|
- })
|
|
|
+ that.convertGoods(choooseItemList)
|
|
|
+
|
|
|
}
|
|
|
})
|
|
|
if (this.data.formMode == Constants.formMode.edit) {
|