TWaver - 專注UI技術(shù)

          http://twaver.servasoft.com/
          posts - 171, comments - 191, trackbacks - 0, articles - 2
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
          應(yīng)廣大客戶所需,今天給大家?guī)硪豢罱M織結(jié)構(gòu)圖。組織結(jié)構(gòu)圖的呈現(xiàn)方式多種多樣,用途也是非常廣泛,可以應(yīng)用于集團(tuán)內(nèi)部,企業(yè)各部門之間的組織關(guān)系呈現(xiàn)。我們就來看看twaver實(shí)現(xiàn)出來的效果。 上下布局: 圓形布局: 這些布局用twaver來實(shí)現(xiàn)是非常的合適,實(shí)現(xiàn)起來也是很容易,twaver內(nèi)部就提供了多種布局方式:自左向右,從下向上,具體可以看twaver的官方文檔介紹。這里就不多說了,今天我們著重說一下twaver如果實(shí)現(xiàn)上圖中的網(wǎng)元。先放大看看效果: 這里借用了女神的范冰冰頭像。我們假設(shè)范冰冰為財(cái)務(wù)部出納,我想范爺做為財(cái)務(wù)部主管也是當(dāng)之無愧的,從剛開始的北漂到后來的一夜狂賺8千萬?,F(xiàn)在的社會(huì),只要有錢投資了房產(chǎn)后半輩子就不用愁了,閑話不多扯。這里我們采用的是名片式的方式來呈現(xiàn)組織圖上的每個(gè)網(wǎng)元,左側(cè)一張圖片,右側(cè)是職稱,這種矢量和位圖的結(jié)合效果也是非常贊的。那么這種網(wǎng)元如何來實(shí)現(xiàn)呢?首先我們需要定義一個(gè)圓角矩形: twaver.Util.registerImage('employee', { w: 200, h: 135, cache: false, origin: {x:0, y:0}, v: [{ shape: 'rect', w: '100%', h: '100%', r: 8, lineColor:'black', lineWidth:2.5, fill: '#F5ECCE', }], }); 在圓角矩形的右側(cè)放上文字: { shape: 'text', text: '<%=getClient("text")%>', font: '12px "Microsoft Yahei"', translate: {x:150,y:135/2}, } translate是將文字平移到指定的位置,這里我們需要放在右側(cè),因此需要設(shè)置偏右,x,y是相對(duì)于網(wǎng)元左上角原點(diǎn)來設(shè)置的。 接下來需要在左側(cè)放置一個(gè)橢圓用于放組織節(jié)點(diǎn)的照片,這里的橢圓可以直接用path來描述 。 { shape: 'path', data: 'M-45,-25Q-45,-64,0,-64Q45,-64,45,-25L45,25Q45,64,0,64Q-45,64,-45,25z', lineColor:'#BBBBBB', lineWidth:1, translate: {x: 60, y:135/2} } data用于描述path的路徑,這里面的M,Q,L分別代表moveto,quadraticCurveTo和lineto,比如M-45,就是移動(dòng)到-45的位置上。具體的含義可以參考TWaver的官方文檔。 接下來需要加上員工的圖片,圖片這里采用的是一般的位圖,位圖需要注冊(cè)后才能使用。由于原始圖片是方形的,需要裁減出圓角矩形的形狀,說到裁減,twaver的矢量描述中支持clip,默認(rèn)是不clip,設(shè)置clip之后,就會(huì)將超出矢量圖片之外的區(qū)域的進(jìn)行裁剪,可以用shape來描述裁減的區(qū)域,這里我們需要裁剪出圓角矩形,因此設(shè)置和上面矩形相同的path路徑即可。 twaver.Util.registerImage('clip_pic', { w: 128, h: 128, cache: false, clip: { shape: 'path', data: 'M-45,-25Q-45,-64,0,-64Q45,-64,45,-25L45,25Q45,64,0,64Q-45,64,-45,25z', }, v: [{ shape: 'image', x:-64, y:-64, name: '<%=getClient("pic")%>', }], }); 關(guān)于clip的更多使用,可以參考下面的文檔: html5-canvas-clipping-region-tutorial canvas-clip-image-in-a-circle 好了,一個(gè)組織結(jié)構(gòu)圖的網(wǎng)元就這樣輕松實(shí)現(xiàn)。最后隨機(jī)造一些數(shù)據(jù)可以看到整體效果了 想要具體demo的小伙伴,請(qǐng)發(fā)郵件至tw-service#servasoft.com,我們會(huì)將完整代碼發(fā)送給您。

          評(píng)論

          # re: HTML5復(fù)雜拓?fù)鋱D(四) 組織結(jié)構(gòu)圖  回復(fù)  更多評(píng)論   

          2015-11-13 14:45 by 朱紹瑜
          麻煩您發(fā)組織結(jié)構(gòu)圖的源碼給我,萬分感謝!

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 定安县| 南昌市| 高陵县| 离岛区| 西藏| 泰和县| 贵港市| 新郑市| 西昌市| 萝北县| 遂川县| 韶山市| 西乡县| 河北省| 集贤县| 栾城县| 大城县| 新民市| 治县。| 平果县| 泌阳县| 抚州市| 大安市| 香河县| 西乡县| 泉州市| 灵武市| 平邑县| 苏尼特右旗| 丹棱县| 龙泉市| 佛坪县| 东乌珠穆沁旗| 锡林郭勒盟| 永川市| 房山区| 杨浦区| 伊川县| 高要市| 龙门县| 宝兴县|