Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
V
vue3-quasar-ts-study01
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hucy
vue3-quasar-ts-study01
Commits
6bfb907f
Commit
6bfb907f
authored
Dec 30, 2022
by
hcyhuchaoyue
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:Ag Grid 表格树
parent
55f44f6c
Changes
12
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
389 additions
and
58 deletions
+389
-58
LoadingOverlayComponent.vue
src/components/ag-grid/LoadingOverlayComponent.vue
+2
-2
NoRowsOverlayComponent.vue
src/components/ag-grid/NoRowsOverlayComponent.vue
+1
-1
ag-grid-locale.ts
src/config/ag-grid-locale.ts
+31
-31
app.scss
src/css/app.scss
+30
-16
quasar.variables.scss
src/css/quasar.variables.scss
+10
-0
IndexPage.vue
src/modules/page9/IndexPage.vue
+8
-2
auth.json
src/modules/page9/auth.json
+137
-0
config.ts
src/modules/page9/config.ts
+73
-0
AgGridDetailGrids.vue
src/modules/page9/element/AgGridDetailGrids.vue
+2
-1
AgGridStudy.vue
src/modules/page9/element/AgGridStudy.vue
+1
-1
AgGridStudy2.vue
src/modules/page9/element/AgGridStudy2.vue
+11
-4
AgGridTreeData.vue
src/modules/page9/element/AgGridTreeData.vue
+83
-0
No files found.
src/components/ag-grid/LoadingOverlayComponent.vue
View file @
6bfb907f
...
@@ -9,7 +9,7 @@ defineProps<{
...
@@ -9,7 +9,7 @@ defineProps<{
<
template
>
<
template
>
<div
class=
"my-ag-grid-loading-overlay-component"
>
<div
class=
"my-ag-grid-loading-overlay-component"
>
<div
class=
"my-ag-grid-loading-overlay-component-conten"
>
<div
class=
"my-ag-grid-loading-overlay-component-conten"
>
<q-spinner-clock
size=
"3em"
style=
"color:
rgb(166, 150, 200
)"
/>
<q-spinner-clock
size=
"3em"
style=
"color:
var(--my-ag-grid-primary
)"
/>
<span>
加载中...
</span>
<span>
加载中...
</span>
</div>
</div>
</div>
</div>
...
@@ -29,7 +29,7 @@ defineProps<{
...
@@ -29,7 +29,7 @@ defineProps<{
box-sizing
:
border-box
;
box-sizing
:
border-box
;
width
:
100%
;
width
:
100%
;
height
:
calc
(
100%
-
50px
);
height
:
calc
(
100%
-
50px
);
color
:
rgb
(
166
,
150
,
200
);
color
:
var
(
--
my-ag-grid-primary
);
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
...
...
src/components/ag-grid/NoRowsOverlayComponent.vue
View file @
6bfb907f
...
@@ -56,7 +56,7 @@ defineProps<{
...
@@ -56,7 +56,7 @@ defineProps<{
left
:
50%
;
left
:
50%
;
transform
:
translate
(
-50px
,
38px
);
transform
:
translate
(
-50px
,
38px
);
box-sizing
:
border-box
;
box-sizing
:
border-box
;
color
:
rgb
(
166
,
150
,
200
);
color
:
var
(
--
my-ag-grid-primary
);
}
}
}
}
}
}
...
...
src/config/ag-grid-locale.ts
View file @
6bfb907f
...
@@ -2,46 +2,46 @@
...
@@ -2,46 +2,46 @@
export
default
{
export
default
{
// Set Filter
// Set Filter
selectAll
:
'(
Select All
)'
,
selectAll
:
'(
全选
)'
,
selectAllSearchResults
:
'(
Select All Search Results
)'
,
selectAllSearchResults
:
'(
选择所有搜索结果
)'
,
searchOoo
:
'搜索...'
,
searchOoo
:
'搜索...'
,
blanks
:
'(
Blanks
)'
,
blanks
:
'(
空
)'
,
noMatches
:
'
No matches
'
,
noMatches
:
'
无匹配结果
'
,
// Number Filter & Text Filter
// Number Filter & Text Filter
filterOoo
:
'
Filter
...'
,
filterOoo
:
'
过滤
...'
,
equals
:
'
Equals
'
,
equals
:
'
等于
'
,
notEqual
:
'
Not equal
'
,
notEqual
:
'
不等于
'
,
blank
:
'
Blank
'
,
blank
:
'
空
'
,
notBlank
:
'
Not blank
'
,
notBlank
:
'
非空
'
,
empty
:
'
Choose One
'
,
empty
:
'
选择其中之一
'
,
// Number Filter
// Number Filter
lessThan
:
'
Less than
'
,
lessThan
:
'
小于
'
,
greaterThan
:
'
Greater than
'
,
greaterThan
:
'
大于
'
,
lessThanOrEqual
:
'
Less than or equal
'
,
lessThanOrEqual
:
'
小于或等于
'
,
greaterThanOrEqual
:
'
Greater than or equal
'
,
greaterThanOrEqual
:
'
大于或等于
'
,
inRange
:
'
In range
'
,
inRange
:
'
在范围内
'
,
inRangeStart
:
'
from
'
,
inRangeStart
:
'
从
'
,
inRangeEnd
:
'
to
'
,
inRangeEnd
:
'
到
'
,
// Text Filter
// Text Filter
contains
:
'
Contains
'
,
contains
:
'
包含
'
,
notContains
:
'
Not contains
'
,
notContains
:
'
不包含
'
,
startsWith
:
'
Starts with
'
,
startsWith
:
'
开始于
'
,
endsWith
:
'
Ends with
'
,
endsWith
:
'
结束于
'
,
// Date Filter
// Date Filter
dateFormatOoo
:
'yyyy-mm-dd'
,
dateFormatOoo
:
'yyyy-mm-dd'
,
// Filter Conditions
// Filter Conditions
andCondition
:
'
AND
'
,
andCondition
:
'
且
'
,
orCondition
:
'
OR
'
,
orCondition
:
'
或
'
,
// Filter Buttons
// Filter Buttons
applyFilter
:
'
Apply
'
,
applyFilter
:
'
应用
'
,
resetFilter
:
'
Reset
'
,
resetFilter
:
'
重置
'
,
clearFilter
:
'
Clear
'
,
clearFilter
:
'
清空
'
,
cancelFilter
:
'Cancel'
,
cancelFilter
:
'Cancel'
,
// Filter Titles
// Filter Titles
...
@@ -72,9 +72,9 @@ export default {
...
@@ -72,9 +72,9 @@ export default {
// Other
// Other
loadingOoo
:
'加载中...'
,
loadingOoo
:
'加载中...'
,
loadingError
:
'
ERR
'
,
loadingError
:
'
错误
'
,
noRowsToShow
:
'
No Rows To Show
'
,
noRowsToShow
:
'
暂无数据
'
,
enabled
:
'
Enabled
'
,
enabled
:
'
启用
'
,
// Menu
// Menu
pinColumn
:
'固定列'
,
pinColumn
:
'固定列'
,
...
@@ -91,8 +91,8 @@ export default {
...
@@ -91,8 +91,8 @@ export default {
addToLabels
:
'Add ${variable} to labels'
,
addToLabels
:
'Add ${variable} to labels'
,
removeFromLabels
:
'Remove ${variable} from labels'
,
removeFromLabels
:
'Remove ${variable} from labels'
,
resetColumns
:
'重置列'
,
resetColumns
:
'重置列'
,
expandAll
:
'
Expand All
'
,
expandAll
:
'
全部展开
'
,
collapseAll
:
'
Close All
'
,
collapseAll
:
'
全部折叠
'
,
copy
:
'复制'
,
copy
:
'复制'
,
ctrlC
:
'Ctrl+C'
,
ctrlC
:
'Ctrl+C'
,
copyWithHeaders
:
'带标题的复制'
,
copyWithHeaders
:
'带标题的复制'
,
...
...
src/css/app.scss
View file @
6bfb907f
...
@@ -77,24 +77,38 @@ a:hover {
...
@@ -77,24 +77,38 @@ a:hover {
// Ag Grid
// Ag Grid
.ag-theme-alpine
{
.ag-theme-alpine
{
--ag-foreground-color
:
#7e2e84
!
important
;
// 菜单等主要 UI 元素中文本和图标的颜色
// 选中的复选框、范围选择、行悬停、行选择、选定的选项卡下划线、输入焦点轮廓
--ag-background-color
:
rgb
(
247
,
247
,
252
)
!
important
;
// 不要和标题行背景色一样
--ag-header-foreground-color
:
#ffffff
!
important
;
--ag-alpine-active-color
:
var
(
--
my-ag-grid-active
)
!
important
;
--ag-header-background-color
:
rgb
(
166
,
150
,
200
)
!
important
;
--ag-odd-row-background-color
:
rgb
(
247
,
247
,
252
)
!
important
;
// 菜单等主要 UI 元素中文本和图标的颜色
--ag-header-column-resize-handle-color
:
#7e2e84
!
important
;
// 不要和标题行背景色一样
--ag-foreground-color
:
var
(
--
my-ag-grid-active
)
!
important
;
// 背景色
--ag-background-color
:
Var
(
--
my-ag-grid-text
)
!
important
;
--ag-alpine-active-color
:
rgb
(
166
,
150
,
200
)
!
important
;
// 标题行字体色
--ag-selected-row-background-color
:
rgba
(
166
,
150
,
200
,
0
.1
)
!
important
;
--ag-header-foreground-color
:
var
(
--
my-ag-grid-text
)
!
important
;
--ag-range-selection-background-color
:
rgba
(
166
,
150
,
200
,
0
.2
)
!
important
;
// 标题行背景色
--ag-row-hover-color
:
rgba
(
166
,
150
,
200
,
0
.1
)
!
important
;
--ag-header-background-color
:
var
(
--
my-ag-grid-primary
)
!
important
;
--ag-column-hover-color
:
rgba
(
166
,
150
,
200
,
0
.1
)
!
important
;
--ag-input-focus-border-color
:
rgba
(
166
,
150
,
200
,
0
.1
)
!
important
;
--ag-border-color
:
rgb
(
166
,
150
,
200
)
!
important
;
// index为奇数的背景色
--ag-row-border-color
:
rgba
(
166
,
150
,
200
,
0
.2
)
!
important
;
--ag-odd-row-background-color
:
var
(
--
my-ag-grid-primary-light
)
!
important
;
// 标题列调整大小句柄颜色
--ag-header-column-resize-handle-color
:
var
(
--
my-ag-grid-active
)
!
important
;
--ag-font-size
:
17px
;
--ag-selected-row-background-color
:
var
(
--
my-ag-grid-primary-1
)
!
important
;
--ag-font-family
:
monospace
;
--ag-range-selection-background-color
:
var
(
--
my-ag-grid-primary-2
)
!
important
;
--ag-row-hover-color
:
var
(
--
my-ag-grid-primary-1
)
!
important
;
--ag-column-hover-color
:
var
(
--
my-ag-grid-primary-1
)
!
important
;
--ag-input-focus-border-color
:
var
(
--
my-ag-grid-primary-1
)
!
important
;
--ag-border-color
:
var
(
--
my-ag-grid-primary
)
!
important
;
--ag-row-border-color
:
var
(
--
my-ag-grid-primary-1
)
!
important
;
--ag-input-disabled-background-color
:
#fff
!
important
;
.ag-input-field-input
,
.ag-text-field-input
{
color
:
var
(
--
my-ag-grid-primary
)
!
important
;
}
}
}
src/css/quasar.variables.scss
View file @
6bfb907f
...
@@ -56,3 +56,13 @@ $gray-text: rgba(0, 0, 0, 0.871);
...
@@ -56,3 +56,13 @@ $gray-text: rgba(0, 0, 0, 0.871);
$gray-light-text
:
rgba
(
0
,
0
,
0
,
0
.596
);
$gray-light-text
:
rgba
(
0
,
0
,
0
,
0
.596
);
$header-heigyht
:
50px
;
$header-heigyht
:
50px
;
:root
{
--my-ag-grid-primary
:
rgb
(
165
,
189
,
22
);
--my-ag-grid-primary-light
:
rgba
(
165
,
189
,
22
,
0
.05
);
--my-ag-grid-primary-1
:
rgba
(
165
,
189
,
22
,
0
.1
);
--my-ag-grid-primary-2
:
rgba
(
165
,
189
,
22
,
0
.2
);
--my-ag-grid-active
:
rgb
(
127
,
143
,
37
);
--my-ag-grid-text
:
#fff7f7
;
}
src/modules/page9/IndexPage.vue
View file @
6bfb907f
...
@@ -17,6 +17,7 @@ import TransformationAnimation from './element/TransformationAnimation.vue';
...
@@ -17,6 +17,7 @@ import TransformationAnimation from './element/TransformationAnimation.vue';
import
AgGridStudy
from
'./element/AgGridStudy2.vue'
;
import
AgGridStudy
from
'./element/AgGridStudy2.vue'
;
import
AgGridMaster
from
'./element/AgGridMaster.vue'
;
import
AgGridMaster
from
'./element/AgGridMaster.vue'
;
import
AgGridDetailGrids
from
'./element/AgGridDetailGrids.vue'
;
import
AgGridDetailGrids
from
'./element/AgGridDetailGrids.vue'
;
import
AgGridTreeData
from
'./element/AgGridTreeData.vue'
;
const
listData
=
[
const
listData
=
[
{
{
...
@@ -51,10 +52,14 @@ const listData = [
...
@@ -51,10 +52,14 @@ const listData = [
title
:
'Vue Data Grid: Master / Detail - Detail Grids'
,
title
:
'Vue Data Grid: Master / Detail - Detail Grids'
,
name
:
'ag-grid-detail-grids'
,
name
:
'ag-grid-detail-grids'
,
},
},
{
title
:
'Ag Grid 表格树'
,
name
:
'ag-grid-tree-data'
,
},
];
];
const
isShow
=
ref
(
true
);
const
isShow
=
ref
(
true
);
const
elementName
=
ref
(
'ag-grid-
detail-grids
'
);
const
elementName
=
ref
(
'ag-grid-
tree-data
'
);
const
elementTitle
=
ref
(
'
Vue Data Grid: Master / Detail - Detail Grids
'
);
const
elementTitle
=
ref
(
'
Ag Grid 表格树
'
);
function
onclick
(
data
:
any
)
{
function
onclick
(
data
:
any
)
{
elementTitle
.
value
=
data
.
title
;
elementTitle
.
value
=
data
.
title
;
...
@@ -95,6 +100,7 @@ function goBack() {
...
@@ -95,6 +100,7 @@ function goBack() {
<ag-grid-study
v-if=
"elementName === 'ag-grid-study'"
/>
<ag-grid-study
v-if=
"elementName === 'ag-grid-study'"
/>
<ag-grid-master
v-if=
"elementName === 'ag-grid-master'"
/>
<ag-grid-master
v-if=
"elementName === 'ag-grid-master'"
/>
<ag-grid-detail-grids
v-if=
"elementName === 'ag-grid-detail-grids'"
/>
<ag-grid-detail-grids
v-if=
"elementName === 'ag-grid-detail-grids'"
/>
<ag-grid-tree-data
v-if=
"elementName === 'ag-grid-tree-data'"
/>
</div>
</div>
</div>
</div>
<div
v-else
>
<div
v-else
>
...
...
src/modules/page9/auth.json
0 → 100644
View file @
6bfb907f
[
{
"name"
:
"sys/user/read"
,
"title"
:
"System Setting/User Management/Read"
,
"i18n"
:
{
"en-US"
:
"System Setting/User Management/Read"
,
"zh-CN"
:
"系统设置/用户管理/查看"
,
"zh-TW"
:
"系統設置/用戶管理/查看"
}
},
{
"name"
:
"sys/user/create"
,
"title"
:
"System Setting/User Management/Create"
,
"i18n"
:
{
"en-US"
:
"System Setting/User Management/Create"
,
"zh-CN"
:
"系统设置/用户管理/新建"
,
"zh-TW"
:
"系統設置/用戶管理/新建"
}
},
{
"name"
:
"sys/user/edit"
,
"title"
:
"System Setting/User Management/Edit"
,
"i18n"
:
{
"en-US"
:
"System Setting/User Management/Edit"
,
"zh-CN"
:
"系统设置/用户管理/编辑"
,
"zh-TW"
:
"系統設置/用戶管理/編輯"
}
},
{
"name"
:
"sys/user/delete"
,
"title"
:
"System Setting/User Management/Delete"
,
"i18n"
:
{
"en-US"
:
"System Setting/User Management/Delete"
,
"zh-CN"
:
"系统设置/用户管理/删除"
,
"zh-TW"
:
"系統設置/用戶管理/删除"
}
},
{
"name"
:
"sys/user/reset_pwd"
,
"title"
:
"System Setting/User Management/Reset Password"
,
"i18n"
:
{
"en-US"
:
"System Setting/User Management/Reset Password"
,
"zh-CN"
:
"系统设置/用户管理/重置密码"
,
"zh-TW"
:
"系統設置/用戶管理/重置密碼"
}
},
{
"name"
:
"sys/role/read"
,
"title"
:
"System Setting/Role Management/Read"
,
"i18n"
:
{
"en-US"
:
"System Setting/Role Management/Read"
,
"zh-CN"
:
"系统设置/角色管理/查看"
,
"zh-TW"
:
"系統設置/角色管理/查看"
}
},
{
"name"
:
"sys/role/create"
,
"title"
:
"System Setting/Role Management/Create"
,
"i18n"
:
{
"en-US"
:
"System Setting/Role Management/Create"
,
"zh-CN"
:
"系统设置/角色管理/新建"
,
"zh-TW"
:
"系統設置/角色管理/新建"
}
},
{
"name"
:
"sys/role/edit"
,
"title"
:
"System Setting/Role Management/Edit"
,
"i18n"
:
{
"en-US"
:
"System Setting/Role Management/Edit"
,
"zh-CN"
:
"系统设置/角色管理/编辑"
,
"zh-TW"
:
"系統設置/角色管理/編輯"
}
},
{
"name"
:
"sys/role/viewConnectedUsers"
,
"title"
:
"System Setting/Role Management/View connected users"
,
"i18n"
:
{
"en-US"
:
"System Setting/Role Management/View connected users"
,
"zh-CN"
:
"系统设置/角色管理/查看关联用户"
,
"zh-TW"
:
"系統設置/角色管理/查看關聯用戶"
}
},
{
"title"
:
"物流任务管理/历史任务管理/查看用户任务"
,
"name"
:
"logistics_task_mgt/History_mgt/History_User_view"
,
"i18n"
:
{
"en-US"
:
"Logistics Task/History Task Mgt/History View User Task"
,
"zh-CN"
:
"物流任务管理/历史任务管理/查看用户任务"
,
"zh-TW"
:
"物流任務管理/歷史任務管理/查看用戶任務"
}
},
{
"title"
:
"物流任务管理/历史任务管理/查看部门任务"
,
"name"
:
"logistics_task_mgt/History_mgt/History_Workcenter_view"
,
"i18n"
:
{
"en-US"
:
"Logistics Task/History Task Mgt/History View Workcenter Task"
,
"zh-CN"
:
"物流任务管理/历史任务管理/查看部门任务"
,
"zh-TW"
:
"物流任務管理/歷史任務管理/查看部門任務"
}
},
{
"title"
:
"物流任务管理/历史任务管理/查看所有任务"
,
"name"
:
"logistics_task_mgt/History_mgt/History_All_view"
,
"i18n"
:
{
"en-US"
:
"Logistics Task/History Task Mgt/History View All Task"
,
"zh-CN"
:
"物流任务管理/历史任务管理/查看所有任务"
,
"zh-TW"
:
"物流任務管理/歷史任務管理/查看所有任務"
}
},
{
"title"
:
"物流任务管理/历史任务管理/导出任务"
,
"name"
:
"logistics_task_mgt/History_mgt/History_Export_task"
,
"i18n"
:
{
"en-US"
:
"Logistics Task/History Task Mgt/History Export Task"
,
"zh-CN"
:
"物流任务管理/历史任务管理/导出任务"
,
"zh-TW"
:
"物流任務管理/歷史任務管理/導出任務"
}
},
{
"title"
:
"物流任务管理/AGV任务记录/查看"
,
"name"
:
"logistics_task_mgt/agv_task_record/read"
,
"i18n"
:
{
"en-US"
:
"Logistics task mgt/AGV Task Record/Read"
,
"zh-CN"
:
"物流任务管理/AGV任务记录/查看"
,
"zh-TW"
:
"物流任務管理/AGV任務記錄/查看"
}
},
{
"title"
:
"物流任务管理/AGV任务记录/导出"
,
"name"
:
"logistics_task_mgt/agv_task_record/export"
,
"i18n"
:
{
"en-US"
:
"Logistics task mgt/AGV Task Record/Export"
,
"zh-CN"
:
"物流任务管理/AGV任务记录/导出"
,
"zh-TW"
:
"物流任務管理/AGV任務記錄/導出"
}
}
]
src/modules/page9/config.ts
0 → 100644
View file @
6bfb907f
import
DATA
from
'./auth.json'
;
export
const
getData
=
function
()
{
const
myMap1
=
new
Map
();
const
myMap2
=
new
Map
();
const
rowData
=
DATA
.
map
((
item
:
any
)
=>
{
const
data
=
item
.
i18n
;
// Map1
const
nameArr1
=
item
.
name
.
split
(
'/'
);
const
key1
=
nameArr1
[
0
]
+
'/'
+
nameArr1
[
1
];
const
title1
=
data
[
'zh-TW'
].
split
(
'/'
);
const
origin1
=
data
[
'en-US'
].
split
(
'/'
);
const
type1
=
data
[
'zh-CN'
].
split
(
'/'
);
const
obj1
=
{
title
:
title1
[
1
],
origin
:
origin1
[
1
],
type
:
[
type1
[
0
],
type1
[
1
]],
};
if
(
!
myMap1
.
has
(
key1
))
{
myMap1
.
set
(
key1
,
obj1
);
}
// Map2
const
key2
=
nameArr1
[
0
];
const
obj2
=
{
title
:
title1
[
0
],
origin
:
origin1
[
0
],
type
:
[
type1
[
0
]],
};
if
(
!
myMap2
.
has
(
key2
))
{
myMap1
.
set
(
key2
,
obj2
);
}
return
{
title
:
data
[
'zh-TW'
].
split
(
'/'
)[
2
],
origin
:
data
[
'en-US'
].
split
(
'/'
)[
2
],
type
:
data
[
'zh-CN'
].
split
(
'/'
),
};
});
for
(
const
value
of
myMap1
.
values
())
{
rowData
.
push
(
value
);
}
for
(
const
value
of
myMap2
.
values
())
{
rowData
.
push
(
value
);
}
return
rowData
;
// const rowData = [
// {
// title: '系統設置',
// origin: 'System Setting',
// type: ['系统设置'],
// },
// {
// title: '用戶管理',
// origin: 'User Management',
// type: ['系统设置', '用户管理'],
// },
// {
// title: '查看',
// origin: 'Read',
// type: ['系统设置', '用户管理', '查看'],
// },
// {
// title: '新建',
// origin: 'Create',
// type: ['系统设置', '用户管理', '新建'],
// },
// ];
};
src/modules/page9/element/AgGridDetailGrids.vue
View file @
6bfb907f
...
@@ -9,8 +9,9 @@ import Com from 'src/components';
...
@@ -9,8 +9,9 @@ import Com from 'src/components';
import
AG_GRID_LOCALE
from
'src/config/ag-grid-locale'
;
import
AG_GRID_LOCALE
from
'src/config/ag-grid-locale'
;
const
defaultColDef
=
{
const
defaultColDef
=
{
resizable
:
true
,
flex
:
1
,
flex
:
1
,
suppressMenu
:
true
,
//
禁用标题行菜单
suppressMenu
:
false
,
// 是否
禁用标题行菜单
};
};
const
gridApi
=
ref
<
any
>
(
null
);
const
gridApi
=
ref
<
any
>
(
null
);
...
...
src/modules/page9/element/AgGridStudy.vue
View file @
6bfb907f
...
@@ -25,7 +25,7 @@ const gridApi = ref<any>(null);
...
@@ -25,7 +25,7 @@ const gridApi = ref<any>(null);
const
state
=
reactive
({
const
state
=
reactive
({
columnDefs
:
[
columnDefs
:
[
{
field
:
'age'
},
{
field
:
'age'
,
headerName
:
'年龄'
},
{
field
:
'year'
},
{
field
:
'year'
},
{
{
field
:
'country'
,
field
:
'country'
,
...
...
src/modules/page9/element/AgGridStudy2.vue
View file @
6bfb907f
...
@@ -5,6 +5,7 @@
...
@@ -5,6 +5,7 @@
<
script
setup
lang=
"ts"
>
<
script
setup
lang=
"ts"
>
import
{
h
,
ref
,
reactive
,
onMounted
}
from
'vue'
;
import
{
h
,
ref
,
reactive
,
onMounted
}
from
'vue'
;
import
{
AgGridVue
}
from
'ag-grid-vue3'
;
import
{
AgGridVue
}
from
'ag-grid-vue3'
;
import
AG_GRID_LOCALE
from
'src/config/ag-grid-locale'
;
import
AgGridStudyCom
from
'./AgGridStudyCom.vue'
;
import
AgGridStudyCom
from
'./AgGridStudyCom.vue'
;
import
AgGridStudyYearFilter
from
'./AgGridStudyYearFilter.vue'
;
import
AgGridStudyYearFilter
from
'./AgGridStudyYearFilter.vue'
;
...
@@ -40,10 +41,11 @@ const savedFilterModel = ref<any>(null);
...
@@ -40,10 +41,11 @@ const savedFilterModel = ref<any>(null);
const
state
=
reactive
({
const
state
=
reactive
({
columnDefs
:
[
columnDefs
:
[
{
field
:
'age'
,
filter
:
'agNumberColumnFilter'
},
{
field
:
'age'
,
headerName
:
'年龄'
,
filter
:
'agNumberColumnFilter'
},
// { field: 'year', filter: 'agSetColumnFilter' }, // 企业版 https://ag-grid.com/vue-data-grid/filter-set/
// { field: 'year', filter: 'agSetColumnFilter' }, // 企业版 https://ag-grid.com/vue-data-grid/filter-set/
{
{
field
:
'year'
,
field
:
'year'
,
headerName
:
'年份'
,
filter
:
AgGridStudyYearFilter
,
filter
:
AgGridStudyYearFilter
,
filterParams
:
{
filterParams
:
{
title
:
'标题'
,
title
:
'标题'
,
...
@@ -52,6 +54,7 @@ const state = reactive({
...
@@ -52,6 +54,7 @@ const state = reactive({
{
{
field
:
'date'
,
field
:
'date'
,
headerName
:
'日期'
,
filter
:
'agDateColumnFilter'
,
filter
:
'agDateColumnFilter'
,
// https://ag-grid.com/vue-data-grid/filter-date/#date-filter-comparator
// https://ag-grid.com/vue-data-grid/filter-date/#date-filter-comparator
// add extra parameters for the date filter
// add extra parameters for the date filter
...
@@ -84,6 +87,7 @@ const state = reactive({
...
@@ -84,6 +87,7 @@ const state = reactive({
},
},
{
{
field
:
'country'
,
field
:
'country'
,
headerName
:
'国家'
,
filter
:
'agMultiColumnFilter'
,
// 企业版 https://ag-grid.com/vue-data-grid/filter-multi/
filter
:
'agMultiColumnFilter'
,
// 企业版 https://ag-grid.com/vue-data-grid/filter-multi/
cellRenderer
:
AgGridStudyCom
,
cellRenderer
:
AgGridStudyCom
,
cellRendererParams
:
{
cellRendererParams
:
{
...
@@ -96,14 +100,16 @@ const state = reactive({
...
@@ -96,14 +100,16 @@ const state = reactive({
},
},
{
{
field
:
'sport'
,
field
:
'sport'
,
headerName
:
'运动'
,
cellRenderer
:
SimpleComp
,
cellRenderer
:
SimpleComp
,
},
},
{
field
:
'gold'
},
{
field
:
'gold'
,
headerName
:
'金牌'
},
{
field
:
'silver'
},
{
field
:
'silver'
,
headerName
:
'银牌'
},
{
{
field
:
'bronze'
,
field
:
'bronze'
,
headerName
:
'铜牌'
,
cellRendererSelector
:
(
data
:
any
)
=>
{
cellRendererSelector
:
(
data
:
any
)
=>
{
if
(
data
.
value
>
2
)
{
if
(
data
.
value
<
2
)
{
return
{
component
:
SimpleComp
};
return
{
component
:
SimpleComp
};
}
else
{
}
else
{
return
{
return
{
...
@@ -165,6 +171,7 @@ function applyFilterState() {
...
@@ -165,6 +171,7 @@ function applyFilterState() {
<ag-grid-vue
<ag-grid-vue
style=
"height: 500px"
style=
"height: 500px"
class=
"ag-theme-alpine"
class=
"ag-theme-alpine"
:localeText=
"AG_GRID_LOCALE"
:popupParent=
"state.popupParent"
:popupParent=
"state.popupParent"
:columnDefs=
"state.columnDefs"
:columnDefs=
"state.columnDefs"
:rowData=
"state.rowData"
:rowData=
"state.rowData"
...
...
src/modules/page9/element/AgGridTreeData.vue
0 → 100644
View file @
6bfb907f
<!--
* AG-grid 表格树
* https://www.ag-grid.com/vue-data-grid/tree-data/
-->
<
script
setup
lang=
"ts"
>
import
{
ref
,
reactive
,
onMounted
}
from
'vue'
;
import
{
AgGridVue
}
from
'ag-grid-vue3'
;
import
AG_GRID_LOCALE
from
'src/config/ag-grid-locale'
;
import
{
getData
}
from
'../config'
;
const
defaultColDef
=
{
resizable
:
true
,
flex
:
1
,
suppressMenu
:
false
,
// 是否禁用标题行菜单
};
const
gridApi
=
ref
<
any
>
(
null
);
const
gridColumnApi
=
ref
<
any
>
(
null
);
const
state
=
reactive
({
columnDefs
:
[
{
field
:
'title'
,
headerName
:
'繁体'
},
{
field
:
'origin'
,
headerName
:
'英文'
},
],
rowData
:
[]
as
any
,
});
const
autoGroupColumnDef
=
reactive
({
headerName
:
'名称'
,
minWidth
:
300
,
cellRendererParams
:
{
suppressMenu
:
true
,
},
});
onMounted
(()
=>
{
setTimeout
(()
=>
{
state
.
rowData
=
getData
();
console
.
log
(
'rowData'
,
state
.
rowData
);
},
1000
);
});
function
onGridReady
(
params
:
any
)
{
gridApi
.
value
=
params
.
api
;
gridColumnApi
.
value
=
params
.
columnApi
;
}
function
getDataPath
(
data
:
any
)
{
return
data
.
type
;
}
</
script
>
<
template
>
<div
class=
"box"
>
<!--
rowSelection="multiple":多选,按住control键多选;【control+shift+鼠标点击】可选中多行
animateRows=true:启用行动画
:masterDetail="true" 启用展开的细节网格行
:isRowMaster="isRowMaster" 确定哪一个行该展开
-->
<div>
<ag-grid-vue
style=
"height: 500px"
class=
"ag-theme-alpine"
:localeText=
"AG_GRID_LOCALE"
:columnDefs=
"state.columnDefs"
:rowData=
"state.rowData"
:defaultColDef=
"defaultColDef"
:animateRows=
"true"
:pagination=
"true"
:paginationPageSize=
"5"
@
grid-ready=
"onGridReady"
:treeData=
"true"
:getDataPath=
"getDataPath"
:autoGroupColumnDef=
"autoGroupColumnDef"
:groupDefaultExpanded=
"-1"
>
</ag-grid-vue>
</div>
</div>
</
template
>
<
style
lang=
"scss"
scoped
></
style
>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment