1
lzhe
2024-04-01 bc493e5e7f8297b238f3b835916954b80789d36c
1
已修改2个文件
121 ■■■■ 文件已修改
src/views/console/system/addMenu.vue 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/console/system/menu.vue 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/console/system/addMenu.vue
@@ -15,9 +15,12 @@
                <el-col :span="12">
                    <el-form-item label="上级菜单">
                        <el-tree-select
                            @change = "parentIdChange"
                            v-model="formAddMenu.parentId"
                            clearable
                            node-key="id"
                            placeholder="上级菜单"
                            ref="parentTree"
                            :data="parentData"
                            check-strictly
                            :props="{ label: 'title' }"
@@ -36,9 +39,9 @@
                    </el-form-item>
                </el-col>
                <el-col :span="12">
                    <el-form-item label="菜单类型" prop="belongApplication">
                        <el-radio-group v-model="formAddMenu.belongApplication">
                            <el-radio v-for="item in belongApplicationList" :label="item.label" :key="item.id">{{item.value}}</el-radio>
                    <el-form-item label="菜单类型" prop="category">
                        <el-radio-group v-model="formAddMenu.category" @change="categoryChange">
                            <el-radio v-for="item in categoryList" :label="item.label" :key="item.id">{{item.value}}</el-radio>
                        </el-radio-group>
                    </el-form-item>
                </el-col>
@@ -49,7 +52,7 @@
                </el-col>
                <el-col :span="12">
                    <el-form-item label="新窗口" prop="isOpen">
                        <el-radio-group v-model="formAddMenu.isOpen">
                        <el-radio-group v-model="formAddMenu.isOpen" @change="isOpenChange">
                            <el-radio :label="1">否</el-radio>
                            <el-radio :label="2">是</el-radio>
                        </el-radio-group>
@@ -57,15 +60,15 @@
                </el-col>
                <el-col :span="12">
                    <el-form-item label="启用缓存" prop="keepAlive">
                        <el-radio-group v-model="formAddMenu.keepAlive">
                            <el-radio :label="1">否</el-radio>
                            <el-radio :label="2">是</el-radio>
                        <el-radio-group v-model="formAddMenu.keepAlive" @change="keepAliveChange">
                            <el-radio :label="0">否</el-radio>
                            <el-radio :label="1">是</el-radio>
                        </el-radio-group>
                    </el-form-item>
                </el-col>
                <el-col :span="12">
                    <el-form-item label="所属应用" prop="category">
                        <el-select v-model="formAddMenu.category" style="width: 100%">
                    <el-form-item label="所属应用" prop="belongApplication">
                        <el-select v-model="formAddMenu.belongApplication" style="width: 100%" @change="belongApplicationChange">
                            <el-option v-for="item in applicationList" :key="item.code" :label="item.name" :value="item.code"/>
                        </el-select>
                    </el-form-item>
