@@ -0,0 +1,67 @@ | |||||
/* | |||||
* @Date: 2021-08-24 14:51:18 | |||||
* @LastEditTime: 2022-07-27 10:47:43 | |||||
* @Description: 汽车资讯 | |||||
*/ | |||||
import request from '@/utils/request' | |||||
/** 轮播 */ | |||||
export function saveLunbo(data) { | |||||
return request({ | |||||
url: '/aigc/saveLunbo', | |||||
method: 'post', | |||||
data | |||||
}) | |||||
} | |||||
export function delLunbo(id) { | |||||
return request({ | |||||
url: '/index/delLunbo', | |||||
method: 'post', | |||||
data: { id } | |||||
}) | |||||
} | |||||
/** 数字人形象 */ | |||||
export function saveShuziren(data) { | |||||
return request({ | |||||
url: '/aigc/saveShuziren', | |||||
method: 'post', | |||||
data | |||||
}) | |||||
} | |||||
/** 广告位1 */ | |||||
export function guanggao1() { | |||||
return request({ | |||||
url: '/aigc/guanggao1', | |||||
method: 'get' | |||||
}) | |||||
} | |||||
/** 数字人直播 */ | |||||
export function saveShuzirenZhiBo(data) { | |||||
return request({ | |||||
url: '/aigc/saveShuzirenZhiBo', | |||||
method: 'post', | |||||
data | |||||
}) | |||||
} | |||||
/** 广告位2 */ | |||||
export function guanggao2() { | |||||
return request({ | |||||
url: '/aigc/guanggao2', | |||||
method: 'get' | |||||
}) | |||||
} | |||||
/** 数字人视频 */ | |||||
export function videoSave(data) { | |||||
return request({ | |||||
url: '/aigc/videoSave', | |||||
method: 'get', | |||||
data | |||||
}) | |||||
} |
@@ -168,6 +168,49 @@ export const constantRoutes = [ | |||||
} | } | ||||
] | ] | ||||
}, | }, | ||||
{ | |||||
path: '/aigc', | |||||
component: Layout, | |||||
alwaysShow: true, | |||||
redirect: '/aigc/carousel', | |||||
name: 'aigc', | |||||
meta: { | |||||
title: 'AIGC', | |||||
icon: 'nested' | |||||
}, | |||||
children: [ | |||||
{ | |||||
path: 'carousel', | |||||
component: () => import('@/views/aigc/carousel'), | |||||
meta: { title: '轮播' } | |||||
}, | |||||
{ | |||||
path: 'numberImg', | |||||
component: () => import('@/views/aigc/numberImg'), | |||||
meta: { title: '数字人形象' } | |||||
}, | |||||
{ | |||||
path: 'banner1', | |||||
component: () => import('@/views/aigc/banner1'), | |||||
meta: { title: '广告位1' } | |||||
}, | |||||
{ | |||||
path: 'numberLive', | |||||
component: () => import('@/views/aigc/numberLive'), | |||||
meta: { title: '数字人直播' } | |||||
}, | |||||
{ | |||||
path: 'banner2', | |||||
component: () => import('@/views/aigc/banner2'), | |||||
meta: { title: '广告位2' } | |||||
}, | |||||
{ | |||||
path: 'video', | |||||
component: () => import('@/views/aigc/video'), | |||||
meta: { title: '数字人视频' } | |||||
} | |||||
] | |||||
}, | |||||
{ | { | ||||
path: '/about', | path: '/about', | ||||
component: Layout, | component: Layout, | ||||
@@ -0,0 +1,83 @@ | |||||
<!-- | |||||
* @Date: 2021-07-08 11:02:40 | |||||
* @LastEditTime: 2022-07-27 10:48:43 | |||||
* @Description: 广告位 | |||||
--> | |||||
<template> | |||||
<div class="app-container"> | |||||
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="130px" class="resetform"> | |||||
<el-form-item label="图片" prop="image"> | |||||
<uploadFile :url.sync="ruleForm.image" type="image" /> | |||||
</el-form-item> | |||||
<el-form-item label="链接" prop="link"> | |||||
<el-input v-model="ruleForm.link"></el-input> | |||||
</el-form-item> | |||||
<el-form-item label="是否新开页面打开"> | |||||
<el-radio-group v-model="ruleForm.newOpen"> | |||||
<el-radio :label="1">是</el-radio> | |||||
<el-radio :label="0">否</el-radio> | |||||
</el-radio-group> | |||||
</el-form-item> | |||||
<el-form-item> | |||||
<el-button type="primary" @click="submitForm('ruleForm')">保存</el-button> | |||||
</el-form-item> | |||||
</el-form> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import { guanggao1 } from '@/api/aigc' | |||||
import { saveGuangGao } from '@/api/homePage' | |||||
import uploadFile from '@/components/uploadFile' | |||||
export default { | |||||
components: { | |||||
uploadFile | |||||
}, | |||||
data() { | |||||
return { | |||||
ruleForm: { | |||||
id: '', | |||||
image: '', | |||||
link: '', | |||||
newOpen: '1' | |||||
}, | |||||
rules: { | |||||
image: [ | |||||
{ required: true, message: '请上传图片', trigger: 'blur' } | |||||
], | |||||
link: [ | |||||
{ required: true, message: '请输入链接', trigger: 'blur' } | |||||
] | |||||
} | |||||
} | |||||
}, | |||||
created() { | |||||
this.getData() | |||||
}, | |||||
methods: { | |||||
getData() { | |||||
guanggao1().then(res => { | |||||
this.ruleForm.id = res.id | |||||
this.ruleForm.image = res.image | |||||
this.ruleForm.link = res.link | |||||
this.ruleForm.newOpen = res.newOpen | |||||
}) | |||||
}, | |||||
submitForm(formName) { | |||||
this.$refs[formName].validate((valid) => { | |||||
if (valid) { | |||||
saveGuangGao(this.ruleForm).then(res => { | |||||
this.$message({ | |||||
message: '操作成功!', | |||||
type: 'success' | |||||
}) | |||||
}) | |||||
} else { | |||||
console.log('error submit!!') | |||||
return false | |||||
} | |||||
}) | |||||
} | |||||
} | |||||
} | |||||
</script> |
@@ -0,0 +1,83 @@ | |||||
<!-- | |||||
* @Date: 2021-07-08 11:02:40 | |||||
* @LastEditTime: 2022-07-27 10:48:43 | |||||
* @Description: 广告位 | |||||
--> | |||||
<template> | |||||
<div class="app-container"> | |||||
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="130px" class="resetform"> | |||||
<el-form-item label="图片" prop="image"> | |||||
<uploadFile :url.sync="ruleForm.image" type="image" /> | |||||
</el-form-item> | |||||
<el-form-item label="链接" prop="link"> | |||||
<el-input v-model="ruleForm.link"></el-input> | |||||
</el-form-item> | |||||
<el-form-item label="是否新开页面打开"> | |||||
<el-radio-group v-model="ruleForm.newOpen"> | |||||
<el-radio :label="1">是</el-radio> | |||||
<el-radio :label="0">否</el-radio> | |||||
</el-radio-group> | |||||
</el-form-item> | |||||
<el-form-item> | |||||
<el-button type="primary" @click="submitForm('ruleForm')">保存</el-button> | |||||
</el-form-item> | |||||
</el-form> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import { guanggao2 } from '@/api/aigc' | |||||
import { saveGuangGao } from '@/api/homePage' | |||||
import uploadFile from '@/components/uploadFile' | |||||
export default { | |||||
components: { | |||||
uploadFile | |||||
}, | |||||
data() { | |||||
return { | |||||
ruleForm: { | |||||
id: '', | |||||
image: '', | |||||
link: '', | |||||
newOpen: '1' | |||||
}, | |||||
rules: { | |||||
image: [ | |||||
{ required: true, message: '请上传图片', trigger: 'blur' } | |||||
], | |||||
link: [ | |||||
{ required: true, message: '请输入链接', trigger: 'blur' } | |||||
] | |||||
} | |||||
} | |||||
}, | |||||
created() { | |||||
this.getData() | |||||
}, | |||||
methods: { | |||||
getData() { | |||||
guanggao2().then(res => { | |||||
this.ruleForm.id = res.id | |||||
this.ruleForm.image = res.image | |||||
this.ruleForm.link = res.link | |||||
this.ruleForm.newOpen = res.newOpen | |||||
}) | |||||
}, | |||||
submitForm(formName) { | |||||
this.$refs[formName].validate((valid) => { | |||||
if (valid) { | |||||
saveGuangGao(this.ruleForm).then(res => { | |||||
this.$message({ | |||||
message: '操作成功!', | |||||
type: 'success' | |||||
}) | |||||
}) | |||||
} else { | |||||
console.log('error submit!!') | |||||
return false | |||||
} | |||||
}) | |||||
} | |||||
} | |||||
} | |||||
</script> |
@@ -0,0 +1,174 @@ | |||||
<!-- | |||||
* @Date: 2021-07-08 11:02:40 | |||||
* @LastEditTime: 2022-07-27 10:48:43 | |||||
* @Description: 列表查询demo | |||||
--> | |||||
<template> | |||||
<div class="app-container"> | |||||
<!--工具栏--> | |||||
<div class="head-container"> | |||||
<!-- <div> | |||||
搜索 | |||||
<el-input v-model="query.name" prefix-icon="el-icon-search" clearable placeholder="名称" class="filter-item" | |||||
@keyup.enter.native="crud.toQuery" /> | |||||
<rrOperation /> | |||||
</div> --> | |||||
<div> | |||||
<el-button class="filter-item" size="mini" type="primary" icon="el-icon-plus" | |||||
@click="openSave()">新增</el-button> | |||||
</div> | |||||
</div> | |||||
<!--表格渲染--> | |||||
<el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;"> | |||||
<el-table-column :show-overflow-tooltip="true" prop="serialNumber" label="序号" /> | |||||
<el-table-column :show-overflow-tooltip="true" prop="image" label="图片"> | |||||
<template slot-scope="scope"> | |||||
<img :src="scope.row.image" width="50px" /> | |||||
</template> | |||||
</el-table-column> | |||||
<el-table-column :show-overflow-tooltip="true" prop="link" label="链接" /> | |||||
<el-table-column :show-overflow-tooltip="true" align="center" prop="newOpen" label="是否新开页面打开"> | |||||
<template slot-scope="scope"> | |||||
{{ scope.row.newOpen === 1 ? '是' : '否' }} | |||||
</template> | |||||
</el-table-column> | |||||
<el-table-column label="操作" width="230" align="center" fixed="right"> | |||||
<template slot-scope="scope" class="btn"> | |||||
<el-button type="text" size="mini" @click="openSave(scope.row)">编辑</el-button> | |||||
<el-popover placement="top" width="200" :ref="`del-${scope.$index}`"> | |||||
<p>是否确认删除该数据?</p> | |||||
<div style="text-align: right; margin: 0"> | |||||
<el-button size="mini" | |||||
@click="scope._self.$refs[`del-${scope.$index}`].doClose()">取消</el-button> | |||||
<el-button type="primary" size="mini" @click="del(scope)">确定</el-button> | |||||
</div> | |||||
<el-button slot="reference" type="text" size="mini" style="margin-left:10px">删除</el-button> | |||||
</el-popover> | |||||
</template> | |||||
</el-table-column> | |||||
</el-table> | |||||
<!--分页组件--> | |||||
<pagination /> | |||||
<!-- 新增修改弹窗 --> | |||||
<el-dialog v-if="dialogVisible" title="轮播" :visible.sync="dialogVisible" append-to-body width="600px"> | |||||
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="130px" class="resetform"> | |||||
<el-form-item label="图片" prop="image"> | |||||
<uploadFile :url.sync="ruleForm.image" type="image" /> | |||||
</el-form-item> | |||||
<el-form-item label="序号" prop="serialNumber"> | |||||
<el-input v-model="ruleForm.serialNumber"></el-input> | |||||
</el-form-item> | |||||
<el-form-item label="链接" prop="link"> | |||||
<el-input v-model="ruleForm.link"></el-input> | |||||
</el-form-item> | |||||
<el-form-item label="是否新开页面打开"> | |||||
<el-radio-group v-model="ruleForm.newOpen"> | |||||
<el-radio label="1">是</el-radio> | |||||
<el-radio label="0">否</el-radio> | |||||
</el-radio-group> | |||||
</el-form-item> | |||||
<el-form-item> | |||||
<el-button type="primary" :loading="loadingBtn" @click="submitForm('ruleForm')">立即创建</el-button> | |||||
<el-button @click="resetForm('ruleForm')">重置</el-button> | |||||
</el-form-item> | |||||
</el-form> | |||||
</el-dialog> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import { delLunbo } from '@/api/homePage' | |||||
import { saveLunbo } from '@/api/aigc' | |||||
import CRUD, { presenter, header, crud } from '@crud/crud' | |||||
import pagination from '@crud/Pagination' | |||||
import uploadFile from '@/components/uploadFile' | |||||
export default { | |||||
components: { pagination, uploadFile }, | |||||
mixins: [presenter(), header(), crud()], | |||||
data() { | |||||
return { | |||||
dialogVisible: false, | |||||
ruleForm: { | |||||
image: '', | |||||
serialNumber: '', | |||||
link: [], | |||||
newOpen: '1' | |||||
}, | |||||
rules: { | |||||
name: [ | |||||
{ required: true, message: '请上传图片', trigger: 'blur' } | |||||
], | |||||
serialNumber: [ | |||||
{ required: true, message: '请输入序号', trigger: 'blur' } | |||||
], | |||||
link: [ | |||||
{ required: true, message: '请输入链接', trigger: 'blur' } | |||||
], | |||||
desc: [ | |||||
{ required: true, message: '请填写活动形式', trigger: 'blur' } | |||||
] | |||||
}, | |||||
loadingBtn: false | |||||
} | |||||
}, | |||||
cruds() { | |||||
return CRUD({ title: '列表', url: '/aigc/lunboList', query: {}}) | |||||
}, | |||||
methods: { | |||||
openSave(item) { | |||||
if (item) { | |||||
this.ruleForm.id = item.id | |||||
this.ruleForm.image = item.image | |||||
this.ruleForm.serialNumber = item.serialNumber | |||||
this.ruleForm.link = item.link | |||||
this.ruleForm.newOpen = item.newOpen || '1' | |||||
} | |||||
this.dialogVisible = true | |||||
}, | |||||
close(tag) { | |||||
if (tag) this.crud.toQuery() | |||||
this.dialogVisible = false | |||||
}, | |||||
/* 删除 */ | |||||
del(scope) { | |||||
delLunbo(scope.row.id).then(res => { | |||||
this.$message({ | |||||
message: '删除成功!', | |||||
type: 'success' | |||||
}) | |||||
this.crud.toQuery() | |||||
scope._self.$refs[`del-${scope.$index}`].doClose() | |||||
}) | |||||
}, | |||||
submitForm(formName) { | |||||
this.$refs[formName].validate((valid) => { | |||||
if (valid) { | |||||
this.loadingBtn = true | |||||
saveLunbo(this.ruleForm).then(res => { | |||||
this.$message({ | |||||
message: '操作成功!', | |||||
type: 'success' | |||||
}) | |||||
this.loadingBtn = false | |||||
this.dialogVisible = false | |||||
this.$refs[formName].resetFields() | |||||
this.crud.toQuery() | |||||
}).catch(() => { | |||||
this.loadingBtn = false | |||||
}) | |||||
} else { | |||||
console.log('error submit!!') | |||||
return false | |||||
} | |||||
}) | |||||
}, | |||||
resetForm(formName) { | |||||
this.$refs[formName].resetFields() | |||||
} | |||||
} | |||||
} | |||||
</script> |
@@ -0,0 +1,60 @@ | |||||
<!-- | |||||
* @Date: 2021-07-08 11:02:40 | |||||
* @LastEditTime: 2022-07-27 10:48:43 | |||||
* @Description: 广告位 | |||||
--> | |||||
<template> | |||||
<div class="app-container"> | |||||
<el-form :model="ruleForm" ref="ruleForm" label-width="130px" class="resetform"> | |||||
<el-form-item label="是否显示"> | |||||
<el-radio-group v-model="ruleForm.display"> | |||||
<el-radio :label="1">是</el-radio> | |||||
<el-radio :label="0">否</el-radio> | |||||
</el-radio-group> | |||||
</el-form-item> | |||||
<el-form-item> | |||||
<el-button type="primary" @click="submitForm('ruleForm')">保存</el-button> | |||||
</el-form-item> | |||||
</el-form> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import { hotNewsConfig, saveHotNewsConfig } from '@/api/car' | |||||
export default { | |||||
data() { | |||||
return { | |||||
ruleForm: { | |||||
display: '', | |||||
id: '' | |||||
} | |||||
} | |||||
}, | |||||
created() { | |||||
this.getData() | |||||
}, | |||||
methods: { | |||||
getData() { | |||||
hotNewsConfig().then(res => { | |||||
this.ruleForm.id = res.id | |||||
this.ruleForm.display = res.display | |||||
}) | |||||
}, | |||||
submitForm(formName) { | |||||
this.$refs[formName].validate((valid) => { | |||||
if (valid) { | |||||
saveHotNewsConfig(this.ruleForm).then(res => { | |||||
this.$message({ | |||||
message: '操作成功!', | |||||
type: 'success' | |||||
}) | |||||
}) | |||||
} else { | |||||
console.log('error submit!!') | |||||
return false | |||||
} | |||||
}) | |||||
} | |||||
} | |||||
} | |||||
</script> |
@@ -0,0 +1,158 @@ | |||||
<!-- | |||||
* @Date: 2021-07-08 11:02:40 | |||||
* @LastEditTime: 2022-07-27 10:48:43 | |||||
* @Description:数字人形象 | |||||
--> | |||||
<template> | |||||
<div class="app-container"> | |||||
<!--工具栏--> | |||||
<div class="head-container"> | |||||
<!-- <div> | |||||
搜索 | |||||
<el-input v-model="query.name" prefix-icon="el-icon-search" clearable placeholder="名称" class="filter-item" | |||||
@keyup.enter.native="crud.toQuery" /> | |||||
<rrOperation /> | |||||
</div> --> | |||||
<div> | |||||
<el-button class="filter-item" size="mini" type="primary" icon="el-icon-plus" | |||||
@click="openSave()">新增</el-button> | |||||
</div> | |||||
</div> | |||||
<!--表格渲染--> | |||||
<el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;"> | |||||
<el-table-column :show-overflow-tooltip="true" prop="serialNumber" label="序号" /> | |||||
<el-table-column :show-overflow-tooltip="true" prop="image" label="图片"> | |||||
<template slot-scope="scope"> | |||||
<img :src="scope.row.image" width="50px" /> | |||||
</template> | |||||
</el-table-column> | |||||
<el-table-column :show-overflow-tooltip="true" prop="title" label="标题" /> | |||||
<el-table-column label="操作" width="230" align="center" fixed="right"> | |||||
<template slot-scope="scope" class="btn"> | |||||
<el-button type="text" size="mini" @click="openSave(scope.row)">编辑</el-button> | |||||
<el-popover placement="top" width="200" :ref="`del-${scope.$index}`"> | |||||
<p>是否确认删除该数据?</p> | |||||
<div style="text-align: right; margin: 0"> | |||||
<el-button size="mini" | |||||
@click="scope._self.$refs[`del-${scope.$index}`].doClose()">取消</el-button> | |||||
<el-button type="primary" size="mini" @click="del(scope)">确定</el-button> | |||||
</div> | |||||
<el-button slot="reference" type="text" size="mini" style="margin-left:10px">删除</el-button> | |||||
</el-popover> | |||||
</template> | |||||
</el-table-column> | |||||
</el-table> | |||||
<!--分页组件--> | |||||
<pagination /> | |||||
<!-- 新增修改弹窗 --> | |||||
<el-dialog v-if="dialogVisible" title="轮播" :visible.sync="dialogVisible" append-to-body width="600px"> | |||||
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="130px" class="resetform"> | |||||
<el-form-item label="图片" prop="image"> | |||||
<uploadFile :url.sync="ruleForm.image" type="image" /> | |||||
</el-form-item> | |||||
<el-form-item label="序号" prop="serialNumber"> | |||||
<el-input v-model="ruleForm.serialNumber"></el-input> | |||||
</el-form-item> | |||||
<el-form-item label="标题" prop="title"> | |||||
<el-input v-model="ruleForm.title"></el-input> | |||||
</el-form-item> | |||||
<el-form-item> | |||||
<el-button type="primary" :loading="loadingBtn" @click="submitForm('ruleForm')">立即创建</el-button> | |||||
<el-button @click="resetForm('ruleForm')">重置</el-button> | |||||
</el-form-item> | |||||
</el-form> | |||||
</el-dialog> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import { delLunbo } from '@/api/homePage' | |||||
import { saveShuziren } from '@/api/aigc' | |||||
import CRUD, { presenter, header, crud } from '@crud/crud' | |||||
import pagination from '@crud/Pagination' | |||||
import uploadFile from '@/components/uploadFile' | |||||
export default { | |||||
components: { pagination, uploadFile }, | |||||
mixins: [presenter(), header(), crud()], | |||||
data() { | |||||
return { | |||||
dialogVisible: false, | |||||
ruleForm: { | |||||
image: '', | |||||
serialNumber: '', | |||||
title: '' | |||||
}, | |||||
rules: { | |||||
name: [ | |||||
{ required: true, message: '请上传图片', trigger: 'blur' } | |||||
], | |||||
serialNumber: [ | |||||
{ required: true, message: '请输入序号', trigger: 'blur' } | |||||
], | |||||
title: [ | |||||
{ required: true, message: '请输入标题', trigger: 'blur' } | |||||
] | |||||
}, | |||||
loadingBtn: false | |||||
} | |||||
}, | |||||
cruds() { | |||||
return CRUD({ title: '列表', url: '/aigc/shuzirenList', query: {}}) | |||||
}, | |||||
methods: { | |||||
openSave(item) { | |||||
if (item) { | |||||
this.ruleForm.id = item.id | |||||
this.ruleForm.image = item.image | |||||
this.ruleForm.serialNumber = item.serialNumber | |||||
this.ruleForm.title = item.title | |||||
} | |||||
this.dialogVisible = true | |||||
}, | |||||
close(tag) { | |||||
if (tag) this.crud.toQuery() | |||||
this.dialogVisible = false | |||||
}, | |||||
/* 删除 */ | |||||
del(scope) { | |||||
delLunbo(scope.row.id).then(res => { | |||||
this.$message({ | |||||
message: '删除成功!', | |||||
type: 'success' | |||||
}) | |||||
this.crud.toQuery() | |||||
scope._self.$refs[`del-${scope.$index}`].doClose() | |||||
}) | |||||
}, | |||||
submitForm(formName) { | |||||
this.$refs[formName].validate((valid) => { | |||||
if (valid) { | |||||
this.loadingBtn = true | |||||
saveShuziren(this.ruleForm).then(res => { | |||||
this.$message({ | |||||
message: '操作成功!', | |||||
type: 'success' | |||||
}) | |||||
this.loadingBtn = false | |||||
this.dialogVisible = false | |||||
this.$refs[formName].resetFields() | |||||
this.crud.toQuery() | |||||
}).catch(() => { | |||||
this.loadingBtn = false | |||||
}) | |||||
} else { | |||||
console.log('error submit!!') | |||||
return false | |||||
} | |||||
}) | |||||
}, | |||||
resetForm(formName) { | |||||
this.$refs[formName].resetFields() | |||||
} | |||||
} | |||||
} | |||||
</script> |
@@ -0,0 +1,166 @@ | |||||
<!-- | |||||
* @Date: 2021-07-08 11:02:40 | |||||
* @LastEditTime: 2022-07-27 10:48:43 | |||||
* @Description:数字人直播 | |||||
--> | |||||
<template> | |||||
<div class="app-container"> | |||||
<!--工具栏--> | |||||
<div class="head-container"> | |||||
<!-- <div> | |||||
搜索 | |||||
<el-input v-model="query.name" prefix-icon="el-icon-search" clearable placeholder="名称" class="filter-item" | |||||
@keyup.enter.native="crud.toQuery" /> | |||||
<rrOperation /> | |||||
</div> --> | |||||
<div> | |||||
<el-button class="filter-item" size="mini" type="primary" icon="el-icon-plus" | |||||
@click="openSave()">新增</el-button> | |||||
</div> | |||||
</div> | |||||
<!--表格渲染--> | |||||
<el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;"> | |||||
<el-table-column :show-overflow-tooltip="true" prop="serialNumber" label="序号" /> | |||||
<el-table-column :show-overflow-tooltip="true" prop="image" label="图片"> | |||||
<template slot-scope="scope"> | |||||
<img :src="scope.row.image" width="50px" /> | |||||
</template> | |||||
</el-table-column> | |||||
<el-table-column :show-overflow-tooltip="true" prop="title" label="标题" /> | |||||
<el-table-column label="操作" width="230" align="center" fixed="right"> | |||||
<template slot-scope="scope" class="btn"> | |||||
<el-button type="text" size="mini" @click="openSave(scope.row)">编辑</el-button> | |||||
<el-popover placement="top" width="200" :ref="`del-${scope.$index}`"> | |||||
<p>是否确认删除该数据?</p> | |||||
<div style="text-align: right; margin: 0"> | |||||
<el-button size="mini" | |||||
@click="scope._self.$refs[`del-${scope.$index}`].doClose()">取消</el-button> | |||||
<el-button type="primary" size="mini" @click="del(scope)">确定</el-button> | |||||
</div> | |||||
<el-button slot="reference" type="text" size="mini" style="margin-left:10px">删除</el-button> | |||||
</el-popover> | |||||
</template> | |||||
</el-table-column> | |||||
</el-table> | |||||
<!--分页组件--> | |||||
<pagination /> | |||||
<!-- 新增修改弹窗 --> | |||||
<el-dialog v-if="dialogVisible" title="轮播" :visible.sync="dialogVisible" append-to-body width="600px"> | |||||
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="130px" class="resetform"> | |||||
<el-form-item label="图片" prop="image"> | |||||
<uploadFile :url.sync="ruleForm.image" type="image" /> | |||||
</el-form-item> | |||||
<el-form-item label="序号" prop="serialNumber"> | |||||
<el-input v-model="ruleForm.serialNumber"></el-input> | |||||
</el-form-item> | |||||
<el-form-item label="标题" prop="title"> | |||||
<el-input v-model="ruleForm.title"></el-input> | |||||
</el-form-item> | |||||
<el-form-item label="副标题" prop="subTitle"> | |||||
<el-input v-model="ruleForm.subTitle"></el-input> | |||||
</el-form-item> | |||||
<el-form-item> | |||||
<el-button type="primary" :loading="loadingBtn" @click="submitForm('ruleForm')">立即创建</el-button> | |||||
<el-button @click="resetForm('ruleForm')">重置</el-button> | |||||
</el-form-item> | |||||
</el-form> | |||||
</el-dialog> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import { delLunbo } from '@/api/homePage' | |||||
import { saveShuzirenZhiBo } from '@/api/aigc' | |||||
import CRUD, { presenter, header, crud } from '@crud/crud' | |||||
import pagination from '@crud/Pagination' | |||||
import uploadFile from '@/components/uploadFile' | |||||
export default { | |||||
components: { pagination, uploadFile }, | |||||
mixins: [presenter(), header(), crud()], | |||||
data() { | |||||
return { | |||||
dialogVisible: false, | |||||
ruleForm: { | |||||
image: '', | |||||
serialNumber: '', | |||||
title: '', | |||||
subTitle: '' | |||||
}, | |||||
rules: { | |||||
name: [ | |||||
{ required: true, message: '请上传图片', trigger: 'blur' } | |||||
], | |||||
serialNumber: [ | |||||
{ required: true, message: '请输入序号', trigger: 'blur' } | |||||
], | |||||
title: [ | |||||
{ required: true, message: '请输入标题', trigger: 'blur' } | |||||
], | |||||
subTitle: [ | |||||
{ required: true, message: '请输入副标题', trigger: 'blur' } | |||||
] | |||||
}, | |||||
loadingBtn: false | |||||
} | |||||
}, | |||||
cruds() { | |||||
return CRUD({ title: '列表', url: '/aigc/shuzirenZhiBoList', query: {}}) | |||||
}, | |||||
methods: { | |||||
openSave(item) { | |||||
if (item) { | |||||
this.ruleForm.id = item.id | |||||
this.ruleForm.image = item.image | |||||
this.ruleForm.serialNumber = item.serialNumber | |||||
this.ruleForm.title = item.title | |||||
this.ruleForm.subTitle = item.subTitle | |||||
} | |||||
this.dialogVisible = true | |||||
}, | |||||
close(tag) { | |||||
if (tag) this.crud.toQuery() | |||||
this.dialogVisible = false | |||||
}, | |||||
/* 删除 */ | |||||
del(scope) { | |||||
delLunbo(scope.row.id).then(res => { | |||||
this.$message({ | |||||
message: '删除成功!', | |||||
type: 'success' | |||||
}) | |||||
this.crud.toQuery() | |||||
scope._self.$refs[`del-${scope.$index}`].doClose() | |||||
}) | |||||
}, | |||||
submitForm(formName) { | |||||
this.$refs[formName].validate((valid) => { | |||||
if (valid) { | |||||
this.loadingBtn = true | |||||
saveShuzirenZhiBo(this.ruleForm).then(res => { | |||||
this.$message({ | |||||
message: '操作成功!', | |||||
type: 'success' | |||||
}) | |||||
this.loadingBtn = false | |||||
this.dialogVisible = false | |||||
this.$refs[formName].resetFields() | |||||
this.crud.toQuery() | |||||
}).catch(() => { | |||||
this.loadingBtn = false | |||||
}) | |||||
} else { | |||||
console.log('error submit!!') | |||||
return false | |||||
} | |||||
}) | |||||
}, | |||||
resetForm(formName) { | |||||
this.$refs[formName].resetFields() | |||||
} | |||||
} | |||||
} | |||||
</script> |
@@ -0,0 +1,146 @@ | |||||
<!-- | |||||
* @Date: 2021-07-08 11:02:40 | |||||
* @LastEditTime: 2022-07-27 10:48:43 | |||||
* @Description: 列表查询demo | |||||
--> | |||||
<template> | |||||
<div class="app-container"> | |||||
<!--工具栏--> | |||||
<div class="head-container"> | |||||
<!-- <div> | |||||
搜索 | |||||
<el-input v-model="query.name" prefix-icon="el-icon-search" clearable placeholder="名称" class="filter-item" | |||||
@keyup.enter.native="crud.toQuery" /> | |||||
<rrOperation /> | |||||
</div> --> | |||||
<div> | |||||
<el-button class="filter-item" size="mini" type="primary" icon="el-icon-plus" | |||||
@click="openSave()">新增</el-button> | |||||
</div> | |||||
</div> | |||||
<!--表格渲染--> | |||||
<el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;"> | |||||
<el-table-column :show-overflow-tooltip="true" prop="serialNumber" label="序号" /> | |||||
<el-table-column :show-overflow-tooltip="true" prop="image" label="图片"> | |||||
<template slot-scope="scope"> | |||||
<img :src="scope.row.image" width="50px" /> | |||||
</template> | |||||
</el-table-column> | |||||
<el-table-column :show-overflow-tooltip="true" prop="link" label="链接" /> | |||||
<el-table-column :show-overflow-tooltip="true" prop="title" label="标题" /> | |||||
<el-table-column label="操作" width="230" align="center" fixed="right"> | |||||
<template slot-scope="scope" class="btn"> | |||||
<el-button type="text" size="mini" @click="openSave(scope.row)">编辑</el-button> | |||||
</template> | |||||
</el-table-column> | |||||
</el-table> | |||||
<!--分页组件--> | |||||
<pagination /> | |||||
<!-- 新增修改弹窗 --> | |||||
<el-dialog v-if="dialogVisible" title="轮播" :visible.sync="dialogVisible" append-to-body width="600px"> | |||||
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="130px" class="resetform"> | |||||
<el-form-item label="图片" prop="image"> | |||||
<uploadFile :url.sync="ruleForm.image" type="image" /> | |||||
</el-form-item> | |||||
<el-form-item label="序号" prop="serialNumber"> | |||||
<el-input v-model="ruleForm.serialNumber"></el-input> | |||||
</el-form-item> | |||||
<el-form-item label="链接" prop="link"> | |||||
<el-input v-model="ruleForm.link"></el-input> | |||||
</el-form-item> | |||||
<el-form-item label="标题" prop="title"> | |||||
<el-input v-model="ruleForm.title"></el-input> | |||||
</el-form-item> | |||||
<el-form-item> | |||||
<el-button type="primary" :loading="loadingBtn" @click="submitForm('ruleForm')">立即创建</el-button> | |||||
<el-button @click="resetForm('ruleForm')">重置</el-button> | |||||
</el-form-item> | |||||
</el-form> | |||||
</el-dialog> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import { videoSave } from '@/api/car' | |||||
import CRUD, { presenter, header, crud } from '@crud/crud' | |||||
import pagination from '@crud/Pagination' | |||||
import uploadFile from '@/components/uploadFile' | |||||
export default { | |||||
components: { pagination, uploadFile }, | |||||
mixins: [presenter(), header(), crud()], | |||||
data() { | |||||
return { | |||||
dialogVisible: false, | |||||
id: '', | |||||
ruleForm: { | |||||
image: '', | |||||
serialNumber: '', | |||||
link: '', | |||||
title: '' | |||||
}, | |||||
rules: { | |||||
image: [ | |||||
{ required: true, message: '请上传图片', trigger: 'blur' } | |||||
], | |||||
serialNumber: [ | |||||
{ required: true, message: '请输入序号', trigger: 'blur' } | |||||
], | |||||
link: [ | |||||
{ required: true, message: '请输入链接', trigger: 'blur' } | |||||
], | |||||
title: [ | |||||
{ required: true, message: '请填写标题', trigger: 'blur' } | |||||
] | |||||
}, | |||||
loadingBtn: false | |||||
} | |||||
}, | |||||
cruds() { | |||||
return CRUD({ title: '列表', url: '/car/videoList', query: {}}) | |||||
}, | |||||
methods: { | |||||
openSave(item) { | |||||
if (item) { | |||||
this.ruleForm.id = item.id | |||||
this.ruleForm.image = item.image | |||||
this.ruleForm.serialNumber = item.serialNumber | |||||
this.ruleForm.link = item.link | |||||
this.ruleForm.title = item.title | |||||
} | |||||
this.dialogVisible = true | |||||
}, | |||||
close(tag) { | |||||
if (tag) this.crud.toQuery() | |||||
this.dialogVisible = false | |||||
}, | |||||
submitForm(formName) { | |||||
this.$refs[formName].validate((valid) => { | |||||
if (valid) { | |||||
this.loadingBtn = true | |||||
videoSave(this.ruleForm).then(res => { | |||||
this.$message({ | |||||
message: '操作成功!', | |||||
type: 'success' | |||||
}) | |||||
this.loadingBtn = false | |||||
this.dialogVisible = false | |||||
this.$refs[formName].resetFields() | |||||
this.crud.toQuery() | |||||
}).catch(() => { | |||||
this.loadingBtn = false | |||||
}) | |||||
} else { | |||||
console.log('error submit!!') | |||||
return false | |||||
} | |||||
}) | |||||
}, | |||||
resetForm(formName) { | |||||
this.$refs[formName].resetFields() | |||||
} | |||||
} | |||||
} | |||||
</script> |
@@ -1,115 +0,0 @@ | |||||
<!-- | |||||
* @Date: 2021-07-08 11:02:40 | |||||
* @LastEditTime: 2022-07-27 10:48:43 | |||||
* @Description: 文章列表 | |||||
--> | |||||
<template> | |||||
<div class="app-container"> | |||||
<!--工具栏--> | |||||
<div class="head-container"> | |||||
<div> | |||||
<!-- 搜索 --> | |||||
<el-input v-model="query.name" prefix-icon="el-icon-search" clearable placeholder="名称" class="filter-item" @keyup.enter.native="crud.toQuery" /> | |||||
<el-input v-model="query.releaseName" clearable placeholder="活动名称" class="filter-item"/> | |||||
<el-select v-model="query.list" clearable placeholder="列表" class="filter-item"> | |||||
<el-option v-for="item in releaseSourceList" :key="item.id" :label="item.name" :value="item.id"></el-option> | |||||
</el-select> | |||||
<el-date-picker v-model="query.times" value-format="yyyy-MM-dd HH:mm:ss" type="datetimerange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" class="date-item" style="width:300px !important; margin: 0 3px 10px 0;"></el-date-picker> | |||||
<rrOperation /> | |||||
</div> | |||||
<div> | |||||
<el-button class="filter-item" size="mini" type="primary" icon="el-icon-plus" @click="openSave()">新增</el-button> | |||||
<el-button class="filter-item" size="mini" type="warning" icon="el-icon-download" @click="exportFile">导出</el-button> | |||||
</div> | |||||
</div> | |||||
<!--表格渲染--> | |||||
<el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;"> | |||||
<el-table-column :show-overflow-tooltip="true" prop="id" label="活动编号" /> | |||||
<el-table-column :show-overflow-tooltip="true" prop="releaseName" label="活动名称" /> | |||||
<el-table-column :show-overflow-tooltip="true" prop="contentTitle" label="文章名称" /> | |||||
<el-table-column :show-overflow-tooltip="true" prop="releaseTime" label="发布时间" /> | |||||
<el-table-column :show-overflow-tooltip="true" prop="publisher" label="发布人" /> | |||||
<el-table-column label="操作" width="230" align="center" fixed="right"> | |||||
<template slot-scope="scope" class="btn"> | |||||
<el-button type="text" size="mini" @click="openSave(scope.row.id)">编辑</el-button> | |||||
<el-popover placement="top" width="200" :ref="`del-${scope.$index}`"> | |||||
<p>是否确认删除该数据?</p> | |||||
<div style="text-align: right; margin: 0"> | |||||
<el-button size="mini" @click="scope._self.$refs[`del-${scope.$index}`].doClose()">取消</el-button> | |||||
<el-button type="primary" size="mini" @click="del(scope)">确定</el-button> | |||||
</div> | |||||
<el-button slot="reference" type="text" size="mini" style="margin-left:10px">删除</el-button> | |||||
</el-popover> | |||||
</template> | |||||
</el-table-column> | |||||
</el-table> | |||||
<!--分页组件--> | |||||
<pagination /> | |||||
<!-- 新增修改弹窗 --> | |||||
<el-dialog v-if="dialogVisible" title="标题" :visible.sync="dialogVisible" append-to-body width="80%"> | |||||
<save-page :id='id' @close="close"></save-page> | |||||
</el-dialog> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import demoService from '@/api/nested/demo' | |||||
import CRUD, { presenter, header, crud } from '@crud/crud' | |||||
import rrOperation from '@crud/RR.operation' | |||||
import pagination from '@crud/Pagination' | |||||
import { downloadFile } from '@/utils/index' | |||||
import savePage from './save' | |||||
export default { | |||||
name: 'Demo', | |||||
components: { rrOperation, pagination, savePage }, | |||||
mixins: [presenter(), header(), crud()], | |||||
data() { | |||||
return { | |||||
releaseSourceList: [], | |||||
dialogVisible: false, | |||||
id: '' | |||||
} | |||||
}, | |||||
cruds() { | |||||
return CRUD({ title: '列表', url: 'xxx', query: {}}) | |||||
}, | |||||
methods: { | |||||
/* 刷新前操作 */ | |||||
[CRUD.HOOK.beforeRefresh]() { | |||||
this.query.id = 'xxx' | |||||
}, | |||||
openSave(id) { | |||||
this.id = id || '' | |||||
this.dialogVisible = true | |||||
}, | |||||
close(tag) { | |||||
if (tag) this.crud.toQuery() | |||||
this.dialogVisible = false | |||||
}, | |||||
/* 删除 */ | |||||
del(scope) { | |||||
demoService.del(scope.row.id).then(res => { | |||||
this.$message({ | |||||
message: '删除成功!', | |||||
type: 'success' | |||||
}) | |||||
this.crud.toQuery() | |||||
scope._self.$refs[`del-${scope.$index}`].doClose() | |||||
}) | |||||
}, | |||||
/* 导出 */ | |||||
exportFile() { | |||||
demoService.exportFile(this.crud.query).then(res => { | |||||
downloadFile(res, '文章列表', 'xlsx') | |||||
}) | |||||
} | |||||
} | |||||
} | |||||
</script> |
@@ -1,112 +0,0 @@ | |||||
<!-- | |||||
* @Date: 2021-10-11 14:12:26 | |||||
* @LastEditTime: 2022-07-27 10:48:47 | |||||
* @Description: 新增/编辑页面 | |||||
--> | |||||
<template> | |||||
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="resetform"> | |||||
<el-form-item label="文章标题" prop="name"> | |||||
<el-input v-model="ruleForm.name"></el-input> | |||||
</el-form-item> | |||||
<el-form-item label="活动区域" prop="region"> | |||||
<el-select v-model="ruleForm.region" placeholder="请选择活动区域"> | |||||
<el-option label="区域一" value="shanghai"></el-option> | |||||
<el-option label="区域二" value="beijing"></el-option> | |||||
</el-select> | |||||
</el-form-item> | |||||
<el-form-item label="活动性质" prop="type"> | |||||
<el-checkbox-group v-model="ruleForm.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="特殊资源" prop="resource"> | |||||
<el-radio-group v-model="ruleForm.resource"> | |||||
<el-radio label="线上品牌商赞助"></el-radio> | |||||
<el-radio label="线下场地免费"></el-radio> | |||||
</el-radio-group> | |||||
</el-form-item> | |||||
<el-form-item label="活动形式" prop="desc"> | |||||
<el-input type="textarea" v-model="ruleForm.desc"></el-input> | |||||
</el-form-item> | |||||
<el-form-item> | |||||
<el-button type="primary" :loading="loadingBtn" @click="submitForm('ruleForm')">立即创建</el-button> | |||||
<el-button @click="resetForm('ruleForm')">重置</el-button> | |||||
</el-form-item> | |||||
</el-form> | |||||
</template> | |||||
<script> | |||||
import demoService from '@/api/nested/demo' | |||||
export default { | |||||
props: ['id'], | |||||
data() { | |||||
return { | |||||
ruleForm: { | |||||
name: '', | |||||
region: '', | |||||
type: [], | |||||
resource: '', | |||||
desc: '' | |||||
}, | |||||
rules: { | |||||
name: [ | |||||
{ required: true, message: '请输入活动名称', trigger: 'blur' }, | |||||
{ min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' } | |||||
], | |||||
region: [ | |||||
{ required: true, message: '请选择活动区域', trigger: 'change' } | |||||
], | |||||
type: [ | |||||
{ type: 'array', required: true, message: '请至少选择一个活动性质', trigger: 'change' } | |||||
], | |||||
resource: [ | |||||
{ required: true, message: '请选择活动资源', trigger: 'change' } | |||||
], | |||||
desc: [ | |||||
{ required: true, message: '请填写活动形式', trigger: 'blur' } | |||||
] | |||||
}, | |||||
loadingBtn: false | |||||
} | |||||
}, | |||||
created() { | |||||
if (this.id) { | |||||
this.getData() | |||||
} | |||||
}, | |||||
methods: { | |||||
getData() { | |||||
demoService.getData().then(res => { | |||||
this.ruleForm = res | |||||
}) | |||||
}, | |||||
submitForm(formName) { | |||||
this.$refs[formName].validate((valid) => { | |||||
if (valid) { | |||||
this.loadingBtn = true | |||||
demoService.save(this.ruleForm).then(res => { | |||||
this.$message({ | |||||
message: '操作成功!', | |||||
type: 'success' | |||||
}) | |||||
this.loadingBtn = false | |||||
this.$emit('close', 'save') | |||||
}).catch(() => { | |||||
this.loadingBtn = true | |||||
}) | |||||
} else { | |||||
console.log('error submit!!') | |||||
return false | |||||
} | |||||
}) | |||||
}, | |||||
resetForm(formName) { | |||||
this.$refs[formName].resetFields() | |||||
} | |||||
} | |||||
} | |||||
</script> |
@@ -35,16 +35,17 @@ export default { | |||||
mixins: [presenter(), header(), crud()], | mixins: [presenter(), header(), crud()], | ||||
data() { | data() { | ||||
return { | return { | ||||
releaseSourceList: [], | |||||
dialogVisible: false, | dialogVisible: false, | ||||
id: '', | |||||
multipleSelection: [] | multipleSelection: [] | ||||
} | } | ||||
}, | }, | ||||
cruds() { | cruds() { | ||||
return CRUD({ title: '列表', url: '/index/carNewsHotList', query: {}}) | |||||
return CRUD({ title: '列表', url: '/index/yuanyuzhouHotList', query: {}}) | |||||
}, | }, | ||||
methods: { | methods: { | ||||
[CRUD.HOOK.beforeRefresh]() { | |||||
this.query.videHas = 1 | |||||
}, | |||||
handleSelectionChange(val) { | handleSelectionChange(val) { | ||||
this.multipleSelection = val | this.multipleSelection = val | ||||
} | } | ||||
@@ -90,9 +90,7 @@ export default { | |||||
mixins: [presenter(), header(), crud()], | mixins: [presenter(), header(), crud()], | ||||
data() { | data() { | ||||
return { | return { | ||||
releaseSourceList: [], | |||||
dialogVisible: false, | dialogVisible: false, | ||||
id: '', | |||||
ruleForm: { | ruleForm: { | ||||
image: '', | image: '', | ||||
serialNumber: '', | serialNumber: '', | ||||
@@ -1,118 +1,57 @@ | |||||
<!-- | <!-- | ||||
* @Date: 2021-10-11 14:12:26 | |||||
* @LastEditTime: 2022-07-27 10:48:47 | |||||
* @Description: 新增/编辑页面 | |||||
* @Date: 2021-07-08 11:02:40 | |||||
* @LastEditTime: 2022-07-27 10:48:43 | |||||
* @Description: 列表查询demo | |||||
--> | --> | ||||
<template> | <template> | ||||
<div class="app-container"> | |||||
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="resetform"> | |||||
<el-form-item label="是否显示"> | |||||
<el-radio-group v-model="ruleForm.isShow"> | |||||
<el-radio label="1">是</el-radio> | |||||
<el-radio label="0">否</el-radio> | |||||
</el-radio-group> | |||||
</el-form-item> | |||||
<el-card style="margin-top:20px" class="suIbtemCard" v-for="(item, index) in imgList" :key="index"> | |||||
<el-form-item label="上传视频"> | |||||
<uploadFile :url.sync="item.imgSrc" type="image"/> | |||||
<el-input v-model="item.imgSrc"></el-input> | |||||
</el-form-item> | |||||
<el-form-item label="标题"> | |||||
<el-input v-model="item.title"></el-input> | |||||
</el-form-item> | |||||
<el-form-item label="描述"> | |||||
<el-input v-model="item.desc"></el-input> | |||||
</el-form-item> | |||||
<el-form-item label="跳转链接"> | |||||
<el-input v-model="item.link"></el-input> | |||||
</el-form-item> | |||||
<el-form-item> | |||||
<el-button type="success" icon="el-icon-plus" circle v-if="imgList.length - 1 === index" @click="addItem"></el-button> | |||||
<el-button type="danger" icon="el-icon-delete" circle @click="imgList.length > 1 && delItem(item, index)"></el-button> | |||||
</el-form-item> | |||||
</el-card> | |||||
<el-form-item> | |||||
<el-button type="primary" :loading="loadingBtn" @click="submitForm('ruleForm')">保存</el-button> | |||||
</el-form-item> | |||||
</el-form> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import demoService from '@/api/nested/demo' | |||||
import uploadFile from '@/components/uploadFile' | |||||
export default { | |||||
components: { | |||||
uploadFile | |||||
}, | |||||
data() { | |||||
return { | |||||
imgList: [ | |||||
{ imgSrc: '', link: '', title: '', desc: '' } | |||||
], | |||||
ruleForm: { | |||||
name: '', | |||||
region: '', | |||||
type: [], | |||||
resource: '', | |||||
desc: '' | |||||
}, | |||||
rules: { | |||||
name: [ | |||||
{ required: true, message: '请输入活动名称', trigger: 'blur' }, | |||||
{ min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' } | |||||
], | |||||
region: [ | |||||
{ required: true, message: '请选择活动区域', trigger: 'change' } | |||||
], | |||||
type: [ | |||||
{ type: 'array', required: true, message: '请至少选择一个活动性质', trigger: 'change' } | |||||
], | |||||
resource: [ | |||||
{ required: true, message: '请选择活动资源', trigger: 'change' } | |||||
], | |||||
desc: [ | |||||
{ required: true, message: '请填写活动形式', trigger: 'blur' } | |||||
] | |||||
}, | |||||
loadingBtn: false | |||||
} | |||||
}, | |||||
created() { | |||||
if (this.id) { | |||||
this.getData() | |||||
} | |||||
}, | |||||
methods: { | |||||
addItem() { | |||||
this.imgList.push({ imgSrc: '', link: '', title: '', desc: '' }) | |||||
}, | |||||
delItem(item, index) { | |||||
this.imgList.splice(index, 1) | |||||
}, | |||||
submitForm(formName) { | |||||
this.$refs[formName].validate((valid) => { | |||||
if (valid) { | |||||
this.loadingBtn = true | |||||
demoService.save(this.ruleForm).then(res => { | |||||
this.$message({ | |||||
message: '操作成功!', | |||||
type: 'success' | |||||
}) | |||||
this.loadingBtn = false | |||||
this.$emit('close', 'save') | |||||
}).catch(() => { | |||||
this.loadingBtn = true | |||||
}) | |||||
} else { | |||||
console.log('error submit!!') | |||||
return false | |||||
} | |||||
}) | |||||
}, | |||||
resetForm(formName) { | |||||
this.$refs[formName].resetFields() | |||||
} | |||||
<div class="app-container"> | |||||
<!--工具栏--> | |||||
<div class="head-container"> | |||||
<div> | |||||
<el-button class="filter-item" size="mini" type="primary" icon="el-icon-plus" | |||||
@click="openSave()">新增</el-button> | |||||
</div> | |||||
</div> | |||||
<!--表格渲染--> | |||||
<el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;" @selection-change="handleSelectionChange" | |||||
> | |||||
<el-table-column type="selection" width="55" /> | |||||
<el-table-column :show-overflow-tooltip="true" prop="newsId" label="序号" /> | |||||
<el-table-column :show-overflow-tooltip="true" prop="标题" label="newsTitle" /> | |||||
<el-table-column :show-overflow-tooltip="true" prop="createDate" label="创建时间" /> | |||||
</el-table> | |||||
<!--分页组件--> | |||||
<pagination /> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import CRUD, { presenter, header, crud } from '@crud/crud' | |||||
import pagination from '@crud/Pagination' | |||||
export default { | |||||
name: 'Demo', | |||||
components: { pagination }, | |||||
mixins: [presenter(), header(), crud()], | |||||
data() { | |||||
return { | |||||
releaseSourceList: [], | |||||
dialogVisible: false, | |||||
id: '', | |||||
multipleSelection: [] | |||||
} | } | ||||
}, | |||||
cruds() { | |||||
return CRUD({ title: '列表', url: '/index/carNewsHotList', query: {}}) | |||||
}, | |||||
methods: { | |||||
/* 刷新前操作 */ | |||||
[CRUD.HOOK.beforeRefresh]() { | |||||
this.query.videHas = 1 | |||||
}, | |||||
handleSelectionChange(val) { | |||||
this.multipleSelection = val | |||||
} | } | ||||
</script> | |||||
} | |||||
} | |||||
</script> |
@@ -32,9 +32,9 @@ module.exports = { | |||||
productionSourceMap: false, | productionSourceMap: false, | ||||
devServer: { | devServer: { | ||||
port: port, | port: port, | ||||
headers: { | |||||
'Access-Control-Allow-Origin': '*' | |||||
}, | |||||
// headers: { | |||||
// 'Access-Control-Allow-Origin': '*' | |||||
// }, | |||||
open: true, | open: true, | ||||
overlay: { | overlay: { | ||||
warnings: false, | warnings: false, | ||||