Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
front-backend
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
framework
front-backend
Commits
a4d74a3a
Commit
a4d74a3a
authored
Nov 17, 2019
by
dqjdda
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
代码生成器优化
parent
ece50a3e
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
41 additions
and
200 deletions
+41
-200
src/api/dict.js
+7
-0
src/api/genConfig.js
+2
-2
src/api/generator.js
+17
-0
src/router/routers.js
+14
-14
src/views/generator/config.vue
+0
-0
src/views/generator/generator.vue
+0
-181
src/views/generator/index.vue
+1
-3
No files found.
src/api/dict.js
View file @
a4d74a3a
import
request
from
'@/utils/request'
import
request
from
'@/utils/request'
export
function
getDicts
()
{
return
request
({
url
:
'api/dict/all'
,
method
:
'get'
})
}
export
function
add
(
data
)
{
export
function
add
(
data
)
{
return
request
({
return
request
({
url
:
'api/dict'
,
url
:
'api/dict'
,
...
...
src/api/genConfig.js
View file @
a4d74a3a
import
request
from
'@/utils/request'
import
request
from
'@/utils/request'
export
function
get
()
{
export
function
get
(
tableName
)
{
return
request
({
return
request
({
url
:
'api/genConfig
'
,
url
:
'api/genConfig
/'
+
tableName
,
method
:
'get'
method
:
'get'
})
})
}
}
...
...
src/api/generator.js
View file @
a4d74a3a
import
request
from
'@/utils/request'
import
request
from
'@/utils/request'
// export function getAllTable() {
// return request({
// url: 'api/generator?tableName=' + tableName,
// data,
// method: 'post'
// })
// }
export
function
generator
(
data
,
tableName
)
{
export
function
generator
(
data
,
tableName
)
{
return
request
({
return
request
({
url
:
'api/generator?tableName='
+
tableName
,
url
:
'api/generator?tableName='
+
tableName
,
...
@@ -7,3 +15,12 @@ export function generator(data, tableName) {
...
@@ -7,3 +15,12 @@ export function generator(data, tableName) {
method
:
'post'
method
:
'post'
})
})
}
}
export
function
save
(
data
)
{
return
request
({
url
:
'api/generator'
,
data
,
method
:
'put'
})
}
src/router/routers.js
View file @
a4d74a3a
...
@@ -72,21 +72,21 @@ export const constantRouterMap = [
...
@@ -72,21 +72,21 @@ export const constantRouterMap = [
meta
:
{
title
:
'个人中心'
}
meta
:
{
title
:
'个人中心'
}
}
}
]
]
},
{
path
:
'/generator'
,
component
:
Layout
,
hidden
:
true
,
redirect
:
'noredirect'
,
children
:
[
{
path
:
'config/:tableName'
,
component
:
()
=>
import
(
'@/views/generator/config'
),
name
:
'GeneratorIndex'
,
meta
:
{
title
:
'生成配置'
}
}
]
}
}
// {
// path: '/generator',
// component: Layout,
// hidden: true,
// redirect: 'noredirect',
// children: [
// {
// path: 'config/:tableName',
// component: () => import('@/views/generator/config'),
// name: 'GeneratorIndex',
// meta: { title: '生成配置' }
// }
// ]
// }
// { path: '*', redirect: '/404', hidden: true }
// { path: '*', redirect: '/404', hidden: true }
]
]
...
...
src/views/generator/config.vue
View file @
a4d74a3a
This diff is collapsed.
Click to expand it.
src/views/generator/generator.vue
deleted
100644 → 0
View file @
ece50a3e
<
template
>
<div>
<el-button
type=
"primary"
icon=
"el-icon-position"
size=
"mini"
@
click=
"toGen"
/>
<el-dialog
:visible
.
sync=
"dialog"
:close-on-click-modal=
"false"
:before-close=
"cancel"
title=
"代码生成配置"
append-to-body
width=
"880px"
>
<el-form
ref=
"form"
:inline=
"true"
:model=
"form"
:rules=
"rules"
size=
"small"
label-width=
"90px"
>
<el-form-item
label=
"模块名称"
prop=
"moduleName"
>
<el-input
v-model=
"form.moduleName"
/>
</el-form-item>
<el-form-item
label=
"至于包下"
prop=
"pack"
>
<el-input
v-model=
"form.pack"
/>
</el-form-item>
<el-form-item
label=
"前端路径"
prop=
"path"
>
<el-input
v-model=
"form.path"
/>
</el-form-item>
<el-table
v-loading=
"loading"
:data=
"data"
size=
"small"
style=
"width: 100%;margin-bottom: 15px"
>
<el-table-column
label=
"序号"
width=
"80"
align=
"center"
>
<template
slot-scope=
"scope"
>
<div>
{{
scope
.
$index
+
1
}}
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"columnName"
label=
"字段名称"
/>
<el-table-column
prop=
"columnType"
label=
"字段类型"
/>
<el-table-column
prop=
"columnComment"
label=
"字段标题"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"data[scope.$index].columnComment"
class=
"edit-input"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"查询方式"
>
<
template
slot-scope=
"scope"
>
<el-select
v-model=
"data[scope.$index].columnQuery"
class=
"edit-input"
clearable
placeholder=
"请选择"
>
<el-option
label=
"模糊查询"
value=
"1"
/>
<el-option
label=
"精确查询"
value=
"2"
/>
</el-select>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
prop=
"columnShow"
label=
"列表显示"
>
<
template
slot-scope=
"scope"
>
<el-tooltip
:content=
"scope.row.columnShow === 'true' ?'显示':'不显示'"
placement=
"top"
>
<el-switch
v-model=
"data[scope.$index].columnShow"
active-color=
"#13ce66"
inactive-color=
"#ff4949"
active-value=
"true"
inactive-value=
"false"
/>
</el-tooltip>
</
template
>
</el-table-column>
</el-table>
<el-form-item
label=
"作者名称"
prop=
"author"
>
<el-input
v-model=
"form.author"
/>
</el-form-item>
<el-form-item
label=
"去表前缀"
prop=
"prefix"
>
<el-input
v-model=
"form.prefix"
placeholder=
"默认不去除表前缀"
/>
</el-form-item>
<!-- 可自定义显示配置 -->
<!-- <el-form-item label="Api路径">-->
<!-- <el-input v-model="form.apiPath"/>-->
<!-- </el-form-item>-->
<el-form-item
label=
"是否覆盖"
prop=
"cover"
>
<el-radio-group
v-model=
"form.cover"
size=
"mini"
>
<el-radio-button
label=
"true"
>
是
</el-radio-button>
<el-radio-button
label=
"false"
>
否
</el-radio-button>
</el-radio-group>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"text"
@
click=
"cancel"
>
取消
</el-button>
<el-button
:loading=
"genLoading"
type=
"primary"
@
click=
"doSubmit"
>
生成
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
initData
from
'@/mixins/initData'
import
{
update
,
get
}
from
'@/api/genConfig'
import
{
generator
}
from
'@/api/generator'
export
default
{
name
:
'Generator'
,
mixins
:
[
initData
],
props
:
{
name
:
{
type
:
String
,
required
:
true
}
},
data
()
{
return
{
genLoading
:
false
,
dialog
:
false
,
columnQuery
:
''
,
form
:
{
author
:
''
,
pack
:
''
,
path
:
''
,
moduleName
:
''
,
cover
:
'false'
,
apiPath
:
''
,
prefix
:
''
},
rules
:
{
author
:
[
{
required
:
true
,
message
:
'作者不能为空'
,
trigger
:
'blur'
}
],
pack
:
[
{
required
:
true
,
message
:
'包路径不能为空'
,
trigger
:
'blur'
}
],
moduleName
:
[
{
required
:
true
,
message
:
'包路径不能为空'
,
trigger
:
'blur'
}
],
path
:
[
{
required
:
true
,
message
:
'前端代码生成路径不能为空'
,
trigger
:
'blur'
}
],
cover
:
[
{
required
:
true
,
message
:
'不能为空'
,
trigger
:
'blur'
}
]
}
}
},
methods
:
{
toGen
()
{
this
.
dialog
=
true
this
.
$nextTick
(()
=>
{
this
.
init
()
get
().
then
(
data
=>
{
this
.
form
=
data
this
.
form
.
cover
=
this
.
form
.
cover
.
toString
()
})
})
},
beforeInit
()
{
this
.
url
=
'api/generator/columns'
const
tableName
=
this
.
name
this
.
params
=
{
tableName
}
return
true
},
cancel
()
{
this
.
dialog
=
false
this
.
genLoading
=
false
this
.
$refs
[
'form'
].
resetFields
()
this
.
form
=
{
author
:
''
,
pack
:
''
,
path
:
''
,
moduleName
:
''
,
cover
:
'false'
,
apiPath
:
''
,
prefix
:
''
}
},
doSubmit
()
{
this
.
genLoading
=
true
this
.
$refs
[
'form'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
update
(
this
.
form
).
then
(
res
=>
{
generator
(
this
.
data
,
this
.
name
).
then
(
res
=>
{
this
.
$notify
({
title
:
'生成成功'
,
type
:
'success'
,
duration
:
2500
})
this
.
cancel
()
}).
catch
(
err
=>
{
this
.
cancel
()
console
.
log
(
err
.
response
.
data
.
message
)
})
}).
catch
(
err
=>
{
this
.
cancel
()
console
.
log
(
err
.
response
.
data
.
message
)
})
}
else
{
return
false
}
})
}
}
}
</
script
>
<
style
rel=
"stylesheet/scss"
lang=
"scss"
>
.edit-input
{
.el-input__inner
{
border
:
none
;
}
}
</
style
>
<
style
scoped
>
/
deep
/
.el-dialog__body
{
padding-bottom
:
5px
;
}
/
deep
/
.input-with-select
.el-input-group__prepend
{
background-color
:
#fff
;
}
</
style
>
src/views/generator/index.vue
View file @
a4d74a3a
...
@@ -25,7 +25,7 @@
...
@@ -25,7 +25,7 @@
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
style=
"margin-right: 2px"
type=
"text"
>
预览
</el-button>
<el-button
size=
"mini"
style=
"margin-right: 2px"
type=
"text"
>
预览
</el-button>
<el-button
size=
"mini"
style=
"margin-left: -1px;margin-right: 2px"
type=
"text"
>
<el-button
size=
"mini"
style=
"margin-left: -1px;margin-right: 2px"
type=
"text"
>
<router-link
:to=
"'/generator/config/' + scope.row.tableName"
>
<router-link
:to=
"'/
sys-tools/
generator/config/' + scope.row.tableName"
>
编辑
编辑
</router-link>
</router-link>
</el-button>
</el-button>
...
@@ -47,10 +47,8 @@
...
@@ -47,10 +47,8 @@
<
script
>
<
script
>
import
initData
from
'@/mixins/initData'
import
initData
from
'@/mixins/initData'
import
{
parseTime
}
from
'@/utils/index'
import
{
parseTime
}
from
'@/utils/index'
import
Generator
from
'./generator'
export
default
{
export
default
{
name
:
'GeneratorIndex'
,
name
:
'GeneratorIndex'
,
components
:
{
Generator
},
mixins
:
[
initData
],
mixins
:
[
initData
],
data
()
{
data
()
{
return
{
return
{
...
...
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