| | |
| | | @confirm="confirm" |
| | | > |
| | | <el-form :model="form" ref="form" :rules="rules"> |
| | | <el-form-item label="创建人编码" prop="creator"> |
| | | <el-input v-model="form.creator" placeholder="请输入创建人编码" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="创建时间" prop="createDate"> |
| | | <el-date-picker v-model="form.createDate" value-format="yyyy-MM-dd" placeholder="请输入创建时间"></el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="更新人编码" prop="editor"> |
| | | <el-input v-model="form.editor" placeholder="请输入更新人编码" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="更新时间" prop="editDate"> |
| | | <el-date-picker v-model="form.editDate" value-format="yyyy-MM-dd" placeholder="请输入更新时间"></el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="是否删除0否 1是" prop="isdeleted"> |
| | | <el-input v-model="form.isdeleted" placeholder="请输入是否删除0否 1是" v-trim/> |
| | | </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="remark"> |
| | | <el-input v-model="form.remark" placeholder="请输入备注" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="状态 0启用 1禁用" prop="status"> |
| | | <el-input v-model="form.status" placeholder="请输入状态 0启用 1禁用" v-trim/> |
| | | <el-form-item label="选择父级" prop="parentId"> |
| | | <!-- <el-cascader v-model="form.categoryList" :options="categorys" @change="handleChangeCategory" :show-all-levels="false" |
| | | clearable filterable :props="categoryprops" > |
| | | <template slot-scope="{ node, data }"> |
| | | <span>{{ data.name }}</span> <!– 自定义显示内容 –> |
| | | </template> |
| | | </el-cascader>--> |
| | | <treeselect |
| | | v-model="form.parentId" |
| | | placeholder="请选择" |
| | | :options="categorys" |
| | | :normalizer="normalizeOptions" |
| | | :default-expand-level="1" |
| | | noChildrenText="没有子选项" |
| | | noOptionsText="没有可选项" |
| | | noResultsText="没有匹配的结果" /> |
| | | </el-form-item> |
| | | <el-form-item label="排序码" prop="sortnum"> |
| | | <el-input v-model="form.sortnum" placeholder="请输入排序码" v-trim/> |
| | | <el-input v-model="form.sortnum" type="number" placeholder="请输入排序码(升序)" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="图标" prop="imgurl"> |
| | | <el-input v-model="form.imgurl" placeholder="请输入图标" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="类型 0SHE伤害类型 1安全风险伤害类型 2安全风险发生地点 3DCA位置 4DCA问题 5SHE风险地点" prop="type"> |
| | | <el-input v-model="form.type" placeholder="请输入类型 0SHE伤害类型 1安全风险伤害类型 2安全风险发生地点 3DCA位置 4DCA问题 5SHE风险地点" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="父级编码(自关联)" prop="parentId"> |
| | | <el-input v-model="form.parentId" placeholder="请输入父级编码(自关联)" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="名称路径" prop="namePath"> |
| | | <el-input v-model="form.namePath" placeholder="请输入名称路径" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="编码路径" prop="idPath"> |
| | | <el-input v-model="form.idPath" placeholder="请输入编码路径" v-trim/> |
| | | <el-form-item label="备注" prop="remark"> |
| | | <el-input v-model="form.remark" type="textarea" placeholder="请输入备注" v-trim/> |
| | | </el-form-item> |
| | | </el-form> |
| | | </GlobalWindow> |
| | |
| | | // 表单数据 |
| | | form: { |
| | | id: null, |
| | | creator: '', |
| | | createDate: '', |
| | | editor: '', |
| | | editDate: '', |
| | | isdeleted: '', |
| | | name: '', |
| | | remark: '', |
| | | status: '', |
| | | sortnum: '', |
| | | imgurl: '', |
| | | type: '', |
| | | parentId: '', |
| | | namePath: '', |
| | | idPath: '' |
| | | remark: '', |
| | | categoryList: [], |
| | | sortnum: null, |
| | | parentId: null |
| | | }, |
| | | categoryprops: { |
| | | label: 'name', |
| | | value: 'id', |
| | | checkStrictly: true, |
| | | lazyLoad: this.lazyLoad |
| | | }, |
| | | categorys: [], |
| | | // 验证规则 |
| | | rules: { |
| | | name: [{ required: true, message: '请输入名称', trigger: 'blur' }] |
| | | } |
| | | } |
| | | }, |
| | |
| | | api: '/business/category', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | normalizeOptions (node) { |
| | | if (node.childList && !node.childList.length) { |
| | | // 去掉children=[]的children属性 |
| | | delete node.childList |
| | | } |
| | | return { |
| | | id: node.id, |
| | | label: node.name, |
| | | children: node.childList |
| | | } |
| | | }, |
| | | handleChangeCategory (value) { |
| | | this.form.parentId = null |
| | | if (this.form.categoryList && this.form.categoryList.length >= 1) { |
| | | this.form.parentId = this.form.categoryList[this.form.categoryList.length - 1] |
| | | } |
| | | }, |
| | | getTreeData (data) { |
| | | if (!data) { |
| | | return data |
| | | } |
| | | for (let i = 0; i < data.length; i++) { |
| | | console.log(data) |
| | | if (data[i].childList) { |
| | | if (data[i].childList.length < 1) { |
| | | data[i].childList = [] // children若为空数组,则将children设为undefined |
| | | data[i].childern = [] // children若为空数组,则将children设为undefined |
| | | } else { |
| | | this.getTreeData(data[i].childList) // children若不为空数组,则继续 递归调用 本方法 |
| | | } |
| | | } |
| | | } |
| | | return data |
| | | }, |
| | | open (title, target, categorys, categoryType, parentId) { |
| | | this.title = title |
| | | this.categorys = JSON.parse(JSON.stringify(categorys||[])); |
| | | // this.categorys = this.getTreeData(this.categorys) |
| | | console.log(parentId) |
| | | this.visible = true |
| | | this.form = { |
| | | id: null, |
| | | name: '', |
| | | type: '', |
| | | remark: '', |
| | | categoryList: [], |
| | | sortnum: null, |
| | | parentId: parentId || null |
| | | } |
| | | this.form.type = categoryType |
| | | // 新建 |
| | | var that = this |
| | | if (target == null) { |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | this.form.parentId = parentId |
| | | this.form[this.configData['field.id']] = null |
| | | this.form.categoryList = [] |
| | | /* if (parentIdPath && parentIdPath != null) { |
| | | var array = parentIdPath.split('/') |
| | | array.forEach(item => { |
| | | if (item && item != null && item !== '') { |
| | | that.form.categoryList.push(parseInt(item)) |
| | | } |
| | | }) |
| | | that.handleChangeCategory() |
| | | } */ |
| | | }) |
| | | return |
| | | } |
| | | // 编辑 |
| | | this.$nextTick(() => { |
| | | for (const key in this.form) { |
| | | this.form[key] = target[key] |
| | | } |
| | | /* this.form.categoryList = [] |
| | | if (target.parentId && target.idParentPath) { |
| | | var array = target.idParentPath.split('/') |
| | | array.forEach(item => { |
| | | if (item && item != null && item !== '') { |
| | | that.form.categoryList.push(parseInt(item)) |
| | | } |
| | | }) |
| | | } */ |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |