<template>
  <div class="com-product-attr">
        <el-tree :data="dataList" :props="defaultProps" @node-click="handleNodeClick" />
  </div>
</template>

<script>
  import{searchProduct} from'@/api/product';

  export default{
    name:"searchParams",
    emits:['onInsertProductAttr'],
    props:{
       docAttr:{
         type:Object,
         default:()=>{
           return {
             linkProduct:[],
           }
         },
       }
    },
    watch:{
      docAttr:{
        handler(val){
          if(val==undefined && val==null)return;
          this.queryForm.ids=JSON.stringify(val.linkProduct);
          this.search();
        },
        immediate: true,
        deep: true
      }
    },
    data(){
      return{
        defaultProps:{
          children: 'children',
          label: 'label',
        },
        dataList:[],
        queryForm:{
          page:1,
          pageSize:999,
          status:5,
          ids:'',
        }
      }
    },
    mounted(){
      // this.onBtnSearch();
    },
    methods:{

      onClose(e){
         let _this=this;
         _this.dialogVisible=false;
         _this.onBtnSearch();
      },

      handleNodeClick(e){

        if(e && e.children==undefined){
          this.$emit("onInsertProductAttr",e);
        }
      },

     //搜索
     search(){
       let _this=this;
       searchProduct(_this.queryForm).then(res=>{
         if(!res)return;
         _this.dataList=res.data.dataList.map((item)=>{
           var tempJs=JSON.parse(item.attrs);
           var subItem=tempJs.map((tempItem)=>{
             return{
               'label':tempItem.name,
              ...tempItem,
              'parent':{
                'id':item.id,
                'name':item.name,
              }
             }
           })
           return{
             'label':item.name,
             'children':subItem,
           }
         });
       })
     },
     //修改分页
     ChangePage(e){
     	let _this=this;
     	_this.queryForm.page=e;
     	_this.search();
     },
    }
  }
</script>

<style lang="scss">
@import './index.scss';
</style>
