<template> 
 | 
    <GlobalWindow :title="title" :visible.sync="visible" :confirm-working="isWorking" @confirm="confirm"> 
 | 
      <el-form :model="form" ref="form" :rules="rules"> 
 | 
        <el-form-item label="商品类别" prop="categoryId"> 
 | 
            <el-select v-model="form.categoryId" placeholder="请选择"> 
 | 
                <el-option 
 | 
                    v-for="item in categoryList" 
 | 
                    :key="item.id" 
 | 
                    :label="item.name" 
 | 
                    :value="item.id"> 
 | 
                </el-option> 
 | 
            </el-select> 
 | 
        </el-form-item> 
 | 
        <el-form-item label="商品范围" prop="type"> 
 | 
            <el-radio-group v-model="form.type"> 
 | 
                <el-radio :label="0">全部</el-radio> 
 | 
                <el-radio :label="1">部分</el-radio> 
 | 
            </el-radio-group> 
 | 
        </el-form-item> 
 | 
        <el-form-item label="加价系数" prop="rate"> 
 | 
          <el-input v-model="form.rate" placeholder="平台采购价*加价系数,作为参考出手价,建议输入大于1的数字" v-trim /> 
 | 
        </el-form-item> 
 | 
      </el-form> 
 | 
      <!-- 选择平台商品 --> 
 | 
      <selectProductItem ref="selectProductItem" @result="result" /> 
 | 
    </GlobalWindow> 
 | 
  </template> 
 | 
     
 | 
  <script> 
 | 
  import BaseOpera from '@/components/base/BaseOpera' 
 | 
  import GlobalWindow from '@/components/common/GlobalWindow' 
 | 
  import selectProductItem from '@/components/business/selectProductItem' 
 | 
  import { baseCategoryList } from '@/api/business/category.js' 
 | 
  import { createPlat } from '@/api/business/goods' 
 | 
  
 | 
  export default { 
 | 
    name: 'OperaBrandWindow', 
 | 
    extends: BaseOpera, 
 | 
    components: { GlobalWindow, selectProductItem }, 
 | 
    data() { 
 | 
      return { 
 | 
        categoryList: [], 
 | 
        // 表单数据 
 | 
        form: { 
 | 
          categoryId: '', 
 | 
          type: 0, 
 | 
          rate: '' 
 | 
        }, 
 | 
        // 验证规则 
 | 
        rules: { 
 | 
            categoryId: [ 
 | 
            { required: true, message: '商品类别不能为空', trigger: 'blur' } 
 | 
          ], 
 | 
          type: [ 
 | 
            { required: true, message: '商品范围不能为空', trigger: 'blur' } 
 | 
          ], 
 | 
          rate: [ 
 | 
            { required: true, message: '加价系数不能为空', trigger: 'blur' } 
 | 
          ] 
 | 
        } 
 | 
      } 
 | 
    }, 
 | 
    created() { 
 | 
      this.config({ 
 | 
        api: '/business/goods', 
 | 
        'field.id': 'id' 
 | 
      }) 
 | 
    }, 
 | 
    methods: { 
 | 
        result() { 
 | 
          // this.$emit('success') 
 | 
          this.$emit('result') 
 | 
          this.visible = false 
 | 
        }, 
 | 
        confirm() { 
 | 
            this.$refs.form.validate((valid) => { 
 | 
                if (!valid) return 
 | 
                // 新建 
 | 
                if (this.form.type == 0) { 
 | 
                    this.isWorking = true 
 | 
                    createPlat({ 
 | 
                        categoryId: this.form.categoryId, 
 | 
                        rate: this.form.rate, 
 | 
                        type: this.form.type 
 | 
                    }).then(res => { 
 | 
                        this.visible = false 
 | 
                        this.$tip.apiSuccess('操作成功') 
 | 
                        // this.$emit('success') 
 | 
                        this.$emit('result') 
 | 
                    }) 
 | 
                    .catch(e => { 
 | 
                        this.$tip.apiFailed(e) 
 | 
                    }) 
 | 
                    .finally(() => { 
 | 
                        this.isWorking = false 
 | 
                    }) 
 | 
                } else { 
 | 
                    this.$refs.selectProductItem.open('选择平台商品', this.form) 
 | 
                } 
 | 
            }) 
 | 
        }, 
 | 
        /** 
 | 
         * 打开窗口 
 | 
         * @title 窗口标题 
 | 
         * @target 编辑的对象 
 | 
         */ 
 | 
        open (title, target) { 
 | 
            this.title = title 
 | 
            this.visible = true 
 | 
            // 获取分类列表 
 | 
            baseCategoryList({ type: 1 }) 
 | 
              .then(res => { 
 | 
                this.categoryList = res 
 | 
              }) 
 | 
        } 
 | 
    } 
 | 
  } 
 | 
  </script> 
 | 
     
 |