未验证 提交 d1d719c6 编写于 作者: Mr.奇淼('s avatar Mr.奇淼( 提交者: GitHub

Merge pull request #701 from flipped-aurora/gva-vue3

Gva vue3
......@@ -5,6 +5,7 @@ COPY . .
RUN go env -w GO111MODULE=on
RUN go env -w GOPROXY=https://goproxy.cn,direct
RUN go env -w CGO_ENABLED=0
RUN go env
RUN go mod tidy
RUN go build -o server .
......
......@@ -5,7 +5,7 @@ type Register struct {
Username string `json:"userName"`
Password string `json:"passWord"`
NickName string `json:"nickName" gorm:"default:'QMPlusUser'"`
HeaderImg string `json:"headerImg" gorm:"default:'http://www.henrongyi.top/avatar/lufu.jpg'"`
HeaderImg string `json:"headerImg" gorm:"default:'https://qmplusimg.henrongyi.top/gva_header.jpg'"`
AuthorityId string `json:"authorityId" gorm:"default:888"`
AuthorityIds []string `json:"authorityIds"`
}
......
......@@ -7,15 +7,15 @@ import (
type SysUser struct {
global.GVA_MODEL
UUID uuid.UUID `json:"uuid" gorm:"comment:用户UUID"` // 用户UUID
Username string `json:"userName" gorm:"comment:用户登录名"` // 用户登录名
Password string `json:"-" gorm:"comment:用户登录密码"` // 用户登录密码
NickName string `json:"nickName" gorm:"default:系统用户;comment:用户昵称"` // 用户昵称
SideMode string `json:"sideMode" gorm:"default:dark;comment:用户侧边主题"` // 用户侧边主题
HeaderImg string `json:"headerImg" gorm:"default:http://qmplusimg.henrongyi.top/head.png;comment:用户头像"` // 用户头像
BaseColor string `json:"baseColor" gorm:"default:#fff;comment:基础颜色"` // 基础颜色
ActiveColor string `json:"activeColor" gorm:"default:#1890ff;comment:活跃颜色"` // 活跃颜色
AuthorityId string `json:"authorityId" gorm:"default:888;comment:用户角色ID"` // 用户角色ID
UUID uuid.UUID `json:"uuid" gorm:"comment:用户UUID"` // 用户UUID
Username string `json:"userName" gorm:"comment:用户登录名"` // 用户登录名
Password string `json:"-" gorm:"comment:用户登录密码"` // 用户登录密码
NickName string `json:"nickName" gorm:"default:系统用户;comment:用户昵称"` // 用户昵称
SideMode string `json:"sideMode" gorm:"default:dark;comment:用户侧边主题"` // 用户侧边主题
HeaderImg string `json:"headerImg" gorm:"default:https://qmplusimg.henrongyi.top/gva_header.jpg;comment:用户头像"` // 用户头像
BaseColor string `json:"baseColor" gorm:"default:#fff;comment:基础颜色"` // 基础颜色
ActiveColor string `json:"activeColor" gorm:"default:#1890ff;comment:活跃颜色"` // 活跃颜色
AuthorityId string `json:"authorityId" gorm:"default:888;comment:用户角色ID"` // 用户角色ID
Authority SysAuthority `json:"authority" gorm:"foreignKey:AuthorityId;references:AuthorityId;comment:用户角色"`
Authorities []SysAuthority `json:"authorities" gorm:"many2many:sys_user_authority;"`
}
......@@ -21,21 +21,21 @@
<el-form-item label="{{.FieldDesc}}">
<el-input v-model="searchInfo.{{.FieldJson}}" placeholder="搜索条件" />
</el-form-item>{{ end }}{{ end }}{{ end }}
<el-form-item>
<el-button size="mini" type="primary" icon="el-icon-search" @click="onSubmit">查询</el-button>
<el-button size="mini" type="primary" icon="el-icon-plus" @click="openDialog">新增</el-button>
<el-popover v-model:visible="deleteVisible" placement="top" width="160">
<p>确定要删除吗?</p>
<div style="text-align: right; margin: 0">
<el-button size="mini" type="text" @click="deleteVisible = false">取消</el-button>
<el-button size="mini" type="primary" @click="onDelete">确定</el-button>
</div>
<template #reference>
<el-button icon="el-icon-delete" size="mini" type="danger" style="margin-left: 10px;">批量删除</el-button>
</template>
</el-popover>
</el-form-item>
</el-form>
<div class="gva-btn-list">
<el-button size="mini" type="primary" icon="el-icon-search" @click="onSubmit">查询</el-button>
<el-button size="mini" type="primary" icon="el-icon-plus" @click="openDialog">新增</el-button>
<el-popover v-model:visible="deleteVisible" placement="top" width="160">
<p>确定要删除吗?</p>
<div style="text-align: right; margin: 0">
<el-button size="mini" type="text" @click="deleteVisible = false">取消</el-button>
<el-button size="mini" type="primary" @click="onDelete">确定</el-button>
</div>
<template #reference>
<el-button icon="el-icon-delete" size="mini" type="danger" style="margin-left: 10px;">批量删除</el-button>
</template>
</el-popover>
</div>
</div>
<el-table
ref="multipleTable"
......
......@@ -154,6 +154,10 @@ func (autoCodeService *AutoCodeService) PreviewTemp(autoCode system.AutoCodeStru
//@return: err error
func (autoCodeService *AutoCodeService) CreateTemp(autoCode system.AutoCodeStruct, ids ...uint) (err error) {
// 增加判断: 重复创建struct
if autoCode.AutoMoveFile && AutoCodeHistoryServiceApp.Repeat(autoCode.StructName) {
return RepeatErr
}
dataList, fileList, needMkdir, err := autoCodeService.getNeedList(&autoCode)
if err != nil {
return err
......
package system
import (
"errors"
"fmt"
"path/filepath"
"strings"
......@@ -14,11 +15,20 @@ import (
"go.uber.org/zap"
)
var RepeatErr = errors.New("重复创建")
type AutoCodeHistoryService struct {
}
var AutoCodeHistoryServiceApp = new(AutoCodeHistoryService)
func (autoCodeHistoryService *AutoCodeHistoryService) Repeat(structName string) bool {
var count int64
global.GVA_DB.Model(&system.SysAutoCodeHistory{}).Where("struct_name = ? and flag = 0", structName).Count(&count)
return count > 0
}
// CreateAutoCodeHistory RouterPath : RouterPath@RouterString;RouterPath2@RouterString2
func (autoCodeHistoryService *AutoCodeHistoryService) CreateAutoCodeHistory(meta, structName, structCNName, autoCodePath string, injectionMeta string, tableName string, apiIds string) error {
return global.GVA_DB.Create(&system.SysAutoCodeHistory{
......
......@@ -5,6 +5,8 @@ import (
"fmt"
"path/filepath"
uuid "github.com/satori/go.uuid"
"github.com/flipped-aurora/gin-vue-admin/server/config"
"github.com/flipped-aurora/gin-vue-admin/server/global"
"github.com/flipped-aurora/gin-vue-admin/server/model/example"
......@@ -33,6 +35,7 @@ func (initDBService *InitDBService) writeConfig(viper *viper.Viper, mysql config
for k, v := range cs {
viper.Set(k, v)
}
viper.Set("jwt.signing-key", uuid.NewV4())
return viper.WriteConfig()
}
......@@ -159,6 +162,7 @@ func (initDBService *InitDBService) InitDB(conf request.InitDB) error {
global.GVA_DB = nil
return err
}
if err = initDBService.writeConfig(global.GVA_VP, MysqlConfig); err != nil {
return err
}
......
......@@ -16,8 +16,8 @@ var Admin = new(admin)
type admin struct{}
var admins = []system.SysUser{
{GVA_MODEL: global.GVA_MODEL{ID: 1, CreatedAt: time.Now(), UpdatedAt: time.Now()}, UUID: uuid.NewV4(), Username: "admin", Password: "e10adc3949ba59abbe56e057f20f883e", NickName: "超级管理员", HeaderImg: "http://qmplusimg.henrongyi.top/gva_header.jpg", AuthorityId: "888"},
{GVA_MODEL: global.GVA_MODEL{ID: 2, CreatedAt: time.Now(), UpdatedAt: time.Now()}, UUID: uuid.NewV4(), Username: "a303176530", Password: "3ec063004a6f31642261936a379fde3d", NickName: "QMPlusUser", HeaderImg: "http://qmplusimg.henrongyi.top/1572075907logo.png", AuthorityId: "9528"},
{GVA_MODEL: global.GVA_MODEL{ID: 1, CreatedAt: time.Now(), UpdatedAt: time.Now()}, UUID: uuid.NewV4(), Username: "admin", Password: "e10adc3949ba59abbe56e057f20f883e", NickName: "超级管理员", HeaderImg: "https:///qmplusimg.henrongyi.top/gva_header.jpg", AuthorityId: "888"},
{GVA_MODEL: global.GVA_MODEL{ID: 2, CreatedAt: time.Now(), UpdatedAt: time.Now()}, UUID: uuid.NewV4(), Username: "a303176530", Password: "3ec063004a6f31642261936a379fde3d", NickName: "QMPlusUser", HeaderImg: "https:///qmplusimg.henrongyi.top/1572075907logo.png", AuthorityId: "9528"},
}
//@author: [SliverHorn](https://github.com/SliverHorn)
......
......@@ -14,8 +14,8 @@ var File = new(file)
type file struct{}
var files = []example.ExaFileUploadAndDownload{
{global.GVA_MODEL{ID: 1, CreatedAt: time.Now(), UpdatedAt: time.Now()}, "10.png", "http://qmplusimg.henrongyi.top/gvalogo.png", "png", "158787308910.png"},
{global.GVA_MODEL{ID: 2, CreatedAt: time.Now(), UpdatedAt: time.Now()}, "logo.png", "http://qmplusimg.henrongyi.top/1576554439myAvatar.png", "png", "1587973709logo.png"},
{global.GVA_MODEL{ID: 1, CreatedAt: time.Now(), UpdatedAt: time.Now()}, "10.png", "https://qmplusimg.henrongyi.top/gvalogo.png", "png", "158787308910.png"},
{global.GVA_MODEL{ID: 2, CreatedAt: time.Now(), UpdatedAt: time.Now()}, "logo.png", "https://qmplusimg.henrongyi.top/1576554439myAvatar.png", "png", "1587973709logo.png"},
}
//@author: [SliverHorn](https://github.com/SliverHorn)
......
......@@ -2,7 +2,6 @@
<template>
<div>
<el-upload
class="image-uploader"
:action="`${path}/fileUploadAndDownload/upload`"
:headers="{ 'x-token': token }"
:show-file-list="false"
......@@ -10,8 +9,7 @@
:before-upload="beforeImageUpload"
:multiple="false"
>
<img v-if="imageUrl" :src="showImageUrl" class="image">
<i v-else class="el-icon-plus image-uploader-icon" />
<el-button size="mini" type="primary">压缩上传</el-button>
</el-upload>
</div>
</template>
......@@ -53,6 +51,13 @@ export default {
},
methods: {
beforeImageUpload(file) {
const isJPG = file.type === 'image/jpeg'
const isPng = file.type === 'image/png'
if (!isJPG && !isPng) {
this.$message.error('上传头像图片只能是 jpg或png 格式!')
return false
}
const isRightSize = file.size / 1024 < this.fileSize
if (!isRightSize) {
// 压缩
......
......@@ -653,7 +653,7 @@ li {
color: #fff;
}
.el-menu--inline {
border-left: 5px solid #2c3b41;
// border-left: 5px solid #2c3b41;
}
}
.hideside {
......@@ -810,9 +810,6 @@ li {
padding: 0 15px;
border-left: 1px solid #ebeef5;
border-right: 1px solid #ebeef5;
.demo-form-inline {
margin-bottom: 10px;
}
}
// table
......@@ -892,6 +889,14 @@ li {
// upload-demo
.upload-demo,
.upload {
.upload-box{
margin-bottom: 12px;
display: flex;
justify-content: flex-end;
.upload-btn{
margin-left: 12px;
}
}
background-color: $white-bg;
padding: 15px;
.el-upload-list__item-status-label {
......@@ -1019,6 +1024,7 @@ li {
.main-cont.el-main {
background-color: $bg-main;
.menu-total {
cursor: pointer;
font-size: 22px;
color: #838383;
margin-top: 16px;
......@@ -1042,7 +1048,12 @@ li {
height: $height-nav-scroll;
border: none;
border-left: 1px solid $border-color;
border-right: 1px solid $border-color;
+.el-tabs__item{
border-left: 0px solid $border-color;
}
}
.el-tabs__item.is-active {
background-color: rgba(64, 158, 255, .08);
}
......@@ -1145,10 +1156,6 @@ $mainHight: 100vh;
}
}
.el-scrollbar__wrap {
padding-bottom: 17px;
}
.layout-cont {
.right-box {
height: $height-header;
......@@ -1174,10 +1181,6 @@ $mainHight: 100vh;
background-color: #fff;
padding: 0;
}
.fl-right {
// height: $height-header;
// line-height: $height-header;
}
&.el-main {
overflow: auto;
background: #fff;
......@@ -1186,6 +1189,8 @@ $mainHight: 100vh;
overflow: visible;
position: relative;
.menu-total {
margin-left:6px;
cursor: pointer;
float: left;
margin-top: 10px;
width: 30px;
......@@ -1201,7 +1206,7 @@ $mainHight: 100vh;
}
}
.el-menu-vertical {
height: calc(100vh - 64px) !important;
height: calc(100vh - 60px) !important;
visibility: auto;
&:not(.el-menu--collapse) {
width: 220px;
......@@ -1397,6 +1402,15 @@ $mainHight: 100vh;
}
}
.gva-btn-list{
margin-bottom: 12px;
display: flex;
justify-content: flex-end;
.el-button+.el-button{
margin-left: 12px;
}
}
::-webkit-scrollbar-track-piece {
background-color: #f8f8f8;
}
......
<template>
<div>
<div class="search-term">
<el-form :inline="true" :model="searchInfo" class="demo-form-inline">
<el-form-item>
<el-button size="mini" type="primary" icon="el-icon-search" @click="openDialog">新增</el-button>
</el-form-item>
</el-form>
<div class="gva-btn-list">
<el-button size="mini" type="primary" icon="el-icon-plus" @click="openDialog">新增</el-button>
</div>
</div>
<el-table
ref="multipleTable"
......@@ -156,5 +154,4 @@ export default {
}
</script>
<style>
</style>
<style></style>
......@@ -8,10 +8,10 @@
:on-success="loadExcel"
:show-file-list="false"
>
<el-button size="small" type="primary" icon="el-icon-upload2">导入</el-button>
<el-button size="mini" type="primary" icon="el-icon-upload2">导入</el-button>
</el-upload>
<el-button class="excel-btn" size="small" type="primary" icon="el-icon-download" @click="handleExcelExport('ExcelExport.xlsx')">导出</el-button>
<el-button class="excel-btn" size="small" type="success" icon="el-icon-download" @click="downloadExcelTemplate()">下载模板</el-button>
<el-button class="excel-btn" size="mini" type="primary" icon="el-icon-download" @click="handleExcelExport('ExcelExport.xlsx')">导出</el-button>
<el-button class="excel-btn" size="mini" type="success" icon="el-icon-download" @click="downloadExcelTemplate()">下载模板</el-button>
</div>
<el-table :data="tableData" border row-key="ID" stripe>
<el-table-column label="ID" min-width="100" prop="ID" />
......@@ -74,6 +74,7 @@ export default {
.btn-list{
display: flex;
margin-bottom: 12px;
justify-content: flex-end;
.excel-btn+.excel-btn{
margin-left: 12px;
}
......
<template>
<div v-loading.fullscreen.lock="fullscreenLoading">
<div class="upload">
<el-row>
<el-col :span="12">
<el-upload
:action="`${path}/fileUploadAndDownload/upload`"
:before-upload="checkFile"
:headers="{ 'x-token': token }"
:on-error="uploadError"
:on-success="uploadSuccess"
:show-file-list="false"
>
<el-button size="small" type="primary">点击上传</el-button>
<template #tip>
<div class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
</template>
</el-upload>
</el-col>
<el-col :span="12">
带压缩的上传, (512(k)为压缩限制)
<upload-image v-model="imageUrl" :file-size="512" :max-w-h="1080" @on-success="getTableData" />
已上传文件 {{ imageUrl }}
</el-col>
</el-row>
<div class="upload-box">
<el-upload
:action="`${path}/fileUploadAndDownload/upload`"
:before-upload="checkFile"
:headers="{ 'x-token': token }"
:on-error="uploadError"
:on-success="uploadSuccess"
:show-file-list="false"
class="upload-btn"
>
<el-button size="mini" type="primary">普通上传</el-button>
</el-upload>
<upload-image
v-model="imageUrl"
:file-size="512"
:max-w-h="1080"
class="upload-btn"
@on-success="getTableData"
/>
</div>
<el-table :data="tableData" border stripe>
<el-table-column label="预览" width="100">
......@@ -127,13 +125,13 @@ export default {
this.fullscreenLoading = true
const isJPG = file.type === 'image/jpeg'
const isPng = file.type === 'image/png'
const isLt2M = file.size / 1024 / 1024 < 2
const isLt2M = file.size / 1024 / 1024 < 0.5
if (!isJPG && !isPng) {
this.$message.error('上传头像图片只能是 JPG或png 格式!')
this.$message.error('上传图片只能是 jpg或png 格式!')
this.fullscreenLoading = false
}
if (!isLt2M) {
this.$message.error('上传头像图片大小不能超过 2MB!')
this.$message.error('未压缩未见上传图片大小不能超过 500KB,请使用压缩上传')
this.fullscreenLoading = false
}
return (isPng || isJPG) && isLt2M
......
<template>
<div>
<el-scrollbar style="height:calc(100vh - 64px)">
<el-scrollbar style="height:calc(100vh - 60px)">
<transition :duration="{ enter: 800, leave: 100 }" mode="out-in" name="el-fade-in-linear">
<el-menu
:collapse="isCollapse"
......
......@@ -89,8 +89,12 @@ export default {
<style lang="scss" scoped>
.drawer-container {
transition: all 0.2s;
&:hover{
right: 0
}
position: fixed;
right: 0;
right: -20px;
bottom: 15%;
height: 40px;
width: 40px;
......
<template>
<div>
<div class="search-term">
<el-form :inline="true" :model="searchInfo" class="demo-form-inline">
<el-form :inline="true" :model="searchInfo">
<el-form-item label="路径">
<el-input v-model="searchInfo.path" placeholder="路径" />
</el-form-item>
......@@ -21,21 +21,21 @@
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button size="mini" type="primary" icon="el-icon-search" @click="onSubmit">查询</el-button>
<el-button size="mini" type="primary" icon="el-icon-plus" @click="openDialog('addApi')">新增</el-button>
<el-popover v-model:visible="deleteVisible" placement="top" width="160">
<p>确定要删除吗?</p>
<div style="text-align: right; margin: 0">
<el-button size="mini" type="text" @click="deleteVisible = false">取消</el-button>
<el-button size="mini" type="primary" @click="onDelete">确定</el-button>
</div>
<template #reference>
<el-button icon="el-icon-delete" size="mini" type="danger" style="margin-left: 10px;">批量删除</el-button>
</template>
</el-popover>
</el-form-item>
</el-form>
<div class="gva-btn-list">
<el-button size="mini" type="primary" icon="el-icon-search" @click="onSubmit">查询</el-button>
<el-button size="mini" type="primary" icon="el-icon-plus" @click="openDialog('addApi')">新增</el-button>
<el-popover v-model:visible="deleteVisible" placement="top" width="160">
<p>确定要删除吗?</p>
<div style="text-align: right; margin: 0">
<el-button size="mini" type="text" @click="deleteVisible = false">取消</el-button>
<el-button size="mini" type="primary" @click="onDelete">确定</el-button>
</div>
<template #reference>
<el-button icon="el-icon-delete" size="mini" type="danger" style="margin-left: 10px;">批量删除</el-button>
</template>
</el-popover>
</div>
</div>
<el-table :data="tableData" border stripe @sort-change="sortChange" @selection-change="handleSelectionChange">
<el-table-column
......
<template>
<div class="authority">
<div class="button-box clearflex">
<div class="gva-btn-list">
<el-button size="mini" type="primary" icon="el-icon-plus" @click="addAuthority('0')">新增角色</el-button>
</div>
<el-table
......@@ -13,7 +13,7 @@
>
<el-table-column label="角色id" min-width="180" prop="authorityId" />
<el-table-column label="角色名称" min-width="180" prop="authorityName" />
<el-table-column fixed="right" label="操作" width="460">
<el-table-column label="操作" width="460">
<template #default="scope">
<el-button size="mini" type="primary" @click="opdendrawer(scope.row)">设置权限</el-button>
<el-button
......@@ -369,16 +369,10 @@ export default {
display: none;
}
}
.button-box {
padding: 10px 20px;
.el-button {
float: right;
}
}
}
.role-box {
.el-tabs__content {
height: calc(100vh - 150px);
height: calc(100vh - 72px);
overflow: auto;
}
}
......
<template>
<div>
<div class="clearflex">
<el-button class="fl-right" size="small" type="primary" @click="authApiEnter">确 定</el-button>
<el-button class="fl-right" size="mini" type="primary" @click="authApiEnter">确 定</el-button>
</div>
<el-tree
ref="apiTree"
......
<template>
<div>
<div class="clearflex" style="margin:18px">
<el-button class="fl-right" size="small" type="primary" @click="authDataEnter">确 定</el-button>
<el-button class="fl-left" size="small" type="primary" @click="all">全选</el-button>
<el-button class="fl-left" size="small" type="primary" @click="self">本角色</el-button>
<el-button class="fl-left" size="small" type="primary" @click="selfAndChildren">本角色及子角色</el-button>
<el-button class="fl-right" size="mini" type="primary" @click="authDataEnter">确 定</el-button>
<el-button class="fl-left" size="mini" type="primary" @click="all">全选</el-button>
<el-button class="fl-left" size="mini" type="primary" @click="self">本角色</el-button>
<el-button class="fl-left" size="mini" type="primary" @click="selfAndChildren">本角色及子角色</el-button>
</div>
<el-checkbox-group v-model="dataAuthorityId" @change="selectAuthority">
<el-checkbox v-for="(item,key) in authoritys" :key="key" :label="item">{{ item.authorityName }}</el-checkbox>
</el-checkbox-group>
<span>
此功能仅用于创建角色和角色的many2many关系表,具体使用还须自己结合表实现业务,详情参考示例代码(客户示例)
</span>
</div>
</template>
......
<template>
<div>
<div class="clearflex">
<el-button class="fl-right" size="small" type="primary" @click="relation">确 定</el-button>
<el-button class="fl-right" size="mini" type="primary" @click="relation">确 定</el-button>
</div>
<el-tree
ref="menuTree"
......
<template>
<div>
<div class="search-term">
<el-form :inline="true" :model="searchInfo" class="demo-form-inline">
<el-form :inline="true" :model="searchInfo">
<el-form-item label="字典名(中)">
<el-input v-model="searchInfo.name" placeholder="搜索条件" />
</el-form-item>
......@@ -17,11 +17,11 @@
<el-form-item label="描述">
<el-input v-model="searchInfo.desc" placeholder="搜索条件" />
</el-form-item>
<el-form-item>
<el-button size="mini" type="primary" icon="el-icon-search" @click="onSubmit">查询</el-button>
<el-button size="mini" type="primary" icon="el-icon-plus" @click="openDialog">新增</el-button>
</el-form-item>
</el-form>
<div class="gva-btn-list">
<el-button size="mini" type="primary" icon="el-icon-search" @click="onSubmit">查询</el-button>
<el-button size="mini" type="primary" icon="el-icon-plus" @click="openDialog">新增</el-button>
</div>
</div>
<el-table
ref="multipleTable"
......
<template>
<div>
<div class="search-term">
<el-form :inline="true" :model="searchInfo" class="demo-form-inline">
<el-form :inline="true" :model="searchInfo">
<el-form-item label="展示值">
<el-input v-model="searchInfo.label" placeholder="搜索条件" />
</el-form-item>
......@@ -14,13 +14,11 @@
<el-option key="false" label="否" value="false" />
</el-select>
</el-form-item>
<el-form-item>
<el-button size="mini" type="primary" icon="el-icon-search" @click="onSubmit">查询</el-button>
</el-form-item>
<el-form-item>
<el-button size="mini" type="primary" icon="el-icon-plus" @click="openDialog">新增字典项</el-button>
</el-form-item>
</el-form>
<div class="gva-btn-list">
<el-button size="mini" type="primary" icon="el-icon-search" @click="onSubmit">查询</el-button>
<el-button size="mini" type="primary" icon="el-icon-plus" @click="openDialog">新增字典项</el-button>
</div>
</div>
<el-table
ref="multipleTable"
......
<template>
<div>
<div class="button-box clearflex">
<div class="gva-btn-list">
<el-button size="mini" type="primary" icon="el-icon-plus" @click="addMenu('0')">新增根菜单</el-button>
</div>
......@@ -413,12 +413,6 @@ export default {
</script>
<style scoped lang="scss">
.button-box {
padding: 10px 20px;
.el-button {
float: right;
}
}
.warning {
color: #dc143c;
}
......
<template>
<div>
<div class="search-term">
<el-form :inline="true" :model="searchInfo" class="demo-form-inline">
<el-form :inline="true" :model="searchInfo">
<el-form-item label="请求方法">
<el-input v-model="searchInfo.method" placeholder="搜索条件" />
</el-form-item>
......@@ -11,20 +11,20 @@
<el-form-item label="结果状态码">
<el-input v-model="searchInfo.status" placeholder="搜索条件" />
</el-form-item>
<el-form-item>
<el-button size="mini" type="primary" icon="el-icon-search" @click="onSubmit">查询</el-button>
<el-popover v-model:visible="deleteVisible" placement="top" width="160">
<p>确定要删除吗?</p>
<div style="text-align: right; margin: 0">
<el-button size="mini" type="text" @click="deleteVisible = false">取消</el-button>
<el-button size="mini" type="primary" @click="onDelete">确定</el-button>
</div>
<template #reference>
<el-button icon="el-icon-delete" size="mini" type="danger" style="margin-left: 10px;">批量删除</el-button>
</template>
</el-popover>
</el-form-item>
</el-form>
<div class="gva-btn-list">
<el-button size="mini" type="primary" icon="el-icon-search" @click="onSubmit">查询</el-button>
<el-popover v-model:visible="deleteVisible" placement="top" width="160">
<p>确定要删除吗?</p>
<div style="text-align: right; margin: 0">
<el-button size="mini" type="text" @click="deleteVisible = false">取消</el-button>
<el-button size="mini" type="primary" @click="onDelete">确定</el-button>
</div>
<template #reference>
<el-button icon="el-icon-delete" size="mini" type="danger" style="margin-left: 10px;">批量删除</el-button>
</template>
</el-popover>
</div>
</div>
<el-table
ref="multipleTable"
......
<template>
<div>
<div class="button-box clearflex">
<div class="gva-btn-list">
<el-button size="mini" type="primary" icon="el-icon-plus" @click="addUser">新增用户</el-button>
</div>
<el-table :data="tableData" border stripe>
......@@ -242,13 +242,6 @@ export default {
</script>
<style lang="scss">
.button-box {
padding: 10px 20px;
.el-button {
float: right;
}
}
.user-dialog {
.header-img-box {
width: 200px;
......
......@@ -78,7 +78,7 @@
</el-form-item>
</el-form>
<!-- 组件列表 -->
<div class="button-box clearflex">
<div class="gva-btn-list">
<el-button size="mini" type="primary" @click="editAndAddField()">新增Field</el-button>
</div>
<el-table :data="form.fields" border stripe>
......@@ -128,7 +128,7 @@
</el-table>
<el-tag type="danger">id , created_at , updated_at , deleted_at 会自动生成请勿重复创建</el-tag>
<!-- 组件列表 -->
<div class="button-box clearflex">
<div class="gva-btn-list">
<el-button size="mini" type="primary" @click="enterForm(true)">预览代码</el-button>
<el-button size="mini" type="primary" @click="enterForm(false)">生成代码</el-button>
</div>
......
<template>
<div>
<div class="search-term">
<el-form :inline="true" :model="searchInfo" class="demo-form-inline">
<el-form-item label="表名">
<el-input v-model="searchInfo.tableName" placeholder="表名" />
</el-form-item>
<el-form-item label="结构体名称">
<el-input v-model="searchInfo.structName" placeholder="结构体名称" />
</el-form-item>
<el-form-item>
<el-button size="mini" type="primary" icon="el-icon-plus" @click="goAutoCode(null)">新增</el-button>
</el-form-item>
</el-form>
<div class="gva-btn-list">
<el-button size="mini" type="primary" icon="el-icon-plus" @click="goAutoCode(null)">新增</el-button>
</div>
</div>
<el-table :data="tableData" border stripe>
<el-table-column
......
......@@ -299,12 +299,11 @@
</el-form-item>
</template>
<!-- ossType end -->
<el-form-item>
<el-button type="primary" @click="update">立即更新</el-button>
<el-button type="primary" @click="reload">重启服务(开发中)</el-button>
</el-form-item>
</el-form>
<div class="gva-btn-list">
<el-button type="primary" size="mini" @click="update">立即更新</el-button>
<el-button type="primary" size="mini" @click="reload">重启服务(开发中)</el-button>
</div>
</div>
</template>
......@@ -378,7 +377,7 @@ export default {
padding: 10px;
margin: 10px 0;
font-size: 16px;
box-shadow: -4px 1px 3px 0px #e7e8e8;
box-shadow: -4px 0px 0px 0px #e7e8e8;
}
}
</style>
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册