Browse Source

add order

master
robin 7 years ago
parent
commit
331fe7d3a7
24 changed files with 2869 additions and 11 deletions
  1. +4
    -1
      app.js
  2. +5
    -1
      app.json
  3. BIN
      imgs/order.png
  4. +5
    -0
      pages/main/main.js
  5. +6
    -1
      pages/main/main.wxml
  6. +740
    -0
      pages/order/detail/detail.js
  7. +2
    -0
      pages/order/detail/detail.json
  8. +168
    -0
      pages/order/detail/detail.wxml
  9. +235
    -0
      pages/order/detail/detail.wxss
  10. +660
    -0
      pages/order/newBill/newBill.js
  11. +3
    -0
      pages/order/newBill/newBill.json
  12. +169
    -0
      pages/order/newBill/newBill.wxml
  13. +235
    -0
      pages/order/newBill/newBill.wxss
  14. +164
    -0
      pages/order/order.js
  15. +4
    -0
      pages/order/order.json
  16. +20
    -0
      pages/order/order.wxml
  17. +69
    -0
      pages/order/order.wxss
  18. +212
    -0
      pages/order/query/query.js
  19. +3
    -0
      pages/order/query/query.json
  20. +57
    -0
      pages/order/query/query.wxml
  21. +94
    -0
      pages/order/query/query.wxss
  22. +9
    -3
      pages/saleForecastList/saleForecastList.js
  23. +4
    -4
      pages/saleForecastList/saleForecastList.wxml
  24. +1
    -1
      project.config.json

+ 4
- 1
app.js View File

@ -15,6 +15,9 @@ App({
LoginPath: "/MainSystem/MainSystem/Auth/WeixinLogin",
TransferUrl:'https://miniprogram.food988.com/RequestTransfer.aspx',
CustomerId:0,
SelectCustomer_ID:null
SelectCustomer_ID:null,
SelectStartDate: null,
SelectEndDate: null,
SelectBillState: null,
}
})

+ 5
- 1
app.json View File

@ -9,7 +9,11 @@
"pages/saleForecastList/saleForecastList",
"pages/saleForecastList/Detail/Detail",
"pages/saleForecastList/query/query",
"pages/saleForecastList/newBill/newBill"
"pages/saleForecastList/newBill/newBill",
"pages/order/order",
"pages/order/detail/detail",
"pages/order/newBill/newBill",
"pages/order/query/query"
],
"window": {
"backgroundTextStyle": "light",


BIN
imgs/order.png View File

Before After
Width: 140  |  Height: 140  |  Size: 10 KiB

+ 5
- 0
pages/main/main.js View File

@ -81,4 +81,9 @@ Page({
url: '/pages/saleForecastList/saleForecastList',
})
},
order: function(e) {
wx.navigateTo({
url: '/pages/order/order',
})
},
})

+ 6
- 1
pages/main/main.wxml View File

@ -6,5 +6,10 @@
<image src="/imgs/saleForecast.png"></image>
<text class='text'>销售预报</text>
</view>
<view class="ico" catchtap='order'>
<image src="/imgs/order.png"></image>
<text class='text'>销售订单</text>
</view>
</view>

+ 740
- 0
pages/order/detail/detail.js View File

@ -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
});
}
}
})

+ 2
- 0
pages/order/detail/detail.json View File

@ -0,0 +1,2 @@
{"navigationBarTitleText": "订单详细"
}

+ 168
- 0
pages/order/detail/detail.wxml View File

@ -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>

+ 235
- 0
pages/order/detail/detail.wxss View File

@ -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);
}

+ 660
- 0
pages/order/newBill/newBill.js View File

@ -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
});
}
}
})

+ 3
- 0
pages/order/newBill/newBill.json View File

@ -0,0 +1,3 @@
{
"navigationBarTitleText": "销售订单"
}

+ 169
- 0
pages/order/newBill/newBill.wxml View File

@ -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>

+ 235
- 0
pages/order/newBill/newBill.wxss View File

@ -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);
}

+ 164
- 0
pages/order/order.js View File

@ -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',
})
}
})

+ 4
- 0
pages/order/order.json View File

@ -0,0 +1,4 @@
{
"navigationBarTitleText": "订单列表",
"enablePullDownRefresh": true
}

+ 20
- 0
pages/order/order.wxml View File

@ -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>

+ 69
- 0
pages/order/order.wxss View File

@ -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;
}

+ 212
- 0
pages/order/query/query.js View File

@ -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,
});
}
}
})

+ 3
- 0
pages/order/query/query.json View File

@ -0,0 +1,3 @@
{
"navigationBarTitleText": "订单筛选"
}

+ 57
- 0
pages/order/query/query.wxml View File

@ -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>

+ 94
- 0
pages/order/query/query.wxss View File

@ -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);
}

+ 9
- 3
pages/saleForecastList/saleForecastList.js View File

@ -173,17 +173,22 @@ Page({
getUnCheckOrderList(that, UnCheckPageIndex, UnCheckPageSize);
getCheckedOrderList(that, CheckedPageIndex, CheckedPageSize);
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
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);
getUnCheckOrderList(that, UnCheckPageIndex, UnCheckPageSize);
},
//已审核订单滑动到底部加载
@ -204,5 +209,6 @@ Page({
CheckedPageIndex = CheckedPageIndex + 1;
getCheckedOrderList(that, CheckedPageIndex, CheckedPageSize);
}
},
})

+ 4
- 4
pages/saleForecastList/saleForecastList.wxml View File

@ -6,16 +6,16 @@
<swiper current="{{currentTab}}" class="swiper-box" style='height:{{winHeight -83}}px' duration="300" bindchange="bindChange">
<!-- 未审核 -->
<swiper-item class="swiper-items1">
<scroll-view scroll-x="false" scroll-y="true" class='scroll-views' bindscrolltoupper="unCheckedScrollUpper" bindscrolltolower="unCheckedScrollLower">
<block wx:for="{{unCheckDataArr}}" wx:for-item="item">
<scroll-view scroll-x="false" scroll-y="true" class='scroll-views' bindscrolltolower="unCheckedScrollLower">
<block wx:for="{{unCheckDataArr}}" wx:for-item="item" wx:key="item" >
<template is="outStoreOrderTemplate" data="{{item}}" />
</block>
</scroll-view>
</swiper-item>
<!-- 已审核 -->
<swiper-item class="swiper-items2">
<scroll-view scroll-x="false" scroll-y="true" class='scroll-views' bindscrolltoupper="checkedScrollUpper" bindscrolltolower="CheckedScrollLower">
<block wx:for="{{checkedDataArr}}" wx:for-item="item">
<scroll-view scroll-x="false" scroll-y="true" class='scroll-views' bindscrolltolower="CheckedScrollLower">
<block wx:for="{{checkedDataArr}}" wx:for-item="item" wx:key="item">
<template is="outStoreOrderTemplate" data="{{item}}" />
</block>
</scroll-view>


+ 1
- 1
project.config.json View File

@ -4,7 +4,7 @@
"ignore": []
},
"setting": {
"urlCheck": false,
"urlCheck": true,
"es6": true,
"postcss": true,
"minified": true,


Loading…
Cancel
Save