Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Elij4h
gin-vue-admin
提交
ed75a7f3
G
gin-vue-admin
项目概览
Elij4h
/
gin-vue-admin
与 Fork 源项目一致
Fork自
FLIPPED-AURORA / gin-vue-admin
通知
1
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,发现更多精彩内容 >>
提交
ed75a7f3
编写于
3月 30, 2020
作者:
Mr.奇淼(
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
代码生成器最后一步(仅剩传给前端下载)
上级
a35e7563
变更
17
展开全部
隐藏空白更改
内联
并排
Showing
17 changed file
with
806 addition
and
81 deletion
+806
-81
QMPlusServer/db/qmplus.sql
QMPlusServer/db/qmplus.sql
+353
-80
QMPlusServer/static/form-generator/css/index.d8b172cd.css
QMPlusServer/static/form-generator/css/index.d8b172cd.css
+1
-0
QMPlusServer/static/form-generator/favicon.ico
QMPlusServer/static/form-generator/favicon.ico
+0
-0
QMPlusServer/static/form-generator/img/logo.e1bc3747.png
QMPlusServer/static/form-generator/img/logo.e1bc3747.png
+0
-0
QMPlusServer/static/form-generator/index.html
QMPlusServer/static/form-generator/index.html
+1
-0
QMPlusServer/static/form-generator/js/chunk-vendors.788511b0.js
...Server/static/form-generator/js/chunk-vendors.788511b0.js
+19
-0
QMPlusServer/static/form-generator/js/index.b3720c41.js
QMPlusServer/static/form-generator/js/index.b3720c41.js
+1
-0
QMPlusServer/static/form-generator/js/preview.7fecf17e.js
QMPlusServer/static/form-generator/js/preview.7fecf17e.js
+1
-0
QMPlusServer/static/form-generator/preview.html
QMPlusServer/static/form-generator/preview.html
+1
-0
QMPlusVuePage/src/api/autoCode.js
QMPlusVuePage/src/api/autoCode.js
+20
-0
QMPlusVuePage/src/utils/request.js
QMPlusVuePage/src/utils/request.js
+1
-1
QMPlusVuePage/src/utils/toUpperCase.js
QMPlusVuePage/src/utils/toUpperCase.js
+7
-0
QMPlusVuePage/src/view/systemTools/autoCode/component/fieldDialog.vue
...e/src/view/systemTools/autoCode/component/fieldDialog.vue
+82
-0
QMPlusVuePage/src/view/systemTools/autoCode/index.vue
QMPlusVuePage/src/view/systemTools/autoCode/index.vue
+183
-0
QMPlusVuePage/src/view/systemTools/formCreate/index.vue
QMPlusVuePage/src/view/systemTools/formCreate/index.vue
+14
-0
QMPlusVuePage/src/view/systemTools/index.vue
QMPlusVuePage/src/view/systemTools/index.vue
+12
-0
QMPlusVuePage/src/view/systemTools/system/system.vue
QMPlusVuePage/src/view/systemTools/system/system.vue
+110
-0
未找到文件。
QMPlusServer/db/qmplus.sql
浏览文件 @
ed75a7f3
此差异已折叠。
点击以展开。
QMPlusServer/static/form-generator/css/index.d8b172cd.css
0 → 100644
浏览文件 @
ed75a7f3
.add-item
[
data-v-1ba11f83
]
{
margin-top
:
8px
}
.url-item
[
data-v-1ba11f83
]
{
margin-bottom
:
12px
}
.tab-editor
[
data-v-68aaf5c0
]
{
position
:
absolute
;
top
:
33px
;
bottom
:
0
;
left
:
0
;
right
:
0
;
font-size
:
14px
}
.left-editor
[
data-v-68aaf5c0
]
{
position
:
relative
;
height
:
100%
;
background
:
#1e1e1e
;
overflow
:
hidden
}
.setting
[
data-v-68aaf5c0
]
{
position
:
absolute
;
right
:
15px
;
top
:
3px
;
color
:
#a9f122
;
font-size
:
18px
;
cursor
:
pointer
;
z-index
:
1
}
.right-preview
[
data-v-68aaf5c0
]
{
height
:
100%
}
.right-preview
.result-wrapper
[
data-v-68aaf5c0
]
{
height
:
calc
(
100vh
-
33px
);
width
:
100%
;
overflow
:
auto
;
padding
:
12px
;
-webkit-box-sizing
:
border-box
;
box-sizing
:
border-box
}
.action-bar
[
data-v-68aaf5c0
]
{
height
:
33px
;
background
:
#f2fafb
;
padding
:
0
15px
;
-webkit-box-sizing
:
border-box
;
box-sizing
:
border-box
}
.action-bar
.bar-btn
[
data-v-68aaf5c0
]
{
display
:
inline-block
;
padding
:
0
6px
;
line-height
:
32px
;
color
:
#8285f5
;
cursor
:
pointer
;
font-size
:
14px
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
}
.action-bar
.bar-btn
i
[
data-v-68aaf5c0
]
{
font-size
:
20px
}
.action-bar
.bar-btn
[
data-v-68aaf5c0
]
:hover
{
color
:
#4348d4
}
.action-bar
.bar-btn
+
.bar-btn
[
data-v-68aaf5c0
]
{
margin-left
:
8px
}
.action-bar
.delete-btn
[
data-v-68aaf5c0
]
{
color
:
#f56c6c
}
.action-bar
.delete-btn
[
data-v-68aaf5c0
]
:hover
{
color
:
#ea0b30
}
[
data-v-68aaf5c0
]
.el-drawer__header
,[
data-v-d06a2be0
]
.el-drawer__header
{
display
:
none
}
.action-bar
[
data-v-d06a2be0
]
{
height
:
33px
;
background
:
#f2fafb
;
padding
:
0
15px
;
-webkit-box-sizing
:
border-box
;
box-sizing
:
border-box
}
.action-bar
.bar-btn
[
data-v-d06a2be0
]
{
display
:
inline-block
;
padding
:
0
6px
;
line-height
:
32px
;
color
:
#8285f5
;
cursor
:
pointer
;
font-size
:
14px
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
}
.action-bar
.bar-btn
i
[
data-v-d06a2be0
]
{
font-size
:
20px
}
.action-bar
.bar-btn
[
data-v-d06a2be0
]
:hover
{
color
:
#4348d4
}
.action-bar
.bar-btn
+
.bar-btn
[
data-v-d06a2be0
]
{
margin-left
:
8px
}
.action-bar
.delete-btn
[
data-v-d06a2be0
]
{
color
:
#f56c6c
}
.action-bar
.delete-btn
[
data-v-d06a2be0
]
:hover
{
color
:
#ea0b30
}
.json-editor
[
data-v-d06a2be0
]
{
height
:
calc
(
100vh
-
33px
)}
.icon-ul
[
data-v-3ba3d51c
]
{
margin
:
0
;
padding
:
0
;
font-size
:
0
}
.icon-ul
li
[
data-v-3ba3d51c
]
{
list-style-type
:
none
;
text-align
:
center
;
font-size
:
14px
;
display
:
inline-block
;
width
:
16.66%
;
-webkit-box-sizing
:
border-box
;
box-sizing
:
border-box
;
height
:
108px
;
padding
:
15px
6px
6px
6px
;
cursor
:
pointer
;
overflow
:
hidden
}
.icon-ul
li
[
data-v-3ba3d51c
]
:hover
{
background
:
#f2f2f2
}
.icon-ul
li
.active-item
[
data-v-3ba3d51c
]
{
background
:
#e1f3fb
;
color
:
#7a6df0
}
.icon-ul
li
>
i
[
data-v-3ba3d51c
]
{
font-size
:
30px
;
line-height
:
50px
}
.icon-dialog
[
data-v-3ba3d51c
]
.el-dialog
{
border-radius
:
8px
;
margin-bottom
:
0
;
margin-top
:
4vh
!important
;
display
:
-webkit-box
;
display
:
-ms-flexbox
;
display
:
flex
;
-webkit-box-orient
:
vertical
;
-webkit-box-direction
:
normal
;
-ms-flex-direction
:
column
;
flex-direction
:
column
;
max-height
:
92vh
;
overflow
:
hidden
;
-webkit-box-sizing
:
border-box
;
box-sizing
:
border-box
}
.icon-dialog
[
data-v-3ba3d51c
]
.el-dialog
.el-dialog__header
{
padding-top
:
14px
}
.icon-dialog
[
data-v-3ba3d51c
]
.el-dialog
.el-dialog__body
{
margin
:
0
20px
20px
20px
;
padding
:
0
;
overflow
:
auto
}
.right-board
[
data-v-5786ab0e
]
{
width
:
350px
;
position
:
absolute
;
right
:
0
;
top
:
0
;
padding-top
:
3px
}
.right-board
.field-box
[
data-v-5786ab0e
]
{
position
:
relative
;
height
:
calc
(
100vh
-
42px
);
-webkit-box-sizing
:
border-box
;
box-sizing
:
border-box
;
overflow
:
hidden
}
.right-board
.el-scrollbar
[
data-v-5786ab0e
]
{
height
:
100%
}
.select-item
[
data-v-5786ab0e
]
{
display
:
-webkit-box
;
display
:
-ms-flexbox
;
display
:
flex
;
border
:
1px
dashed
#fff
;
-webkit-box-sizing
:
border-box
;
box-sizing
:
border-box
}
.select-item
.close-btn
[
data-v-5786ab0e
]
{
cursor
:
pointer
;
color
:
#f56c6c
}
.select-item
.el-input
+
.el-input
[
data-v-5786ab0e
]
{
margin-left
:
4px
}
.select-item
+
.select-item
[
data-v-5786ab0e
]
{
margin-top
:
4px
}
.select-item.sortable-chosen
[
data-v-5786ab0e
]
{
border
:
1px
dashed
#409eff
}
.select-line-icon
[
data-v-5786ab0e
]
{
line-height
:
32px
;
font-size
:
22px
;
padding
:
0
4px
;
color
:
#777
}
.option-drag
[
data-v-5786ab0e
]
{
cursor
:
move
}
.time-range
.el-date-editor
[
data-v-5786ab0e
]
{
width
:
227px
}
.time-range
[
data-v-5786ab0e
]
.el-icon-time
{
display
:
none
}
.document-link
[
data-v-5786ab0e
]
{
position
:
absolute
;
display
:
block
;
width
:
26px
;
height
:
26px
;
top
:
0
;
left
:
0
;
cursor
:
pointer
;
background
:
#409eff
;
z-index
:
1
;
border-radius
:
0
0
6px
0
;
text-align
:
center
;
line-height
:
26px
;
color
:
#fff
;
font-size
:
18px
}
.node-label
[
data-v-5786ab0e
]
{
font-size
:
14px
}
.node-icon
[
data-v-5786ab0e
]
{
color
:
#bebfc3
}
.container
{
position
:
relative
;
width
:
100%
;
height
:
100%
}
.components-list
{
padding
:
8px
;
-webkit-box-sizing
:
border-box
;
box-sizing
:
border-box
;
height
:
100%
}
.components-list
.components-item
{
display
:
inline-block
;
width
:
48%
;
margin
:
1%
;
-webkit-transition
:
-webkit-transform
0ms
!important
;
transition
:
-webkit-transform
0ms
!important
;
transition
:
transform
0ms
!important
;
transition
:
transform
0ms
,
-webkit-transform
0ms
!important
}
.components-draggable
{
padding-bottom
:
20px
}
.components-title
{
font-size
:
14px
;
color
:
#222
;
margin
:
6px
2px
}
.components-title
.svg-icon
{
color
:
#666
;
font-size
:
18px
}
.components-body
{
padding
:
8px
10px
;
background
:
#f6f7ff
;
font-size
:
12px
;
cursor
:
move
;
border
:
1px
dashed
#f6f7ff
;
border-radius
:
3px
}
.components-body
.svg-icon
{
color
:
#777
;
font-size
:
15px
}
.components-body
:hover
{
border
:
1px
dashed
#787be8
;
color
:
#787be8
}
.components-body
:hover
.svg-icon
{
color
:
#787be8
}
.left-board
{
width
:
260px
;
position
:
absolute
;
left
:
0
;
top
:
0
;
height
:
100vh
}
.center-scrollbar
,
.left-scrollbar
{
height
:
calc
(
100vh
-
42px
);
overflow
:
hidden
}
.center-scrollbar
{
border-left
:
1px
solid
#f1e8e8
;
border-right
:
1px
solid
#f1e8e8
}
.center-board
,
.center-scrollbar
{
-webkit-box-sizing
:
border-box
;
box-sizing
:
border-box
}
.center-board
{
height
:
100vh
;
width
:
auto
;
margin
:
0
350px
0
260px
}
.empty-info
{
position
:
absolute
;
top
:
46%
;
left
:
0
;
right
:
0
;
text-align
:
center
;
font-size
:
18px
;
color
:
#ccb1ea
;
letter-spacing
:
4px
}
.action-bar
{
position
:
relative
;
height
:
42px
;
text-align
:
right
;
padding
:
0
15px
;
-webkit-box-sizing
:
border-box
;
box-sizing
:
border-box
;
border
:
1px
solid
#f1e8e8
;
border-top
:
none
;
border-left
:
none
}
.action-bar
.delete-btn
{
color
:
#f56c6c
}
.logo-wrapper
{
position
:
relative
;
height
:
42px
;
background
:
#fff
;
border-bottom
:
1px
solid
#f1e8e8
;
-webkit-box-sizing
:
border-box
;
box-sizing
:
border-box
}
.logo
{
position
:
absolute
;
left
:
12px
;
top
:
6px
;
line-height
:
30px
;
color
:
#00afff
;
font-weight
:
600
;
font-size
:
17px
;
white-space
:
nowrap
}
.logo
>
img
{
width
:
30px
;
height
:
30px
;
vertical-align
:
top
}
.logo
.github
{
display
:
inline-block
;
vertical-align
:
sub
;
margin-left
:
15px
}
.logo
.github
>
img
{
height
:
22px
}
.center-board-row
{
padding
:
12px
12px
15px
12px
;
-webkit-box-sizing
:
border-box
;
box-sizing
:
border-box
}
.center-board-row
>
.el-form
{
height
:
calc
(
100vh
-
69px
)}
.drawing-board
{
margin-top
:
20px
;
height
:
100%
;
position
:
relative
}
.drawing-board
.components-body
{
padding
:
0
;
margin
:
0
;
font-size
:
0
}
.drawing-board
.sortable-ghost
{
position
:
relative
;
display
:
block
;
overflow
:
hidden
}
.drawing-board
.sortable-ghost
:before
{
content
:
" "
;
position
:
absolute
;
left
:
0
;
right
:
0
;
top
:
0
;
height
:
3px
;
background
:
#5959df
;
z-index
:
2
}
.drawing-board
.components-item.sortable-ghost
{
width
:
100%
;
height
:
60px
;
background-color
:
#f6f7ff
}
.drawing-board
.active-from-item
>
.el-form-item
{
background
:
#f6f7ff
;
border-radius
:
6px
}
.drawing-board
.active-from-item
>
.drawing-item-copy
,
.drawing-board
.active-from-item
>
.drawing-item-delete
{
display
:
initial
}
.drawing-board
.active-from-item
>
.component-name
{
color
:
#409eff
}
.drawing-board
.el-form-item
{
margin-bottom
:
15px
}
.drawing-item
{
position
:
relative
;
cursor
:
move
}
.drawing-item.unfocus-bordered
:not
(
.active-from-item
)>
div
:first-child
{
border
:
1px
dashed
#ccc
}
.drawing-item
.el-form-item
{
padding
:
12px
10px
}
.drawing-row-item
{
position
:
relative
;
cursor
:
move
;
-webkit-box-sizing
:
border-box
;
box-sizing
:
border-box
;
border
:
1px
dashed
#ccc
;
border-radius
:
3px
;
padding
:
0
2px
;
margin-bottom
:
15px
}
.drawing-row-item
.drawing-row-item
{
margin-bottom
:
2px
}
.drawing-row-item
.el-col
{
margin-top
:
22px
}
.drawing-row-item
.el-form-item
{
margin-bottom
:
0
}
.drawing-row-item
.drag-wrapper
{
min-height
:
80px
}
.drawing-row-item.active-from-item
{
border
:
1px
dashed
#409eff
}
.drawing-row-item
.component-name
{
position
:
absolute
;
top
:
0
;
left
:
0
;
font-size
:
12px
;
color
:
#bbb
;
display
:
inline-block
;
padding
:
0
6px
}
.drawing-item
:hover
>
.el-form-item
,
.drawing-row-item
:hover
>
.el-form-item
{
background
:
#f6f7ff
;
border-radius
:
6px
}
.drawing-item
:hover
>
.drawing-item-copy
,
.drawing-item
:hover
>
.drawing-item-delete
,
.drawing-row-item
:hover
>
.drawing-item-copy
,
.drawing-row-item
:hover
>
.drawing-item-delete
{
display
:
initial
}
.drawing-item
>
.drawing-item-copy
,
.drawing-item
>
.drawing-item-delete
,
.drawing-row-item
>
.drawing-item-copy
,
.drawing-row-item
>
.drawing-item-delete
{
display
:
none
;
position
:
absolute
;
top
:
-10px
;
width
:
22px
;
height
:
22px
;
line-height
:
22px
;
text-align
:
center
;
border-radius
:
50%
;
font-size
:
12px
;
border
:
1px
solid
;
cursor
:
pointer
;
z-index
:
1
}
.drawing-item
>
.drawing-item-copy
,
.drawing-row-item
>
.drawing-item-copy
{
right
:
56px
;
border-color
:
#409eff
;
color
:
#409eff
;
background
:
#fff
}
.drawing-item
>
.drawing-item-copy
:hover
,
.drawing-row-item
>
.drawing-item-copy
:hover
{
background
:
#409eff
;
color
:
#fff
}
.drawing-item
>
.drawing-item-delete
,
.drawing-row-item
>
.drawing-item-delete
{
right
:
24px
;
border-color
:
#f56c6c
;
color
:
#f56c6c
;
background
:
#fff
}
.drawing-item
>
.drawing-item-delete
:hover
,
.drawing-row-item
>
.drawing-item-delete
:hover
{
background
:
#f56c6c
;
color
:
#fff
}
.test-from
[
data-v-412f198a
]
{
margin
:
15px
auto
;
width
:
800px
;
padding
:
15px
}
body
,
html
{
margin
:
0
;
padding
:
0
;
background
:
#fff
;
-moz-osx-font-smoothing
:
grayscale
;
-webkit-font-smoothing
:
antialiased
;
text-rendering
:
optimizeLegibility
}
body
,
html
,
input
,
textarea
{
font-family
:
-apple-system
,
BlinkMacSystemFont
,
Segoe
UI
,
Helvetica
,
Arial
,
sans-serif
,
Apple
Color
Emoji
,
Segoe
UI
Emoji
}
.editor-tabs
{
background
:
#121315
}
.editor-tabs
.el-tabs__header
{
margin
:
0
;
border-bottom-color
:
#121315
}
.editor-tabs
.el-tabs__header
.el-tabs__nav
{
border-color
:
#121315
}
.editor-tabs
.el-tabs__item
{
height
:
32px
;
line-height
:
32px
;
color
:
#888a8e
;
border-left
:
1px
solid
#121315
!important
;
background
:
#363636
;
margin-right
:
5px
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
}
.editor-tabs
.el-tabs__item.is-active
{
background
:
#1e1e1e
;
border-bottom-color
:
#1e1e1e
!important
;
color
:
#fff
}
.editor-tabs
.el-icon-edit
{
color
:
#f1fa8c
}
.editor-tabs
.el-icon-document
{
color
:
#a95812
}
.right-scrollbar
.el-scrollbar__view
{
padding
:
12px
18px
15px
15px
}
.el-scrollbar__wrap
{
-webkit-box-sizing
:
border-box
;
box-sizing
:
border-box
;
overflow-x
:
hidden
!important
}
.center-tabs
.el-tabs__header
,
.el-scrollbar__wrap
{
margin-bottom
:
0
!important
}
.center-tabs
.el-tabs__item
{
width
:
50%
;
text-align
:
center
}
.center-tabs
.el-tabs__nav
{
width
:
100%
}
.reg-item
{
padding
:
12px
6px
;
background
:
#f8f8f8
;
position
:
relative
;
border-radius
:
4px
}
.reg-item
.close-btn
{
position
:
absolute
;
right
:
-6px
;
top
:
-6px
;
display
:
block
;
width
:
16px
;
height
:
16px
;
line-height
:
16px
;
background
:
rgba
(
0
,
0
,
0
,
.2
);
border-radius
:
50%
;
color
:
#fff
;
text-align
:
center
;
z-index
:
1
;
cursor
:
pointer
;
font-size
:
12px
}
.reg-item
.close-btn
:hover
{
background
:
rgba
(
210
,
23
,
23
,
.5
)}
.reg-item
+
.reg-item
{
margin-top
:
18px
}
.action-bar
.el-button
+
.el-button
{
margin-left
:
15px
}
.action-bar
i
{
font-size
:
20px
;
vertical-align
:
middle
;
position
:
relative
;
top
:
-1px
}
.custom-tree-node
{
width
:
100%
;
font-size
:
14px
}
.custom-tree-node
.node-operation
{
float
:
right
}
.custom-tree-node
i
[
class
*=
el-icon
]+
i
[
class
*=
el-icon
]
{
margin-left
:
6px
}
.custom-tree-node
.el-icon-plus
{
color
:
#409eff
}
.custom-tree-node
.el-icon-delete
{
color
:
#157a0c
}
.el-scrollbar__view
{
overflow-x
:
hidden
}
.el-rate
{
display
:
inline-block
;
vertical-align
:
text-top
}
.el-upload__tip
{
line-height
:
1.2
}
.svg-icon
[
data-v-21958c4e
]
{
width
:
1em
;
height
:
1em
;
vertical-align
:
-.15em
;
fill
:
currentColor
;
overflow
:
hidden
}
.svg-external-icon
[
data-v-21958c4e
]
{
background-color
:
currentColor
;
-webkit-mask-size
:
cover
!important
;
mask-size
:
cover
!important
;
display
:
inline-block
}
\ No newline at end of file
QMPlusServer/static/form-generator/favicon.ico
0 → 100644
浏览文件 @
ed75a7f3
4.2 KB
QMPlusServer/static/form-generator/img/logo.e1bc3747.png
0 → 100644
浏览文件 @
ed75a7f3
8.4 KB
QMPlusServer/static/form-generator/index.html
0 → 100644
浏览文件 @
ed75a7f3
<!doctype html>
<html
lang=
"zh"
><head><meta
charset=
"utf-8"
><meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge"
><meta
name=
"viewport"
content=
"width=device-width,initial-scale=0,maximum-scale=0,user-scalable=yes,shrink-to-fit=no"
><link
rel=
"icon"
href=
"/form-generator/favicon.ico"
><title>
form-generator
</title><style>
.pre-loader
{
position
:
absolute
;
top
:
calc
(
50%
-
32px
);
left
:
calc
(
50%
-
32px
);
width
:
64px
;
height
:
64px
;
border-radius
:
50%
;
perspective
:
800px
}
.pre-loader
.inner
{
position
:
absolute
;
box-sizing
:
border-box
;
width
:
100%
;
height
:
100%
;
border-radius
:
50%
}
.pre-loader
.inner.one
{
left
:
0
;
top
:
0
;
-webkit-animation
:
rotate-one
1s
linear
infinite
;
animation
:
rotate-one
1s
linear
infinite
;
border-bottom
:
3px
solid
#bc9048
}
.pre-loader
.inner.two
{
right
:
0
;
top
:
0
;
-webkit-animation
:
rotate-two
1s
linear
infinite
;
animation
:
rotate-two
1s
linear
infinite
;
border-right
:
3px
solid
#74aeff
}
.pre-loader
.inner.three
{
right
:
0
;
bottom
:
0
;
-webkit-animation
:
rotate-three
1s
linear
infinite
;
animation
:
rotate-three
1s
linear
infinite
;
border-top
:
3px
solid
#caef74
}
@keyframes
rotate-one
{
0
%
{
-webkit-transform
:
rotateX
(
35deg
)
rotateY
(
-45deg
)
rotateZ
(
0
);
transform
:
rotateX
(
35deg
)
rotateY
(
-45deg
)
rotateZ
(
0
)}
100
%
{
-webkit-transform
:
rotateX
(
35deg
)
rotateY
(
-45deg
)
rotateZ
(
360deg
);
transform
:
rotateX
(
35deg
)
rotateY
(
-45deg
)
rotateZ
(
360deg
)}}
@keyframes
rotate-two
{
0
%
{
-webkit-transform
:
rotateX
(
50deg
)
rotateY
(
10deg
)
rotateZ
(
0
);
transform
:
rotateX
(
50deg
)
rotateY
(
10deg
)
rotateZ
(
0
)}
100
%
{
-webkit-transform
:
rotateX
(
50deg
)
rotateY
(
10deg
)
rotateZ
(
360deg
);
transform
:
rotateX
(
50deg
)
rotateY
(
10deg
)
rotateZ
(
360deg
)}}
@keyframes
rotate-three
{
0
%
{
-webkit-transform
:
rotateX
(
35deg
)
rotateY
(
55deg
)
rotateZ
(
0
);
transform
:
rotateX
(
35deg
)
rotateY
(
55deg
)
rotateZ
(
0
)}
100
%
{
-webkit-transform
:
rotateX
(
35deg
)
rotateY
(
55deg
)
rotateZ
(
360deg
);
transform
:
rotateX
(
35deg
)
rotateY
(
55deg
)
rotateZ
(
360deg
)}}
</style><link
href=
"https://cdn.bootcss.com/element-ui/2.12.0/theme-chalk/index.css"
rel=
"stylesheet"
><link
href=
"https://cdn.bootcss.com/monaco-editor/0.18.0/min/vs/editor/editor.main.css"
rel=
"stylesheet"
><script
src=
"https://cdn.bootcss.com/vue/2.6.10/vue.min.js"
></script><script
src=
"https://cdn.bootcss.com/vue-router/3.1.3/vue-router.min.js"
></script><script
src=
"https://cdn.bootcss.com/element-ui/2.12.0/index.js"
></script><link
href=
"/form-generator/css/index.d8b172cd.css"
rel=
"preload"
as=
"style"
><link
href=
"/form-generator/js/chunk-vendors.788511b0.js"
rel=
"preload"
as=
"script"
><link
href=
"/form-generator/js/index.b3720c41.js"
rel=
"preload"
as=
"script"
><link
href=
"/form-generator/css/index.d8b172cd.css"
rel=
"stylesheet"
></head><body><noscript><strong>
抱歉,javascript被禁用,请开启后重试。
</strong></noscript><div
id=
"app"
></div><div
class=
"pre-loader"
id=
"pre-loader"
><div
class=
"inner one"
></div><div
class=
"inner two"
></div><div
class=
"inner three"
></div></div><script>
var
require
=
{
paths
:{
vs
:
"
https://cdn.bootcss.com/monaco-editor/0.18.0/min/vs
"
}}
</script><script
src=
"https://cdn.bootcss.com/js-beautify/1.10.2/beautifier.min.js"
></script><script
src=
"https://cdn.bootcss.com/monaco-editor/0.18.0/min/vs/loader.js"
></script><script
src=
"https://cdn.bootcss.com/monaco-editor/0.18.0/min/vs/editor/editor.main.nls.js"
></script><script
src=
"https://cdn.bootcss.com/monaco-editor/0.18.0/min/vs/editor/editor.main.js"
></script><script
src=
"/form-generator/js/chunk-vendors.788511b0.js"
></script><script
src=
"/form-generator/js/index.b3720c41.js"
></script></body></html>
\ No newline at end of file
QMPlusServer/static/form-generator/js/chunk-vendors.788511b0.js
0 → 100644
浏览文件 @
ed75a7f3
因为 它太大了无法显示 source diff 。你可以改为
查看blob
。
QMPlusServer/static/form-generator/js/index.b3720c41.js
0 → 100644
浏览文件 @
ed75a7f3
此差异已折叠。
点击以展开。
QMPlusServer/static/form-generator/js/preview.7fecf17e.js
0 → 100644
浏览文件 @
ed75a7f3
(
function
(
_
){
function
e
(
e
){
for
(
var
o
,
n
,
a
=
e
[
0
],
i
=
e
[
1
],
c
=
e
[
2
],
u
=
0
,
l
=
[];
u
<
a
.
length
;
u
++
)
n
=
a
[
u
],
Object
.
prototype
.
hasOwnProperty
.
call
(
t
,
n
)
&&
t
[
n
]
&&
l
.
push
(
t
[
n
][
0
]),
t
[
n
]
=
0
;
for
(
o
in
i
)
Object
.
prototype
.
hasOwnProperty
.
call
(
i
,
o
)
&&
(
_
[
o
]
=
i
[
o
]);
d
&&
d
(
e
);
while
(
l
.
length
)
l
.
shift
()();
return
s
.
push
.
apply
(
s
,
c
||
[]),
r
()}
function
r
(){
for
(
var
_
,
e
=
0
;
e
<
s
.
length
;
e
++
){
for
(
var
r
=
s
[
e
],
o
=!
0
,
a
=
1
;
a
<
r
.
length
;
a
++
){
var
i
=
r
[
a
];
0
!==
t
[
i
]
&&
(
o
=!
1
)}
o
&&
(
s
.
splice
(
e
--
,
1
),
_
=
n
(
n
.
s
=
r
[
0
]))}
return
_
}
var
o
=
{},
t
=
{
preview
:
0
},
s
=
[];
function
n
(
e
){
if
(
o
[
e
])
return
o
[
e
].
exports
;
var
r
=
o
[
e
]
=
{
i
:
e
,
l
:
!
1
,
exports
:{}};
return
_
[
e
].
call
(
r
.
exports
,
r
,
r
.
exports
,
n
),
r
.
l
=!
0
,
r
.
exports
}
n
.
m
=
_
,
n
.
c
=
o
,
n
.
d
=
function
(
_
,
e
,
r
){
n
.
o
(
_
,
e
)
||
Object
.
defineProperty
(
_
,
e
,{
enumerable
:
!
0
,
get
:
r
})},
n
.
r
=
function
(
_
){
"
undefined
"
!==
typeof
Symbol
&&
Symbol
.
toStringTag
&&
Object
.
defineProperty
(
_
,
Symbol
.
toStringTag
,{
value
:
"
Module
"
}),
Object
.
defineProperty
(
_
,
"
__esModule
"
,{
value
:
!
0
})},
n
.
t
=
function
(
_
,
e
){
if
(
1
&
e
&&
(
_
=
n
(
_
)),
8
&
e
)
return
_
;
if
(
4
&
e
&&
"
object
"
===
typeof
_
&&
_
&&
_
.
__esModule
)
return
_
;
var
r
=
Object
.
create
(
null
);
if
(
n
.
r
(
r
),
Object
.
defineProperty
(
r
,
"
default
"
,{
enumerable
:
!
0
,
value
:
_
}),
2
&
e
&&
"
string
"
!=
typeof
_
)
for
(
var
o
in
_
)
n
.
d
(
r
,
o
,
function
(
e
){
return
_
[
e
]}.
bind
(
null
,
o
));
return
r
},
n
.
n
=
function
(
_
){
var
e
=
_
&&
_
.
__esModule
?
function
(){
return
_
[
"
default
"
]}:
function
(){
return
_
};
return
n
.
d
(
e
,
"
a
"
,
e
),
e
},
n
.
o
=
function
(
_
,
e
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
_
,
e
)},
n
.
p
=
"
/form-generator/
"
;
var
a
=
window
[
"
webpackJsonp
"
]
=
window
[
"
webpackJsonp
"
]
||
[],
i
=
a
.
push
.
bind
(
a
);
a
.
push
=
e
,
a
=
a
.
slice
();
for
(
var
c
=
0
;
c
<
a
.
length
;
c
++
)
e
(
a
[
c
]);
var
d
=
i
;
s
.
push
([
1
,
"
chunk-vendors
"
]),
r
()})({
1
:
function
(
_
,
e
,
r
){
_
.
exports
=
r
(
"
2c42
"
)},
"
2c42
"
:
function
(
module
,
__webpack_exports__
,
__webpack_require__
){
"
use strict
"
;
__webpack_require__
.
r
(
__webpack_exports__
);
var
core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0__
=
__webpack_require__
(
"
7ae7
"
),
core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0___default
=
__webpack_require__
.
n
(
core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0__
),
core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_1__
=
__webpack_require__
(
"
af82
"
),
core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_1___default
=
__webpack_require__
.
n
(
core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_1__
),
core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_2__
=
__webpack_require__
(
"
9a14
"
),
core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_2___default
=
__webpack_require__
.
n
(
core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_2__
),
C_Users_Administrator_Desktop_form_generator_dev_node_modules_core_js_3_6_4_core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_3__
=
__webpack_require__
(
"
d9a3
"
),
C_Users_Administrator_Desktop_form_generator_dev_node_modules_core_js_3_6_4_core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_3___default
=
__webpack_require__
.
n
(
C_Users_Administrator_Desktop_form_generator_dev_node_modules_core_js_3_6_4_core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_3__
),
C_Users_Administrator_Desktop_form_generator_dev_node_modules_core_js_3_6_4_core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_4__
=
__webpack_require__
(
"
c9db
"
),
C_Users_Administrator_Desktop_form_generator_dev_node_modules_core_js_3_6_4_core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_4___default
=
__webpack_require__
.
n
(
C_Users_Administrator_Desktop_form_generator_dev_node_modules_core_js_3_6_4_core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_4__
),
C_Users_Administrator_Desktop_form_generator_dev_node_modules_core_js_3_6_4_core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_5__
=
__webpack_require__
(
"
de3e
"
),
C_Users_Administrator_Desktop_form_generator_dev_node_modules_core_js_3_6_4_core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_5___default
=
__webpack_require__
.
n
(
C_Users_Administrator_Desktop_form_generator_dev_node_modules_core_js_3_6_4_core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_5__
),
C_Users_Administrator_Desktop_form_generator_dev_node_modules_core_js_3_6_4_core_js_modules_es_promise_finally_js__WEBPACK_IMPORTED_MODULE_6__
=
__webpack_require__
(
"
618d
"
),
C_Users_Administrator_Desktop_form_generator_dev_node_modules_core_js_3_6_4_core_js_modules_es_promise_finally_js__WEBPACK_IMPORTED_MODULE_6___default
=
__webpack_require__
.
n
(
C_Users_Administrator_Desktop_form_generator_dev_node_modules_core_js_3_6_4_core_js_modules_es_promise_finally_js__WEBPACK_IMPORTED_MODULE_6__
),
vue__WEBPACK_IMPORTED_MODULE_7__
=
__webpack_require__
(
"
8bbf
"
),
vue__WEBPACK_IMPORTED_MODULE_7___default
=
__webpack_require__
.
n
(
vue__WEBPACK_IMPORTED_MODULE_7__
),
_utils_loadScript__WEBPACK_IMPORTED_MODULE_8__
=
__webpack_require__
(
"
c88b
"
),
$previewApp
=
document
.
getElementById
(
"
previewApp
"
),
childAttrs
=
{
file
:
""
,
dialog
:
'
width="600px" class="dialog-width" v-if="visible" :visible.sync="visible" :modal-append-to-body="false"
'
};
function
loadScriptQueue
(
_
,
e
){
var
r
=
_
.
shift
();
0
===
_
.
length
?
Object
(
_utils_loadScript__WEBPACK_IMPORTED_MODULE_8__
[
"
a
"
])(
r
,
e
):
Object
(
_utils_loadScript__WEBPACK_IMPORTED_MODULE_8__
[
"
a
"
])(
r
,(
function
(){
loadScriptQueue
(
_
,
e
)}))}
function
buildLinks
(
_
){
var
e
=
""
;
return
_
.
forEach
((
function
(
_
){
e
+=
'
<link href="
'
.
concat
(
_
,
'
" rel="stylesheet">
'
)})),
e
}
function
init
(
_
){
if
(
"
refreshFrame
"
===
_
.
data
.
type
){
var
e
=
_
.
data
.
data
,
r
=
childAttrs
[
e
.
generateConf
.
type
],
o
=
""
;
Array
.
isArray
(
e
.
links
)
&&
e
.
links
.
length
>
0
&&
(
o
=
buildLinks
(
e
.
links
)),
$previewApp
.
innerHTML
=
""
.
concat
(
o
,
"
<style>
"
).
concat
(
e
.
css
,
'
</style><div id="app"></div>
'
),
Array
.
isArray
(
e
.
scripts
)
&&
e
.
scripts
.
length
>
0
?
loadScriptQueue
(
JSON
.
parse
(
JSON
.
stringify
(
e
.
scripts
)),(
function
(){
newVue
(
r
,
e
.
js
,
e
.
html
)})):
newVue
(
r
,
e
.
js
,
e
.
html
)}}
function
newVue
(
attrs
,
main
,
html
){
main
=
eval
(
"
(
"
.
concat
(
main
,
"
)
"
)),
main
.
template
=
"
<div>
"
.
concat
(
html
,
"
</div>
"
),
new
vue__WEBPACK_IMPORTED_MODULE_7___default
.
a
({
components
:{
child
:
main
},
data
:
function
(){
return
{
visible
:
!
0
}},
template
:
"
<div><child
"
.
concat
(
attrs
,
"
/></div>
"
)}).
$mount
(
"
#app
"
)}
window
.
addEventListener
(
"
message
"
,
init
,
!
1
)},
"
8bbf
"
:
function
(
_
,
e
){
_
.
exports
=
Vue
},
c88b
:
function
(
_
,
e
,
r
){
"
use strict
"
;
function
o
(
_
,
e
){
var
r
=
e
||
function
(){},
o
=
document
.
createElement
(
"
script
"
);
o
.
src
=
_
,
o
.
id
=
_
,
document
.
body
.
appendChild
(
o
);
var
t
=
"
onload
"
in
o
?
s
:
n
;
function
s
(
e
){
var
o
=
this
;
e
.
onload
=
function
(){
o
.
onerror
=
o
.
onload
=
null
,
r
(
null
,
e
)},
e
.
onerror
=
function
(){
o
.
onerror
=
o
.
onload
=
null
,
r
(
new
Error
(
"
Failed to load
"
.
concat
(
_
)),
e
)}}
function
n
(
_
){
var
e
=
this
;
_
.
onreadystatechange
=
function
(){
"
complete
"
!==
e
.
readyState
&&
"
loaded
"
!==
e
.
readyState
||
(
e
.
onreadystatechange
=
null
,
r
(
null
,
_
))}}
t
(
o
)}
e
[
"
a
"
]
=
o
}});
\ No newline at end of file
QMPlusServer/static/form-generator/preview.html
0 → 100644
浏览文件 @
ed75a7f3
<!doctype html>
<html
lang=
"zh"
><head><meta
charset=
"utf-8"
><meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge"
><meta
name=
"viewport"
content=
"width=device-width,initial-scale=1"
><link
rel=
"icon"
href=
"/form-generator/favicon.ico"
><title>
form-generator-preview
</title><link
href=
"https://cdn.bootcss.com/element-ui/2.12.0/theme-chalk/index.css"
rel=
"stylesheet"
><script
src=
"https://cdn.bootcss.com/vue/2.6.10/vue.min.js"
></script><script
src=
"https://cdn.bootcss.com/vue-router/3.1.3/vue-router.min.js"
></script><script
src=
"https://cdn.bootcss.com/element-ui/2.12.0/index.js"
></script><style>body
{
margin
:
0
;
padding
:
0
;
overflow-x
:
hidden
;
-moz-osx-font-smoothing
:
grayscale
;
-webkit-font-smoothing
:
antialiased
;
text-rendering
:
optimizeLegibility
;
height
:
calc
(
100vh
-
33px
);
padding
:
12px
;
box-sizing
:
border-box
;
font-family
:
-apple-system
,
BlinkMacSystemFont
,
Segoe
UI
,
Helvetica
,
Arial
,
sans-serif
,
Apple
Color
Emoji
,
Segoe
UI
Emoji
}
input
,
textarea
{
font-family
:
-apple-system
,
BlinkMacSystemFont
,
Segoe
UI
,
Helvetica
,
Arial
,
sans-serif
,
Apple
Color
Emoji
,
Segoe
UI
Emoji
}
</style><link
href=
"/form-generator/js/chunk-vendors.788511b0.js"
rel=
"preload"
as=
"script"
><link
href=
"/form-generator/js/preview.7fecf17e.js"
rel=
"preload"
as=
"script"
></head><body><noscript><strong>
抱歉,javascript被禁用,请开启后重试。
</strong></noscript><div
id=
"previewApp"
></div><script
src=
"/form-generator/js/chunk-vendors.788511b0.js"
></script><script
src=
"/form-generator/js/preview.7fecf17e.js"
></script></body></html>
\ No newline at end of file
QMPlusVuePage/src/api/autoCode.js
0 → 100644
浏览文件 @
ed75a7f3
import
service
from
'
@/utils/request
'
// @Tags api
// @Summary 分页获取角色列表
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data body modelInterface.PageInfo true "分页获取用户列表"
// @Success 200 {string} json "{"success":true,"data":{},"msg":"获取成功"}"
// @Router /api/getApiList [post]
// {
// page int
// pageSize int
// }
export
const
createTemp
=
(
data
)
=>
{
return
service
({
url
:
"
/autoCode/createTemp
"
,
method
:
'
post
'
,
data
})
}
\ No newline at end of file
QMPlusVuePage/src/utils/request.js
浏览文件 @
ed75a7f3
...
...
@@ -55,7 +55,7 @@ service.interceptors.request.use(
service
.
interceptors
.
response
.
use
(
response
=>
{
closeLoading
()
if
(
response
.
data
.
success
)
{
if
(
response
.
data
.
success
||
response
.
headers
.
success
===
"
true
"
)
{
return
response
.
data
}
else
{
Message
({
...
...
QMPlusVuePage/src/utils/toUpperCase.js
0 → 100644
浏览文件 @
ed75a7f3
export
const
toUpperCase
=
(
str
)
=>
{
if
(
str
[
0
])
{
return
str
.
replace
(
str
[
0
],
str
[
0
].
toUpperCase
())
}
else
{
return
""
}
}
\ No newline at end of file
QMPlusVuePage/src/view/systemTools/autoCode/component/fieldDialog.vue
0 → 100644
浏览文件 @
ed75a7f3
<
template
>
<div>
<el-form
:model=
"dialogMiddle"
ref=
"fieldDialogFrom"
label-width=
"120px"
label-position=
"left"
:rules=
"rules"
>
<el-form-item
label=
"Field名称"
prop=
"fieldName"
>
<el-col
:span=
"6"
>
<el-input
v-model=
"dialogMiddle.fieldName"
autocomplete=
"off"
></el-input>
</el-col>
</el-form-item>
<el-form-item
label=
"FieldJSON"
prop=
"fieldJson"
>
<el-col
:span=
"6"
>
<el-input
v-model=
"dialogMiddle.fieldJson"
autocomplete=
"off"
></el-input>
</el-col>
</el-form-item>
<el-form-item
label=
"数据库字段名"
prop=
"columnName"
>
<el-col
:span=
"6"
>
<el-input
v-model=
"dialogMiddle.columnName"
autocomplete=
"off"
></el-input>
</el-col>
</el-form-item>
<el-form-item
label=
"Field数据类型"
prop=
"fieldType"
>
<el-col
:span=
"8"
>
<el-select
v-model=
"dialogMiddle.fieldType"
placeholder=
"请选择field数据类型"
>
<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>
</div>
</
template
>
<
script
>
export
default
{
name
:
"
FieldDialog
"
,
props
:{
dialogMiddle
:{
type
:
Object
,
default
:
function
(){
return
{}
}
}
},
data
(){
return
{
visible
:
false
,
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
'
}],
fieldJson
:[
{
required
:
true
,
message
:
'
请输入field格式化json
'
,
trigger
:
'
blur
'
}],
fieldType
:[
{
required
:
true
,
message
:
'
请选择field数据类型
'
,
trigger
:
'
blur
'
}]
}
}
}
}
</
script
>
<
style
lang=
"scss"
>
</
style
>
\ No newline at end of file
QMPlusVuePage/src/view/systemTools/autoCode/index.vue
0 → 100644
浏览文件 @
ed75a7f3
<
template
>
<div>
<!-- 开发中功能,若您发现这块代码可以研究,可以无视 -->
<!-- 此版本为简单版 -->
<!-- 结构体基础配置 -->
<!-- develop分支中开发此功能 -->
<el-form
ref=
"autoCodeForm"
:rules=
"rules"
:model=
"form"
label-width=
"120px"
:inline=
"true"
>
<el-form-item
label=
"Struct名称"
prop=
"structName"
>
<el-input
v-model=
"form.structName"
placeholder=
"首字母自动转换大写"
></el-input>
</el-form-item>
<el-form-item
label=
"Struct简称"
prop=
"abbreviation"
>
<el-input
v-model=
"form.abbreviation"
></el-input>
</el-form-item>
<el-form-item
label=
"Package名称"
prop=
"packageName"
>
<el-input
v-model=
"form.packageName"
></el-input>
</el-form-item>
</el-form>
<!-- 组件列表 -->
<div
class=
"button-box clearflex"
>
<el-button
@
click=
"editAndAddField()"
type=
"primary"
>
新增Field
</el-button>
</div>
<el-table
:data=
"form.fields"
border
stripe
>
<el-table-column
type=
"index"
label=
"序列"
width=
"280"
>
</el-table-column>
<el-table-column
prop=
"fieldName"
label=
"Field名"
width=
"280"
>
</el-table-column>
<el-table-column
prop=
"fieldJson"
label=
"FieldJson"
width=
"280"
>
</el-table-column>
<el-table-column
prop=
"fieldType"
label=
"Field数据类型"
width=
"280"
>
</el-table-column>
<el-table-column
label=
"操作"
>
<template
slot-scope=
"scope"
>
<el-button
type=
"primary"
@
click=
"editAndAddField(scope.row)"
>
编辑
</el-button>
<el-popover
placement=
"top"
width=
"280"
v-model=
"scope.row.visible"
>
<p>
这是一段内容这是一段内容确定删除吗?
</p>
<div
style=
"text-align: right; margin: 0"
>
<el-button
size=
"mini"
type=
"text"
@
click=
"scope.row.visible = false"
>
取消
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"deleteField(scope.$index)"
>
确定
</el-button>
</div>
<el-button
type=
"danger"
slot=
"reference"
>
删除
</el-button>
</el-popover>
</
template
>
</el-table-column>
</el-table>
<!-- 组件列表 -->
<div
class=
"button-box clearflex"
>
<el-button
@
click=
"enterForm"
type=
"primary"
>
生成代码包
</el-button>
</div>
<!-- 组件弹窗 -->
<el-dialog
title=
"组件内容"
:visible.sync=
"dialogFlag"
>
<FieldDialog
:dialogMiddle=
"dialogMiddle"
ref=
"fieldDialog"
/>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"closeDialog"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"enterDialog"
>
确 定
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
const
fieldTemplate
=
{
fieldName
:
""
,
fieldType
:
""
,
fieldJson
:
""
,
columnName
:
""
,
}
import
FieldDialog
from
"
@/view/systemTools/autoCode/component/fieldDialog.vue
"
import
{
toUpperCase
}
from
"
@/utils/toUpperCase.js
"
import
{
createTemp
}
from
"
@/api/autoCode.js
"
export
default
{
name
:
"
autoCode
"
,
data
(){
return
{
addFlag
:
""
,
form
:{
structName
:
""
,
packageName
:
""
,
abbreviation
:
""
,
fields
:[]
},
rules
:{
structName
:[{
required
:
true
,
message
:
'
请输入结构体名称
'
,
trigger
:
'
blur
'
}],
abbreviation
:[{
required
:
true
,
message
:
'
请输入结构体简称
'
,
trigger
:
'
blur
'
}],
packageName
:[{
required
:
true
,
message
:
'
请输入包名称
'
,
trigger
:
'
blur
'
}]
},
dialogMiddle
:{},
bk
:{},
dialogFlag
:
false
}
},
components
:{
FieldDialog
},
methods
:{
editAndAddField
(
item
){
this
.
dialogFlag
=
true
if
(
item
){
this
.
addFlag
=
"
edit
"
this
.
bk
=
JSON
.
parse
(
JSON
.
stringify
(
item
))
this
.
dialogMiddle
=
item
}
else
{
this
.
addFlag
=
"
add
"
this
.
dialogMiddle
=
JSON
.
parse
(
JSON
.
stringify
(
fieldTemplate
))
}
},
enterDialog
(){
this
.
$refs
.
fieldDialog
.
$refs
.
fieldDialogFrom
.
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
dialogMiddle
.
fieldName
=
toUpperCase
(
this
.
dialogMiddle
.
fieldName
)
if
(
this
.
addFlag
==
"
add
"
){
this
.
form
.
fields
.
push
(
this
.
dialogMiddle
)
}
this
.
dialogFlag
=
false
}
else
{
return
false
;
}
});
},
closeDialog
(){
if
(
this
.
addFlag
==
"
edit
"
){
this
.
dialogMiddle
=
this
.
bk
}
this
.
dialogFlag
=
false
},
deleteField
(
index
){
this
.
form
.
fields
.
splice
(
index
,
1
)
},
async
enterForm
(){
this
.
$refs
.
autoCodeForm
.
validate
(
async
(
valid
)
=>
{
if
(
valid
)
{
this
.
form
.
structName
=
toUpperCase
(
this
.
form
.
structName
)
const
data
=
await
createTemp
(
this
.
form
)
const
blob
=
new
Blob
([
data
],{
type
:
'
application/json
'
})
debugger
const
fileName
=
'
ginvueadmin.zip
'
if
(
'
download
'
in
document
.
createElement
(
'
a
'
))
{
// 不是IE浏览器
let
url
=
window
.
URL
.
createObjectURL
(
blob
)
let
link
=
document
.
createElement
(
'
a
'
)
link
.
style
.
display
=
'
none
'
link
.
href
=
url
link
.
setAttribute
(
'
download
'
,
fileName
)
document
.
body
.
appendChild
(
link
)
link
.
click
()
document
.
body
.
removeChild
(
link
)
// 下载完成移除元素
window
.
URL
.
revokeObjectURL
(
url
)
// 释放掉blob对象
}
else
{
// IE 10+
window
.
navigator
.
msSaveBlob
(
blob
,
fileName
)
}
}
else
{
return
false
;
}
});
}
}
}
</
script
>
<
style
scope
lang=
"scss"
>
.button-box
{
padding
:
10px
20px
;
.el-button
{
float
:
right
;
}
}
</
style
>
\ No newline at end of file
QMPlusVuePage/src/view/systemTools/formCreate/index.vue
0 → 100644
浏览文件 @
ed75a7f3
<
template
>
<div
style=
"height:80vh"
>
<iframe
width=
"100%"
height=
"100%"
src=
"http://localhost:8888/form-generator/#/"
frameborder=
"0"
></iframe>
</div>
</
template
>
<
script
>
export
default
{
name
:
"
FormGenerator
"
};
</
script
>
<
style
lang=
"scss"
>
</
style
>
\ No newline at end of file
QMPlusVuePage/src/view/systemTools/index.vue
0 → 100644
浏览文件 @
ed75a7f3
<
template
>
<router-view></router-view>
</
template
>
<
script
>
export
default
{
name
:
"
System
"
,
}
</
script
>
<
style
lang=
"scss"
>
</
style
>
\ No newline at end of file
QMPlusVuePage/src/view/systemTools/system/system.vue
0 → 100644
浏览文件 @
ed75a7f3
<
template
>
<div>
<el-form
:model=
"config"
label-width=
"100px"
ref=
"form"
class=
"system"
>
<h2>
系统配置
</h2>
<el-form-item
label=
"多点登录拦截"
>
<el-checkbox
v-model=
"config.system.useMultipoint"
>
开启
</el-checkbox>
</el-form-item>
<el-form-item
label=
"环境值"
>
<el-input
v-model=
"config.system.env"
></el-input>
</el-form-item>
<el-form-item
label=
"端口值"
>
<el-input
v-model=
"config.system.addr"
></el-input>
</el-form-item>
<h2>
jwt签名
</h2>
<el-form-item
label=
"jwt签名"
>
<el-input
v-model=
"config.jwt.signingKey"
></el-input>
</el-form-item>
<h2>
casbin配置
</h2>
<el-form-item
label=
"模型地址"
>
<el-input
v-model=
"config.casbinConfig.modelPath"
></el-input>
</el-form-item>
<h2>
mysql admin数据库配置
</h2>
<el-form-item
label=
"username"
>
<el-input
v-model=
"config.mysqlAdmin.username"
></el-input>
</el-form-item>
<el-form-item
label=
"password"
>
<el-input
v-model=
"config.mysqlAdmin.password"
></el-input>
</el-form-item>
<el-form-item
label=
"path"
>
<el-input
v-model=
"config.mysqlAdmin.path"
></el-input>
</el-form-item>
<el-form-item
label=
"dbname"
>
<el-input
v-model=
"config.mysqlAdmin.dbname"
></el-input>
</el-form-item>
<el-form-item
label=
"config"
>
<el-input
v-model=
"config.mysqlAdmin.config"
></el-input>
</el-form-item>
<h2>
Redis admin数据库配置
</h2>
<el-form-item
label=
"addr"
>
<el-input
v-model=
"config.redisAdmin.addr"
></el-input>
</el-form-item>
<el-form-item
label=
"password"
>
<el-input
v-model=
"config.redisAdmin.password"
></el-input>
</el-form-item>
<el-form-item
label=
"db"
>
<el-input
v-model=
"config.redisAdmin.db"
></el-input>
</el-form-item>
<h2>
七牛密钥配置
</h2>
<el-form-item
label=
"accessKey"
>
<el-input
v-model=
"config.qiniu.accessKey"
></el-input>
</el-form-item>
<el-form-item
label=
"secretKey"
>
<el-input
v-model=
"config.qiniu.secretKey"
></el-input>
</el-form-item>
<el-form-item>
<el-button
@
click=
"update"
type=
"primary"
>
立即更新
</el-button>
<el-button
@
click=
"reload"
type=
"primary"
>
重启服务(开发中)
</el-button>
</el-form-item>
</el-form>
</div>
</
template
>
<
script
>
import
{
getSystemConfig
,
setSystemConfig
}
from
'
@/api/system
'
export
default
{
name
:
'
Config
'
,
data
()
{
return
{
config
:
{
system
:
{},
jwt
:
{},
casbinConfig
:
{},
mysqlAdmin
:
{},
redisAdmin
:
{},
qiniu
:
{}
}
}
},
async
created
()
{
await
this
.
initForm
()
},
methods
:
{
async
initForm
()
{
const
res
=
await
getSystemConfig
()
if
(
res
.
success
)
{
this
.
config
=
res
.
data
.
config
}
},
reload
()
{},
async
update
()
{
const
res
=
await
setSystemConfig
({
config
:
this
.
config
})
if
(
res
.
success
)
{
this
.
$message
({
type
:
'
success
'
,
message
:
'
配置文件设置成功
'
})
await
this
.
initForm
()
}
}
}
}
</
script
>
<
style
lang=
"scss"
>
h2
{
padding
:
10px
;
margin
:
10px
0
;
font-size
:
16px
;
box-shadow
:
-4px
1px
3px
0px
#e7e8e8
}
</
style
>
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录