sellidel.js 19.5 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591
// pages/home/sellidel/sellidel.js
const app = getApp();

Page({

  /**
   * 页面的初始数据
   */
  data: {
    parcel: -1,
    img: [],
    videoimg:'',
    sendimg: [],
    video: 1,
    wname: '',
    price: '',
    phone: '',
    describe: '',
    allChar: '仅支持自取',

    classify_index: 0,
    city_index: 0,
    old_index: 0,
    tage_index: 0,
    multiIndex: [0, 0],
    multiArray: [['东城区', '西城区', '朝阳区', '丰台区', '石景山区', '海淀区', '门头沟区', '房山区', '通州区', '顺义区', '昌平区', '大兴区', '怀柔区', '平谷区', '密云区', '延庆区'], ['东华门街道', '景山街道', '交道口街道', '安定门街道', '北新桥街道', '东四街道', '朝阳门街道', '建国门街道', '东直门街道', '和平里街道', '前门街道', '崇文门外街道', '东花市街道', '龙潭街道', '体育馆路街道', '天坛街道','永定门外街道']],
    conPostage: ['请选择','不包邮', '包邮'],
    village: '东华门街道',
    area: '东城区',
    region: ['北京', '北京市', '东城区'],
    province:'北京',
    city:'北京市',
    area:'东城区'

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.getClassify();
    this.getOld();
  },

  delpic(e) {
    let that = this;
    let index = e.currentTarget.dataset.id;
    let newimg = that.data.img;
    let newsendimg=that.data.sendimg;
    console.log(newsendimg)
    console.log(newimg)
    newimg.splice(index, 1);
    newsendimg.splice(index, 1);
    console.log(newimg)
    that.setData({
      img: newimg,
      sendimg:newsendimg
    })

    console.log(this.data.sendimg)
  },
  // 判断是否为空
  isEmpty: function(){
    let that = this;
    var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\d{8})$/;
    if (that.data.sendimg == ''){
      wx.showToast({
        title: "请上传图片",
        icon: 'none',
        duration: 1500
      });
      return false;
    } else if (that.data.wname == ''){
      wx.showToast({
        title: "请输入物品名称",
        icon: 'none',
        duration: 1500
      });
      return false;
    } else if (that.data.price == ''){
      wx.showToast({
        title: "请输入物品价格",
        icon: 'none',
        duration: 1500
      });
      return false;
    } else if (that.data.phone == ''){
      wx.showToast({
        title: "请输入联系方式",
        icon: 'none',
        duration: 1500
      });
      return false;
    }else if (that.data.phone != '') {
      // var reg = /^[1][3,4,5,6,,7,8,9][0-9]{9}$/;
      // if (!reg.test(that.data.phone)) {
      //   wx.showToast({
      //     title: '请输入正确的手机号',
      //     icon: 'none'
      //   })

      //   return false
      // } else
      
      
       if (that.data.classify[that.data.classify_index].goods_cate_id == 0) {
        wx.showToast({
          title: '请选择分类',
          icon: 'none'
        })

        return false
      } else if (that.data.degree[that.data.old_index].degree_id == 0) {
        wx.showToast({
          title: '请选择新旧程度',
          icon: 'none'
        })

        return false
      } else if (that.data.tage_index - 1 == -1) {
        wx.showToast({
          title: "请选择是否包邮",
          icon: 'none',
          duration: 1500
        });
        return false;
      } else if (that.data.describe == '') {
        wx.showToast({
          title: "请输入物品描述",
          icon: 'none',
          duration: 1500
        });
        return false;
      } else {

        that.issueShopp()
      }
    } 
  },
  // 发布闲置商品
  issueShopp: function(e){
    let that = this;
    let url = "/api/portal/goods/addGoods";
    let params = {
      token: wx.getStorageSync('token'),
      images: that.data.sendimg,
      video: that.data.videoimg,
      title: that.data.wname,
      price: that.data.price,
      mobile: that.data.phone,
      goods_cate_id: that.data.classify[that.data.classify_index].goods_cate_id,
      // area: that.data.area,
      // village: that.data.village,
      province:that.data.province,
      city:that.data.city,
      area:that.data.area,
      degree_id: that.data.degree[that.data.old_index].degree_id,
      if_freight:that.data.tage_index-1,
      briefcontent: that.data.describe,
      transport_type: that.data.allChar
    }
    app.post(url, params).then((res) => {
      console.log(res)
      if(res==""){
        wx.showToast({
          title: '发布成功,等待后台审核',
          icon:'none'
        })
      }

      setTimeout(function(){
        // wx.navigateTo({
        //   url: '../used/used',
        // })
        wx.navigateBack({
          checked:true
        })
      },1500)
     
    }).catch((errMsg) => {})
  },
  // 获取所属分类信息
  getClassify: function (e) {
    let that = this;
    let url = "/api/portal/goods/getCate";
    let params = {}
    app.post(url, params).then((res) => {
      console.log(res)

      let classifyname={
        goods_cate_id:0,
        name:"请选择"
      }
      res.unshift(classifyname)
      that.setData({
        classify: res
      })

      console.log(that.data.classify)
    }).catch((errMsg) => {})
  },
  getType(e){
    this.setData({
      classify_index: e.detail.value
    })
  },
  // 获取新旧程度
  getOld: function(e){
    let that = this;
    let url = "/api/portal/goods/getDegree";
    let params = {}
    app.post(url, params).then((res) => {
      console.log(res)
      let classifyname = {
        degree_id: 0,
        title: "请选择"
      }
      res.unshift(classifyname)
      that.setData({
        degree: res
      })
     
    }).catch((errMsg) => {})
  },
  oldTap: function(e){
    this.setData({
      old_index: e.detail.value
    })
  },
  // 获取包邮信息
  postageTap: function (e) {
    this.setData({
      tage_index: e.detail.value
    })
   
  },
  // 获取物品名称
  getName: function(e){
    this.setData({
      wname: e.detail.value
    })
  },
  // 获取物品价钱
  getPrice: function(e){
    this.setData({
      price: e.detail.value
    })
  },
  // 获取联系方式
  getPhone: function(e){
    this.setData({
      phone: e.detail.value
    })
  },
  // 获取物品描述
  getDescribe: function(e){
    this.setData({
      describe: e.detail.value
    })
  },
  //所在区域下拉
  cityTap: function (e) {
    this.setData({
      multiIndex: e.detail.value
    })
  },
  // 上传图片
  uploadImage() {
    let that = this;
    wx.chooseImage({
      count: 9,
      sizeType: ['original', 'compressed'],
      success: function (res) {
        console.log(res)
       
        let successUp = 0; //成功个数
        let failUp = 0; //失败个数
        let i = 0; //第几个
        let tempFilePaths = res.tempFilePaths  //总文件
        let length = res.tempFilePaths.length  //总共个数
        wx.showNavigationBarLoading()
        wx.showLoading({
          title: '上传中',
        })

        that.uploadAllfile(tempFilePaths, successUp, failUp, i, length)
      },
      fail: function (res) {
        console.log(res);
      }
    })
  },
  uploadAllfile(filePaths, successUp, failUp, i, length) {
    let that = this;
    let url = 'https://ibaby88.cn/portal/common/upload';
    wx.uploadFile({
      url: url, //仅为示例,非真实的接口地址
      filePath: filePaths[i],
      name: 'file',
      formData: {
        file: '',
        filetype: 'image'
      },
      success: function (res) {
        console.log(res)
        wx.hideNavigationBarLoading();
        wx.hideLoading();
        if (res.statusCode == '200') {
          var dat = JSON.parse(res.data);
          var datres = dat.data;
          let imgTemp = that.data.img;
          console.log(imgTemp.length)
          // let imgSemp = that.data.sendimg;
          if (imgTemp.length < 5) {
            let imgSemp = that.data.sendimg;
            imgTemp[imgTemp.length] = datres.preview_url;
            console.log(imgTemp)
            imgSemp[imgSemp.length] = datres.filepath
            that.setData({
              img: imgTemp,
              sendimg: imgSemp
            })
            console.log('000000',that.data.sendimg)
          } else {
            wx.showToast({
              title: '最多只能上传5张',
              icon: 'none'
            })
          }
        } else {
          // wx.showModal({
          //   title: '提示',
          //   content: res.msg,
          //   showCancel: false
          // })
        }
        //do something  返回图片地址  
      },
      fail: function (res) {
        wx.hideNavigationBarLoading()
        wx.hideLoading()

        console.log(res);
      },
      complete() {
        i++;
        let img = that.data.img
        if (i == length) {
          console.log('总共' + successUp + '张上传成功,' + failUp + '张上传失败!');
        }
        else {  //递归调用uploadDIY函数
          that.uploadAllfile(filePaths, successUp, failUp, i, length);
        }
      }


      
    })
  },


  //上传视频
  chooseVideo() {
    let that=this;
    wx.chooseVideo({
      sourceType: ['album', 'camera'],
      maxDuration: 60,
      camera: 'back',
      success(res) {
        console.log(res.tempFilePath);
        that.setData({
          videoimg: res.tempFilePath,
        })

        // app.upload('video', res.tempFilePath).then((res) => {
        //   let videos = that.data.videos;
        //   videos.push(res.url);
        //   that.setData({
        //     videos: videos
        //   })
        // }).catch((err) => {
        //   console.log(err)
        // })

        let file = res.tempFilePath
        that.upload(file)
      }
    })
  },


  upload(file) {
   
    let url = 'https://ibaby88.cn/portal/common/upload';
      // let head = {
      //   'XX-Token': wx.getStorageSync('token'),
      //   'XX-Device-Type': ''
      // }
      // let typename = {
      //   filetype: filetype
      // }
      wx.uploadFile({
        url: url, //仅为示例,非真实的接口地址
        filePath: file,
        name: 'file',
        header: {},
        formData: {
          filetype: 'video'
        },
        success: function (res) {
          console.log('上传文件后', res)

          console.log(res)
          // let temdata = JSON.parse(res.data);
          // let urlobj = {
          //   url: temdata.data.preview_url
          // }
          // resolve(urlobj);
          // wx.hideNavigationBarLoading();
          // wx.hideLoading();
        },
        fail: function (res) {
          reject('网络出错');
          wx.hideNavigationBarLoading()
          wx.hideLoading()
        },
        complete: () => {
          wx.hideNavigationBarLoading()
          wx.hideLoading()
        },
      })
   
  },

// 省市区选择
  bindRegionChange(e) {
    //console.log('picker发送选择改变,携带值为', e.detail.value)
    this.setData({
      region: e.detail.value,
      province: e.detail.value[0],
      city: e.detail.value[1],
      area: e.detail.value[2],
    })
  },

  //点击切换
  clickTab: function (e) {
    var that = this;
    var index = e.target.dataset.current;
    if (this.data.parcel === e.target.dataset.current) {
      return false;
    } else {
      that.setData({
        parcel: e.target.dataset.current
      })
    }

    if(index == 0){
      this.setData({
        allChar: '仅支持自取'
      })
    }else if(index == 1){
      this.setData({
        allChar: '仅支持快递'
      })
    }else if(index == 2){
      this.setData({
        allChar: '支持快递或自取'
      })
    }
  },
  bindMultiPicker: function (e) {
    var data = {
      multiArray: this.data.multiArray,
      multiIndex: this.data.multiIndex
    };
    
    data.multiIndex[e.detail.column] = e.detail.value;
    console.log(data.multiIndex[e.detail.column])
    switch (e.detail.column) {
      case 0:
        switch (data.multiIndex[0]) {
          case 0:
            data.multiArray[1] = ['东华门街道', '景山街道', '交道口街道', '安定门街道', '北新桥街道', '东四街道', '朝阳门街道', '建国门街道', '东直门街道', '和平里街道', '前门街道', '崇文门外街道', '东花市街道', '龙潭街道', '体育馆路街道', '天坛街道', '永定门外街道'];
            break;
          case 1:
            data.multiArray[1] = ['西长安街街道', '新街口街道', '月坛街道', '展览路街道', '德胜街道', '金融街街道', '什刹海街道', '大栅栏街道', '天桥街道', '椿树街道', '陶然亭街道', '广安门内街道', '牛街街道', '白纸坊街道','广安门外街道'];
            break;
          case 2:
            data.multiArray[1] = ['建外街道', '朝外街道', '呼家楼街道', '三里屯街道', '左家庄街道', '香河园街道', '和平街街道', '安贞街道', '亚运村街道', '小关街道', '酒仙桥街道', '麦子店街道', '团结湖街道', '六里屯街道', '八里庄街道', '双井街道', '劲松街道', '潘家园街道', '垡头街道', '南磨房地区', '高碑店地区', '将台地区', '太阳宫地区', '大屯街道', '望京街道', '小红门地区', '十八里店地区', '平房地区', '东风地区', '奥运村街道', '来广营地区', '常营地区', '三间房地区', '管庄地区', '金盏地区', '孙河地区', '崔各庄地区', '东坝地区', '黑庄户地区', '豆各庄地区', '王四营地区', '东湖街道','首都机场街道'];
            break;
          case 3:
            data.multiArray[1] = ['右安门街道', '太平桥街道', '西罗园街道', '大红门街道', '南苑街道', '东高地街道', '东铁匠营街道', '卢沟桥街道', '丰台街道', '新村街道', '长辛店街道', '云岗街道', '方庄地区', '宛平城地区', '马家堡街道', '和义街道', '卢沟桥地区', '花乡地区', '南苑地区', '长辛店镇','王佐镇'];
            break;
          case 4:
            data.multiArray[1] = ['八宝山街道', '老山街道', '八角街道', '古城街道', '苹果园街道', '金顶街街道', '广宁街道', '五里坨街道','鲁谷街道'];
            break;
          case 5:
            data.multiArray[1] = ['万寿路街道', '永定路街道', '羊坊店街道', '甘家口街道', '八里庄街道', '紫竹院街道', '北下关街道', '北太平庄街道', '学院路街道', '中关村街道', '海淀街道', '青龙桥街道', '清华园街道', '燕园街道', '香山街道', '清河街道', '花园路街道', '西三旗街道', '马连洼街道', '田村路街道', '上地街道', '万柳地区', '东升地区', '曙光街道', '温泉地区', '四季青地区', '西北旺地区', '苏家坨地区','上庄地区'];
            break;
          case 6:
            data.multiArray[1] = ['大峪街道', '城子街道', '东辛房街道', '大台街道', '王平地区', '永定地区', '龙泉地区', '潭柘寺镇', '军庄镇', '雁翅镇', '斋堂镇', '清水镇','妙峰山镇'];
            break;
          case 7:
            data.multiArray[1] = ['城关街道', '新镇街道', '向阳街道', '东风街道', '迎风街道', '星城街道', '良乡地区', '周口店地区', '琉璃河地区', '拱辰街道', '西潞街道', '阎村镇', '窦店镇', '石楼镇', '长阳镇', '河北镇', '长沟镇', '大石窝镇', '张坊镇', '十渡镇', '青龙湖镇', '韩村河镇', '霞云岭乡', '南窖乡', '佛子庄乡', '大安山乡', '史家营乡','蒲洼乡'];
            break;
          case 8:
            data.multiArray[1] = ['中仓街道', '新华街道', '北苑街道', '玉桥街道', '永顺地区', '梨园地区', '宋庄镇', '张家湾镇', '漷县镇', '马驹桥镇', '西集镇', '台湖镇', '永乐店镇', '潞城镇','于家务回族乡'];
            break;
          case 9:
            data.multiArray[1] = ['胜利街道', '光明街道', '仁和地区', '后沙峪地区', '天竺地区', '杨镇地区', '牛栏山地区', '南法信地区', '马坡地区', '石园街道', '空港街道', '双丰街道', '旺泉街道', '高丽营镇', '李桥镇', '李遂镇', '南彩镇', '北务镇', '大孙各庄镇', '张镇', '龙湾屯镇', '木林镇', '北小营镇', '北石槽镇','赵全营镇'];
            break;
          case 10:
            data.multiArray[1] = ['城北街道', '南口地区', '马池口地区', '沙河地区', '城南街道', '东小口地区', '天通苑北街道', '天通苑南街道', '霍营街道', '回龙观街道', '龙泽园街道', '史各庄街道', '阳坊镇', '小汤山镇', '南邵镇', '崔村镇', '百善镇', '北七家镇', '兴寿镇', '流村镇', '十三陵镇','延寿镇'];
            break;
          case 11:
            data.multiArray[1] = ['兴丰街道', '林校路街道', '清源街道', '亦庄地区', '黄村地区', '旧宫地区', '西红门地区', '瀛海地区', '观音寺街道', '天宫院街道', '高米店街道', '荣华街道', '博兴街道', '青云店镇', '采育镇', '安定镇', '礼贤镇', '榆垡镇', '庞各庄镇', '北臧村镇', '魏善庄镇', '长子营镇', '北京经济技术开发区', '中关村国家自主创新示范区大兴生物医药产业基地','国家新媒体产业基地'];
            break;
          case 12:
            data.multiArray[1] = ['泉河街道', '龙山街道', '怀柔地区', '雁栖地区', '庙城地区', '北房镇', '杨宋镇', '桥梓镇', '怀北镇', '汤河口镇', '渤海镇', '九渡河镇', '琉璃庙镇', '宝山镇', '长哨营满族乡', '喇叭沟门满族乡','北京雁栖经济开发区'];
            break;
          case 13:
            data.multiArray[1] = ['滨河街道', '兴谷街道', '渔阳地区', '峪口地区', '马坊地区', '金海湖地区', '东高村镇', '山东庄镇', '南独乐河镇', '大华山镇', '夏各庄镇', '马昌营镇', '王辛庄镇', '大兴庄镇', '刘家店镇', '镇罗营镇', '黄松峪乡','熊儿寨乡'];
            break;
          case 14:
            data.multiArray[1] = ['鼓楼街道', '果园街道', '檀营地区', '密云镇', '溪翁庄镇', '西田各庄镇', '十里堡镇', '河南寨镇', '巨各庄镇', '穆家峪镇', '太师屯镇', '高岭镇', '不老屯镇', '冯家峪镇', '古北口镇', '大城子镇', '东邵渠镇', '北庄镇', '新城子镇', '石城镇','北京密云经济开发区'];
            break;
          case 15:
            data.multiArray[1] = ['百泉街道', '香水园街道', '儒林街道', '延庆镇', '康庄镇', '八达岭镇', '永宁镇', '旧县镇', '张山营镇', '四海镇', '千家店镇', '沈家营镇', '大榆树镇', '井庄镇', '大庄科乡', '刘斌堡乡', '香营乡','珍珠泉乡'];
            break;
        }
        data.multiIndex[1] = 0;
        break;
    }
    this.setData(data);
    console.log(this.data.multiIndex, data.multiArray[0][data.multiIndex[e.detail.column]], data.multiArray[1][data.multiIndex[1]]);
    this.setData({
      area: data.multiArray[0][data.multiIndex[e.detail.column]],
      village: data.multiArray[1][data.multiIndex[1]]
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
  
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
  
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
  
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
  
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
  
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
  
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
  
  }
})