You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

214 lines
5.9 KiB

// pages/goodaNameChooseTemplate/goodaNameChooseTemplate.js
var app = getApp()
var network = require("../../utils/net.js")
var dateTimePicker = require('../../utils/dateTimePicker.js');
var utilll = require('../../utils/util.js');
var unitID = null;
var customerID = null;
var getGoods = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetGoodsWithUnitPrice";
Page({
data: {
winHeight: app.globalData.winHeight,
currentTab: 0,
collectionArray: [],
goodsArray: [],
checkBoxArray: [],
storageCheckBoxArray: [],
},
getGoodsNameBySearchString: function (event){
var searchString = event.detail.value;
this.GetGoodsWithUnitPrice(unitID, customerID, searchString);
},
GetGoodsWithUnitPrice: function(unitID, customerID, searchString) {
var that = this;
let timestamp = Date.parse(new Date());
let date = "/Date(" + timestamp + "+0800)/";
let method = getGoods;
let params = [{
"Input": searchString,
"PageIndex": 0,
"PageSize": 100,
"Customer_ID": parseInt(customerID),
"AccountingUnit_ID": parseInt(unitID),
"Date": date
}];
network.transfer_request(method, params, function(res) {
that.setData({
goodsArray: res.result,
})
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function(options) {
// 根据客户id和会计单位获取存货及价格
var that = this;
unitID = options.unitID;
customerID = options.customerID;
this.GetGoodsWithUnitPrice(unitID, customerID, "");
// 获取收藏的存货信息
wx.getStorage({
key: 'storageGoodsKey',
success(res) {
console.log(res.data);
if (res.data.length > 0) {
that.setData({
collectionArray: res.data,
})
}
}
})
},
storegeBtnClick: function() {
var that = this;
// 获取收藏的存货信息
var oldCollectionArr = this.data.collectionArray;
var waitStorageArr = this.data.checkBoxArray;
var goodsNameArrayAll = this.data.goodsArray;
if (waitStorageArr.length <= 0) {
wx.showToast({
title: '请选择存货',
})
return;
} else {
// 对比所选存货是否已经存在于收藏中 有:不重复添加 返回未添加过的数组
for (var i = 0; i < waitStorageArr.length; i++) {
for (var j = 0; j < oldCollectionArr.length; j++) {
if (Number(waitStorageArr[i]) == Number(oldCollectionArr[j].SaleGoods_ID)) {
waitStorageArr.splice(i, 1);
}
}
}
// 对比原有数组和选中的数组 存在,将数组包含的其他值也取出加载
let choseCheck = [];
for (var i = 0; i < that.data.goodsArray.length; i++) {
for (var j = 0; j < waitStorageArr.length; j++) {
if (Number(goodsNameArrayAll[i].SaleGoods_ID) == waitStorageArr[j]) {
choseCheck.push(goodsNameArrayAll[i])
}
}
}
oldCollectionArr = oldCollectionArr.concat(choseCheck);
that.setData({
collectionArray: oldCollectionArr,
currentTab: 1,
});
wx.setStorage({
key: "storageGoodsKey",
data: oldCollectionArr,
success: function() {
wx.showToast({
title: '收藏成功',
});
},
})
}
},
// 多选框数值变化
checkboxValueChange: function(e) {
this.setData({
checkBoxArray: e.detail.value,
})
},
// 收藏夹页面多选框值变化
storageCheckboxValueChange:function (e){
this.setData({
storageCheckBoxArray: e.detail.value,
})
},
// 收藏夹点击添加存货明细按钮 存数据进入global
storageAddGoodsNameArrayBack: function () {
let choseCheck = []
// 对比原有数组和选中的数组 存在,将数组包含的其他值也取出加载
for (var i = 0; i < this.data.collectionArray.length; i++) {
for (var j = 0; j < this.data.storageCheckBoxArray.length; j++) {
if (Number(this.data.collectionArray[i].SaleGoods_ID) == this.data.storageCheckBoxArray[j]) {
choseCheck.push(this.data.collectionArray[i])
}
}
}
app.globalData.goodsNameArray = choseCheck;
var pages = getCurrentPages();
var currPage = pages[pages.length - 1]; //当前页面
var prevPage = pages[pages.length - 2]; //上一个页面
//直接调用上一个页面对象的setData()方法,把数据存到上一个页面中去
prevPage.setData({
backPage: "goodsNameChoosePage",
});
wx.navigateBack({
delta: 1,
})
},
// 全部页面点击添加存货明细按钮 存数据进入global
addGoodsName: function() {
let choseCheck = []
// 对比原有数组和选中的数组 存在,将数组包含的其他值也取出加载
for (var i = 0; i < this.data.goodsArray.length; i++) {
for (var j = 0; j < this.data.checkBoxArray.length; j++) {
if (Number(this.data.goodsArray[i].SaleGoods_ID) == this.data.checkBoxArray[j]) {
choseCheck.push(this.data.goodsArray[i])
}
}
}
app.globalData.goodsNameArray = choseCheck;
var pages = getCurrentPages();
var currPage = pages[pages.length - 1]; //当前页面
var prevPage = pages[pages.length - 2]; //上一个页面
//直接调用上一个页面对象的setData()方法,把数据存到上一个页面中去
prevPage.setData({
backPage: "goodsNameChoosePage",
});
wx.navigateBack({
delta: 1,
})
},
/**
* 滑动切换tab
*/
bindChange: function(e) {
var that = this;
that.setData({
currentTab: e.detail.current
});
},
/**
* 点击tab切换
*/
swichNav: function(e) {
var that = this;
if (this.data.currentTab === e.target.dataset.current) {
return false;
} else {
that.setData({
currentTab: e.target.dataset.current
})
}
},
})