add.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. // pages/car/add.js
  2. const app = getApp()
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. defaultText: '请选择',
  9. isSubmitting: false,
  10. isKeyboard: false, //是否显示车牌输入键盘
  11. inputOnFocusIndex: '', //当前锁定的车号位置
  12. licensePlate: '', //车牌号
  13. isShow: true,
  14. current_index: 0,
  15. overArray:[],//车辆轴数
  16. overIndex:'',
  17. originalInvoicePhoto: '',
  18. originalInvoicePhotoUrl: ''
  19. },
  20. //输入框焦点聚焦时隐藏车牌号输入框
  21. hideKeybord: function () {
  22. this.setData({
  23. isKeyboard: false,
  24. inputOnFocusIndex: ''
  25. })
  26. },
  27. //下拉选择
  28. bindPickerChange: function (e) { //下拉菜单
  29. let { pickername } = e.target.dataset
  30. let getIndex = pickername + 'Index'
  31. app.util.getPickerIndex(this, getIndex, e);
  32. },
  33. /**
  34. * 生命周期函数--监听页面加载
  35. */
  36. onLoad: function (options) {
  37. if (!wx.getStorageSync('loginStatus')) {
  38. wx.switchTab({
  39. url: '/pages/index/index',
  40. })
  41. } else {
  42. //获取订单下拉列表、车辆轴数下拉列表
  43. this.getSelectData()
  44. }
  45. },
  46. //获取订单下拉列表、车辆轴数下拉列表
  47. getSelectData:function(){
  48. //获取车辆轴数下拉列表
  49. app.request.GET({
  50. url: app.API.getCarzheList,
  51. params: {},
  52. page: this,
  53. successFun: true
  54. }).then(res => {
  55. this.setData({
  56. overArray:res.data.data
  57. })
  58. })
  59. },
  60. //获取车牌号
  61. licensePlate: function (e) {
  62. this.setData({
  63. licensePlate: e.detail.carNum
  64. })
  65. },
  66. // 选择图片
  67. afterRead: function (e) {
  68. let that = this
  69. wx.chooseImage({
  70. count: 1,
  71. sizeType: ['compressed'],
  72. sourceType: ['album', 'camera'],
  73. success: res => {
  74. var base64 = 'data:image/jpeg;base64,' + wx.getFileSystemManager().readFileSync(res.tempFilePaths[0], "base64");
  75. that.setData({
  76. originalInvoicePhoto: base64,
  77. originalInvoicePhotoUrl: res.tempFilePaths[0]
  78. })
  79. }
  80. })
  81. },
  82. //删除当前选择的图片
  83. clearImgFun: function () {
  84. this.setData({
  85. originalInvoicePhoto: '',
  86. originalInvoicePhotoUrl: ''
  87. })
  88. },
  89. //提交事件
  90. formSubmit: function ({detail:{value}}) {
  91. let reg = /^1[3-9]\d{9}$/;
  92. var xreg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]{1}$/;
  93. var creg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/;
  94. var warn = ""; //弹框时提示的内容
  95. //value.certificateNoImage = this.data.originalInvoicePhoto
  96. if (value.licensePlate == '') {
  97. warn = "车牌不能为空!";
  98. } else if (value.licensePlate.length < 7) {
  99. warn = "请选择完整车牌号!";
  100. } else if (value.licensePlate.length == 7 && !creg.test(value.licensePlate)) {
  101. warn = "车牌号格式错误!";
  102. } else if (value.licensePlate.length == 8 && !xreg.test(value.licensePlate)) {
  103. warn = "车牌号格式错误!";
  104. } else if (value.vehicleAxles == '') {
  105. warn = "请选择车辆轴数!";
  106. }
  107. // else if (value.driverName == '') {
  108. // warn = "司机姓名不能为空!";
  109. // } else if (value.driverPhone == '') {
  110. // warn = "司机号码不能为空!";
  111. // } else if (!reg.test(value.driverPhone)) {
  112. // warn = "请填写正确的号码!";
  113. // }
  114. if (warn != '') {
  115. app.util.checkForm(warn);
  116. } else {
  117. app.request.POST({
  118. url: app.API.bizvehicleAdd,
  119. params: value,
  120. page: this,
  121. isLoadingTxt: '提交中...',
  122. isSubmitting: true,
  123. successFun: true
  124. }).then(res => {
  125. wx.showToast({
  126. title: '新增成功',
  127. icon: 'success',
  128. duration: 2000,
  129. mask:true,
  130. complete: function () {
  131. setTimeout(() => {
  132. wx.navigateBack()
  133. }, 1500) //延迟时间
  134. }
  135. })
  136. })
  137. }
  138. }
  139. })