Commit 3be1bf08 authored by hanfeng's avatar hanfeng

修改旅游订单页面

parent 432d95cf
import fetch from 'utils/fetch';
export function page(query) {
return fetch({
url: '/api/summit/activity/list',
method: 'post',
data: query
})
}
export function update(query) {
return fetch({
url: '/api/summit/activity/update',
method: 'put',
data: query
})
}
export function getOne(id) {
return fetch({
url: '/api/summit/activity/'+id,
method: 'get'
})
}
export function add(obj) {
return fetch({
url: '/api/summit/activity/add',
method: 'post',
data:obj
})
}
import fetch from 'utils/fetch';
export function page(query) {
return fetch({
url: '/api/summit/front/activityBm/list',
method: 'post',
data: query
})
}
import fetch from 'utils/fetch';
export function one(activityId) {
return fetch({
url: '/api/summit/activityShow/one/'+activityId,
method: 'get'
})
}
export function save(obj) {
return fetch({
url: '/api/summit/activityShow/save',
method: 'post',
data:obj
})
}
......@@ -618,5 +618,20 @@ export const asyncRouterMap = [{
authority: 'friendLinkList'
}
]
},
{
path: '/summit',
component: Layout,
name: '峰会管理',
icon: 'setting',
authority: 'summit',
children: [
{
path: 'summitList',
component: _import('summit/index'),
name: '峰会列表',
authority: 'summitList'
}
]
}
];
<template>
<div class="app-container calendar-list-container">
<div class="filter-container">
<el-form ref="queryForm" :inline="inline" :model="query" label-width="100px">
<el-row>
<el-form-item label="峰会名称">
<el-input v-model="query.title" placeholder="请输入峰会名称"></el-input>
</el-form-item>
<el-form-item label="开始时间">
<el-date-picker
v-model="query.startTime"
type="datetime"
format="yyyy-MM-dd HH"
placeholder="报名截止时间">
</el-date-picker>
</el-form-item>
<el-form-item label="用户来源">
<el-select class="filter-item" v-model="query.status" placeholder="状态">
<el-option v-for="(val, key, index) in status" :key="val.id" :label="val.name"
:value="val.id"></el-option>
</el-select>
</el-form-item>
</el-row>
</el-form>
<el-button class="filter-item" type="primary" v-waves icon="search" @click="handleFilter">搜索</el-button>
<el-button class="filter-item" type="primary" v-waves icon="search" @click="createSummit">创建峰会</el-button>
</div>
<el-table :key='tableKey' :data="list" v-loading.body="listLoading" border fit highlight-current-row
style="width: 100%">
<el-table-column align="center" width="150px" label="id">
<template scope="scope">
<span>{{scope.row.id}}</span>
</template>
</el-table-column>
<el-table-column align="center" width="500px" label="标题">
<template scope="scope">
<span>{{scope.row.title}}</span>
</template>
</el-table-column>
<el-table-column align="center" width="400" label="开始-结束时间">
<template scope="scope">
<span>{{timestamp2Date(scope.row.startTime)}}</span><span>-</span><span>{{timestamp2Date(scope.row.endTime)}}</span>
</template>
</el-table-column>
<el-table-column align="center" label="当前状态">
<template scope="scope">
<span>{{getStatusName(scope.row.status)}}</span>
</template>
</el-table-column>
<el-table-column align="center" label="操作" fixed="right">
<template scope="scope">
<el-button size="small" class="el-button el-button--text el-button--small" v-if="scope.row.isPublish===1"
@click="viewDetails({id:scope.row.id,isPublish:0})">
取消发布
</el-button>
<el-button size="small" class="el-button el-button--text el-button--small" v-if="scope.row.isPublish===0"
@click="viewDetails({id:scope.row.id,isPublish:1})">
发布
</el-button>
<el-button size="small" class="el-button el-button--text el-button--small" v-if=""
@click="enrollData(scope.row)">报名信息
</el-button>
<el-button class="el-button el-button--text el-button--small"
size="small" @click="edit(scope.row)">编辑
</el-button>
<el-button size="small" class="el-button el-button--text el-button--small" v-if=""
@click="review(scope.row)">回顾页面
</el-button>
<el-button class="el-button el-button--text el-button--small" style="color:red" size="small"
v-if="scope.row.isPublish==0" @click="deleteSummit(scope.row)">删除
</el-button>
</template>
</el-table-column>
</el-table>
<div v-show="!listLoading" class="pagination-container">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page.sync="query.page" :page-sizes="[10,20,30, 50]" :page-size="query.limit"
layout="total, sizes, prev, pager, next, jumper" :total="total"></el-pagination>
</div>
<summitPopup v-if="popupShow" :popupRow="popupRow" :titleNme="titleNme" v-on:summitDialogEvent="summitDialogEvent"/>
<enrollDataPopup v-if="enrollShow" :enrollRow="enrollRow" v-on:enrollDialogEvent="enrollDialogEvent" />
<reviewPopup v-if="reviewShow" :enrollRow="reviewRow" v-on:reviewDialogEvent="reviewDialogEvent" />
</div>
</template>
<script>
import {mapGetters} from 'vuex';
import {
timestamp2Date
} from 'src/utils/dateUtils';
import {
page,
update
} from 'src/api/summit/activity';
import summitPopup from 'src/views/summit/model/summitPopup'
import enrollDataPopup from 'src/views/summit/model/enrollDataPopup'
import reviewPopup from 'src/views/summit/model/reviewPopup'
import {getToken} from 'src/utils/auth';
export default {
name: "summitList",
components: {
summitPopup,
enrollDataPopup,
reviewPopup
},
data() {
return {
query: {
page: 1,
limit: 10,
title: '',
startTime: '',
status: undefined
},
tableKey: 0,
list: [],
listLoading: true,
status: [
{id: 0, name: '默认'},
{id: 1, name: '报名中'},
{id: 2, name: '进行中'},
{id: 3, name: '已结束'}
],
total: 0,
inline: true,
popupShow: false,
titleNme:'创建峰会',
popupRow:undefined,
enrollRow:undefined,
enrollShow:false,
reviewRow:undefined,
reviewShow:false,
statusNameList: {
1: '默认',
2: '报名中',
3: '进行中',
4: '已结束'
}
}
},
created() {
this.getList();
},
computed: {
...mapGetters([
'elements'
]),
getHeaderWithToken() {
return {Authorization: getToken()};
},
},
methods: {
getList() {
this.listLoading = true;
page(this.query).then(res => {
this.list = res.data.list;
this.total = res.data.total;
this.listLoading = false;
})
},
handleFilter() {
this.getList();
},
viewDetails(row) {
update(row).then(res => {
if (res.rel) {
this.$notify.success({
title: '编辑成功',
message: `success`
})
this.getList()
} else {
this.$notify.warning({
title: '编辑失败',
message: `failed`
})
}
})
},
handleSizeChange(val) {
this.query.limit = val;
this.getList();
},
handleCurrentChange(val) {
this.query.page = val;
this.getList();
},
timestamp2Date(timeStamp) {
return timestamp2Date(timeStamp)
},
enrollData(row) {
this.enrollRow=row;
this.enrollShow=true;
},
edit(row) {
debugger
this.popupRow=row;
this.titleNme='编辑峰会';
this.popupShow=true;
},
createSummit() {
this.popupRow={};
this.titleNme='创建峰会';
this.popupShow=true;
},
review(){
this.reviewRow={};
this.reviewShow=true;
},
deleteSummit() {
},
getStatusName(status) {
return (status + 1) ? this.statusNameList[status + 1] : ''
},
summitDialogEvent(e){
this.popupShow=false
if (e){
this.getList()
}
},
enrollDialogEvent(e){
this.enrollShow=false
},
reviewDialogEvent(e){
this.reviewShow=false
}
}
}
</script>
<template>
<el-dialog title="报名信息" :visible.sync="dialogVisible">
<div class="filter-container">
<el-form ref="queryForm" :model="query" label-width="100px">
<el-row>
<el-col :span="6">
<el-form-item label="邀请人">
<el-input v-model="query.inviter" placeholder="邀请人"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="姓名">
<el-input v-model="query.name" placeholder="姓名"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="已签到">
<el-select class="filter-item" v-model="query.qdStatus" placeholder="签到状态">
<el-option :key="undefined" label="所有" :value="undefined"></el-option>
<el-option v-for="(val, key, index) in typeList " :key="val.id" :label="val.name"
:value="val.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-button class="filter-item" type="primary" v-waves icon="search" @click="search"
style="margin-left: 10px;">搜索
</el-button>
</el-col>
</el-row>
</el-form>
</div>
<!-- <el-form :model="userOrderMessage" ref="alterUserOrder" label-width="100px">-->
<el-table
:data="list"
style="width: 100%"
border fit highlight-current-row>
<el-table-column
label="姓名"
style="width: 100%" align="center">
<template scope="scope">
<span>{{scope.row.name}}</span>
</template>
</el-table-column>
<el-table-column
label="电话"
width="180" align="center">
<template scope="scope">
<span>{{scope.row.phone}}</span>
</template>
</el-table-column>
<el-table-column
label="身份证" align="center">
<template scope="scope">
<span>{{scope.row.idNumber}}</span>
</template>
</el-table-column>
<el-table-column
label="邀请人" align="center">
<template scope="scope">
<span>{{scope.row.inviter}}</span>
</template>
</el-table-column>
<el-table-column
prop="qdStatus"
label="是否已签到" align="center">
<template scope="scope">
<span>{{getStatusName(scope.row.qdStatus)}}</span>
</template>
</el-table-column>
</el-table>
<!-- </el-form>-->
<div v-show="listLoading" class="pagination-container">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page.sync="query.page" :page-sizes="[10,20,30, 50]" :page-size="query.limit"
layout="total, sizes, prev, pager, next, jumper" :total="total"></el-pagination>
</div>
<div slot="footer" class="dialog-footer1">
<!-- <el-button type="primary" @click="">导出为excel</el-button>-->
<el-button @click="cancelHandel"> 关 闭 </el-button>
</div>
</el-dialog>
</template>
<script>
import ElRow from "element-ui/packages/row/src/row";
import ElInput from "../../../../node_modules/element-ui/packages/input/src/input.vue";
import ElCol from "element-ui/packages/col/src/col";
import ElFormItem from "../../../../node_modules/element-ui/packages/form/src/form-item.vue";
import {
page
} from 'src/api/summit/activityBm';
export default {
props: ["enrollRow"],
name: 'enrollDataPopup',
components: {
ElFormItem,
ElCol,
ElInput,
ElRow
},
data() {
return {
dialogVisible: false,
query: {
page: 1,
limit: 10,
activityId: undefined,
name: undefined,
inviter: undefined,
qdStatus: undefined,
},
list: [],
total: 0,
listLoading: true,
typeList: [
{id: 1, name: '否'},
{id: 2, name: '是'}
],
result:false,
}
},
watch: {
dialogVisible(newValue, oldValue) {
if (!newValue) {
this.$emit("enrollDialogEvent",this.result);
}
},
},
mounted() {
this.query.activityId = this.enrollRow.id
this.getOrderInfo();
},
methods: {
getOrderInfo() {
let param = this.dataProcessing()
page(param).then(res => {
this.list = res.data.list;
this.total = res.data.total;
this.dialogVisible = true
this.listLoading = true
})
},
search() {
this.getOrderInfo()
},
dataProcessing() {
this.listLoading = false
let parse = JSON.parse(JSON.stringify(this.query))
parse.qdStatus = parse.qdStatus ? (parse.qdStatus - 1) : parse.qdStatus
return parse
},
getStatusName(status){
if (this.$utils.isInteger(status)) {
if (status==0){
return '未签到'
}
if (status==1){
return '已签到'
}
}
},
handleSizeChange(val) {
this.query.limit = val;
this.getList();
}
,
handleCurrentChange(val) {
this.query.page = val;
this.getList();
}
,/**
* 弹框-取消
* */
cancelHandel() {
this.setSummitDialogEvent(false)
},
setSummitDialogEvent(e) {
this.result=e
this.dialogVisible = false
},
}
}
</script>
<style>
.label-text {
margin-left: 10px;
margin-right: 20px;
}
.label-title {
margin-top: 10px;
}
.orderDetail tr th {
background: #eef1f6;
}
.orderDetail tr td, .orderDetail tr th {
width: 500px;
text-align: center;
border: 1px solid #dfe6ec;
margin-left: 100px;
margin-right: 100px;
padding: 10px;
}
.label-value {
margin-left: 80px;
margin-right: 100px;
}
#license-img {
width: 50px;
height: 50px;
}
.order-details .el-form-item {
margin-bottom: 10px !important;
}
.el-dialog__footer .dialog-footer1 {
position: relative;
text-align: center;
}
.fhjj {
width: 500px;
}
.content {
margin-left: 4%;
}
.height {
margin-bottom: 2%;
}
. el-form-item__content {
margin-left: 5% !important;
}
.status {
margin-top: 4%;
}
</style>
<template>
<el-dialog title="回顾页面" :visible.sync="dialogVisible" class="order-details">
<el-form :model="form" ref="form" label-width="120px">
<el-row>
<el-col :span="8">
<el-form-item label="峰会封面:">
<el-upload
class="upload-demo"
:headers="getHeaderWithToken"
:action="BASE_API+'/api/universal/file/app/unauth/admin/upload'"
:show-file-list="false"
:on-success="handleAvatarSuccess"
:on-progress="uploadProcess"
list-type="picture">
<el-progress v-show="imgFlag == true" type="circle" :percentage="percent"
style="margin-top: 20px"></el-progress>
<img v-if="$utils.isString(form.banner) && !$utils.isEmpty(form.banner) && !imgFlag"
:src="form.banner"
style="width:300px;max-height:300px;">
<i v-else-if="!imgFlag" class="el-icon-plus avatar-uploader-icon"
style="lineHeight:100px;width:300px;height: 100px;border: 1px dashed #ccc;"></i>
</el-upload>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="封面图:">
<el-upload
class="upload-demo"
:headers="getHeaderWithToken"
:action="BASE_API+'/api/universal/file/app/unauth/admin/upload'"
:show-file-list="false"
:on-success="handleAvatarSuccess"
:on-progress="uploadProcess"
list-type="picture">
<el-progress v-show="imgFlag == true" type="circle" :percentage="percent"
style="margin-top: 20px"></el-progress>
<img v-if="$utils.isString(form.banner) && !$utils.isEmpty(form.banner) && !imgFlag"
:src="form.banner"
style="width:300px;max-height:300px;">
<i v-else-if="!imgFlag" class="el-icon-plus avatar-uploader-icon"
style="lineHeight:100px;width:300px;height: 100px;border: 1px dashed #ccc;"></i>
</el-upload>
</el-form-item>
</el-col>
</el-row>
<el-col :span="8">
<el-form-item label="封面图:">
<el-upload
class="upload-demo"
:headers="getHeaderWithToken"
:action="BASE_API+'/api/universal/file/app/unauth/admin/upload'"
:show-file-list="false"
:on-success="handleAvatarSuccess"
:on-progress="uploadProcess"
list-type="picture">
<el-progress v-show="imgFlag == true" type="circle" :percentage="percent"
style="margin-top: 20px"></el-progress>
<img v-if="$utils.isString(form.banner) && !$utils.isEmpty(form.banner) && !imgFlag"
:src="form.banner"
style="width:300px;max-height:300px;">
<i v-else-if="!imgFlag" class="el-icon-plus avatar-uploader-icon"
style="lineHeight:100px;width:300px;height: 100px;border: 1px dashed #ccc;"></i>
</el-upload>
</el-form-item>
</el-col>
</el-form>
<div slot="footer" class="dialog-footer1">
<el-button class="button" @click="cancelHandel">取 消</el-button>
<el-button class="button" type="primary" @click="cre">确 定</el-button>
</div>
</el-dialog>
</template>
<script>
import ElRow from "element-ui/packages/row/src/row";
import ElInput from "../../../../node_modules/element-ui/packages/input/src/input.vue";
import ElCol from "element-ui/packages/col/src/col";
import ElFormItem from "../../../../node_modules/element-ui/packages/form/src/form-item.vue";
import {getToken} from 'src/utils/auth';
import {mapGetters} from 'vuex';
import {
one,
save
} from 'src/api/summit/activityShow';
export default {
props: ["reviewRow"],
name: 'reviewPopup',
components: {
ElFormItem,
ElCol,
ElInput,
ElRow
},
data() {
return {
dialogVisible: false,
result: false,
form:{
banner:undefined
}
}
},
watch: {
dialogVisible(newValue, oldValue) {
if (!newValue) {
this.$emit("reviewDialogEvent", this.result);
}
},
},
computed: {
...mapGetters([
'elements'
]),
getHeaderWithToken() {
return {Authorization: getToken()};
},
},
watch: {
dialogVisible(newValue, oldValue) {
if (!newValue) {
this.$emit("summitDialogEvent",this.result);
}
},
},
mounted() {
this.getOrderInfo();
},
methods: {
getOrderInfo() {
one().then(res=>{
})
},
cre() {
save().then(res => {
this.responseResult(res)
})
},
responseResult(res) {
if (res.status === 200) {
this.$notify({
title: '成功',
message: '操作成功',
type: 'success',
duration: 2000
});
this.setSummitDialogEvent(true)
} else {
this.$notify({
title: '失败',
message: '操作失败!',
type: 'error',
duration: 2000
});
}
},
/**
* 弹框-取消
* */
cancelHandel() {
this.setSummitDialogEvent(false)
},
setSummitDialogEvent(e) {
this.cleanForm();
this.result = e
this.dialogVisible = false
},
}
}
</script>
<style>
.label-text {
margin-left: 10px;
margin-right: 20px;
}
.label-title {
margin-top: 10px;
}
.orderDetail tr th {
background: #eef1f6;
}
.orderDetail tr td, .orderDetail tr th {
width: 500px;
text-align: center;
border: 1px solid #dfe6ec;
margin-left: 100px;
margin-right: 100px;
padding: 10px;
}
.label-value {
margin-left: 80px;
margin-right: 100px;
}
#license-img {
width: 50px;
height: 50px;
}
.order-details .el-form-item {
margin-bottom: 10px !important;
}
.el-dialog__footer .dialog-footer1 {
position: relative;
text-align: center;
}
.fhjj {
width: 500px;
}
.content {
margin-left: 4%;
}
.height {
margin-bottom: 2%;
}
. el-form-item__content {
margin-left: 5% !important;
}
.status {
margin-top: 4%;
}
</style>
This diff is collapsed.
......@@ -1354,7 +1354,6 @@
if (rowIndex / 2 == 0) {
return 'warning-row';
}
return '';
},
getBoolean(bool) {
......
......@@ -14,7 +14,7 @@
<el-row>
<el-col :span="8">
<el-form-item label="车型简介" prop="intro">
<el-input class="cx" v-model="form.intro" rows="9" type="textarea" placeholder="请输入车型简介" ></el-input>
<el-input class="cx" v-model="form.intro" :rows="9" type="textarea" placeholder="请输入车型简介" ></el-input>
</el-form-item>
</el-col>
</el-row>
......
......@@ -493,7 +493,6 @@
* 更新
* */
toUpdate(params) {
console.log("............修改")
editActivity(params).then(response => {
if (response.status === 200) {
this.$notify({
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment