add.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. const utils = require('../../utils/util')
  2. const form = require('../../utils/formValidation')
  3. const util = require('../../utils/util.js');
  4. const app = getApp();
  5. Page({
  6. /**
  7. * 页面的初始数据
  8. */
  9. data: {
  10. isPickerRender: false,
  11. isPickerShow: false,
  12. pickerConfig: {
  13. endDate: true,
  14. dateLimit: true,
  15. initStartTime: "2020-01-01",
  16. initEndTime: "2020-12-01",
  17. limitStartTime: "2015-01-01",
  18. limitEndTime: "2095-01-01"
  19. },
  20. values: {
  21. startTime: "2019-01-01 ",
  22. endTime: "2019-12-01"
  23. },
  24. storeInfo:{
  25. storeName: '',
  26. storePrincipal: '',
  27. storePrincipalPhone: '',
  28. storeTel: '',
  29. storeHouseNum: '',
  30. storeArea: '',
  31. storeAddress: '',
  32. storeContractStart: '',
  33. storeContractEnd: '',
  34. },
  35. dataStr: '',
  36. region: [],
  37. },
  38. /**
  39. * 生命周期函数--监听页面加载
  40. */
  41. onLoad: function (options) {
  42. },
  43. /**
  44. * 生命周期函数--监听页面初次渲染完成
  45. */
  46. onReady: function () {
  47. },
  48. /**
  49. * 生命周期函数--监听页面显示
  50. */
  51. onShow: function () {
  52. },
  53. /**
  54. * 生命周期函数--监听页面隐藏
  55. */
  56. onHide: function () {
  57. },
  58. /**
  59. * 生命周期函数--监听页面卸载
  60. */
  61. onUnload: function () {
  62. },
  63. /**
  64. * 页面相关事件处理函数--监听用户下拉动作
  65. */
  66. onPullDownRefresh: function () {
  67. },
  68. /**
  69. * 页面上拉触底事件的处理函数
  70. */
  71. onReachBottom: function () {
  72. },
  73. /**
  74. * 用户点击右上角分享
  75. */
  76. onShareAppMessage: function () {
  77. },
  78. timePickerShow: function () {
  79. this.setData({
  80. isPickerShow: true,
  81. isPickerRender: true,
  82. chartHide: true
  83. });
  84. },
  85. pickerHide: function () {
  86. this.setData({
  87. isPickerShow: false,
  88. chartHide: false
  89. });
  90. },
  91. setPickerTime: function (val) {
  92. console.log(val);
  93. let data = val.detail;
  94. let startTime = utils.formatDate(data.startTime,'yyyy-MM-dd')
  95. let endTime = utils.formatDate(data.endTime,'yyyy-MM-dd')
  96. this.setData({
  97. ["values.startTime"]: data.startTime,
  98. ["values.endTime"]: data.endTime,
  99. dataStr: startTime +" ~ "+ endTime
  100. });
  101. this.data.storeInfo.storeContractStart = this.data.values.startTime;
  102. this.data.storeInfo.storeContractEnd = this.data.values.endTime;
  103. },
  104. formSubmit: function(e) {
  105. //表单规则
  106. let rules = [{
  107. name: "storeName",
  108. rule: ["required"], //可使用区间,此处主要测试功能
  109. msg: ["请输入门店名称"]
  110. }, {
  111. name: "storePrincipal",
  112. rule: ["required", "isChinese", "minLength:2", "maxLength:6"],
  113. msg: ["请输入负责人姓名", "姓名必须全部为中文", "姓名必须2个或以上字符", "姓名不能超过6个字符"]
  114. },{
  115. name: "storePrincipalPhone",
  116. rule: ["required", "isMobile"],
  117. msg: ["请输入负责人手机号", "请输入正确的手机号"]
  118. }];
  119. //进行表单检查
  120. let formData = e.detail.value;
  121. let checkRes = form.validation(formData, rules);
  122. if (!checkRes) {
  123. var that = this
  124. util.request(util.api.addStore, that.data.storeInfo, "POST", false, true,app.globalData.token).then((res)=>{
  125. if (res.code == 200) {
  126. wx.navigateTo({
  127. url: '/pages/store/index',
  128. })
  129. }else{
  130. util.toast("该门店名称已存在,请重新输入")
  131. }
  132. }).catch((res) => {})
  133. } else {
  134. wx.showToast({
  135. title: checkRes,
  136. icon: "none"
  137. });
  138. }
  139. },
  140. formReset: function(e) {
  141. console.log("清空数据")
  142. },
  143. bindRegionChange: function (e) {
  144. console.log(e.detail.value)
  145. console.log(e.detail.code)
  146. this.setData({
  147. region: e.detail.value
  148. })
  149. this.data.storeInfo.storeArea = this.data.region.join(" ")
  150. },
  151. inputedit: function (e) {
  152. let _this = this;
  153. let dataset = e.currentTarget.dataset;
  154. let value = e.detail.value;
  155. let name = dataset.name;
  156. _this.data[name] = value;
  157. _this.setData({
  158. [name]: _this.data[name]
  159. });
  160. },
  161. })