Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
祺技世界
gin-vue-admin
提交
8560f2f0
G
gin-vue-admin
项目概览
祺技世界
/
gin-vue-admin
与 Fork 源项目一致
Fork自
FLIPPED-AURORA / gin-vue-admin
通知
6
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gin-vue-admin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
8560f2f0
编写于
7月 18, 2020
作者:
Mr.奇淼(
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
代码生成器支持直接使用字典
修复查询涉及sql关键字时sql语句报错问题
上级
323236e7
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
213 addition
and
152 deletion
+213
-152
web/src/components/mixins/infoList.js
web/src/components/mixins/infoList.js
+9
-0
web/src/view/systemTools/autoCode/component/fieldDialog.vue
web/src/view/systemTools/autoCode/component/fieldDialog.vue
+199
-150
web/src/view/systemTools/autoCode/index.vue
web/src/view/systemTools/autoCode/index.vue
+5
-2
未找到文件。
web/src/components/mixins/infoList.js
浏览文件 @
8560f2f0
import
{
getDict
}
from
"
@/utils/dictionary
"
;
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
...
@@ -9,6 +10,14 @@ export default {
...
@@ -9,6 +10,14 @@ export default {
}
}
},
},
methods
:
{
methods
:
{
filterDict
(
value
,
type
){
const
rowLabel
=
this
[
type
+
"
Options
"
]
&&
this
[
type
+
"
Options
"
].
filter
(
item
=>
item
.
value
==
value
)
return
rowLabel
&&
rowLabel
[
0
]
&&
rowLabel
[
0
].
label
},
async
getDict
(
type
){
const
dicts
=
await
getDict
(
type
)
this
[
type
+
"
Options
"
]
=
dicts
},
handleSizeChange
(
val
)
{
handleSizeChange
(
val
)
{
this
.
pageSize
=
val
this
.
pageSize
=
val
this
.
getTableData
()
this
.
getTableData
()
...
...
web/src/view/systemTools/autoCode/component/fieldDialog.vue
浏览文件 @
8560f2f0
<
template
>
<
template
>
<div>
<div>
<span
style=
"color:red"
>
搜索时如果条件为LIKE只支持字符串
</span>
<span
style=
"color:red"
>
搜索时如果条件为LIKE只支持字符串
</span>
<el-form
:model=
"dialogMiddle"
ref=
"fieldDialogFrom"
label-width=
"120px"
label-position=
"left"
:rules=
"rules"
>
<el-form
<el-form-item
label=
"Field名称"
prop=
"fieldName"
>
:model=
"dialogMiddle"
<el-col
:span=
"6"
>
ref=
"fieldDialogFrom"
<el-input
v-model=
"dialogMiddle.fieldName"
autocomplete=
"off"
></el-input>
label-width=
"120px"
</el-col>
label-position=
"left"
</el-form-item>
:rules=
"rules"
<el-form-item
label=
"Field中文名"
prop=
"fieldDesc"
>
>
<el-col
:span=
"6"
>
<el-form-item
label=
"Field名称"
prop=
"fieldName"
>
<el-input
v-model=
"dialogMiddle.fieldDesc"
autocomplete=
"off"
></el-input>
<el-col
:span=
"6"
>
</el-col>
<el-input
v-model=
"dialogMiddle.fieldName"
autocomplete=
"off"
></el-input>
</el-form-item>
</el-col>
<el-form-item
label=
"FieldJSON"
prop=
"fieldJson"
>
</el-form-item>
<el-col
:span=
"6"
>
<el-form-item
label=
"Field中文名"
prop=
"fieldDesc"
>
<el-input
v-model=
"dialogMiddle.fieldJson"
autocomplete=
"off"
></el-input>
<el-col
:span=
"6"
>
</el-col>
<el-input
v-model=
"dialogMiddle.fieldDesc"
autocomplete=
"off"
></el-input>
</el-form-item>
</el-col>
<el-form-item
label=
"数据库字段名"
prop=
"columnName"
>
</el-form-item>
<el-col
:span=
"6"
>
<el-form-item
label=
"FieldJSON"
prop=
"fieldJson"
>
<el-input
v-model=
"dialogMiddle.columnName"
autocomplete=
"off"
></el-input>
<el-col
:span=
"6"
>
</el-col>
<el-input
v-model=
"dialogMiddle.fieldJson"
autocomplete=
"off"
></el-input>
</el-form-item>
</el-col>
<el-form-item
label=
"数据库字段描述"
prop=
"comment"
>
</el-form-item>
<el-col
:span=
"6"
>
<el-form-item
label=
"数据库字段名"
prop=
"columnName"
>
<el-input
v-model=
"dialogMiddle.comment"
autocomplete=
"off"
></el-input>
<el-col
:span=
"6"
>
</el-col>
<el-input
v-model=
"dialogMiddle.columnName"
autocomplete=
"off"
></el-input>
</el-form-item>
</el-col>
<el-form-item
label=
"Field数据类型"
prop=
"fieldType"
>
</el-form-item>
<el-col
:span=
"8"
>
<el-form-item
label=
"数据库字段描述"
prop=
"comment"
>
<el-select
v-model=
"dialogMiddle.fieldType"
placeholder=
"请选择field数据类型"
@
change=
"getDbfdOptions"
clearable
>
<el-col
:span=
"6"
>
<el-option
<el-input
v-model=
"dialogMiddle.comment"
autocomplete=
"off"
></el-input>
v-for=
"item in typeOptions"
</el-col>
:key=
"item.value"
</el-form-item>
:label=
"item.label"
<el-form-item
label=
"Field数据类型"
prop=
"fieldType"
>
:value=
"item.value"
>
<el-col
:span=
"8"
>
</el-option>
<el-select
</el-select>
v-model=
"dialogMiddle.fieldType"
</el-col>
placeholder=
"请选择field数据类型"
</el-form-item>
@
change=
"getDbfdOptions"
clearable
>
<el-option
v-for=
"item in typeOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-col>
</el-form-item>
<el-form-item
label=
"数据库字段类型"
prop=
"dataType"
>
<el-form-item
label=
"数据库字段类型"
prop=
"dataType"
>
<el-col
:span=
"8"
>
<el-col
:span=
"8"
>
<el-select
:disabled=
"!dialogMiddle.fieldType"
v-model=
"dialogMiddle.dataType"
placeholder=
"请选择数据库字段类型"
clearable
>
<el-select
<el-option
:disabled=
"!dialogMiddle.fieldType"
v-for=
"item in dbfdOptions"
v-model=
"dialogMiddle.dataType"
:key=
"item.label"
placeholder=
"请选择数据库字段类型"
:label=
"item.label"
clearable
:value=
"item.label"
>
>
</el-option>
<el-option
</el-select>
v-for=
"item in dbfdOptions"
</el-col>
:key=
"item.label"
</el-form-item>
:label=
"item.label"
<el-form-item
label=
"数据库字段长度"
prop=
"dataTypeLong"
>
:value=
"item.label"
<el-col
:span=
"6"
>
></el-option>
<el-input
:disabled=
"!dialogMiddle.dataType"
v-model=
"dialogMiddle.dataTypeLong"
></el-input>
</el-select>
</el-col>
</el-col>
</el-form-item>
</el-form-item>
<el-form-item
label=
"Field查询条件"
prop=
"fieldSearchType"
>
<el-form-item
label=
"数据库字段长度"
prop=
"dataTypeLong"
>
<el-col
:span=
"8"
>
<el-col
:span=
"6"
>
<el-select
v-model=
"dialogMiddle.fieldSearchType"
placeholder=
"请选择Field查询条件"
clearable
>
<el-input
:disabled=
"!dialogMiddle.dataType"
v-model=
"dialogMiddle.dataTypeLong"
></el-input>
<el-option
</el-col>
v-for=
"item in typeSearchOptions"
</el-form-item>
:key=
"item.value"
<el-form-item
label=
"Field查询条件"
prop=
"fieldSearchType"
>
:label=
"item.label"
<el-col
:span=
"8"
>
:value=
"item.value"
>
<el-select
v-model=
"dialogMiddle.fieldSearchType"
placeholder=
"请选择Field查询条件"
clearable
>
</el-option>
<el-option
</el-select>
v-for=
"item in typeSearchOptions"
</el-col>
:key=
"item.value"
</el-form-item>
:label=
"item.label"
</el-form>
:value=
"item.value"
</div>
></el-option>
</el-select>
</el-col>
</el-form-item>
<el-form-item
label=
"关联字典"
prop=
"dictType"
>
<el-col
:span=
"8"
>
<el-select
:disabled=
"dialogMiddle.fieldType!='int'"
v-model=
"dialogMiddle.dictType"
placeholder=
"请选择字典"
clearable
>
<el-option
v-for=
"item in dictOptions"
:key=
"item.type"
:label=
"`$
{item.type}(${item.name})`"
:value="item.type"
>
</el-option>
</el-select>
</el-col>
</el-form-item>
</el-form>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
{
getDict
}
from
'
@/utils/dictionary
'
import
{
getDict
}
from
"
@/utils/dictionary
"
;
import
{
getSysDictionaryList
}
from
"
@/api/sysDictionary
"
;
export
default
{
export
default
{
name
:
"
FieldDialog
"
,
name
:
"
FieldDialog
"
,
props
:{
props
:
{
dialogMiddle
:{
dialogMiddle
:
{
type
:
Object
,
type
:
Object
,
default
:
function
(){
default
:
function
()
{
return
{}
return
{};
}
}
}
}
},
},
data
(){
data
()
{
return
{
return
{
dbfdOptions
:[],
dbfdOptions
:
[],
visible
:
false
,
visible
:
false
,
typeSearchOptions
:[
dictOptions
:
[],
{
typeSearchOptions
:
[
label
:
"
=
"
,
{
value
:
"
=
"
label
:
"
=
"
,
},
value
:
"
=
"
{
},
label
:
"
<>
"
,
{
value
:
"
<>
"
label
:
"
<>
"
,
},
value
:
"
<>
"
{
},
label
:
"
>
"
,
{
value
:
"
>
"
label
:
"
>
"
,
},
value
:
"
>
"
{
},
label
:
"
<
"
,
{
value
:
"
<
"
label
:
"
<
"
,
},
value
:
"
<
"
{
},
label
:
"
LIKE
"
,
{
value
:
"
LIKE
"
label
:
"
LIKE
"
,
},
value
:
"
LIKE
"
],
typeOptions
:[
{
label
:
"
字符串
"
,
value
:
"
string
"
},
{
label
:
"
整型
"
,
value
:
"
int
"
},
{
label
:
"
布尔值
"
,
value
:
"
bool
"
},
{
label
:
"
浮点型
"
,
value
:
"
float64
"
},
{
label
:
"
时间
"
,
value
:
"
time.Time
"
},
],
rules
:{
fieldName
:[
{
required
:
true
,
message
:
'
请输入field英文名
'
,
trigger
:
'
blur
'
}],
fieldDesc
:[
{
required
:
true
,
message
:
'
请输入field中文名
'
,
trigger
:
'
blur
'
}],
fieldJson
:[
{
required
:
true
,
message
:
'
请输入field格式化json
'
,
trigger
:
'
blur
'
}],
columnName
:[{
required
:
true
,
message
:
'
请输入数据库字段
'
,
trigger
:
'
blur
'
}],
fieldType
:[
{
required
:
true
,
message
:
'
请选择field数据类型
'
,
trigger
:
'
blur
'
}]
}
}
}
},
],
methods
:
{
typeOptions
:
[
async
getDbfdOptions
(){
{
if
(
this
.
dialogMiddle
.
fieldType
){
label
:
"
字符串
"
,
const
res
=
await
getDict
(
this
.
dialogMiddle
.
fieldType
)
value
:
"
string
"
this
.
dbfdOptions
=
res
},
}
{
label
:
"
整型
"
,
value
:
"
int
"
},
{
label
:
"
布尔值
"
,
value
:
"
bool
"
},
{
label
:
"
浮点型
"
,
value
:
"
float64
"
},
{
label
:
"
时间
"
,
value
:
"
time.Time
"
}
}
},
],
created
()
{
rules
:
{
this
.
getDbfdOptions
()
fieldName
:
[
},
{
required
:
true
,
message
:
"
请输入field英文名
"
,
trigger
:
"
blur
"
}
}
],
fieldDesc
:
[
{
required
:
true
,
message
:
"
请输入field中文名
"
,
trigger
:
"
blur
"
}
],
fieldJson
:
[
{
required
:
true
,
message
:
"
请输入field格式化json
"
,
trigger
:
"
blur
"
}
],
columnName
:
[
{
required
:
true
,
message
:
"
请输入数据库字段
"
,
trigger
:
"
blur
"
}
],
fieldType
:
[
{
required
:
true
,
message
:
"
请选择field数据类型
"
,
trigger
:
"
blur
"
}
]
}
};
},
methods
:
{
async
getDbfdOptions
()
{
this
.
dialogMiddle
.
dataType
=
""
this
.
dialogMiddle
.
dataTypeLong
=
""
this
.
dialogMiddle
.
fieldSearchType
=
""
this
.
dialogMiddle
.
dictType
=
""
if
(
this
.
dialogMiddle
.
fieldType
)
{
const
res
=
await
getDict
(
this
.
dialogMiddle
.
fieldType
);
this
.
dbfdOptions
=
res
;
}
}
},
async
created
()
{
this
.
getDbfdOptions
();
const
dictRes
=
await
getSysDictionaryList
({
page
:
1
,
pageSize
:
999999
});
this
.
dictOptions
=
dictRes
.
data
.
list
}
};
</
script
>
</
script
>
<
style
lang=
"scss"
>
<
style
lang=
"scss"
>
</
style
>
</
style
>
web/src/view/systemTools/autoCode/index.vue
浏览文件 @
8560f2f0
...
@@ -79,6 +79,7 @@
...
@@ -79,6 +79,7 @@
<el-table-column
prop=
"columnName"
label=
"数据库字段"
width=
"130"
></el-table-column>
<el-table-column
prop=
"columnName"
label=
"数据库字段"
width=
"130"
></el-table-column>
<el-table-column
prop=
"comment"
label=
"数据库字段描述"
width=
"130"
></el-table-column>
<el-table-column
prop=
"comment"
label=
"数据库字段描述"
width=
"130"
></el-table-column>
<el-table-column
prop=
"fieldSearchType"
label=
"搜索条件"
width=
"130"
></el-table-column>
<el-table-column
prop=
"fieldSearchType"
label=
"搜索条件"
width=
"130"
></el-table-column>
<el-table-column
prop=
"dictType"
label=
"字典"
width=
"130"
></el-table-column>
<el-table-column
label=
"操作"
width=
"300"
>
<el-table-column
label=
"操作"
width=
"300"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
<el-button
...
@@ -135,7 +136,8 @@ const fieldTemplate = {
...
@@ -135,7 +136,8 @@ const fieldTemplate = {
columnName
:
""
,
columnName
:
""
,
dataTypeLong
:
""
,
dataTypeLong
:
""
,
comment
:
""
,
comment
:
""
,
fieldSearchType
:
""
fieldSearchType
:
""
,
dictType
:
""
};
};
import
FieldDialog
from
"
@/view/systemTools/autoCode/component/fieldDialog.vue
"
;
import
FieldDialog
from
"
@/view/systemTools/autoCode/component/fieldDialog.vue
"
;
...
@@ -332,7 +334,8 @@ export default {
...
@@ -332,7 +334,8 @@ export default {
dataTypeLong
:
item
.
dataTypeLong
,
dataTypeLong
:
item
.
dataTypeLong
,
columnName
:
item
.
columeName
,
columnName
:
item
.
columeName
,
comment
:
item
.
columeComment
,
comment
:
item
.
columeComment
,
fieldSearchType
:
""
fieldSearchType
:
""
,
dictType
:
""
});
});
}
}
});
});
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录