aa
jiangping
2024-08-01 2670f05492dd7ff48629532ef33579df12aa318b
aa
已修改5个文件
102 ■■■■■ 文件已修改
wechat_jiaxuan/components/areaSel/areaSel.js 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/areaSel/areaSel.wxml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/design/design.js 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/design/design.wxml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/pages/index/index.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
wechat_jiaxuan/components/areaSel/areaSel.js
@@ -1,3 +1,4 @@
import { 
  getArea
} from '../../api/index'
@@ -15,6 +16,8 @@
          // observer监听value的变化,如果有值则调用setLabel方法设置选择器的label
          observer(selectedValues) {
              if (selectedValues && selectedValues.length) {
                  this.resetValus(selectedValues)
                  console.log("--------------------",this.data.value)
                  this.setLabel();
              }
          }
@@ -33,14 +36,15 @@
  // attached生命周期函数,在组件实例进入页面节点树时执行
  attached() {
    this.initData()
  },
  methods: {
    // wx.setStorageSync('addressList', tl)    
    initData(){
      let list = wx.getStorageSync('addressList')
    if(list && list.length){ 
      this.setData({addressList: list})
      this.resetValus(list)
      this.setLabel();
      if (!this.data.value.length) {
          this.initRange();
@@ -88,11 +92,56 @@
        }
        wx.setStorageSync('addressList', tl)
        this.setData({addressList: tl})
        this.resetValus()
        this.setLabel();
        if (!this.data.value.length) {
            this.initRange();
        }
        console.log(this.data.addressList)
      })
    }
    },
    resetValus(selectedValues){
      selectedValues = selectedValues || this.data.value
      let temVal = []
      let tlable =''
      if (selectedValues.length == 3) {
         var v1  = selectedValues[0]
         var v2  = selectedValues[1]
         var v3= selectedValues[2]
        var t1,t2,t3;
        this.data.addressList.forEach(item =>{
          if(v1 && v1.length ==6
            &&v2 && v2.length ==6
            &&v3  && v3.length ==6){
              if(item.value.indexOf(v1) == 0){
                    t1 = item.value
                    if(item.children){
                      item.children.forEach(item2 =>{
                        if(item2.value.indexOf(v2) == 0){
                            if(item2.children){
                              item2.children.forEach(item3 =>{
                                if(item3.value.indexOf(v3) == 0){
                                    tlable = item.label +"-"+item2.label+'-'+item3.label
                                    t1 = item.value
                                    t2 = item2.value
                                    t3 = item3.value
                                    temVal = [t1,t2,t3]
                                    // this.value = temVal
                                    // this.data.label=tlable
                                    this.triggerEvent("change", {
                                        value: temVal,
                                        label:tlable
                                    });
                                    this.setData({value:temVal,label:tlable})
                                    console.log("--------------------",this.data.value)
                                }
                              })
                            }
                        }
                      })
                    }
              }
            }
      })
    }
    },
@@ -145,8 +194,6 @@
          this.setData({
            label:label
          });
          console.log("label1", label)
          console.log("label",this.data.label)
      },
      // columnChange方法为选择器的columnchange事件处理函数,用于设置range和pickerValue
      columnChange(e) {
@@ -195,6 +242,7 @@
                  label: t3
              }] = this.getAddressByCode(l2, v3);
              const label = [t1, t2, t3].filter(v => v).join('-');
              const pickerValue = [s1, s2, s3];
              const range = this.openChildren(addressList, [s1, s2, s3]);
              if (label.length) {
@@ -204,8 +252,6 @@
                      pickerValue
                  });
              }
          } else {
          }
      },
      // initRange方法用于初始化range
wechat_jiaxuan/components/areaSel/areaSel.wxml
@@ -1,6 +1,6 @@
<picker mode="multiSelector" model:value="{{pickerValue}}" range-key="label" range="{{range}}" bindchange="onChange"
    bindcolumnchange="columnChange">
    <view>
    <view style="width:400rpx;padding-left: 30rpx;white-space: nowrap;text-overflow: ellipsis; overflow:hidden;">
        <!-- 如果已经选择了选项,则显示选项的label属性,否则显示placeholder属性。 -->
        <text wx:if="{{label}}"> {{ label }} </text>
        <text style="color: #999" wx:else> {{ placeholder }}</text>
wechat_jiaxuan/pages/design/design.js
@@ -14,10 +14,10 @@
  data: {
    name: '',
    phone: '', 
    showAreaList: false,
    areaList: [],
    addr: {},
    addrValues:[],
    fieldNames: {
      text: 'name',
      value: 'id',
@@ -44,8 +44,10 @@
          areaCode: res.result.ad_info.adcode + '00',
          areaName: res.result.ad_info.district,
        }
        this.setData({ addr })
        this.setData({ addr,addrValues:
          [res.result.ad_info.adcode.slice(0,2) + '0000',
          res.result.ad_info.adcode.slice(0,4) + '00',
          res.result.ad_info.adcode]  })
      }
    })
  }, 
@@ -151,36 +153,7 @@
    //   "level": "",
    //   "pid": ""
    // }).then(res => {
    //   var tl = []
    //   if(res && res.data && res.data.length){
    //       res.data.forEach(element => {
    //           let tc = []
    //           if(element.children &&element.children.length){
    //             element.children.forEach(c => {
    //               let ta = []
    //               if(c.children &&c.children.length){
    //                 c.children.forEach(a => {
    //                   ta.push({
    //                     name: a.name,
    //                     id: a.id
    //                   })
    //                 })
    //               }
    //               tc.push({
    //                 name: c.name,
    //                 id: c.id,
    //                 children:ta,
    //               })
    //             })
    //           }
    //           tl.push({
    //             name: element.name,
    //             id: element.id,
    //             children: tc,
    //           })
    //       });
    //   }
    //   this.setData({areaList: tl})
    //   this.setData({areaList: res.data})
    //   console.log(this.data.areaList)
    // })
    getDictData({
wechat_jiaxuan/pages/design/design.wxml
@@ -18,7 +18,7 @@
          {{ addr.provinceName }}{{ addr.cityName }}{{ addr.areaName }}
        </view>
      </picker> -->
      <areaSel  bindchange="regionChange" placeholder="请选择所在区域" value="{{['210000000','210500000','210501000']}}"  />
      <areaSel  bindchange="regionChange" placeholder="请选择所在区域" value="{{ addrValues }}"  />
      <image class="arrow_right" src="../../static/icon/arrow_right.png" mode="widthFix"></image>
    </view> 
    <view class="btn" bindtap="onSubmit">立即报名</view>
wechat_jiaxuan/pages/index/index.js
@@ -62,6 +62,7 @@
    })
  },
  onLoad(options) {
    console.log(options)
    this.initDictData()
    this.initData()
  },