writeVIN.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533
  1. Page({
  2. /**
  3. * 页面的初始数据
  4. */
  5. data: {
  6. show:false,
  7. c_show:false,
  8. p_show:false,
  9. vinText:'',
  10. searchValue:'',
  11. searchValuec:'',
  12. searchValuep:'',
  13. searchList:[],
  14. custom_mobile:'',
  15. custom_name:'',
  16. vinList:[],
  17. cusList:[],
  18. phoneList:[],
  19. canChoose:false,
  20. showCamera:false,
  21. imgList:[],
  22. set_status:'',
  23. cameraSet:'back'
  24. },
  25. handleExpand(){
  26. if(this.data.cameraSet=='back'){
  27. this.setData({
  28. cameraSet:'front'
  29. })
  30. }else{
  31. this.setData({
  32. cameraSet:'back'
  33. })
  34. }
  35. },
  36. takePhoto() {
  37. const ctx = wx.createCameraContext()
  38. ctx.takePhoto({
  39. quality: 'high',
  40. success: (res) => {
  41. this.upRecord(res.tempImagePath);
  42. }
  43. })
  44. },
  45. upRecord(video){
  46. var that =this;
  47. let app = getApp();
  48. let openid = app.globalData.openID;
  49. let formData = {
  50. openid
  51. };
  52. wx.uploadFile({
  53. url: `${app.globalData.url}wx/uploadConstructionFile`,//这是你自己后台的连接
  54. filePath: video,
  55. name:"file",//后台要绑定的名称
  56. header: {
  57. "Content-Type": "multipart/form-data"
  58. },
  59. //参数绑定
  60. formData: formData,// HTTP 请求中其他额外的 form data
  61. success:function(ress){
  62. wx.showToast({
  63. title: '上传成功',
  64. })
  65. let img = JSON.parse(ress.data).data.url;
  66. that.data.imgList[0].src = `${app.globalData.url}${img}`;
  67. if(that.data.set_status){
  68. that.data.imgList[0].show_url = `${app.globalData.url}${img}`;
  69. }
  70. that.setData({
  71. imgList:that.data.imgList,
  72. showCamera:false
  73. })
  74. },
  75. fail: function(ress){
  76. wx.showToast({
  77. title: '上传失败',
  78. })
  79. that.setData({
  80. showCamera:false
  81. })
  82. }
  83. })
  84. },
  85. handleOpenCamera(data){
  86. if(this.data.imgList[0].src){
  87. wx.previewImage({
  88. urls:[this.data.imgList[0].src]
  89. })
  90. return
  91. }
  92. if(this.data.set_status=='is_detail'){
  93. return
  94. }
  95. this.setData({
  96. showCamera:true,
  97. })
  98. },
  99. scanBarcode: function() {
  100. var that = this;
  101. let app = getApp();
  102. wx.scanCode({
  103. success: function(res) {
  104. let vin_no = res.result;
  105. if(that.data.vinList.find(v=>v.vin_no==vin_no)){
  106. app.globalData.car_file_name = that.data.vinList.find(v=>v.vin_no==vin_no).car_file_name;
  107. app.globalData.car_file_id = that.data.vinList.find(v=>v.vin_no==vin_no).car_file_id;
  108. app.globalData.car_type_name = that.data.vinList.find(v=>v.vin_no==vin_no).car_type_name;
  109. app.globalData.car_type = that.data.vinList.find(v=>v.vin_no==vin_no).car_type;
  110. app.globalData.own_id = that.data.vinList.find(v=>v.vin_no==vin_no).id;
  111. that.setData({
  112. vinText:vin_no,
  113. custom_mobile:'',
  114. custom_name:'',
  115. canChoose:true,
  116. })
  117. }else{
  118. app.globalData.car_type='';
  119. app.globalData.car_file_id='';
  120. app.globalData.car_type_name = '';
  121. app.globalData.car_file_name = '';
  122. app.globalData.own_id = 0;
  123. app.globalData.name_id = '';
  124. that.setData({
  125. vinText:res.result,// 输出条形码信息
  126. custom_name:'',
  127. custom_mobile:'',
  128. canChoose:false
  129. })
  130. }
  131. },
  132. fail: function(res) {
  133. console.log(res);
  134. }
  135. })
  136. },
  137. handleChooseVin(item){
  138. let app = getApp();
  139. let data = item.target.dataset.item;
  140. app.globalData.car_type=data.car_type;
  141. app.globalData.car_file_id=data.car_file_id;
  142. app.globalData.car_type_name = data.car_type_name;
  143. app.globalData.car_file_name = data.car_file_name;
  144. app.globalData.own_id = data.id;
  145. app.globalData.name_id = '';
  146. app.globalData.custom_name = '';
  147. app.globalData.custom_mobile = '';
  148. this.setData({
  149. vinText:data.vin_no,
  150. show:false,
  151. canChoose:true,
  152. custom_mobile:'',
  153. custom_name:'',
  154. })
  155. },
  156. handleChooseCus(item){
  157. let app = getApp();
  158. let data = item.target.dataset.item;
  159. app.globalData.name_id = data.id;
  160. app.globalData.custom_name = data.name;
  161. app.globalData.custom_mobile = data.phone;
  162. this.setData({
  163. c_show:false,
  164. custom_mobile:data.phone,
  165. custom_name:data.name
  166. })
  167. },
  168. handleChoosePhone(item){
  169. let app = getApp();
  170. let data = item.target.dataset.item;
  171. app.globalData.name_id = data.id;
  172. app.globalData.custom_name = data.name;
  173. app.globalData.custom_mobile = data.phone;
  174. this.setData({
  175. p_show:false,
  176. custom_mobile:data.phone,
  177. custom_name:data.name
  178. })
  179. },
  180. handleCancel(){
  181. this.setData({
  182. show:false
  183. })
  184. },
  185. handleCancelc(){
  186. this.setData({
  187. c_show:false
  188. })
  189. },
  190. handleCancelp(){
  191. this.setData({
  192. p_show:false
  193. })
  194. },
  195. onSearch(event){
  196. let app = getApp();
  197. let openid = app.globalData.openID;
  198. wx.p.request({
  199. url: `${app.globalData.url}wx/ownerList`,
  200. method:'POST',
  201. data:{
  202. openid,
  203. vin_no:event.detail
  204. }
  205. }).then(res=>{
  206. if(res.data.code==200){
  207. this.setData({
  208. vinList:res.data.data.data,
  209. searchList:res.data.data.data
  210. })
  211. }
  212. })
  213. // let arr = this.data.vinList.filter(v=>v.vin_no.indexOf(event.detail)!=-1);
  214. // this.setData({
  215. // searchList:arr
  216. // })
  217. },
  218. handleShow(){
  219. this.setData({
  220. show:true,
  221. searchList:this.data.vinList
  222. })
  223. },
  224. handleShowCus(){
  225. let app = getApp();
  226. let openid = app.globalData.openID;
  227. wx.p.request({
  228. url: `${app.globalData.url}wx/ownerDetail`,
  229. method:'POST',
  230. data:{
  231. openid,
  232. id:app.globalData.own_id
  233. }
  234. }).then(res=>{
  235. if(res.data.code==200){
  236. this.setData({
  237. c_show:true,
  238. cusList:res.data.data.sub.filter(v=>v.use=='1')
  239. })
  240. }
  241. })
  242. },
  243. handleShowCusP(){
  244. let app = getApp();
  245. let openid = app.globalData.openID;
  246. wx.p.request({
  247. url: `${app.globalData.url}wx/ownerDetail`,
  248. method:'POST',
  249. data:{
  250. openid,
  251. id:app.globalData.own_id
  252. }
  253. }).then(res=>{
  254. if(res.data.code==200){
  255. this.setData({
  256. p_show:true,
  257. phoneList:res.data.data.sub.filter(v=>v.use=='1')
  258. })
  259. }
  260. })
  261. },
  262. onChange(event){
  263. let app = getApp();
  264. app.globalData.car_type='';
  265. app.globalData.car_file_id='';
  266. app.globalData.car_type_name = '';
  267. app.globalData.car_file_name = '';
  268. app.globalData.own_id = 0;
  269. app.globalData.name_id = '';
  270. app.globalData.custom_name = '';
  271. app.globalData.custom_mobile = '';
  272. this.setData({
  273. canChoose:false,
  274. vinText:event.detail
  275. })
  276. console.log(app.globalData)
  277. },
  278. onChangePhone(event){
  279. let app = getApp();
  280. app.globalData.name_id = '';
  281. app.globalData.custom_mobile = event.detail
  282. this.setData({
  283. custom_mobile:event.detail
  284. })
  285. },
  286. handleDelPic(e){
  287. console.log(e);
  288. let imgList = this.data.imgList;
  289. imgList[e.currentTarget.dataset.index].src = '';
  290. this.setData({
  291. imgList:imgList
  292. })
  293. },
  294. onChangeName(event){
  295. let app = getApp();
  296. app.globalData.name_id = '';
  297. app.globalData.custom_name = event.detail
  298. this.setData({
  299. custom_name:event.detail
  300. })
  301. },
  302. handleNext(){
  303. if(this.data.vinText){
  304. let app = getApp();
  305. app.globalData.vin_no = this.data.vinText;
  306. app.globalData.img = app.globalData.img.filter(v=>v.type!=2);
  307. app.globalData.img.push(...this.data.imgList)
  308. if(this.data.set_status){
  309. wx.redirectTo({
  310. url: '../fourth/fourth',
  311. })
  312. }else{
  313. let openid = app.globalData.openID;
  314. app.globalData.stepData = app.globalData.stepData.filter(v=>v.sort!=4);
  315. app.globalData.stepData.push({
  316. sort:4,
  317. data:{
  318. vinText:this.data.vinText,
  319. custom_mobile:this.data.custom_mobile,
  320. custom_name:this.data.custom_name,
  321. canChoose:this.data.canChoose,
  322. imgList:this.data.imgList
  323. }
  324. })
  325. wx.p.request({
  326. url: `${app.globalData.url}wx/saveWxConstructionData`,
  327. method:'POST',
  328. data:{
  329. openid,
  330. type:1,
  331. data:JSON.stringify(app.globalData)
  332. }
  333. }).then(res=>{
  334. if(res.data.code==200){
  335. wx.redirectTo({
  336. url: '../fourth/fourth',
  337. })
  338. }
  339. })
  340. }
  341. }
  342. },
  343. handleReturn(){
  344. let app = getApp();
  345. let openid = app.globalData.openID;
  346. app.globalData.vin_no = '';
  347. app.globalData.img = app.globalData.img.filter(v=>v.type!=2);
  348. app.globalData.img.push(...this.data.imgList)
  349. if(this.data.set_status){
  350. wx.redirectTo({
  351. url: '../third/third',
  352. })
  353. }else{
  354. app.globalData.stepData.forEach((v,index)=>{
  355. if(v.sort == '4'){
  356. app.globalData.stepData.splice(index,1);
  357. }
  358. })
  359. wx.p.request({
  360. url: `${app.globalData.url}wx/saveWxConstructionData`,
  361. method:'POST',
  362. data:{
  363. openid,
  364. type:1,
  365. data:JSON.stringify(app.globalData)
  366. }
  367. }).then(res=>{
  368. if(res.data.code==200){
  369. wx.redirectTo({
  370. url: '../third/third',
  371. })
  372. }
  373. })
  374. }
  375. },
  376. /**
  377. * 生命周期函数--监听页面加载
  378. */
  379. onLoad(option) {
  380. // 获取车架号
  381. let app = getApp();
  382. let openid = app.globalData.openID;
  383. wx.p.request({
  384. url: `${app.globalData.url}wx/ownerList`,
  385. method:'POST',
  386. data:{
  387. openid,
  388. page_index:1,
  389. page_size:20
  390. }
  391. }).then(res=>{
  392. if(res.data.code==200){
  393. this.setData({
  394. vinList:res.data.data.data
  395. })
  396. }
  397. if(app.globalData.set_status){
  398. let vin_no = app.globalData.detailData.vin_no;
  399. app.globalData.car_file_name = app.globalData.detailData.car_file_title;
  400. app.globalData.car_file_id = app.globalData.detailData.car_file_id;
  401. app.globalData.car_type_name = app.globalData.detailData.car_type_title;
  402. app.globalData.car_type = app.globalData.detailData.car_type;
  403. app.globalData.own_id = app.globalData.detailData.own_id;
  404. app.globalData.name_id = app.globalData.detailData.own_sub_id;
  405. app.globalData.custom_name = app.globalData.detailData.own_name;
  406. app.globalData.custom_mobile = app.globalData.detailData.own_phone;
  407. let img_type = app.globalData.img_type.split(',');
  408. if(img_type.indexOf('2')!=-1){
  409. this.setData({
  410. imgList:[{
  411. type:'2',
  412. src:app.globalData.detailData.img.find(s=>s.type==2)&&app.globalData.detailData.img.find(s=>s.type==2).src?`${app.globalData.url}${app.globalData.detailData.img.find(s=>s.type==2).src}`:'',
  413. show_url:app.globalData.detailData.img.find(s=>s.type==2)&&app.globalData.detailData.img.find(s=>s.type==2).show_url?app.globalData.detailData.img.find(s=>s.type==2).show_url:''
  414. }]
  415. })
  416. console.log(this.data.imgList)
  417. }else{
  418. this.setData({
  419. imgList:[]
  420. })
  421. }
  422. this.setData({
  423. vinText:vin_no,
  424. custom_mobile:app.globalData.detailData.own_phone,
  425. custom_name:app.globalData.detailData.own_name,
  426. canChoose:true,
  427. set_status:app.globalData.set_status
  428. })
  429. }else{
  430. wx.p.request({
  431. url: `${app.globalData.url}wx/getWxConstructionData`,
  432. method:'POST',
  433. data:{
  434. type:1,
  435. openid
  436. }
  437. }).then(res=>{
  438. if(res.data.code==200){
  439. if(res.data.data.data){
  440. let data = JSON.parse(res.data.data.data);
  441. let box = data.stepData.find(v=>v.sort==4);
  442. app.globalData = data;
  443. app.globalData.set_status = '';
  444. let vin_no = app.globalData.vin_no;
  445. console.log(app)
  446. if(vin_no&&app.globalData.own_id){
  447. app.globalData.car_file_name = this.data.vinList.find(v=>v.vin_no==vin_no).car_file_name;
  448. app.globalData.car_file_id = this.data.vinList.find(v=>v.vin_no==vin_no).car_file_id;
  449. app.globalData.car_type_name = this.data.vinList.find(v=>v.vin_no==vin_no).car_type_name;
  450. app.globalData.car_type = this.data.vinList.find(v=>v.vin_no==vin_no).car_type;
  451. }
  452. if(box){
  453. this.setData({
  454. vinText:box.data.vinText,
  455. custom_mobile:box.data.custom_mobile,
  456. custom_name:box.data.custom_name,
  457. canChoose:box.data.canChoose,
  458. set_status:''
  459. })
  460. }
  461. let img_type = app.globalData.img_type.split(',');
  462. if(img_type.indexOf('2')!=-1){
  463. this.setData({
  464. imgList:app.globalData.img.filter(v=>v.type=='2'),
  465. set_status:''
  466. })
  467. }else{
  468. this.setData({
  469. imgList:[],
  470. set_status:''
  471. })
  472. }
  473. }
  474. }
  475. })
  476. }
  477. })
  478. },
  479. /**
  480. * 生命周期函数--监听页面初次渲染完成
  481. */
  482. onReady() {
  483. },
  484. /**
  485. * 生命周期函数--监听页面显示
  486. */
  487. onShow() {
  488. },
  489. /**
  490. * 生命周期函数--监听页面隐藏
  491. */
  492. onHide() {
  493. },
  494. /**
  495. * 生命周期函数--监听页面卸载
  496. */
  497. onUnload() {
  498. },
  499. /**
  500. * 页面相关事件处理函数--监听用户下拉动作
  501. */
  502. onPullDownRefresh() {
  503. },
  504. /**
  505. * 页面上拉触底事件的处理函数
  506. */
  507. onReachBottom() {
  508. },
  509. /**
  510. * 用户点击右上角分享
  511. */
  512. onShareAppMessage() {
  513. }
  514. })