vue搜索树形结构

vue搜索树形结构

前台代码
引入js文件

<script th:src="@{/ajax/libs/elementui/js/vue.js}"></script>
<script th:src="@{/ajax/libs/elementui/js/axios.js}"></script>
<script th:src="@{/ajax/libs/elementui/js/elementui(1).js}"></script>

树结构

<script>
    new Vue({
        el: "#app",
        data() {
            return {

                treeData: null,
                defaultProps: {
                    children: 'children',
                    label: 'name'
                },
                queryData: {
                    // id:"",
                    name: ""
                },
            }
        },
        methods: {
            handleNodeClick(data) {

                console.log(data);

                if(data.$treeNodeId === 1 ){
                    // 你点击第一层节点执行的操作
                    $.ajax({
                        // 详情查看
                        url: prefix+"media/frame/list",
                        type: "POST"
                    })
                }else if (data.$treeNodeId === 2 ) {
                    // 点击第二层节点执行的操作
                    $.ajax({
                        // 详情查看
                        viewUrl: prefix+""
                    })
                }else if (data.$treeNodeId === 3 ){
                    //点击第三层节点执行的操作
                    $.ajax({
                        // 详情查看
                        viewUrl: prefix+""
                    })
                }else if (data.$treeNodeId === 4 ){
                    //点击第四层节点执行的操作
                    $.ajax({
                        // 详情查看
                        viewUrl: prefix+""
                    })
                }else if (data.$treeNodeId === 5 ){
                    //点击第五层节点执行的操作
                    $.ajax({
                        // 详情查看
                        viewUrl: prefix+""
                    })
                }
            },
            fetchData() {
                axios.post("/media/place/list", this.queryData).then(response => {
                    this.treeData = response.data.rows;
            })

            },

        }
    })
</script>
<script>
    document.getElementById("$treeNodeId === 1").onclick=function () {
        $.ajax({
            //增加
            creatUrl: prefix+"",
            //编辑
            editUrl: prefix+"",
            //删除
            removeUrl: prefix+""
        })
    },
        document.getElementById("$treeNodeId === 2").onclick=function(){
            $.ajax({
                //增加
                creatUrl: prefix+"",
                //编辑
                editUrl: prefix+"",
                //删除
                removeUrl: prefix+""
            })
        }
</script>

controller层

/**
     * 查询树形位置列表
     */
    @RequiresPermissions("media:place:list")
    @PostMapping("/list")
    @ResponseBody
    public TableDataInfo list(@RequestBody Project project) {
        startPage();
        List<Place> list = placeService.selectPlaceList(project);
        return getDataTable(list);
    }

service层


    /**
     * 查询树形位置列表
     *
     * @param place 树形位置信息
     * @return 树形位置集合
     */
    public List<Place> selectPlaceList(Place place);

impl

@Override
    public List<Place> selectPlaceList(Place place) {
        //先查询符合条件的place
        List<Place> placeList=placeMapper.selectPlaceList(place);
        //遍历place列表,查询每个place的下级列表
        for(Place p:placeList){
            //查询条件是上级ID是该place的ID
            Place tempPlace=new Place();
            tempPlace.setPid(p.getId());

            p.setChildren(selectPlaceList(tempPlace));
        }
        return placeList;
    }

mapper层

public List<Place> selectPlaceList(Place place);

注意事项

<sql id="selectPlaceVo">
    select id, pid, tree, name, grade, sort, position_type, did, disabled, has_addGarage from kj_place
    </sql>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值