| @ -1,26 +0,0 @@ | |||
| // pages/first/first.js | |||
| const app = getApp(); | |||
| var network = require("../../utils/net.js"); | |||
| var openid; | |||
| Page({ | |||
| data: { | |||
| url:"", | |||
| }, | |||
| onLoad: function(options) { | |||
| // var code = options.code; | |||
| var that = this; | |||
| wx.login({ | |||
| success: function (res) { | |||
| var code = res.code; | |||
| var itemUrl = "https://miniprogram.food988.com/WeixinBindPhonePage.aspx?code=" + code + "&state=bindphone"; | |||
| that.setData({ | |||
| url: itemUrl, | |||
| }) | |||
| } | |||
| }); | |||
| }, | |||
| }) | |||
| @ -1,3 +0,0 @@ | |||
| { | |||
| "navigationBarTitleText": "公众号绑定" | |||
| } | |||
| @ -1,4 +0,0 @@ | |||
| <!--pages/first/first.wxml--> | |||
| <!-- <button class='testOne' catchtap='firstBtnClicked'>测试按钮1</button> | |||
| <button class='testTwo' catchtap='secondBtnClicked'>测试按钮2</button> --> | |||
| <web-view src="{{url}}"></web-view> | |||
| @ -1,19 +0,0 @@ | |||
| /* pages/first/first.wxss */ | |||
| .testOne{ | |||
| color: #FFFFFF; | |||
| background: #2E8CF5; | |||
| margin-top: 20%; | |||
| margin-left: 5%; | |||
| width: 30%; | |||
| float: left; | |||
| } | |||
| .testTwo{ | |||
| color: #FFFFFF; | |||
| background: #2E8CF5; | |||
| margin-top: 20%; | |||
| margin-right: 5%; | |||
| width: 30%; | |||
| float: right; | |||
| } | |||
| @ -0,0 +1,871 @@ | |||
| // pages/orderinfo/orderinfo.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 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 getEmployee = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetEmployee"; | |||
| var getStore = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetStore" | |||
| var getTakeGoodsType = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetTakeGoods_Type" | |||
| var load = "/MainSystem/B3MiniProgramRpc/XuRpcs/Employee/OrderRpc/Load"; | |||
| let update = '/MainSystem/B3MiniProgramRpc/XuRpcs/Employee/OrderRpc/Update'; | |||
| function setTime(that){ | |||
| // 获取完整的年月日 时分秒,以及默认显示的数组 | |||
| var obj1 = dateTimePicker.dateTimePicker(that.data.startYear, that.data.endYear, that.data.loadTime); | |||
| // 精确到分的处理,将数组的秒去掉 | |||
| var lastArray = obj1.dateTimeArray.pop(); | |||
| var lastTime = obj1.dateTime.pop(); | |||
| that.setData({ | |||
| dateTimeArray1: obj1.dateTimeArray, | |||
| dateTime1: obj1.dateTime | |||
| }); | |||
| } | |||
| 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 GetCustomer(that, inputValue) { | |||
| 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: "购货客户" | |||
| }) | |||
| } | |||
| 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 GetEmployee(that, v) { | |||
| let method = getEmployee; | |||
| let params = [{ | |||
| "InputValue": v, | |||
| "PageIndex": 0, | |||
| "PageSize": 100 | |||
| }]; | |||
| network.transfer_request(method, params, function (res) { | |||
| that.setData({ | |||
| currency: res.result, | |||
| employee: res.result | |||
| }) | |||
| }) | |||
| that.setData({ | |||
| which: "业务员" | |||
| }) | |||
| } | |||
| function GetStore(that, v) { | |||
| let method = getStore; | |||
| let params = [{ | |||
| "InputValue": v, | |||
| "PageIndex": 0, | |||
| "PageSize": 100 | |||
| }]; | |||
| network.transfer_request(method, params, function (res) { | |||
| that.setData({ | |||
| currency: res.result, | |||
| store: res.result | |||
| }) | |||
| }) | |||
| that.setData({ | |||
| which: "仓库" | |||
| }) | |||
| } | |||
| function GetTakeGoodsType(that, v) { | |||
| let method = getTakeGoodsType; | |||
| let params = []; | |||
| network.transfer_request(method, params, function (res) { | |||
| console.log(res); | |||
| that.setData({ | |||
| currency: res.result, | |||
| takeGoodsType: 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: "", | |||
| winWidth: 0, | |||
| winHeight: app.globalData.winHeight, | |||
| // 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: "请选择会计单位" | |||
| }], | |||
| empIndex: 0, | |||
| employee: [{ | |||
| ID: 0, | |||
| Name: "请选择业务员" | |||
| }], | |||
| storeIndex: 0, | |||
| store: [{ | |||
| ID: 0, | |||
| Name: "请选择仓库" | |||
| }], | |||
| takeGoodsTypeIndex: 0, | |||
| takeGoodsType: [{ | |||
| ID: 0, | |||
| Name: "请选择配送方式" | |||
| }], | |||
| addrs: "", | |||
| remark: "", | |||
| dateTimeArray1: null, | |||
| dateTime1: null, | |||
| startYear: 2018, | |||
| endYear: 2030, | |||
| loadTime:"" | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面加载 | |||
| */ | |||
| onLoad: function (options) { | |||
| var that = this; | |||
| let ID = Number(options.ID); | |||
| orderID = ID; | |||
| let method = load; | |||
| let params = [ID]; | |||
| network.transfer_request(method, params, function (res) { | |||
| let customerOld=[{ | |||
| ID: res.result.Customer_ID, | |||
| Name: res.result.Customer_Name | |||
| }] | |||
| let unitOld=[{ | |||
| ID: res.result.AccountingUnit_ID, | |||
| Name: res.result.AccountingUnit_Name | |||
| }] | |||
| let departmentOld=[{ | |||
| ID: res.result.Department_ID, | |||
| Name: res.result.Department_Name | |||
| }] | |||
| let saletypeOld =[{ | |||
| ID: res.result.SaleKind_ID, | |||
| Name: res.result.SaleKind_Name | |||
| }] | |||
| let employeeOld = [{ | |||
| ID: res.result.Employee_ID, | |||
| Name: res.result.Employee_Name | |||
| }] | |||
| let storeOld = [{ | |||
| ID: res.result.Store_ID, | |||
| Name: res.result.Store_Name | |||
| }] | |||
| let takeGoodsTypeOld = [{ | |||
| Name: res.result.TakeGoods_Type | |||
| }] | |||
| let addrrrr = res.result.DeliverAddress | |||
| let remark=res.result.Remark | |||
| let loadtimee = timechage.formatTimeTwo(res.result.LoadTime.substring(6, 19), 'Y-M-D h:m') | |||
| let details=[]; | |||
| for(var i =0;i<res.result.Details.length;i++){ | |||
| if (res.result.Details[i].RightRatio==null){ | |||
| var rightRatio = 1 | |||
| } | |||
| if (res.result.Details[i].LeftRatio==null){ | |||
| var leftRatio =1 | |||
| } | |||
| var dmo={ | |||
| "Goods_Name": res.result.Details[i].Goods_Name, | |||
| "SaleGoods_ID": res.result.Details[i].SaleGoods_ID, | |||
| "goodsNum": res.result.Details[i].UnitNum, | |||
| "goodsSecondNum": res.result.Details[i].SecondNumber, | |||
| "Price": res.result.Details[i].Price, | |||
| "PolicyPrice": res.result.Details[i].PolicyPrice, | |||
| "Goods_MainUnitRatio": res.result.Details[i].Goods_MainUnitRatio, | |||
| "Goods_SecondUnitRatio": res.result.Details[i].Goods_SecondUnitRatio, | |||
| "Goods_UnitConvertDirection": res.result.Details[i].Goods_UnitConvertDirection, | |||
| "RightRatio": rightRatio, | |||
| "LeftRatio": leftRatio, | |||
| "ID":res.result.Details[i].ID | |||
| } | |||
| details.push(dmo) | |||
| } | |||
| that.setData({ | |||
| customer: customerOld, | |||
| unit: unitOld, | |||
| department: departmentOld, | |||
| saletype: saletypeOld, | |||
| employee:employeeOld, | |||
| store:storeOld, | |||
| takeGoodsType:takeGoodsTypeOld, | |||
| addrs: addrrrr, | |||
| remark: remark, | |||
| loadTime: loadtimee, | |||
| obj: details | |||
| }) | |||
| setTime(that) | |||
| }) | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面初次渲染完成 | |||
| */ | |||
| onReady: function () { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面显示 | |||
| */ | |||
| onShow: function () { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面隐藏 | |||
| */ | |||
| onHide: function () { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面卸载 | |||
| */ | |||
| onUnload: function () { | |||
| }, | |||
| /** | |||
| * 页面相关事件处理函数--监听用户下拉动作 | |||
| */ | |||
| onPullDownRefresh: function () { | |||
| }, | |||
| /** | |||
| * 页面上拉触底事件的处理函数 | |||
| */ | |||
| onReachBottom: function () { | |||
| }, | |||
| /** | |||
| * 滑动切换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; | |||
| }, | |||
| getRemark: function (e) { | |||
| this.data.remark = e.detail.value; | |||
| }, | |||
| add: function (e) { | |||
| let newobj = { | |||
| Goods_Name: "请选择存货" | |||
| }; | |||
| this.data.obj.push(newobj) | |||
| let aaa = this.data.obj; | |||
| this.setData({ | |||
| obj: aaa, | |||
| }) | |||
| }, | |||
| 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, "") | |||
| } else if (x == "业务员") { | |||
| GetEmployee(that, "") | |||
| } else if (x == "仓库") { | |||
| GetStore(that, "") | |||
| } else if (x == "配送方式") { | |||
| GetTakeGoodsType(that, "") | |||
| } | |||
| let currentStatu = e.currentTarget.dataset.statu; | |||
| 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 | |||
| }) | |||
| } else if (which == "业务员") { | |||
| that.setData({ | |||
| empIndex: idx | |||
| }) | |||
| } else if (which == "仓库") { | |||
| that.setData({ | |||
| storeIndex: idx | |||
| }) | |||
| } else if (which == "配送方式") { | |||
| that.setData({ | |||
| takeGoodsTypeIndex: 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) | |||
| } else if (which == "业务员") { | |||
| GetEmployee(that, value) | |||
| } else if (which == "仓库") { | |||
| GetStore(that, value) | |||
| } else if (which == "配送方式") { | |||
| GetTakeGoodsType(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 employeeID = this.data.employee[this.data.empIndex].ID; | |||
| let storeID = this.data.store[this.data.storeIndex].ID; | |||
| let takeGoodsTypeName = this.data.takeGoodsType[this.data.takeGoodsTypeIndex].Name; | |||
| 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 loadTime = "/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 (employeeID == 0) { | |||
| wx.showToast({ | |||
| title: '请选择业务员', | |||
| }) | |||
| return; | |||
| } | |||
| if (storeID == 0) { | |||
| wx.showToast({ | |||
| title: '请选择仓库', | |||
| }) | |||
| return; | |||
| } | |||
| if (saletypeID == 0) { | |||
| wx.showToast({ | |||
| title: '请选择销售类型', | |||
| }) | |||
| return; | |||
| } | |||
| if (takeGoodsTypeName == "") { | |||
| 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 olddID=0; | |||
| if(this.data.obj[i].ID==null){ | |||
| olddID = 0 | |||
| }else{ | |||
| olddID = Number(this.data.obj[i].ID) | |||
| } | |||
| 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, | |||
| ID:olddID | |||
| } | |||
| detailsArray.push(dmo) | |||
| } | |||
| let method = update; | |||
| let params = [{ | |||
| "Customer_ID": customerID, | |||
| "LoadTime": loadTime, | |||
| "AccountingUnit_ID": unitID, | |||
| "Department_ID": departmentID, | |||
| "SaleKind_ID": saletypeID, | |||
| "Employee_ID":employeeID, | |||
| "Store_ID":storeID, | |||
| "TakeGoods_Type":takeGoodsTypeName, | |||
| "DeliverAddress": this.data.addrs, | |||
| "Remark":this.data.remark, | |||
| "Details": detailsArray, | |||
| "ID": orderID | |||
| }]; | |||
| network.transfer_request(method, params, function (res) { | |||
| if (res.result == null) { | |||
| wx.showModal({ | |||
| title: '提示', | |||
| 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 | |||
| }); | |||
| } | |||
| } | |||
| }) | |||
| @ -0,0 +1,5 @@ | |||
| { | |||
| "navigationBarBackgroundColor": "white", | |||
| "navigationBarTextStyle": "black", | |||
| "navigationBarTitleText": "订单详细" | |||
| } | |||
| @ -0,0 +1,215 @@ | |||
| <!--pages/orderinfo/orderinfo.wxml--> | |||
| <view class="swiper-tab"> | |||
| <view class="swiper-tab-list {{currentTab==0 ? 'on' : ''}}" data-current="0" bindtap="swichNav">基本信息</view> | |||
| <view class="swiper-tab-list {{currentTab==1 ? 'on' : ''}}" data-current="1" bindtap="swichNav">订单明细</view> | |||
| </view> | |||
| <swiper current="{{currentTab}}" class="swiper-box" duration="300" style="height:{{winHeight - 55}}px" bindchange="bindChange"> | |||
| <!-- 基本信息 --> | |||
| <swiper-item class="swiper-items1"> | |||
| <scroll-view scroll-x="false" scroll-y="true" class='scroll-views'> | |||
| <view class='main-body'> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>购货客户</text> | |||
| <!-- <picker class='baseitem_value' mode='selector' bindchange='choseCustomer' value='{{customerIndex}}' range-key="name" range='{{customer}}'> | |||
| <text>{{customer[customerIndex].name}}</text> | |||
| </picker> --> | |||
| <view class='baseitem_value' data-x='购货客户' data-item='{{which}}'> | |||
| {{customer[customerIndex].Name}} | |||
| </view> | |||
| </view> | |||
| <view class='horizontallineView'></view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>发货时间</text> | |||
| <picker class='baseitem_value' mode="multiSelector" value="{{dateTime1}}" bindchange="changeDateTime1" range="{{dateTimeArray1}}"> | |||
| <view class="tui-picker-detail"> | |||
| {{dateTimeArray1[0][dateTime1[0]]}}-{{dateTimeArray1[1][dateTime1[1]]}}-{{dateTimeArray1[2][dateTime1[2]]}} {{dateTimeArray1[3][dateTime1[3]]}}:{{dateTimeArray1[4][dateTime1[4]]}} | |||
| </view> | |||
| </picker> | |||
| </view> | |||
| <view class='horizontallineView'></view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>会计单位</text> | |||
| <!-- <picker class='baseitem_value' mode='selector' bindchange='choseUnit' value='{{isUnit}}' range-key="Name" range='{{unit}}'> | |||
| <text>{{unit[isUnit].Name}}</text> | |||
| </picker> --> | |||
| <view class='baseitem_value' bindtap="powerDrawer" data-statu="open" data-x='会计部门' data-item='{{which}}'> | |||
| {{unit[isUnit].Name}} | |||
| </view> | |||
| </view> | |||
| <view class='horizontallineView'></view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>销售部门</text> | |||
| <!-- <picker class='baseitem_value' mode='selector' bindchange='choseDepartment' value='{{departmentIndex}}' range-key="name" range='{{department}}'> | |||
| <text>{{department[departmentIndex].name}}</text> | |||
| </picker> --> | |||
| <view class='baseitem_value' bindtap="powerDrawer" data-statu="open" data-x='部门' data-item='{{which}}'> | |||
| {{department[departmentIndex].Name}} | |||
| </view> | |||
| </view> | |||
| <view class='horizontallineView'></view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>业务员</text> | |||
| <!-- <picker class='baseitem_value' mode='selector' bindchange='choseSaletype' value='{{saletypeIndex}}' range-key="name" range='{{saletype}}'> | |||
| <text>{{saletype[saletypeIndex].name}}</text> | |||
| </picker> --> | |||
| <view class='baseitem_value' bindtap="powerDrawer" data-statu="open" data-x='业务员' data-item='{{which}}'> | |||
| {{employee[empIndex].Name}} | |||
| </view> | |||
| </view> | |||
| <view class='horizontallineView'></view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>仓库</text> | |||
| <!-- <picker class='baseitem_value' mode='selector' bindchange='choseSaletype' value='{{saletypeIndex}}' range-key="name" range='{{saletype}}'> | |||
| <text>{{saletype[saletypeIndex].name}}</text> | |||
| </picker> --> | |||
| <view class='baseitem_value' bindtap="powerDrawer" data-statu="open" data-x='仓库' data-item='{{which}}'> | |||
| {{store[storeIndex].Name}} | |||
| </view> | |||
| </view> | |||
| <view class='horizontallineView'></view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>销售类型</text> | |||
| <!-- <picker class='baseitem_value' mode='selector' bindchange='choseSaletype' value='{{saletypeIndex}}' range-key="name" range='{{saletype}}'> | |||
| <text>{{saletype[saletypeIndex].name}}</text> | |||
| </picker> --> | |||
| <view class='baseitem_value' bindtap="powerDrawer" data-statu="open" data-x='销售类型' data-item='{{which}}'> | |||
| {{saletype[saletypeIndex].Name}} | |||
| </view> | |||
| </view> | |||
| <view class='horizontallineView'></view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>配送方式</text> | |||
| <!-- <picker class='baseitem_value' mode='selector' bindchange='choseSaletype' value='{{saletypeIndex}}' range-key="name" range='{{saletype}}'> | |||
| <text>{{saletype[saletypeIndex].name}}</text> | |||
| </picker> --> | |||
| <view class='baseitem_value' bindtap="powerDrawer" data-statu="open" data-x='配送方式' data-item='{{which}}'> | |||
| {{takeGoodsType[takeGoodsTypeIndex].Name}} | |||
| </view> | |||
| </view> | |||
| <view class='horizontallineView'></view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>送货地址</text> | |||
| <input class='baseitem_value' bindinput='getAddrs' placeholder='请输入送货地址' placeholder-style='color:rgb(202, 202, 202)' value="{{addrs}}"></input> | |||
| </view> | |||
| <view class='horizontallineView'></view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>摘要</text> | |||
| <input class='baseitem_value' bindinput='getRemark' value="{{remark}}"></input> | |||
| </view> | |||
| <view class='horizontallineView'></view> | |||
| <!-- <button class='submit' catchtap='submitForm'>保存</button> --> | |||
| <!-- <view class='baseitem'> | |||
| <text class='baseitem_key' space="emsp">摘 要</text> | |||
| <input class='baseitem_value' bindinput='getRemark' placeholder='请输入摘要' placeholder-style='color:rgb(202, 202, 202)'></input> | |||
| </view> --> | |||
| </view> | |||
| </scroll-view> | |||
| <view class="drawer_screen" bindtap="powerDrawer" data-item='{{which}}' data-statu="close" wx:if="{{showModalStatus}}"></view> | |||
| <!--content--> | |||
| <!--使用animation属性指定需要执行的动画--> | |||
| <view animation="{{animationData}}" data-item='{{which}}' class="drawer_box" wx:if="{{showModalStatus}}"> | |||
| <!--drawer content--> | |||
| <view class='top' data-item='{{which}}'> | |||
| <input data-item='{{which}}' class="sousuo" bindinput="select" placeholder='请输入搜索'> | |||
| </input> | |||
| </view> | |||
| <view class="drawer_content"> | |||
| <block wx:for="{{currency}}" wx:key="item" wx:for-index="idx"> | |||
| <view class="grid1" data-item='{{which}}' catchtap='itemclick' data-idx='{{idx}}' data-ID="{{item.ID}}" data-Name='{{item.Name}}'> | |||
| <text class='text3'>{{item.Name}}</text> | |||
| </view> | |||
| </block> | |||
| </view> | |||
| <view class="btn_ok" bindtap="powerDrawer" data-statu="close">取消</view> | |||
| </view> | |||
| </swiper-item> | |||
| <!-- 订单详细 --> | |||
| <swiper-item class="swiper-items2"> | |||
| <scroll-view scroll-x="false" scroll-y="true" class='scroll-views'> | |||
| <!-- <view class='main-body'> --> | |||
| <block wx:for="{{obj}}" wx:key="item" wx:for-index="idx"> | |||
| <!-- <template is="fodder" data="{{...item}}"></template> --> | |||
| <view class='itemView'> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key2'>存货名称</text> | |||
| <view class='baseitem_value2' bindtap="powerDrawer1" data-statu="open" data-idx='{{idx}}'> | |||
| {{obj[idx].Goods_Name}} | |||
| </view> | |||
| </view> | |||
| <view class='horizontallineView'></view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key1'>报货数量</text> | |||
| <input class='baseitem_value1' bindinput='getGoodsNum' placeholder='请输入报货数量' type='digit' placeholder-style='color:rgb(202, 202, 202)' data-idx='{{idx}}' value='{{obj[idx].goodsNum}}'></input> | |||
| </view> | |||
| <view class='horizontallineView'></view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key1' space='ensp'>辅 数 量</text> | |||
| <input class='baseitem_value1' bindinput='getSecondNum' placeholder='请输入辅数量' type='digit' placeholder-style='color:rgb(202, 202, 202)' data-idx='{{idx}}' value='{{obj[idx].goodsSecondNum}}'></input> | |||
| </view> | |||
| <view class='horizontallineView'></view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key1' space='emsp'>单 价</text> | |||
| <input class='baseitem_value1' type='digit' bindinput='getPrice' placeholder='请输入单价' placeholder-style='color:rgb(202, 202, 202)' data-idx='{{idx}}' value='{{obj[idx].Price}}'></input> | |||
| </view> | |||
| <view class='horizontallineView'></view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key1'>政策单价</text> | |||
| <text class='baseitem_value1' data-idx='{{idx}}'>{{obj[idx].PolicyPrice}}</text> | |||
| </view> | |||
| <view class='horizontallineView'></view> | |||
| </view> | |||
| <view class='delete' catchtap='deleteItem' data-idx='{{idx}}'>删除</view> | |||
| </block> | |||
| <view class='add' catchtap='add'> | |||
| <image class="ico" src="/imgs/tianjia.png"></image> | |||
| </view> | |||
| <!-- </view> --> | |||
| <!-- <template name='fodder'> | |||
| </template> --> | |||
| <button class='submit' catchtap='submitForm'>保存</button> | |||
| </scroll-view> | |||
| <view class="drawer_screen" bindtap="powerDrawer1" data-statu="close" wx:if="{{showModalStatus1}}"></view> | |||
| <!--content--> | |||
| <!--使用animation属性指定需要执行的动画--> | |||
| <view animation="{{animationData}}" class="drawer_box" wx:if="{{showModalStatus1}}"> | |||
| <!--drawer content--> | |||
| <view class='top'> | |||
| <input input class="sousuo" bindinput="select1" placeholder='请输入搜索'> | |||
| </input> | |||
| </view> | |||
| <view class="drawer_content"> | |||
| <block wx:for="{{goods}}" wx:key="item"> | |||
| <view class="grid1" catchtap='itemclick1' data-idx='{{idx}}' data-Name='{{item.Goods_Name}}' data-policyprice='{{item.PolicyPrice}}' data-data='{{item}}'> | |||
| <text class='text3'>{{item.Goods_Name}}</text> | |||
| </view> | |||
| </block> | |||
| </view> | |||
| <view class="btn_ok" bindtap="powerDrawer1" data-statu="close">取消</view> | |||
| </view> | |||
| </swiper-item> | |||
| </swiper> | |||
| @ -0,0 +1,232 @@ | |||
| /* pages/orderinfo/orderinfo.wxss */ | |||
| page { | |||
| background:#EAF1F8; | |||
| 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; | |||
| height: 100%; | |||
| width: 100%; | |||
| overflow: hidden; | |||
| } | |||
| .swiper-items1 { | |||
| height: 100%; | |||
| padding-top: 3%; | |||
| } | |||
| .swiper-items2 { | |||
| height: 100%; | |||
| } | |||
| .scroll-views { | |||
| height: 100%; | |||
| } | |||
| .baseitem { | |||
| height: 60rpx; | |||
| background: #fff; | |||
| /* border-bottom: 0.1px solid #dbdbdb; */ | |||
| display: flex; | |||
| flex-direction: row; | |||
| align-items: center; | |||
| padding: 20rpx 20rpx; | |||
| font-size: 30rpx; | |||
| } | |||
| .horizontallineView { | |||
| height: 1rpx; | |||
| background-color: #dbdbdb; | |||
| margin-left: 20rpx; | |||
| margin-right: 0rpx; | |||
| } | |||
| .baseitem_key { | |||
| color: #666; | |||
| width: 30%; | |||
| /* margin-left: 20rpx; */ | |||
| } | |||
| .baseitem_value { | |||
| color: rgb(48, 48, 48); | |||
| /* margin-left: 20rpx; | |||
| margin-right: 20rpx; */ | |||
| width: 70%; | |||
| text-align: right; | |||
| } | |||
| .baseitem_key2 { | |||
| color: #666; | |||
| width: 30%; | |||
| /* margin-left: 20rpx; */ | |||
| } | |||
| .baseitem_value2 { | |||
| color: rgb(48, 48, 48); | |||
| /* margin-left: 20rpx; | |||
| margin-right: 20rpx; */ | |||
| width: 70%; | |||
| text-align: right; | |||
| } | |||
| .baseitem_key1 { | |||
| color: #666; | |||
| width: 30%; | |||
| margin-left: 20rpx; | |||
| } | |||
| .baseitem_value1 { | |||
| color: rgb(48, 48, 48); | |||
| /* margin-left: 20rpx; | |||
| margin-right: 20rpx; */ | |||
| width: 70%; | |||
| text-align: right; | |||
| } | |||
| .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; | |||
| background-color: #fff; | |||
| } | |||
| .main-body{ | |||
| background-color: #fff; | |||
| } | |||
| .submit { | |||
| margin-left: 5%; | |||
| margin-top: 10%; | |||
| width: 90%; | |||
| margin-right: 5%; | |||
| color: #fff; | |||
| background: linear-gradient(to right, #39c4fd, #539eef); | |||
| } | |||
| .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: #2788f8; | |||
| } | |||
| .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); | |||
| } | |||
| @ -0,0 +1,769 @@ | |||
| var app = getApp() | |||
| var network = require("../../../utils/net.js") | |||
| var dateTimePicker = require('../../../utils/dateTimePicker.js'); | |||
| var utilll = require('../../../utils/util.js'); | |||
| function GetAccountingUnit(that, inputValue) { | |||
| let method = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/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 GetCustomer(that, inputValue) { | |||
| let method = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/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: "购货客户" | |||
| }) | |||
| } | |||
| function GetDepartment(that, inputValue) { | |||
| let method = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetDepartment"; | |||
| 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 = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/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 GetEmployee(that, inputValue) { | |||
| let method = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetEmployee"; | |||
| let params = [{ | |||
| "InputValue": inputValue, | |||
| "PageIndex": 0, | |||
| "PageSize": 100 | |||
| }]; | |||
| network.transfer_request(method, params, function (res) { | |||
| that.setData({ | |||
| currency: res.result, | |||
| employee: res.result | |||
| }) | |||
| }) | |||
| that.setData({ | |||
| which: "业务员" | |||
| }) | |||
| } | |||
| function GetStore(that, inputValue) { | |||
| let method = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetStore"; | |||
| let params = [{ | |||
| "InputValue": inputValue, | |||
| "PageIndex": 0, | |||
| "PageSize": 100 | |||
| }]; | |||
| network.transfer_request(method, params, function (res) { | |||
| that.setData({ | |||
| currency: res.result, | |||
| store: res.result | |||
| }) | |||
| }) | |||
| that.setData({ | |||
| which: "仓库" | |||
| }) | |||
| } | |||
| function GetTakeGoodsType(that, inputValue) { | |||
| let method = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetTakeGoods_Type"; | |||
| let params = []; | |||
| network.transfer_request(method, params, function (res) { | |||
| that.setData({ | |||
| currency: res.result, | |||
| takeGoodsType: 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 = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetGoodsWithUnitPrice"; | |||
| 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: "", | |||
| winWidth: 0, | |||
| winHeight: app.globalData.winHeight, | |||
| // 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: "请选择会计单位" | |||
| }], | |||
| empIndex: 0, | |||
| employee: [{ | |||
| ID: 0, | |||
| Name: "请选择业务员" | |||
| }], | |||
| storeIndex: 0, | |||
| store: [{ | |||
| ID: 0, | |||
| Name: "请选择仓库" | |||
| }], | |||
| takeGoodsTypeIndex: 0, | |||
| takeGoodsType: [{ | |||
| ID: 0, | |||
| Name: "请选择配送方式" | |||
| }], | |||
| addrs: "", | |||
| remark:"", | |||
| dateTimeArray: null, | |||
| dateTime: null, | |||
| dateTimeArray1: null, | |||
| dateTime1: null, | |||
| startYear: 2018, | |||
| endYear: 2030 | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面加载 | |||
| */ | |||
| onLoad: function(options) { | |||
| // 获取完整的年月日 时分秒,以及默认显示的数组 | |||
| 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 | |||
| }); | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面初次渲染完成 | |||
| */ | |||
| onReady: function() { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面显示 | |||
| */ | |||
| onShow: function() { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面隐藏 | |||
| */ | |||
| onHide: function() { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面卸载 | |||
| */ | |||
| onUnload: function() { | |||
| }, | |||
| /** | |||
| * 页面相关事件处理函数--监听用户下拉动作 | |||
| */ | |||
| onPullDownRefresh: function() { | |||
| }, | |||
| /** | |||
| * 页面上拉触底事件的处理函数 | |||
| */ | |||
| onReachBottom: function() { | |||
| }, | |||
| /** | |||
| * 滑动切换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; | |||
| }, | |||
| getRemark: function (e) { | |||
| this.data.remark = e.detail.value; | |||
| }, | |||
| add: function(e) { | |||
| let newobj = { | |||
| Goods_Name: "请选择存货" | |||
| }; | |||
| this.data.obj.push(newobj) | |||
| let aaa = this.data.obj; | |||
| this.setData({ | |||
| obj: aaa, | |||
| }) | |||
| }, | |||
| 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, "") | |||
| } else if (x == "业务员") { | |||
| GetEmployee(that, "") | |||
| } else if (x == "仓库") { | |||
| GetStore(that, "") | |||
| } else if (x == "配送方式") { | |||
| GetTakeGoodsType(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 | |||
| }) | |||
| } else if (which == "业务员") { | |||
| that.setData({ | |||
| empIndex: idx | |||
| }) | |||
| } else if (which == "仓库") { | |||
| that.setData({ | |||
| storeIndex: idx | |||
| }) | |||
| } else if (which == "配送方式") { | |||
| that.setData({ | |||
| takeGoodsTypeIndex: 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; | |||
| if(!pp) | |||
| pp=''; | |||
| 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 = 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) | |||
| } else if (which == "业务员") { | |||
| GetEmployee(that, value) | |||
| } else if (which == "仓库") { | |||
| GetStore(that, value) | |||
| } else if (which == "配送方式") { | |||
| GetTakeGoodsType(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 employeeID = this.data.employee[this.data.empIndex].ID; | |||
| let storeID = this.data.store[this.data.storeIndex].ID; | |||
| let takeGoodsTypeName = this.data.takeGoodsType[this.data.takeGoodsTypeIndex].Name; | |||
| 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 (employeeID == 0) { | |||
| wx.showToast({ | |||
| title: '请选择业务员', | |||
| }) | |||
| return; | |||
| } | |||
| if (storeID == 0) { | |||
| wx.showToast({ | |||
| title: '请选择仓库', | |||
| }) | |||
| return; | |||
| } | |||
| if (saletypeID == 0) { | |||
| wx.showToast({ | |||
| title: '请选择销售类型', | |||
| }) | |||
| return; | |||
| } | |||
| if (takeGoodsTypeName == "") { | |||
| 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; | |||
| } | |||
| if (this.data.obj[i].PolicyPrice=='') | |||
| this.data.obj[i].PolicyPrice=NaN; | |||
| 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 | |||
| } | |||
| detailsArray.push(dmo) | |||
| } | |||
| let method = '/MainSystem/B3MiniProgramRpc/XuRpcs/Employee/OrderRpc/Insert'; | |||
| let params = [{ | |||
| "Customer_ID": customerID, | |||
| "LoadTime": update, | |||
| "AccountingUnit_ID": unitID, | |||
| "Department_ID": departmentID, | |||
| "SaleKind_ID": saletypeID, | |||
| "Employee_ID": employeeID, | |||
| "Store_ID": storeID, | |||
| "TakeGoods_Type": takeGoodsTypeName, | |||
| "DeliverAddress": this.data.addrs, | |||
| "Remark":this.data.remark, | |||
| "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 | |||
| }); | |||
| } | |||
| } | |||
| }) | |||
| @ -0,0 +1,5 @@ | |||
| { | |||
| "navigationBarBackgroundColor": "white", | |||
| "navigationBarTextStyle": "black", | |||
| "navigationBarTitleText": "销售订单" | |||
| } | |||
| @ -0,0 +1,201 @@ | |||
| <!--pages/saleforecast/saleforecast.wxml--> | |||
| <view class="swiper-tab"> | |||
| <view class="swiper-tab-list {{currentTab==0 ? 'on' : ''}}" data-current="0" bindtap="swichNav">基本信息</view> | |||
| <view class="swiper-tab-list {{currentTab==1 ? 'on' : ''}}" data-current="1" bindtap="swichNav">订单明细</view> | |||
| </view> | |||
| <swiper current="{{currentTab}}" class="swiper-box" duration="300" style="height:{{winHeight - 55}}px" bindchange="bindChange"> | |||
| <!-- 基本信息 --> | |||
| <swiper-item class="swiper-items1"> | |||
| <scroll-view scroll-x="false" scroll-y="true" class='scroll-views'> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>购货客户</text> | |||
| <!-- <picker class='baseitem_value' mode='selector' bindchange='choseCustomer' value='{{customerIndex}}' range-key="name" range='{{customer}}'> | |||
| <text>{{customer[customerIndex].name}}</text> | |||
| </picker> --> | |||
| <view class='baseitem_value' bindtap="powerDrawer" data-statu="open" data-x='购货客户' data-item='{{which}}'> | |||
| {{customer[customerIndex].Name}} | |||
| </view> | |||
| </view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>发货时间</text> | |||
| <picker class='baseitem_value' mode="multiSelector" value="{{dateTime1}}" bindchange="changeDateTime1" range="{{dateTimeArray1}}"> | |||
| <view class="tui-picker-detail"> | |||
| {{dateTimeArray1[0][dateTime1[0]]}}-{{dateTimeArray1[1][dateTime1[1]]}}-{{dateTimeArray1[2][dateTime1[2]]}} {{dateTimeArray1[3][dateTime1[3]]}}:{{dateTimeArray1[4][dateTime1[4]]}} | |||
| </view> | |||
| </picker> | |||
| </view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>会计单位</text> | |||
| <!-- <picker class='baseitem_value' mode='selector' bindchange='choseUnit' value='{{isUnit}}' range-key="Name" range='{{unit}}'> | |||
| <text>{{unit[isUnit].Name}}</text> | |||
| </picker> --> | |||
| <view class='baseitem_value' bindtap="powerDrawer" data-statu="open" data-x='会计部门' data-item='{{which}}'> | |||
| {{unit[isUnit].Name}} | |||
| </view> | |||
| </view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>销售部门</text> | |||
| <!-- <picker class='baseitem_value' mode='selector' bindchange='choseDepartment' value='{{departmentIndex}}' range-key="name" range='{{department}}'> | |||
| <text>{{department[departmentIndex].name}}</text> | |||
| </picker> --> | |||
| <view class='baseitem_value' bindtap="powerDrawer" data-statu="open" data-x='部门' data-item='{{which}}'> | |||
| {{department[departmentIndex].Name}} | |||
| </view> | |||
| </view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>业务员</text> | |||
| <!-- <picker class='baseitem_value' mode='selector' bindchange='choseSaletype' value='{{saletypeIndex}}' range-key="name" range='{{saletype}}'> | |||
| <text>{{saletype[saletypeIndex].name}}</text> | |||
| </picker> --> | |||
| <view class='baseitem_value' bindtap="powerDrawer" data-statu="open" data-x='业务员' data-item='{{which}}'> | |||
| {{employee[empIndex].Name}} | |||
| </view> | |||
| </view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>仓库</text> | |||
| <!-- <picker class='baseitem_value' mode='selector' bindchange='choseSaletype' value='{{saletypeIndex}}' range-key="name" range='{{saletype}}'> | |||
| <text>{{saletype[saletypeIndex].name}}</text> | |||
| </picker> --> | |||
| <view class='baseitem_value' bindtap="powerDrawer" data-statu="open" data-x='仓库' data-item='{{which}}'> | |||
| {{store[storeIndex].Name}} | |||
| </view> | |||
| </view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>销售类型</text> | |||
| <!-- <picker class='baseitem_value' mode='selector' bindchange='choseSaletype' value='{{saletypeIndex}}' range-key="name" range='{{saletype}}'> | |||
| <text>{{saletype[saletypeIndex].name}}</text> | |||
| </picker> --> | |||
| <view class='baseitem_value' bindtap="powerDrawer" data-statu="open" data-x='销售类型' data-item='{{which}}'> | |||
| {{saletype[saletypeIndex].Name}} | |||
| </view> | |||
| </view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>配送方式</text> | |||
| <!-- <picker class='baseitem_value' mode='selector' bindchange='choseSaletype' value='{{saletypeIndex}}' range-key="name" range='{{saletype}}'> | |||
| <text>{{saletype[saletypeIndex].name}}</text> | |||
| </picker> --> | |||
| <view class='baseitem_value' bindtap="powerDrawer" data-statu="open" data-x='配送方式' data-item='{{which}}'> | |||
| {{takeGoodsType[takeGoodsTypeIndex].Name}} | |||
| </view> | |||
| </view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>送货地址</text> | |||
| <input class='baseitem_value' bindinput='getAddrs' placeholder='请输入送货地址' placeholder-style='color:rgb(202, 202, 202)'></input> | |||
| </view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>摘要</text> | |||
| <input class='baseitem_value' bindinput='getRemark'></input> | |||
| </view> | |||
| <!-- <view class='baseitem'> | |||
| <text class='baseitem_key' space="emsp">摘 要</text> | |||
| <input class='baseitem_value' bindinput='getRemark' placeholder='请输入摘要' placeholder-style='color:rgb(202, 202, 202)'></input> | |||
| </view> --> | |||
| <!-- <button class='submit' catchtap='submitForm'>提交</button> --> | |||
| </scroll-view> | |||
| <view class="drawer_screen" bindtap="powerDrawer" data-item='{{which}}' data-statu="close" wx:if="{{showModalStatus}}"></view> | |||
| <!--content--> | |||
| <!--使用animation属性指定需要执行的动画--> | |||
| <view animation="{{animationData}}" data-item='{{which}}' class="drawer_box" wx:if="{{showModalStatus}}"> | |||
| <!--drawer content--> | |||
| <view class='top' data-item='{{which}}'> | |||
| <input data-item='{{which}}' class="sousuo" bindinput="select" placeholder='请输入搜索'> | |||
| </input> | |||
| </view> | |||
| <view class="drawer_content"> | |||
| <block wx:for="{{currency}}" wx:key="item" wx:for-index="idx"> | |||
| <view class="grid1" data-item='{{which}}' catchtap='itemclick' data-idx='{{idx}}' data-ID="{{item.ID}}" data-Name='{{item.Name}}'> | |||
| <text class='text3'>{{item.Name}}</text> | |||
| </view> | |||
| </block> | |||
| </view> | |||
| <view class="btn_ok" bindtap="powerDrawer" data-statu="close">取消</view> | |||
| </view> | |||
| </swiper-item> | |||
| <!-- 订单详细 --> | |||
| <swiper-item class="swiper-items2"> | |||
| <scroll-view scroll-x="false" scroll-y="true" class='scroll-views'> | |||
| <view class='main-body'> | |||
| <block wx:for="{{obj}}" wx:key="item" wx:for-index="idx"> | |||
| <!-- <template is="fodder" data="{{...item}}"></template> --> | |||
| <view class='itemView'> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key2'>存货名称</text> | |||
| <view class='baseitem_value2' bindtap="powerDrawer1" data-statu="open" data-idx='{{idx}}'> | |||
| {{obj[idx].Goods_Name}} | |||
| </view> | |||
| </view> | |||
| <view class='twogroup'> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key1'>报货数量</text> | |||
| <input class='baseitem_value1' bindinput='getGoodsNum' placeholder='请输入报货数量' type='digit' placeholder-style='color:rgb(202, 202, 202)' data-idx='{{idx}}' value='{{obj[idx].goodsNum}}'></input> | |||
| </view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key1' space='ensp'>辅 数 量</text> | |||
| <input class='baseitem_value1' bindinput='getSecondNum' placeholder='请输入辅数量' type='digit' placeholder-style='color:rgb(202, 202, 202)' data-idx='{{idx}}' value='{{obj[idx].goodsSecondNum}}'></input> | |||
| </view> | |||
| </view> | |||
| <view class='twogroup'> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key1' space='emsp'>单 价</text> | |||
| <input class='baseitem_value1' type='digit' bindinput='getPrice' placeholder='请输入单价' placeholder-style='color:rgb(202, 202, 202)' data-idx='{{idx}}' value='{{obj[idx].Price}}'></input> | |||
| </view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key1'>政策单价</text> | |||
| <text class='baseitem_value1' data-idx='{{idx}}'>{{obj[idx].PolicyPrice}}</text> | |||
| </view> | |||
| </view> | |||
| <view class='delete' catchtap='deleteItem' data-idx='{{idx}}'>删除</view> | |||
| </view> | |||
| </block> | |||
| <view class='add' catchtap='add'> | |||
| <image class="ico" src="/imgs/tianjia.png"></image> | |||
| </view> | |||
| </view> | |||
| <!-- <template name='fodder'> | |||
| </template> --> | |||
| <button class='submit' catchtap='submitForm'>提交</button> | |||
| </scroll-view> | |||
| <view class="drawer_screen" bindtap="powerDrawer1" data-statu="close" wx:if="{{showModalStatus1}}"></view> | |||
| <!--content--> | |||
| <!--使用animation属性指定需要执行的动画--> | |||
| <view animation="{{animationData}}" class="drawer_box" wx:if="{{showModalStatus1}}"> | |||
| <!--drawer content--> | |||
| <view class='top'> | |||
| <input input class="sousuo" bindinput="select1" placeholder='请输入搜索'> | |||
| </input> | |||
| </view> | |||
| <view class="drawer_content"> | |||
| <block wx:for="{{goods}}" wx:key="item"> | |||
| <view class="grid1" catchtap='itemclick1' data-idx='{{idx}}' data-Name='{{item.Goods_Name}}' data-policyprice='{{item.PolicyPrice}}' data-data='{{item}}'> | |||
| <text class='text3'>{{item.Goods_Name}}</text> | |||
| </view> | |||
| </block> | |||
| </view> | |||
| <view class="btn_ok" bindtap="powerDrawer1" data-statu="close">取消</view> | |||
| </view> | |||
| </swiper-item> | |||
| </swiper> | |||
| @ -0,0 +1,224 @@ | |||
| /* pages/saleforecast/saleforecast.wxss */ | |||
| page { | |||
| background:#EAF1F8; | |||
| 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; | |||
| height: 100%; | |||
| width: 100%; | |||
| overflow: hidden; | |||
| } | |||
| .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-left: 5%; | |||
| margin-top: 10%; | |||
| width: 90%; | |||
| margin-right: 5%; | |||
| color: #fff; | |||
| background: linear-gradient(to right, #39c4fd, #539eef); | |||
| } | |||
| .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: #2788f8; | |||
| } | |||
| .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); | |||
| } | |||
| @ -0,0 +1,218 @@ | |||
| // pages/order/order.js | |||
| const app = getApp(); | |||
| var network = require("../../utils/net.js"); | |||
| var timechage = require("../../utils/dateTimeUtil.js"); | |||
| var PageSize = 10 | |||
| var UnCheckPageIndex = 0 | |||
| var CheckedPageIndex = 0 | |||
| var getListPath = '/MainSystem/B3MiniProgramRpc/XuRpcs/Employee/OrderRpc/GetList' | |||
| var deleteItem = "/MainSystem/B3MiniProgramRpc/XuRpcs/Employee/OrderRpc/Delete" | |||
| // 未审核订单列表 | |||
| function getUnCheckOrderList(that, UnCheckPageIndex, UnCheckPageSize, successaction) { | |||
| let getArr = []; | |||
| let method = getListPath; | |||
| let params = [{ | |||
| "BillState": 0, | |||
| "StartLoadTime": app.globalData.selectStartDate, | |||
| "EndLoadTime": app.globalData.selectEndDate, | |||
| "Customer_ID": app.globalData.selectCustomer_ID, | |||
| "PageIndex": UnCheckPageIndex, | |||
| "PageSize": PageSize, | |||
| }]; | |||
| network.transfer_request(method, params, function (res) { | |||
| successaction(); | |||
| var array = res.result; | |||
| if (array.length <= 0) { | |||
| wx.showToast({ | |||
| title: '无数据更新', | |||
| }) | |||
| UnCheckPageIndex = UnCheckPageIndex - 1; | |||
| return; | |||
| } | |||
| for (var i = 0; i < array.length; i++) { | |||
| var dmo = { | |||
| orderState: true, | |||
| workFlowName: array[i].DepartmentWorkFlow_Detail_Name, | |||
| orderID: array[i].ID, | |||
| Customer_Name: array[i].Customer_Name, | |||
| time: timechage.formatTimeTwo(array[i].LoadTime.substring(6, 19), 'Y/M/D') | |||
| } | |||
| getArr.push(dmo); | |||
| } | |||
| let arrLast = that.data.unCheckDataArr.concat(getArr); | |||
| that.setData({ | |||
| unCheckDataArr: arrLast, | |||
| }) | |||
| }) | |||
| } | |||
| // 已审核订单列表 | |||
| function getCheckedOrderList(that, CheckedPageIndex, CheckedPageSize) { | |||
| let getArr = []; | |||
| let method = getListPath; | |||
| let params = [{ | |||
| "BillState": 20, | |||
| "StartLoadTime": app.globalData.selectStartDate, | |||
| "EndLoadTime": app.globalData.selectEndDate, | |||
| "Customer_ID": app.globalData.selectCustomer_ID, | |||
| "PageIndex": CheckedPageIndex, | |||
| "PageSize": PageSize, | |||
| }]; | |||
| network.transfer_request(method, params, function (res) { | |||
| var array = res.result; | |||
| if (array.length <= 0) { | |||
| wx.showToast({ | |||
| title: '无数据更新', | |||
| }) | |||
| CheckedPageIndex = CheckedPageIndex - 1; | |||
| return; | |||
| } | |||
| for (var i = 0; i < array.length; i++) { | |||
| var dmo = { | |||
| //添加单据状态的传递,在详情页面判断此值,进行是否允许提交的操作 | |||
| orderState: false, | |||
| workFlowName: array[i].DepartmentWorkFlow_Detail_Name, | |||
| orderID: array[i].ID, | |||
| Customer_Name: array[i].Customer_Name, | |||
| time: timechage.formatTimeTwo(array[i].LoadTime.substring(6, 19),'Y/M/D') | |||
| } | |||
| getArr.push(dmo); | |||
| } | |||
| let arrLast = that.data.checkedDataArr.concat(getArr); | |||
| that.setData({ | |||
| checkedDataArr: arrLast, | |||
| }) | |||
| }) | |||
| } | |||
| Page({ | |||
| data: { | |||
| checkedDataArr: [], | |||
| unCheckDataArr: [], | |||
| winHeight: app.globalData.winHeight, | |||
| currentTab: 0, | |||
| }, | |||
| /** | |||
| * 滑动切换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 | |||
| }) | |||
| } | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面显示 | |||
| */ | |||
| onShow: function() { | |||
| this.setData({ | |||
| checkedDataArr: [], | |||
| unCheckDataArr: [], | |||
| }) | |||
| var that = this; | |||
| UnCheckPageIndex = 0; | |||
| CheckedPageIndex = 0; | |||
| getUnCheckOrderList(that, UnCheckPageIndex, PageSize, function (res) { | |||
| getCheckedOrderList(that, CheckedPageIndex, PageSize); | |||
| }); | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面卸载 | |||
| */ | |||
| onUnload: function() { | |||
| PageSize = 10 | |||
| app.globalData.selectCustomer_ID = null | |||
| app.globalData.selectStartDate = null | |||
| app.globalData.selectEndDate = null | |||
| }, | |||
| //未审核订单滑动到底部加载 | |||
| unCheckedScrollLower: function (event) { | |||
| var that = this; | |||
| UnCheckPageIndex = UnCheckPageIndex + 1; | |||
| getUnCheckOrderList(that, UnCheckPageIndex, PageSize, function (res) { | |||
| }); | |||
| }, | |||
| //已审核订单滑动到底部加载 | |||
| checkedScrollLower: function (event) { | |||
| var that = this; | |||
| CheckedPageIndex = CheckedPageIndex + 1; | |||
| getCheckedOrderList(that, CheckedPageIndex, PageSize); | |||
| }, | |||
| // 进入订单详情 | |||
| itemclick: function(e) { | |||
| wx.navigateTo({ | |||
| url: 'detail/detail?ID=' + e.currentTarget.dataset.orderid, | |||
| }) | |||
| }, | |||
| // 长按删除一条单据 | |||
| longPressDelete: function (event) { | |||
| var that = this; | |||
| var itemID = event.currentTarget.dataset.orderid; | |||
| wx.showModal({ | |||
| title: '提示', | |||
| content: '确定要删除' + itemID + '号单据吗?', | |||
| success: function (res) { | |||
| if (res.confirm) { | |||
| var params = [itemID]; | |||
| network.transfer_request(deleteItem, params, function (res) { | |||
| wx.showToast({ | |||
| title: '操作成功', | |||
| }) | |||
| that.onShow(); | |||
| }) | |||
| } else if (res.cancel) { | |||
| console.log('点击取消了'); | |||
| return false; | |||
| } | |||
| } | |||
| }) | |||
| }, | |||
| createNew: function(e) { | |||
| wx.navigateTo({ | |||
| url: 'newBill/newBill', | |||
| }) | |||
| }, | |||
| chose: function(e) { | |||
| wx.navigateTo({ | |||
| url: 'query/query', | |||
| }) | |||
| }, | |||
| // 该方法绑定了页面滚动时的事件 | |||
| scroll: function(event) { | |||
| this.setData({ | |||
| scrollTop: event.detail.scrollTop | |||
| }); | |||
| }, | |||
| }) | |||
| @ -0,0 +1,5 @@ | |||
| { | |||
| "navigationBarBackgroundColor": "white", | |||
| "navigationBarTextStyle": "black", | |||
| "navigationBarTitleText": "订单列表" | |||
| } | |||
| @ -0,0 +1,52 @@ | |||
| <!--pages/order/order.wxml--> | |||
| <view class="swiper-tab"> | |||
| <view class="swiper-tab-list {{currentTab==0 ? 'on' : ''}}" data-current="0" bindtap="swichNav">未审核</view> | |||
| <view class="swiper-tab-list {{currentTab==1 ? 'on' : ''}}" data-current="1" bindtap="swichNav">已审核</view> | |||
| </view> | |||
| <swiper current="{{currentTab}}" class="swiper-box" style='height:{{winHeight -95}}px' duration="300" bindchange="bindChange"> | |||
| <!-- 未审核 --> | |||
| <swiper-item class="swiper-items1"> | |||
| <scroll-view scroll-y="true" class='scroll-views' style='height:{{winHeight -43}}px' bindscrolltolower="unCheckedScrollLower"> | |||
| <view class="custmer_list_view_main" wx:for="{{unCheckDataArr}}" wx:key="item"> | |||
| <view class='custmer_list_view' catchtap='itemclick' bindlongpress="longPressDelete" data-orderid='{{item.orderID}}'> | |||
| <view class='phone_h'> | |||
| <text class='text_name'>{{item.Customer_Name}}</text> | |||
| <text style='color:{{item.color}}' class='text_state'>流程状态:{{item.workFlowName}}</text> | |||
| </view> | |||
| <view class='phone_h'> | |||
| <text class='text_id'>No.{{item.orderID}}</text> | |||
| <text class='text_time'>发货时间:{{item.time}}</text> | |||
| </view> | |||
| </view> | |||
| <view class='view_line_main'> | |||
| </view> | |||
| </view> | |||
| </scroll-view> | |||
| </swiper-item> | |||
| <swiper-item class="swiper-items2"> | |||
| <scroll-view scroll-y="true" class='scroll-views' style='height:{{winHeight -43}}px' bindscrolltolower="checkedScrollLower"> | |||
| <view class="custmer_list_view_main" wx:for="{{checkedDataArr}}" wx:key="item"> | |||
| <view class='custmer_list_view' catchtap='itemclick' data-orderid='{{item.orderID}}'> | |||
| <view class='phone_h'> | |||
| <text class='text_name'>{{item.Customer_Name}}</text> | |||
| <text style='color:{{item.color}}' class='text_state'>流程状态:{{item.workFlowName}}</text> | |||
| </view> | |||
| <view class='phone_h'> | |||
| <text class='text_id'>No.{{item.orderID}}</text> | |||
| <text class='text_time'>发货时间:{{item.time}}</text> | |||
| </view> | |||
| </view> | |||
| <view class='view_line_main'> | |||
| </view> | |||
| </view> | |||
| </scroll-view> | |||
| </swiper-item> | |||
| </swiper> | |||
| <image class='xinjian' bindtap="createNew" src="/imgs/create.png"></image> | |||
| <button class='chose' catchtap='chose'>筛选</button> | |||
| @ -0,0 +1,117 @@ | |||
| /* pages/order/order.wxss */ | |||
| page { | |||
| background:#EAF1F8; | |||
| 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 { | |||
| width: 100%; | |||
| display: block; | |||
| overflow: hidden; | |||
| } | |||
| .custmer_list_view_main{ | |||
| background-color: #fff; | |||
| } | |||
| .scroll-views { | |||
| width: 100%; | |||
| height: 100%; | |||
| display: flex; | |||
| flex-direction: column; | |||
| } | |||
| .custmer_list{ | |||
| margin-bottom: 10%; | |||
| } | |||
| .custmer_list_view{ | |||
| display: flex; | |||
| flex-direction: column; | |||
| padding-left: 5%; | |||
| padding-top: 16rpx; | |||
| background: white; | |||
| } | |||
| .phone_h{ | |||
| display: flex; | |||
| flex-direction: row; | |||
| justify-content: space-between; | |||
| padding-top: 12rpx; | |||
| padding-right: 5%; | |||
| padding-bottom: 10rpx; | |||
| } | |||
| .text_name{ | |||
| font-size: 32rpx; | |||
| color: rgb(48, 48, 48); | |||
| } | |||
| .text_state{ | |||
| font-size: 28rpx; | |||
| } | |||
| .text_id{ | |||
| font-size: 28rpx; | |||
| color: rgb(136, 136, 136); | |||
| } | |||
| .text_time{ | |||
| font-size: 28rpx; | |||
| color: rgb(136, 136, 136); | |||
| } | |||
| .view_line_main{ | |||
| height: 1rpx; | |||
| background-color: #dbdbdb; | |||
| margin-left: 20rpx; | |||
| margin-right: 0rpx; | |||
| } | |||
| .view_line{ | |||
| height: 1rpx; | |||
| margin-left: 20rpx; | |||
| margin-right: 0rpx; | |||
| background: #dbdbdb; | |||
| } | |||
| .chose{ | |||
| width: 100%; | |||
| height: 40px; | |||
| position: fixed; | |||
| bottom: 0rpx; | |||
| } | |||
| .xinjian{ | |||
| width: 160rpx; | |||
| height: 160rpx; | |||
| position: fixed; | |||
| bottom: 60rpx; | |||
| right: 20rpx; | |||
| } | |||
| @ -0,0 +1,194 @@ | |||
| // pages/orderSearch/orderSearch.js | |||
| var network = require("../../../utils/net.js") | |||
| var timechage = require("../../../utils/dateTimeUtil.js") | |||
| var app = getApp() | |||
| function GetCustomer(that, inputValue) { | |||
| let method = "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/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: "购货客户" | |||
| }) | |||
| } | |||
| Page({ | |||
| /** | |||
| * 页面的初始数据 | |||
| */ | |||
| data: { | |||
| customerIndex: 0, | |||
| customer: [{ | |||
| ID: 0, | |||
| Name: "请选择购货客户" | |||
| }], | |||
| currency: [], | |||
| Sdate: timechage.formatTimeTwo(Date.parse(new Date()), 'Y-M-D'), | |||
| Edate: timechage.formatTimeTwo(Date.parse(new Date()), 'Y-M-D'), | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面加载 | |||
| */ | |||
| onLoad: function (options) { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面初次渲染完成 | |||
| */ | |||
| onReady: function () { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面显示 | |||
| */ | |||
| onShow: function () { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面隐藏 | |||
| */ | |||
| onHide: function () { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面卸载 | |||
| */ | |||
| onUnload: function () { | |||
| }, | |||
| /** | |||
| * 页面相关事件处理函数--监听用户下拉动作 | |||
| */ | |||
| onPullDownRefresh: function () { | |||
| }, | |||
| /** | |||
| * 页面上拉触底事件的处理函数 | |||
| */ | |||
| onReachBottom: function () { | |||
| }, | |||
| bindSDateChange: function (e) { | |||
| this.setData({ | |||
| Sdate: e.detail.value | |||
| }) | |||
| }, | |||
| bindEDateChange: function (e) { | |||
| this.setData({ | |||
| Edate: e.detail.value | |||
| }) | |||
| }, | |||
| submitForm: function (e) { | |||
| let customerID = this.data.customer[this.data.customerIndex].ID; | |||
| let sDate = timechage.formatymdERTDate(this.data.Sdate); | |||
| let eDate = timechage.formatymdERTDate(this.data.Edate); | |||
| if (customerID == 0) { | |||
| app.globalData.selectCustomer_ID = null; | |||
| } else { | |||
| app.globalData.selectCustomer_ID = customerID; | |||
| } | |||
| app.globalData.selectStartDate = sDate; | |||
| app.globalData.selectEndDate = eDate; | |||
| wx.navigateBack({ | |||
| delta: 1 | |||
| }) | |||
| }, | |||
| powerDrawer: function (e) { | |||
| let that = this; | |||
| let x = e.currentTarget.dataset.x; | |||
| if (x == "购货客户") { | |||
| GetCustomer(that, "") | |||
| } | |||
| let currentStatu = e.currentTarget.dataset.statu; | |||
| this.util(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({ | |||
| customerIndex: idx | |||
| }) | |||
| } | |||
| this.setData({ | |||
| showModalStatus: false, | |||
| }) | |||
| }, | |||
| select: function (e) { | |||
| var that = this; | |||
| var which = e.currentTarget.dataset.item; | |||
| var value = e.detail.value; | |||
| if (which == "购货客户") { | |||
| GetCustomer(that, 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()参数,返回值是日期和时间 | |||
| // 再通过setData更改Page()里面的data,动态更新页面的数据 | |||
| this.setData({ | |||
| showModalStatus: true, | |||
| }); | |||
| } | |||
| } | |||
| }) | |||
| @ -0,0 +1,3 @@ | |||
| { | |||
| "navigationBarTitleText": "订单筛选" | |||
| } | |||
| @ -0,0 +1,48 @@ | |||
| <!--pages/orderSearch/orderSearch.wxml--> | |||
| <view class='twoitem'> | |||
| <text>购货客户</text> | |||
| <text class='item_value' bindtap="powerDrawer" data-statu="open" data-x='购货客户' data-item='{{which}}'>{{customer[customerIndex].Name}}</text> | |||
| </view> | |||
| <view class='twoitem'> | |||
| <text>开始日期</text> | |||
| <picker class='item_value' mode="date" value="{{Sdate}}" start="2018-01-01" end="2037-12-31" bindchange="bindSDateChange"> | |||
| <view class="picker"> | |||
| {{Sdate}} | |||
| </view> | |||
| </picker> | |||
| </view> | |||
| <view class='twoitem'> | |||
| <text>结束日期</text> | |||
| <picker class='item_value' mode="date" value="{{Edate}}" start="2018-01-01" end="2037-12-31" bindchange="bindEDateChange"> | |||
| <view class="picker"> | |||
| {{Edate}} | |||
| </view> | |||
| </picker> | |||
| </view> | |||
| <button class='submit' catchtap='submitForm'>提交</button> | |||
| <view class="drawer_screen" bindtap="powerDrawer" data-item='{{which}}' data-statu="close" wx:if="{{showModalStatus}}"></view> | |||
| <!--content--> | |||
| <!--使用animation属性指定需要执行的动画--> | |||
| <view animation="{{animationData}}" data-item='{{which}}' class="drawer_box" wx:if="{{showModalStatus}}"> | |||
| <!--drawer content--> | |||
| <view class='top' data-item='{{which}}'> | |||
| <input data-item='{{which}}' class="sousuo" bindinput="select" placeholder='请输入搜索'> | |||
| </input> | |||
| </view> | |||
| <view class="drawer_content"> | |||
| <block wx:for="{{currency}}" wx:key="item" wx:for-index="idx"> | |||
| <view class="grid1" data-item='{{which}}' catchtap='itemclick' data-idx='{{idx}}' data-ID="{{item.ID}}" data-Name='{{item.Name}}'> | |||
| <text class='text3'>{{item.Name}}</text> | |||
| </view> | |||
| </block> | |||
| </view> | |||
| <view class="btn_ok" bindtap="powerDrawer" data-statu="close">取消</view> | |||
| </view> | |||
| @ -0,0 +1,94 @@ | |||
| /* pages/orderSearch/orderSearch.wxss */ | |||
| page { | |||
| background: rgb(240, 239, 245); | |||
| } | |||
| .twoitem{ | |||
| display: flex; | |||
| flex-direction: row; | |||
| justify-content: space-between; | |||
| padding-right: 5%; | |||
| padding-left: 5%; | |||
| background: #fff; | |||
| border-bottom: 1rpx solid #dbdbdb; | |||
| padding-top: 20rpx; | |||
| padding-bottom: 20rpx; | |||
| } | |||
| .item_value{ | |||
| width: 70%; | |||
| text-align: right | |||
| } | |||
| .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: #2788f8; | |||
| } | |||
| .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); | |||
| } | |||
| @ -0,0 +1,726 @@ | |||
| // pages/orderinfo/orderinfo.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 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 load = "/MainSystem/B3MiniProgramRpc/XuRpcs/Employee/SaleForecastRpc/Load"; | |||
| let update = '/MainSystem/B3MiniProgramRpc/XuRpcs/Employee/SaleForecastRpc/Update'; | |||
| function setTime(that) { | |||
| // 获取完整的年月日 时分秒,以及默认显示的数组 | |||
| var obj1 = dateTimePicker.dateTimePicker(that.data.startYear, that.data.endYear, that.data.loadTime); | |||
| // 精确到分的处理,将数组的秒去掉 | |||
| var lastArray = obj1.dateTimeArray.pop(); | |||
| var lastTime = obj1.dateTime.pop(); | |||
| that.setData({ | |||
| dateTimeArray1: obj1.dateTimeArray, | |||
| dateTime1: obj1.dateTime | |||
| }); | |||
| } | |||
| 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 GetCustomer(that, inputValue) { | |||
| 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: "购货客户" | |||
| }) | |||
| } | |||
| 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: "", | |||
| winWidth: 0, | |||
| winHeight: app.globalData.winHeight, | |||
| // 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: "", | |||
| dateTimeArray1: null, | |||
| dateTime1: null, | |||
| startYear: 2018, | |||
| endYear: 2030, | |||
| loadTime: "" | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面加载 | |||
| */ | |||
| onLoad: function (options) { | |||
| var that = this; | |||
| let ID = Number(options.ID); | |||
| orderID = ID; | |||
| let method = load; | |||
| let params = [ID]; | |||
| network.transfer_request(method, params, function (res) { | |||
| let customerOld = [{ | |||
| ID: res.result.Customer_ID, | |||
| Name: res.result.Customer_Name | |||
| }] | |||
| let unitOld = [{ | |||
| ID: res.result.AccountingUnit_ID, | |||
| Name: res.result.AccountingUnit_Name | |||
| }] | |||
| let departmentOld = [{ | |||
| ID: res.result.Department_ID, | |||
| Name: res.result.Department_Name | |||
| }] | |||
| let saletypeOld = [{ | |||
| ID: res.result.SaleKind_ID, | |||
| Name: res.result.SaleKind_Name | |||
| }] | |||
| let addrrrr = res.result.DeliverAddress | |||
| let loadtimee = timechage.formatTimeTwo(res.result.Date.substring(6, 19), 'Y-M-D h:m') | |||
| let details = []; | |||
| for (var i = 0; i < res.result.Details.length; i++) { | |||
| if (res.result.Details[i].RightRatio == null) { | |||
| var rightRatio = 1 | |||
| } | |||
| if (res.result.Details[i].LeftRatio == null) { | |||
| var leftRatio = 1 | |||
| } | |||
| var dmo = { | |||
| "Goods_Name": res.result.Details[i].Goods_Name, | |||
| "SaleGoods_ID": res.result.Details[i].SaleGoods_ID, | |||
| "goodsNum": res.result.Details[i].UnitNum, | |||
| "goodsSecondNum": res.result.Details[i].SecondNumber, | |||
| "Price": res.result.Details[i].Price, | |||
| "PolicyPrice": res.result.Details[i].PolicyPrice, | |||
| "Goods_MainUnitRatio": res.result.Details[i].Goods_MainUnitRatio, | |||
| "Goods_SecondUnitRatio": res.result.Details[i].Goods_SecondUnitRatio, | |||
| "Goods_UnitConvertDirection": res.result.Details[i].Goods_UnitConvertDirection, | |||
| "RightRatio": rightRatio, | |||
| "LeftRatio": leftRatio, | |||
| "ID": res.result.Details[i].ID | |||
| } | |||
| details.push(dmo) | |||
| } | |||
| that.setData({ | |||
| customer: customerOld, | |||
| unit: unitOld, | |||
| department: departmentOld, | |||
| saletype: saletypeOld, | |||
| addrs: addrrrr, | |||
| loadTime: loadtimee, | |||
| obj: details | |||
| }) | |||
| setTime(that) | |||
| }) | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面初次渲染完成 | |||
| */ | |||
| onReady: function () { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面显示 | |||
| */ | |||
| onShow: function () { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面隐藏 | |||
| */ | |||
| onHide: function () { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面卸载 | |||
| */ | |||
| onUnload: function () { | |||
| }, | |||
| /** | |||
| * 页面相关事件处理函数--监听用户下拉动作 | |||
| */ | |||
| onPullDownRefresh: function () { | |||
| }, | |||
| /** | |||
| * 页面上拉触底事件的处理函数 | |||
| */ | |||
| onReachBottom: function () { | |||
| }, | |||
| /** | |||
| * 滑动切换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) { | |||
| let newobj = { | |||
| Goods_Name: "请选择存货" | |||
| }; | |||
| this.data.obj.push(newobj) | |||
| let aaa = this.data.obj; | |||
| this.setData({ | |||
| obj: aaa, | |||
| }) | |||
| }, | |||
| 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; | |||
| 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 olddID = 0; | |||
| if (this.data.obj[i].ID == null) { | |||
| olddID = 0 | |||
| } else { | |||
| olddID = Number(this.data.obj[i].ID) | |||
| } | |||
| 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, | |||
| ID: olddID | |||
| } | |||
| detailsArray.push(dmo) | |||
| } | |||
| let method = update; | |||
| let params = [{ | |||
| "Customer_ID": customerID, | |||
| "LoadTime": update, | |||
| "AccountingUnit_ID": unitID, | |||
| "Department_ID": departmentID, | |||
| "SaleKind_ID": saletypeID, | |||
| "DeliverAddress": this.data.addrs, | |||
| "Details": detailsArray, | |||
| "ID": orderID | |||
| }]; | |||
| network.transfer_request(method, params, function (res) { | |||
| if (res.result == null) { | |||
| wx.showModal({ | |||
| title: '提示', | |||
| 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 | |||
| }); | |||
| } | |||
| } | |||
| }) | |||
| @ -0,0 +1,5 @@ | |||
| { | |||
| "navigationBarBackgroundColor": "white", | |||
| "navigationBarTextStyle": "black", | |||
| "navigationBarTitleText": "预报详情" | |||
| } | |||
| @ -0,0 +1,183 @@ | |||
| <!--pages/orderinfo/orderinfo.wxml--> | |||
| <!-- <view class="swiper-tab"> | |||
| <view class="swiper-tab-list tab1 {{currentTab==0 ? 'on' : ''}}" data-current="0" bindtap="swichNav">基本信息</view> | |||
| <view class="swiper-tab-list tab2 {{currentTab==1 ? 'on' : ''}}" data-current="1" bindtap="swichNav">预报详细</view> | |||
| </view> --> | |||
| <view class="swiper-tab"> | |||
| <view class="swiper-tab-list {{currentTab==0 ? 'on' : ''}}" data-current="0" bindtap="swichNav">基本信息</view> | |||
| <view class="swiper-tab-list {{currentTab==1 ? 'on' : ''}}" data-current="1" bindtap="swichNav">预报详细</view> | |||
| </view> | |||
| <swiper current="{{currentTab}}" class="swiper-box" duration="300" style="height:{{winHeight - 55}}px" bindchange="bindChange"> | |||
| <!-- 基本信息 --> | |||
| <swiper-item class="swiper-items1"> | |||
| <scroll-view scroll-x="false" scroll-y="true" class='scroll-views'> | |||
| <view class='backGroundContainer'> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>购货客户</text> | |||
| <!-- <picker class='baseitem_value' mode='selector' bindchange='choseCustomer' value='{{customerIndex}}' range-key="name" range='{{customer}}'> | |||
| <text>{{customer[customerIndex].name}}</text> | |||
| </picker> --> | |||
| <view class='baseitem_value' data-x='购货客户' data-item='{{which}}'> | |||
| {{customer[customerIndex].Name}} | |||
| </view> | |||
| </view> | |||
| <view class='horizontallineView'></view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>发货时间</text> | |||
| <picker class='baseitem_value' mode="multiSelector" value="{{dateTime1}}" bindchange="changeDateTime1" range="{{dateTimeArray1}}"> | |||
| <view class="tui-picker-detail"> | |||
| {{dateTimeArray1[0][dateTime1[0]]}}-{{dateTimeArray1[1][dateTime1[1]]}}-{{dateTimeArray1[2][dateTime1[2]]}} {{dateTimeArray1[3][dateTime1[3]]}}:{{dateTimeArray1[4][dateTime1[4]]}} | |||
| </view> | |||
| </picker> | |||
| </view> | |||
| <view class='horizontallineView'></view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>会计单位</text> | |||
| <!-- 详情单据内会计单位是否不可编辑 --> | |||
| <!-- bindtap="powerDrawer" data-statu="open" data-x='会计部门' data-item='{{which}}' --> | |||
| <view class='baseitem_value'> | |||
| {{unit[isUnit].Name}} | |||
| </view> | |||
| </view> | |||
| <view class='horizontallineView'></view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>销售部门</text> | |||
| <!-- <picker class='baseitem_value' mode='selector' bindchange='choseDepartment' value='{{departmentIndex}}' range-key="name" range='{{department}}'> | |||
| <text>{{department[departmentIndex].name}}</text> | |||
| </picker> --> | |||
| <view class='baseitem_value' bindtap="powerDrawer" data-statu="open" data-x='部门' data-item='{{which}}'> | |||
| {{department[departmentIndex].Name}} | |||
| </view> | |||
| </view> | |||
| <view class='horizontallineView'></view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>销售类型</text> | |||
| <!-- <picker class='baseitem_value' mode='selector' bindchange='choseSaletype' value='{{saletypeIndex}}' range-key="name" range='{{saletype}}'> | |||
| <text>{{saletype[saletypeIndex].name}}</text> | |||
| </picker> --> | |||
| <view class='baseitem_value' bindtap="powerDrawer" data-statu="open" data-x='销售类型' data-item='{{which}}'> | |||
| {{saletype[saletypeIndex].Name}} | |||
| </view> | |||
| </view> | |||
| <view class='horizontallineView'></view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>送货地址</text> | |||
| <input class='baseitem_value' bindinput='getAddrs' placeholder='请输入送货地址' placeholder-style='color:rgb(202, 202, 202)' value="{{addrs}}"></input> | |||
| </view> | |||
| <view class='horizontallineView'></view> | |||
| <!-- <view class='baseitem'> | |||
| <text class='baseitem_key' space="emsp">摘 要</text> | |||
| <input class='baseitem_value' bindinput='getRemark' placeholder='请输入摘要' placeholder-style='color:rgb(202, 202, 202)'></input> | |||
| </view> --> | |||
| <!-- <button class='submit' catchtap='submitForm'>保存</button> --> | |||
| </view> | |||
| </scroll-view> | |||
| <view class="drawer_screen" bindtap="powerDrawer" data-item='{{which}}' data-statu="close" wx:if="{{showModalStatus}}"></view> | |||
| <!--content--> | |||
| <!--使用animation属性指定需要执行的动画--> | |||
| <view animation="{{animationData}}" data-item='{{which}}' class="drawer_box" wx:if="{{showModalStatus}}"> | |||
| <!--drawer content--> | |||
| <view class='top' data-item='{{which}}'> | |||
| <input data-item='{{which}}' class="sousuo" bindinput="select" placeholder='请输入搜索'> | |||
| </input> | |||
| </view> | |||
| <view class="drawer_content"> | |||
| <block wx:for="{{currency}}" wx:key="item" wx:for-index="idx"> | |||
| <view class="grid1" data-item='{{which}}' catchtap='itemclick' data-idx='{{idx}}' data-ID="{{item.ID}}" data-Name='{{item.Name}}'> | |||
| <text class='text3'>{{item.Name}}</text> | |||
| </view> | |||
| </block> | |||
| </view> | |||
| <view class="btn_ok" bindtap="powerDrawer" data-statu="close">取消</view> | |||
| </view> | |||
| </swiper-item> | |||
| <!-- 订单详细 --> | |||
| <swiper-item class="swiper-items2"> | |||
| <scroll-view scroll-x="false" scroll-y="true" class='scroll-views'> | |||
| <view class='main-body'> | |||
| <block wx:for="{{obj}}" wx:key="item" wx:for-index="idx"> | |||
| <!-- <template is="fodder" data="{{...item}}"></template> --> | |||
| <!-- <view class='backGroundContainer'> --> | |||
| <view class='itemView'> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key1'>存货名称</text> | |||
| <view class='baseitem_value1' bindtap="powerDrawer1" data-statu="open" data-idx='{{idx}}'> | |||
| {{obj[idx].Goods_Name}} | |||
| </view> | |||
| </view> | |||
| <view class='horizontallineView'></view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key1'>报货数量</text> | |||
| <input class='baseitem_value1' bindinput='getGoodsNum' placeholder='请输入报货数量' type='digit' placeholder-style='color:rgb(202, 202, 202)' data-idx='{{idx}}' value='{{obj[idx].goodsNum}}'></input> | |||
| </view> | |||
| <view class='horizontallineView'></view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key1' space='ensp'>辅 数 量</text> | |||
| <input class='baseitem_value1' bindinput='getSecondNum' placeholder='请输入辅数量' type='digit' placeholder-style='color:rgb(202, 202, 202)' data-idx='{{idx}}' value='{{obj[idx].goodsSecondNum}}'></input> | |||
| </view> | |||
| <view class='horizontallineView'></view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key1' space='emsp'>单 价</text> | |||
| <input class='baseitem_value1' type='digit' bindinput='getPrice' placeholder='请输入单价' placeholder-style='color:rgb(202, 202, 202)' data-idx='{{idx}}' value='{{obj[idx].Price}}'></input> | |||
| </view> | |||
| <view class='horizontallineView'></view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key1'>政策单价</text> | |||
| <text class='baseitem_value1' data-idx='{{idx}}'>{{obj[idx].PolicyPrice}}</text> | |||
| </view> | |||
| <view class='horizontallineView'></view> | |||
| </view> | |||
| <view class='delete' catchtap='deleteItem' data-idx='{{idx}}'>删除</view> | |||
| <view class='horizontallineView'></view> | |||
| </block> | |||
| <view class='add' catchtap='add'> | |||
| <image class="ico" src="/imgs/tianjia.png"></image> | |||
| </view> | |||
| </view> | |||
| <!-- <template name='fodder'> | |||
| </template> --> | |||
| <button class='submit' catchtap='submitForm'>保存</button> | |||
| </scroll-view> | |||
| <view class="drawer_screen" bindtap="powerDrawer1" data-statu="close" wx:if="{{showModalStatus1}}"></view> | |||
| <!--content--> | |||
| <!--使用animation属性指定需要执行的动画--> | |||
| <view animation="{{animationData}}" class="drawer_box" wx:if="{{showModalStatus1}}"> | |||
| <!--drawer content--> | |||
| <view class='top'> | |||
| <input input class="sousuo" bindinput="select1" placeholder='请输入搜索'> | |||
| </input> | |||
| </view> | |||
| <view class="drawer_content"> | |||
| <block wx:for="{{goods}}" wx:key="item"> | |||
| <view class="grid1" catchtap='itemclick1' data-idx='{{idx}}' data-Name='{{item.Goods_Name}}' data-policyprice='{{item.PolicyPrice}}' data-data='{{item}}'> | |||
| <text class='text3'>{{item.Goods_Name}}</text> | |||
| </view> | |||
| </block> | |||
| </view> | |||
| <view class="btn_ok" bindtap="powerDrawer1" data-statu="close">取消</view> | |||
| </view> | |||
| </swiper-item> | |||
| </swiper> | |||
| @ -0,0 +1,229 @@ | |||
| /* pages/orderinfo/orderinfo.wxss */ | |||
| page { | |||
| background: #EAF1F8; | |||
| 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; | |||
| } | |||
| .swiper-items1 { | |||
| height: 100%; | |||
| } | |||
| .swiper-items2 { | |||
| height: 100%; | |||
| } | |||
| .scroll-views { | |||
| height: 100%; | |||
| } | |||
| .backGroundContainer{ | |||
| background: #fff; | |||
| } | |||
| .baseitem { | |||
| height: 60rpx; | |||
| background: #fff; | |||
| /* border-bottom: 0.1px solid #dbdbdb; */ | |||
| display: flex; | |||
| flex-direction: row; | |||
| align-items: center; | |||
| padding: 20rpx 20rpx; | |||
| font-size: 30rpx; | |||
| } | |||
| .horizontallineView { | |||
| height: 1rpx; | |||
| background-color: #dbdbdb; | |||
| margin-left: 20rpx; | |||
| margin-right: 0rpx; | |||
| } | |||
| .baseitem_key { | |||
| color: #666; | |||
| width: 30%; | |||
| /* margin-left: 20rpx; */ | |||
| } | |||
| .baseitem_value { | |||
| color: rgb(48, 48, 48); | |||
| /* margin-left: 20rpx; | |||
| margin-right: 20rpx; */ | |||
| width: 70%; | |||
| text-align: right; | |||
| } | |||
| .baseitem_key2 { | |||
| color: #666; | |||
| width: 30%; | |||
| /* margin-left: 20rpx; */ | |||
| } | |||
| .baseitem_value2 { | |||
| color: rgb(48, 48, 48); | |||
| /* margin-left: 20rpx; | |||
| margin-right: 20rpx; */ | |||
| width: 70%; | |||
| text-align: right; | |||
| } | |||
| .baseitem_key1 { | |||
| color: #666; | |||
| width: 30%; | |||
| margin-left: 20rpx; | |||
| } | |||
| .baseitem_value1 { | |||
| color: rgb(48, 48, 48); | |||
| /* margin-left: 20rpx; | |||
| margin-right: 20rpx; */ | |||
| width: 70%; | |||
| text-align: right; | |||
| } | |||
| .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; | |||
| background: #fff; | |||
| } | |||
| .submit { | |||
| margin-left: 5%; | |||
| margin-top: 10%; | |||
| width: 90%; | |||
| margin-right: 5%; | |||
| color: #fff; | |||
| background: linear-gradient(to right, #39c4fd, #539eef); | |||
| } | |||
| .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); | |||
| } | |||
| @ -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 | |||
| }); | |||
| } | |||
| } | |||
| }) | |||
| @ -0,0 +1,5 @@ | |||
| { | |||
| "navigationBarBackgroundColor": "white", | |||
| "navigationBarTextStyle": "black", | |||
| "navigationBarTitleText": "预报新建" | |||
| } | |||
| @ -0,0 +1,156 @@ | |||
| <view class="swiper-tab"> | |||
| <view class="swiper-tab-list {{currentTab==0 ? 'on' : ''}}" data-current="0" bindtap="swichNav">基本信息</view> | |||
| <view class="swiper-tab-list {{currentTab==1 ? 'on' : ''}}" data-current="1" bindtap="swichNav">预报详细</view> | |||
| </view> | |||
| <swiper current="{{currentTab}}" class="swiper-box" duration="300" style="height:{{winHeight - 55}}px" bindchange="bindChange"> | |||
| <!-- 基本信息 --> | |||
| <swiper-item class="swiper-items1"> | |||
| <scroll-view scroll-x="false" scroll-y="true" class='scroll-views'> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>购货客户</text> | |||
| <view class='baseitem_value' bindtap="getCustomerItem"> | |||
| {{customer[customerIndex].Name}} | |||
| </view> | |||
| </view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>发货时间</text> | |||
| <picker class='baseitem_value' mode="multiSelector" value="{{dateTime1}}" bindchange="changeDateTime1" range="{{dateTimeArray1}}"> | |||
| <view class="tui-picker-detail"> | |||
| {{dateTimeArray1[0][dateTime1[0]]}}-{{dateTimeArray1[1][dateTime1[1]]}}-{{dateTimeArray1[2][dateTime1[2]]}} {{dateTimeArray1[3][dateTime1[3]]}}:{{dateTimeArray1[4][dateTime1[4]]}} | |||
| </view> | |||
| </picker> | |||
| </view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>会计单位</text> | |||
| <view class='baseitem_value' bindtap="powerDrawer" data-statu="open" data-x='会计部门' data-item='{{which}}'> | |||
| {{unit[isUnit].Name}} | |||
| </view> | |||
| </view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>销售部门</text> | |||
| <view class='baseitem_value' bindtap="powerDrawer" data-statu="open" data-x='部门' data-item='{{which}}'> | |||
| {{department[departmentIndex].Name}} | |||
| </view> | |||
| </view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>销售类型</text> | |||
| <view class='baseitem_value' bindtap="powerDrawer" data-statu="open" data-x='销售类型' data-item='{{which}}'> | |||
| {{saletype[saletypeIndex].Name}} | |||
| </view> | |||
| </view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key'>送货地址</text> | |||
| <input class='baseitem_value' bindinput='getAddrs' placeholder='请输入送货地址' placeholder-style='color:rgb(202, 202, 202)'></input> | |||
| </view> | |||
| <!-- <button class='submit' catchtap='submitForm'>提交</button> --> | |||
| </scroll-view> | |||
| <view class="drawer_screen" bindtap="powerDrawer" data-item='{{which}}' data-statu="close" wx:if="{{showModalStatus}}"></view> | |||
| <!--content--> | |||
| <!--使用animation属性指定需要执行的动画--> | |||
| <view animation="{{animationData}}" data-item='{{which}}' class="drawer_box" wx:if="{{showModalStatus}}"> | |||
| <!--drawer content--> | |||
| <view class='top' data-item='{{which}}'> | |||
| <input data-item='{{which}}' class="sousuo" bindinput="select" placeholder='请输入搜索'> | |||
| </input> | |||
| </view> | |||
| <view class="drawer_content"> | |||
| <block wx:for="{{currency}}" wx:key="item" wx:for-index="idx"> | |||
| <view class="grid1" data-item='{{which}}' catchtap='itemclick' data-idx='{{idx}}' data-ID="{{item.ID}}" data-Name='{{item.Name}}'> | |||
| <text class='text3'>{{item.Name}}</text> | |||
| </view> | |||
| </block> | |||
| </view> | |||
| <view class="btn_ok" bindtap="powerDrawer" data-statu="close">取消</view> | |||
| </view> | |||
| </swiper-item> | |||
| <!-- 订单详细 --> | |||
| <swiper-item class="swiper-items2"> | |||
| <scroll-view scroll-x="false" scroll-y="true" class='scroll-views'> | |||
| <view class='main-body'> | |||
| <block wx:for="{{obj}}" wx:key="item" wx:for-index="idx"> | |||
| <view class='itemView'> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key2'>存货名称</text> | |||
| <view class='baseitem_value2'> | |||
| {{obj[idx].Goods_Name}} | |||
| </view> | |||
| </view> | |||
| <view class='twogroup'> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key1'>报货数量</text> | |||
| <input class='baseitem_value1' bindinput='getGoodsNum' placeholder='请输入报货数量' type='digit' placeholder-style='color:rgb(202, 202, 202)' data-idx='{{idx}}' value='{{obj[idx].goodsNum}}'></input> | |||
| </view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key1' space='ensp'>辅 数 量</text> | |||
| <input class='baseitem_value1' bindinput='getSecondNum' placeholder='请输入辅数量' type='digit' placeholder-style='color:rgb(202, 202, 202)' data-idx='{{idx}}' value='{{obj[idx].goodsSecondNum}}'></input> | |||
| </view> | |||
| </view> | |||
| <view class='twogroup'> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key1' space='emsp'>单 价</text> | |||
| <input class='baseitem_value1' type='digit' bindinput='getPrice' placeholder='请输入单价' placeholder-style='color:rgb(202, 202, 202)' data-idx='{{idx}}' value='{{obj[idx].Price}}'></input> | |||
| </view> | |||
| <view class='baseitem'> | |||
| <text class='baseitem_key1'>政策单价</text> | |||
| <text class='baseitem_value1' data-idx='{{idx}}'>{{obj[idx].PolicyPrice}}</text> | |||
| </view> | |||
| </view> | |||
| <view class='delete' catchtap='deleteItem' data-idx='{{idx}}'>删除</view> | |||
| </view> | |||
| </block> | |||
| <view class='add' catchtap='add'> | |||
| 选择存货 | |||
| <!-- <image class="ico" src="/imgs/tianjia.png"></image> --> | |||
| </view> | |||
| </view> | |||
| <!-- <template name='fodder'> | |||
| </template> --> | |||
| <button class='submit' catchtap='submitForm'>提交</button> | |||
| </scroll-view> | |||
| <view class="drawer_screen" bindtap="powerDrawer1" data-statu="close" wx:if="{{showModalStatus1}}"></view> | |||
| <!--content--> | |||
| <!--使用animation属性指定需要执行的动画--> | |||
| <view animation="{{animationData}}" class="drawer_box" wx:if="{{showModalStatus1}}"> | |||
| <!--drawer content--> | |||
| <view class='top'> | |||
| <input input class="sousuo" bindinput="select1" placeholder='请输入搜索'> | |||
| </input> | |||
| </view> | |||
| <view class="drawer_content"> | |||
| <block wx:for="{{goods}}" wx:key="item"> | |||
| <view class="grid1" catchtap='itemclick1' data-idx='{{idx}}' data-Name='{{item.Goods_Name}}' data-policyprice='{{item.PolicyPrice}}' data-data='{{item}}'> | |||
| <text class='text3'>{{item.Goods_Name}}</text> | |||
| </view> | |||
| </block> | |||
| </view> | |||
| <view class="btn_ok" bindtap="powerDrawer1" data-statu="close">取消</view> | |||
| </view> | |||
| </swiper-item> | |||
| </swiper> | |||
| @ -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); | |||
| } | |||
| @ -0,0 +1,196 @@ | |||
| var network = require("../../../utils/net.js") | |||
| var timechage = require("../../../utils/dateTimeUtil.js") | |||
| var app = getApp() | |||
| var getCustomer= "/MainSystem/B3MiniProgramRpc/Rpcs/BaseInfoRpc/GetCustomer"; | |||
| function GetCustomer(that, inputValue) { | |||
| 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: "购货客户" | |||
| }) | |||
| } | |||
| Page({ | |||
| /** | |||
| * 页面的初始数据 | |||
| */ | |||
| data: { | |||
| customerIndex: 0, | |||
| customer: [{ | |||
| ID: 0, | |||
| Name: "请选择购货客户" | |||
| }], | |||
| currency: [], | |||
| Sdate: timechage.formatTimeTwo(Date.parse(new Date()), 'Y-M-D'), | |||
| Edate: timechage.formatTimeTwo(Date.parse(new Date()), 'Y-M-D'), | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面加载 | |||
| */ | |||
| onLoad: function (options) { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面初次渲染完成 | |||
| */ | |||
| onReady: function () { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面显示 | |||
| */ | |||
| onShow: function () { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面隐藏 | |||
| */ | |||
| onHide: function () { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面卸载 | |||
| */ | |||
| onUnload: function () { | |||
| }, | |||
| /** | |||
| * 页面相关事件处理函数--监听用户下拉动作 | |||
| */ | |||
| onPullDownRefresh: function () { | |||
| }, | |||
| /** | |||
| * 页面上拉触底事件的处理函数 | |||
| */ | |||
| onReachBottom: function () { | |||
| }, | |||
| bindSDateChange: function (e) { | |||
| this.setData({ | |||
| Sdate: e.detail.value | |||
| }) | |||
| }, | |||
| bindEDateChange: function (e) { | |||
| this.setData({ | |||
| Edate: e.detail.value | |||
| }) | |||
| }, | |||
| submitForm: function (e) { | |||
| let customerID = this.data.customer[this.data.customerIndex].ID; | |||
| let sDate = timechage.formatymdERTDate(this.data.Sdate); | |||
| let eDate = timechage.formatymdERTDate(this.data.Edate); | |||
| if (customerID == 0) { | |||
| app.globalData.selectCustomer_ID = null; | |||
| } else { | |||
| app.globalData.selectCustomer_ID = customerID; | |||
| } | |||
| app.globalData.saleOutStartDate = sDate; | |||
| app.globalData.saleOutEndDate = eDate; | |||
| wx.navigateBack({ | |||
| delta: 1 | |||
| }) | |||
| }, | |||
| powerDrawer: function (e) { | |||
| let that = this; | |||
| let x = e.currentTarget.dataset.x; | |||
| if (x == "购货客户") { | |||
| GetCustomer(that, "") | |||
| } | |||
| let currentStatu = e.currentTarget.dataset.statu; | |||
| this.util(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({ | |||
| customerIndex: idx | |||
| }) | |||
| } | |||
| this.setData({ | |||
| showModalStatus: false, | |||
| }) | |||
| }, | |||
| select: function (e) { | |||
| var that = this; | |||
| var which = e.currentTarget.dataset.item; | |||
| var value = e.detail.value; | |||
| if (which == "购货客户") { | |||
| GetCustomer(that, 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()参数,返回值是日期和时间 | |||
| // 再通过setData更改Page()里面的data,动态更新页面的数据 | |||
| this.setData({ | |||
| showModalStatus: true, | |||
| }); | |||
| } | |||
| } | |||
| }) | |||
| @ -0,0 +1,3 @@ | |||
| { | |||
| "navigationBarTitleText": "筛选" | |||
| } | |||
| @ -0,0 +1,25 @@ | |||
| <view class='twoitem'> | |||
| <text>购货客户</text> | |||
| <text class='item_value' bindtap="powerDrawer" data-statu="open" data-x='购货客户' data-item='{{which}}'>{{customer[customerIndex].Name}}</text> | |||
| </view> | |||
| <button class='submit' catchtap='submitForm'>查询</button> | |||
| <view class="drawer_screen" bindtap="powerDrawer" data-item='{{which}}' data-statu="close" wx:if="{{showModalStatus}}"></view> | |||
| <!--content--> | |||
| <!--使用animation属性指定需要执行的动画--> | |||
| <view animation="{{animationData}}" data-item='{{which}}' class="drawer_box" wx:if="{{showModalStatus}}"> | |||
| <!--drawer content--> | |||
| <view class='top' data-item='{{which}}'> | |||
| <input data-item='{{which}}' class="sousuo" bindinput="select" placeholder='请输入搜索'> | |||
| </input> | |||
| </view> | |||
| <view class="drawer_content"> | |||
| <block wx:for="{{currency}}" wx:key="item" wx:for-index="idx"> | |||
| <view class="grid1" data-item='{{which}}' catchtap='itemclick' data-idx='{{idx}}' data-ID="{{item.ID}}" data-Name='{{item.Name}}'> | |||
| <text class='text3'>{{item.Name}}</text> | |||
| </view> | |||
| </block> | |||
| </view> | |||
| <view class="btn_ok" bindtap="powerDrawer" data-statu="close">取消</view> | |||
| </view> | |||
| @ -0,0 +1,94 @@ | |||
| page { | |||
| background: rgb(240, 239, 245); | |||
| } | |||
| .twoitem{ | |||
| display: flex; | |||
| flex-direction: row; | |||
| justify-content: space-between; | |||
| padding-right: 5%; | |||
| padding-left: 5%; | |||
| background: #fff; | |||
| border-bottom: 1rpx solid #dbdbdb; | |||
| padding-top: 20rpx; | |||
| padding-bottom: 20rpx; | |||
| } | |||
| .item_value{ | |||
| width: 70%; | |||
| text-align: right | |||
| } | |||
| .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); | |||
| } | |||
| @ -0,0 +1,248 @@ | |||
| const app = getApp(); | |||
| var network = require("../../utils/net.js"); | |||
| var timechage = require("../../utils/dateTimeUtil.js"); | |||
| var UnCheckPageIndex = 0 | |||
| var UnCheckPageSize = 10 | |||
| var CheckedPageIndex = 0 | |||
| var CheckedPageSize = 10 | |||
| var getList = '/MainSystem/B3MiniProgramRpc/XuRpcs/Employee/SaleForecastRpc/GetList' | |||
| var deleteItem = "/MainSystem/B3MiniProgramRpc/XuRpcs/Employee/SaleForecastRpc/Delete" | |||
| // 未审核订单列表 | |||
| function getUnCheckOrderList(that, UnCheckPageIndex, UnCheckPageSize, successaction) { | |||
| let getArr = []; | |||
| let method = getList; | |||
| let params = [{ | |||
| "BillState": 0, | |||
| "Customer_ID": that.data.Customer_ID, | |||
| "PageIndex": UnCheckPageIndex, | |||
| "PageSize": UnCheckPageSize, | |||
| }]; | |||
| network.transfer_request(method, params, function(res) { | |||
| successaction(); | |||
| var array = res.result; | |||
| if (array.length <= 0) { | |||
| wx.showToast({ | |||
| title: '无数据更新', | |||
| }) | |||
| UnCheckPageIndex = UnCheckPageIndex - 1; | |||
| return; | |||
| } | |||
| for (var i = 0; i < array.length; i++) { | |||
| var dmo = { | |||
| // BillState: "未审核" | |||
| // Customer_Name: "陈旭辉" | |||
| // Date: "/Date(1540453380000+0800)/" | |||
| // DepartmentWorkFlow_Detail_Name: "初始" | |||
| // DepartmentWorkFlow_ID: 2 | |||
| // ID: 4 | |||
| // Money: 143 | |||
| // Number: 1 | |||
| // billType: array[i].BillType_Name, | |||
| //添加单据状态的传递,在详情页面判断此值,进行是否允许提交的操作 true : 可提交 | |||
| orderState: true, | |||
| orderID: array[i].ID, | |||
| Customer_Name: array[i].Customer_Name, | |||
| time: timechage.formatTimeTwo(array[i].Date.substring(6, 19), 'Y/M/D'), | |||
| workFlowName: array[i].DepartmentWorkFlow_Detail_Name, | |||
| } | |||
| getArr.push(dmo); | |||
| } | |||
| let arrLast = that.data.unCheckDataArr.concat(getArr); | |||
| that.setData({ | |||
| unCheckDataArr: arrLast, | |||
| }) | |||
| }) | |||
| } | |||
| // 已审核订单列表 | |||
| function getCheckedOrderList(that, CheckedPageIndex, CheckedPageSize) { | |||
| let getArr = []; | |||
| let method = getList; | |||
| let params = [{ | |||
| "BillState": 20, | |||
| "Customer_ID": that.data.Customer_ID, | |||
| "PageIndex": CheckedPageIndex, | |||
| "PageSize": CheckedPageSize, | |||
| }]; | |||
| // let params = [true, CheckedPageIndex, CheckedPageSize]; | |||
| network.transfer_request(method, params, function(res) { | |||
| var array = res.result; | |||
| if (array.length <= 0) { | |||
| wx.showToast({ | |||
| title: '无数据更新', | |||
| }) | |||
| CheckedPageIndex = CheckedPageIndex - 1; | |||
| return; | |||
| } | |||
| for (var i = 0; i < array.length; i++) { | |||
| var dmo = { | |||
| //添加单据状态的传递,在详情页面判断此值,进行是否允许提交的操作 | |||
| orderState: false, | |||
| orderID: array[i].ID, | |||
| Customer_Name: array[i].Customer_Name, | |||
| time: timechage.formatTimeTwo(array[i].Date.substring(6, 19), 'Y/M/D'), | |||
| workFlowName: array[i].DepartmentWorkFlow_Detail_Name, | |||
| } | |||
| getArr.push(dmo); | |||
| } | |||
| let arrLast = that.data.checkedDataArr.concat(getArr); | |||
| that.setData({ | |||
| checkedDataArr: arrLast, | |||
| }) | |||
| }) | |||
| } | |||
| Page({ | |||
| data: { | |||
| checkedDataArr: [], | |||
| unCheckDataArr: [], | |||
| currentTab: 0, | |||
| winHeight: app.globalData.winHeight, | |||
| Customer_ID: null, | |||
| }, | |||
| createNew: function(e) { | |||
| wx.navigateTo({ | |||
| url: 'newBill/newBill', | |||
| }) | |||
| }, | |||
| /** | |||
| * 滑动切换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 | |||
| }) | |||
| } | |||
| }, | |||
| //点击进入详情页面 | |||
| transToOrderDetail: function(event) { | |||
| var ID = event.currentTarget.dataset.detailitemid; | |||
| var State = event.currentTarget.dataset.detailitemstate; | |||
| wx.navigateTo({ | |||
| url: 'Detail/Detail?ID=' + ID + '&State=' + State, | |||
| }) | |||
| }, | |||
| // 长按删除一条单据 | |||
| longPressDelete: function(event) { | |||
| var that =this; | |||
| var itemID = event.currentTarget.dataset.detailitemid; | |||
| var state = event.currentTarget.dataset.detailitemstate; | |||
| if (!state) { | |||
| wx.showModal({ | |||
| title: '提示', | |||
| content: '不能操作已审核单据', | |||
| }) | |||
| return; | |||
| } | |||
| wx.showModal({ | |||
| title: '提示', | |||
| content: '确定要删除'+ itemID +'号单据吗?', | |||
| success: function(res) { | |||
| if (res.confirm) { | |||
| var params = [itemID]; | |||
| network.transfer_request(deleteItem, params, function(res) { | |||
| wx.showToast({ | |||
| title: '操作成功', | |||
| }) | |||
| that.onShow(); | |||
| }) | |||
| } else if (res.cancel) { | |||
| console.log('点击取消了'); | |||
| return false; | |||
| } | |||
| } | |||
| }) | |||
| }, | |||
| //点击进入筛选页面 | |||
| chose: function(e) { | |||
| wx.navigateTo({ | |||
| url: 'query/query', | |||
| }) | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面加载 | |||
| */ | |||
| onLoad: function(options) { | |||
| }, | |||
| onShow: function(options) { | |||
| this.setData({ | |||
| checkedDataArr: [], | |||
| unCheckDataArr: [], | |||
| Customer_ID: app.globalData.selectCustomer_ID, | |||
| }) | |||
| var that = this; | |||
| UnCheckPageIndex = 0; | |||
| CheckedPageIndex = 0; | |||
| getUnCheckOrderList(that, UnCheckPageIndex, UnCheckPageSize, function(res) { | |||
| getCheckedOrderList(that, CheckedPageIndex, CheckedPageSize); | |||
| }); | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面卸载 | |||
| */ | |||
| onUnload: function() { | |||
| app.globalData.selectCustomer_ID = null | |||
| app.globalData.selectStartDate = null | |||
| app.globalData.selectEndDate = null | |||
| app.globalData.selectBillState = 0 | |||
| }, | |||
| //未审核订单滑动到底部加载 | |||
| unCheckedScrollLower: function(event) { | |||
| var that = this; | |||
| UnCheckPageIndex = UnCheckPageIndex + 1; | |||
| getUnCheckOrderList(that, UnCheckPageIndex, UnCheckPageSize, function(res) { | |||
| }); | |||
| }, | |||
| //已审核订单滑动到底部加载 | |||
| CheckedScrollLower: function(event) { | |||
| var that = this; | |||
| CheckedPageIndex = CheckedPageIndex + 1; | |||
| getCheckedOrderList(that, CheckedPageIndex, CheckedPageSize); | |||
| }, | |||
| /** | |||
| * 页面上拉触底事件的处理函数 | |||
| */ | |||
| // onReachBottom: function () { | |||
| // var that = this; | |||
| // if (this.data.currentTab === 0) { | |||
| // UnCheckPageIndex = UnCheckPageIndex + 1; | |||
| // getUnCheckOrderList(that, UnCheckPageIndex, UnCheckPageSize); | |||
| // } else { | |||
| // CheckedPageIndex = CheckedPageIndex + 1; | |||
| // getCheckedOrderList(that, CheckedPageIndex, CheckedPageSize); | |||
| // } | |||
| // }, | |||
| }) | |||
| @ -0,0 +1,5 @@ | |||
| { | |||
| "navigationBarBackgroundColor": "white", | |||
| "navigationBarTextStyle": "black", | |||
| "navigationBarTitleText": "销售预报" | |||
| } | |||
| @ -0,0 +1,55 @@ | |||
| <view class="swiper-tab"> | |||
| <view class="swiper-tab-list {{currentTab==0 ? 'on' : ''}}" data-current="0" bindtap="swichNav">未审核</view> | |||
| <view class="swiper-tab-list {{currentTab==1 ? 'on' : ''}}" data-current="1" bindtap="swichNav">已审核</view> | |||
| </view> | |||
| <swiper current="{{currentTab}}" class="swiper-box" style='height:{{winHeight -95}}px' duration="300" bindchange="bindChange"> | |||
| <!-- 未审核 --> | |||
| <swiper-item class="swiper-items1"> | |||
| <scroll-view scroll-x="false" scroll-y="true" class='scroll-views' bindscrolltolower="unCheckedScrollLower"> | |||
| <view class='backGroundContainer'> | |||
| <block wx:for="{{unCheckDataArr}}" wx:for-item="item" wx:key="item"> | |||
| <template is="outStoreOrderTemplate" data="{{item}}" /> | |||
| </block> | |||
| </view> | |||
| </scroll-view> | |||
| </swiper-item> | |||
| <!-- 已审核 --> | |||
| <swiper-item class="swiper-items2"> | |||
| <scroll-view scroll-x="false" scroll-y="true" class='scroll-views' bindscrolltolower="CheckedScrollLower"> | |||
| <view class='backGroundContainer'> | |||
| <block wx:for="{{checkedDataArr}}" wx:for-item="item" wx:key="item"> | |||
| <template is="outStoreOrderTemplate" data="{{item}}" /> | |||
| </block> | |||
| </view> | |||
| </scroll-view> | |||
| </swiper-item> | |||
| </swiper> | |||
| <image class='xinjian' bindtap="createNew" src="/imgs/create.png"></image> | |||
| <button class='chose' catchtap='chose'>筛选</button> | |||
| <template name="outStoreOrderTemplate"> | |||
| <view class='listItem' catchtap='transToOrderDetail' bindlongpress="longPressDelete" data-detailitemid='{{item.orderID}}' data-detailitemstate='{{item.orderState}}'> | |||
| <view class='bottomView'> | |||
| <view class='goodsNum'> | |||
| <text class='goodsIDText'>NO:{{item.orderID}}</text> | |||
| </view> | |||
| <view class='goodsMoney'> | |||
| <text class='goodsMoneyText'>流程状态:{{item.workFlowName}}</text> | |||
| </view> | |||
| </view> | |||
| <view class='bottomView'> | |||
| <view class='goodsNum'> | |||
| <text class='goodsNumText'>{{item.Customer_Name}}</text> | |||
| </view> | |||
| <view class='goodsMoney'> | |||
| <text class='goodsMoneyText'>发货日期:{{item.time}}</text> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class='horizontallineView'></view> | |||
| </template> | |||
| @ -0,0 +1,113 @@ | |||
| page { | |||
| background:#EAF1F8; | |||
| 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 { | |||
| width: 100%; | |||
| display: block; | |||
| overflow: hidden; | |||
| } | |||
| .scroll-views { | |||
| height: 100%; | |||
| width: 100%; | |||
| display: flex; | |||
| flex-direction: column; | |||
| } | |||
| .backGroundContainer{ | |||
| background: #fff; | |||
| } | |||
| .listItem{ | |||
| height: 100rpx; | |||
| display: flex; | |||
| flex-direction: column; | |||
| padding: 20rpx 20rpx; | |||
| /* border-bottom: 1rpx solid #ddd; */ | |||
| } | |||
| .horizontallineView { | |||
| height: 1rpx; | |||
| background-color: #dbdbdb; | |||
| margin-left: 20rpx; | |||
| margin-right: 0rpx; | |||
| } | |||
| .orderID{ | |||
| height: 50%; | |||
| width: 100%; | |||
| } | |||
| .bottomView{ | |||
| height: 50%; | |||
| width: 100%; | |||
| display: flex; | |||
| flex-direction: row; | |||
| } | |||
| .goodsNum{ | |||
| height: 100%; | |||
| width: 50%; | |||
| } | |||
| .goodsMoney{ | |||
| height: 100%; | |||
| width: 50%; | |||
| text-align: right; | |||
| } | |||
| .goodsIDText{ | |||
| font-size: 16px; | |||
| } | |||
| .goodsNumText{ | |||
| font-size: 14px; | |||
| color: #666; | |||
| } | |||
| .goodsMoneyText{ | |||
| font-size: 14px; | |||
| color: #666; | |||
| } | |||
| .xinjian{ | |||
| width: 160rpx; | |||
| height: 160rpx; | |||
| position: fixed; | |||
| bottom: 60rpx; | |||
| right: 20rpx; | |||
| } | |||
| .chose{ | |||
| width: 100%; | |||
| height: 40px; | |||
| position: fixed; | |||
| bottom: 0rpx; | |||
| } | |||
| @ -0,0 +1,80 @@ | |||
| function withData(param) { | |||
| return param < 10 ? '0' + param : '' + param; | |||
| } | |||
| function getLoopArray(start, end) { | |||
| var start = start || 0; | |||
| var end = end || 1; | |||
| var array = []; | |||
| for (var i = start; i <= end; i++) { | |||
| array.push(withData(i)); | |||
| } | |||
| return array; | |||
| } | |||
| function getMonthDay(year, month) { | |||
| var flag = year % 400 == 0 || (year % 4 == 0 && year % 100 != 0), array = null; | |||
| switch (month) { | |||
| case '01': | |||
| case '03': | |||
| case '05': | |||
| case '07': | |||
| case '08': | |||
| case '10': | |||
| case '12': | |||
| array = getLoopArray(1, 31) | |||
| break; | |||
| case '04': | |||
| case '06': | |||
| case '09': | |||
| case '11': | |||
| array = getLoopArray(1, 30) | |||
| break; | |||
| case '02': | |||
| array = flag ? getLoopArray(1, 29) : getLoopArray(1, 28) | |||
| break; | |||
| default: | |||
| array = '月份格式不正确,请重新输入!' | |||
| } | |||
| return array; | |||
| } | |||
| function getNewDateArry() { | |||
| // 当前时间的处理 | |||
| var newDate = new Date(); | |||
| var year = withData(newDate.getFullYear()), | |||
| mont = withData(newDate.getMonth() + 1), | |||
| date = withData(newDate.getDate()), | |||
| hour = withData(newDate.getHours()), | |||
| minu = withData(newDate.getMinutes()), | |||
| seco = withData(newDate.getSeconds()); | |||
| return [year, mont, date, hour, minu, seco]; | |||
| } | |||
| function dateTimePicker(startYear, endYear, date) { | |||
| // 返回默认显示的数组和联动数组的声明 | |||
| var dateTime = [], dateTimeArray = [[], [], [], [], [], []]; | |||
| var start = startYear || 1978; | |||
| var end = endYear || 2100; | |||
| // 默认开始显示数据 | |||
| var defaultDate = date ? [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')] : getNewDateArry(); | |||
| // 处理联动列表数据 | |||
| /*年月日 时分秒*/ | |||
| dateTimeArray[0] = getLoopArray(start, end); | |||
| dateTimeArray[1] = getLoopArray(1, 12); | |||
| dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]); | |||
| dateTimeArray[3] = getLoopArray(0, 23); | |||
| dateTimeArray[4] = getLoopArray(0, 59); | |||
| dateTimeArray[5] = getLoopArray(0, 59); | |||
| dateTimeArray.forEach((current, index) => { | |||
| dateTime.push(current.indexOf(defaultDate[index])); | |||
| }); | |||
| return { | |||
| dateTimeArray: dateTimeArray, | |||
| dateTime: dateTime | |||
| } | |||
| } | |||
| module.exports = { | |||
| dateTimePicker: dateTimePicker, | |||
| getMonthDay: getMonthDay | |||
| } | |||