Browse Source
Merge branch 'gva_gormv2_dev' of https://github.com/flipped-aurora/gin-vue-admin into gva_gormv2_dev
main
Merge branch 'gva_gormv2_dev' of https://github.com/flipped-aurora/gin-vue-admin into gva_gormv2_dev
main
SliverHorn
4 years ago
17 changed files with 253 additions and 574 deletions
-
2server/api/v1/sys_user.go
-
13server/cmd/datas/authority_menus.go
-
46server/cmd/datas/menus.go
-
2server/config.yaml
-
2server/config/gorm.go
-
58server/initialize/gorm.go
-
33server/initialize/logger.go
-
2server/utils/verify.go
-
242web/package-lock.json
-
2web/package.json
-
19web/src/main.js
-
3web/src/permission.js
-
8web/src/utils/page.js
-
187web/src/view/example/form/form.vue
-
53web/src/view/example/rte/rte.vue
-
115web/src/view/example/table/table.vue
-
40web/src/view/person/person.vue
@ -0,0 +1,8 @@ |
|||
const title = 'GIN-VUE-ADMIN' |
|||
|
|||
export default function getPageTitle(pageTitle) { |
|||
if (pageTitle) { |
|||
return `${pageTitle} - ${title}` |
|||
} |
|||
return `${title}` |
|||
} |
@ -1,187 +0,0 @@ |
|||
<template> |
|||
<div> |
|||
<el-form :model="form" label-width="80px" ref="form"> |
|||
<el-row> |
|||
<el-col :span="3" :xs="6"><label for="">活动名称</label></el-col> |
|||
<el-col :span="10" :xs="14"><el-input v-model="form.name"></el-input></el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="3" :xs="6"><label for="">活动区域</label></el-col> |
|||
<el-col :span="10" :xs="14"> |
|||
<el-select placeholder="请选择活动区域" v-model="form.region"> |
|||
<el-option label="上海" value="shanghai"></el-option> |
|||
<el-option label="北京" value="beijing"></el-option> |
|||
</el-select> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="3" :xs="6"><label for="">活动时间</label></el-col> |
|||
<el-col :span="10" :xs="18"> |
|||
<el-col :span="11"> |
|||
<el-date-picker placeholder="选择日期" style="width: 100%;" type="date" v-model="form.date1"></el-date-picker> |
|||
</el-col> |
|||
<el-col :span="2" class="line">——</el-col> |
|||
<el-col :span="11"> |
|||
<el-time-picker placeholder="选择时间" style="width: 100%;" v-model="form.date2"></el-time-picker> |
|||
</el-col> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="3" :xs="6"><label for="">即时配送</label></el-col> |
|||
<el-col :span="10" :xs="14"><el-switch v-model="form.delivery"></el-switch></el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="3" :xs="6"><label for="">活动性质</label></el-col> |
|||
<el-col :span="10" :xs="14"> |
|||
<el-checkbox-group v-model="form.type"> |
|||
<el-checkbox label="美食/餐厅线上活动" name="type"></el-checkbox> |
|||
<el-checkbox label="地推活动" name="type"></el-checkbox> |
|||
<el-checkbox label="线下主题活动" name="type"></el-checkbox> |
|||
<el-checkbox label="单纯品牌曝光" name="type"></el-checkbox> |
|||
</el-checkbox-group> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="3" :xs="6"><label for="">特殊资源</label></el-col> |
|||
<el-col :span="10" :xs="14"> |
|||
<el-radio-group v-model="form.resource"> |
|||
<el-radio label="线上品牌商赞助"></el-radio> |
|||
<el-radio label="线下场地免费"></el-radio> |
|||
</el-radio-group> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="3" :xs="6"><label for="">活动形式</label></el-col> |
|||
<el-col :span="10" :xs="14"><el-input type="textarea" v-model="form.desc"></el-input></el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="3" :xs="6"><label for="">穿梭框</label></el-col> |
|||
<el-col :span="20" :xs="24"> |
|||
<el-transfer |
|||
:data="data" |
|||
:filter-method="filterMethod" |
|||
filter-placeholder="请输入城市拼音" |
|||
filterable |
|||
v-model="value" |
|||
></el-transfer> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="3" :xs="6"><label for="">活动时间</label></el-col> |
|||
<el-col :span="10"><el-input v-model="form.name"></el-input></el-col> |
|||
</el-row> |
|||
<el-row type="flex" justify="center"> |
|||
<el-col :span="13"> |
|||
<el-button @click="onSubmit" type="primary">立即创建</el-button> |
|||
<el-button>取消</el-button> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
|
|||
<!-- <el-form-item label="活动名称"> |
|||
<el-input v-model="form.name"></el-input> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-select label="活动区域" placeholder="请选择活动区域" v-model="form.region"> |
|||
<el-option label="上海" value="shanghai"></el-option> |
|||
<el-option label="北京" value="beijing"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="活动时间"> |
|||
<el-col :span="11"> |
|||
<el-date-picker placeholder="选择日期" style="width: 100%;" type="date" v-model="form.date1"></el-date-picker> |
|||
</el-col> |
|||
<el-col :span="2" class="line" style="text-align: center">——</el-col> |
|||
<el-col :span="11"> |
|||
<el-time-picker placeholder="选择时间" style="width: 100%;" v-model="form.date2"></el-time-picker> |
|||
</el-col> |
|||
</el-form-item> |
|||
<el-form-item label="即时配送"> |
|||
<el-switch v-model="form.delivery"></el-switch> |
|||
</el-form-item> |
|||
<el-form-item label="活动性质"> |
|||
<el-checkbox-group v-model="form.type"> |
|||
<el-checkbox label="美食/餐厅线上活动" name="type"></el-checkbox> |
|||
<el-checkbox label="地推活动" name="type"></el-checkbox> |
|||
<el-checkbox label="线下主题活动" name="type"></el-checkbox> |
|||
<el-checkbox label="单纯品牌曝光" name="type"></el-checkbox> |
|||
</el-checkbox-group> |
|||
</el-form-item> |
|||
<el-form-item label="特殊资源"> |
|||
<el-radio-group v-model="form.resource"> |
|||
<el-radio label="线上品牌商赞助"></el-radio> |
|||
<el-radio label="线下场地免费"></el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
<el-form-item label="活动形式"> |
|||
<el-input type="textarea" v-model="form.desc"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="穿梭框"> |
|||
<el-transfer |
|||
:data="data" |
|||
:filter-method="filterMethod" |
|||
filter-placeholder="请输入城市拼音" |
|||
filterable |
|||
v-model="value" |
|||
></el-transfer> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button @click="onSubmit" type="primary">立即创建</el-button> |
|||
<el-button>取消</el-button> |
|||
</el-form-item> --> |
|||
</el-form> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
export default { |
|||
data() { |
|||
const generateData = () => { |
|||
const data = [] |
|||
const cities = ['上海', '北京', '广州', '深圳', '南京', '西安', '成都'] |
|||
const pinyin = [ |
|||
'shanghai', |
|||
'beijing', |
|||
'guangzhou', |
|||
'shenzhen', |
|||
'nanjing', |
|||
'xian', |
|||
'chengdu' |
|||
] |
|||
cities.forEach((city, index) => { |
|||
data.push({ |
|||
label: city, |
|||
key: index, |
|||
pinyin: pinyin[index] |
|||
}) |
|||
}) |
|||
return data |
|||
} |
|||
return { |
|||
form: { |
|||
name: '', |
|||
region: '', |
|||
date1: '', |
|||
date2: '', |
|||
delivery: false, |
|||
type: [], |
|||
resource: '', |
|||
desc: '' |
|||
}, |
|||
data: generateData(), |
|||
value: [], |
|||
|
|||
} |
|||
}, |
|||
methods: { |
|||
filterMethod(query, item) { |
|||
return item.pinyin.indexOf(query) > -1 |
|||
}, |
|||
onSubmit() { |
|||
this.$message({ |
|||
message: '创建成功', |
|||
type: 'success' |
|||
}) |
|||
} |
|||
} |
|||
} |
|||
</script> |
@ -1,53 +0,0 @@ |
|||
<template> |
|||
<div> |
|||
<h1>富文本编辑器</h1> |
|||
<div class="edit_container"> |
|||
<quill-editor |
|||
:options="editorOption" |
|||
@blur="onEditorBlur($event)" |
|||
@change="onEditorChange($event)" |
|||
@focus="onEditorFocus($event)" |
|||
ref="myQuillEditor" |
|||
v-model="content" |
|||
></quill-editor> |
|||
<el-button plain @click="saveHtml">保存</el-button> |
|||
</div> |
|||
<h1>markdown编辑器</h1> |
|||
<div class="edit"> |
|||
<mavon-editor v-model="model.content"></mavon-editor> |
|||
<el-button type="primary" size="small" @click="submit">发表</el-button> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
name: 'App', |
|||
data() { |
|||
return { |
|||
content: `<p>hello world</p>`, |
|||
editorOption: {}, |
|||
model:{ |
|||
content:'' |
|||
} |
|||
} |
|||
}, |
|||
computed: { |
|||
editor() { |
|||
return this.$refs.myQuillEditor.quill |
|||
} |
|||
}, |
|||
methods: { |
|||
// onEditorReady(editor) { // 准备编辑器 |
|||
|
|||
// }, |
|||
onEditorBlur() {}, // 失去焦点事件 |
|||
onEditorFocus() {}, // 获得焦点事件 |
|||
onEditorChange() {}, // 内容改变事件 |
|||
saveHtml() { |
|||
console.log(this.content) |
|||
}, // 保存方法 |
|||
submit(){} |
|||
} |
|||
} |
|||
</script> |
@ -1,115 +0,0 @@ |
|||
// table 纯前端示例 |
|||
<template> |
|||
<div> |
|||
<el-table |
|||
:data="tableData" |
|||
@selection-change="handleSelectionChange" |
|||
border |
|||
ref="multipleTable" |
|||
stripe |
|||
style="width: 100%" |
|||
tooltip-effect="dark" |
|||
> |
|||
<el-table-column type="selection" width="55"></el-table-column> |
|||
<el-table-column label="日期" width="120"> |
|||
<template slot-scope="scope">{{ scope.row.date }}</template> |
|||
</el-table-column> |
|||
<el-table-column label="姓名" prop="name" width="120"></el-table-column> |
|||
<el-table-column label="年龄" prop="age" width="120"></el-table-column> |
|||
<el-table-column label="住址" prop="address" min-width="200" show-overflow-tooltip></el-table-column> |
|||
<el-table-column label="是否禁用" prop="switch" width="180"> |
|||
<template slot-scope="scope"> |
|||
<el-switch active-text="开启" inactive-text="禁用" v-model="scope.row.switch"></el-switch> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="按钮组" width="200"> |
|||
<template slot-scope="scope" > |
|||
<el-button type="text" size="small" @click="toggleSelection([scope.row])">按钮1</el-button> |
|||
<el-button type="text" size="small" @click="toggleSelection([scope.row])">按钮2</el-button> |
|||
<el-button type="text" size="small" @click="toggleSelection([scope.row])">按钮3</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
<div style="margin-top: 20px"> |
|||
<el-button @click="toggleSelection([tableData[1], tableData[2]])">切换第二、第三行的选中状态</el-button> |
|||
<el-button @click="toggleSelection()">取消选择</el-button> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
name: 'Table', |
|||
data() { |
|||
return { |
|||
tableData: [ |
|||
{ |
|||
date: '2016-05-03', |
|||
name: '王小虎', |
|||
age: 12, |
|||
address: '上海市普陀区金沙江路 1518 弄', |
|||
switch:true |
|||
}, |
|||
{ |
|||
date: '2016-05-02', |
|||
name: '王小虎', |
|||
age: 12, |
|||
address: '上海市普陀区金沙江路 1518 弄', |
|||
switch:true |
|||
}, |
|||
{ |
|||
date: '2016-05-04', |
|||
name: '王小虎', |
|||
age: 12, |
|||
address: '上海市普陀区金沙江路 1518 弄', |
|||
switch:true |
|||
}, |
|||
{ |
|||
date: '2016-05-01', |
|||
name: '王小虎', |
|||
age: 12, |
|||
address: '上海市普陀区金沙江路 1518 弄', |
|||
switch:false |
|||
}, |
|||
{ |
|||
date: '2016-05-08', |
|||
name: '王小虎', |
|||
age: 12, |
|||
address: '上海市普陀区金沙江路 1518 弄', |
|||
switch:true |
|||
}, |
|||
{ |
|||
date: '2016-05-06', |
|||
name: '王小虎', |
|||
age: 12, |
|||
address: '上海市普陀区金沙江路 1518 弄', |
|||
switch:true |
|||
}, |
|||
{ |
|||
date: '2016-05-07', |
|||
name: '王小虎', |
|||
age: 12, |
|||
address: '上海市普陀区金沙江路 1518 弄', |
|||
switch:false |
|||
} |
|||
], |
|||
multipleSelection: [] |
|||
} |
|||
}, |
|||
|
|||
methods: { |
|||
toggleSelection(rows) { |
|||
if (rows) { |
|||
rows.forEach(row => { |
|||
this.$refs.multipleTable.toggleRowSelection(row) |
|||
}) |
|||
} else { |
|||
this.$refs.multipleTable.clearSelection() |
|||
} |
|||
}, |
|||
handleSelectionChange(val) { |
|||
this.multipleSelection = val |
|||
} |
|||
} |
|||
} |
|||
</script> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue