Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
VueElementTemplate
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄瑜
VueElementTemplate
Commits
09f8dc0f
Commit
09f8dc0f
authored
Mar 15, 2018
by
杨柠瑞
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加外链支持
parent
32acc360
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
92 additions
and
6 deletions
+92
-6
HmComplexTable.vue
src/views/haomo/components/tables/HmComplexTable.vue
+57
-3
index.vue
src/views/haomo/components/tables/index.vue
+27
-2
hm_org_schema.js
src/views/haomo/schemas/hm_org_schema.js
+8
-1
No files found.
src/views/haomo/components/tables/HmComplexTable.vue
View file @
09f8dc0f
...
@@ -149,6 +149,32 @@
...
@@ -149,6 +149,32 @@
type
:
Array
,
type
:
Array
,
required
:
false
required
:
false
},
},
/**
* 用来将本表的外链字段(table_id类似的字段)指向的外链表相关联, 格式为:
* {
* "hm_user": { //外链表 表名 本表所对应的主键表)
* includes:['user_id'] // 与主表所对应的外键
* }
* }
*
*/
includes
:
{
type
:
Object
,
required
:
false
},
/**
* 用来将其他表的外链字段指向本表关联,同时返回数据, 格式为:
* {
* 'auth_token': { //主键id所对应的外键表 表名1 (本表所对应的外键表)
* includes: ['user_id'] //外键表的外键字段
* }
* }
*/
refers
:
{
type
:
Object
,
required
:
false
},
/**
/**
* 指定要显示的列。默认为根据schema得到的所有列。完整示例为:
* 指定要显示的列。默认为根据schema得到的所有列。完整示例为:
* [
* [
...
@@ -192,7 +218,11 @@
...
@@ -192,7 +218,11 @@
* "showRefresh": false, //默认不显示刷新按钮
* "showRefresh": false, //默认不显示刷新按钮
* "showDeleteButton": false, //默认不显示删除按钮
* "showDeleteButton": false, //默认不显示删除按钮
* "buttonGroup": false //默认不以按钮组的方式呈现button
* "buttonGroup": false //默认不以按钮组的方式呈现button
* showDetail: false // 默认不显示详情
* showDetail: {
* isShow: false, // 默认不显示详情
* showColumns: ['mobile', 'loginid', 'username', 'email']
* },
* dataProcessing(value){} // 对接口返回数据进行处理
* "changeValue": { // 数据库字段转化显示,例如(0=否,1=是)
* "changeValue": { // 数据库字段转化显示,例如(0=否,1=是)
* username: {1: '是', 0: '否'}
* username: {1: '是', 0: '否'}
* },
* },
...
@@ -341,7 +371,10 @@
...
@@ -341,7 +371,10 @@
const
tableName
=
self
.
schema
[
'modelUnderscore'
]
const
tableName
=
self
.
schema
[
'modelUnderscore'
]
const
filters
=
{}
const
filters
=
{}
filters
[
tableName
]
=
{}
filters
[
tableName
]
=
{}
_
.
each
(
_
.
cloneDeep
(
self
.
filters
),
function
(
filter
)
{
_
.
each
(
_
.
cloneDeep
(
self
.
filters
),
function
(
filter
,
index
)
{
if
(
filter
.
isShow
===
undefined
)
{
self
.
filters
[
index
].
isShow
=
true
}
filters
[
tableName
]
=
Object
.
assign
(
filters
[
tableName
],
filter
)
filters
[
tableName
]
=
Object
.
assign
(
filters
[
tableName
],
filter
)
})
})
delete
filters
[
tableName
][
'placeholder'
]
delete
filters
[
tableName
][
'placeholder'
]
...
@@ -388,13 +421,34 @@
...
@@ -388,13 +421,34 @@
params
.
filters
=
self
.
filterParams
params
.
filters
=
self
.
filterParams
params
.
filters
=
this
.
deleteFilter
(
params
.
filters
)
params
.
filters
=
this
.
deleteFilter
(
params
.
filters
)
if
(
self
.
includes
)
{
params
.
includes
=
self
.
includes
}
if
(
self
.
refers
)
{
params
.
refers
=
self
.
refers
}
request
(
self
.
schema
.
modelUnderscorePlural
,
{
request
(
self
.
schema
.
modelUnderscorePlural
,
{
params
:
params
params
:
params
}).
then
(
resp
=>
{
}).
then
(
resp
=>
{
// 数据库字段转化显示
if
(
self
.
options
.
changeValue
)
{
if
(
self
.
options
.
changeValue
)
{
resp
.
data
=
self
.
changeValue
(
resp
.
data
)
resp
.
data
=
self
.
changeValue
(
resp
.
data
)
}
}
self
.
list
=
resp
.
data
if
(
resp
.
data
[
0
].
superior
!==
undefined
&&
resp
.
data
[
0
].
includes
!==
undefined
&&
resp
.
data
[
0
].
refers
!==
undefined
&&
resp
.
data
[
0
].
relates
!==
undefined
)
{
self
.
list
=
[]
_
.
each
(
resp
.
data
,
function
(
item
,
index
)
{
self
.
list
.
push
(
item
.
superior
)
})
}
else
{
self
.
list
=
resp
.
data
}
// 数据处理
if
(
self
.
options
.
dataProcessing
)
{
self
.
list
=
self
.
options
.
dataProcessing
(
resp
.
data
)
}
self
.
total
=
parseInt
(
resp
.
headers
.
total
)
self
.
total
=
parseInt
(
resp
.
headers
.
total
)
self
.
listLoading
=
false
self
.
listLoading
=
false
})
})
...
...
src/views/haomo/components/tables/index.vue
View file @
09f8dc0f
...
@@ -3,6 +3,8 @@
...
@@ -3,6 +3,8 @@
<hm-complex-table
:schema=
"schema['HmUser']"
<hm-complex-table
:schema=
"schema['HmUser']"
:columns=
"showUserColumns"
:columns=
"showUserColumns"
:filters=
"userFilters"
:filters=
"userFilters"
:includes=
"userIncludes"
:refers=
"userRefers"
:options=
"userOptions"
></hm-complex-table>
:options=
"userOptions"
></hm-complex-table>
</div>
</div>
</
template
>
</
template
>
...
@@ -10,6 +12,7 @@
...
@@ -10,6 +12,7 @@
<
script
>
<
script
>
import
HmComplexTable
from
'./HmComplexTable.vue'
import
HmComplexTable
from
'./HmComplexTable.vue'
import
schema
from
'../../schemas/hm_org_schema'
import
schema
from
'../../schemas/hm_org_schema'
import
_
from
'lodash'
export
default
{
export
default
{
name
:
'HmComplexTableIndex'
,
name
:
'HmComplexTableIndex'
,
...
@@ -21,11 +24,21 @@
...
@@ -21,11 +24,21 @@
},
},
data
()
{
data
()
{
return
{
return
{
showUserColumns
:
[
'mobile'
,
'loginid'
,
'username'
,
'email'
,
'securityLevel'
],
showUserColumns
:
[
'mobile'
,
'loginid'
,
'username'
,
'email'
],
userFilters
:
[
userFilters
:
[
{
placeholder
:
'过滤手机号'
,
'mobile'
:
{
'like'
:
''
},
isShow
:
true
},
{
placeholder
:
'过滤手机号'
,
'mobile'
:
{
'like'
:
''
},
isShow
:
true
},
{
placeholder
:
'过滤用户名'
,
'username'
:
{
'equalTo'
:
''
},
isShow
:
true
}
{
placeholder
:
'过滤用户名'
,
'username'
:
{
'equalTo'
:
''
},
isShow
:
true
}
]
],
userIncludes
:
{
'hm_user'
:
{
includes
:
[
'user_id'
]
}
},
userRefers
:
{
'auth_token'
:
{
includes
:
[
'userId'
]
}
}
}
}
},
},
filters
:
{
filters
:
{
...
@@ -67,6 +80,18 @@
...
@@ -67,6 +80,18 @@
showDetail
:
{
showDetail
:
{
isShow
:
true
,
isShow
:
true
,
showColumns
:
[
'mobile'
,
'loginid'
,
'username'
,
'email'
]
showColumns
:
[
'mobile'
,
'loginid'
,
'username'
,
'email'
]
},
dataProcessing
(
value
)
{
let
list
=
[]
if
(
value
[
0
].
superior
!==
undefined
&&
value
[
0
].
includes
!==
undefined
&&
value
[
0
].
refers
!==
undefined
&&
value
[
0
].
relates
!==
undefined
)
{
_
.
each
(
value
,
function
(
item
,
index
)
{
list
.
push
(
item
.
superior
)
})
}
else
{
list
=
value
}
return
list
}
}
}
}
},
},
...
...
src/views/haomo/schemas/hm_org_schema.js
View file @
09f8dc0f
...
@@ -3487,7 +3487,7 @@ const ModelSchema = {
...
@@ -3487,7 +3487,7 @@ const ModelSchema = {
]
]
},
},
'HmUser'
:
{
'HmUser'
:
{
'model'
:
'HmUser
3
'
,
'model'
:
'HmUser'
,
'modelPlural'
:
'HmUsers'
,
'modelPlural'
:
'HmUsers'
,
'modelCamel'
:
'hmUser'
,
'modelCamel'
:
'hmUser'
,
'modelCamelPlural'
:
'hmUsers'
,
'modelCamelPlural'
:
'hmUsers'
,
...
@@ -3505,6 +3505,13 @@ const ModelSchema = {
...
@@ -3505,6 +3505,13 @@ const ModelSchema = {
'modifier'
:
'yide'
,
'modifier'
:
'yide'
,
'dataType'
:
'varchar(256)'
,
'dataType'
:
'varchar(256)'
,
'length'
:
'256'
,
'length'
:
'256'
,
'foreignTable'
:
{
'model'
:
'authToken'
,
'modelCamel'
:
'authToken'
,
'modelCamelPlural'
:
'authTokens'
,
'modelUnderscore'
:
'auth_token'
,
'modelUnderscorePlural'
:
'auth_tokens'
},
'codeCamel'
:
'username'
,
'codeCamel'
:
'username'
,
'codeCamelPlural'
:
'usernames'
,
'codeCamelPlural'
:
'usernames'
,
'codeUnderscore'
:
'username'
,
'codeUnderscore'
:
'username'
,
...
...
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