1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
  | <template> 
 |    <GlobalWindow 
 |      :title="title" 
 |      :visible.sync="visible" 
 |      :confirm-working="isWorking" 
 |      width="600px" 
 |      @confirm="confirm"> 
 |      <el-form :model="form" ref="form" :rules="rules"> 
 |        <el-form-item label="分类名称" prop="name"> 
 |          <el-input v-model="form.name" maxlength="30" placeholder="请输入分类名称" v-trim /> 
 |        </el-form-item> 
 |        <el-form-item label="所属分类" prop="parentId"> 
 |          <el-select :disabled="form.id" v-model="form.parentId" placeholder="不填为则一级分类"> 
 |            <el-option v-for="op in dataList" :key="op.id" :label="op.name" :value="op.id"></el-option> 
 |          </el-select> 
 |        </el-form-item> 
 |        <el-form-item label="排序码(升序)" prop="sortnum"> 
 |          <el-input v-model="form.sortnum" oninput="value=value.replace(/^(0+)|[^\d]+/g, '').slice(0, 6)" v-trim /> 
 |        </el-form-item> 
 |      </el-form> 
 |    </GlobalWindow> 
 |  </template> 
 |    
 |  <script> 
 |  import BaseOpera from '@/components/base/BaseOpera' 
 |  import GlobalWindow from '@/components/common/GlobalWindow' 
 |  import { fetchCateList, getInfoById } from '@/api/business/category.js' 
 |  export default { 
 |    name: 'OperaCategoryWindow', 
 |    extends: BaseOpera, 
 |    components: { GlobalWindow }, 
 |    data() { 
 |      return { 
 |        // 表单数据 
 |        form: { 
 |          parentId: null, 
 |          name: '', 
 |          remark: '', 
 |          status: '', 
 |          sortnum: '', 
 |          type: 7 
 |        }, 
 |        // 验证规则 
 |        rules: { 
 |          name: [ 
 |            { required: true, message: '请输入二级分类名称', trigger: 'blur' } 
 |          ], 
 |          status: [ 
 |            { required: true, message: '请选择是否启用', trigger: 'change' } 
 |          ] 
 |        }, 
 |        dataList: [] 
 |      } 
 |    }, 
 |    created() { 
 |      this.config({ 
 |        api: '/business/category', 
 |        'field.id': 'id' 
 |      }) 
 |    }, 
 |    methods: { 
 |      getList() { 
 |        fetchCateList({ type: 7 }).then(res => { 
 |          this.dataList = res || [] 
 |        }) 
 |      }, 
 |      getDetail(id) { 
 |        getInfoById(id).then(res => { 
 |          this.form = res 
 |        }) 
 |      }, 
 |    } 
 |  } 
 |  </script> 
 |  
  |