leaveadd.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. // pages/leaveadd/leaveadd.js
  2. const app = getApp();
  3. const { axios } = app.globalData;
  4. Page({
  5. /**
  6. * 页面的初始数据
  7. */
  8. data: {
  9. active: 0,
  10. submitobj: {},
  11. orderarr: []
  12. },
  13. // 挑选
  14. CheckboxonChange (e) {
  15. let { id } = e.currentTarget.dataset;
  16. let { submitobj } = this.data;
  17. submitobj[id] = e.detail;
  18. this.setData({
  19. submitobj
  20. })
  21. },
  22. /**
  23. * 生命周期函数--监听页面加载
  24. */
  25. onLoad: function (options) {
  26. wx.lxd.Ctr({
  27. // nav
  28. title: "请假申请", //标题
  29. back: true,//返回按钮,tabber必须false(除非会改)
  30. });
  31. },
  32. // 挑选地址
  33. ChooseAddress () {
  34. wx.navigateTo({
  35. url: `/pages/adddata/adddata?data=${JSON.stringify({ source: 'leaveadd' })}`,
  36. })
  37. },
  38. // 提交
  39. submit () {
  40. if (!!this.data.submitlock) return false;
  41. let { useraddress, submitobj } = this.data;
  42. if (!useraddress.id) {
  43. wx.showToast({
  44. title: '请选择学生',
  45. icon: "error"
  46. })
  47. return false;
  48. }
  49. delete submitobj["key"];
  50. if (submitobj == {}) {
  51. wx.showToast({
  52. title: '请选择请假日期',
  53. icon: "error"
  54. })
  55. return false;
  56. }
  57. this.setData({ submitlock: true })
  58. axios({
  59. url: '/order/student_leave/',
  60. method: 'post',
  61. data: {
  62. student: useraddress.id,
  63. leave_dates: JSON.stringify(submitobj),
  64. },
  65. success (res) {
  66. wx.navigateBack({
  67. delta: 1, // 回退前 delta(默认为1) 页面
  68. })
  69. }
  70. })
  71. },
  72. /**
  73. * 生命周期函数--监听页面初次渲染完成
  74. */
  75. onReady: function () {
  76. },
  77. /**
  78. * 生命周期函数--监听页面显示
  79. */
  80. onShow: function () {
  81. let { useraddress } = app.globalData, datas = [], type = [], that = this;
  82. if (!useraddress.id) {
  83. useraddress["name"] = ""
  84. } else {
  85. axios({
  86. url: `/order/student_leave/get_info/?student=${useraddress.id}`,
  87. method: "get",
  88. success (res) {
  89. let { data } = res.data, { lead_dates, orders } = data, datas = {}, orderarr = [], submitobj = {};
  90. type = orders;
  91. for (let key in lead_dates) {
  92. let arr = [];
  93. submitobj["key"] = [];
  94. Array.from(lead_dates[key]).forEach(item => {
  95. item = item.replace(/\(/, '?');
  96. item = item.replace(/\)/, '?');
  97. item = item.split("?").splice(0, 2);
  98. arr.push(item);
  99. })
  100. datas[key] = arr;
  101. }
  102. orders.forEach(item => {
  103. orderarr.push({
  104. id: item.id,
  105. name: item.name,
  106. list: datas[item.id]
  107. })
  108. })
  109. that.setData({ orderarr, submitobj })
  110. }
  111. })
  112. }
  113. this.setData({ useraddress })
  114. },
  115. /**
  116. * 生命周期函数--监听页面隐藏
  117. */
  118. onHide: function () {
  119. this.setData({
  120. orderarr: []
  121. })
  122. },
  123. /**
  124. * 生命周期函数--监听页面卸载
  125. */
  126. onUnload: function () {
  127. app.globalData.useraddress = {};
  128. },
  129. /**
  130. * 页面相关事件处理函数--监听用户下拉动作
  131. */
  132. onPullDownRefresh: function () {
  133. },
  134. /**
  135. * 页面上拉触底事件的处理函数
  136. */
  137. onReachBottom: function () {
  138. },
  139. })