editOther.js 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. // pages/reservationPipe/edit.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. var pages = getCurrentPages();
  31. var prevPage = pages[pages.length - 2];
  32. let getInfo = prevPage.data.resData[options.index]
  33. let getCarNumArr = getInfo.licenseNumber ? getInfo.licenseNumber.split('') : ''
  34. let inputPlates = {};
  35. for (let i = 0; i < getCarNumArr.length; i++) {
  36. inputPlates['index' + i] = getCarNumArr[i]
  37. }
  38. this.setData({
  39. info: getInfo,
  40. driverMobile: getInfo.driverMobile,
  41. inputPlates: inputPlates,
  42. isNewEnergy: getCarNumArr.length > 7 ? true : false,
  43. licensePlate: getInfo.licenseNumber,
  44. })
  45. //获取司机信息
  46. this.loadUserData()
  47. },
  48. //获取车牌号
  49. licensePlate: function (e) {
  50. this.setData({
  51. licensePlate: e.detail.carNum
  52. })
  53. },
  54. //司机
  55. loadUserData:function(loadUserId){
  56. app.request.GET({
  57. url: app.API.roleUser,
  58. params: {
  59. roleName : '司机',
  60. },
  61. page: this,
  62. successFun: true
  63. }).then(res => {
  64. this.setData({
  65. driverArray : res.data.data,
  66. driverIndex : app.util.getDicIndex(res.data.data, this.data.info.driverId, 'id')
  67. })
  68. })
  69. },
  70. //下拉选择
  71. bindPickerChange: function (e) {
  72. let { pickername } = e.target.dataset
  73. let getIndex = pickername + 'Index'
  74. app.util.getPickerIndex(this, getIndex, e);
  75. switch (pickername) {
  76. case 'driver': //选择司机
  77. this.setData({
  78. driverMobile : this.data.driverArray[this.data.driverIndex].phone,
  79. })
  80. break;
  81. }
  82. },
  83. // 单选
  84. dangerStatusChange: function (e) {
  85. this.setData({
  86. [e.currentTarget.dataset.radiotype]: e.detail.value
  87. })
  88. },
  89. //多选
  90. checkboxChange: function (e) {
  91. this.setData({
  92. [e.currentTarget.dataset.checkboxtype]: e.detail
  93. })
  94. },
  95. /**
  96. * 页面上拉触底事件的处理函数
  97. */
  98. bindscrolltolowerFun() {
  99. },
  100. //表单提交 carTaskAdd
  101. formSubmit: function ({detail:{value}}) {
  102. var warn = ""; //弹框时提示的内容
  103. let reg = /^1[3-9]\d{9}$/;
  104. var xreg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]{1}$/;
  105. var creg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/;
  106. if (value.licenseNumber == '') {
  107. warn = "车牌不能为空!";
  108. } else if (value.licenseNumber.length < 8) {
  109. warn = "请选择新能源车牌号!";
  110. } else if (value.licenseNumber.length == 8 && !xreg.test(value.licenseNumber)) {
  111. warn = "新能源车牌号格式错误!";
  112. } else if(value.driverId == ''){
  113. warn = "请输入司机姓名!";
  114. }
  115. if (warn != '') {
  116. app.util.checkForm(warn);
  117. } else {
  118. app.request.POST({
  119. url: app.API.appointmentPipeEdit,
  120. params: value,
  121. page: this,
  122. isLoadingTxt: '提交中...',
  123. isSubmitting: true,
  124. successFun: true
  125. }).then(res => {
  126. wx.showToast({
  127. title: '修改成功',
  128. icon: 'success',
  129. duration: 2000,
  130. mask:true,
  131. complete: function () {
  132. setTimeout(() => {
  133. wx.navigateBack()
  134. }, 1500) //延迟时间
  135. }
  136. })
  137. })
  138. }
  139. },
  140. /**
  141. * 生命周期函数--监听页面初次渲染完成
  142. */
  143. onReady: function () {
  144. },
  145. /**
  146. * 生命周期函数--监听页面显示
  147. */
  148. onShow: function () {
  149. },
  150. /**
  151. * 生命周期函数--监听页面隐藏
  152. */
  153. onHide: function () {
  154. },
  155. /**
  156. * 生命周期函数--监听页面卸载
  157. */
  158. onUnload: function () {
  159. },
  160. /**
  161. * 页面相关事件处理函数--监听用户下拉动作
  162. */
  163. onPullDownRefresh: function () {
  164. },
  165. /**
  166. * 页面上拉触底事件的处理函数
  167. */
  168. onReachBottom: function () {
  169. },
  170. /**
  171. * 用户点击右上角分享
  172. */
  173. onShareAppMessage: function () {
  174. }
  175. })