| <template> | 
|   <GlobalWindow :title="title" :visible.sync="visible" :confirm-working="isWorking" width="600px" @close="close" @confirm="confirm"> | 
|     <el-form :model="form" ref="form" :rules="rules"> | 
|       <el-form-item label="所属分类" prop="parentId"> | 
|         <el-select :disabled="form.id" clearable 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="name"> | 
|         <el-input v-model="form.name" placeholder="请输入分类名称" v-trim /> | 
|       </el-form-item> | 
|       <!-- <el-form-item label="状态" prop="status"> | 
|         <el-select v-model="form.status" placeholder="请选择"> | 
|           <el-option label="启用" value="0"></el-option> | 
|           <el-option label="禁用" value="1"></el-option> | 
|         </el-select> | 
|       </el-form-item> --> | 
|       <el-form-item label="备注" prop="remark"> | 
|         <el-input type="textarea" v-model="form.remark" placeholder="请输入备注" v-trim /> | 
|       </el-form-item> | 
|     </el-form> | 
|   </GlobalWindow> | 
| </template> | 
|   | 
| <script> | 
| import BaseOpera from '@/components/base/BaseOpera' | 
| import GlobalWindow from '@/components/common/GlobalWindow' | 
| import { create, fetchCateList, getInfoById } from '@/api/business/category.js' | 
| export default { | 
|   name: 'OperaCategoryWindow', | 
|   extends: BaseOpera, | 
|   components: { GlobalWindow }, | 
|   data() { | 
|     return { | 
|       // 表单数据 | 
|       form: { | 
|         parentId: null, | 
|         name: '', | 
|         remark: '', | 
|         status: '', | 
|         type: 1 | 
|       }, | 
|       // 验证规则 | 
|       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({}).then(res => { | 
|         this.dataList = res || [] | 
|          | 
|       }) | 
|     }, | 
|     close() { | 
|       this.visible = false | 
|       this.$emit('close') | 
|     }, | 
|     getDetail(id) { | 
|       getInfoById(id).then(res => { | 
|         this.form = res | 
|       }) | 
|     }, | 
|   } | 
| } | 
| </script> |