123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- <template>
- <div>
- <el-form ref="form" :rules="rules" :model="form" label-width="120px">
- <el-form-item
- label="菜单名称:"
- prop="label"
- >
- <el-input v-model.number="form.label" placeholder="请输入菜单名称"></el-input>
- </el-form-item>
- <el-form-item
- label="父级菜单:"
- prop="pid"
- >
- <el-cascader
- v-model="form.pid"
- :options="menulist"
- :props="{
- checkStrictly: true,
- value:'id',
- label:'label',
- children:'children',
- }"
- clearable></el-cascader>
- </el-form-item>
- <el-form-item label="路由地址:" prop="url">
- <el-input v-model="form.url" placeholder="输入路由地址" ></el-input>
- </el-form-item>
- <el-form-item label="图标:" prop="icon">
- <el-input v-model="form.icon" placeholder="输入图标地址" ></el-input>
- </el-form-item>
- <el-form-item label="排序:" prop="sort">
- <el-input v-model="form.sort" placeholder="输入排序" ></el-input>
- </el-form-item>
- <el-form-item label="是否外链:" prop="is_links">
- <el-switch
- v-model="form.is_links"
- :active-value="1"
- :inactive-value="0"
- >
- </el-switch>
- </el-form-item>
- <el-form-item label="是否隐藏:" prop="hidden">
- <el-switch
- v-model="form.hidden"
- :active-value="1"
- :inactive-value="0"
- >
- </el-switch>
- </el-form-item>
- <el-form-item>
- <div style="text-align: center">
- <el-button type="primary" @click="onSubmit" :disabled="Isdisabled" :loading="isloading">保存</el-button>
- <el-button style="color: #5075FC " @click="closeDlg">取消</el-button>
- </div>
- </el-form-item>
- </el-form>
- </div>
- </template>
- <script>
- export default {
- props: {
- menuDataForm: {
- type: Object,
- default: () => {}
- },
- isloading:{
- type:Boolean,
- default: true
- },
- closeDlg:{
- type:Function
- }
- },
- data() {
- return {
- form: {
- label: '',
- url:"",
- icon:"",
- sort:"",
- is_links:"",
- hidden:"",
- pid:[0]
- },
- menulist: [],
- Isdisabled: false,
- rules: {
- label: [
- { required: true, message: '菜单名称必填' },
- ],
- url: [
- { required: true, message: '路由地址必填' }
- ],
- sort: [
- { pattern: /^[1-9]\d*$/, message: '排序值格式错误' },
- ]
- }
- }
- },
- mounted() {
- if(this.menuDataForm) {
- this.form = Object.assign({} , this.menuDataForm)
- }
- this.getRecursionMenu()
- },
- methods: {
- closeDlg() {
- // this.isloading = false
- console.log("edit提交")
- this.$emit('closeDlg',1)
- },
- onSubmit() {
- let that = this
- that.$refs['form'].validate((valid) => {
- if (valid) {
- this.$emit('menuSubmitClick', this.form)
- }
- })
- },
- getRecursionMenu(){
- let _t= this
- let parames = {}
- this.$api.pub.getMenuList(parames).then(res=>{
- if(res.code==200){
- // id: 4, pid: 1, label: "权限设置"
- // res.data.concat({"id":1,"label":"一级目录","children":[]});
- // console.log(res.data)
- _t.menulist = res.data
- }else{
- this.$message.error("查询失败")
- }
- })
- },
-
- }
- }
- </script>
- <style>
- .el-cascader-node>.el-radio{
- margin-top:25px;
- }
- </style>
|