evaluate.js 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  1. // pages/evaluate/evaluate.js
  2. import { get,post,upload } from "../../common/request.js"
  3. import pathmap from "../../common/pathmap"
  4. import stylemap from "../../common/stylemap"
  5. const app = getApp();
  6. Page({
  7. /**
  8. * 页面的初始数据
  9. */
  10. data: {
  11. windowh: app.globalData.windowh,
  12. area:{},
  13. areaselect:{},
  14. series:{},
  15. selectseries:{},
  16. date:"2018-01-01",
  17. detail:{},
  18. describe:[{
  19. dis:"无瑕疵\n无色差",
  20. int:"无磨损\n无异味",
  21. mil:"4万公里以内",
  22. maintain:"无事故维修"
  23. },{
  24. dis:"无色差\n个别瑕疵",
  25. int:"轻微磨损\n无异味",
  26. mil:"15万公里以内",
  27. maintain:"无事故\n少量维修"
  28. },{
  29. dis:"轻微色差\n少量瑕疵",
  30. int:"个别严重磨损",
  31. mil:"20万公里以内",
  32. maintain:"有碰撞事故\n少量维修"
  33. }],
  34. showeva:false
  35. },
  36. /**
  37. * 生命周期函数--监听页面加载
  38. */
  39. onLoad: function (options) {
  40. this.setData(stylemap);
  41. this.getCararea(0,0,0);
  42. this.getCarSeries(0,0,0);
  43. },
  44. /**
  45. * 生命周期函数--监听页面初次渲染完成
  46. */
  47. onReady: function () {
  48. },
  49. /**
  50. * 生命周期函数--监听页面显示
  51. */
  52. onShow: function () {
  53. },
  54. /**
  55. * 生命周期函数--监听页面隐藏
  56. */
  57. onHide: function () {
  58. },
  59. /**
  60. * 生命周期函数--监听页面卸载
  61. */
  62. onUnload: function () {
  63. },
  64. /**
  65. * 页面相关事件处理函数--监听用户下拉动作
  66. */
  67. onPullDownRefresh: function () {
  68. },
  69. /**
  70. * 页面上拉触底事件的处理函数
  71. */
  72. onReachBottom: function () {
  73. },
  74. /**
  75. * 用户点击右上角分享
  76. */
  77. onShareAppMessage: function () {
  78. },
  79. getCararea:function(id,index,sel){
  80. var _self=this;
  81. sel = sel||0;
  82. get(pathmap.cararea,{pid:id},function(json){
  83. var obj = {},select={};
  84. obj[index] = json.data;
  85. select[index] = sel;
  86. _self.setData({
  87. area:Object.assign({},_self.data.area,obj),
  88. areaselect:Object.assign({},_self.data.areaselect,select)
  89. });
  90. if(index<1){
  91. _self.getCararea(obj[index][sel]['area_id'],1+parseInt(index),0);
  92. }
  93. })
  94. },
  95. changeArea:function(e){
  96. var index = e.currentTarget.dataset.index;
  97. var select = e.detail.value;
  98. var obj = {};
  99. obj[index]=select;
  100. this.setData({areaselect:Object.assign(this.data.areaselect,obj)});
  101. if(index<1){
  102. this.getCararea(this.data.area[index][select]['area_id'],1+parseInt(index),0);
  103. }
  104. },
  105. // getCarModel:function(){
  106. // var _self=this;
  107. // get(pathmap.carmodel,{pid:id},function(json){
  108. // var obj = {},select={};
  109. // obj[index] = json.data;
  110. // select[index] = sel;
  111. // _self.setData({
  112. // area:Object.assign({},_self.data.area,obj),
  113. // select:Object.assign({},_self.data.areaselect,select)
  114. // });
  115. // if(index<1){
  116. // _self.getCararea(obj[index][sel]['area_id'],1+parseInt(index),0);
  117. // }
  118. // })
  119. // },
  120. getCarSeries:function(id,index,sel){
  121. var _self=this;
  122. sel = sel||0;
  123. //resule 为借口返回数组对应的属性名
  124. var path="",para={},key = "",resule="";
  125. if(index==0){
  126. path = pathmap.brandlist;
  127. key = "brand_id";
  128. resule = "brand";
  129. }else if(index==1){
  130. path = pathmap.serieslist;
  131. para = {brand_id:id}; //this.data.series['0'][this.data.selectseries['0']].brand_id}
  132. key = "car_series_id";
  133. resule = "car_series";
  134. }else if(index==2){
  135. path = pathmap.carmodel;
  136. para = {car_series_id:id}; //this.data.series['1'][this.data.selectseries['1']].car_series_id}
  137. }
  138. get(path,para,function(json){
  139. var obj = {},select={};
  140. obj[index] = json.data;
  141. if(resule){
  142. obj[index] = obj[index][resule];
  143. }
  144. select[index] = sel;
  145. _self.setData({
  146. series:Object.assign({},_self.data.series,obj),
  147. selectseries:Object.assign({},_self.data.selectseries,select)
  148. });
  149. if(index<2){
  150. _self.getCarSeries(obj[index][sel][key],1+parseInt(index),0);
  151. }
  152. })
  153. },
  154. bindSeriesChange:function(e){
  155. var index = e.currentTarget.dataset.index;
  156. var select = e.detail.value;
  157. var obj = {};
  158. var key=""
  159. if(index==0){
  160. key = "brand_id";
  161. }else if(index==1){
  162. key = "car_series_id";
  163. }
  164. obj[index]=select;
  165. this.setData({selectseries:Object.assign(this.data.selectseries,obj)});
  166. if(index<2){
  167. this.getCarSeries(this.data.series[index][select][key],1+parseInt(index),0);
  168. }
  169. },
  170. getMileage:function(e){
  171. var mileage = e.detail.value;
  172. this.setData({mileage:mileage});
  173. },
  174. bindDateChange: function(e) {
  175. this.setData({
  176. date: e.detail.value
  177. })
  178. },
  179. getMobile:function(e){
  180. var mobile = e.detail.value;
  181. this.setData({mobile:mobile});
  182. },
  183. subEvaluate:function(){
  184. var _self=this;
  185. post(pathmap.estimatedprice,{
  186. mobile:this.data.mobile,
  187. model_types:this.data.series['2'][this.data.selectseries['2']].car_model_id,
  188. car_name:this.data.series['2'][this.data.selectseries['2']].car_model_name,
  189. license_time:this.data.date,
  190. mileage:this.data.mileage,
  191. area:this.data.area['1'][this.data.areaselect['1']].area_id,
  192. city_name:`${this.data.area['0'][this.data.areaselect['0']].area_name} ${this.data.area['1'][this.data.areaselect['1']].area_name}`,
  193. },function(json){
  194. if(json.data.status==0){
  195. wx.showToast({
  196. title:"估价失败!",
  197. icon:"none"
  198. });
  199. }else{
  200. wx.showToast({
  201. title:"估价成功!"
  202. });
  203. var obj = {
  204. "excellent":0,
  205. "good":1,
  206. "normal":2
  207. }
  208. _self.setData({
  209. detail:json.data,
  210. showeva:true,
  211. currenteva:obj[json.data.default_car_condition]
  212. })
  213. }
  214. })
  215. },
  216. switchTab: function (e) {
  217. this.setData({
  218. currenteva:e.detail.current
  219. })
  220. },
  221. swatchEva:function(e){
  222. this.setData({
  223. currenteva:e.currentTarget.dataset.index
  224. })
  225. },
  226. evaluateBack:function(e){
  227. this.setData({
  228. showeva:false
  229. })
  230. }
  231. })