在?Vue?中使用?dhtmlxGantt?組件時(shí)遇到的問(wèn)題匯總(推薦)
最近接到需要在頁(yè)面中引入甘特圖,經(jīng)過(guò)多方對(duì)比插件
甘特圖1
1.Gantt-elastic:一個(gè)基于HTML和CSS的甘特圖插件,具有自適應(yīng)布局和觸摸屏支持。
2.jsgantt-improved:一個(gè)基于JavaScript的甘特圖插件,具有靈活的配置選項(xiàng),支持任務(wù)鏈和資源分配。
3.dhtmlxGantt:一個(gè)功能豐富的甘特圖插件,支持任務(wù)編輯,資源分配和多種視圖模式。
4.jQuery Gantt Chart:一個(gè)基于jQuery的甘特圖插件,支持日期范圍選擇和任務(wù)進(jìn)度跟蹤。
5.FusionCharts Gantt:一個(gè)基于圖表庫(kù)FusionCharts的甘特圖插件,支持動(dòng)態(tài)數(shù)據(jù)更新和多種視圖模式。
甘特圖2
1.vue-gantt-schedule-timeline:一個(gè)基于Vue.js的甘特圖插件,支持時(shí)間軸和事件編輯。
2.vue-gantt:一個(gè)基于Vue.js的甘特圖插件,支持動(dòng)態(tài)數(shù)據(jù)更新和任務(wù)進(jìn)度跟蹤。
3.vue-dhtmlx-gantt:一個(gè)基于dhtmlxGantt的Vue.js甘特圖插件,支持任務(wù)編輯,資源分配和多種視圖模式。
4.vue-fusioncharts-gantt:一個(gè)基于FusionCharts Gantt的Vue.js甘特圖插件,支持動(dòng)態(tài)數(shù)據(jù)更新和多種視圖模式。
最后選擇了 dhtmlxGantt
效果圖如下:
因?yàn)楣俜轿臋n全部是英文,所以經(jīng)過(guò)多方查證,總結(jié)一下文檔中API的用法:
在 Vue 中使用 dhtmlxGantt 組件時(shí),gantt.parse中各個(gè)參數(shù)代表的意思是什么
gantt.parse() 方法是用于將數(shù)據(jù)解析為 Gantt 圖表的方法。它接受一個(gè)包含任務(wù)和鏈接數(shù)據(jù)的對(duì)象作為參數(shù)。該對(duì)象包含以下屬性:
data: 任務(wù)數(shù)據(jù)數(shù)組,包含每個(gè)任務(wù)的信息,例如 id、text、start_date、duration 等等。 links: 鏈接數(shù)據(jù)數(shù)組,包含每個(gè)鏈接的信息,例如 id、source、target 等等。 key: 任務(wù)數(shù)據(jù)對(duì)象中唯一標(biāo)識(shí)每個(gè)任務(wù)的屬性名稱,默認(rèn)為 "id"。 parent: 任務(wù)數(shù)據(jù)對(duì)象中用于標(biāo)識(shí)父任務(wù)的屬性名稱,默認(rèn)為 "parent". open_tree_initially: 布爾值,如果設(shè)置為 true,則所有任務(wù)默認(rèn)展開(kāi)。 preserve_links: 布爾值,如果設(shè)置為 true,則鏈接信息中的任務(wù)不存在時(shí)也會(huì)保留鏈接。 preserve_tasks: 布爾值,如果設(shè)置為 true,則鏈接信息中的任務(wù)不存在時(shí)也會(huì)保留任務(wù)。
例如,可以使用以下代碼將數(shù)據(jù)解析為 Gantt 圖表:
const data = [ { id: 1, text: "Task 1", start_date: "2023-03-15", duration: 3 }, { id: 2, text: "Task 2", start_date: "2023-03-18", duration: 2, parent: 1 }, ]; /* gantt.parse 方法中的 data 參數(shù)是一個(gè)包含任務(wù)信息的數(shù)組。每個(gè)任務(wù)都包含多個(gè)字段,下面是一些常用的字段及其作用: id: 任務(wù)的唯一標(biāo)識(shí)符。 text: 任務(wù)的名稱。 start_date: 任務(wù)的開(kāi)始日期,可以是一個(gè)字符串或者一個(gè) Date 對(duì)象。 end_date: 任務(wù)的結(jié)束日期,可以是一個(gè)字符串或者一個(gè) Date 對(duì)象。 duration: 任務(wù)的持續(xù)時(shí)間,以天為單位。如果 end_date 和 duration 都提供了,duration 會(huì)被忽略。 progress: 任務(wù)的進(jìn)度,以百分比表示。 parent: 父任務(wù)的 id,如果當(dāng)前任務(wù)是頂級(jí)任務(wù),則該字段為 0。 open: 是否展開(kāi)當(dāng)前任務(wù)的子任務(wù)。如果不提供,默認(rèn)為 true。 state: 用于設(shè)置任務(wù)的狀態(tài)。狀態(tài)可以是任何自定義值,例如 "in progress"、"completed"、"cancelled" 等等。在 Gantt 圖中,任務(wù)的狀態(tài)可以通過(guò)任務(wù)條顏色、邊框、文本樣式等 visulization 屬性進(jìn)行自定義渲染,以便用戶更直觀地了解任務(wù)狀態(tài)的變化??梢栽?Gantt 文檔中的 Visualization 屬性部分了解有關(guān)自定義任務(wù)狀態(tài)可視化的更多信息。 除了上面列出的常用字段之外,還有很多其他可選字段,例如 color、link、type 等,可以根據(jù)實(shí)際需求來(lái)添加。 */ const links = [ { id: 1, source: 1, target: 2, type: "0" }, ]; gantt.parse({ data: data, links: links, }); //其中,data 數(shù)組包含兩個(gè)任務(wù),links 數(shù)組包含一個(gè)鏈接,最后將這些數(shù)據(jù)傳遞給 gantt.parse() 方法進(jìn)行解析,即可在 Gantt 圖表中顯示這些任務(wù)和鏈接。
2.在月刻度下需要從1號(hào)開(kāi)始顯示到月底最后一天應(yīng)該怎么顯示,直接上代碼
//設(shè)置 scale_unit 屬性為 month,以顯示月刻度 gantt.config.scale_unit = "month"; //設(shè)置 step 屬性為 1,以每個(gè)月顯示一個(gè)刻度 gantt.config.step = 1; //設(shè)置 date_scale 屬性為 %Y-%m-%d,以顯示年月日格式的刻度 gantt.config.date_scale = "%Y-%m-%d"; //設(shè)置 scale_date 屬性為 gantt.date.monthStart,以從每個(gè)月的第一天開(kāi)始顯示刻度。 gantt.config.scale_date = gantt.date.monthStart; //設(shè)置 subscale 屬性為一個(gè)包含兩個(gè)刻度的對(duì)象,分別為 day 和 week。 gantt.config.subscales = [ { unit: "day", step: 1, date: "%d" }, { unit: "week", step: 1, date: "#%W" } ];
到此這篇關(guān)于在 Vue 中使用 dhtmlxGantt 組件時(shí)遇到的問(wèn)題匯總的文章就介紹到這了,更多相關(guān)Vue 使用 dhtmlxGantt 組件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
configureWebpack、chainWebpack配置vue.config.js方式
這篇文章主要介紹了configureWebpack、chainWebpack配置vue.config.js方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01vue中使用js-xlsx導(dǎo)出excel的實(shí)現(xiàn)方法
本文主要介紹了vue中使用js-xlsx導(dǎo)出excel的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02詳解Vue demo實(shí)現(xiàn)商品列表的展示
這篇文章主要介紹了Vue demo實(shí)現(xiàn)商品列表的展示,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05vue手寫<RouterLink/>組件實(shí)現(xiàn)demo詳解
這篇文章主要為大家介紹了vue手寫<RouterLink/>組件實(shí)現(xiàn)demo詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06Vue實(shí)現(xiàn)無(wú)限輪播效果時(shí)動(dòng)態(tài)綁定style失效的解決方法
最近在開(kāi)發(fā)中遇到了一個(gè)新需求:列表輪播滾動(dòng),實(shí)現(xiàn)方式也有很多,比如使用第三方插件,但是由于不想依賴第三方插件,想自己實(shí)現(xiàn),于是我開(kāi)始了嘗試,但是在這個(gè)過(guò)程中遇到了動(dòng)態(tài)綁定style樣式不生效,所以本文介紹了Vue實(shí)現(xiàn)無(wú)限輪播效果時(shí)動(dòng)態(tài)綁定style失效的解決方法2024-08-08vue移動(dòng)端html5頁(yè)面根據(jù)屏幕適配的四種解決方法
在vue移動(dòng)端h5頁(yè)面當(dāng)中,其中適配是經(jīng)常會(huì)遇到的問(wèn)題,這塊主要有四個(gè)方法可以適用。這篇文章主要介紹了vue移動(dòng)端h5頁(yè)面根據(jù)屏幕適配的四種方案 ,需要的朋友可以參考下2018-10-10vue倒計(jì)時(shí)刷新頁(yè)面不會(huì)從頭開(kāi)始的解決方法
在本篇文章里小編給大家整理的是關(guān)于vue倒計(jì)時(shí)刷新頁(yè)面不會(huì)從頭開(kāi)始的解決方法,需要的朋友們參考下。2020-03-03vue3圖片剪裁插件vue-img-cutter使用小結(jié)
Vue.js是一款流行的JavaScript前端框架,很受用戶喜愛(ài),這篇文章主要介紹了vue3圖片剪裁插件vue-img-cutter使用小結(jié),本文結(jié)合示例代碼講解的非常詳細(xì),感興趣的朋友一起看看吧2024-01-01vue實(shí)現(xiàn)滑塊拖拽校驗(yàn)功能的全過(guò)程
vue驗(yàn)證滑塊功能,在生活中很多地方都可以見(jiàn)到,使用起來(lái)非常方便,這篇文章主要給大家介紹了關(guān)于vue實(shí)現(xiàn)滑塊拖拽校驗(yàn)功能的相關(guān)資料,需要的朋友可以參考下2021-08-08