// pages/components/project-select/index.js
const app = getApp()
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    init: {
      type: Object
    },
    width: {
      type: String
    },
    left: {
      type: String
    }
  },
  /**数据监听 */
  observers: {
    init: function (val) {
      if (val) {
        this.setData({
          item: val,
        })
      }
    },
  },
  /**
   * 组件的初始数据
   */
  data: {
    show: false,
    index: 0,
    item: '',
    columns: [],
    defaultColumns: [],
    projectList: [],
    findProjectValue:"",
  },

  created() {
    this.setData({
      projectList: app.globalData.projectInfoList,
      findProjectValue:"",
    })
  },
  /**
   * 组件的方法列表
   */
  methods: {
    showPopup() {
      if (this.data.projectList.length > 1) {
        let data = this.data.projectList;
        let initData = this.data.init;
        let selectColumns = [];
        data.forEach((item, i) => {
          selectColumns.push({
            id: item.id,
            text: item.projectName
          });
          if (initData.id == item.id) {
            this.setData({
              index: i
            })
          }
        });
        this.setData({
          findProjectValue:"",
          columns: selectColumns,
          defaultColumns:selectColumns,
          show: true
        });
      }
    },

    //获取搜索的项目名称
    findProject: function (even) {
      if(even.detail.value){
        let list = [];
        this.data.columns.forEach(item=>{
          if(item.text.indexOf(even.detail.value)>-1){
            list.push(item);
          }
        });
        this.setData({
          columns: list
        })
      }else{
        this.setData({
          columns: this.data.defaultColumns
        })
      }
    },

    onClose() {
      this.setData({
        show: false
      });
    },
    
    onSelectChange(e) {
      this.setData({
        item: e.detail.value
      })
    },

    onConfirm() {
      this.setData({
        value: this.data.item.text
      })
      this.triggerEvent('change', this.data.item)
      this.setData({
        show: false
      });
    },

    /**
     * 重新加载项目列表
     */
    load:function(){
      this.setData({
        projectList: app.globalData.projectInfoList,
      })
    }
  }
})