|  | @@ -1,11 +1,19 @@
 | 
	
		
			
				|  |  |  <template>
 | 
	
		
			
				|  |  |    <div style="margin-top: 50px">
 | 
	
		
			
				|  |  | -    <el-form :model="value" :rules="rules" ref="productInfoForm" label-width="120px" style="width: 600px" size="small">
 | 
	
		
			
				|  |  | +    <el-form
 | 
	
		
			
				|  |  | +      :model="value"
 | 
	
		
			
				|  |  | +      :rules="rules"
 | 
	
		
			
				|  |  | +      ref="productInfoForm"
 | 
	
		
			
				|  |  | +      label-width="120px"
 | 
	
		
			
				|  |  | +      style="width: 600px"
 | 
	
		
			
				|  |  | +      size="small"
 | 
	
		
			
				|  |  | +    >
 | 
	
		
			
				|  |  |        <el-form-item label="商品分类:" prop="productCategoryId">
 | 
	
		
			
				|  |  |          <el-cascader
 | 
	
		
			
				|  |  | -        :disabled="!isEdit"
 | 
	
		
			
				|  |  | +          :disabled="!isEdit"
 | 
	
		
			
				|  |  |            v-model="selectProductCateValue"
 | 
	
		
			
				|  |  | -          :options="productCateOptions">
 | 
	
		
			
				|  |  | +          :options="productCateOptions"
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  |          </el-cascader>
 | 
	
		
			
				|  |  |        </el-form-item>
 | 
	
		
			
				|  |  |        <el-form-item label="商品名称:" prop="name">
 | 
	
	
		
			
				|  | @@ -19,12 +27,14 @@
 | 
	
		
			
				|  |  |            v-model="value.brandId"
 | 
	
		
			
				|  |  |            @change="handleBrandChange"
 | 
	
		
			
				|  |  |            :disabled="!isEdit"
 | 
	
		
			
				|  |  | -          placeholder="请选择品牌">
 | 
	
		
			
				|  |  | +          placeholder="请选择品牌"
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  |            <el-option
 | 
	
		
			
				|  |  |              v-for="item in brandOptions"
 | 
	
		
			
				|  |  |              :key="item.value"
 | 
	
		
			
				|  |  |              :label="item.label"
 | 
	
		
			
				|  |  | -            :value="item.value">
 | 
	
		
			
				|  |  | +            :value="item.value"
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  |            </el-option>
 | 
	
		
			
				|  |  |          </el-select>
 | 
	
		
			
				|  |  |        </el-form-item>
 | 
	
	
		
			
				|  | @@ -34,173 +44,257 @@
 | 
	
		
			
				|  |  |            v-model="value.description"
 | 
	
		
			
				|  |  |            :disabled="!isEdit"
 | 
	
		
			
				|  |  |            type="textarea"
 | 
	
		
			
				|  |  | -          placeholder="请输入内容"></el-input>
 | 
	
		
			
				|  |  | +          placeholder="请输入内容"
 | 
	
		
			
				|  |  | +        ></el-input>
 | 
	
		
			
				|  |  |        </el-form-item>
 | 
	
		
			
				|  |  |        <el-form-item label="商品货号:">
 | 
	
		
			
				|  |  |          <el-input v-model="value.productSn" :disabled="!isEdit"></el-input>
 | 
	
		
			
				|  |  |        </el-form-item>
 | 
	
		
			
				|  |  |        <el-form-item label="商品售价:">
 | 
	
		
			
				|  |  | -        <el-input v-model="value.price" :disabled="!isEdit"></el-input>
 | 
	
		
			
				|  |  | +        <el-input-number
 | 
	
		
			
				|  |  | +          v-model="value.price"
 | 
	
		
			
				|  |  | +          :disabled="!isEdit"
 | 
	
		
			
				|  |  | +          autocomplete="off"
 | 
	
		
			
				|  |  | +          controls-position="right"
 | 
	
		
			
				|  |  | +          class="number-input"
 | 
	
		
			
				|  |  | +          type="number"
 | 
	
		
			
				|  |  | +        ></el-input-number>
 | 
	
		
			
				|  |  |        </el-form-item>
 | 
	
		
			
				|  |  |        <el-form-item label="市场价:">
 | 
	
		
			
				|  |  | -        <el-input v-model="value.originalPrice" :disabled="!isEdit"></el-input>
 | 
	
		
			
				|  |  | +        <el-input-number
 | 
	
		
			
				|  |  | +          v-model="value.originalPrice"
 | 
	
		
			
				|  |  | +          type="number"
 | 
	
		
			
				|  |  | +          autocomplete="off"
 | 
	
		
			
				|  |  | +          controls-position="right"
 | 
	
		
			
				|  |  | +          class="number-input"
 | 
	
		
			
				|  |  | +          :disabled="!isEdit"
 | 
	
		
			
				|  |  | +        ></el-input-number>
 | 
	
		
			
				|  |  |        </el-form-item>
 | 
	
		
			
				|  |  |        <el-form-item label="商品库存:">
 | 
	
		
			
				|  |  | -        <el-input v-model="value.stock" :disabled="!isEdit"></el-input>
 | 
	
		
			
				|  |  | +        <el-input-number
 | 
	
		
			
				|  |  | +          v-model="value.stock"
 | 
	
		
			
				|  |  | +          type="number"
 | 
	
		
			
				|  |  | +          autocomplete="off"
 | 
	
		
			
				|  |  | +          controls-position="right"
 | 
	
		
			
				|  |  | +          class="number-input"
 | 
	
		
			
				|  |  | +          :disabled="!isEdit"
 | 
	
		
			
				|  |  | +        ></el-input-number>
 | 
	
		
			
				|  |  |        </el-form-item>
 | 
	
		
			
				|  |  |        <el-form-item label="计量单位:">
 | 
	
		
			
				|  |  | -        <el-input v-model="value.unit" :disabled="!isEdit"></el-input>
 | 
	
		
			
				|  |  | +        <el-input-number
 | 
	
		
			
				|  |  | +          v-model="value.unit"
 | 
	
		
			
				|  |  | +          :disabled="!isEdit"
 | 
	
		
			
				|  |  | +        ></el-input-number>
 | 
	
		
			
				|  |  |        </el-form-item>
 | 
	
		
			
				|  |  |        <el-form-item label="商品重量:">
 | 
	
		
			
				|  |  | -        <el-input v-model="value.weight" style="width: 300px" :disabled="!isEdit"></el-input>
 | 
	
		
			
				|  |  | +        <el-input-number
 | 
	
		
			
				|  |  | +          v-model="value.weight"
 | 
	
		
			
				|  |  | +          type="number"
 | 
	
		
			
				|  |  | +          autocomplete="off"
 | 
	
		
			
				|  |  | +          controls-position="right"
 | 
	
		
			
				|  |  | +          class="number-input"
 | 
	
		
			
				|  |  | +          style="width: 300px"
 | 
	
		
			
				|  |  | +          :disabled="!isEdit"
 | 
	
		
			
				|  |  | +        ></el-input-number>
 | 
	
		
			
				|  |  |          <span style="margin-left: 20px">克</span>
 | 
	
		
			
				|  |  |        </el-form-item>
 | 
	
		
			
				|  |  |        <el-form-item label="排序">
 | 
	
		
			
				|  |  | -        <el-input v-model="value.sort" :disabled="!isEdit"></el-input>
 | 
	
		
			
				|  |  | +        <el-input-number
 | 
	
		
			
				|  |  | +          v-model="value.sort"
 | 
	
		
			
				|  |  | +          :disabled="!isEdit"
 | 
	
		
			
				|  |  | +        ></el-input-number>
 | 
	
		
			
				|  |  |        </el-form-item>
 | 
	
		
			
				|  |  |        <el-form-item style="text-align: center">
 | 
	
		
			
				|  |  | -        <el-button type="primary" size="medium" @click="handleNext('productInfoForm')">下一步,填写商品促销</el-button>
 | 
	
		
			
				|  |  | +        <el-button
 | 
	
		
			
				|  |  | +          type="primary"
 | 
	
		
			
				|  |  | +          size="medium"
 | 
	
		
			
				|  |  | +          @click="handleNext('productInfoForm')"
 | 
	
		
			
				|  |  | +          >下一步,填写商品促销</el-button
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  |        </el-form-item>
 | 
	
		
			
				|  |  |      </el-form>
 | 
	
		
			
				|  |  |    </div>
 | 
	
		
			
				|  |  |  </template>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  <script>
 | 
	
		
			
				|  |  | -  import {fetchListWithChildren} from '@/api/productCate'
 | 
	
		
			
				|  |  | -  import {fetchList as fetchBrandList} from '@/api/brand'
 | 
	
		
			
				|  |  | -  import {getProduct} from '@/api/product';
 | 
	
		
			
				|  |  | +import { fetchListWithChildren } from "@/api/productCate";
 | 
	
		
			
				|  |  | +import { fetchList as fetchBrandList } from "@/api/brand";
 | 
	
		
			
				|  |  | +import { getProduct } from "@/api/product";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  export default {
 | 
	
		
			
				|  |  | -    name: "ProductInfoDetail",
 | 
	
		
			
				|  |  | -    props: {
 | 
	
		
			
				|  |  | -      value: Object,
 | 
	
		
			
				|  |  | -      isEdit: {
 | 
	
		
			
				|  |  | -        type: Boolean,
 | 
	
		
			
				|  |  | -        default: false
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | +export default {
 | 
	
		
			
				|  |  | +  name: "ProductInfoDetail",
 | 
	
		
			
				|  |  | +  props: {
 | 
	
		
			
				|  |  | +    value: Object,
 | 
	
		
			
				|  |  | +    isEdit: {
 | 
	
		
			
				|  |  | +      type: Boolean,
 | 
	
		
			
				|  |  | +      default: false,
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    data() {
 | 
	
		
			
				|  |  | -      return {
 | 
	
		
			
				|  |  | -        hasEditCreated:false,
 | 
	
		
			
				|  |  | -        //选中商品分类的值
 | 
	
		
			
				|  |  | -        selectProductCateValue: [],
 | 
	
		
			
				|  |  | -        productCateOptions: [],
 | 
	
		
			
				|  |  | -        brandOptions: [],
 | 
	
		
			
				|  |  | -        rules: {
 | 
	
		
			
				|  |  | -          name: [
 | 
	
		
			
				|  |  | -            {required: true, message: '请输入商品名称', trigger: 'blur'},
 | 
	
		
			
				|  |  | -            {min: 2, max: 140, message: '长度在 2 到 140 个字符', trigger: 'blur'}
 | 
	
		
			
				|  |  | -          ],
 | 
	
		
			
				|  |  | -          subTitle: [{required: true, message: '请输入商品副标题', trigger: 'blur'}],
 | 
	
		
			
				|  |  | -          productCategoryId: [{required: true, message: '请选择商品分类', trigger: 'blur'}],
 | 
	
		
			
				|  |  | -          brandId: [{required: true, message: '请选择商品品牌', trigger: 'blur'}],
 | 
	
		
			
				|  |  | -          description: [{required: true, message: '请输入商品介绍', trigger: 'blur'}],
 | 
	
		
			
				|  |  | -          requiredProp: [{required: true, message: '该项为必填项', trigger: 'blur'}]
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -      };
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  data() {
 | 
	
		
			
				|  |  | +    return {
 | 
	
		
			
				|  |  | +      hasEditCreated: false,
 | 
	
		
			
				|  |  | +      //选中商品分类的值
 | 
	
		
			
				|  |  | +      selectProductCateValue: [],
 | 
	
		
			
				|  |  | +      productCateOptions: [],
 | 
	
		
			
				|  |  | +      brandOptions: [],
 | 
	
		
			
				|  |  | +      rules: {
 | 
	
		
			
				|  |  | +        name: [
 | 
	
		
			
				|  |  | +          { required: true, message: "请输入商品名称", trigger: "blur" },
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +            min: 2,
 | 
	
		
			
				|  |  | +            max: 140,
 | 
	
		
			
				|  |  | +            message: "长度在 2 到 140 个字符",
 | 
	
		
			
				|  |  | +            trigger: "blur",
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +        ],
 | 
	
		
			
				|  |  | +        subTitle: [
 | 
	
		
			
				|  |  | +          { required: true, message: "请输入商品副标题", trigger: "blur" },
 | 
	
		
			
				|  |  | +        ],
 | 
	
		
			
				|  |  | +        productCategoryId: [
 | 
	
		
			
				|  |  | +          { required: true, message: "请选择商品分类", trigger: "blur" },
 | 
	
		
			
				|  |  | +        ],
 | 
	
		
			
				|  |  | +        brandId: [
 | 
	
		
			
				|  |  | +          { required: true, message: "请选择商品品牌", trigger: "blur" },
 | 
	
		
			
				|  |  | +        ],
 | 
	
		
			
				|  |  | +        description: [
 | 
	
		
			
				|  |  | +          { required: true, message: "请输入商品介绍", trigger: "blur" },
 | 
	
		
			
				|  |  | +        ],
 | 
	
		
			
				|  |  | +        requiredProp: [
 | 
	
		
			
				|  |  | +          { required: true, message: "该项为必填项", trigger: "blur" },
 | 
	
		
			
				|  |  | +        ],
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  created() {
 | 
	
		
			
				|  |  | +    this.getProductCateList();
 | 
	
		
			
				|  |  | +    this.getBrandList();
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  computed: {
 | 
	
		
			
				|  |  | +    //商品的编号
 | 
	
		
			
				|  |  | +    productId() {
 | 
	
		
			
				|  |  | +      return this.value.id;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    created() {
 | 
	
		
			
				|  |  | -      this.getProductCateList();
 | 
	
		
			
				|  |  | -      this.getBrandList();
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  watch: {
 | 
	
		
			
				|  |  | +    productId: function (newValue) {
 | 
	
		
			
				|  |  | +      console.log("productId", newValue, this.isEdit);
 | 
	
		
			
				|  |  | +      // if(!this.isEdit)return;
 | 
	
		
			
				|  |  | +      if (this.hasEditCreated) return;
 | 
	
		
			
				|  |  | +      if (newValue === undefined || newValue == null || newValue === 0) return;
 | 
	
		
			
				|  |  | +      this.handleEditCreated();
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    computed:{
 | 
	
		
			
				|  |  | -      //商品的编号
 | 
	
		
			
				|  |  | -      productId(){
 | 
	
		
			
				|  |  | -        return this.value.id;
 | 
	
		
			
				|  |  | +    selectProductCateValue: function (newValue) {
 | 
	
		
			
				|  |  | +      console.log(newValue, "newValue");
 | 
	
		
			
				|  |  | +      if (newValue != null && newValue.length === 2) {
 | 
	
		
			
				|  |  | +        this.value.productCategoryId = newValue[1];
 | 
	
		
			
				|  |  | +        this.value.productCategoryName = this.getCateNameById(
 | 
	
		
			
				|  |  | +          this.value.productCategoryId
 | 
	
		
			
				|  |  | +        );
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        this.value.productCategoryId = null;
 | 
	
		
			
				|  |  | +        this.value.productCategoryName = null;
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    watch: {
 | 
	
		
			
				|  |  | -      productId:function(newValue){
 | 
	
		
			
				|  |  | -        console.log('productId',newValue,this.isEdit)
 | 
	
		
			
				|  |  | -        // if(!this.isEdit)return;
 | 
	
		
			
				|  |  | -        if(this.hasEditCreated)return;
 | 
	
		
			
				|  |  | -        if(newValue===undefined||newValue==null||newValue===0)return;
 | 
	
		
			
				|  |  | -        this.handleEditCreated();
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      selectProductCateValue: function (newValue) {
 | 
	
		
			
				|  |  | -        console.log(newValue,'newValue')
 | 
	
		
			
				|  |  | -        if (newValue != null && newValue.length === 2) {
 | 
	
		
			
				|  |  | -          this.value.productCategoryId = newValue[1];
 | 
	
		
			
				|  |  | -          this.value.productCategoryName= this.getCateNameById(this.value.productCategoryId);
 | 
	
		
			
				|  |  | -        } else {
 | 
	
		
			
				|  |  | -          this.value.productCategoryId = null;
 | 
	
		
			
				|  |  | -          this.value.productCategoryName=null;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  methods: {
 | 
	
		
			
				|  |  | +    //处理编辑逻辑
 | 
	
		
			
				|  |  | +    handleEditCreated() {
 | 
	
		
			
				|  |  | +      if (this.value.productCategoryId != null) {
 | 
	
		
			
				|  |  | +        this.selectProductCateValue.push(this.value.cateParentId);
 | 
	
		
			
				|  |  | +        this.selectProductCateValue.push(this.value.productCategoryId);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | +      this.hasEditCreated = true;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    methods: {
 | 
	
		
			
				|  |  | -      //处理编辑逻辑
 | 
	
		
			
				|  |  | -      handleEditCreated(){
 | 
	
		
			
				|  |  | -        if(this.value.productCategoryId!=null){
 | 
	
		
			
				|  |  | -          this.selectProductCateValue.push(this.value.cateParentId);
 | 
	
		
			
				|  |  | -          this.selectProductCateValue.push(this.value.productCategoryId);
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        this.hasEditCreated=true;
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      getProductCateList() {
 | 
	
		
			
				|  |  | -        console.log('获取商品分类')
 | 
	
		
			
				|  |  | -        fetchListWithChildren().then(response => {
 | 
	
		
			
				|  |  | -          let list = response.data;
 | 
	
		
			
				|  |  | -          this.productCateOptions = [];
 | 
	
		
			
				|  |  | -          for (let i = 0; i < list.length; i++) {
 | 
	
		
			
				|  |  | -            let children = [];
 | 
	
		
			
				|  |  | -            if (list[i].children != null && list[i].children.length > 0) {
 | 
	
		
			
				|  |  | -              for (let j = 0; j < list[i].children.length; j++) {
 | 
	
		
			
				|  |  | -                children.push({label: list[i].children[j].name, value: list[i].children[j].id});
 | 
	
		
			
				|  |  | -              }
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            this.productCateOptions.push({label: list[i].name, value: list[i].id, children: children});
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -        });
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      getBrandList() {
 | 
	
		
			
				|  |  | -        fetchBrandList({pageNum: 1, pageSize: 100}).then(response => {
 | 
	
		
			
				|  |  | -          this.brandOptions = [];
 | 
	
		
			
				|  |  | -          let brandList = response.data.list;
 | 
	
		
			
				|  |  | -          for (let i = 0; i < brandList.length; i++) {
 | 
	
		
			
				|  |  | -            this.brandOptions.push({label: brandList[i].name, value: brandList[i].id});
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -        });
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      getCateNameById(id){
 | 
	
		
			
				|  |  | -        let name=null;
 | 
	
		
			
				|  |  | -        for(let i=0;i<this.productCateOptions.length;i++){
 | 
	
		
			
				|  |  | -          for(let j=0;j<this.productCateOptions[i].children.length;j++){
 | 
	
		
			
				|  |  | -            if(this.productCateOptions[i].children[j].value===id){
 | 
	
		
			
				|  |  | -              name=this.productCateOptions[i].children[j].label;
 | 
	
		
			
				|  |  | -              return name;
 | 
	
		
			
				|  |  | +    getProductCateList() {
 | 
	
		
			
				|  |  | +      console.log("获取商品分类");
 | 
	
		
			
				|  |  | +      fetchListWithChildren().then((response) => {
 | 
	
		
			
				|  |  | +        let list = response.data;
 | 
	
		
			
				|  |  | +        this.productCateOptions = [];
 | 
	
		
			
				|  |  | +        for (let i = 0; i < list.length; i++) {
 | 
	
		
			
				|  |  | +          let children = [];
 | 
	
		
			
				|  |  | +          if (list[i].children != null && list[i].children.length > 0) {
 | 
	
		
			
				|  |  | +            for (let j = 0; j < list[i].children.length; j++) {
 | 
	
		
			
				|  |  | +              children.push({
 | 
	
		
			
				|  |  | +                label: list[i].children[j].name,
 | 
	
		
			
				|  |  | +                value: list[i].children[j].id,
 | 
	
		
			
				|  |  | +              });
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  | +          this.productCateOptions.push({
 | 
	
		
			
				|  |  | +            label: list[i].name,
 | 
	
		
			
				|  |  | +            value: list[i].id,
 | 
	
		
			
				|  |  | +            children: children,
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        return name;
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      handleNext(formName){
 | 
	
		
			
				|  |  | -        this.$refs[formName].validate((valid) => {
 | 
	
		
			
				|  |  | -          if (valid) {
 | 
	
		
			
				|  |  | -            this.$emit('nextStep');
 | 
	
		
			
				|  |  | -          } else {
 | 
	
		
			
				|  |  | -            this.$message({
 | 
	
		
			
				|  |  | -              message: '验证失败',
 | 
	
		
			
				|  |  | -              type: 'error',
 | 
	
		
			
				|  |  | -              duration:1000
 | 
	
		
			
				|  |  | -            });
 | 
	
		
			
				|  |  | -            return false;
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -        });
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      handleBrandChange(val) {
 | 
	
		
			
				|  |  | -        let brandName = '';
 | 
	
		
			
				|  |  | -        for (let i = 0; i < this.brandOptions.length; i++) {
 | 
	
		
			
				|  |  | -          if (this.brandOptions[i].value === val) {
 | 
	
		
			
				|  |  | -            brandName = this.brandOptions[i].label;
 | 
	
		
			
				|  |  | -            break;
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    getBrandList() {
 | 
	
		
			
				|  |  | +      fetchBrandList({ pageNum: 1, pageSize: 100 }).then((response) => {
 | 
	
		
			
				|  |  | +        this.brandOptions = [];
 | 
	
		
			
				|  |  | +        let brandList = response.data.list;
 | 
	
		
			
				|  |  | +        for (let i = 0; i < brandList.length; i++) {
 | 
	
		
			
				|  |  | +          this.brandOptions.push({
 | 
	
		
			
				|  |  | +            label: brandList[i].name,
 | 
	
		
			
				|  |  | +            value: brandList[i].id,
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    getCateNameById(id) {
 | 
	
		
			
				|  |  | +      let name = null;
 | 
	
		
			
				|  |  | +      for (let i = 0; i < this.productCateOptions.length; i++) {
 | 
	
		
			
				|  |  | +        for (let j = 0; j < this.productCateOptions[i].children.length; j++) {
 | 
	
		
			
				|  |  | +          if (this.productCateOptions[i].children[j].value === id) {
 | 
	
		
			
				|  |  | +            name = this.productCateOptions[i].children[j].label;
 | 
	
		
			
				|  |  | +            return name;
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        this.value.brandName = brandName;
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | +      return name;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    handleNext(formName) {
 | 
	
		
			
				|  |  | +      this.$refs[formName].validate((valid) => {
 | 
	
		
			
				|  |  | +        if (valid) {
 | 
	
		
			
				|  |  | +          this.$emit("nextStep");
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          this.$message({
 | 
	
		
			
				|  |  | +            message: "验证失败",
 | 
	
		
			
				|  |  | +            type: "error",
 | 
	
		
			
				|  |  | +            duration: 1000,
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  | +          return false;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    handleBrandChange(val) {
 | 
	
		
			
				|  |  | +      let brandName = "";
 | 
	
		
			
				|  |  | +      for (let i = 0; i < this.brandOptions.length; i++) {
 | 
	
		
			
				|  |  | +        if (this.brandOptions[i].value === val) {
 | 
	
		
			
				|  |  | +          brandName = this.brandOptions[i].label;
 | 
	
		
			
				|  |  | +          break;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      this.value.brandName = brandName;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  |  </script>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -<style scoped>
 | 
	
		
			
				|  |  | +<style lang="scss" scoped>
 | 
	
		
			
				|  |  | +input::-webkit-outer-spin-button,
 | 
	
		
			
				|  |  | +input::-webkit-inner-spin-button {
 | 
	
		
			
				|  |  | +  -webkit-appearance: none;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +input[type="number"] {
 | 
	
		
			
				|  |  | +  -moz-appearance: textfield;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +.number-input {
 | 
	
		
			
				|  |  | +  /deep/ .el-input__inner {
 | 
	
		
			
				|  |  | +    text-align: left;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  width: 100%;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  |  </style>
 |