evaluate.js 7.2 KB

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