|  | @@ -46,8 +46,7 @@
 | 
	
		
			
				|  |  |          <el-cascader
 | 
	
		
			
				|  |  |            clearable
 | 
	
		
			
				|  |  |            v-model="filterProductAttr.value"
 | 
	
		
			
				|  |  | -          :options="filterAttrs"
 | 
	
		
			
				|  |  | -          @active-item-change="handleItemChange">
 | 
	
		
			
				|  |  | +          :options="filterAttrs">
 | 
	
		
			
				|  |  |          </el-cascader>
 | 
	
		
			
				|  |  |          <el-button style="margin-left: 20px" @click.prevent="removeFilterAttr(filterProductAttr)">删除</el-button>
 | 
	
		
			
				|  |  |        </el-form-item>
 | 
	
	
		
			
				|  | @@ -70,8 +69,8 @@
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  <script>
 | 
	
		
			
				|  |  |    import {fetchList, createProductCate, updateProductCate, getProductCate} from '@/api/productCate';
 | 
	
		
			
				|  |  | -  import {fetchList as fetchProductAttrCateList} from '@/api/productAttrCate';
 | 
	
		
			
				|  |  | -  import {fetchList as fetchProductAttrList,getProductAttrInfo} from '@/api/productAttr';
 | 
	
		
			
				|  |  | +  import {fetchListWithAttr} from '@/api/productAttrCate';
 | 
	
		
			
				|  |  | +  import {getProductAttrInfo} from '@/api/productAttr';
 | 
	
		
			
				|  |  |    import SingleUpload from '@/components/Upload/singleUpload';
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    const defaultProductCate = {
 | 
	
	
		
			
				|  | @@ -116,6 +115,17 @@
 | 
	
		
			
				|  |  |          getProductCate(this.$route.query.id).then(response => {
 | 
	
		
			
				|  |  |            this.productCate = response.data;
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  | +        getProductAttrInfo(this.$route.query.id).then(response => {
 | 
	
		
			
				|  |  | +          if (response.data != null && response.data.length > 0) {
 | 
	
		
			
				|  |  | +            this.filterProductAttrList = [];
 | 
	
		
			
				|  |  | +            for (let i = 0; i < response.data.length; i++) {
 | 
	
		
			
				|  |  | +              this.filterProductAttrList.push({
 | 
	
		
			
				|  |  | +                key: Date.now() + i,
 | 
	
		
			
				|  |  | +                value: [response.data[i].attributeCategoryId, response.data[i].attributeId]
 | 
	
		
			
				|  |  | +              })
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  |        } else {
 | 
	
		
			
				|  |  |          this.productCate = Object.assign({}, defaultProductCate);
 | 
	
		
			
				|  |  |        }
 | 
	
	
		
			
				|  | @@ -130,11 +140,20 @@
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  |        getProductAttrCateList() {
 | 
	
		
			
				|  |  | -        fetchProductAttrCateList({pageSize: 100, pageNum: 1}).then(response => {
 | 
	
		
			
				|  |  | -          let productAttrCateList = response.data.list;
 | 
	
		
			
				|  |  | -          for (let i = 0; i < productAttrCateList.length; i++) {
 | 
	
		
			
				|  |  | -            let productAttrCate = productAttrCateList[i];
 | 
	
		
			
				|  |  | -            this.filterAttrs.push({label: productAttrCate.name, value: productAttrCate.id, children: []});
 | 
	
		
			
				|  |  | +        fetchListWithAttr().then(response => {
 | 
	
		
			
				|  |  | +          let list = response.data;
 | 
	
		
			
				|  |  | +          for (let i = 0; i < list.length; i++) {
 | 
	
		
			
				|  |  | +            let productAttrCate = list[i];
 | 
	
		
			
				|  |  | +            let children = [];
 | 
	
		
			
				|  |  | +            if (productAttrCate.productAttributeList != null && productAttrCate.productAttributeList.length > 0) {
 | 
	
		
			
				|  |  | +              for (let j = 0; j < productAttrCate.productAttributeList.length; j++) {
 | 
	
		
			
				|  |  | +                children.push({
 | 
	
		
			
				|  |  | +                  label: productAttrCate.productAttributeList[j].name,
 | 
	
		
			
				|  |  | +                  value: productAttrCate.productAttributeList[j].id
 | 
	
		
			
				|  |  | +                })
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            this.filterAttrs.push({label: productAttrCate.name, value: productAttrCate.id, children: children});
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |        },
 | 
	
	
		
			
				|  | @@ -158,6 +177,7 @@
 | 
	
		
			
				|  |  |                type: 'warning'
 | 
	
		
			
				|  |  |              }).then(() => {
 | 
	
		
			
				|  |  |                if (this.isEdit) {
 | 
	
		
			
				|  |  | +                this.productCate.productAttributeIdList = this.getProductAttributeIdList();
 | 
	
		
			
				|  |  |                  updateProductCate(this.$route.query.id, this.productCate).then(response => {
 | 
	
		
			
				|  |  |                    this.$message({
 | 
	
		
			
				|  |  |                      message: '修改成功',
 | 
	
	
		
			
				|  | @@ -194,25 +214,10 @@
 | 
	
		
			
				|  |  |          this.$refs[formName].resetFields();
 | 
	
		
			
				|  |  |          this.productCate = Object.assign({}, defaultProductCate);
 | 
	
		
			
				|  |  |          this.getSelectProductCateList();
 | 
	
		
			
				|  |  | -        this.filterProductAttrList= [{
 | 
	
		
			
				|  |  | +        this.filterProductAttrList = [{
 | 
	
		
			
				|  |  |            value: []
 | 
	
		
			
				|  |  |          }];
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  | -      handleItemChange(val) {
 | 
	
		
			
				|  |  | -        let cateId = Number(val);
 | 
	
		
			
				|  |  | -        fetchProductAttrList(cateId, {pageSize: 100, pageNum: 1, type: 1}).then(response => {
 | 
	
		
			
				|  |  | -          let data = response.data.list;
 | 
	
		
			
				|  |  | -          let children = [];
 | 
	
		
			
				|  |  | -          for (let i = 0; i < data.length; i++) {
 | 
	
		
			
				|  |  | -            children.push({label: data[i].name, value: data[i].id});
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          for (let i = 0; i < this.filterAttrs.length; i++) {
 | 
	
		
			
				|  |  | -            if (cateId === this.filterAttrs[i].value) {
 | 
	
		
			
				|  |  | -              this.filterAttrs[i].children = children;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -        });
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  |        removeFilterAttr(productAttributeId) {
 | 
	
		
			
				|  |  |          if (this.filterProductAttrList.length === 1) {
 | 
	
		
			
				|  |  |            this.$message({
 |