| | |
| | | <el-form :model="addDictForm" :rules="addDictRules" :disabled="mode=='show'" ref="dialogForm" label-width="120px" label-position="center"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="权限名称" prop="scopeName"> |
| | | <el-input v-model="addDictForm.scopeName" placeholder="权限名称" clearable></el-input> |
| | | <el-form-item label="权限名称" prop="deptName"> |
| | | <el-input v-model="addDictForm.deptName" placeholder="权限名称" clearable></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="权限编号" prop="resourceCode"> |
| | | <el-input v-model="addDictForm.resourceCode" placeholder="权限编号" clearable></el-input> |
| | | <el-form-item label="权限描述" prop="fullName"> |
| | | <el-input v-model="addDictForm.fullName" placeholder="权限描述" clearable></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="权限字段" prop="scopeColumn"> |
| | | <el-input v-model="addDictForm.scopeColumn" placeholder="权限字段" clearable></el-input> |
| | | <el-form-item label="上级权限"> |
| | | <el-tree-select |
| | | @change = "parentIdChange" |
| | | v-model="addDictForm.parentId" |
| | | clearable |
| | | node-key="id" |
| | | placeholder="上级权限" |
| | | ref="parentTree" |
| | | :data="parentIdList" |
| | | check-strictly |
| | | :props="{ label: 'title' }" |
| | | style="width:100%;" |
| | | :render-after-expand="false" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="规则分类" prop="scopeType"> |
| | | <el-select v-model="addDictForm.scopeType" style="width: 100%" @change="scopeTypeNameChange" placeholder="规则分类"> |
| | | <el-option v-for="item in scopeTypeNameList" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/> |
| | | <el-form-item label="权限类型" pros="deptCategory"> |
| | | <el-select v-model="addDictForm.deptCategory" placeholder="请选择权限类型" style="width: 100%" @change="deptCategoryChange"> |
| | | <el-option v-for="item in deptCategoryList" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="24"> |
| | | <el-form-item label="可见字段" prop="scopeField"> |
| | | <el-input v-model="addDictForm.scopeField" placeholder="可见字段" clearable></el-input> |
| | | <el-col :span="12"> |
| | | <el-form-item label="排序" prop="sort"> |
| | | <el-input v-model="addDictForm.sort" placeholder="排序" clearable></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="24"> |
| | | <el-form-item label="权限类名" prop="scopeClass"> |
| | | <el-input v-model="addDictForm.scopeClass" placeholder="权限类名" clearable></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="24"> |
| | | <el-form-item label="规则值" v-if="addDictForm.scopeType == '5'"> |
| | | <el-input type="textarea" v-model="addDictForm.scopeValue" placeholder="规则值" clearable></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="24"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="备注"> |
| | | <el-input v-model="addDictForm.remark" placeholder="备注" clearable></el-input> |
| | | </el-form-item> |
| | |
| | | </el-row> |
| | | </el-form> |
| | | <template #footer> |
| | | <el-button v-if="mode!='show'" type="primary" :loading="isSaveing" @click="dictSubmit">保 存</el-button> |
| | | <el-button @click="visible=false" >取 消</el-button> |
| | | <el-button v-if="mode!='show'" type="primary" :loading="isSaveing" @click="dictSubmit()">保 存</el-button> |
| | | </template> |
| | | </el-dialog> |
| | | </template> |
| | |
| | | <script> |
| | | export default { |
| | | emits: ['success', 'closed'], |
| | | props: ["deptCategoryList","parentIdList"], |
| | | data() { |
| | | return { |
| | | deptCategoryList: [], |
| | | parentIdList: [], |
| | | value1: true, |
| | | mode: "add", |
| | | titleMap: { |
| | |
| | | isSaveing: false, |
| | | //表单数据 |
| | | addDictForm: { |
| | | $scopeType: "", |
| | | scopeName: "工作台[暂无]", |
| | | resourceCode: "", |
| | | scopeColumn: "", |
| | | scopeType: "", |
| | | scopeField: "", |
| | | scopeClass: "", |
| | | $deptCategory: "", |
| | | $parentId: "", |
| | | deptCategory: "", |
| | | deptName: "", |
| | | fullName: "", |
| | | parentId: "", |
| | | remark: "", |
| | | scopeValue: "" |
| | | sort: "" |
| | | }, |
| | | //验证规则 |
| | | addDictRules: { |
| | | scopeName:[{required: true, message: '请输入权限名称'}], |
| | | resourceCode:[{required: true, message: '请输入权限编号'}], |
| | | scopeColumn:[{required: true, message: '请输入权限字段'}], |
| | | scopeType:[{required: true, message: '请输入规则分类',trigger: 'change'}], |
| | | scopeField:[{required: true, message: '请输入可见字段'}], |
| | | scopeClass:[{required: true, message: '请输入权限类名'}], |
| | | deptName:[{required: true, message: '请输入权限名称'}], |
| | | fullName:[{required: true, message: '请输入权限描述'}], |
| | | deptCategory:[{required: true, message: '请输入权限类型',trigger: 'change'}], |
| | | sort:[{required: true, message: '请输入排序'}] |
| | | }, |
| | | //所需数据选项 |
| | | groups: [], |
| | |
| | | } |
| | | }, |
| | | mounted() { |
| | | // this.getDept() |
| | | // this.getParentIdList(); //上级权限list |
| | | // this.getDictionary(); //权限类型list |
| | | }, |
| | | props: ['scopeTypeNameList','tableRow'], |
| | | methods: { |
| | | scopeTypeNameChange(value) { |
| | | this.scopeTypeNameList.forEach(item=> { |
| | | parentIdChange(value) { |
| | | var $parentId = this.$refs.parentTree.getCurrentNode().title; |
| | | this.addDictForm.$parentId = $parentId; |
| | | }, |
| | | deptCategoryChange(value) { |
| | | this.deptCategoryList.forEach(item=> { |
| | | if(item.dictKey == value) { |
| | | this.addDictForm.scopeName = `工作台[${item.dictValue}]`; |
| | | this.addDictForm.$scopeType = item.dictValue; |
| | | this.addDictForm.$deptCategory = item.dictValue; |
| | | } |
| | | }) |
| | | if(value == "2") { |
| | | this.addDictForm.scopeColumn = 'create_user'; |
| | | }else if(value == "3" || value == "4") { |
| | | this.addDictForm.scopeColumn = 'create_dept'; |
| | | }else { |
| | | this.addDictForm.scopeColumn = ""; |
| | | } |
| | | }, |
| | | //显示 |
| | | open(mode='add'){ |
| | | open(parentIdList,deptCategoryList,mode='add'){ |
| | | this.mode = mode; |
| | | this.parentIdList = parentIdList; |
| | | this.deptCategoryList = deptCategoryList; |
| | | this.visible = true; |
| | | this.addDictForm.resourceCode = this.tableRow.alias; |
| | | return this |
| | | }, |
| | | //加载树数据 |
| | |
| | | var res = await this.$API.system.dept.list.get(); |
| | | this.depts = res.data; |
| | | }, |
| | | getDetail(id,fixed) { |
| | | this.$HTTP.get(`/api/blade-system/data-scope-manager/detail?id=${id}`).then(res=> { |
| | | if(res.code == 200) { |
| | | //可以和上面一样单个注入,也可以像下面一样直接合并进去 |
| | | res.data.parentId == 0?res.data.parentId = "":res.data.parentId; |
| | | res.data.$parentId = res.data.parentName; |
| | | res.data.$deptCategory = res.data.deptCategoryName; |
| | | res.data.deptCategory = String(res.data.deptCategory); |
| | | if(fixed) { //新增子项 |
| | | this.addDictForm.parentId = id; |
| | | }else { |
| | | Object.assign(this.addDictForm, res.data); |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | //表单提交方法 |
| | | dictSubmit(){ |
| | | this.addDictForm.menuId = this.tableRow.id; |
| | | var obj = Object.assign({},this.addDictForm); |
| | | var obj = Object.assign({},this.addDictForm);; |
| | | this.$refs.dialogForm.validate(async (valid) => { |
| | | if (valid) { |
| | | this.isSaveing = true; |
| | | this.$HTTP.post("/api/blade-system/data-scope/submit",obj).then(res=> { |
| | | this.$HTTP.post("/api/blade-system/data-scope-manager/submit",obj).then(res=> { |
| | | this.isSaveing = false; |
| | | if(res.code == 200) { |
| | | this.$emit('success', this.addDictForm, this.mode); |
| | |
| | | }, |
| | | //表单注入数据 |
| | | setData(data){ |
| | | data.scopeType = String(data.scopeType); |
| | | //可以和上面一样单个注入,也可以像下面一样直接合并进去 |
| | | Object.assign(this.addDictForm, data); |
| | | this.getDetail(data.id,data.fixed); |
| | | } |
| | | } |
| | | } |