| @ -0,0 +1,740 @@ | |||
| // 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/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 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: 0, | |||
| // 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.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, | |||
| addrs: addrrrr, | |||
| loadTime: loadtimee, | |||
| obj: details | |||
| }) | |||
| setTime(that) | |||
| }) | |||
| /** | |||
| * 获取系统信息 | |||
| */ | |||
| wx.getSystemInfo({ | |||
| success: function (res) { | |||
| that.setData({ | |||
| winWidth: res.windowWidth, | |||
| winHeight: res.windowHeight | |||
| }); | |||
| } | |||
| }); | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面初次渲染完成 | |||
| */ | |||
| 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,2 @@ | |||
| {"navigationBarTitleText": "订单详细" | |||
| } | |||
| @ -0,0 +1,168 @@ | |||
| <!--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> | |||
| <swiper current="{{currentTab}}" class="swiper-box" duration="300" style="height:{{winHeight - 31}}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' 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}}'> | |||
| {{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)' value="{{addrs}}"></input> | |||
| </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> --> | |||
| </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,235 @@ | |||
| /* pages/orderinfo/orderinfo.wxss */ | |||
| page { | |||
| background: rgb(240, 239, 245); | |||
| } | |||
| .swiper-tab { | |||
| width: 100%; | |||
| text-align: center; | |||
| line-height: 80rpx; | |||
| display: flex; | |||
| flex-direction: row; | |||
| justify-content: center; | |||
| border-bottom: 0.2rpx solid rgb(223, 218, 218); | |||
| } | |||
| .swiper-tab-list { | |||
| font-size: 30rpx; | |||
| width: 40%; | |||
| color: #777; | |||
| margin-top: 5rpx; | |||
| height: 60rpx; | |||
| line-height: 60rpx; | |||
| } | |||
| .tab1 { | |||
| border-top: 2rpx solid #999; | |||
| border-bottom: 2rpx solid #999; | |||
| border-left: 2rpx solid #999; | |||
| border-radius: 20rpx 0rpx 0rpx 20rpx; | |||
| background: white; | |||
| } | |||
| .tab2 { | |||
| border-top: 2rpx solid #999; | |||
| border-bottom: 2rpx solid #999; | |||
| border-right: 2rpx solid #999; | |||
| border-radius: 0rpx 20rpx 20rpx 0rpx; | |||
| background: white; | |||
| } | |||
| .on { | |||
| background: #2788f8; | |||
| 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; | |||
| } | |||
| .twogroup { | |||
| display: flex; | |||
| flex-direction: row; | |||
| } | |||
| .baseitem_key { | |||
| color: black; | |||
| width: 20%; | |||
| margin-left: 5%; | |||
| } | |||
| .baseitem_value { | |||
| margin-left: 5%; | |||
| width: 70%; | |||
| color: rgb(48, 48, 48); | |||
| } | |||
| .baseitem_key2 { | |||
| color: black; | |||
| width: 20%; | |||
| font-size: 30rpx; | |||
| margin-left: 10rpx; | |||
| } | |||
| .baseitem_value2 { | |||
| color: rgb(48, 48, 48); | |||
| font-size: 30rpx; | |||
| } | |||
| .baseitem_key1 { | |||
| color: black; | |||
| width: 40%; | |||
| font-size: 30rpx; | |||
| margin-left: 10rpx; | |||
| } | |||
| .baseitem_value1 { | |||
| color: rgb(48, 48, 48); | |||
| font-size: 30rpx; | |||
| margin-left: 20rpx; | |||
| width: 60%; | |||
| } | |||
| ::-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: #2E8CF5; | |||
| } | |||
| .top { | |||
| height: 20%; | |||
| justify-content: center; | |||
| align-items: center; | |||
| } | |||
| .grid1 { | |||
| width: 100%; | |||
| border-bottom: 1px solid #c3c3c3; | |||
| padding-top: 5px; | |||
| padding-bottom: 10px; | |||
| } | |||
| .text3 { | |||
| font-size: 18px; | |||
| color: rgb(48, 48, 48); | |||
| } | |||
| @ -0,0 +1,660 @@ | |||
| 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 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: 0, | |||
| // 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 | |||
| }); | |||
| /** | |||
| * 获取系统信息 | |||
| */ | |||
| wx.getSystemInfo({ | |||
| success: function(res) { | |||
| that.setData({ | |||
| winWidth: res.windowWidth, | |||
| winHeight: res.windowHeight | |||
| }); | |||
| } | |||
| }); | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面初次渲染完成 | |||
| */ | |||
| 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; | |||
| // 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 | |||
| } | |||
| 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, | |||
| "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,3 @@ | |||
| { | |||
| "navigationBarTitleText": "销售订单" | |||
| } | |||
| @ -0,0 +1,169 @@ | |||
| <!--pages/saleforecast/saleforecast.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> | |||
| <swiper current="{{currentTab}}" class="swiper-box" duration="300" style="height:{{winHeight - 31}}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}}'> | |||
| {{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> | |||
| <!-- <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,235 @@ | |||
| /* pages/saleforecast/saleforecast.wxss */ | |||
| page { | |||
| background: rgb(240, 239, 245); | |||
| } | |||
| .swiper-tab { | |||
| width: 100%; | |||
| text-align: center; | |||
| line-height: 80rpx; | |||
| display: flex; | |||
| flex-direction: row; | |||
| justify-content: center; | |||
| border-bottom: 0.2rpx solid rgb(223, 218, 218); | |||
| } | |||
| .swiper-tab-list { | |||
| font-size: 30rpx; | |||
| width: 40%; | |||
| color: #777; | |||
| margin-top: 5rpx; | |||
| height: 60rpx; | |||
| line-height: 60rpx; | |||
| } | |||
| .tab1 { | |||
| border-top: 2rpx solid #999; | |||
| border-bottom: 2rpx solid #999; | |||
| border-left: 2rpx solid #999; | |||
| border-radius: 20rpx 0rpx 0rpx 20rpx; | |||
| background: white; | |||
| } | |||
| .tab2 { | |||
| border-top: 2rpx solid #999; | |||
| border-bottom: 2rpx solid #999; | |||
| border-right: 2rpx solid #999; | |||
| border-radius: 0rpx 20rpx 20rpx 0rpx; | |||
| background: white; | |||
| } | |||
| .on { | |||
| background: #2788f8; | |||
| 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; | |||
| } | |||
| .twogroup { | |||
| display: flex; | |||
| flex-direction: row; | |||
| } | |||
| .baseitem_key { | |||
| color: black; | |||
| width: 20%; | |||
| margin-left: 5%; | |||
| } | |||
| .baseitem_value { | |||
| margin-left: 5%; | |||
| width: 70%; | |||
| color: rgb(48, 48, 48); | |||
| } | |||
| .baseitem_key2 { | |||
| color: black; | |||
| width: 20%; | |||
| font-size: 30rpx; | |||
| margin-left: 10rpx; | |||
| } | |||
| .baseitem_value2 { | |||
| color: rgb(48, 48, 48); | |||
| font-size: 30rpx; | |||
| } | |||
| .baseitem_key1 { | |||
| color: black; | |||
| width: 40%; | |||
| font-size: 30rpx; | |||
| margin-left: 10rpx; | |||
| } | |||
| .baseitem_value1 { | |||
| color: rgb(48, 48, 48); | |||
| font-size: 30rpx; | |||
| margin-left: 20rpx; | |||
| width: 60%; | |||
| } | |||
| ::-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: #2E8CF5; | |||
| } | |||
| .top { | |||
| height: 20%; | |||
| justify-content: center; | |||
| align-items: center; | |||
| } | |||
| .grid1 { | |||
| width: 100%; | |||
| border-bottom: 1px solid #c3c3c3; | |||
| padding-top: 5px; | |||
| padding-bottom: 10px; | |||
| } | |||
| .text3 { | |||
| font-size: 18px; | |||
| color: rgb(48, 48, 48); | |||
| } | |||
| @ -0,0 +1,164 @@ | |||
| // pages/order/order.js | |||
| var app = getApp(); | |||
| var network = require("../../utils/net.js") | |||
| var timechage = require("../../utils/dateTimeUtil.js") | |||
| var PageIndex = 0 | |||
| var PageSize = 10 | |||
| var getListPath = '/MainSystem/B3MiniProgramRpc/XuRpcs/Employee/OrderRpc/GetList' | |||
| function getList(that, PageIndex, PageSize) { | |||
| let method = getListPath | |||
| let params = [{ | |||
| "BillState": app.globalData.SelectBillState, | |||
| "StartLoadTime": app.globalData.SelectStartDate, | |||
| "EndLoadTime": app.globalData.SelectEndDate, | |||
| "Customer_ID": app.globalData.SelectCustomer_ID, | |||
| "PageIndex": PageIndex, | |||
| "PageSize": PageSize | |||
| }]; | |||
| network.transfer_request(method, params, function(res) { | |||
| that.setData({ | |||
| arry: res.result | |||
| }) | |||
| setColor(that) | |||
| }) | |||
| } | |||
| function setColor(that) { | |||
| let array = []; | |||
| for (var i = 0; i < that.data.arry.length; i++) { | |||
| var color = ""; | |||
| if (that.data.arry[i].BillState == "未审核") { | |||
| color = "rgb(231,20,20)" | |||
| } else if (that.data.arry[i].BillState == "已审核") { | |||
| color = "rgb(136,136,136)" | |||
| } | |||
| var dmo = { | |||
| Customer_Name: that.data.arry[i].Customer_Name, | |||
| LoadTime: timechage.formatTimeTwo(that.data.arry[i].LoadTime.substring(6, 19), 'Y/M/D h:m'), | |||
| BillState: that.data.arry[i].BillState, | |||
| ID: that.data.arry[i].ID, | |||
| DepartmentWorkFlow_Detail_Name: that.data.arry[i].DepartmentWorkFlow_Detail_Name, | |||
| color: color, | |||
| Money: that.data.arry[i].Money, | |||
| Number: that.data.arry[i].Number | |||
| }; | |||
| array.push(dmo); | |||
| } | |||
| that.setData({ | |||
| array: array | |||
| }) | |||
| } | |||
| Page({ | |||
| /** | |||
| * 页面的初始数据 | |||
| */ | |||
| data: { | |||
| array: [], | |||
| arry: [] | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面加载 | |||
| */ | |||
| onLoad: function(options) { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面初次渲染完成 | |||
| */ | |||
| onReady: function() { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面显示 | |||
| */ | |||
| onShow: function() { | |||
| var that = this; | |||
| PageIndex = 0 | |||
| PageSize = 10 | |||
| getList(that, PageIndex, PageSize) | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面隐藏 | |||
| */ | |||
| onHide: function() { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面卸载 | |||
| */ | |||
| onUnload: function() { | |||
| PageIndex = 0 | |||
| PageSize = 10 | |||
| this.setData({ | |||
| array: [], | |||
| arry: [] | |||
| }) | |||
| app.globalData.SelectCustomer_ID = null | |||
| app.globalData.SelectStartDate = null | |||
| app.globalData.SelectEndDate = null | |||
| app.globalData.SelectBillState = 0 | |||
| }, | |||
| /** | |||
| * 页面相关事件处理函数--监听用户下拉动作 | |||
| */ | |||
| onPullDownRefresh: function() { | |||
| console.log('00000-----------') | |||
| var that = this; | |||
| PageIndex = 0; | |||
| PageSize = 10; | |||
| getList(that, PageIndex, PageSize) | |||
| wx.stopPullDownRefresh() //停止下拉刷新 | |||
| }, | |||
| /** | |||
| * 页面上拉触底事件的处理函数 | |||
| */ | |||
| onReachBottom: function() { | |||
| console.log('baseUrl-----------') | |||
| var that = this; | |||
| PageIndex = PageIndex + 1; | |||
| PageSize = 10; | |||
| let method = getListPath; | |||
| let params = [{ | |||
| "BillState": app.globalData.SelectBillState, | |||
| "StartLoadTime": app.globalData.SelectStartDate, | |||
| "EndLoadTime": app.globalData.SelectEndDate, | |||
| "Customer_ID": app.globalData.SelectCustomer_ID, | |||
| "PageIndex": PageIndex, | |||
| "PageSize": PageSize | |||
| }]; | |||
| network.transfer_request(method, params, function(res) { | |||
| let addarry = that.data.arry.concat(res.result) | |||
| that.setData({ | |||
| arry: addarry | |||
| }) | |||
| setColor(that) | |||
| }) | |||
| }, | |||
| itemclick: function(e) { | |||
| wx.navigateTo({ | |||
| url: 'detail/detail?ID=' + e.currentTarget.dataset.data.ID, | |||
| }) | |||
| }, | |||
| createNew: function(e) { | |||
| wx.navigateTo({ | |||
| url: 'newBill/newBill', | |||
| }) | |||
| }, | |||
| chose: function(e) { | |||
| wx.navigateTo({ | |||
| url: 'query/query', | |||
| }) | |||
| } | |||
| }) | |||
| @ -0,0 +1,4 @@ | |||
| { | |||
| "navigationBarTitleText": "订单列表", | |||
| "enablePullDownRefresh": true | |||
| } | |||
| @ -0,0 +1,20 @@ | |||
| <!--pages/order/order.wxml--> | |||
| <view class="custmer_list"> | |||
| <view class="custmer_list_view_main" wx:for="{{array}}" wx:key="item"> | |||
| <view class='custmer_list_view' catchtap='itemclick' data-Data='{{item}}'> | |||
| <view class='phone_h'> | |||
| <text class='text_name'>{{item.Customer_Name}}</text> | |||
| <text style='color:{{item.color}}' class='text_state'>{{item.BillState}}</text> | |||
| </view> | |||
| <view class='phone_h'> | |||
| <text class='text_id'>No.{{item.ID}}</text> | |||
| <text class='text_time'>发货时间:{{item.LoadTime}}</text> | |||
| </view> | |||
| </view> | |||
| <view class='view_line_main'> | |||
| <view class='view_line'></view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <image class='xinjian' bindtap="createNew" src="/imgs/create.png"></image> | |||
| <button class='chose' catchtap='chose'>筛选</button> | |||
| @ -0,0 +1,69 @@ | |||
| /* pages/order/order.wxss */ | |||
| page{ | |||
| background: rgb(240, 239, 245) | |||
| } | |||
| .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{ | |||
| background: white | |||
| } | |||
| .view_line{ | |||
| width: 92%; | |||
| height: 2rpx; | |||
| margin-left: 4%; | |||
| margin-right: 4%; | |||
| background: rgb(219, 219, 219); | |||
| } | |||
| .chose{ | |||
| width: 100%; | |||
| position: fixed; | |||
| bottom: 0rpx; | |||
| } | |||
| .xinjian{ | |||
| width: 160rpx; | |||
| height: 160rpx; | |||
| position: fixed; | |||
| bottom: 60rpx; | |||
| right: 20rpx; | |||
| } | |||
| @ -0,0 +1,212 @@ | |||
| // 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'), | |||
| billIndex:0, | |||
| billState:[ | |||
| { | |||
| ID:0, | |||
| Name:"未审核" | |||
| }, | |||
| { | |||
| ID: 20, | |||
| Name: "已审核" | |||
| } | |||
| ] | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面加载 | |||
| */ | |||
| onLoad: function (options) { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面初次渲染完成 | |||
| */ | |||
| onReady: function () { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面显示 | |||
| */ | |||
| onShow: function () { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面隐藏 | |||
| */ | |||
| onHide: function () { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面卸载 | |||
| */ | |||
| onUnload: function () { | |||
| }, | |||
| /** | |||
| * 页面相关事件处理函数--监听用户下拉动作 | |||
| */ | |||
| onPullDownRefresh: function () { | |||
| }, | |||
| /** | |||
| * 页面上拉触底事件的处理函数 | |||
| */ | |||
| onReachBottom: function () { | |||
| }, | |||
| choseBillState:function(e){ | |||
| this.setData({ | |||
| billIndex: e.detail.value | |||
| }) | |||
| }, | |||
| 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; | |||
| app.globalData.SelectBillState = this.data.billState[this.data.billIndex].ID | |||
| 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,57 @@ | |||
| <!--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> | |||
| <view class='twoitem'> | |||
| <text>单据状态</text> | |||
| <picker class='item_value' mode="selector" range="{{billState}}" value='{{billIndex}}' bindchange="choseBillState" range-key="{{'Name'}}"> | |||
| <view class="picker"> | |||
| {{billState[billIndex].Name}} | |||
| </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; | |||
| } | |||
| .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; | |||
| } | |||
| .top { | |||
| height: 20%; | |||
| justify-content: center; | |||
| align-items: center; | |||
| } | |||
| .sousuo { | |||
| margin-right: 10%; | |||
| margin-left: 10%; | |||
| text-align: center; | |||
| background: #d6d8da; | |||
| height: 40px; | |||
| font-size: 28rpx; | |||
| } | |||
| .drawer_content { | |||
| height: 500rpx; | |||
| overflow-y: scroll; /*超出父盒子高度可滚动*/ | |||
| } | |||
| .btn_ok { | |||
| padding: 10px; | |||
| font: 20px "microsoft yahei"; | |||
| text-align: center; | |||
| border-top: 1px solid #e8e8ea; | |||
| color: #2E8CF5; | |||
| } | |||
| .grid1 { | |||
| width: 100%; | |||
| border-bottom: 1px solid #c3c3c3; | |||
| padding-top: 5px; | |||
| padding-bottom: 10px; | |||
| } | |||
| .text3 { | |||
| font-size: 18px; | |||
| color: rgb(48, 48, 48); | |||
| } | |||