diff --git a/pages/order/detail/detail.js b/pages/order/detail/detail.js
index 0edb547..b2bfec8 100644
--- a/pages/order/detail/detail.js
+++ b/pages/order/detail/detail.js
@@ -76,7 +76,7 @@ function GetGoodsInfo(that,dmo, detail) {
function GetCustomerInfo(that,dmo) {
var params = [dmo.Customer_ID, ["Department_ID", "Department_Name", "Employee_ID", "Employee_Name", "TakeGoods_Type", "Address"]]
- network.transfer_request(getCustomerInfo, [dmo.Customer_ID], function(res) {
+ network.transfer_request(getCustomerInfo, params, function(res) {
var obj = JSON.parse(res.result);
dmo.Department_ID = obj.Department_ID;
dmo.Department_Name = obj.Department_Name;
diff --git a/pages/saleForecastList/Detail/Detail.js b/pages/saleForecastList/Detail/Detail.js
index 6715b78..351724c 100644
--- a/pages/saleForecastList/Detail/Detail.js
+++ b/pages/saleForecastList/Detail/Detail.js
@@ -9,10 +9,10 @@ var orderID = 0;
var getAccountingUnit = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetAccountingUnit";
var getCustomer = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetCustomer";
var getDept = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetDepartment";
-// var getGoods = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetGoodsWithUnitPrice";
+var getSaleKind = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetSaleKind"
var getGoods = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetGoods";
var getGoodsDetail = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetGoodsDetailWithPrice"
-var getSaleKind = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetSaleKind"
+var getCustomerInfo = "/MainSystem/B3MiniProgramRpc/XuRpcs/Employee/OrderRpc/GetCustomerRefDto"
var load = "/MainSystem/B3MiniProgramRpc/XuRpcs/Employee/SaleForecastRpc/Load";
let update = '/MainSystem/B3MiniProgramRpc/XuRpcs/Employee/SaleForecastRpc/Update';
diff --git a/pages/saleForecastList/Detail/Detail.wxml b/pages/saleForecastList/Detail/Detail.wxml
index 73d6ffc..95cf5cb 100644
--- a/pages/saleForecastList/Detail/Detail.wxml
+++ b/pages/saleForecastList/Detail/Detail.wxml
@@ -54,7 +54,7 @@
送货地址
-
+
diff --git a/pages/saleForecastList/newBill/newBill.js b/pages/saleForecastList/newBill/newBill.js
index 05a6276..5a2e627 100644
--- a/pages/saleForecastList/newBill/newBill.js
+++ b/pages/saleForecastList/newBill/newBill.js
@@ -1,707 +1,452 @@
+// pages/saleForecastList/Detail/Detail.js
var app = getApp()
var network = require("../../../utils/net.js")
var dateTimePicker = require('../../../utils/dateTimePicker.js');
var utilll = require('../../../utils/util.js');
+var timechage = require("../../../utils/dateTimeUtil.js")
var getAccountingUnit = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetAccountingUnit";
var getCustomer = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetCustomer";
var getDept = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetDepartment";
-var getGoods = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetGoodsWithUnitPrice";
var getSaleKind = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetSaleKind"
+var getGoods = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetGoods";
+var getGoodsDetail = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetGoodsDetailWithPrice"
+var getCustomerInfo = "/MainSystem/B3MiniProgramRpc/XuRpcs/Employee/OrderRpc/GetCustomerRefDto"
+
var insert = '/MainSystem/B3MiniProgramRpc/XuRpcs/Employee/SaleForecastRpc/Insert';
-function GetAccountingUnit(that, inputValue) {
- let method = getAccountingUnit;
- let params = [{
- "InputValue": inputValue,
- "PageIndex": 0,
- "PageSize": 100
- }];
- network.transfer_request(method, params, function(res) {
- that.setData({
- currency: res.result,
- unit: res.result
- })
- })
+// 获取完整的年月日 时分秒,以及默认显示的数组
+// 精确到分的处理,将数组的秒去掉
+function setTime(that) {
+ var obj1 = dateTimePicker.dateTimePicker(2018, 2030);
+ var lastArray = obj1.dateTimeArray.pop();
+ var lastTime = obj1.dateTime.pop();
that.setData({
- which: "会计部门"
- })
+ dateTimeArray1: obj1.dateTimeArray,
+ dateTime1: obj1.dateTime
+ });
+ that.timeConversion();
}
-function GetDepartment(that, inputValue) {
- let method = getDept;
- let params = [{
- "InputValue": inputValue,
- "PageIndex": 0,
- "PageSize": 100
- }];
- network.transfer_request(method, params, function(res) {
+function GetBaseInfoList(that, method, params) {
+ network.transfer_request(method, params, function (res) {
that.setData({
- currency: res.result,
- department: res.result
- })
- })
- that.setData({
- which: "部门"
- })
+ currency: res.result
+ });
+ });
}
-function GetSaleKind(that, v) {
- let method = getSaleKind;
- let params = [{
- "InputValue": v,
- "PageIndex": 0,
- "PageSize": 100
- }];
- network.transfer_request(method, params, function(res) {
+function GetGoodsInfo(that, dmo, detail) {
+ var params = [{
+ "Goods_ID": detail.SaleGoods_ID,
+ "Customer_ID": dmo.Customer_ID,
+ "AccountingUnit_ID": dmo.AccountingUnit_ID,
+ "Date": dmo.Date,
+ }]
+ network.transfer_request(getGoodsDetail, params, function (res) {
+ detail.Goods_SecondUnit = res.result.Goods_SecondUnit;
+ detail.Goods_UnitConvertDirection = res.result.Goods_UnitConvertDirection;
+ detail.Goods_MainUnitRatio = res.result.Goods_MainUnitRatio;
+ detail.Goods_SecondUnitRatio = res.result.Goods_SecondUnitRatio;
+ detail.Unit = res.result.Unit;
+ detail.LeftRatio = res.result.LeftRatio;
+ detail.RightRatio = res.result.RightRatio;
+ if (res.result.RightRatio == null) {
+ detail.RightRatio = Number(1)
+ }
+ if (res.result.LeftRatio == null) {
+ detail.LeftRatio = Number(1)
+ }
+ detail.Price = res.result.Price;
+ detail.PolicyPrice = res.result.PolicyPrice;
that.setData({
- currency: res.result,
- saletype: res.result
- })
- })
- that.setData({
- which: "销售类型"
- })
+ dmo: dmo
+ });
+ });
}
-function GetGoodsWithUnitPrice(that, v, date) {
- let unitID = that.data.unit[that.data.isUnit].ID;
- let customerID = that.data.customer[that.data.customerIndex].ID;
- let method = getGoods;
- let params = [{
- "Input": v,
- "PageIndex": 0,
- "PageSize": 100,
- "Customer_ID": customerID,
- "AccountingUnit_ID": unitID,
- "Date": date
- }];
- network.transfer_request(method, params, function(res) {
+function GetCustomerInfo(that, dmo) {
+ var params = [dmo.Customer_ID, ["Department_ID", "Department_Name", "Employee_ID", "Employee_Name", "TakeGoods_Type", "Address"]]
+ network.transfer_request(getCustomerInfo, params, function (res) {
+ var obj = JSON.parse(res.result);
+ dmo.Department_ID = obj.Department_ID;
+ dmo.Department_Name = obj.Department_Name;
+ dmo.Employee_ID = obj.Employee_ID;
+ dmo.Employee_Name = obj.Employee_Name;
+ dmo.TakeGoods_Type = obj.TakeGoods_Type;
+ dmo.DeliverAddress = obj.Address;
that.setData({
- goods: res.result,
- })
- })
+ dmo: dmo
+ });
+ });
}
Page({
-
data: {
- which: "",
- winHeight: app.globalData.winHeight,
-
- // 从哪个页面返回当前页面
- backPage: "",
-
- // tab切换
currentTab: 0,
- // 存货数组
- obj: [],
- goods: [],
- idx: 0,
- currency: [],
- saletypeIndex: 0,
- saletype: [{
- ID: 0,
- Name: "请选择销售类型"
- }],
- departmentIndex: 0,
- department: [{
- ID: 0,
- Name: "请选择销售部门"
- }],
- customerIndex: 0,
- customer: [{
- ID: 0,
- Name: "请选择客户"
- }],
- isUnit: 0,
- unit: [{
- ID: 0,
- Name: "请选择会计单位"
- }],
- addrs: "",
- dateTimeArray: null,
- dateTime: null,
+ winHeight: app.globalData.winHeight,
+ which: '',
+ rowIdx: -1,
+ dmo: {
+ Details: [],
+ },
dateTimeArray1: null,
- dateTime1: null,
- startYear: 2018,
- endYear: 2030
- },
-
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function(options) {
- var that = this;
-
- // 获取完整的年月日 时分秒,以及默认显示的数组
- var obj1 = dateTimePicker.dateTimePicker(this.data.startYear, this.data.endYear);
- // 精确到分的处理,将数组的秒去掉
- var lastArray = obj1.dateTimeArray.pop();
- var lastTime = obj1.dateTime.pop();
-
- this.setData({
- dateTimeArray: obj1.dateTimeArray,
- dateTime: obj1.dateTime,
- dateTimeArray1: obj1.dateTimeArray,
- dateTime1: obj1.dateTime
- });
-
+ dateTime1: null
},
- /**
- * 生命周期函数--监听页面显示
- */
- onShow: function() {
+ onLoad: function (options) {
var that = this;
-
- if (that.data.backPage == "customerChoosePage") {
- // 返回的用户只能是一条,所以index只能为0
- var customerArr = app.globalData.customerArray;
- if (customerArr.length > 0) {
- that.setData({
- customer: customerArr,
- customerIndex: 0,
- })
- }
- }
-
- if (that.data.backPage == "goodsNameChoosePage") {
- // 获取存货 加载完成后计算价格政策
- var goodsArr = app.globalData.goodsNameArray;
- if (goodsArr.length > 0) {
- let backGoodsArr = [];
- for (var i = 0; i < goodsArr.length; i++) {
-
- var name = goodsArr[i].Goods_Name;
- var id = goodsArr[i].SaleGoods_ID;
- var pp = goodsArr[i].PolicyPrice;
- var price = goodsArr[i].Price;
- var mainUnitRatio = goodsArr[i].Goods_MainUnitRatio;
- var secondUnitRatio = goodsArr[i].Goods_SecondUnitRatio;
- var unitConvertDirection = goodsArr[i].Goods_UnitConvertDirection;
- var rightRatio = goodsArr[i].RightRatio;
- var leftRatio = goodsArr[i].LeftRatio;
-
- if (pp == null) {
- pp = Number(0);
- }
- if (rightRatio == null) {
- rightRatio = Number(1);
- }
- if (leftRatio == null) {
- leftRatio = Number(1);
- }
-
- let goodsNameObj = {
- Goods_MainUnitRatio: Number(mainUnitRatio),
- Goods_SecondUnitRatio: Number(secondUnitRatio),
- SaleGoods_ID: Number(id),
- Goods_Name: name,
- Price: Number(price),
- PolicyPrice: Number(pp),
- Goods_UnitConvertDirection: Number(unitConvertDirection),
- RightRatio: rightRatio,
- LeftRatio: leftRatio,
- }
- backGoodsArr.push(goodsNameObj)
- }
-
- that.setData({
- obj: backGoodsArr,
- })
- }
- }
-
- },
-
- // 原有请求客户的方法,已经废弃
- GetCustomer: function() {
- wx.navigateTo({
- url: '../../customerChooseTemplate/customerChooseTemplate?fromePage=newForecast',
- })
- // let method = getCustomer;
- // let params = [{
- // "InputValue": inputValue,
- // "PageIndex": 0,
- // "PageSize": 100
- // }];
- // network.transfer_request(method, params, function(res) {
- // that.setData({
- // currency: res.result,
- // customer: res.result
- // })
- // })
- // that.setData({
- // which: "购货客户"
- // })
- },
-
-
-
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload: function() {
- app.globalData.goodsNameArray = [];
- app.globalData.customerArray = [];
+ setTime(that);
},
/**
* 滑动切换tab
*/
- bindChange: function(e) {
-
- var that = this;
- that.setData({
+ bindChange: function (e) {
+ this.setData({
currentTab: e.detail.current
});
-
},
/**
* 点击tab切换
*/
- swichNav: function(e) {
-
- var that = this;
-
+ swichNav: function (e) {
if (this.data.currentTab === e.target.dataset.current) {
return false;
} else {
- that.setData({
+ this.setData({
currentTab: e.target.dataset.current
})
}
},
- // 添加地址
- getAddrs: function(e) {
- this.data.addrs = e.detail.value;
- },
-
- // 添加存货 跳转存货选择页面
- add: function(e) {
- var that = this;
- let unitID = that.data.unit[that.data.isUnit].ID;
- let customerID = that.data.customer[that.data.customerIndex].ID;
- if (unitID && customerID) {
- wx.navigateTo({
- url: '../../goodaNameChooseTemplate/goodaNameChooseTemplate?unitID=' + unitID + '&customerID' + customerID,
- })
- } else {
- wx.showModal({
- title: '提示',
- content: '请先选择客户及会计单位',
- })
- }
+ changeDateTime1: function (e) {
+ this.setData({
+ dateTime1: e.detail.value,
+ });
+ this.timeConversion();
},
- // 添加购货客户 跳转客户选择页面
- getCustomerItem: function() {
- wx.navigateTo({
- url: '../../customerChooseTemplate/customerChooseTemplate?fromePage=newForecast',
+ // 添加一个时间转换
+ timeConversion: function () {
+ let year = this.data.dateTimeArray1[0][this.data.dateTime1[0]]
+ let month = this.data.dateTimeArray1[1][this.data.dateTime1[1]]
+ let date = this.data.dateTimeArray1[2][this.data.dateTime1[2]]
+ let hour = this.data.dateTimeArray1[3][this.data.dateTime1[3]]
+ let minu = this.data.dateTimeArray1[4][this.data.dateTime1[4]]
+ let stringTime = year + "/" + month + "/" + date + " " + hour + ":" + minu + ":00"
+ let timestamp = Date.parse(new Date(stringTime));
+ let loadTime = "/Date(" + timestamp + "+0800)/";
+ this.data.dmo.Date = loadTime;
+ this.setData({
+ dmo: this.data.dmo,
})
},
- deleteItem: function(e) {
- let idx = e.target.dataset.idx;
- let deleteobj = this.data.obj;
- deleteobj.splice(idx, 1)
+ getAddrs: function (e) {
+ this.data.dmo.DeliverAddress = e.detail.value;
this.setData({
- obj: deleteobj
- })
+ dmo: this.data.dmo
+ });
},
- getGoodsNum: function(e) {
- //值:
- //e.detail.value
- //设置的id
- //e.target.dataset.index
- let value = e.detail.value;
- let idx = e.target.dataset.idx;
-
- let end = value.charAt(value.length - 1)
- if (end != ".") {
-
- this.data.obj[idx].goodsNum = Number(value);
-
- let Goods_MainUnitRatio = this.data.obj[idx].Goods_MainUnitRatio
- let Goods_SecondUnitRatio = this.data.obj[idx].Goods_SecondUnitRatio
- let Goods_UnitConvertDirection = this.data.obj[idx].Goods_UnitConvertDirection
- let RightRatio = this.data.obj[idx].RightRatio
- let LeftRatio = this.data.obj[idx].LeftRatio
-
- var numberNumber = Number(value) / RightRatio * LeftRatio;
- if (Goods_UnitConvertDirection == 0 || Goods_UnitConvertDirection == 1) {
- let secondNumber = numberNumber / (Goods_MainUnitRatio) * (Goods_SecondUnitRatio);
- this.data.obj[idx].goodsSecondNum = Number(secondNumber)
- this.setData({
- obj: this.data.obj
- })
+ powerDrawer: function (e) {
+ let x = e.currentTarget.dataset.x;
+ if (x == "存货") {
+ var dmo = this.data.dmo;
+ if (dmo.AccountingUnit_ID == null || dmo.Customer_ID == null || dmo.Date == null) {
+ wx.showModal({
+ title: '提示',
+ content: '请先选择客户及会计单位',
+ });
+ return;
}
}
-
+ let idx = e.currentTarget.dataset.idx;
+ if (idx == undefined)
+ idx = -1;
+ this.showDialog(x, '');
+ this.setData({
+ which: x,
+ rowIdx: idx
+ });
+ this.util();
},
- getSecondNum: function(e) {
- let value = e.detail.value;
- let idx = e.target.dataset.idx;
- let end = value.charAt(value.length - 1)
- if (end != ".") {
- this.data.obj[idx].goodsSecondNum = Number(value);
-
- let Goods_MainUnitRatio = this.data.obj[idx].Goods_MainUnitRatio
- let Goods_SecondUnitRatio = this.data.obj[idx].Goods_SecondUnitRatio
- let Goods_UnitConvertDirection = this.data.obj[idx].Goods_UnitConvertDirection
- let RightRatio = this.data.obj[idx].RightRatio
- let LeftRatio = this.data.obj[idx].LeftRatio
-
- var numberNumber = Number(value) / LeftRatio * RightRatio;
- if (Goods_UnitConvertDirection == 0 || Goods_UnitConvertDirection == 2) {
- let unitnumber = numberNumber / (Goods_SecondUnitRatio) * (Goods_MainUnitRatio);
- this.data.obj[idx].goodsNum = Number(unitnumber)
- this.setData({
- obj: this.data.obj
- })
- }
- }
- },
- getPrice: function(e) {
- let value = e.detail.value;
- let idx = e.target.dataset.idx;
- this.data.obj[idx].Price = Number(value);
+ select: function (e) {
+ var value = e.detail.value;
+ var x = this.data.which;
+ this.showDialog(x, value);
},
- powerDrawer: function(e) {
- let that = this;
- let x = e.currentTarget.dataset.x;
- if (x == "会计部门") {
- GetAccountingUnit(that, "")
- } else if (x == "购货客户") {
- GetCustomer(that, "")
- } else if (x == "部门") {
- GetDepartment(that, "")
- } else if (x == "销售类型") {
- GetSaleKind(that, "")
+
+ showDialog: function (x, value) {
+ var method = null;
+ let params = [{
+ "InputValue": value,
+ "PageIndex": 0,
+ "PageSize": 100
+ }];
+ switch (x) {
+ case "购货客户":
+ method = getCustomer;
+ break;
+ case "会计部门":
+ method = getAccountingUnit;
+ break;
+ case "部门":
+ method = getDept;
+ break;
+ case "销售类型":
+ method = getSaleKind;
+ break;
+ case "存货":
+ method = getGoods;
+ break;
}
- let currentStatu = e.currentTarget.dataset.statu;
- // if (e.currentTarget.dataset.idx != null) {
- // let idxx = e.currentTarget.dataset.idx;
- // this.setData({
- // idx: idxx
- // })
- // }
- this.util(currentStatu)
+ GetBaseInfoList(this, method, params);
},
- powerDrawer1: function(e) {
- let that = this;
- let currentStatu = e.currentTarget.dataset.statu;
- let timestamp = Date.parse(new Date());
- let date = "/Date(" + timestamp + "+0800)/";
- GetGoodsWithUnitPrice(that, "", date)
+ dialogClose: function (e) {
+ this.util();
+ },
- if (e.currentTarget.dataset.idx != null) {
- let idxx = e.currentTarget.dataset.idx;
+ util: function () {
+ /* 动画部分 */
+ // 第1步:创建动画实例
+ var animation = wx.createAnimation({
+ duration: 200, //动画时长
+ timingFunction: "linear", //线性
+ delay: 0 //0则不延迟
+ });
+ // 第2步:这个动画实例赋给当前的动画实例
+ this.animation = animation;
+ // 第3步:执行第一组动画
+ animation.opacity(0).rotateX(-100).step();
+ // 第4步:导出动画对象赋给数据对象储存
+ this.setData({
+ animationData: animation.export()
+ })
+ // 第5步:设置定时器到指定时候后,执行第二组动画
+ setTimeout(function () {
+ // 执行第二组动画
+ animation.opacity(1).rotateX(0).step();
+ // 给数据对象储存的第一组动画,更替为执行完第二组动画的动画对象
this.setData({
- idx: idxx
+ animationData: animation
})
- }
- this.util1(currentStatu)
+
+ //关闭
+ this.setData({
+ showModalStatus: !this.data.showModalStatus,
+ });
+ }.bind(this), 200)
},
- itemclick: function(e) {
- var that = this;
- var name = e.currentTarget.dataset.name;
- var id = e.currentTarget.dataset.id;
- var which = e.currentTarget.dataset.item;
- var idx = e.currentTarget.dataset.idx;
-
- if (which == "会计部门") {
- that.setData({
- isUnit: idx
- })
- } else if (which == "购货客户") {
- that.setData({
- customerIndex: idx
- })
- } else if (which == "部门") {
- that.setData({
- departmentIndex: idx
- })
- } else if (which == "销售类型") {
- that.setData({
- saletypeIndex: idx
- })
+
+ itemclick: function (e) {
+ var flag = true;
+ var x = this.data.which;
+ var item = e.currentTarget.dataset.item;
+ var dmo = this.data.dmo;
+ switch (x) {
+ case "购货客户":
+ dmo.Customer_ID = item.ID;
+ dmo.Customer_Name = item.Name;
+ flag = false;
+ GetCustomerInfo(this, dmo);
+ break;
+ case "会计部门":
+ dmo.AccountingUnit_ID = item.ID;
+ dmo.AccountingUnit_Name = item.Name;
+ break;
+ case "部门":
+ dmo.Department_ID = item.ID;
+ dmo.Department_Name = item.Name;
+ break;
+ case "销售类型":
+ dmo.SaleKind_ID = item.ID;
+ dmo.SaleKind_Name = item.Name;
+ break;
+ case "存货":
+ var idx = this.data.rowIdx;
+ var detail = dmo.Details[idx];
+ detail.SaleGoods_ID = item.ID;
+ detail.Goods_Name = item.Name;
+ flag = false;
+ GetGoodsInfo(this, dmo, detail);
+ break;
}
+ if (flag) {
+ this.setData({
+ dmo: dmo
+ });
+ }
+
+ this.util();
+ },
+ getGoodsNum: function (e) {
+ let idx = e.target.dataset.idx;
+ var detail = this.data.dmo.Details[idx];
+ let value = Number(e.detail.value);
+ if (isNaN(value)) {
+ wx.showModal({
+ title: '提示',
+ content: '输入格式不正确',
+ });
+ } else {
+ detail.UnitNum = value;
+
+ var numberNumber = detail.UnitNum / detail.RightRatio * detail.LeftRatio;
+ if (detail.Goods_UnitConvertDirection == 0 || detail.Goods_UnitConvertDirection == 1) {
+ detail.SecondNumber = numberNumber / (detail.Goods_MainUnitRatio) * (detail.Goods_SecondUnitRatio);
+ }
+ }
this.setData({
- showModalStatus: false,
+ dmo: this.data.dmo
})
},
- // 选取货物后进行价格计算
- itemclick1: function(e) {
- var that = this;
- var name = e.currentTarget.dataset.name;
- var id = e.currentTarget.dataset.data.SaleGoods_ID;
- var pp = e.currentTarget.dataset.PolicyPrice;
- var price = e.currentTarget.dataset.data.Price;
- var Goods_MainUnitRatio = e.currentTarget.dataset.data.Goods_MainUnitRatio
- var Goods_SecondUnitRatio = e.currentTarget.dataset.data.Goods_SecondUnitRatio
- var Goods_UnitConvertDirection = e.currentTarget.dataset.data.Goods_UnitConvertDirection
-
- if (e.currentTarget.dataset.data.RightRatio == null) {
- this.data.obj[this.data.idx].RightRatio = Number(1)
- }
- if (e.currentTarget.dataset.data.LeftRatio == null) {
- this.data.obj[this.data.idx].LeftRatio = Number(1)
+
+ getSecondNum: function (e) {
+ let idx = e.target.dataset.idx;
+ var detail = this.data.dmo.Details[idx];
+ let value = Number(e.detail.value);
+ if (isNaN(value)) {
+ wx.showModal({
+ title: '提示',
+ content: '输入格式不正确',
+ });
+ } else {
+ detail.SecondNumber = value;
+
+ var numberNumber = detail.SecondNumber / detail.LeftRatio * detail.RightRatio;
+ if (detail.Goods_UnitConvertDirection == 0 || detail.Goods_UnitConvertDirection == 2) {
+ detail.UnitNum = numberNumber / (Goods_SecondUnitRatio) * (Goods_MainUnitRatio);
+ }
}
- this.data.obj[this.data.idx].Goods_MainUnitRatio = Number(Goods_MainUnitRatio)
- this.data.obj[this.data.idx].Goods_SecondUnitRatio = Number(Goods_SecondUnitRatio)
- this.data.obj[this.data.idx].SaleGoods_ID = Number(id);
- this.data.obj[this.data.idx].Goods_Name = name;
- this.data.obj[this.data.idx].Price = Number(price)
- this.data.obj[this.data.idx].PolicyPrice = Number(pp);
- this.data.obj[this.data.idx].Goods_UnitConvertDirection = Number(Goods_UnitConvertDirection)
this.setData({
- showModalStatus1: false,
- obj: that.data.obj
+ dmo: this.data.dmo
})
},
- select: function(e) {
- var that = this;
- var which = e.currentTarget.dataset.item;
- var value = e.detail.value;
- if (which == "会计部门") {
- GetAccountingUnit(that, value)
- } else if (which == "购货客户") {
- GetCustomer(that, value)
- } else if (which == "部门") {
- GetDepartment(that, value)
- } else if (which == "销售类型") {
- GetSaleKind(that, value)
- }
+ getPrice: function (e) {
+ let idx = e.target.dataset.idx;
+ let value = Number(e.detail.value);
+ if (isNaN(value)) {
+ wx.showToast({
+ title: '提示',
+ content: '输入格式不正确',
+ })
+ } else
+ this.data.dmo.Details[idx].Price = value;
+ this.setData({
+ dmo: this.data.dmo
+ })
},
- select1: function(e) {
- var that = this;
- var value = e.detail.value;
- let timestamp = Date.parse(new Date());
- let date = "/Date(" + timestamp + "+0800)/";
- GetGoodsWithUnitPrice(that, value, date)
+
+ deleteItem: function (e) {
+ let idx = e.target.dataset.idx;
+ this.data.dmo.Details.splice(idx, 1)
+ this.setData({
+ dmo: this.data.dmo
+ })
},
- submitForm: function() {
- let unitID = this.data.unit[this.data.isUnit].ID;
- let customerID = this.data.customer[this.data.customerIndex].ID;
- let departmentID = this.data.department[this.data.departmentIndex].ID;
- let saletypeID = this.data.saletype[this.data.saletypeIndex].ID;
- let year = this.data.dateTimeArray1[0][this.data.dateTime1[0]]
- let month = this.data.dateTimeArray1[1][this.data.dateTime1[1]]
- let date = this.data.dateTimeArray1[2][this.data.dateTime1[2]]
- let hour = this.data.dateTimeArray1[3][this.data.dateTime1[3]]
- let minu = this.data.dateTimeArray1[4][this.data.dateTime1[4]]
+ add: function (e) {
+ let newobj = {};
+ this.data.dmo.Details.push(newobj);
+ this.setData({
+ dmo: this.data.dmo
+ })
+ },
- let stringTime = year + "/" + month + "/" + date + " " + hour + ":" + minu + ":00"
- let timestamp2 = Date.parse(new Date(stringTime));
- let update = "/Date(" + timestamp2 + "+0800)/";
+ submitForm: function () {
+ var dmo = this.data.dmo;
- if (customerID == 0) {
+ if (dmo.Customer_ID == null) {
wx.showToast({
title: '请选择购货客户'
})
return;
}
- if (unitID == 0) {
+ if (dmo.AccountingUnit_ID == null) {
wx.showToast({
title: '请选择会计单位'
})
return;
}
- if (departmentID == 0) {
+ if (dmo.Department_ID == null) {
wx.showToast({
title: '请选择销售部门',
})
return;
}
- if (saletypeID == 0) {
+ if (dmo.SaleKind_ID == null) {
wx.showToast({
title: '请选择销售类型',
})
return;
}
- if (this.data.addrs == "") {
+
+ if (dmo.DeliverAddress == "") {
wx.showToast({
title: '请填写送货地址',
})
return;
}
- let detailsArray = [];
-
- for (var i = 0; i < this.data.obj.length; i++) {
- if (this.data.obj[i].Goods_Name == "请选择存货") {
+ for (var i = 0; i < dmo.Details.length; i++) {
+ if (dmo.Details[i].SaleGoods_ID == null) {
wx.showToast({
title: '存货不能为空',
})
return;
}
- if (this.data.obj[i].goodsNum == null) {
+ if (dmo.Details[i].UnitNum == null) {
wx.showToast({
title: '报货数量不能为空',
})
return;
}
- if (this.data.obj[i].goodsSecondNum == null) {
+ if (dmo.Details[i].SecondNumber == null) {
wx.showToast({
title: '辅数量不能为空',
})
return;
}
- var dmo = {
- SaleGoods_ID: this.data.obj[i].SaleGoods_ID,
- UnitNum: this.data.obj[i].goodsNum,
- SecondNumber: this.data.obj[i].goodsSecondNum,
- Price: this.data.obj[i].Price,
- PolicyPrice: this.data.obj[i].PolicyPrice
- // PolicyPrice: 10
- }
- detailsArray.push(dmo)
}
-
let method = insert;
let params = [{
- "Customer_ID": customerID,
- // "LoadTime": update,
- "Date": update,
- "DeliveryTime": update,
- "AccountingUnit_ID": unitID,
- "Department_ID": departmentID,
- "SaleKind_ID": saletypeID,
- "DeliverAddress": this.data.addrs,
- "Details": detailsArray
-
+ "Customer_ID": dmo.Customer_ID,
+ "Date": dmo.Date,
+ "AccountingUnit_ID": dmo.AccountingUnit_ID,
+ "Department_ID": dmo.Department_ID,
+ "SaleKind_ID": dmo.SaleKind_ID,
+ "DeliverAddress": dmo.DeliverAddress,
+ "Details": dmo.Details,
+ "ID": dmo.ID
}];
- network.transfer_request(method, params, function(res) {
+
+ network.transfer_request(method, params, function (res) {
if (res.result != null) {
+
wx.showModal({
- title: '新建订单No.' + res.result,
- content: '新建成功,是否返回上级列表',
- success: function(res) {
- if (res.cancel) {} else {
+ title: '新建预报No.' + res.result,
+ content: '新建成功,是否返回首页',
+ success: function (res) {
+ if (res.confirm) {
wx.navigateBack({
delta: 1
})
}
},
- fail: function(res) {}
+ fail: function (res) { }
})
}
})
},
- changeDateTime1(e) {
- this.setData({
- dateTime1: e.detail.value
- });
-
- },
- util: function(currentStatu) {
- /* 动画部分 */
- // 第1步:创建动画实例
- var animation = wx.createAnimation({
- duration: 200, //动画时长
- timingFunction: "linear", //线性
- delay: 0 //0则不延迟
- });
-
- // 第2步:这个动画实例赋给当前的动画实例
- this.animation = animation;
-
- // 第3步:执行第一组动画
- animation.opacity(0).rotateX(-100).step();
-
- // 第4步:导出动画对象赋给数据对象储存
- this.setData({
- animationData: animation.export()
- })
-
- // 第5步:设置定时器到指定时候后,执行第二组动画
- setTimeout(function() {
- // 执行第二组动画
- animation.opacity(1).rotateX(0).step();
- // 给数据对象储存的第一组动画,更替为执行完第二组动画的动画对象
- this.setData({
- animationData: animation
- })
-
- //关闭
- if (currentStatu == "close") {
- this.setData({
- showModalStatus: false,
- });
- }
- }.bind(this), 200)
-
- // 显示
- if (currentStatu == "open") {
- // 调用函数时,传入new Date()参数,返回值是日期和时间
- // var timet = utilll.formatTime(new Date());
- // 再通过setData更改Page()里面的data,动态更新页面的数据
- this.setData({
- // time: timet,
- showModalStatus: true,
- });
- }
- },
- util1: function(currentStatu) {
- /* 动画部分 */
- // 第1步:创建动画实例
- var animation = wx.createAnimation({
- duration: 200, //动画时长
- timingFunction: "linear", //线性
- delay: 0 //0则不延迟
- });
-
- // 第2步:这个动画实例赋给当前的动画实例
- this.animation = animation;
-
- // 第3步:执行第一组动画
- animation.opacity(0).rotateX(-100).step();
-
- // 第4步:导出动画对象赋给数据对象储存
- this.setData({
- animationData: animation.export()
- })
-
- // 第5步:设置定时器到指定时候后,执行第二组动画
- setTimeout(function() {
- // 执行第二组动画
- animation.opacity(1).rotateX(0).step();
- // 给数据对象储存的第一组动画,更替为执行完第二组动画的动画对象
- this.setData({
- animationData: animation
- })
-
- //关闭
- if (currentStatu == "close") {
- this.setData({
- showModalStatus1: false
- });
- }
- }.bind(this), 200)
-
- // 显示
- if (currentStatu == "open") {
- // 调用函数时,传入new Date()参数,返回值是日期和时间
- // var timet = utilll.formatTime(new Date());
- // 再通过setData更改Page()里面的data,动态更新页面的数据
- this.setData({
- // time: timet,
- showModalStatus1: true
- });
- }
- }
})
\ No newline at end of file
diff --git a/pages/saleForecastList/newBill/newBill.json b/pages/saleForecastList/newBill/newBill.json
index f54f6e5..dca3ffb 100644
--- a/pages/saleForecastList/newBill/newBill.json
+++ b/pages/saleForecastList/newBill/newBill.json
@@ -1,5 +1,5 @@
{
- "navigationBarBackgroundColor": "white",
- "navigationBarTextStyle": "black",
- "navigationBarTitleText": "预报新建"
+ "navigationBarBackgroundColor": "white",
+ "navigationBarTextStyle": "black",
+ "navigationBarTitleText": "预报新建"
}
\ No newline at end of file
diff --git a/pages/saleForecastList/newBill/newBill.wxml b/pages/saleForecastList/newBill/newBill.wxml
index 3f4d943..4ee77ad 100644
--- a/pages/saleForecastList/newBill/newBill.wxml
+++ b/pages/saleForecastList/newBill/newBill.wxml
@@ -1,156 +1,133 @@
+
+
基本信息
预报详细
-
-
- 购货客户
-
-
- {{customer[customerIndex].Name}}
-
-
+
-
- 发货时间
-
-
- {{dateTimeArray1[0][dateTime1[0]]}}-{{dateTimeArray1[1][dateTime1[1]]}}-{{dateTimeArray1[2][dateTime1[2]]}} {{dateTimeArray1[3][dateTime1[3]]}}:{{dateTimeArray1[4][dateTime1[4]]}}
+
+ 购货客户
+
+ {{dmo.Customer_Name?dmo.Customer_Name:"请选择客户"}}
-
-
-
-
- 会计单位
+
+
-
- {{unit[isUnit].Name}}
+
+ 发货时间
+
+
+ {{dateTimeArray1[0][dateTime1[0]]}}-{{dateTimeArray1[1][dateTime1[1]]}}-{{dateTimeArray1[2][dateTime1[2]]}} {{dateTimeArray1[3][dateTime1[3]]}}:{{dateTimeArray1[4][dateTime1[4]]}}
+
+
-
+
-
- 销售部门
+
+ 会计单位
+
+ {{dmo.AccountingUnit_Name?dmo.AccountingUnit_Name:"请选择会计单位"}}
+
+
+
-
- {{department[departmentIndex].Name}}
+
+ 销售部门
+
+ {{dmo.Department_Name?dmo.Department_Name:"请选择销售部门"}}
+
-
+
-
- 销售类型
+
+ 销售类型
+
+ {{dmo.SaleKind_Name?dmo.SaleKind_Name:"请选择销售类型"}}
+
+
+
-
- {{saletype[saletypeIndex].Name}}
+
+ 送货地址
+
-
+
-
- 送货地址
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{item.Name}}
-
-
-
- 取消
-
-
-
+
- 存货名称
-
- {{obj[idx].Goods_Name}}
-
+ 存货名称
+
+ {{item.Goods_Name?item.Goods_Name:"请选择存货"}}
+
+
-
-
- 报货数量
-
-
-
-
- 辅 数 量
-
-
+
+ 报货数量
+
+
+
-
-
-
- 单 价
-
-
+
+ 辅 数 量
+
+
+
-
- 政策单价
- {{obj[idx].PolicyPrice}}
-
-
- 删除
+
+ 单 价
+
+
+
+
+ 政策单价
+ {{item.PolicyPrice}}
-
+
-
- 选择存货
-
+ 删除
+
+
+
+
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{item.Goods_Name}}
-
-
-
- 取消
-
+
+
+
+
+
+
+
+
+
+ {{item.Name}}
+
+
+
+ 取消
+
diff --git a/pages/saleForecastList/newBill/newBill.wxss b/pages/saleForecastList/newBill/newBill.wxss
index 912129f..0afaf53 100644
--- a/pages/saleForecastList/newBill/newBill.wxss
+++ b/pages/saleForecastList/newBill/newBill.wxss
@@ -1,6 +1,7 @@
-/* pages/saleForecastList/saleForecastCreatNew/saleForecastCreatNew.wxss */
+/* pages/saleForecastList/newBill/newBill.wxss */
+
page {
- background: rgb(240, 239, 245);
+ background: #EAF1F8;
height: calc(100%-10px);
}
.swiper-tab {
@@ -28,16 +29,15 @@ page {
color: white;
}
+
.swiper-box {
display: block;
width: 100%;
overflow: hidden;
- margin-top: 3px;
}
.swiper-items1 {
height: 100%;
- /* padding-top: 3%; */
}
.swiper-items2 {
@@ -48,67 +48,71 @@ page {
height: 100%;
}
-.baseitem {
+.backGroundContainer{
background: #fff;
- width: 100%;
- border-bottom: 0.1px solid #dbdbdb;
+}
+
+.baseitem {
+ height: 60rpx;
+ background: #fff;
+ /* border-bottom: 0.1px solid #dbdbdb; */
display: flex;
flex-direction: row;
align-items: center;
- padding-top: 20rpx;
- padding-bottom: 20rpx;
+ padding: 20rpx 20rpx;
font-size: 30rpx;
+
+}
+
+.horizontallineView {
+ height: 1rpx;
+ background-color: #dbdbdb;
+ margin-left: 20rpx;
+ margin-right: 0rpx;
}
.baseitem_key {
color: #666;
- width: 40%;
- margin-left: 20rpx;
+ width: 30%;
+ /* margin-left: 20rpx; */
}
.baseitem_value {
color: rgb(48, 48, 48);
- margin-left: 20rpx;
- margin-right: 20rpx;
- width: 160%;
+ /* margin-left: 20rpx;
+ margin-right: 20rpx; */
+ width: 70%;
text-align: right;
}
.baseitem_key2 {
color: #666;
- width: 40%;
- margin-left: 20rpx;
+ width: 30%;
+ /* margin-left: 20rpx; */
}
.baseitem_value2 {
color: rgb(48, 48, 48);
- margin-left: 20rpx;
- margin-right: 20rpx;
- width: 160%;
+ /* margin-left: 20rpx;
+ margin-right: 20rpx; */
+ width: 70%;
text-align: right;
}
.baseitem_key1 {
color: #666;
- width: 100%;
+ width: 30%;
margin-left: 20rpx;
}
.baseitem_value1 {
color: rgb(48, 48, 48);
- margin-left: 20rpx;
- margin-right: 20rpx;
- width: 100%;
+ /* margin-left: 20rpx;
+ margin-right: 20rpx; */
+ width: 70%;
text-align: right;
}
-
-::-webkit-scrollbar {
- width: 0;
- height: 0;
- color: transparent;
-}
-
.add {
display: flex;
flex-direction: row;
@@ -144,11 +148,16 @@ page {
.itemView {
margin-top: 20rpx;
+ background: #fff;
}
.submit {
- margin-top: 50rpx;
- margin-bottom: 30rpx;
+ margin-left: 5%;
+ margin-top: 10%;
+ width: 90%;
+ margin-right: 5%;
+ color: #fff;
+ background: linear-gradient(to right, #39c4fd, #539eef);
}
.drawer_screen {
@@ -217,4 +226,4 @@ page {
.text3 {
font-size: 18px;
color: rgb(48, 48, 48);
-}
+}
\ No newline at end of file
diff --git a/pages/saleForecastList/newBill1/newBill.js b/pages/saleForecastList/newBill1/newBill.js
new file mode 100644
index 0000000..05a6276
--- /dev/null
+++ b/pages/saleForecastList/newBill1/newBill.js
@@ -0,0 +1,707 @@
+var app = getApp()
+var network = require("../../../utils/net.js")
+var dateTimePicker = require('../../../utils/dateTimePicker.js');
+var utilll = require('../../../utils/util.js');
+
+var getAccountingUnit = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetAccountingUnit";
+var getCustomer = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetCustomer";
+var getDept = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetDepartment";
+var getGoods = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetGoodsWithUnitPrice";
+var getSaleKind = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetSaleKind"
+var insert = '/MainSystem/B3MiniProgramRpc/XuRpcs/Employee/SaleForecastRpc/Insert';
+
+function GetAccountingUnit(that, inputValue) {
+ let method = getAccountingUnit;
+ let params = [{
+ "InputValue": inputValue,
+ "PageIndex": 0,
+ "PageSize": 100
+ }];
+ network.transfer_request(method, params, function(res) {
+ that.setData({
+ currency: res.result,
+ unit: res.result
+ })
+ })
+ that.setData({
+ which: "会计部门"
+ })
+}
+
+function GetDepartment(that, inputValue) {
+ let method = getDept;
+ let params = [{
+ "InputValue": inputValue,
+ "PageIndex": 0,
+ "PageSize": 100
+ }];
+ network.transfer_request(method, params, function(res) {
+ that.setData({
+ currency: res.result,
+ department: res.result
+ })
+ })
+ that.setData({
+ which: "部门"
+ })
+}
+
+function GetSaleKind(that, v) {
+ let method = getSaleKind;
+ let params = [{
+ "InputValue": v,
+ "PageIndex": 0,
+ "PageSize": 100
+ }];
+ network.transfer_request(method, params, function(res) {
+ that.setData({
+ currency: res.result,
+ saletype: res.result
+ })
+ })
+ that.setData({
+ which: "销售类型"
+ })
+}
+
+function GetGoodsWithUnitPrice(that, v, date) {
+ let unitID = that.data.unit[that.data.isUnit].ID;
+ let customerID = that.data.customer[that.data.customerIndex].ID;
+ let method = getGoods;
+ let params = [{
+ "Input": v,
+ "PageIndex": 0,
+ "PageSize": 100,
+ "Customer_ID": customerID,
+ "AccountingUnit_ID": unitID,
+ "Date": date
+ }];
+ network.transfer_request(method, params, function(res) {
+ that.setData({
+ goods: res.result,
+ })
+ })
+}
+
+Page({
+
+ data: {
+ which: "",
+ winHeight: app.globalData.winHeight,
+
+ // 从哪个页面返回当前页面
+ backPage: "",
+
+ // tab切换
+ currentTab: 0,
+ // 存货数组
+ obj: [],
+ goods: [],
+ idx: 0,
+ currency: [],
+ saletypeIndex: 0,
+ saletype: [{
+ ID: 0,
+ Name: "请选择销售类型"
+ }],
+ departmentIndex: 0,
+ department: [{
+ ID: 0,
+ Name: "请选择销售部门"
+ }],
+ customerIndex: 0,
+ customer: [{
+ ID: 0,
+ Name: "请选择客户"
+ }],
+ isUnit: 0,
+ unit: [{
+ ID: 0,
+ Name: "请选择会计单位"
+ }],
+ addrs: "",
+ dateTimeArray: null,
+ dateTime: null,
+ dateTimeArray1: null,
+ dateTime1: null,
+ startYear: 2018,
+ endYear: 2030
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function(options) {
+ var that = this;
+
+ // 获取完整的年月日 时分秒,以及默认显示的数组
+ var obj1 = dateTimePicker.dateTimePicker(this.data.startYear, this.data.endYear);
+ // 精确到分的处理,将数组的秒去掉
+ var lastArray = obj1.dateTimeArray.pop();
+ var lastTime = obj1.dateTime.pop();
+
+ this.setData({
+ dateTimeArray: obj1.dateTimeArray,
+ dateTime: obj1.dateTime,
+ dateTimeArray1: obj1.dateTimeArray,
+ dateTime1: obj1.dateTime
+ });
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function() {
+ var that = this;
+
+ if (that.data.backPage == "customerChoosePage") {
+ // 返回的用户只能是一条,所以index只能为0
+ var customerArr = app.globalData.customerArray;
+ if (customerArr.length > 0) {
+ that.setData({
+ customer: customerArr,
+ customerIndex: 0,
+ })
+ }
+ }
+
+ if (that.data.backPage == "goodsNameChoosePage") {
+ // 获取存货 加载完成后计算价格政策
+ var goodsArr = app.globalData.goodsNameArray;
+ if (goodsArr.length > 0) {
+ let backGoodsArr = [];
+ for (var i = 0; i < goodsArr.length; i++) {
+
+ var name = goodsArr[i].Goods_Name;
+ var id = goodsArr[i].SaleGoods_ID;
+ var pp = goodsArr[i].PolicyPrice;
+ var price = goodsArr[i].Price;
+ var mainUnitRatio = goodsArr[i].Goods_MainUnitRatio;
+ var secondUnitRatio = goodsArr[i].Goods_SecondUnitRatio;
+ var unitConvertDirection = goodsArr[i].Goods_UnitConvertDirection;
+ var rightRatio = goodsArr[i].RightRatio;
+ var leftRatio = goodsArr[i].LeftRatio;
+
+ if (pp == null) {
+ pp = Number(0);
+ }
+ if (rightRatio == null) {
+ rightRatio = Number(1);
+ }
+ if (leftRatio == null) {
+ leftRatio = Number(1);
+ }
+
+ let goodsNameObj = {
+ Goods_MainUnitRatio: Number(mainUnitRatio),
+ Goods_SecondUnitRatio: Number(secondUnitRatio),
+ SaleGoods_ID: Number(id),
+ Goods_Name: name,
+ Price: Number(price),
+ PolicyPrice: Number(pp),
+ Goods_UnitConvertDirection: Number(unitConvertDirection),
+ RightRatio: rightRatio,
+ LeftRatio: leftRatio,
+ }
+ backGoodsArr.push(goodsNameObj)
+ }
+
+ that.setData({
+ obj: backGoodsArr,
+ })
+ }
+ }
+
+ },
+
+ // 原有请求客户的方法,已经废弃
+ GetCustomer: function() {
+ wx.navigateTo({
+ url: '../../customerChooseTemplate/customerChooseTemplate?fromePage=newForecast',
+ })
+ // let method = getCustomer;
+ // let params = [{
+ // "InputValue": inputValue,
+ // "PageIndex": 0,
+ // "PageSize": 100
+ // }];
+ // network.transfer_request(method, params, function(res) {
+ // that.setData({
+ // currency: res.result,
+ // customer: res.result
+ // })
+ // })
+ // that.setData({
+ // which: "购货客户"
+ // })
+ },
+
+
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function() {
+ app.globalData.goodsNameArray = [];
+ app.globalData.customerArray = [];
+ },
+
+ /**
+ * 滑动切换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
+ })
+ }
+ },
+
+ // 添加地址
+ getAddrs: function(e) {
+ this.data.addrs = e.detail.value;
+ },
+
+ // 添加存货 跳转存货选择页面
+ add: function(e) {
+ var that = this;
+ let unitID = that.data.unit[that.data.isUnit].ID;
+ let customerID = that.data.customer[that.data.customerIndex].ID;
+ if (unitID && customerID) {
+ wx.navigateTo({
+ url: '../../goodaNameChooseTemplate/goodaNameChooseTemplate?unitID=' + unitID + '&customerID' + customerID,
+ })
+ } else {
+ wx.showModal({
+ title: '提示',
+ content: '请先选择客户及会计单位',
+ })
+ }
+ },
+
+ // 添加购货客户 跳转客户选择页面
+ getCustomerItem: function() {
+ wx.navigateTo({
+ url: '../../customerChooseTemplate/customerChooseTemplate?fromePage=newForecast',
+ })
+ },
+
+ deleteItem: function(e) {
+ let idx = e.target.dataset.idx;
+ let deleteobj = this.data.obj;
+ deleteobj.splice(idx, 1)
+ this.setData({
+ obj: deleteobj
+ })
+ },
+
+ getGoodsNum: function(e) {
+ //值:
+ //e.detail.value
+ //设置的id
+ //e.target.dataset.index
+ let value = e.detail.value;
+ let idx = e.target.dataset.idx;
+
+ let end = value.charAt(value.length - 1)
+ if (end != ".") {
+
+ this.data.obj[idx].goodsNum = Number(value);
+
+ let Goods_MainUnitRatio = this.data.obj[idx].Goods_MainUnitRatio
+ let Goods_SecondUnitRatio = this.data.obj[idx].Goods_SecondUnitRatio
+ let Goods_UnitConvertDirection = this.data.obj[idx].Goods_UnitConvertDirection
+ let RightRatio = this.data.obj[idx].RightRatio
+ let LeftRatio = this.data.obj[idx].LeftRatio
+
+ var numberNumber = Number(value) / RightRatio * LeftRatio;
+ if (Goods_UnitConvertDirection == 0 || Goods_UnitConvertDirection == 1) {
+ let secondNumber = numberNumber / (Goods_MainUnitRatio) * (Goods_SecondUnitRatio);
+ this.data.obj[idx].goodsSecondNum = Number(secondNumber)
+ this.setData({
+ obj: this.data.obj
+ })
+ }
+ }
+
+ },
+ getSecondNum: function(e) {
+ let value = e.detail.value;
+ let idx = e.target.dataset.idx;
+
+ let end = value.charAt(value.length - 1)
+ if (end != ".") {
+ this.data.obj[idx].goodsSecondNum = Number(value);
+
+ let Goods_MainUnitRatio = this.data.obj[idx].Goods_MainUnitRatio
+ let Goods_SecondUnitRatio = this.data.obj[idx].Goods_SecondUnitRatio
+ let Goods_UnitConvertDirection = this.data.obj[idx].Goods_UnitConvertDirection
+ let RightRatio = this.data.obj[idx].RightRatio
+ let LeftRatio = this.data.obj[idx].LeftRatio
+
+ var numberNumber = Number(value) / LeftRatio * RightRatio;
+ if (Goods_UnitConvertDirection == 0 || Goods_UnitConvertDirection == 2) {
+ let unitnumber = numberNumber / (Goods_SecondUnitRatio) * (Goods_MainUnitRatio);
+ this.data.obj[idx].goodsNum = Number(unitnumber)
+ this.setData({
+ obj: this.data.obj
+ })
+ }
+ }
+ },
+ getPrice: function(e) {
+ let value = e.detail.value;
+ let idx = e.target.dataset.idx;
+ this.data.obj[idx].Price = Number(value);
+ },
+ powerDrawer: function(e) {
+ let that = this;
+ let x = e.currentTarget.dataset.x;
+ if (x == "会计部门") {
+ GetAccountingUnit(that, "")
+ } else if (x == "购货客户") {
+ GetCustomer(that, "")
+ } else if (x == "部门") {
+ GetDepartment(that, "")
+ } else if (x == "销售类型") {
+ GetSaleKind(that, "")
+ }
+ let currentStatu = e.currentTarget.dataset.statu;
+ // if (e.currentTarget.dataset.idx != null) {
+ // let idxx = e.currentTarget.dataset.idx;
+ // this.setData({
+ // idx: idxx
+ // })
+ // }
+ this.util(currentStatu)
+ },
+ powerDrawer1: function(e) {
+ let that = this;
+ let currentStatu = e.currentTarget.dataset.statu;
+
+ let timestamp = Date.parse(new Date());
+ let date = "/Date(" + timestamp + "+0800)/";
+ GetGoodsWithUnitPrice(that, "", date)
+
+ if (e.currentTarget.dataset.idx != null) {
+ let idxx = e.currentTarget.dataset.idx;
+ this.setData({
+ idx: idxx
+ })
+ }
+ this.util1(currentStatu)
+
+ },
+ itemclick: function(e) {
+ var that = this;
+ var name = e.currentTarget.dataset.name;
+ var id = e.currentTarget.dataset.id;
+ var which = e.currentTarget.dataset.item;
+ var idx = e.currentTarget.dataset.idx;
+
+ if (which == "会计部门") {
+ that.setData({
+ isUnit: idx
+ })
+ } else if (which == "购货客户") {
+ that.setData({
+ customerIndex: idx
+ })
+ } else if (which == "部门") {
+ that.setData({
+ departmentIndex: idx
+ })
+ } else if (which == "销售类型") {
+ that.setData({
+ saletypeIndex: idx
+ })
+ }
+
+ this.setData({
+ showModalStatus: false,
+ })
+ },
+ // 选取货物后进行价格计算
+ itemclick1: function(e) {
+ var that = this;
+ var name = e.currentTarget.dataset.name;
+ var id = e.currentTarget.dataset.data.SaleGoods_ID;
+ var pp = e.currentTarget.dataset.PolicyPrice;
+ var price = e.currentTarget.dataset.data.Price;
+ var Goods_MainUnitRatio = e.currentTarget.dataset.data.Goods_MainUnitRatio
+ var Goods_SecondUnitRatio = e.currentTarget.dataset.data.Goods_SecondUnitRatio
+ var Goods_UnitConvertDirection = e.currentTarget.dataset.data.Goods_UnitConvertDirection
+
+ if (e.currentTarget.dataset.data.RightRatio == null) {
+ this.data.obj[this.data.idx].RightRatio = Number(1)
+ }
+ if (e.currentTarget.dataset.data.LeftRatio == null) {
+ this.data.obj[this.data.idx].LeftRatio = Number(1)
+ }
+ this.data.obj[this.data.idx].Goods_MainUnitRatio = Number(Goods_MainUnitRatio)
+ this.data.obj[this.data.idx].Goods_SecondUnitRatio = Number(Goods_SecondUnitRatio)
+ this.data.obj[this.data.idx].SaleGoods_ID = Number(id);
+ this.data.obj[this.data.idx].Goods_Name = name;
+ this.data.obj[this.data.idx].Price = Number(price)
+ this.data.obj[this.data.idx].PolicyPrice = Number(pp);
+ this.data.obj[this.data.idx].Goods_UnitConvertDirection = Number(Goods_UnitConvertDirection)
+ this.setData({
+ showModalStatus1: false,
+ obj: that.data.obj
+ })
+ },
+
+ select: function(e) {
+ var that = this;
+ var which = e.currentTarget.dataset.item;
+ var value = e.detail.value;
+ if (which == "会计部门") {
+ GetAccountingUnit(that, value)
+ } else if (which == "购货客户") {
+ GetCustomer(that, value)
+ } else if (which == "部门") {
+ GetDepartment(that, value)
+ } else if (which == "销售类型") {
+ GetSaleKind(that, value)
+ }
+ },
+ select1: function(e) {
+ var that = this;
+ var value = e.detail.value;
+ let timestamp = Date.parse(new Date());
+ let date = "/Date(" + timestamp + "+0800)/";
+ GetGoodsWithUnitPrice(that, value, date)
+ },
+ submitForm: function() {
+ let unitID = this.data.unit[this.data.isUnit].ID;
+ let customerID = this.data.customer[this.data.customerIndex].ID;
+ let departmentID = this.data.department[this.data.departmentIndex].ID;
+ let saletypeID = this.data.saletype[this.data.saletypeIndex].ID;
+
+ let year = this.data.dateTimeArray1[0][this.data.dateTime1[0]]
+ let month = this.data.dateTimeArray1[1][this.data.dateTime1[1]]
+ let date = this.data.dateTimeArray1[2][this.data.dateTime1[2]]
+ let hour = this.data.dateTimeArray1[3][this.data.dateTime1[3]]
+ let minu = this.data.dateTimeArray1[4][this.data.dateTime1[4]]
+
+ let stringTime = year + "/" + month + "/" + date + " " + hour + ":" + minu + ":00"
+ let timestamp2 = Date.parse(new Date(stringTime));
+ let update = "/Date(" + timestamp2 + "+0800)/";
+
+ if (customerID == 0) {
+ wx.showToast({
+ title: '请选择购货客户'
+ })
+ return;
+ }
+ if (unitID == 0) {
+ wx.showToast({
+ title: '请选择会计单位'
+ })
+ return;
+ }
+
+ if (departmentID == 0) {
+ wx.showToast({
+ title: '请选择销售部门',
+ })
+ return;
+ }
+
+ if (saletypeID == 0) {
+ wx.showToast({
+ title: '请选择销售类型',
+ })
+ return;
+ }
+ if (this.data.addrs == "") {
+ wx.showToast({
+ title: '请填写送货地址',
+ })
+ return;
+ }
+
+ let detailsArray = [];
+
+ for (var i = 0; i < this.data.obj.length; i++) {
+ if (this.data.obj[i].Goods_Name == "请选择存货") {
+ wx.showToast({
+ title: '存货不能为空',
+ })
+ return;
+ }
+ if (this.data.obj[i].goodsNum == null) {
+ wx.showToast({
+ title: '报货数量不能为空',
+ })
+ return;
+ }
+ if (this.data.obj[i].goodsSecondNum == null) {
+ wx.showToast({
+ title: '辅数量不能为空',
+ })
+ return;
+ }
+ var dmo = {
+ SaleGoods_ID: this.data.obj[i].SaleGoods_ID,
+ UnitNum: this.data.obj[i].goodsNum,
+ SecondNumber: this.data.obj[i].goodsSecondNum,
+ Price: this.data.obj[i].Price,
+ PolicyPrice: this.data.obj[i].PolicyPrice
+ // PolicyPrice: 10
+ }
+ detailsArray.push(dmo)
+ }
+
+
+ let method = insert;
+ let params = [{
+ "Customer_ID": customerID,
+ // "LoadTime": update,
+ "Date": update,
+ "DeliveryTime": update,
+ "AccountingUnit_ID": unitID,
+ "Department_ID": departmentID,
+ "SaleKind_ID": saletypeID,
+ "DeliverAddress": this.data.addrs,
+ "Details": detailsArray
+
+ }];
+ network.transfer_request(method, params, function(res) {
+ if (res.result != null) {
+ wx.showModal({
+ title: '新建订单No.' + res.result,
+ content: '新建成功,是否返回上级列表',
+ success: function(res) {
+ if (res.cancel) {} else {
+ wx.navigateBack({
+ delta: 1
+ })
+ }
+ },
+ fail: function(res) {}
+ })
+ }
+ })
+
+ },
+ changeDateTime1(e) {
+ this.setData({
+ dateTime1: e.detail.value
+ });
+
+ },
+ util: function(currentStatu) {
+ /* 动画部分 */
+ // 第1步:创建动画实例
+ var animation = wx.createAnimation({
+ duration: 200, //动画时长
+ timingFunction: "linear", //线性
+ delay: 0 //0则不延迟
+ });
+
+ // 第2步:这个动画实例赋给当前的动画实例
+ this.animation = animation;
+
+ // 第3步:执行第一组动画
+ animation.opacity(0).rotateX(-100).step();
+
+ // 第4步:导出动画对象赋给数据对象储存
+ this.setData({
+ animationData: animation.export()
+ })
+
+ // 第5步:设置定时器到指定时候后,执行第二组动画
+ setTimeout(function() {
+ // 执行第二组动画
+ animation.opacity(1).rotateX(0).step();
+ // 给数据对象储存的第一组动画,更替为执行完第二组动画的动画对象
+ this.setData({
+ animationData: animation
+ })
+
+ //关闭
+ if (currentStatu == "close") {
+ this.setData({
+ showModalStatus: false,
+ });
+ }
+ }.bind(this), 200)
+
+ // 显示
+ if (currentStatu == "open") {
+ // 调用函数时,传入new Date()参数,返回值是日期和时间
+ // var timet = utilll.formatTime(new Date());
+ // 再通过setData更改Page()里面的data,动态更新页面的数据
+ this.setData({
+ // time: timet,
+ showModalStatus: true,
+ });
+ }
+ },
+ util1: function(currentStatu) {
+ /* 动画部分 */
+ // 第1步:创建动画实例
+ var animation = wx.createAnimation({
+ duration: 200, //动画时长
+ timingFunction: "linear", //线性
+ delay: 0 //0则不延迟
+ });
+
+ // 第2步:这个动画实例赋给当前的动画实例
+ this.animation = animation;
+
+ // 第3步:执行第一组动画
+ animation.opacity(0).rotateX(-100).step();
+
+ // 第4步:导出动画对象赋给数据对象储存
+ this.setData({
+ animationData: animation.export()
+ })
+
+ // 第5步:设置定时器到指定时候后,执行第二组动画
+ setTimeout(function() {
+ // 执行第二组动画
+ animation.opacity(1).rotateX(0).step();
+ // 给数据对象储存的第一组动画,更替为执行完第二组动画的动画对象
+ this.setData({
+ animationData: animation
+ })
+
+ //关闭
+ if (currentStatu == "close") {
+ this.setData({
+ showModalStatus1: false
+ });
+ }
+ }.bind(this), 200)
+
+ // 显示
+ if (currentStatu == "open") {
+ // 调用函数时,传入new Date()参数,返回值是日期和时间
+ // var timet = utilll.formatTime(new Date());
+ // 再通过setData更改Page()里面的data,动态更新页面的数据
+ this.setData({
+ // time: timet,
+ showModalStatus1: true
+ });
+ }
+ }
+})
\ No newline at end of file
diff --git a/pages/saleForecastList/newBill1/newBill.json b/pages/saleForecastList/newBill1/newBill.json
new file mode 100644
index 0000000..f54f6e5
--- /dev/null
+++ b/pages/saleForecastList/newBill1/newBill.json
@@ -0,0 +1,5 @@
+{
+ "navigationBarBackgroundColor": "white",
+ "navigationBarTextStyle": "black",
+ "navigationBarTitleText": "预报新建"
+}
\ No newline at end of file
diff --git a/pages/saleForecastList/newBill1/newBill.wxml b/pages/saleForecastList/newBill1/newBill.wxml
new file mode 100644
index 0000000..3f4d943
--- /dev/null
+++ b/pages/saleForecastList/newBill1/newBill.wxml
@@ -0,0 +1,156 @@
+
+ 基本信息
+ 预报详细
+
+
+
+
+
+
+
+
+ 购货客户
+
+
+ {{customer[customerIndex].Name}}
+
+
+
+
+ 发货时间
+
+
+ {{dateTimeArray1[0][dateTime1[0]]}}-{{dateTimeArray1[1][dateTime1[1]]}}-{{dateTimeArray1[2][dateTime1[2]]}} {{dateTimeArray1[3][dateTime1[3]]}}:{{dateTimeArray1[4][dateTime1[4]]}}
+
+
+
+
+
+ 会计单位
+
+
+ {{unit[isUnit].Name}}
+
+
+
+
+ 销售部门
+
+
+ {{department[departmentIndex].Name}}
+
+
+
+
+ 销售类型
+
+
+ {{saletype[saletypeIndex].Name}}
+
+
+
+
+ 送货地址
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.Name}}
+
+
+
+ 取消
+
+
+
+
+
+
+
+
+
+
+
+ 存货名称
+
+ {{obj[idx].Goods_Name}}
+
+
+
+
+
+ 报货数量
+
+
+
+
+ 辅 数 量
+
+
+
+
+
+
+
+ 单 价
+
+
+
+
+ 政策单价
+ {{obj[idx].PolicyPrice}}
+
+
+ 删除
+
+
+
+
+
+ 选择存货
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.Goods_Name}}
+
+
+
+ 取消
+
+
+
+
diff --git a/pages/saleForecastList/newBill1/newBill.wxss b/pages/saleForecastList/newBill1/newBill.wxss
new file mode 100644
index 0000000..912129f
--- /dev/null
+++ b/pages/saleForecastList/newBill1/newBill.wxss
@@ -0,0 +1,220 @@
+/* pages/saleForecastList/saleForecastCreatNew/saleForecastCreatNew.wxss */
+page {
+ background: rgb(240, 239, 245);
+ height: calc(100%-10px);
+}
+.swiper-tab {
+ /* height: 30px; */
+ margin: 10px 20px;
+ text-align: center;
+ line-height: 30px;
+ background: white;
+ display: flex;
+ flex-direction: row;
+ border-radius: 5px;
+ border: 1px solid#2E8CF5;
+ overflow: hidden;
+}
+
+.swiper-tab-list {
+ height: 100%;
+ width: 50%;
+ font-size: 30rpx;
+ color: #777;
+}
+
+.on {
+ background-color:#2E8CF5 ;
+ color: white;
+}
+
+.swiper-box {
+ display: block;
+ width: 100%;
+ overflow: hidden;
+ margin-top: 3px;
+}
+
+.swiper-items1 {
+ height: 100%;
+ /* padding-top: 3%; */
+}
+
+.swiper-items2 {
+ height: 100%;
+}
+
+.scroll-views {
+ height: 100%;
+}
+
+.baseitem {
+ background: #fff;
+ width: 100%;
+ border-bottom: 0.1px solid #dbdbdb;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ padding-top: 20rpx;
+ padding-bottom: 20rpx;
+ font-size: 30rpx;
+}
+
+.baseitem_key {
+ color: #666;
+ width: 40%;
+ margin-left: 20rpx;
+}
+
+.baseitem_value {
+ color: rgb(48, 48, 48);
+ margin-left: 20rpx;
+ margin-right: 20rpx;
+ width: 160%;
+ text-align: right;
+}
+
+.baseitem_key2 {
+ color: #666;
+ width: 40%;
+ margin-left: 20rpx;
+}
+
+.baseitem_value2 {
+ color: rgb(48, 48, 48);
+ margin-left: 20rpx;
+ margin-right: 20rpx;
+ width: 160%;
+ text-align: right;
+}
+
+.baseitem_key1 {
+ color: #666;
+ width: 100%;
+ margin-left: 20rpx;
+}
+
+.baseitem_value1 {
+ color: rgb(48, 48, 48);
+ margin-left: 20rpx;
+ margin-right: 20rpx;
+ width: 100%;
+ text-align: right;
+}
+
+
+::-webkit-scrollbar {
+ width: 0;
+ height: 0;
+ color: transparent;
+}
+
+.add {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: center;
+ border-left: none;
+ background: #fff;
+ width: 100%;
+ margin-top: 20rpx;
+ border-top: 0.5px solid #e0e0e0;
+ border-bottom: 0.5px solid #e0e0e0;
+ padding-top: 20rpx;
+ padding-bottom: 20rpx;
+}
+
+.ico {
+ height: 42rpx;
+ width: 42rpx;
+}
+
+.delete {
+ width: 100%;
+ padding-top: 20rpx;
+ padding-bottom: 20rpx;
+ color: red;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: center;
+ background: #fff;
+ font-size: 30rpx;
+}
+
+.itemView {
+ margin-top: 20rpx;
+}
+
+.submit {
+ margin-top: 50rpx;
+ margin-bottom: 30rpx;
+}
+
+.drawer_screen {
+ width: 100%;
+ height: 100%;
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 1000;
+ background: #000;
+ opacity: 0.5;
+ overflow: hidden;
+}
+
+.sousuo {
+ /* margin-right: 10%;
+ margin-left: 10%; */
+ text-align: center;
+ background: #d6d8da;
+ height: 40px;
+ font-size: 28rpx;
+}
+
+
+.drawer_content {
+ height: 500rpx;
+ overflow-y: scroll; /*超出父盒子高度可滚动*/
+}
+
+.drawer_box {
+ width: 650rpx;
+ overflow: hidden;
+ position: fixed;
+ top: 50%;
+ left: 0;
+ z-index: 1001;
+ background: #fafafa;
+ margin: -150px 50rpx 0 50rpx;
+ border-radius: 3px;
+}
+
+.btn_ok {
+ padding: 10px;
+ font: 20px "microsoft yahei";
+ text-align: center;
+ border-top: 1px solid #e8e8ea;
+ color: #2E8CF5;
+}
+
+.top {
+ height: 20%;
+ justify-content: center;
+ align-items: center;
+}
+
+.grid1 {
+ width: 100%;
+ border-bottom: 1px solid #c3c3c3;
+ /* padding-top: 5px;
+ padding-bottom: 10px; */
+ padding-top: 16rpx;
+ padding-bottom: 16rpx;
+ text-align: center;
+}
+
+.text3 {
+ font-size: 18px;
+ color: rgb(48, 48, 48);
+}