add.js 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. const utils = require('../../utils/util')
  2. const form = require('../../utils/formValidation')
  3. const util = require('../../utils/util.js');
  4. const app = getApp();
  5. const chooseLocation = requirePlugin('chooseLocation');
  6. Page({
  7. // 从地图选点插件返回后,在页面的onShow生命周期函数中能够调用插件接口,取得选点结果对象
  8. onShow () {
  9. const location = chooseLocation.getLocation(); // 如果点击确认选点按钮,则返回选点结果对象,否则返回null
  10. console.log(location)
  11. if(location!=null){
  12. console.log("")
  13. this.setData({
  14. ["storeInfo.storeAddress"]: location.name,
  15. ["storeInfo.latitude"]: location.latitude,
  16. ["storeInfo.longitude"]: location.longitude,
  17. });
  18. }
  19. },
  20. onUnload () {
  21. // 页面卸载时设置插件选点数据为null,防止再次进入页面,geLocation返回的是上次选点结果
  22. chooseLocation.setLocation(null);
  23. },
  24. /**
  25. * 页面的初始数据
  26. */
  27. data: {
  28. isPickerRender: false,
  29. isPickerShow: false,
  30. pickerConfig: {
  31. endDate: true,
  32. dateLimit: true,
  33. initStartTime: "2020-01-01",
  34. initEndTime: "2020-12-01",
  35. limitStartTime: "2015-01-01",
  36. limitEndTime: "2095-01-01"
  37. },
  38. values: {
  39. startTime: "2019-01-01 ",
  40. endTime: "2019-12-01"
  41. },
  42. storeInfo:{
  43. storeName: '',
  44. storePrincipal: '',
  45. storePrincipalPhone: '',
  46. storeTel: '',
  47. storeHouseNum: '',
  48. storeArea: '',
  49. storeAddress: '',
  50. storeContractStart: '',
  51. storeContractEnd: '',
  52. },
  53. dataStr: '',
  54. region: [],
  55. },
  56. /**
  57. * 生命周期函数--监听页面加载
  58. */
  59. onLoad: function (options) {
  60. },
  61. /**
  62. * 生命周期函数--监听页面初次渲染完成
  63. */
  64. onReady: function () {
  65. },
  66. /**
  67. * 生命周期函数--监听页面隐藏
  68. */
  69. onHide: function () {
  70. },
  71. /**
  72. * 页面相关事件处理函数--监听用户下拉动作
  73. */
  74. onPullDownRefresh: function () {
  75. },
  76. /**
  77. * 页面上拉触底事件的处理函数
  78. */
  79. onReachBottom: function () {
  80. },
  81. /**
  82. * 用户点击右上角分享
  83. */
  84. onShareAppMessage: function () {
  85. },
  86. timePickerShow: function () {
  87. this.setData({
  88. isPickerShow: true,
  89. isPickerRender: true,
  90. chartHide: true
  91. });
  92. },
  93. pickerHide: function () {
  94. this.setData({
  95. isPickerShow: false,
  96. chartHide: false
  97. });
  98. },
  99. setPickerTime: function (val) {
  100. console.log(val);
  101. let data = val.detail;
  102. let startTime = utils.formatDate(data.startTime,'yyyy-MM-dd')
  103. let endTime = utils.formatDate(data.endTime,'yyyy-MM-dd')
  104. this.setData({
  105. ["values.startTime"]: data.startTime,
  106. ["values.endTime"]: data.endTime,
  107. dataStr: startTime +" ~ "+ endTime
  108. });
  109. this.data.storeInfo.storeContractStart = this.data.values.startTime;
  110. this.data.storeInfo.storeContractEnd = this.data.values.endTime;
  111. },
  112. formSubmit: function(e) {
  113. //表单规则
  114. let rules = [{
  115. name: "storeName",
  116. rule: ["required"], //可使用区间,此处主要测试功能
  117. msg: ["请输入门店名称"]
  118. }, {
  119. name: "storePrincipal",
  120. rule: ["required", "isChinese", "minLength:2", "maxLength:6"],
  121. msg: ["请输入负责人姓名", "姓名必须全部为中文", "姓名必须2个或以上字符", "姓名不能超过6个字符"]
  122. },{
  123. name: "storePrincipalPhone",
  124. rule: ["required", "isMobile"],
  125. msg: ["请输入负责人手机号", "请输入正确的手机号"]
  126. },{
  127. name: "storeDivide",
  128. rule: ["required"],
  129. msg: ["请输入门店分成"]
  130. }
  131. ];
  132. //进行表单检查
  133. let formData = e.detail.value;
  134. let checkRes = form.validation(formData, rules);
  135. if (!checkRes) {
  136. var that = this
  137. util.request(util.api.addStore, that.data.storeInfo, "POST", false, true,app.globalData.token).then((res)=>{
  138. if (res.code == 200) {
  139. wx.navigateTo({
  140. url: '/pages/store/index',
  141. })
  142. }else{
  143. util.toast("该门店名称已存在,请重新输入")
  144. }
  145. }).catch((res) => {})
  146. } else {
  147. wx.showToast({
  148. title: checkRes,
  149. icon: "none"
  150. });
  151. }
  152. },
  153. formReset: function(e) {
  154. console.log("清空数据")
  155. },
  156. bindRegionChange: function (e) {
  157. console.log(e.detail.value)
  158. console.log(e.detail.code)
  159. this.setData({
  160. region: e.detail.value
  161. })
  162. this.data.storeInfo.storeArea = this.data.region.join(" ")
  163. },
  164. inputedit: function (e) {
  165. let _this = this;
  166. let dataset = e.currentTarget.dataset;
  167. let value = e.detail.value;
  168. let name = dataset.name;
  169. _this.data[name] = value;
  170. _this.setData({
  171. [name]: _this.data[name]
  172. });
  173. },
  174. //选择地图
  175. selectMap(){
  176. const key = '3UWBZ-YVSWX-V4245-T2G6T-QQ5US-BJFMP'; //使用在腾讯位置服务申请的key
  177. const referer = '梦果宝盒'; //调用插件的app的名称
  178. const location = JSON.stringify({
  179. latitude: 39.89631551,
  180. longitude: 116.323459711
  181. });
  182. const category = '生活服务,娱乐休闲';
  183. wx.navigateTo({
  184. url: `plugin://chooseLocation/index?key=${key}&referer=${referer}&location=${location}&category=${category}`
  185. });
  186. }
  187. })