@@ -95,11 +98,11 @@
        data() {
            return {
                parentData: {},
                belongApplicationList: [
                    {label: 1,id: "1",value: "APP"},
                    {label: 2,id: "2",value: "菜单"},
                    {label: 3,id: "3",value: "按钮"},
                    {label: 4,id: "4",value: "卡片"}
                categoryList: [
                    {label: 0,id: "0",value: "APP"},
                    {label: 1,id: "1",value: "菜单"},
                    {label: 2,id: "2",value: "按钮"},
                    {label: 3,id: "3",value: "卡片"}
                ],
                value1: true,
                mode: "add",
@@ -115,13 +118,14 @@
                    name: "",
                    path: "",
                    parentId: "",
                    $parentId: "",
                    code: "",
                    $belongApplication: '菜单',
                    belongApplication: 2,
                    $belongApplication: '',
                    belongApplication: '',
                    alias: "",
                    isOpen: 1,
                    $isOpen: "否",
                    keepAlive: 2,
                    keepAlive: 1,
                    $keepAlive: "是",
                    $category: "",
                    category: "",
@@ -161,6 +165,34 @@
            this.parentIdload();
        },
        methods: {
            parentIdChange(val) {
                var $parentId = this.$refs.parentTree.getCurrentNode().title;
                this.formAddMenu.$parentId = $parentId;
            },
            belongApplicationChange(val) {
                var $belongApplication =  this.applicationList.find(option=>option.code === val).name;
                this.formAddMenu.$belongApplication = $belongApplication;
            },
            categoryChange(val) {
                var $category = this.categoryList.find(option=>option.id == val).value;
                this.formAddMenu.$category = $category;
            },
            isOpenChange(val) {
                if(val == "1") {
                    this.formAddMenu.$isOpen = "否";
                }
                if(val == "2") {
                    this.formAddMenu.$isOpen = "是";
                }
            },
            keepAliveChange(val) {
                if(val == "0") {
                    this.formAddMenu.$keepAlive = "否";
                }
                if(val == "1") {
                    this.formAddMenu.$keepAlive = "是";
                }
            },
            parentIdload(node, resolve) {
                this.$HTTP.get("/api/blade-system/menu/tree").then(res=> {
                    if(res.code == 200) {
@@ -191,15 +223,16 @@
                this.$refs.dialogForm.validate(async (valid) => {
                    if (valid) {
                        this.isSaveing = true;
                        var res = await this.$API.demo.post.post(this.form);
                        this.isSaveing = false;
                        if(res.code == 200){
                            this.$emit('success', this.form, this.mode)
                            this.visible = false;
                            this.$message.success("操作成功")
                        }else{
                            this.$alert(res.message, "提示", {type: 'error'})
                        }
                        this.$HTTP.post("/api/blade-system/menu/submit",this.formAddMenu).then(res=> {
                            this.isSaveing = false;
                            if(res.code == 200) {
                                this.$emit('success', this.formAddMenu, this.mode);
                                this.visible = false;
                                this.$message.success("操作成功");
                            }else {
                                this.$alert(res.message, "提示", {type: 'error'});
                            }
                        })
                    }else{
                        return false;
                    }
@@ -208,6 +241,7 @@
            //表单注入数据
            setData(data){
                //可以和上面一样单个注入,也可以像下面一样直接合并进去
                console.log(data)
                Object.assign(this.formAddMenu, data)
            }
        }
src/views/console/system/menu.vue
@@ -2,7 +2,7 @@
 * @Author: lzhe lzhe@example.com
 * @Date: 2024-03-26 10:28:33
 * @LastEditors: lzhe lzhe@example.com
 * @LastEditTime: 2024-03-29 15:50:35
 * @LastEditTime: 2024-04-01 18:24:25
 * @FilePath: /smart-web/src/views/master/person/main/index.vue
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
@@ -34,7 +34,7 @@
                </el-col>
                <el-col :span="6">
                    <el-form-item>
                        <el-button type="primary" @click="searchBtn">搜索</el-button>
                        <el-button type="primary" @click="searchclick">搜索</el-button>
                        <el-button @click="clearSearch">清空</el-button>
                    </el-form-item>
                </el-col>
@@ -93,7 +93,8 @@
                    name: "",
                    code: "",
                    alias: "",
                    belongApplication: ""
                    belongApplication: "",
                    parentId: "0"
                },
                dialog: {
                    save: false,
@@ -120,8 +121,9 @@
            saveDialog
        },
        methods: {
            handleSuccess() {
            handleSuccess(formAddMenu) {
                this.searchData.parentId = formAddMenu.parentId;
                this.searchBtn();
            },
            tableLoad(row,treeNode,resolve) {
                this.searchData.parentId= row.id;
@@ -148,8 +150,11 @@
                    }
                })
            },
            searchBtn(parentId="0") {
                this.searchData.parentId= parentId;
            searchclick() {
                this.searchData.parentId= "0";
                this.searchBtn();
            },
            searchBtn() {
                this.$HTTP.get("/api/blade-system/menu/lazy-list",this.searchData).then(res=> {
                    if(res.code == 200) {
                        this.tableData = res.data;
@@ -164,7 +169,21 @@
                })
            },
            //删除
            table_del(row) {},
            table_del(row) {
                var that = this;
                this.$confirm(`确定将选择数据删除?`, '', {
                    type: 'warning'
                }).then(() => {
                    this.$HTTP.post("/api/blade-system/menu/remove?ids="+row.id).then(res=> {
                        if(res.code == 200) {
                            that.$message.success("操作成功");
                            that.searchBtn();
                        }
                    })
                }).catch(() => {
                })
            },
            //添加
            addPerson(){
                this.dialog.save = true