根據樹形下拉框展示右側列表場景

2021-10-04 17:10:42 字數 3584 閱讀 7267

一、場景圖示:

這裡業務主要分為兩大部分,乙個左邊樹形結構,另乙個是根據左邊樹形結構展示右側列表。

左邊樹形結構:全國是最大的主幹,主幹下面有主節點,每乙個主節點下面分為子節點。

表的設計如下:

一次性載入樹形結構:

/*entity*/

@apimodel

(value =

"區域架構表"

)@table

(name =

"sys_sellarea"

)@data

@accessors

(chain =

true

)public

class

syssellarea

extends

baseentity

implements

serializable

else})

;return syssellareatree;

}}

/*controller,這裡copy**時注意修改**繼承關係並加上autowired*/

@api

(tags =

"銷售區域"

)@restcontroller

("syssellarea"

)public

class

syssellareacontroller

extends

basesystemcontroller

}

/*service*/

public

inte***ce

syssellareaservice

extends

baseservice

/*serviceimpl*/

@service

@transactional

public

class

syssellareaserviceimpl

extends

baseserviceimpl

implements

syssellareaservice

catch

(exception e)

return syssellareas;

}

//dao

@repository

public

inte***ce

syssellareadao

extends

//xml

"getsyssellarea" resulttype=

"com.security.common.entity.system.syssellarea"

>

select

"sellarea_param"

/>

, exists (select id from sys_sellarea where parent_id = ssa.id and del_flag =

0) as haschildren

from sys_sellarea ssa where ssa.del_flag =0;

<

/select>

右側列表展示,在筆者的業務中。右側其實也是乙個樹形結構,但是這裡只做列表展示。

表設計:

}根據當前區域id查下面的所有主節點,再通過主節點id的list帶進去查主節點list下的渠道列表

@service

("syschannelinfoservice"

)public

class

syschannelinfoserviceimpl

private list

getparentlist

(string sellareaid)

private list

findparent

(list

sellareas, string parentid, list

parentlist)

}return parentlist;

}}

@repository

public

inte***ce

syschannelinfodao

<

!--渠道分頁--

>

"getchannel" resulttype=

"com.security.common.entity.system.syschannelinfo"

>

select

sci.id, sci.channel_name, sci.seq, sci.level, sci.path, sci.status

from sys_channel_info sci

join sys_channel_sellarea scs on sci.id=scs.channel_id

where sci.del_flag=

0 and

<

if test=

"sellarealist !=null and sellarealist.size>0"

>

scs.sellarea_id in

"sellarealist" item=

"sellareaid" index=

"index" open=

"(" close=

")" separator=

",">

#<

/foreach>

>

<

if test=

"channelname !=null and channelname!=''"

>

and sci.channel_name like concat

('%',#,

'%')

>

<

/select>

JavaScript樹形下拉框

這個js檔案是對select標籤的乙個擴充套件,使得select能夠支援樹形下拉框 使用這段js 之前,請先引入jquery庫。getjson api data jsontype function data ijs.id element.busiz id ijs.text element.busiz...

基於JavaScript實現樹形下拉框

的小夥伴們可以參考一下 平時會經常遇到樹形結構的問題,比如顯示目錄結構等。大多數情況下後台會返回這樣的資料,如下 這種資料結構後台容易處理,但是前台不好處理,需要首先將其轉成樹形json資料,如下 這樣就可以很方便的是用遞迴構建樹形的元件。如果後台能夠直接返回這種結構最好,不然前台需要做轉換。一 將...

jquery 根據url建立下拉框

開發工具與關鍵技術 vs mvc基礎關於下拉框的使用我們已經很平常,哪繫結資料的下拉框是如何建立的呢?因為繫結資料數目的不確定性,所以我們一般不會直接建立,而是封裝好這個類。今天為了更好地理解如何封裝jquery 根據url建立下拉框的方法,我會直接講解乙個下拉框的繫結案例。如下圖,第乙個字段就是下...