add.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. // pages/reservationPipe/add.js
  2. const app = getApp()
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. showModal: false,
  9. defaultText: '请选择',
  10. isSubmitting: false,
  11. isKeyboard: false, //是否显示车牌输入键盘
  12. inputOnFocusIndex: '', //当前锁定的车号位置
  13. licensePlate: '', //用于提交
  14. inputPlates: '', //用于显示
  15. driverArray:[], //司机
  16. driverIndex:null,
  17. },
  18. //输入框焦点聚焦时隐藏车牌号输入框
  19. hideKeybord: function () {
  20. this.setData({
  21. isKeyboard: false,
  22. inputOnFocusIndex: ''
  23. })
  24. },
  25. /**
  26. * 生命周期函数--监听页面加载
  27. */
  28. onLoad: function (options) {
  29. //获取司机信息
  30. this.loadUserData()
  31. },
  32. //获取车牌号
  33. licensePlate: function (e) {
  34. this.setData({
  35. licensePlate: e.detail.carNum
  36. })
  37. },
  38. //司机
  39. loadUserData:function(loadUserId){
  40. app.request.GET({
  41. url: app.API.roleUser,
  42. params: {
  43. roleName : '司机',
  44. },
  45. page: this,
  46. successFun: true
  47. }).then(res => {
  48. this.setData({
  49. driverArray : res.data.data
  50. })
  51. })
  52. },
  53. //下拉选择
  54. bindPickerChange: function (e) {
  55. let { pickername } = e.target.dataset
  56. let getIndex = pickername + 'Index'
  57. app.util.getPickerIndex(this, getIndex, e);
  58. switch (pickername) {
  59. case 'driver': //选择司机
  60. this.setData({
  61. driverName : this.data.driverArray[this.data.driverIndex].name,
  62. driverMobile : this.data.driverArray[this.data.driverIndex].phone,
  63. })
  64. break;
  65. }
  66. },
  67. // 单选
  68. dangerStatusChange: function (e) {
  69. this.setData({
  70. [e.currentTarget.dataset.radiotype]: e.detail.value
  71. })
  72. },
  73. //多选
  74. checkboxChange: function (e) {
  75. this.setData({
  76. [e.currentTarget.dataset.checkboxtype]: e.detail
  77. })
  78. },
  79. /**
  80. * 页面上拉触底事件的处理函数
  81. */
  82. bindscrolltolowerFun() {
  83. },
  84. //表单提交 carTaskAdd
  85. formSubmit: function ({detail:{value}}) {
  86. var warn = ""; //弹框时提示的内容
  87. let reg = /^1[3-9]\d{9}$/;
  88. var xreg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]{1}$/;
  89. var creg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/;
  90. //value.certificateNoImage = this.data.originalInvoicePhoto
  91. if (value.licenseNumber == '') {
  92. warn = "车牌不能为空!";
  93. } else if (value.licenseNumber.length < 7) {
  94. warn = "请选择车牌号!";
  95. } else if (value.licenseNumber.length == 7 && !xreg.test(value.licenseNumber)) {
  96. warn = "车牌号格式错误!";
  97. } else if(value.driverId == ''){
  98. warn = "请选择司机!";
  99. }
  100. if (warn != '') {
  101. app.util.checkForm(warn);
  102. } else {
  103. app.request.POST({
  104. url: app.API.otherAdd,
  105. params: value,
  106. page: this,
  107. isLoadingTxt: '提交中...',
  108. isSubmitting: true,
  109. successFun: true
  110. }).then(res => {
  111. wx.showToast({
  112. title: '新增成功',
  113. icon: 'success',
  114. duration: 2000,
  115. mask:true,
  116. complete: function () {
  117. setTimeout(() => {
  118. wx.navigateBack()
  119. }, 1500) //延迟时间
  120. }
  121. })
  122. })
  123. }
  124. },
  125. /**
  126. * 生命周期函数--监听页面初次渲染完成
  127. */
  128. onReady: function () {
  129. },
  130. /**
  131. * 生命周期函数--监听页面显示
  132. */
  133. onShow: function () {
  134. },
  135. /**
  136. * 生命周期函数--监听页面隐藏
  137. */
  138. onHide: function () {
  139. },
  140. /**
  141. * 生命周期函数--监听页面卸载
  142. */
  143. onUnload: function () {
  144. },
  145. /**
  146. * 页面相关事件处理函数--监听用户下拉动作
  147. */
  148. onPullDownRefresh: function () {
  149. },
  150. /**
  151. * 页面上拉触底事件的处理函数
  152. */
  153. onReachBottom: function () {
  154. },
  155. /**
  156. * 用户点击右上角分享
  157. */
  158. onShareAppMessage: function () {
  159. }
  160. })