| @@ -42,3 +42,12 @@ export function videoUpload(data) { | |||||
| }) | }) | ||||
| } | } | ||||
| export function videoDetial(videoId) { | |||||
| return request({ | |||||
| url: '/video/videoDetial', | |||||
| method: 'get', | |||||
| params: { | |||||
| videoId | |||||
| } | |||||
| }) | |||||
| } | |||||
| @@ -84,3 +84,11 @@ export function newsList(data) { | |||||
| params: data | params: data | ||||
| }) | }) | ||||
| } | } | ||||
| export function yuanyuzhouHotSave(data) { | |||||
| return request({ | |||||
| url: '/news/yuanyuzhouHotSave', | |||||
| method: 'post', | |||||
| data | |||||
| }) | |||||
| } | |||||
| @@ -1,42 +0,0 @@ | |||||
| /* | |||||
| * @Date: 2021-08-24 14:51:18 | |||||
| * @LastEditTime: 2022-07-27 10:47:43 | |||||
| * @Description: 列表demo API | |||||
| */ | |||||
| import request from '@/utils/request' | |||||
| export function del(data) { | |||||
| return request({ | |||||
| url: '', | |||||
| method: 'post', | |||||
| data: { data } | |||||
| }) | |||||
| } | |||||
| /* 导出 */ | |||||
| export function exportFile(data) { | |||||
| return request({ | |||||
| url: '', | |||||
| method: 'get', | |||||
| params: data, | |||||
| responseType: 'blob' | |||||
| }) | |||||
| } | |||||
| export function getData(id) { | |||||
| return request({ | |||||
| url: '', | |||||
| method: 'post', | |||||
| data: { id } | |||||
| }) | |||||
| } | |||||
| export function save(data) { | |||||
| return request({ | |||||
| url: '', | |||||
| method: 'post', | |||||
| data: { data } | |||||
| }) | |||||
| } | |||||
| export default { del, getData, save, exportFile } | |||||
| @@ -23,7 +23,7 @@ | |||||
| </el-upload> | </el-upload> | ||||
| </template> | </template> | ||||
| <script> | <script> | ||||
| import { upload, videoUpload, uploadProgress } from '@/api/common.js' | |||||
| import { upload, videoUpload, uploadProgress, videoDetial } from '@/api/common.js' | |||||
| export default { | export default { | ||||
| props: { | props: { | ||||
| url: { | url: { | ||||
| @@ -94,6 +94,24 @@ export default { | |||||
| return false | return false | ||||
| } | } | ||||
| }, | }, | ||||
| getVideo(videoId) { | |||||
| uploadProgress(videoId).then(d => { | |||||
| if (d === 'complete') { | |||||
| videoDetial(videoId).then(url => { | |||||
| this.$emit('update:url', url.videoUrl) | |||||
| this.loading = false | |||||
| }) | |||||
| } else if (d === 'error') { | |||||
| this.$message({ | |||||
| message: '上传失败!', | |||||
| type: 'error' | |||||
| }) | |||||
| this.loading = false | |||||
| } else { | |||||
| this.getVideo(videoId) | |||||
| } | |||||
| }) | |||||
| }, | |||||
| uploadHttpRequest(file) { | uploadHttpRequest(file) { | ||||
| console.log('pid:', this.$route.params.pid) | console.log('pid:', this.$route.params.pid) | ||||
| let obj = { | let obj = { | ||||
| @@ -105,12 +123,9 @@ export default { | |||||
| } | } | ||||
| let api = this.type === 'video' ? videoUpload(_data) : upload(_data) | let api = this.type === 'video' ? videoUpload(_data) : upload(_data) | ||||
| api.then(res => { | api.then(res => { | ||||
| this.loading = true | |||||
| if (this.type === 'video' && res) { | if (this.type === 'video' && res) { | ||||
| uploadProgress(res.videoId).then(da => { | |||||
| this.$emit('update:url', res.url) | |||||
| this.loading = false | |||||
| }) | |||||
| this.loading = true | |||||
| this.getVideo(res.videoId) | |||||
| } else if (res) { | } else if (res) { | ||||
| this.$emit('update:url', res.url) | this.$emit('update:url', res.url) | ||||
| } | } | ||||
| @@ -25,7 +25,7 @@ | |||||
| <div style="text-align: right; margin: 0"> | <div style="text-align: right; margin: 0"> | ||||
| <el-button size="mini" | <el-button size="mini" | ||||
| @click="scope._self.$refs[`del-${scope.$index}`].doClose()">取消</el-button> | @click="scope._self.$refs[`del-${scope.$index}`].doClose()">取消</el-button> | ||||
| <el-button type="primary" size="mini" @click="del(scope, scope.$index)">确定</el-button> | |||||
| <el-button type="primary" size="mini" @click="delFn(scope, scope.$index)">确定</el-button> | |||||
| </div> | </div> | ||||
| <el-button slot="reference" type="text" size="mini" style="margin-left:10px">删除</el-button> | <el-button slot="reference" type="text" size="mini" style="margin-left:10px">删除</el-button> | ||||
| </el-popover> | </el-popover> | ||||
| @@ -63,7 +63,6 @@ import pagination from '@crud/Pagination' | |||||
| import { newsList, carNewsHotSave } from '@/api/homePage' | import { newsList, carNewsHotSave } from '@/api/homePage' | ||||
| export default { | export default { | ||||
| name: 'Demo', | |||||
| components: { pagination }, | components: { pagination }, | ||||
| mixins: [presenter(), header(), crud()], | mixins: [presenter(), header(), crud()], | ||||
| data() { | data() { | ||||
| @@ -77,7 +76,7 @@ export default { | |||||
| } | } | ||||
| }, | }, | ||||
| cruds() { | cruds() { | ||||
| return CRUD({ title: '列表', url: '/index/yuanyuzhouHotList', query: {}}) | |||||
| return CRUD({ title: '列表', url: '/index/carNewsHotList', query: {}}) | |||||
| }, | }, | ||||
| created() { | created() { | ||||
| this.getNewsList() | this.getNewsList() | ||||
| @@ -115,7 +114,7 @@ export default { | |||||
| save() { | save() { | ||||
| let newsIdList = [] | let newsIdList = [] | ||||
| this.crud.data.forEach(ele => { | this.crud.data.forEach(ele => { | ||||
| newsIdList.push(ele.id) | |||||
| newsIdList.push(ele.newsId) | |||||
| }) | }) | ||||
| carNewsHotSave(newsIdList).then(res => { | carNewsHotSave(newsIdList).then(res => { | ||||
| this.$message({ | this.$message({ | ||||
| @@ -125,6 +124,10 @@ export default { | |||||
| this.crud.toQuery() | this.crud.toQuery() | ||||
| }) | }) | ||||
| }, | }, | ||||
| unique(arr) { | |||||
| const res = new Map() | |||||
| return arr.filter((arr) => !res.has(arr.newsId) && res.set(arr.newsId, 1)) | |||||
| }, | |||||
| confirm() { | confirm() { | ||||
| let data = [] | let data = [] | ||||
| this.multipleSelection.forEach(res => { | this.multipleSelection.forEach(res => { | ||||
| @@ -134,13 +137,14 @@ export default { | |||||
| isDel: true | isDel: true | ||||
| }) | }) | ||||
| }) | }) | ||||
| this.crud.data = [...this.crud.data, ...data] | |||||
| let _data = [...this.crud.data, ...data] | |||||
| this.crud.data = this.unique(_data) | |||||
| this.dialogVisible = false | this.dialogVisible = false | ||||
| }, | |||||
| delFn(scope, selectedIndex) { | |||||
| this.crud.data.splice(selectedIndex, 1) | |||||
| scope._self.$refs[`del-${scope.$index}`].doClose() | |||||
| } | } | ||||
| }, | |||||
| del(scope, selectedIndex) { | |||||
| this.crud.data.splice(selectedIndex, 1) | |||||
| scope._self.$refs[`del-${scope.$index}`].doClose() | |||||
| } | } | ||||
| } | } | ||||
| </script> | </script> | ||||
| @@ -9,48 +9,141 @@ | |||||
| <div class="head-container"> | <div class="head-container"> | ||||
| <div> | <div> | ||||
| <el-button class="filter-item" size="mini" type="primary" icon="el-icon-plus" | <el-button class="filter-item" size="mini" type="primary" icon="el-icon-plus" | ||||
| @click="openSave()">新增</el-button> | |||||
| @click="openSave()">关联新闻</el-button> | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| <!--表格渲染--> | <!--表格渲染--> | ||||
| <el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;" @selection-change="handleSelectionChange" | |||||
| > | |||||
| <el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;"> | |||||
| <el-table-column type="selection" width="55" /> | <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-column :show-overflow-tooltip="true" prop="newsId" label="新闻id" /> | |||||
| <el-table-column :show-overflow-tooltip="true" prop="newsTitle" label="标题" /> | |||||
| <el-table-column label="操作" width="230" align="center" fixed="right"> | |||||
| <template slot-scope="scope" class="btn"> | |||||
| <el-popover placement="top" width="200" :ref="`del-${scope.$index}`" v-if="scope.row.isDel"> | |||||
| <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="delFn(scope, scope.$index)">确定</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> | </el-table> | ||||
| <!--分页组件--> | <!--分页组件--> | ||||
| <pagination /> | <pagination /> | ||||
| <el-button class="filter-item" size="mini" type="primary" @click="save()">保存</el-button> | |||||
| <!-- 新增修改弹窗 --> | |||||
| <el-dialog v-if="dialogVisible" title="热点新闻" :visible.sync="dialogVisible" append-to-body width="600px"> | |||||
| <el-table ref="table" :data="dialogList" style="width: 100%;" @selection-change="handleSelectionChange"> | |||||
| <el-table-column type="selection" width="55" /> | |||||
| <el-table-column :show-overflow-tooltip="true" prop="id" label="新闻id" /> | |||||
| <el-table-column :show-overflow-tooltip="true" prop="title" label="标题" /> | |||||
| </el-table> | |||||
| <el-pagination | |||||
| @size-change="handleSizeChange" | |||||
| @current-change="handleCurrentChange" | |||||
| :current-page="pageNum" | |||||
| :page-sizes="[10, 20, 30, 40]" | |||||
| :page-size="pageSize" | |||||
| layout="total, sizes, prev, pager, next, jumper" | |||||
| :total="total"> | |||||
| </el-pagination> | |||||
| <el-button class="filter-item" size="mini" type="primary" @click="confirm()">确定</el-button> | |||||
| </el-dialog> | |||||
| </div> | </div> | ||||
| </template> | </template> | ||||
| <script> | <script> | ||||
| import CRUD, { presenter, header, crud } from '@crud/crud' | import CRUD, { presenter, header, crud } from '@crud/crud' | ||||
| import pagination from '@crud/Pagination' | import pagination from '@crud/Pagination' | ||||
| import { newsList, yuanyuzhouHotSave } from '@/api/homePage' | |||||
| export default { | export default { | ||||
| name: 'Demo', | |||||
| components: { pagination }, | components: { pagination }, | ||||
| mixins: [presenter(), header(), crud()], | mixins: [presenter(), header(), crud()], | ||||
| data() { | data() { | ||||
| return { | return { | ||||
| releaseSourceList: [], | |||||
| dialogVisible: false, | dialogVisible: false, | ||||
| id: '', | |||||
| multipleSelection: [] | |||||
| multipleSelection: [], | |||||
| dialogList: [], | |||||
| pageNum: 1, | |||||
| total: 0, | |||||
| pageSize: 10 | |||||
| } | } | ||||
| }, | }, | ||||
| cruds() { | cruds() { | ||||
| return CRUD({ title: '列表', url: '/index/carNewsHotList', query: {}}) | |||||
| return CRUD({ title: '列表', url: '/index/yuanyuzhouHotList', query: {}}) | |||||
| }, | |||||
| created() { | |||||
| this.getNewsList() | |||||
| }, | }, | ||||
| methods: { | methods: { | ||||
| /* 刷新前操作 */ | |||||
| [CRUD.HOOK.beforeRefresh]() { | [CRUD.HOOK.beforeRefresh]() { | ||||
| this.query.videHas = 1 | this.query.videHas = 1 | ||||
| }, | }, | ||||
| handleSizeChange(val) { | |||||
| this.pageSize = val | |||||
| console.log(`每页 ${val} 条`) | |||||
| }, | |||||
| handleCurrentChange(val) { | |||||
| this.pageNum = val | |||||
| console.log(`当前页: ${val}`) | |||||
| }, | |||||
| handleSelectionChange(val) { | handleSelectionChange(val) { | ||||
| this.multipleSelection = val | this.multipleSelection = val | ||||
| }, | |||||
| openSave() { | |||||
| this.dialogVisible = true | |||||
| }, | |||||
| getNewsList() { | |||||
| let data = { | |||||
| pageNum: this.pageNum, | |||||
| pageSize: this.pageSize, | |||||
| type: 3, | |||||
| status: 2, | |||||
| videHas: 1 | |||||
| } | |||||
| newsList(data).then(res => { | |||||
| this.dialogList = res.list | |||||
| }) | |||||
| }, | |||||
| save() { | |||||
| let newsIdList = [] | |||||
| this.crud.data.forEach(ele => { | |||||
| newsIdList.push(ele.newsId) | |||||
| }) | |||||
| yuanyuzhouHotSave(newsIdList).then(res => { | |||||
| this.$message({ | |||||
| message: '操作成功!', | |||||
| type: 'success' | |||||
| }) | |||||
| this.crud.toQuery() | |||||
| }) | |||||
| }, | |||||
| unique(arr) { | |||||
| const res = new Map() | |||||
| return arr.filter((arr) => !res.has(arr.newsId) && res.set(arr.newsId, 1)) | |||||
| }, | |||||
| confirm() { | |||||
| let data = [] | |||||
| this.multipleSelection.forEach(res => { | |||||
| data.push({ | |||||
| newsId: res.id, | |||||
| newsTitle: res.title, | |||||
| isDel: true | |||||
| }) | |||||
| }) | |||||
| let _data = [...this.crud.data, ...data] | |||||
| this.crud.data = this.unique(_data) | |||||
| this.dialogVisible = false | |||||
| }, | |||||
| delFn(scope, selectedIndex) { | |||||
| this.crud.data.splice(selectedIndex, 1) | |||||
| scope._self.$refs[`del-${scope.$index}`].doClose() | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -1,115 +0,0 @@ | |||||
| <!-- | |||||
| * @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" /> | |||||
| <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="500px"> | |||||
| <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> | |||||
| @@ -1,7 +0,0 @@ | |||||
| <template> | |||||
| <div style="padding:30px;"> | |||||
| <el-alert :closable="false" title="menu 1"> | |||||
| <router-view /> | |||||
| </el-alert> | |||||
| </div> | |||||
| </template> | |||||
| @@ -1,7 +0,0 @@ | |||||
| <template> | |||||
| <div style="padding:30px;"> | |||||
| <el-alert :closable="false" title="menu 1-1" type="success"> | |||||
| <router-view /> | |||||
| </el-alert> | |||||
| </div> | |||||
| </template> | |||||
| @@ -1,7 +0,0 @@ | |||||
| <template> | |||||
| <div style="padding:30px;"> | |||||
| <el-alert :closable="false" title="menu 1-2" type="success"> | |||||
| <router-view /> | |||||
| </el-alert> | |||||
| </div> | |||||
| </template> | |||||
| @@ -1,5 +0,0 @@ | |||||
| <template functional> | |||||
| <div style="padding:30px;"> | |||||
| <el-alert :closable="false" title="menu 1-2-1" type="warning" /> | |||||
| </div> | |||||
| </template> | |||||
| @@ -1,5 +0,0 @@ | |||||
| <template functional> | |||||
| <div style="padding:30px;"> | |||||
| <el-alert :closable="false" title="menu 1-2-2" type="warning" /> | |||||
| </div> | |||||
| </template> | |||||
| @@ -1,5 +0,0 @@ | |||||
| <template functional> | |||||
| <div style="padding:30px;"> | |||||
| <el-alert :closable="false" title="menu 1-3" type="success" /> | |||||
| </div> | |||||
| </template> | |||||
| @@ -10,6 +10,11 @@ | |||||
| <div> | <div> | ||||
| <el-input v-model="query.title" prefix-icon="el-icon-search" clearable placeholder="标题" class="filter-item" | <el-input v-model="query.title" prefix-icon="el-icon-search" clearable placeholder="标题" class="filter-item" | ||||
| @keyup.enter.native="crud.toQuery" /> | @keyup.enter.native="crud.toQuery" /> | ||||
| <el-select v-model="query.tag" clearable placeholder="类型" class="filter-item"> | |||||
| <el-option label="XR" value="XR"></el-option> | |||||
| <el-option label="WEB3" value="WEB3"></el-option> | |||||
| <el-option label="AI" value="AI"></el-option> | |||||
| </el-select> | |||||
| <el-date-picker v-model="query.sendDate" 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> | <el-date-picker v-model="query.sendDate" 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> | ||||
| @@ -98,6 +103,14 @@ | |||||
| <el-form-item label="副标题" prop="subTitle"> | <el-form-item label="副标题" prop="subTitle"> | ||||
| <el-input v-model="ruleForm.subTitle"></el-input> | <el-input v-model="ruleForm.subTitle"></el-input> | ||||
| </el-form-item> | </el-form-item> | ||||
| <el-form-item label="类型" prop="tag"> | |||||
| <el-select v-model="ruleForm.tag" clearable placeholder="类型" class="filter-item"> | |||||
| <el-option label="XR" value="XR"></el-option> | |||||
| <el-option label="WEB3" value="WEB3"></el-option> | |||||
| <el-option label="AI" value="AI"></el-option> | |||||
| </el-select> | |||||
| </el-form-item> | |||||
| <el-form-item label="详情" prop="detail"> | <el-form-item label="详情" prop="detail"> | ||||
| <el-input v-model="ruleForm.detail"></el-input> | <el-input v-model="ruleForm.detail"></el-input> | ||||
| </el-form-item> | </el-form-item> | ||||
| @@ -137,7 +150,8 @@ export default { | |||||
| return { | return { | ||||
| dialogVisible: false, | dialogVisible: false, | ||||
| ruleForm: { | ruleForm: { | ||||
| type: 1, | |||||
| type: 2, | |||||
| subType: 32, | |||||
| title: '', | title: '', | ||||
| subTitle: '', | subTitle: '', | ||||
| detail: '', | detail: '', | ||||
| @@ -171,7 +185,7 @@ export default { | |||||
| [CRUD.HOOK.beforeRefresh]() { | [CRUD.HOOK.beforeRefresh]() { | ||||
| this.query.sendDateBegin = this.query.sendDate ? this.query.sendDate[0] : '' | this.query.sendDateBegin = this.query.sendDate ? this.query.sendDate[0] : '' | ||||
| this.query.sendDateEnd = this.query.sendDate ? this.query.sendDate[1] : '' | this.query.sendDateEnd = this.query.sendDate ? this.query.sendDate[1] : '' | ||||
| this.query.type = '3' | |||||
| this.query.type = '2' | |||||
| this.query.subType = '32' | this.query.subType = '32' | ||||
| }, | }, | ||||
| openSave(item) { | openSave(item) { | ||||
| @@ -142,7 +142,8 @@ export default { | |||||
| return { | return { | ||||
| dialogVisible: false, | dialogVisible: false, | ||||
| ruleForm: { | ruleForm: { | ||||
| type: 1, | |||||
| type: 2, | |||||
| subType: 31, | |||||
| title: '', | title: '', | ||||
| subTitle: '', | subTitle: '', | ||||
| detail: '', | detail: '', | ||||
| @@ -176,7 +177,7 @@ export default { | |||||
| [CRUD.HOOK.beforeRefresh]() { | [CRUD.HOOK.beforeRefresh]() { | ||||
| this.query.sendDateBegin = this.query.sendDate ? this.query.sendDate[0] : '' | this.query.sendDateBegin = this.query.sendDate ? this.query.sendDate[0] : '' | ||||
| this.query.sendDateEnd = this.query.sendDate ? this.query.sendDate[1] : '' | this.query.sendDateEnd = this.query.sendDate ? this.query.sendDate[1] : '' | ||||
| this.query.type = '3' | |||||
| this.query.type = '2' | |||||
| this.query.subType = '31' | this.query.subType = '31' | ||||
| }, | }, | ||||
| openSave(item) { | openSave(item) { | ||||